CN107077474A - 快速颜色搜索 - Google Patents

快速颜色搜索 Download PDF

Info

Publication number
CN107077474A
CN107077474A CN201580034625.2A CN201580034625A CN107077474A CN 107077474 A CN107077474 A CN 107077474A CN 201580034625 A CN201580034625 A CN 201580034625A CN 107077474 A CN107077474 A CN 107077474A
Authority
CN
China
Prior art keywords
color
integer
dimension
scope
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201580034625.2A
Other languages
English (en)
Other versions
CN107077474B (zh
Inventor
查尓斯·希勒·多尔纳
保罗·巴恩哈特·塞尔三世
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN107077474A publication Critical patent/CN107077474A/zh
Application granted granted Critical
Publication of CN107077474B publication Critical patent/CN107077474B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2264Multidimensional index structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/46Colour picture communication systems
    • H04N1/64Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明描述基于一种或多种n维颜色快速地搜索数据存储区的系统和方法。可将所述数据存储区中的所述n维颜色转换成交织的整数并且对其进行索引。可将n维颜色搜索范围转换成一个或多个整数搜索范围。可基于所述一个或多个整数搜索范围来将快色颜色搜索查询公式化并且将其传输至所述数据存储区以进行搜索。所述数据存储区可使用所述交织的整数索引来将所述整数搜索范围与所述交织的整数快速地进行比较,并且发送回一种或多种颜色或与所期望的颜色范围匹配的对象结果。

Description

快速颜色搜索
背景技术
一般而言,计算装置可基于颜色搜索信息。在一个系统中,可将颜色描述标记成与数据库中的图像或任何对象相关联。用户可输入关键词(例如,“绿色”)并且可在搜索中返回与标记/关键词“绿色”匹配的任何对象。用户然后可浏览搜索结果以找到特定绿色。
用户还可指定颜色以通过拾色器用户界面进行搜索。例如,搜索引擎可提供颜色图像搜索,其中作为搜索的一个准则,可用鼠标选择十二种显示颜色中的一种。搜索引擎然后将返回包含所选择颜色的图像,诸如互联网图像或来自许多数据库中任一个的图像。例如,可使用搜索引擎的界面选择紫色。当结合关键词进行搜索时,搜索引擎可返回与所述关键词有关并且还包含所选择紫色的图像。
附图简述
图1是描绘快速颜色搜索系统的说明性网络拓扑结构的方框图;
图2是示出用于生成或配置图1中所包括的快速颜色搜索数据存储区的过程的实例的流程图;
图3是示出交织位以将多维颜色模型变换成颜色的一维表示的实例的示意图;
图4是示出用于进行快速颜色搜索的过程的实例的流程图;
图5是示出用于进行快速颜色搜索预处理的过程的实例的流程图;并且
图6是示出根据范围前缀的置换计算的交织的一维颜色范围的实例的示意图。
具体实施方式
一般而言,本公开的各方面涉及产生快速颜色搜索数据存储区和/或由一个或多个计算装置执行快速颜色搜索。由于颜色的多维性质,利用结构化数据存储区中的颜色(例如,特定RGB颜色或RGB颜色范围)进行搜索可能富有挑战。这种数据存储区可包括与关系数据库或一些其他类型的数据存储区中的对象相关联的3维RGB颜色。例如,可将RGB颜色值(例如,#c108e5)存储在与绿色连衣裙、绿色图像或与绿色相关联的任何其他数据对象相关联的数据存储区中。
这种数据存储区中的RGB颜色值可被索引以用于搜索。数据存储区索引可以是以另外的写入和使用更多存储空间来维持数据的额外副本为代价来提高数据检索操作在数据存储区表上的速度的数据结构。索引用来快速地定位数据而无需在每次访问数据存储区表时对数据存储区表中的每行进行搜索。可使用数据存储区表的一列或多列来产生索引,从而为快速随机查找和有效访问所排序的记录两者提供基础。传统整数域上的这种索引可允许在整数范围内进行快速查找。例如,在索引的整数域上,“2000与3000之间”的搜索可快速地返回具有处于2000与3000之间整数域的所有记录,并且可以是快于对所有行中整数值的比较的数量级。
然而,n维颜色值的索引(诸如RGB域的索引)并不有助于或加速搜索n维颜色范围。在许多情形中,RGB颜色值可在数据存储区中与数据存储区中的对象记录相关联。RGB域也可被索引。然而,传统的数据存储区并不固有地对RGB域进行正确地索引。例如,RGB值(例如,以十六进制表示的#c108e5)包括三个维度:红色维度(“c1”)、绿色维度(“08”)和蓝色维度(“e5”)。在这些单独十六进制值中的位由维度排列,但不是在所有维度中排列成最高阶数到最低阶数,这使得范围比较难以用单一索引执行。例如,RGB中红色维度的位首先出现,其包括高阶数红色位至低阶数红色位。接着是绿色高阶位至低阶位,再接着是蓝色高阶位低至低阶位。因此,如果颜色搜索范围被指定为(#c001e0至#cf10f0),那么单一传统索引不能用来快速地确定记录中的哪一个在所述范围内具有相关联的颜色,因为这种查找取决于其中域中的所有位根据从最高阶数到最低阶数(例如,通常整数值或类似数据类型)进行排序的索引数据结构。
解决这个问题的一种方法是在数据存储区中具有对应于维度颜色中的每一种的多个索引域。例如,可存在一个红色域(例如,其可作为一个记录的一部分而包含值“c1”),存在另一个绿色域(例如,其可作为一个记录的一部分而包含值“08”),以及存在又一个蓝色域(例如,其可作为一个记录的一部分而包含值“e5”)。这些域中的每一个可被单独地索引。因此,当搜索范围时,每个索引可用于与已被索引的单个颜色进行比较(例如,范围#c001e0至#cf10f0、范围“c0”至“cf”可应用到红色索引,范围“01”至“0f”可应用到绿色索引,并且范围“e0”至“f0”可应用到蓝色索引)。数据存储区然后必须确定指示这一记录的所有的三种索引是否在相应范围内。
前述类型的维度索引的不利的一面在于数据存储区必须搜索三个索引而不是一个,并且然后对所有的准则是否已经满足所有索引进行比较。这个步骤通常比使用单一索引来执行搜索较不有效。
本文所述的实施方案允许增加的查询速度和进行快速搜索,并且克服了上文诸多缺点。更一般地说,除颜色空间之外,本文所述的技术可允许快速地搜索任何多维空间,诸如传统的3维坐标空间。例如,在3D视频游戏中,对象可位于地图上的3维坐标空间中(例如,X水平维度、Y深度维度和Z垂直维度,其中每个维度正交于其他维度)。在这种视频游戏中,将3维坐标搜索范围叠并成交织的一维整数搜索范围的快速搜索技术(如上文所述)可用来在3维坐标搜索范围内快速地找到视频游戏对象。
在根据本公开的一个实施方案中,可将n维颜色空间转换成1维颜色空间。为简洁起见,尽管本文所述的实施方案经常指代为3维颜色空间的RGB颜色,但是其他维度的颜色空间(例如,4维或5维等)可使用本文所述技术中的一种或多种来得到针对RGB 3维颜色空间描述的相同优点。因此,相同或类似技术可应用到如下各项的颜色空间:XYZ、色相饱和度明度/亮度(HSB/HSL)、色相饱和度值(HSV)、色相饱和度强度(HIS)、青深红黄关键色(CMYK)、Lab、亮度色度色相(LCH)、LMS、如图像或视频中使用的YCbCr和Y’CbCr、色调饱和度亮度(TSL)、红色绿色(RG)、YIQ(如由NTSC颜色TV系统使用)以及YUV(如由PAL颜色TV系统使用)。如由本领技术人员理解,在针对颜色维度不使用整数格式的颜色空间中,本文所述的技术仍可通过将浮点维度值转换成整数维度值来应用。
RGB颜色空间中每一种颜色(即,红色、绿色和蓝色)可由单一字节数据(8位)表示。通过交织三种颜色的位(例如,其中每个字符表示一位:如将参考图3进一步描述的RGBRGBRGBRGBRGBRGBRGBRGB),人们可形成唯一表示每种颜色但仅具有单一维度的24位整数。交织RGB位的一个优点在于位重要性的排序得到了保留。通常,根据人的感觉而接近的颜色在这个整数范围上也接近在一起(例如,它们趋向于具有相同的更高阶位)。
保留位的排序的一个优点在于这类排序有效地表示距黑色(即,#000000)和白色(即,#FFFFFF)的3维颜色值距离。更高阶位通常指示距黑色的较大距离(即,接近白色),而更低的高阶位和更高的低阶位通常指示距白色的更大距离(即,接近黑色)。因此,实际上,交织值可认为是灰度值。
对于数据存储区中的每种颜色,可添加列来保持其等效的24位交织整数。可将标准数据存储整数索引添加至具有此列的表。交织颜色值上的这种索引可被认为灰度索引值。当基于RGB颜色范围执行搜索时,可发生如下预处理:将颜色范围转换成多个交织的颜色范围。预处理可确定每个单个颜色字节中的一个或多个二进制拆分。例如,如果红色范围处于“00001110”与“00010001”之间,那么预处理可将红色搜索转换成两个范围(“00001110”到“00001111”)和(“00010000”到“00010001”),所述两个范围可用来自其他颜色绿色和蓝色的确定的范围置换(和与所述确定的范围交织)。
现参考图1,展示了示出可由计算装置107搜索的颜色数据存储区101的方框图。颜色数据存储区101可以是允许进行整数索引的任意类型的数据存储区,包括关系数据库(诸如SQL数据库),或分层数据存储区。颜色数据存储区101虽然存储在一个或多个非暂时性计算机可读介质上,但是可包括一个或多个逻辑数据存储区,每个逻辑数据存储区包括一个或多个数据存储表。颜色数据存储区101可在能够执行软件指令来提供数据存储服务的单一计算装置和/或能够一起提供数据存储服务(例如,允许镜像、备份等)的许多计算装置中实现。在其他实施方案中,颜色数据存储区101可实现为网页服务或由托管计算环境中的一个或多个虚拟机实现。托管的计算环境可包括一个或多个供应和释放的计算资源,所述计算资源可包括计算、联网和/或存储装置。
颜色数据存储区101可包括具有颜色列的一个或多个表。例如,表103可包括多个记录,每个记录包括针对对象的数据(或参考对象(诸如对象标识符))并且与RGB颜色相关联。例如,表103中的每个对象参考可识别人可在网络站点上购买的项目(夹克、书、订书机、服务等)。项目的数据可处于表103中或处于单独的表或通过项目标识符可访问的数据存储区中。每个项目可与表中的一个或多个RGB颜色相关联(例如,颜色映射)。与对象相关联的颜色可通过分析对象的图片导出。用于从图像提取颜色的各种方法和系统在2014年6月26日提交的、题为“IMAGE-BASED COLOR PALETTE GENERATION”、对应于代理文件号SEAZN.912A1的美国专利申请序列号______;2014年6月26日提交的、题为“IMAGE-BASEDCOLOR PALETTE GENERATION”、对应于代理文件号SEAZN.912A2的美国专利申请序列号______;2014年6月26日提交的、题为“IMAGE-BASED COLOR PALETTE GENERATION”、对应于代理文件号SEAZN.912A3的美国专利申请序列号______;以及2014年6月26日提交的、题为“IMAGE-BASED COLOR PALETTE GENERATION”、对应于代理文件号SEAZN.912A4的美国专利申请序列号______中描述,所述申请中的每一个整体以引用的方式并入本文。
在一些实施方案中,表103可包含对象到颜色的一个或多个映射。数据存储区中的多个行可指示将对象(诸如图像对象)映射到例如用于粉红色/紫色、复活节蓝(Easterblue)和森林绿的RGB编码的颜色。因此,表103的对特定颜色的查询可揭示映射到数据存储区中此颜色的一个或多个对象/项目。
在同一表或单独表(诸如表105)中,RGB颜色可映射到一维整数值。所述一维整数值可包括RGB编码的颜色的交织位。例如,如果用于复活节蓝的颜色编码是#44EDE5,那么交织的24位整数可看似011111011000010111000011(如以位所表示)。参考本文所述的图3来进一步描述交织。在一些实施方案中,表103和表105可以相同,其中对象可直接映射到颜色的展平的一维24位整数表示。
可使用24位整数查询数据存储表以确定与颜色相关联的一个或多个对象。在一些实施方案中,数据存储区101可接收SQL查询来确定一个或多个对象是否具有处于颜色范围内的相关联的颜色。例如,SQL“where”子句语句可以是用来搜索颜色范围的参数(例如,“where 24intcolor between‘239874’and‘736583’”),其中列“24intcolor”中的值是交织的24位颜色。使用24位颜色到RGB颜色的映射(或在一些实施方案中,仅直接映射到对象)允许数据存储区识别并返回与所搜索的颜色范围相关联的那些对象。
颜色数据存储区101可在允许数据存储区接收查询并且传输搜索结果的网络(例如,私用网络、互联网等)上直接地或间接地连接到许多装置。数据存储区可以是一个装置(例如,数据存储服务器)、多个装置或诸如远程地托管在互联网/云上的远程计算装置。
计算装置107可能够发起查询120并且通过联网(诸如IP联网(互联网、内联网、两者的组合等))访问数据存储区101。计算装置107可以是已经接收到客户端颜色查询、通过颜色搜索模块109处理所述查询并且生成如本文所述的一个或多个交织的颜色范围的服务器(或服务器群或托管的计算装置)。查询120可然后被发送至数据存储区101以供解析。在接收到查询120(例如,SQL查询)之后,数据存储区101可处理查询120并且在将交织的颜色范围与交织的颜色范围索引进行比较(例如,包括在表105中)之后返回包括搜索结果的响应122。这种比较可产生可在响应122中被返回的一个或多个匹配颜色或对象(例如,项目或图像)。计算装置107然后可使用返回的颜色和/或对象以用于任何目的(例如,将项目返回到客户端装置,将匹配的颜色展示给落在特定范围内的用户等)。
在一些实施方案中,颜色数据存储区101可直接地而不是通过传统的通信网络连接到计算装置107。例如,计算装置107可存储颜色数据存储区101并且执行数据存储过程来应答查询,以及执行网络服务器(或其他服务器)处理来通过互联网或通过本地用户接口接受用户颜色查询。颜色搜索模块109然后可处理所述颜色查询,将交织的颜色范围发送至数据存储过程并且接收响应。
在一些实施方案中,计算装置107可包括用户装置(例如,家用或办公用计算机、智能电话、平板、可穿戴式计算装置等),所述用户装置包括计算机硬件和软件部件(诸如处理单元、网络接口、非暂时性计算机可读介质驱动器和输入/输出装置接口,其中的全部可通过通信总线相互通信)的布置。网络接口可提供到一个或多个网络或计算系统的连接性。处理单元可因此通过网络从其他计算装置、系统或服务接收信息和指令。处理单元也可通信至存储器并且从存储器通信,并且通过输入/输出装置接口进一步提供输出信息。输入/输出装置接口也可从各种输入装置(诸如键盘、鼠标、数字笔、触摸屏等)接受输入。计算装置107的存储器可包含处理单元可执行以便实现本公开的一个或多个实施方案的计算机程序指令,诸如颜色搜索模块109。存储器通常包括RAM、ROM和/或其他持久和/或非暂时性计算机可读存储介质。
此外,存储器可包括用户浏览器。用户浏览器可能已经与网络站点(例如,网站)联系并且基于从远程服务器接收的信息来加载图形用户界面。用户浏览器可用来启动搜索。例如,用户浏览器可获得用来搜索的颜色范围和在一些实施方案中,另外的搜索参数(诸如键盘、项目价格、项目/对象类型等)。这类另外的参数可用来进一步过滤除颜色之外的搜索结果。颜色搜索模块109可在计算装置107上、在浏览器内(例如,通过模块)或在浏览器外执行以预处理所述范围并且生成一个或多个交织范围来通过颜色搜索查询120进行搜索。这时,查询120可被发送至颜色数据存储区101,通过将24位整数颜色索引与24位交织的搜索范围进行比较来进行处理并且响应122被生成并且被发送回至计算装置107。可基于上文所述的另外的查询参数进一步过滤响应122。一旦响应122被返回,浏览器或其他处理就可生成图形用户界面来显示搜索结果中的一个或多个和/或与所述搜索结果中的一个或多个交互。
颜色数据存储区101的搜索性能可通过在多个子数据存储系统上实现颜色数据存储区101来提高。在这种情形下,组成颜色数据存储区101的每个子数据存储区可负责应答针对特定的、预定义颜色范围的查询。通过举例,在简单的情形中,颜色数据存储区101可通过使用三个子数据存储区来实现。每个子数据存储区可被配置来接收针对特定交织的颜色范围的查询,诸如子数据存储区#1响应于展平的一维颜色以“0”的最高阶位开始的查询,子数据存储区#2响应于展平的一维颜色以“10”开始的查询,以及子数据存储区#3响应于展平的一维颜色以“11”开始的查询。
被分配给每个子数据存储区的范围可基于每个子数据存储区内的索引颜色值的密度而被手动地或自动地配置。在一个实施方案中,算法可将子数据存储区配置成处置较大的、稀疏分布的颜色范围,并且将另一个子数据存储区配置成处置较小的但更加密集分布的颜色范围。这种算法可在不需要人工干预的情况下执行,以便基于可能的结果在特定颜色范围内的分布来调整在运行中的每个子数据存储区。这种方法可根据每个子数据存储区的处理能力将颜色数据存储区101中的记录扩展到子数据存储区上。
在多个子数据存储区情形中,产生搜索查询的计算机可然后制成针对每个子数据存储系统的单独的查询,将所述单独的查询并行地发送至每个子数据存储系统,并且并行地接收结果。这种并行性可通过同时查询多个、更小的子数据存储区而引起性能增加。
可生成颜色数据存储区101并且具体地,包括一维交织的颜色映射(例如,24位交织的整数)到多维颜色映射(例如,RGB颜色或具有隶属颜色的项目)的表(诸如表105)以支持快速颜色查询,如在下文图2所述。
现参考图2,将描述通过访问计算装置(诸如计算装置107)实现的快速颜色数据存储生成例程200的实施方案。本领域技术人员将理解,被概述用于例程200的动作/元素可以由与计算装置107(诸如颜色搜索模块109)相关联或与颜色数据存储区101相关联的一个或多个计算装置/部件/模块来实现。因此,通过举例,例程400已在逻辑上关联成由计算装置107执行。
在块202处,计算装置107可访问颜色数据存储区101(例如,登录到数据存储区或以其他方式准备执行查询并将数据存储在数据存储区中)。访问计算装置可以是计算装置107或能够与颜色数据存储区101交互的任何其他计算装置,包括实现颜色数据存储区101的任何计算装置。
在块204处,计算装置107可查询并访问在颜色数据存储区101中使用或可用的每种颜色。然后,在块206处,对于多维颜色数据存储区101中的每种颜色,计算装置可交织来自颜色数据存储区101中的多个维度中的每个维度的位。例如,如下文进一步所述的图3所示,可交织RGB颜色值中的红色维度位、绿色维度位和蓝色维度位来形成24位整数。图3公开在此申请中可如何执行交织的一个实例。
在图3中,RGB颜色#15b01a可对应于通常所谓的“绿色”。作为RGB三维颜色空间的一部分的这种绿色具有可分别以十进制(21、176、26)、十六进制(15、b0、1a)或位(00010101、10110000、00011010)表示的三个维度(红色、绿色和蓝色)。红色维度的位302可从最高到最低、从左到右进行排序(例如,大端、较小的存储器地址到较大的存储器地址)。例如,可根据红色维度的值来缩放用来结合其他颜色进行显示的红色光的强度(例如,LED“亮度”)。根据每个位正常为8位/1字节整数加权来对每个位估值。因此,最高阶位中的“1”被定值为128(2的第7次方(2^7)),而最低阶位中的1被定值为1(2^0)。对于示例性红色维度值302,所述值为00010101,其为分别被称为R7、R6、R5、R4、R3、R2、R1和R0的位的值。
类似地,可根据绿色维度304中的位来缩放用来结合红色光和蓝色光显示的绿色光的强度。对于示例性绿色维度值304,所述值为10110000,其为分别被称为G7、G6、G5、G4、G3、G2、G1和G0的位的值。同样地,蓝色维度值00011010是分别为位B7、B6、B5、B4、B3、B2、B1和B0的值。
可然后形成交织红色、绿色和蓝色维度值中所有位的24位整数值,使得处于维度内的它们的排序得到保留。例如,24位整数308在交织之后现可包括010000010111001100001100。这个值对应于交织以下列排序的位:R7 G7 B7 R6 G6 B6 R5G5 B5 R4 G4 B4 R3 G3 B3 R2 G2 B2 R1 G1 B1 R0 G0 B0。其他可能的实例可包括更改RGB位的排序(例如,绿色首先G7 B7 R7 G6 B6 R6…等),使位的排序颠倒(其例如可用于小端系统)(R0 G0 B0 R1 G1 B1 R2 G2 B2 R3 G3 B3 R4 G4 B4 R5 G5 B5 R6 G6 B6 R7 G7B7,或甚至B0 G0 R0 B1 G1 R1 B2 G2 R2 B3 G3 R3 B4 G4 R4 B5 G5 R5 B6 G6 R6 B7 G7R7)。本领域技术人员将理解,如何使用通过使用颠倒的位序排序小端来实现多维颜色交织系统。也可使用允许24位整数颜色范围搜索的另外的替代性交织位排序。
返回图2,在块208处,对于转换成24位整数的每种RGB颜色,所述24位一维整数然后可存储在与相关联的多维颜色(诸如与RGB颜色相关联的表105中)相关联的颜色数据存储区101中,所述多维颜色可间接地或直接地与颜色数据存储区中的对象(诸如项目(例如,项目标识符))相关联。在一些实施方案中,可将24位整数存储成与颜色数据存储区101中的对象直接相关联(例如,到单一表中项目标识符的映射)。
在块212处,快速颜色数据存储生成过程可确定是否已经将所有颜色转换成单一24位颜色212。如果不,那么箭头214指示所述过程可重复并且可转换更多的颜色并且将所述更多的颜色存储在颜色数据存储区101中。否则,如由箭头212所指示,转换所有颜色的过程可结束。
在块216处,颜色数据存储区101然后可对表中的存储表示颜色的生成的一维交织整数的列进行索引,以基于所述一维整数能够快速进行范围搜索。在被索引之后,所述快速颜色数据存储生成过程可在块218处结束。当接收到查询时,颜色数据存储区101现能够执行快速颜色搜索。
图4示出在用于搜索快速颜色搜索数据存储区(诸如颜色数据存储区101)的一个或多个计算装置(诸如计算装置107)上执行的例程的一个实施方案。这种例程可由硬件处理器执行的软件指令执行并且可包括颜色搜索模块109中的一个或多个部件。可存储所述软件指令以在非暂时性存储介质(诸如一个或多个寄存器、存储区、磁盘、闪存存储区、固态驱动器等)中执行。
进一步参考图4,将描述通过访问计算装置(诸如计算装置107)实现的快速颜色搜索例程400的实施方案。本领域技术人员将理解,被概述用于例程400的动作/元素可以由与计算装置107(诸如颜色搜索模块109)相关联的一个或多个计算装置/部件/模块来实现。因此,例程400已在逻辑上关联成由计算装置107执行。
在块402处,计算装置107获得针对颜色范围的输入以进行搜索。在一些实施方案中,这种输入可包括来自人/机器接口(诸如通过键盘、鼠标等)的输入,作为到图形用户界面(诸如浏览器)中的输入。例如,用户可浏览网络站点并且输入将要搜索的一种或多个RGB颜色或颜色范围。这种颜色(例如,RGB值)可通过拾色器接口、策划的调色板、从图像取出的调色板、具有与项目相关联(例如以找到具有类似颜色的其他项目)的一种或多种颜色的项目、从键盘到颜色转译确定的颜色或其他方法进行选择。在一些实施方案中,可通过网络(诸如通过从包含用来搜索的颜色范围的客户端装置接收一个或多个分组的服务器)获得用来搜索的颜色范围。用来获得一种或多种颜色或颜色范围的各种方法和系统在2014年6月26日提交的、题为“BUILDING A PALETTE OF COLORS BASED ON HUMAN COLORPREFERENCES”、对应于代理文件号SEAZN.904A1的美国专利申请序列号______;2014年6月26日提交的、题为“BUILDING A PALETTE OF COLORS FROM A PLURALITY OF COLORS BASEDON HUMAN COLOR PREFERENCES”、对应于代理文件号SEAZN.904A2的美国专利申请序列号______;2014年6月26日提交的、题为“DETERMINING AFFILIATED COLORS FROM KEYWORDSEARCHES OF COLOR PALETTES”、对应于代理文件号SEAZN.903A3的美国专利申请序列号______;2014年6月26日提交的、题为“AUTOMATIC COLOR PALETTE BASEDRECOMMENDATIONS FOR AFFILIATED COLORS”、对应于代理文件号SEAZN.907A1的美国专利申请序列号______;2014年6月26日提交的、题为“AUTOMATIC IMAGE-BASEDRECOMMENDATIONS USING A COLOR PALETTE”、对应于代理文件号SEAZN.948A1的美国专利申请序列号______;以及2014年6月26日提交的、题为“CREATION OF DATABASE OFSEARCHABLE COLOR NAMES”、对应于代理文件号SEAZN.947A1的美国专利申请序列号______中描述,所述申请中的每一个整体以引用的方式并入本文。
如果没有获得颜色范围,但是替代地获得单一颜色,那么可基于一个或多个选择的颜色来确定将要搜索的一个或多个颜色范围。在一些实施方案中,可基于可应用到颜色的可配置的颜色范围来确定颜色范围。例如,如果获得绿色“#15b01a”,那么可通过从一个或多个颜色维度加上和减去设定值(例如,4颜色量级)来确定颜色范围。这种实例将在红色维度中产生处于(以十六进制表示的)处于“11”到“19”之间的范围,在绿色维度中处于“ac”到“b4”之间的范围,并且在蓝色维度中处于“16”到“1e”之间的范围。
在另一个实施方案中,颜色范围可通过应用人可辨识的颜色距离/差异公式来确定。这种公式可基于给定的起始颜色生成给定RGB值的对于人类检测可能难以察觉的一个或多个维度颜色范围,并且为了达到人类目的,可被认为是与起始颜色相同的颜色。在一个实施方案中,颜色搜索范围可包括人不可检测为不同的那些颜色,和/或可包括人几乎不能检测为不同的那些搜索范围。用于使用人的颜色距离公式来确定人可察觉的色差的各种方法和系统在2014年6月26日提交的、题为“IMAGE-BASED COLOR PALETTE GENERATION”、对应于代理文件号SEAZN.912A1的美国专利申请序列号______;2014年6月26日提交的、题为“IMAGE-BASED COLOR PALETTE GENERATION”、对应于代理文件号SEAZN.912A2的美国专利申请序列号______;2014年6月26日提交的、题为“IMAGE-BASED COLOR PALETTEGENERATION”、对应于代理文件号SEAZN.912A3的美国专利申请序列号______;以及2014年6月26日提交的、题为“IMAGE-BASED COLOR PALETTE GENERATION”、对应于代理文件号SEAZN.912A4的美国专利申请序列号______中描述,所述申请中的每一个整体以引用的方式并入本文。
在另一个实施方案中,可基于通过使用允许修改先前搜索的颜色的颜色调整用户界面得到先前项目搜索的输出来确定颜色范围。不像允许选择颜色的拾色器用户界面,颜色调整用户界面可包括GUI滑块,所述GUI滑块允许基于给定颜色或颜色范围、或更宽或更窄颜色范围来进行搜索;或允许所搜索的颜色或颜色范围转变以变得更强、更暗、更亮等。先前的项目搜索可以是由颜色单独或与其他准则(诸如关键词、价格等)组合查询的先前颜色搜索的结果。在这种情形下,用户界面可显示所有项目,使得所产生的项目可被浏览和检查,并且使颜色调整用户界面集成在其中。用户界面可以是允许滚动通过多个搜索结果的网络页面。网络页面可包括允许选择更紧密或更广颜色范围的滑块。
例如,计算机装置107上的用户可能已经从基于网络的拾色器用户界面选择绿色“#15b01a”并且将项目搜索以及关键词“手提包”发送至网络服务器。对于包括颜色搜索范围和关键词“手提包”的查询,计算机装置107可将绿色转译成处于绿色附近的第一阈值内的所述颜色搜索范围并且将所述搜索准则传输给颜色数据存储区101。一旦接收到响应,计算装置107可在网络页面上的浏览器内显示所有项目及它们相关联的图像。网络页面可具有滑块用户界面元件,所述滑块用户界面元件通过在第一方向上滑动所述界面来允许颜色搜索范围向上调整。在第一方向上滑动可引导计算装置107重新提交具有比先前搜索更宽或更广颜色搜索范围的搜索。所述颜色搜索范围以与在第一方向上移动滑块的量一致的比率加宽。
类似地,先前颜色搜索范围可通过用户在第二方向上滑动滑块而向下调整,这可引起颜色搜索范围以与在第二方向上移动滑块的量一致的比率下降。
一旦滑块或其他调整用户界面已经被更改,就可基于加宽的或变窄的颜色搜索范围准则来启动新的搜索。所述搜索导致响应将因此根据所述新的颜色搜索范围而被加宽或变窄。以此方式,用户可通过加宽的颜色搜索范围而“看见更多的”与给定颜色匹配的结果,或通过变窄的颜色搜索范围而“看见更少的”结果。
在其他实施方案中,可从其他源(包括事先存在的调色板、相反颜色、相反调色板、颜色到关键词映射等)获得颜色或颜色搜索范围。用于获得颜色或颜色搜索范围的各种方法和系统在2014年6月26日提交的、题为“BUILDING A PALETTE OF COLORS BASED ONHUMAN COLOR PREFERENCES”、对应于代理文件号SEAZN.904A1的美国专利申请序列号______;2014年6月26日提交的、题为“BUILDING A PALETTE OF COLORS FROM APLURALITY OF COLORS BASED ON HUMAN COLOR PREFERENCES”、对应于代理文件号SEAZN.904A2的美国专利申请序列号______;2014年6月26日提交的、题为“DETERMININGAFFILIATED COLORS FROM KEYWORD SEARCHES OF COLOR PALETTES”、对应于代理文件号SEAZN.903A3的美国专利申请序列号______;2014年6月26日提交的、题为“AUTOMATICCOLOR PALETTE BASED RECOMMENDATIONS FOR AFFILIATED COLORS”、对应于代理文件号SEAZN.907A1的美国专利申请序列号______;2014年6月26日提交的、题为“AUTOMATICIMAGE-BASED RECOMMENDATIONS USING A COLOR PALETTE”、对应于代理文件号SEAZN.948A1的美国专利申请序列号______;以及2014年6月26日提交的、题为“CREATIONOF DATABASE OF SEARCHABLE COLOR NAMES”、对应于代理文件号SEAZN.947A1的美国专利申请序列号______中描述,所述申请中的每一个整体以引用的方式并入本文。其他参数也可被指定为颜色搜索查询的一部分以进一步过滤所期望的查询结果。此类参数可包括关键词、项目价格、项目/对象的类型等。
在块404处,预处理可发生以形成快速颜色搜索查询。例如,在块404处,处理可基于所获得的RGB颜色搜索范围、一个或多个24位整数搜索范围而生成以包括在一个或多个颜色搜索查询中。此外,在块404处,可适当地公式化一个或多个颜色搜索查询。例如,一旦已经生成24位整数颜色搜索范围,那些范围就可形成一个或多个格式化SQL查询、API查询、网页服务查询等。在下文参考图5进一步描述预处理。
在块406处,计算装置107可启动搜索查询。启动搜索查询可包括通过网络(例如,局域网、互联网、VPN等)由计算装置107将包括将要搜索的颜色范围的搜索查询传输给颜色数据存储区101或其他颜色查询启动服务(诸如网页服务或颜色搜索服务器)。在一些实施方案中,不需要进行传输,因为颜色搜索模块109可直接或本地访问颜色数据存储区101,或可能够通过直接访问数据存储文件(例如,使用SQLite)执行查询本身。
在块408处,一旦已经搜索所有的24位整数搜索范围,与所搜索范围中的一个或多个匹配或以其他方式与其相关的所期望的数据存储区记录通过查询计算装置(例如,通过本地处理)接收,或通过网络传输返回至计算装置107并且由计算装置107接收。这种搜索结果可返回一种或多种匹配的RGB颜色、RGB调色板或甚至可被去交织的24位整数以确定RGB颜色。在一些实施方案中,搜索结果可返回与在查询中被请求的一个或多个24位整数颜色搜索范围相关联的对象(诸如项目)。
所述搜索结果可通过将查询中的特定整数颜色搜索范围与24位列的索引进行比较由颜色数据存储区101或颜色搜索模块109编译。例如,索引可以是树数据结构,其中通过使整数与树中的节点进行比较,树可指示与整数搜索范围匹配的一行或多行。一个优点在于这比将数据存储区中的每行与颜色范围进行比较或将每个维度的搜索范围与数据存储区中的三个不同索引进行比较更加有效。
在块410处,颜色搜索例程可结束,并且计算装置107可使用搜索结果以进一步进行处理,或在用户应用(诸如浏览器)中格式化和显示所述搜索结果。
现参考图5,将描述通过访问计算装置(诸如计算装置107)实现的快速颜色搜索预处理例程500的实施方案。相关领域的技术人员将会了解,被概述用于例程500的动作/元素可由与计算装置107相关联的一个或许多计算装置/部件/模块(诸如颜色搜索模块109),或可替代地由颜色数据存储区101(例如,当RGB颜色范围在传输的搜索查询中由用户计算装置指定,并且服务器或数据存储区必须在搜索之前将所接收的RGB颜色范围转译成24位整数颜色搜索范围时)实现。因此,例程500已在逻辑上关联成由计算装置107执行。
图5示出可由颜色搜索模块109执行的RGB颜色搜索范围的一个实施方案的预处理。本领域中的技术人员将看到,所述预处理可被快速地外推到除RGB之外的任何其他多维颜色排列。例如,计算装置107可具有包括可在浏览器中运行的指令的颜色搜索模块109。所述指令可在将一个或多个颜色搜索范围转发至网络服务器或数据存储服务器以进行搜索之前预处理所述范围。使用的优点之一在于可通过使操作计算机的用户执行预处理以作为替代进行颜色搜索查询来减少对组织机构的数据存储区和服务器的处理负荷。除之外,本领域的技术人员将认识到,其他编程语言也可用来实现本文所述的快速颜色搜索技术,所产生的编码是否在用户计算机端、服务器端或其一些组合上执行。
在块502处,执行预处理的计算装置107可获得RGB颜色范围值。所述颜色范围值可包括红色最大颜色值、红色最小颜色值、绿色最小颜色值、绿色最大颜色值、蓝色最大颜色值和蓝色最小颜色值。实施方案随后可将这些维度颜色范围转译成可在快速颜色搜索查询中使用的一个或多个一维24位整数颜色搜索范围。在下文参考块504、506和508描述示例性过程。
在块504处,每个维度颜色范围(例如,最小值到最大值)可在位边界上由计算装置107进一步拆分成另外的范围,使得可在一维中适当地搜索交织值。这些可被称为二进制拆分范围或前缀。
如下是将要解决的问题的说明。假设颜色搜索范围如下:
红色最小值:十六进制-7e二进制-01111110
红色最大值:十六进制-81二进制-10000001
绿色最小值:十六进制-00二进制-00000000
绿色最大值:十六进制-01二进制-00000001
蓝色最小值:十六进制-fe二进制-11111110
蓝色最大值:十六进制-ff二进制-11111111
当交织时,所述结果可似乎产生以二进制表示的如下搜索范围:001101101101101101101000(交织所有最小值)至101001001001001001001111(交织所有最大值),其对应于3,595,112至10,785,359的十进制整数范围。然而,处于此范围内的基于匹配整数的颜色实际上可能不处于将要搜索的颜色范围内。例如,对应于交织位值010000000000000000000000和对应于以十六进制表示为#008000(即,绿色值为#80)的RGB颜色的4,194,304实际上不处于将要搜索的范围内(#7f00fe至#8101ff的绿色的变化不超过00与01之间),但满足处于3,595,112与10,785,359之间的准则。这种错误情况因为来自各种颜色的交织值的位结转而可能发生。换句话讲,呈交织的24位整数形式的范围的结转影响其他维度的颜色值,这是意外的结果并且当颜色实际上不与原始颜色搜索范围匹配时,使一些颜色与呈整数格式的颜色搜索范围匹配。
可通过在执行搜索查询之前进行预处理来避免这种情况。例如,对上述范围进行预处理将使整数搜索范围拆分,其中结转将影响将要搜索的范围。替代搜索从3,595,112到10,785,359的单一整数范围,可作为替代搜索以下两个范围:001101101101101101101000至001101101101101101101111,和101001001001001001001000至101001001001001001001111,其分别对应于3,595,112至3,595,119和10,785,352至10,785,359的十进制整数范围。这些拆分搜索范围现适当地捕获整个搜索范围(例如,原始搜索范围#7f00fe至#8101ff等同于组合的范围#7f00fe至#7f01ff和#810fe至#8101ff)。
在一些实施方案中,后处理而不是预处理可用来实现快速颜色搜索。在数据存储区记录稀疏地分布于颜色搜索范围中的实施方案中,可在计算装置107上执行对拆分整数搜索范围的识别。在这种情形下,使用上文所述实例,颜色数据区101可使用更大范围3,595,112至10,785,359由计算装置107搜索。因为记录在颜色数据存储区101中稀疏地分布于此范围中,所以可返回有限数量的查询结果。因为期望返回有限数量的搜索结果,所以计算装置107可在向数据存储区发起每个拆分搜索范围的查询之后(而不是之前)可确定每个拆分搜索范围,并且分析每个单个查询结果以确定所述每个单个查询结果是否落在所确定的拆分搜索范围中的任一个内。这类型实施方案的优点之一在于它将处理从颜色数据存储区101(例如,每个更小拆分搜索范围的比较)移动至计算装置107,因此减少颜色数据区101上的总负荷。这类型的实现方式也可与由多个子数据存储区组成的颜色数据存储区101组合使用,因为在那种情形下,可控制每个子数据存储区的稀疏性来对最优策略作出后处理。
因此,在块504处,可通过确定可用如0或1的剩余位填写以确定拆分搜索范围的高阶位前缀来确定每个RGB颜色维度的二进制拆分范围。可通过计算颜色维度的最小值和最大值的一个或多个范围前缀,并且将这些范围前缀组合到给定维度的范围前缀列表中来确定二进制拆分范围。
例如,对于红色搜索范围,可通过确定最小值的最高阶位(其值为“1”作为最小值),并且然后将所述最小值作为下限与上限(其全部为先前的0)一起使用来识别一个前缀(基础前缀)。如果红色搜索范围是从00001010(最小红色值)至00010000(最大红色值),那么上述前缀可对应于最小值为0000101的位前缀。此前缀可被认为是对应于范围00001010至00001011(即,二进制拆分范围)(即,基于其中剩余位(已加下划线的)用所述范围的最小值0和所述范围的最大值1填写的前缀的范围)的范围。因此,可将前缀值0000101添加至红色前缀列表。
可基于所述最小值由计算装置107识别更多前缀。用于识别另外的前缀的一个准则包括检查基础前缀。从最低位开始,如果在具有0的基础前缀(例如,0000101)中存在任何另外的更高阶位,那么如果另外的前缀包括比等于0的最小值位的最高阶位更低的阶位并且此阶数的最大值位为1,那么可识别另外的前缀。这一类位被称为“发散”位,因为这正是最大值从最小值开始发散的位。然后最终可通过用“1”替换所识别的“0”来识别这种前缀。多于一个另外的前缀可存在于基础前缀内。
返回我们的实例,最小值具有这种匹配的零00001010,并且所述前缀包括000010,其包括比发散位更低阶数的位(所述发散位在此已加下划线,其中位串发散:最小值:00001010和最大值:00010000)。所识别的前缀包含比发散位更低阶数的位(例如,第五和第六最低阶位)。由于000010已经被识别,因而用来添加的实际前缀是000011(“…可然后通过用‘1’替换所识别的‘0’来包括所述前缀”)。因此,这将识别出另外的前缀为“000011”,并且将所述另外的前缀添加到红色前缀列表(其已经包含0000101)。
可由计算装置107通过分析颜色的最大位来确定另一组前缀。计算装置107可识别最大值的最低阶位(其值为0),并且作为前缀取用所识别的值0以及所有更高阶位。因此,00010000将作为前缀添加至增长的列表。
可被添加的另一组前缀是最大值的任何前缀,其中所述最大值在发散位之后的位为“1”。这些前缀可然后通过用“0”替换所识别的“1”而被包括在内。
在前述实例中,当最大红色值为00010000时,没有另外的前缀被识别,并且在发散位之后没有为“1”的位。然而,如果最大红色值实际上为00010100,那么第二个“1”将识别前缀000101,第二个“1”然后将用“0”替换(以形成前缀000100),并且前缀000100将被添加至红色前缀列表。
尽管所述实例在上文确定红色值的二进制拆分范围列表(前缀列表),但是可类似地确定蓝色维度和绿色维度或颜色空间的任何维度的二进制拆分范围列表。因此,可基于每个维度的将要搜索的范围的最大值和最小值来确定每种颜色维度,并且具体地红色维度、绿色维度和蓝色维度的二进制拆分范围/前缀列表。
返回图5,在块506处,前缀可由计算装置107置换和交织。可将每个此类置换转换成用于搜索的一个或多个24位整数范围(或其他n维交织位整数范围,这取决于多少个位组成一个维度,和多少个维度组成颜色模型)。
例如,使用RGB,可能存在三个前缀列表–一个是红色的、一个是绿色的和一个是蓝色的。红色列表中的每个前缀可用其他颜色的所有其他前缀置换,使得计算机确定具有来自红色列表的一个前缀、来自绿色列表的一个前缀和来自蓝色列表的一个前缀的所有可能的前缀组合。可将每种置换交织并且转换成一个或多个24位整数搜索范围。
图6示出由计算装置107交织和转换特定置换的实例。对于此示例性置换,红色前缀602已经选择(11001),绿色前缀604已经选择(100111)并且蓝色前缀606已经选择(100101)。然后可基于这些位的位序(如图3所述)来交织所述这些位。然而,许多位在前缀中并不存在。例如,红色前缀缺失最后三个位,并且蓝色前缀和绿色前缀缺失最后两个位。这产生不完整的交织的位结构。例如,交织位610基于这些前缀展示了具有缺失位(X)的交织串,并且因此展示出R2位缺失,并且R1、G1、B1、R0、G0和B0位也缺失。
存在两种类型的缺失位。第一类型可以是在24位整数中具有被定义的较低阶位。这可被称为“内部拆分位”。例如,如由“X”指示,交织位610中标号为R2的位缺失。然而,位G2和B2被定义(例如,被包括在选择的绿色前缀604和蓝色前缀606中)并且在24位串中处于较低阶数处(在此,此24位交织整数的“较低阶数”意思是当24位交织整数被认为是正常整数时,“出现在较低阶数之后”或处于较低阶数处)。
当第一类型的位被识别时,可将红色前缀、绿色前缀和蓝色前缀的置换拆分成两种完全相同的置换以进行进一步范围确定,其中第一置换612中“0”为所识别的位,并且第二置换614中“1”为所识别的位(如由交织的24位整数612和614中加下划线的位值指示)。然后可在仅具有一个位差异的前缀的这两种类似置换上执行对缺失位的进一步分析。不需要对原始置换(在此为置换610)进行进一步分析。这种类型的拆分可反复执行,直到在所产生的任一个置换中不存在更多的内部拆分位。
也可识别第二类型的缺失位。可通过确定所缺失的位不具有任何定义的低阶数的位来识别这种缺失。作为参考,这种缺失位可被称为“结尾范围位”。当这种类型的位被识别时并且经常在通过拆分成两个完全相同的置换(其仅具有一个位差异)来分解所有内部拆分位之后,那么可将置换转换成24位范围。这通过计算以下两个24位整数来完成:范围的下限,所述范围的下限通过选取置换并且将所有剩余结尾范围位设定成“0”而确定;和范围的上限,所述范围的上限通过选取置换并且将所有剩余结尾范围位设定成“1”而确定。
例如,交织的24位置换612、614具有剩余的结尾范围位,所述剩余的结尾范围位对应于R1、G1、B1、R0、G0和B0(换句话讲,交织的24位整数的最后6个位)。因为不存在比结尾范围位更低阶数的定义的位,所以这些位现可用来形成整数搜索范围。对于置换612,可通过将结尾范围位设定成0(如在置换616中所展示)来确定下限,其等于整数15,744,192。可通过将结尾范围位设定成1(如在置换618中所展示)来确定上限,其等于整数15,744,255。因此,一个计算的搜索范围632可以是交织颜色值的处于15,744,192与15,744,255之间的查询范围。
对于置换614,可通过将结尾范围位设定成0(如在置换622中所展示)来确定下限,其等于整数15,744,448。可通过将结尾范围位设定成1(如在置换620中所展示)来确定上限,其等于整数15,744,511。因此,一个计算的搜索范围634可以是交织颜色值的处于15,744,448与15,744,511之间的查询范围。可收集和存储所有前缀置换上的所有所识别的24位颜色搜索范围以待搜索。
返回图5,在如上文所述确定一个或多个置换的一维交织颜色搜索范围之后,可在块508处形成一个或多个颜色搜索查询。一个示例性实施方案可生成SQL“where”子句以将多个24位整数颜色搜索范围在查询中串在一起(例如,SQL“select”语句)。例如,子句诸如“SELECT*FROM<表105>WHERE(interleave_rgb_color BETWEEN 15744448 AND 15744511)或(interleave_rgb_color BETWEEN 15744192 AND 15744255)”,其中列出所有搜索范围的查询可以是一种基于上述实例的如此特制的查询。然而,如果存在对红色前缀、绿色前缀和蓝色前缀的进一步置换(其可能被组合以形成唯一搜索范围),那么查询将可能很长,所述红色前缀、绿色前缀和蓝色前缀的进一步置换中的每一种可取决于内部拆分位的数量而产生一个或多个搜索范围。所有所产生的范围可用来形成针对总范围覆盖的传统的多维颜色搜索查询的一个查询或多个查询。在其他实施方案中,适当格式化的网页服务查询可并入所确定的整数颜色范围以通过作为参数向搜索添加范围来进行搜索。
在生成搜索查询之后,在块510处,预处理例程可结束。如参考图4所述(例如,块406),现可传输或执行所述搜索。
取决于实施方案,本文所述的算法中的任一者的某些动作、事件或功能可在不同序列中执行,可进行增加、合并或全部一起省去(例如,对于算法的实践而言并不是所有的描述动作或事件都是必要的)。此外,在某些实施方案中,动作或事件可同时执行(例如,通过多线程处理、中断处理或多个处理器或处理器核心或者在其他平行架构上),而不是循序执行。
结合本文公开的实施方案所描述的各种示例性逻辑块、模块、单元和算法步骤可以实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,以上已经大体上在各种示例性元件、块、模块和步骤的功能性方面描述这些示例性元件、块、模块和步骤。这种功能性是实施为硬件还是软件取决于具体应用和强加于整个系统的设计约束。所描述的功能性可以针对每个具体应用以不同方式实现所描述的功能性,但是这种实现方式决定不应被解释为导致背离本公开的范围。
可以通过机器,诸如通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑装置、离散门或晶体管逻辑、离散硬件部件或被设计来执行本文所描述功能的上述各者的任何组合来实现或执行结合本文公开的实施方案所描述的各种示例性逻辑块和模块。通用处理器可以是微处理器,但在替代方案中,处理器可以是控制器、微控制器或状态机、所述各项的组合等。处理器还可被实现为计算装置的组合,例如,DSP和微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器或者任何其他此类配置。
结合本文公开的实施方案所描述的方法、过程或算法元素可直接体现于硬件中、体现于由处理器执行的软件模块中,或体现于这两者的组合中。软件模块可驻存于RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可拆卸盘、CD-ROM或本领域中已知的任何其他形式的计算机可读存储介质中。存储介质可耦合到处理器,使得处理器可从存储介质读取信息,并将信息写到存储介质。在替代方案中,存储介质可与处理器集成一体。处理器和存储介质可驻存在ASIC中。ASIC可驻存在用户终端中。在替代方案中,处理器和存储介质可作为离散组件驻存在用户终端中。软件模块可包括计算机可执行指令,所述计算机可执行指令致使硬件处理器执行计算机可执行指令。计算机可执行指令可包括脚本计算机语言和/或编译计算机语言。计算机可执行指令可包括(例如但不限于)PYTHONTM、php、SQL、C、C++、C#、Fortran、BASIC、shell脚本、Perl等。
除非另外特别说明,或者使用时在上下文中以其他方式所理解的,否则本文所用的条件语言,特别是诸如“能够”、“可以”、“可能”、“例如”等,一般意在表达如下意思:虽然其他实施方案不包括,但某些实施方案包括特定的特征、元件和/或状态。因此,此类条件性语言一般并非意在暗含如下意思:特征、元件和/或状态对于一个或多个实施方案而言无论如何都是必需的,或者,一个或多个实施方案无论有或没有作者输入或提示都必须包括用于决定在任何特定实施方案中是否包括或将要执行这些特征、元件和/或状态的逻辑。术语“包括”、“包含”、“具有”、“含有”等是同义的,并以开放的方式包含性地使用,而且不排除另外元件、特征、动作、操作等等。另外,术语“或者”以其包含性意义(并且不以其排除性意义)使用,从而使得当(例如)用来连接一列表元件时,术语“或者”意味着所述列表中元件的一个、一些或全部。
除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”的分离性语言在上下文中通常应理解为用于呈现项目、术语等可以是X、Y或Z或它们的任意组合(例如,X、Y和/或Z)。因此,此类分离性语言一般并非意在并且不应该暗示某些实施方案需要存在X中的至少一个、Y中的至少一个或Z中的至少一个。
除非另外明确说明,否则冠词诸如‘一个(a/an)’通常应被解释成包括一个或多个描述的项目。因此,短语诸如“装置被配置来”意图包括一个或多个所述装置。此类一个或多个所述装置也可共同地被配置来执行所述叙述。例如,“处理器被配置来执行叙述A、B和C”可包括被配置来执行叙述A的第一处理器与被配置来执行叙述B和C的第二处理器一起工作。
虽然以上具体实施方式已经在应用于各种实施方案时展示、描述并指出新颖特征,但是应理解,在所示出装置或算法的形式和细节上的各种省略、代替和改变可在不背离本公开的精神的情况下做出。如将认识到的,本文所述的某些实施方案可在不提供本文所阐述的所有特征和益处的形式内体现,因为一些特征可与其他特征分开使用或实践。处于权利要求书的等效意义和范围内的所有改变都应涵盖在权利要求书的范围中。
可鉴于以下条款对本公开的各种实施方案的实例进行描述:
1.一种系统,其包括:
存储器,所述存储器被配置来存储计算机可执行指令;以及
包括一个或多个硬件处理器的计算装置,所述计算装置与所述存储器通信并且被配置来执行所述计算机可执行指令以至少:
获得颜色的颜色搜索范围,所述颜色由n维颜色模型指定,对于所述n维颜色模型中的每个颜色维度,所述颜色搜索范围包括最小维度颜色值和最大维度颜色值;
对于所述颜色搜索范围的每个维度,至少部分地基于所述颜色搜索范围的对应颜色维度的所述最小维度颜色值和所述最大维度颜色值来计算一个或多个二进制拆分范围;
至少部分地基于每个维度的一个或多个二进制拆分范围的置换来生成一个或多个整数搜索范围,其中所述一个或多个整数搜索范围包括来自所述一个或多个二进制拆分范围的置换的交织位;
生成搜索查询,所述搜索查询包括作为搜索参数的所述一个或多个整数搜索范围;
至少部分地基于所述搜索查询来启动对处于所述一个或多个整数搜索范围内颜色的数据存储区的搜索,所述数据存储区包括与至少一个被索引的整数颜色值相关联的记录;并且
从所述数据存储区接收搜索结果,所述搜索结果包括与处于所述一个或多个整数搜索范围内的至少一个被索引的整数颜色值相关联的记录。
2.如权利要求1所述的系统,其中所述n维颜色模型是RGB颜色模型。
3.如权利要求2所述的系统,其中所述交织位包括对红色二进制拆分范围、绿色二进制拆分范围和蓝色二进制拆分范围进行置换。
4.如权利要求3所述的系统,其中所述交织位以如下各项的重复模式进行排列:来自所述红色二进制拆分范围的红色位、来自所述绿色二进制拆分范围的绿色位、以及来自所述蓝色二进制拆分范围的蓝色位,其中所述红色位、所述绿色位和所述蓝色位是来自相同阶数的位,所述重复模式从最高阶位到最低阶位排列。
5.如权利要求1所述的系统,其中所计算的一个或多个二进制拆分范围的至少一部分通过确定发散位来识别。
6.如权利要求1所述的系统,其中所述记录包括与处于所述一个或多个整数搜索范围内的一个或多个被索引的整数颜色值相关联的对象记录。
7.如权利要求6所述的系统,其中所述对象记录是项目记录。
8.如权利要求7所述的系统,其中所述计算装置是用户计算机。
9.如权利要求1所述的系统,其中至少部分地基于人类色差感知公式来确定所述最小维度颜色值或所述最大维度颜色值中的至少一个。
10.一种计算机实现的方法,其包括:
在配置有特定计算机可执行指令的硬件计算装置的控制下,
获得颜色的颜色搜索范围,所述颜色由n维颜色模型指定,对于所述n维颜色模型中的每个颜色维度,所述颜色搜索范围包括最小维度颜色值和最大维度颜色值;
计算一个或多个整数搜索范围,其中所述一个或多个整数搜索范围通过交织来自处于所述颜色搜索范围内的每个颜色维度的所述最小维度颜色值和所述最大维度颜色值的位来确定;
至少部分地基于搜索查询来启动对数据存储区的搜索,所述搜索查询包括作为搜索参数的所述一个或多个整数搜索范围,所述数据存储区包括与至少一个被索引的整数颜色值相关联的记录;以及
从所述数据存储区接收搜索结果,所述搜索结果包括与处于所述一个或多个整数搜索范围内的至少一个被索引的整数颜色值相关联的一个或多个记录。
11.如权利要求10所述的计算机实现的方法,其中所述n维颜色模型是RGB颜色模型。
12.如权利要求11所述的计算机实现的方法,其中交织位包括对红色二进制拆分范围、绿色二进制拆分范围和蓝色二进制拆分范围进行置换。
13.如权利要求12所述的计算机实现的方法,其中交织位包括以如下各项的重复模式进行排列:来自所述红色二进制拆分范围的红色位、来自所述绿色二进制拆分范围的绿色位、以及来自所述蓝色二进制拆分范围的蓝色位,其中所述红色位、所述绿色位和所述蓝色位是来自相同阶数的位,所述重复模式从最高阶位到最低阶位排列。
14.如权利要求10所述的计算机实现的方法,其中记录包括与处于所述一个或多个整数搜索范围内的一个或多个被索引的整数颜色值相关联的项目记录。
15.如权利要求10所述的计算机实现的方法,其中至少部分地基于人类色差感知公式来确定所述最小维度颜色值或所述最大维度颜色值中的至少一个。
16.一种存储计算机可执行指令的非暂时性计算机可读存储介质,所述计算机可执行指令在由处理器执行时执行包括以下各项的操作:
获得RGB颜色搜索范围,所述RGB颜色搜索范围包括最小红色值、最大红色值、最小绿色值、最大绿色值、最小蓝色值和最大蓝色值;
至少部分地基于所述最小红色值和所述最大红色值来计算一个或多个红色二进制拆分范围;
至少部分地基于所述最小绿色值和所述最大绿色值来计算一个或多个绿色二进制拆分范围;
至少部分地基于所述最小绿色值和所述最大绿色值来计算一个或多个蓝色二进制拆分范围;
至少部分地基于所述红色二进制拆分范围、所述绿色二进制拆分范围和所述蓝色二进制拆分范围的置换来生成一个或多个整数搜索范围,其中每个置换包括来自所述一个或多个红色二进制拆分范围中的一个红色二进制拆分范围的交织位、所述一个或多个绿色二进制拆分范围中的一个绿色二进制拆分范围的交织位和所述一个或多个蓝色二进制拆分范围中的一个蓝色二进制拆分范围的交织的位,
其中从最高维度阶数到最低维度阶数排列所述交织的位;以及
使用所述一个或多个整数搜索范围从数据存储区接收搜索结果,所述搜索结果包括与处于所述一个或多个整数搜索范围内的至少一个被索引的整数颜色值相关联的记录。
17.如权利要求16所述的非暂时性计算机可读存储介质,
其中通过确定所述最小红色值和所述最大红色值中的第一发散位来识别所述一个或多个红色二进制拆分范围的至少一部分;
其中通过确定所述最小绿色值和所述最大绿色值中的第二发散位来识别所述一个或多个绿色二进制拆分范围的至少一部分;并且
其中通过确定所述最小蓝色值和所述最大蓝色值中的第三发散位来识别所述一个或多个蓝色二进制拆分范围的至少一部分。
18.如权利要求16所述的非暂时性计算机可读存储介质,其中所述搜索结果包括与处于所述一个或多个整数搜索范围内的一个或多个被索引的整数颜色值相关联的对象记录。
19.如权利要求17所述的非暂时性计算机可读存储介质,其中所述对象记录是项目记录。
20.如权利要求18所述的非暂时性计算机可读存储介质,其中所述计算机可读存储介质对用户计算装置是可访问的。
21.如权利要求16所述的非暂时性计算机可读存储介质,其中至少部分地基于人类色差感知公式来确定所述最小红色值、所述最大红色值、所述最小绿色值、所述最大绿色值、所述最小蓝色值或所述最大蓝色值中的至少一个。
22.一种系统,其包括:
数据存储区,所述数据存储区被配置来存储一个或多个对象记录,每个对象记录与一种或多种RGB颜色相关联;以及
计算装置,所述计算装置包括一个或多个硬件处理器和存储计算机可执行指令的存储器,所述一个或多个硬件处理器被配置来执行所述计算机可执行指令以至少:
对于与所述数据存储区中的对象记录相关联的每种RGB颜色:
生成对应于一维颜色空间的整数颜色值,所述整数颜色值包括来自所述RGB颜色的红色维度值、绿色维度值和蓝色维度值的交织的位,所述交织的位从最高数量级到最低数量级进行排序;并且
当所述整数颜色值与所述RGB颜色相关联时,将所述整数颜色值存储在所述数据存储区中;并且
对所述数据存储区中的整数颜色值进行索引。
23.如权利要求22所述的系统,其中每个对象记录包括项目记录。

Claims (14)

1.一种系统,其包括:
存储器,所述存储器被配置来存储计算机可执行指令;以及
包括一个或多个硬件处理器的计算装置,所述计算装置与所述存储器通信并且被配置来执行所述计算机可执行指令以至少:
获得颜色的颜色搜索范围,所述颜色由n维颜色模型指定,对于所述n维颜色模型中的每个颜色维度,所述颜色搜索范围包括最小维度颜色值和最大维度颜色值;
对于所述颜色搜索范围的每个维度,至少部分地基于所述颜色搜索范围的对应颜色维度的所述最小维度颜色值和所述最大维度颜色值来计算一个或多个二进制拆分范围;
至少部分地基于每个维度的一个或多个二进制拆分范围的置换来生成一个或多个整数搜索范围,其中所述一个或多个整数搜索范围包括来自所述一个或多个二进制拆分范围的置换的交织位;
生成搜索查询,所述搜索查询包括作为搜索参数的所述一个或多个整数搜索范围;
至少部分地基于所述搜索查询来启动对处于所述一个或多个整数搜索范围内颜色的数据存储区的搜索,所述数据存储区包括与至少一个被索引的整数颜色值相关联的记录;并且
从所述数据存储区接收搜索结果,所述搜索结果包括与处于所述一个或多个整数搜索范围内的至少一个被索引的整数颜色值相关联的记录。
2.如权利要求1所述的系统,其中所述n维颜色模型是RGB颜色模型。
3.如权利要求2所述的系统,其中所述交织位包括对红色二进制拆分范围、绿色二进制拆分范围和蓝色二进制拆分范围进行置换。
4.如权利要求3所述的系统,其中所述交织位以如下各项的重复模式进行排列:来自所述红色二进制拆分范围的红色位、来自所述绿色二进制拆分范围的绿色位、以及来自所述蓝色二进制拆分范围的蓝色位,其中所述红色位、所述绿色位和所述蓝色位是来自相同阶数的位,所述重复模式从最高阶位到最低阶位排列。
5.如权利要求1所述的系统,其中所计算的一个或多个二进制拆分范围的至少一部分通过确定发散位来识别。
6.如权利要求1所述的系统,其中所述记录包括与处于所述一个或多个整数搜索范围内的一个或多个被索引的整数颜色值相关联的对象记录。
7.如权利要求1所述的系统,其中至少部分地基于人类色差感知公式来确定所述最小维度颜色值或所述最大维度颜色值中的至少一个。
8.一种计算机实现的方法,其包括:
在配置有特定计算机可执行指令的硬件计算装置的控制下,
获得颜色的颜色搜索范围,所述颜色由n维颜色模型指定,对于所述n维颜色模型中的每个颜色维度,所述颜色搜索范围包括最小维度颜色值和最大维度颜色值;
计算一个或多个整数搜索范围,其中所述一个或多个整数搜索范围通过交织来自处于所述颜色搜索范围内的每个颜色维度的所述最小维度颜色值和所述最大维度颜色值的位来确定;
至少部分地基于搜索查询来启动对数据存储区的搜索,所述搜索查询包括作为搜索参数的所述一个或多个整数搜索范围,所述数据存储区包括与至少一个被索引的整数颜色值相关联的记录;以及
从所述数据存储区接收搜索结果,所述搜索结果包括与处于所述一个或多个整数搜索范围内的至少一个被索引的整数颜色值相关联的一个或多个记录。
9.如权利要求8所述的计算机实现的方法,其中所述n维颜色模型是RGB颜色模型。
10.如权利要求9所述的计算机实现的方法,其中交织位包括对红色二进制拆分范围、绿色二进制拆分范围和蓝色二进制拆分范围进行置换。
11.如权利要求10所述的计算机实现的方法,其中交织位包括以如下各项的重复模式进行排列:来自所述红色二进制拆分范围的红色位、来自所述绿色二进制拆分范围的绿色位、以及来自所述蓝色二进制拆分范围的蓝色位,其中所述红色位、所述绿色位和所述蓝色位是来自相同阶数的位,所述重复模式从最高阶位到最低阶位排列。
12.如权利要求8所述的计算机实现的方法,其中记录包括与处于所述一个或多个整数搜索范围内的一个或多个被索引的整数颜色值相关联的项目记录。
13.如权利要求8所述的计算机实现的方法,其中至少部分地基于人类色差感知公式来确定所述最小维度颜色值或所述最大维度颜色值中的至少一个。
14.一种系统,其包括:
数据存储区,所述数据存储区被配置来存储一个或多个对象记录,每个对象记录与一种或多种RGB颜色相关联;以及
计算装置,所述计算装置包括一个或多个硬件处理器和存储计算机可执行指令的存储器,所述一个或多个硬件处理器被配置来执行所述计算机可执行指令以至少:
对于与所述数据存储区中的对象记录相关联的每种RGB颜色:
生成对应于一维颜色空间的整数颜色值,所述整数颜色值包括来自所述RGB颜色的红色维度值、绿色维度值和蓝色维度值的交织的位,所述交织的位从最高数量级到最低数量级进行排序;并且
当所述整数颜色值与所述RGB颜色相关联时,将所述整数颜色值存储在所述数据存储区中;并且
对所述数据存储区中的整数颜色值进行索引。
CN201580034625.2A 2014-06-26 2015-06-24 快速颜色搜索 Active CN107077474B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/315,700 2014-06-26
US14/315,700 US9996579B2 (en) 2014-06-26 2014-06-26 Fast color searching
PCT/US2015/037456 WO2015200502A1 (en) 2014-06-26 2015-06-24 Fast color searching

Publications (2)

Publication Number Publication Date
CN107077474A true CN107077474A (zh) 2017-08-18
CN107077474B CN107077474B (zh) 2020-10-16

Family

ID=53511023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580034625.2A Active CN107077474B (zh) 2014-06-26 2015-06-24 快速颜色搜索

Country Status (5)

Country Link
US (2) US9996579B2 (zh)
EP (2) EP3161677B1 (zh)
JP (1) JP6302575B2 (zh)
CN (1) CN107077474B (zh)
WO (1) WO2015200502A1 (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996579B2 (en) 2014-06-26 2018-06-12 Amazon Technologies, Inc. Fast color searching
US10049466B2 (en) 2014-06-26 2018-08-14 Amazon Technologies, Inc. Color name generation from images and color palettes
US10073860B2 (en) 2014-06-26 2018-09-11 Amazon Technologies, Inc. Generating visualizations from keyword searches of color palettes
US10120880B2 (en) 2014-06-26 2018-11-06 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10169803B2 (en) 2014-06-26 2019-01-01 Amazon Technologies, Inc. Color based social networking recommendations
US10186054B2 (en) 2014-06-26 2019-01-22 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10223427B1 (en) 2014-06-26 2019-03-05 Amazon Technologies, Inc. Building a palette of colors based on human color preferences
US10235389B2 (en) 2014-06-26 2019-03-19 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes
US10242396B2 (en) 2014-06-26 2019-03-26 Amazon Technologies, Inc. Automatic color palette based recommendations for affiliated colors
US10255295B2 (en) 2014-06-26 2019-04-09 Amazon Technologies, Inc. Automatic color validation of image metadata
US10402917B2 (en) 2014-06-26 2019-09-03 Amazon Technologies, Inc. Color-related social networking recommendations using affiliated colors
US10430857B1 (en) 2014-08-01 2019-10-01 Amazon Technologies, Inc. Color name based search
CN110347910A (zh) * 2019-05-28 2019-10-18 成都美美臣科技有限公司 一个电子商务网站搜索结果过滤规则
US10691744B2 (en) 2014-06-26 2020-06-23 Amazon Technologies, Inc. Determining affiliated colors from keyword searches of color palettes
US10831819B2 (en) 2014-09-02 2020-11-10 Amazon Technologies, Inc. Hue-based color naming for an image

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9898487B2 (en) 2014-06-26 2018-02-20 Amazon Technologies, Inc. Determining color names from keyword searches of color palettes
US9652868B2 (en) 2014-06-26 2017-05-16 Amazon Technologies, Inc. Automatic color palette based recommendations
US9245350B1 (en) 2014-06-26 2016-01-26 Amazon Technologies, Inc. Image-based color palette generation
US9177391B1 (en) 2014-06-26 2015-11-03 Amazon Technologies, Inc. Image-based color palette generation
US9792303B2 (en) 2014-06-26 2017-10-17 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and keyword trends
US9401032B1 (en) 2014-06-26 2016-07-26 Amazon Technologies, Inc. Image-based color palette generation
US9679532B2 (en) 2014-06-26 2017-06-13 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9922050B2 (en) 2014-06-26 2018-03-20 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and color palette trends
US9727983B2 (en) 2014-06-26 2017-08-08 Amazon Technologies, Inc. Automatic color palette based recommendations
US9542704B2 (en) 2014-06-26 2017-01-10 Amazon Technologies Inc. Automatic image-based recommendations using a color palette
US9659032B1 (en) 2014-06-26 2017-05-23 Amazon Technologies, Inc. Building a palette of colors from a plurality of colors based on human color preferences
US9633448B1 (en) 2014-09-02 2017-04-25 Amazon Technologies, Inc. Hue-based color naming for an image
KR102334077B1 (ko) 2014-12-01 2021-12-03 삼성전자주식회사 부착 기기 및 이의 전자 기기 제어 방법
US20230053999A1 (en) * 2020-05-11 2023-02-23 Siddharth Mohan Samel System and method to detect affiliated partners of an entity based on a query keyword

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1326160A (zh) * 2000-05-26 2001-12-12 Lg电子株式会社 颜色量化方法和使用该方法的多媒体搜索方法
CN1333976A (zh) * 1999-01-29 2002-01-30 三菱电机株式会社 图象特征编码方法以及图象检索方法
CN1898692A (zh) * 2003-11-06 2007-01-17 贝洱工艺有限公司 颜色协调方法和系统的数据结构
US7167856B2 (en) * 2001-05-15 2007-01-23 Jonathan Keir Lawder Method of storing and retrieving multi-dimensional data using the hilbert curve
US20080046410A1 (en) * 2006-08-21 2008-02-21 Adam Lieb Color indexing and searching for images
CN101216830A (zh) * 2007-12-28 2008-07-09 腾讯科技(深圳)有限公司 根据颜色搜索商品的方法和系统
US20110222062A1 (en) * 2008-02-01 2011-09-15 Palo Alto Research Center Incorporated Analyzers with time variation based on color-coded spatial modulation
CN102306179A (zh) * 2011-08-26 2012-01-04 上海冠勇信息科技有限公司 基于分级颜色分布描述符的图像内容检索方法
US20130136363A1 (en) * 2010-08-09 2013-05-30 Sk Planet Co., Ltd. Integrated image searching system and service method thereof
US20140105493A1 (en) * 2012-10-12 2014-04-17 Mediatek Inc. Image compression method and apparatus for encoding pixel data of frame into interleaved bit-stream, and related image decompression method and apparatus

Family Cites Families (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544284A (en) 1992-02-11 1996-08-06 Eastman Kodak Company Sequential product code quantization of digital color image
US5822503A (en) 1993-06-15 1998-10-13 Adobe Systems Incorporated Method of manipulating color EPS files
US5508718A (en) 1994-04-25 1996-04-16 Canon Information Systems, Inc. Objective-based color selection system
US6014125A (en) 1994-12-08 2000-01-11 Hyundai Electronics America Image processing apparatus including horizontal and vertical scaling for a computer display
US5684895A (en) * 1995-05-11 1997-11-04 Xerox Corporation Method for decoding a compressed image
US6445462B2 (en) 1996-04-08 2002-09-03 Canon Kabushiki Kaisha Output control method and apparatus, and output system
US6513014B1 (en) 1996-07-24 2003-01-28 Walker Digital, Llc Method and apparatus for administering a survey via a television transmission network
US6081276A (en) 1996-11-14 2000-06-27 International Business Machines Corporation Method and apparatus for creating a color name dictionary and for querying an image by color name
JP3598737B2 (ja) 1997-06-09 2004-12-08 富士ゼロックス株式会社 カラー画像転送処理装置及び方法、カラー画像復元処理装置及び方法、並びにカラー画像転送システム
US6518981B2 (en) 1997-11-12 2003-02-11 Canon Kabushiki Kaisha Generating and using a color palette
US6385336B1 (en) 1998-10-13 2002-05-07 Corel Corporation Image processing method and system for generating a palette
US6577759B1 (en) 1999-08-17 2003-06-10 Koninklijke Philips Electronics N.V. System and method for performing region-based image retrieval using color-based segmentation
US6859210B2 (en) 2001-07-06 2005-02-22 Eastman Kodak Company Method for representing a digital color image using a set of palette colors based on detected important colors
US6944331B2 (en) * 2001-10-26 2005-09-13 National Instruments Corporation Locating regions in a target image using color matching, luminance pattern matching and hue plane pattern matching
US20040054877A1 (en) * 2001-10-29 2004-03-18 Macy William W. Method and apparatus for shuffling data
US7444658B1 (en) 2001-12-14 2008-10-28 At&T Intellectual Property I, L.P. Method and system to perform content targeting
US7287222B2 (en) 2002-01-31 2007-10-23 Canon Kabushiki Kaisha Information processing apparatus and method that determines effectiveness of metadata for editing information content
WO2004027695A1 (en) 2002-09-20 2004-04-01 International Business Machines Coporation Color naming, color categorization and describing color composition of images
US7177470B2 (en) 2002-11-13 2007-02-13 Koninklijke Philips Electronics N. V. Method of and system for detecting uniform color segments
US7177474B2 (en) 2003-11-10 2007-02-13 Mobixell Networks Inc. Video to animation conversion with file size constraint
US20050149411A1 (en) 2003-11-11 2005-07-07 Colwell Felton T. System and method for creating individualized product and color palettes
US7460737B2 (en) 2004-02-12 2008-12-02 Hoshiko Llc Method and apparatus for photograph finding
US7945569B2 (en) 2004-03-31 2011-05-17 Hewlett-Packard Development Company, L.P. Method and apparatus for querying spatial data
JP4262646B2 (ja) 2004-07-28 2009-05-13 オリンパス株式会社 デジタルカメラ及び画像データ記録方法
US7136074B2 (en) 2004-08-02 2006-11-14 Master Colors Method and system of improved color selection
US20060066629A1 (en) 2004-09-30 2006-03-30 Microsoft Corporation System and method for color selection
US9137115B2 (en) 2004-12-06 2015-09-15 Bmc Software, Inc. System and method for resource reconciliation in an enterprise management system
EP1717565B1 (en) 2005-04-27 2008-11-12 X-Rite Europe GmbH Color selection method and system using semantic color names
US8456694B2 (en) 2005-05-06 2013-06-04 Hewlett-Packard Development Company, L.P. System and method for proofing a page for color discriminability problems based on color names
US7925650B2 (en) 2006-07-27 2011-04-12 Hewlett-Packard Development Company, L.P. Image management methods, image management systems, and articles of manufacture
US7848577B2 (en) 2006-07-27 2010-12-07 Hewlett-Packard Development Company, L.P. Image processing methods, image management systems, and articles of manufacture
US7751614B2 (en) 2005-05-16 2010-07-06 Fujifilm Corporation Album creating apparatus, album creating method, and album creating program
US7801893B2 (en) 2005-09-30 2010-09-21 Iac Search & Media, Inc. Similarity detection and clustering of images
US8762419B2 (en) 2005-10-31 2014-06-24 Hewlett-Packard Development Company, L.P. Lexical classification system with dynamic modifiers
JP2007286767A (ja) 2006-04-13 2007-11-01 Canon Inc 画像検索システム、及び、画像検索サーバ及びその制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
US7646392B2 (en) 2006-05-03 2010-01-12 Research In Motion Limited Dynamic theme color palette generation
US20080046424A1 (en) 2006-06-23 2008-02-21 Horton Richard B System and method of selecting images according to color content
US7961938B1 (en) 2006-06-30 2011-06-14 Adobe Systems Incorporated Finding and structuring images based on a color search
US8885236B2 (en) 2006-06-30 2014-11-11 Geoffrey J. Woolfe Natural language color communication and system interface
JP4835865B2 (ja) 2006-08-08 2011-12-14 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
US9047804B1 (en) 2006-12-22 2015-06-02 Hewlett-Packard Development Company, L.P. Lexical-based processing of color images
US8520888B2 (en) 2007-04-26 2013-08-27 Bell And Howell, Llc Apparatus, method and programmable product for identification of a document with feature analysis
US8612412B2 (en) 2007-05-24 2013-12-17 International Business Machines Corporation Searching for a directory in a file system
US20080301582A1 (en) 2007-05-29 2008-12-04 Tasteindex.Com Llc Taste network widget system
US7864189B2 (en) 2007-07-23 2011-01-04 Intel Corporation Converting color data to a color palette
US8577134B2 (en) 2007-08-07 2013-11-05 Yahoo! Inc. Method and system of facilitating search by color
US8627218B2 (en) 2007-08-24 2014-01-07 Creative Technology Ltd Host implemented method for customising a secondary device
US8527554B2 (en) 2007-12-14 2013-09-03 Microsoft Corporation Metadata retrieval for multi-function devices
US8688723B2 (en) 2007-12-21 2014-04-01 Hewlett-Packard Development Company, L.P. Methods and apparatus using range queries for multi-dimensional data in a database
JP2009181468A (ja) 2008-01-31 2009-08-13 Ntt Communications Kk 画像検索ログ収集システム、画像検索ログ収集方法、及びプログラム
US20090227375A1 (en) 2008-03-04 2009-09-10 Weisman Jordan K Method and apparatus for employing cell phones as video game controllers
US8032515B2 (en) 2008-03-26 2011-10-04 Ebay Inc. Information repository search system
JP2009251850A (ja) 2008-04-04 2009-10-29 Albert:Kk 類似画像検索を用いた商品推薦システム
US20090259567A1 (en) 2008-04-11 2009-10-15 Kimberly Watts System and Apparatus for Creating Customized Artwork at Point-of-Purchase
CN102007492B (zh) 2008-04-14 2016-07-06 Tp视觉控股有限公司 用于搜索多幅存储的数字图像的方法和设备
US8393002B1 (en) 2008-04-21 2013-03-05 Google Inc. Method and system for testing an entity
WO2009137830A2 (en) 2008-05-09 2009-11-12 Ltu Technologies S.A.S. Color match toolbox
US20100110455A1 (en) 2008-10-31 2010-05-06 Xerox Corporation Language based color selection method
US8406573B2 (en) 2008-12-22 2013-03-26 Microsoft Corporation Interactively ranking image search results using color layout relevance
US8510310B2 (en) * 2008-12-23 2013-08-13 Zhijing George Mou Method and system for multi-dimensional and geographic search
US8055687B2 (en) * 2009-01-20 2011-11-08 Hewlett-Packard Development Company, L.P. System and method for determining intervals of a space filling curve in a query box
US8416255B1 (en) 2009-05-22 2013-04-09 Adobe Systems Incorporated Methods and systems for using colors and color themes
US8606733B2 (en) 2009-12-07 2013-12-10 Xerox Corporation System and method for classification and selection of color palettes
US8775424B2 (en) 2010-01-26 2014-07-08 Xerox Corporation System for creative image navigation and exploration
US8576241B1 (en) 2010-02-03 2013-11-05 Amazon Technologies, Inc. Color palette maps for color-aware search
US8587604B1 (en) 2010-02-03 2013-11-19 Amazon Technologies, Inc. Interactive color palettes for color-aware search
US20110205231A1 (en) 2010-02-24 2011-08-25 Oracle International Corporation Mapping data in enterprise applications for operational visibility
CN102741900B (zh) 2010-03-03 2014-12-10 松下电器产业株式会社 道路状况管理系统及道路状况管理方法
US20110305386A1 (en) 2010-06-15 2011-12-15 Microsoft Corporation Color Indication Tool for Colorblindness
US20110319160A1 (en) 2010-06-25 2011-12-29 Idevcor Media, Inc. Systems and Methods for Creating and Delivering Skill-Enhancing Computer Applications
US8819076B2 (en) 2010-08-05 2014-08-26 Wavemarket, Inc. Distributed multidimensional range search system and method
US8532372B2 (en) 2010-08-19 2013-09-10 Thomas Youngman System and method for matching color swatches
US8553045B2 (en) 2010-09-24 2013-10-08 Xerox Corporation System and method for image color transfer based on target concepts
US8369616B2 (en) 2010-10-20 2013-02-05 Xerox Corporation Chromatic matching game
US8634640B2 (en) 2010-10-21 2014-01-21 Hewlett-Packard Development Company, L.P. Method and apparatus for selecting a color palette
US9336235B2 (en) 2010-11-03 2016-05-10 Verizon Patent And Licensing Inc. Location-based recommendations
US20130300761A1 (en) 2010-11-12 2013-11-14 Colormodules Inc. Method and system for color matching and color recommendation
WO2012071045A1 (en) 2010-11-26 2012-05-31 Hewlett-Packard Development Company, L.P. Method and system for creating a customized print
US8847973B2 (en) 2010-12-15 2014-09-30 Microsoft Corporation Automatic adjustment of computer interface colors using image processing
US8532377B2 (en) 2010-12-22 2013-09-10 Xerox Corporation Image ranking based on abstract concepts
US20120315009A1 (en) 2011-01-03 2012-12-13 Curt Evans Text-synchronized media utilization and manipulation
JP5724430B2 (ja) 2011-02-15 2015-05-27 カシオ計算機株式会社 情報検索装置およびプログラム
US20140089781A1 (en) 2011-03-17 2014-03-27 Designin, Inc. Color-based designs
JP5656722B2 (ja) 2011-04-11 2015-01-21 Kii株式会社 データ同期装置、データ同期システム、データ同期方法及びプログラム
JP5259894B1 (ja) 2011-08-05 2013-08-07 楽天株式会社 色名決定装置、色名決定方法、情報記録媒体、ならびに、プログラム
ES2681432T3 (es) 2011-08-05 2018-09-13 Rakuten, Inc. Dispositivo de determinación de color, sistema de determinación de color, procedimiento de determinación de color, medio de grabación de información y programa
US9083918B2 (en) 2011-08-26 2015-07-14 Adobe Systems Incorporated Palette-based image editing
KR20130033805A (ko) * 2011-09-27 2013-04-04 삼성디스플레이 주식회사 표시장치
US9014279B2 (en) 2011-12-10 2015-04-21 Avigdor Steinberg Method, system and apparatus for enhanced video transcoding
EP2804115B1 (en) * 2012-01-13 2019-08-07 Nec Corporation Index scan device and index scan method
JP5740318B2 (ja) 2012-01-30 2015-06-24 楽天株式会社 画像処理システム、画像処理方法、及びプログラム
US9436704B2 (en) * 2012-02-07 2016-09-06 Zencolor Corporation System for normalizing, codifying and categorizing color-based product and data based on a universal digital color language
US9047633B2 (en) 2012-02-07 2015-06-02 Zencolor Corporation System and method for identifying, searching and matching products based on color
US8600153B2 (en) 2012-02-07 2013-12-03 Zencolor Corporation System and method for normalization and codification of colors for dynamic analysis
US20130226659A1 (en) 2012-02-24 2013-08-29 Coldwater Creek, Inc. Systems, Methods, and Apparatus for Fashion and Apparel Color Forecasting
US8918881B2 (en) 2012-02-24 2014-12-23 Appthority, Inc. Off-device anti-malware protection for mobile devices
US8897552B2 (en) 2012-08-01 2014-11-25 Microsoft Corporation Setting an operating-system color using a photograph
US8873845B2 (en) 2012-08-08 2014-10-28 Microsoft Corporation Contextual dominant color name extraction
US8705140B2 (en) 2012-08-14 2014-04-22 Xerox Corporation Systems and methods for dynamic sharpness control in system using binary to continuous tone conversion
US8983616B2 (en) 2012-09-05 2015-03-17 Greatbatch Ltd. Method and system for associating patient records with pulse generators
WO2014070914A1 (en) 2012-10-30 2014-05-08 Stylyze Llc Automated color processing and selection platform
US10387938B2 (en) 2012-10-30 2019-08-20 Stylyze Llc Automated color processing and selection platform
US20150262549A1 (en) 2012-10-31 2015-09-17 Hewlett-Packard Development Company, L.P. Color Palette Generation
US9405734B2 (en) 2012-12-27 2016-08-02 Reflektion, Inc. Image manipulation for web content
US10496624B2 (en) * 2013-01-11 2019-12-03 Nec Corporation Index key generating device, index key generating method, and search method
US10055866B2 (en) 2013-02-21 2018-08-21 Dolby Laboratories Licensing Corporation Systems and methods for appearance mapping for compositing overlay graphics
US9582517B2 (en) 2013-03-14 2017-02-28 Shutterstock, Inc. Content based systems and methods for conducting spectrum color based image search
US9699375B2 (en) 2013-04-05 2017-07-04 Nokia Technology Oy Method and apparatus for determining camera location information and/or camera pose information according to a global coordinate system
US9292162B2 (en) 2013-04-08 2016-03-22 Art.Com Discovering and presenting décor harmonized with a décor style
US9262441B2 (en) 2013-05-09 2016-02-16 Idée Inc. Wildcard color searching
US9122958B1 (en) 2014-02-14 2015-09-01 Social Sweepster, LLC Object recognition or detection based on verification tests
US9508158B2 (en) 2014-03-24 2016-11-29 Apple Inc. Palette generation using user-selected images
US10692133B2 (en) 2014-03-28 2020-06-23 Rakuten, Inc. Color estimation device, color estimation method, and color estimation program
US10409822B2 (en) 2014-05-06 2019-09-10 Shutterstock, Inc. Systems and methods for presenting ranked search results
US9898487B2 (en) 2014-06-26 2018-02-20 Amazon Technologies, Inc. Determining color names from keyword searches of color palettes
US9245350B1 (en) 2014-06-26 2016-01-26 Amazon Technologies, Inc. Image-based color palette generation
US10169803B2 (en) 2014-06-26 2019-01-01 Amazon Technologies, Inc. Color based social networking recommendations
US9659032B1 (en) 2014-06-26 2017-05-23 Amazon Technologies, Inc. Building a palette of colors from a plurality of colors based on human color preferences
US9542704B2 (en) 2014-06-26 2017-01-10 Amazon Technologies Inc. Automatic image-based recommendations using a color palette
US10235389B2 (en) 2014-06-26 2019-03-19 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes
US10691744B2 (en) 2014-06-26 2020-06-23 Amazon Technologies, Inc. Determining affiliated colors from keyword searches of color palettes
US9996579B2 (en) 2014-06-26 2018-06-12 Amazon Technologies, Inc. Fast color searching
US9135719B1 (en) 2014-06-26 2015-09-15 Amazon Technologies, Inc. Color name generation from images and color palettes
US10073860B2 (en) 2014-06-26 2018-09-11 Amazon Technologies, Inc. Generating visualizations from keyword searches of color palettes
US9652868B2 (en) 2014-06-26 2017-05-16 Amazon Technologies, Inc. Automatic color palette based recommendations
US9311889B1 (en) 2014-06-26 2016-04-12 Amazon Technologies, Inc. Image-based color palette generation
US9679532B2 (en) 2014-06-26 2017-06-13 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9727983B2 (en) 2014-06-26 2017-08-08 Amazon Technologies, Inc. Automatic color palette based recommendations
US9514543B2 (en) 2014-06-26 2016-12-06 Amazon Technologies, Inc. Color name generation from images and color palettes
US9177391B1 (en) 2014-06-26 2015-11-03 Amazon Technologies, Inc. Image-based color palette generation
US9524563B2 (en) 2014-06-26 2016-12-20 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10255295B2 (en) 2014-06-26 2019-04-09 Amazon Technologies, Inc. Automatic color validation of image metadata
US10120880B2 (en) 2014-06-26 2018-11-06 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9401032B1 (en) 2014-06-26 2016-07-26 Amazon Technologies, Inc. Image-based color palette generation
US9792303B2 (en) 2014-06-26 2017-10-17 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and keyword trends
US9922050B2 (en) 2014-06-26 2018-03-20 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes and color palette trends
US9697573B1 (en) 2014-06-26 2017-07-04 Amazon Technologies, Inc. Color-related social networking recommendations using affiliated colors
US9785649B1 (en) 2014-09-02 2017-10-10 Amazon Technologies, Inc. Hue-based color naming for an image
US9633448B1 (en) 2014-09-02 2017-04-25 Amazon Technologies, Inc. Hue-based color naming for an image

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1333976A (zh) * 1999-01-29 2002-01-30 三菱电机株式会社 图象特征编码方法以及图象检索方法
CN1326160A (zh) * 2000-05-26 2001-12-12 Lg电子株式会社 颜色量化方法和使用该方法的多媒体搜索方法
US7167856B2 (en) * 2001-05-15 2007-01-23 Jonathan Keir Lawder Method of storing and retrieving multi-dimensional data using the hilbert curve
CN1898692A (zh) * 2003-11-06 2007-01-17 贝洱工艺有限公司 颜色协调方法和系统的数据结构
US20080046410A1 (en) * 2006-08-21 2008-02-21 Adam Lieb Color indexing and searching for images
CN101216830A (zh) * 2007-12-28 2008-07-09 腾讯科技(深圳)有限公司 根据颜色搜索商品的方法和系统
US20110222062A1 (en) * 2008-02-01 2011-09-15 Palo Alto Research Center Incorporated Analyzers with time variation based on color-coded spatial modulation
US20130136363A1 (en) * 2010-08-09 2013-05-30 Sk Planet Co., Ltd. Integrated image searching system and service method thereof
CN102306179A (zh) * 2011-08-26 2012-01-04 上海冠勇信息科技有限公司 基于分级颜色分布描述符的图像内容检索方法
US20140105493A1 (en) * 2012-10-12 2014-04-17 Mediatek Inc. Image compression method and apparatus for encoding pixel data of frame into interleaved bit-stream, and related image decompression method and apparatus

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10242396B2 (en) 2014-06-26 2019-03-26 Amazon Technologies, Inc. Automatic color palette based recommendations for affiliated colors
US10223427B1 (en) 2014-06-26 2019-03-05 Amazon Technologies, Inc. Building a palette of colors based on human color preferences
US10073860B2 (en) 2014-06-26 2018-09-11 Amazon Technologies, Inc. Generating visualizations from keyword searches of color palettes
US10120880B2 (en) 2014-06-26 2018-11-06 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US9996579B2 (en) 2014-06-26 2018-06-12 Amazon Technologies, Inc. Fast color searching
US10186054B2 (en) 2014-06-26 2019-01-22 Amazon Technologies, Inc. Automatic image-based recommendations using a color palette
US10049466B2 (en) 2014-06-26 2018-08-14 Amazon Technologies, Inc. Color name generation from images and color palettes
US10235389B2 (en) 2014-06-26 2019-03-19 Amazon Technologies, Inc. Identifying data from keyword searches of color palettes
US10169803B2 (en) 2014-06-26 2019-01-01 Amazon Technologies, Inc. Color based social networking recommendations
US10255295B2 (en) 2014-06-26 2019-04-09 Amazon Technologies, Inc. Automatic color validation of image metadata
US10402917B2 (en) 2014-06-26 2019-09-03 Amazon Technologies, Inc. Color-related social networking recommendations using affiliated colors
US11216861B2 (en) 2014-06-26 2022-01-04 Amason Technologies, Inc. Color based social networking recommendations
US10691744B2 (en) 2014-06-26 2020-06-23 Amazon Technologies, Inc. Determining affiliated colors from keyword searches of color palettes
US10430857B1 (en) 2014-08-01 2019-10-01 Amazon Technologies, Inc. Color name based search
US10831819B2 (en) 2014-09-02 2020-11-10 Amazon Technologies, Inc. Hue-based color naming for an image
CN110347910A (zh) * 2019-05-28 2019-10-18 成都美美臣科技有限公司 一个电子商务网站搜索结果过滤规则

Also Published As

Publication number Publication date
EP3161677A1 (en) 2017-05-03
US20180232414A1 (en) 2018-08-16
JP2017525025A (ja) 2017-08-31
US9996579B2 (en) 2018-06-12
EP3570532A1 (en) 2019-11-20
US20150379071A1 (en) 2015-12-31
CN107077474B (zh) 2020-10-16
WO2015200502A1 (en) 2015-12-30
EP3161677B1 (en) 2019-08-07
JP6302575B2 (ja) 2018-03-28

Similar Documents

Publication Publication Date Title
CN107077474A (zh) 快速颜色搜索
US10049466B2 (en) Color name generation from images and color palettes
US10255295B2 (en) Automatic color validation of image metadata
US10120880B2 (en) Automatic image-based recommendations using a color palette
US10691744B2 (en) Determining affiliated colors from keyword searches of color palettes
US10235389B2 (en) Identifying data from keyword searches of color palettes
US9396560B2 (en) Image-based color palette generation
US9741137B2 (en) Image-based color palette generation
US9552656B2 (en) Image-based color palette generation
US9135719B1 (en) Color name generation from images and color palettes
US9311889B1 (en) Image-based color palette generation
US9785649B1 (en) Hue-based color naming for an image
US20100110455A1 (en) Language based color selection method
JP5410514B2 (ja) X500データモデルをリレーショナル・データベースにマッピングするための方法
CN103839270B (zh) 一种图像匹配方法及装置
CN109508420A (zh) 一种知识图谱属性的清洗方法及装置
US10223427B1 (en) Building a palette of colors based on human color preferences
CN102955784B (zh) 一种基于数字签名对多个图像进行相似判断的设备和方法
CN107168968A (zh) 面向情感的图像色彩提取方法及系统
US10430857B1 (en) Color name based search
JP2005141776A (ja) 画像抽出装置および方法
CN106021228A (zh) 一种利用知识地形图进行文本分析的方法及系统
JP5501039B2 (ja) 医療機器の検索装置、医療機器の検索方法及び医療機器の検索システム
JP4968291B2 (ja) 画像処理装置
Huang et al. A modular image search engine based on key words and color features

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant