Abstract:
A modular device includes base and color sensing portions. The color sensing portion has a face, a controlled light source offset from the face to define an interior, the face configured to engage a target surface about a perimeter of the device housing wherein ambient light is restricted from entering the interior. A color sensor receives light reflected from the target surface and generates output signals representative of a surface color. The base portion communicates with the color sensor and a user device having a hosted program which generates a user interface enabling users to provide control input for the color sensor. The program further receives the output signals from the color sensing device and displays a first image of the detected color, and displays a second image of a user-selected color beside the first image. Color data values are further displayed corresponding to the difference between displayed colors.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
       [0001]    This application is a continuation under 35 U.S.C. §111(a) of International Patent Application No. PCT/US13/68305, filed Nov. 4, 2013, which further claims the benefit of U.S. Provisional Patent Application No. 61/721,940, filed Nov. 2, 2012. The disclosures of the above references are hereby incorporated by reference in their entirety. 
     
    
       [0002]    A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the reproduction of the patent document or the patent disclosure, as it appears in the U.S. Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
       BACKGROUND OF THE INVENTION 
       [0003]    An invention as set forth in the present disclosure relates generally to color sensors. More particularly, this invention relates to a device, system and method for enabling accurate wireless color sensing, storage and comparison of color information for the full range of colors in the visible spectrum. 
         [0004]    Designers, painters, contractors, photographers, and, in general, anyone interested in looking for an accurate color information may find the current range of color measurement tools to be limited, bulky, or lacking in convenience. 
         [0005]    It would be desirable to provide a sensor that a person can take with themselves anywhere, scan a color, obtain accurate color information, and automatically store the color information on a mobile computing device that the user will always have available (such as for example an iPhone or Android device). 
       BRIEF SUMMARY OF THE INVENTION 
       [0006]    A color sensing device according to the present disclosure enables accurate wireless color sensing, storage, and comparison of color information for the full range of colors in the visible spectrum. Color information and user interface is controlled wirelessly from the sensor by a smartphone/smart device (such as an Apple iPhone, Apple iPad, or Android device) over a Bluetooth connection. 
         [0007]    By making use of sensors and illumination separately from the user interface and color specific software, the present disclosure enables features unique to the color sense arena. 
         [0008]    One exemplary aspect of a device and system according to the present disclosure may include a hardware design which includes a controlled, known light source and isolation from outside light. 
         [0009]    Another exemplary aspect of the present disclosure may include the ability to control LEDs (turn off/on/various light levels) to enable measurement of color from emissive light sources, measurement of color from color samples using reflective light, and managing varying reflectivity. 
         [0010]    Another exemplary aspect of the present disclosure may include color computation offloaded from the color sensor device, and performed remotely in the smartphone application. 
         [0011]    Another exemplary aspect of the present disclosure may include the ability to get a color reading showing information in CIE XYZ (Tristimulus), CIE L*a*b*, RGB, and other formats as are known in the art via mathematical conversion based on a priori calibration using the MacBeth ColorChecker. 
         [0012]    Another exemplary aspect of the present disclosure may include the ability to store thousands of color readings (meaning a user could store readings from an entire designer color sample book). 
         [0013]    Yet another exemplary aspect of the present disclosure may include the ability to label or rename any color reading, and store color readings into customizable color collections. 
         [0014]    Yet another exemplary aspect of the present disclosure may include the ability to get a graphical view of what a color may look like in different lighting conditions. 
         [0015]    Still other exemplary aspects of the present disclosure may include the ability to compare a scanned color against other stored colors, or more specifically: the ability to have a visual side by side view of the color comparison and/or the ability to see CIE DeltaE measurements showing the exact color difference between two colors. 
         [0016]    Another exemplary aspect of the present disclosure may include the ability to send color information as obtained or determined according to aspects otherwise described above via email or social media to other people (or more particularly, to devices or systems associated with other people). 
         [0017]    Another exemplary aspect of the present disclosure may include the ability for users to fully customize their own software interface to the system as the system is provided with an open application programming interface (API). 
         [0018]    Another exemplary aspect of the present disclosure may include the ability to verify the base module and the color sensing module are stationary for accurate measurements by using a motion sensor active within the base module, to which the color sensing module is connected. 
         [0019]    Another exemplary aspect of the present disclosure may include the ability to accurately measure colors based on the ambient temperature. This is made possible using the base module (or host module) connected to two peripheral modules: the color sensing module and a temperature sensing module. The temperature sensing module measures ambient air temperature, while the color sensing module measures color. Color sensors are generally temperature sensitive, but by implementing a temperature sensing module, it is possible to accurately measure color in varying temperature environments. 
     
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS 
         [0020]      FIG. 1  is a diagram representing an exemplary color sensing system implementing a color sensing device. 
           [0021]      FIG. 2  is an isometric view of the exemplary color sensing device represented in  FIG. 1 . 
           [0022]      FIG. 3  is a broken interior side view of a color sensing module from the device of  FIG. 1 . 
           [0023]      FIG. 4  is a perspective view of the exemplary color sensing device represented in  FIG. 1 , having first and second sensing modules detached from opposing ends of the base module. 
           [0024]      FIG. 5  is a flowchart representing an exemplary method for implementing a color sensing system according to the present disclosure. 
           [0025]      FIGS. 6   a  to  6   e  represent various user interfaces as may be generated on a display unit of a user computing device by program instructions associated with a host system according to the present disclosure. 
           [0026]      FIG. 7  is a flowchart representing an exemplary calibration method for a color sensing system according to the present disclosure. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0027]    Throughout the specification and claims, the following terms take at least the meanings explicitly associated herein, unless the context dictates otherwise. The meanings identified below do not necessarily limit the terms, but merely provide illustrative examples for the terms. The meaning of “a,” “an,” and “the” may include plural references, and the meaning of “in” may include “in” and “on.” The phrase “in one embodiment,” as used herein does not necessarily refer to the same embodiment, although it may. 
         [0028]    Referring generally to  FIGS. 1-7 , a color sensing device, system and method according to the present disclosure may now be described in greater detail. Where the various figures may describe embodiments sharing various common elements and features with other embodiments, similar elements and features are given the same reference numerals and redundant description thereof may be omitted below. 
         [0029]    An exemplary color sensing system  10  as represented in  FIG. 1  may include without limitation a color sensing device  12  formed by a combination of a base module  14  and at least a color sensing module  16 , and a computer program product  20 . The program product (i.e., program instructions) may reside generally on a computer readable medium of a user computing device (e.g., typically a mobile computing device such as a smartphone or tablet computer, but also including a desktop computer, etc.) remote from the aforementioned modules or otherwise accessible by and executable from the mobile computing device. As further described below, the program product may be downloadable from a host server (not shown) to the user computing device in its entirety, or in various embodiments may be a distributed program product including one or more program modules executable from the user computing device  18  and one or more program modules executable from the host server via a communications network  26 . 
         [0030]    The term “communications network” as used herein with respect to data communication between two or more parties or otherwise between communications network interfaces associated with two or more parties may refer to any one of, or a combination of any two or more of, telecommunications networks (whether wired, wireless, cellular or the like), a global network such as the Internet, local networks, network links, Internet Service Providers (ISP&#39;s), and intermediate communication interfaces. 
         [0031]    A color sensing device  12  of the present disclosure may be defined by the color sensing module  16  alone or a combination of the base  14  and color sensing modules  16  via direct coupling of the color sensing module  16  to the base module  14 . In an embodiment, the base module enables remote communications to and from the color sensing module with respect to the user computing device  18 . The base module may further define a base, processing unit, communications interface and/or power supply for any one or more of a plurality of sensing modules that may be detachably coupled to the base module at any given time. 
         [0032]    In one embodiment, the color-sensing module  16  may be a Chroma™ sensor module selected from a family of sensor modules offered by Variable, Inc. for use with a base module (or host module), which may be a NODE™ device also as offered by Variable, Inc. 
         [0033]    Referring generally now to  FIGS. 2-4 , an example of the color-sensing module  16  includes a color sensor  34 , a light source  36  for illuminating a target surface of interest and a housing  30  which may be defined in part by a face  32  shaped to engage the target surface about a perimeter of the housing  30 , while the light source is offset from a plane defined by the face of the housing so as to define an interior  46  within the perimeter. When the face is disposed to engage the target surface, the housing may thereby be effective to restrict (ideally, to prevent) ambient light and otherwise enable only light radiated from the light source  36  and reflected back from the target surface of interest to be received by the color sensor  34 . 
         [0034]    The light source  36  may include a plurality of (e.g., eight) light-emitting diodes (LEDs)  36  that provide or otherwise collectively define a controlled 6500 Kelvin light source to shine on a color sample. A clear cover  38  over the LEDs may be provided in order to reduce glare and focus light on the target surface of interest. A black plastic shroud around the outside of the module may be provided to block out ambient light and prevents scratches of the colored surface of interest. 
         [0035]    The color sensor  34  may in an embodiment comprise a color sensor chip that further includes a color sensing array of photodiodes with red, green, blue, clear, etc. The color sensor  34  may be mounted on a circuit board  40  having appropriate circuitry and/or programming in conjunction with the color sensor effective for controlling gain, pre-scaler, and integration time—all of which may typically be used for fine-tuning the sensor for a given environment. A rubber cover  48  with for example a 1.0 mm to 1.59 mm aperture hole  44  may be provided to further allow only reflected light from a color sample in to the color sensor array. A clear epoxy lens  50  on the rubber cover  48  may be provided in order to isolate the sensor from dust, moisture, and other external elements while still allowing light in for accurate color measurement. 
         [0036]    In an embodiment, the color sensing module  16  further comprises a CryptoAuthentication chip or an equivalent as known in the art, which enables restricting use of the color sensing module  16  with respect to the base module  14  or any other proprietary system as desired. This chip may also further enable storage of unique calibration information for each color sensing device  12 . 
         [0037]    The color sensing module  16  may further include an electrical connector  54  enabling easy, fast interchanging of the color sensor module  16  to a corresponding connector  52  for the base module  14 . 
         [0038]    As previously noted, the base module  14  may in one embodiment be a NODE unit as offered by Variable, Inc. The base module  14  in this embodiment is an intermediate hardware component with a microprocessor and communication peripherals that handle Bluetooth communication with a user device  18  such as a smartphone or the like. As represented in  FIG. 4 , for example, different sensing modules, including for example Chroma, can be connected to the base module  14  and may be structurally interchangeable with each other, or in other words may be interchangeably connected to respective first and second base module connectors  52  while maintaining distinct sensing functions. 
         [0039]    In one embodiment, the color sensing device  12  may include a color sensing module  16  and a base module  14  having associated motion sensing functionality. A color sensing method of the present disclosure may accordingly only be enabled when the base module verifies that the color sensing device is stationary and thereby assure more accurate color measurements. 
         [0040]    In one embodiment, the color sensing device  12  may include a color sensing module  16  and an air temperature sensing module (not shown) both interchangeably connectable to either of a plurality of connection ports on the base module  14 , wherein the color sensing system may have an enhanced color measurement method based further upon a sensed ambient temperature. In a particular embodiment, the temperature sensing module is a Clima device as offered by Variable, Inc. which is further effective to sense barometric pressure, ambient light, humidity, etc., representative outputs for each of which may supplement color measurements or otherwise be displayed on the user device. 
         [0041]    The computer program product of a color sensing system  10  of the present disclosure may typically comprise computer instructions residing on a non-transitory computer-readable medium in a computing device such as for example a smart phone or tablet computer. Alternatively, the computer program product may reside in a non-transitory computer-readable medium such as a server system remote from the computing device but communicatively linked to the computing device such that execution of the computer program product directs the performance of a color sensing, storage and comparison method according to the present disclosure, at least part of which includes steps for generating a user interface on a display of the computing device and receiving user input regarding, e.g., various display parameters. 
         [0042]    In an exemplary embodiment, the computer program product may be or include the Chroma smartphone application as provided by Variable, Inc., which enables many unique features including base module (i.e., NODE) connectivity, color sensing, color display, color comparison, color information storage, history lookup, and others as listed in the sections below. Five preliminary screenshots of program functionality are represented by reference to  FIGS. 6   a  through  6   e.    
         [0043]      FIG. 6   a  demonstrates a first exemplary user interface  61  wherein the system may identify a device according to its current functionality according to a determined “pairing” of a base module and the one or more coupled sensing modules. The interface may for example include a “Refresh” tab  611 , one or more display portions identifying device pairings  612 , and an “Unpair” tab  613 . 
         [0044]      FIG. 6   b  demonstrates a second exemplary user interface  62  wherein a user is enabled to select tabs  621  associated with light conditions such as “Daylight”, “Horizon”, “Fluorescent” and “Tungsten.” In accordance with the user selection, the system may direct the lighting output from the light source in the color sensing module at an associated power level. 
         [0045]      FIG. 6   c  demonstrates a third exemplary user interface  63  wherein a color history may be extracted from a hosted data storage network, data repository, etc., and made accessible via user selection from a displayed list including color data identifiers. The identifiers may be associated with historical results associated with the user or predefined colors and associated characteristics for appropriate comparison with current observed results. 
         [0046]      FIG. 6   d  demonstrates a fourth exemplary user interface  64  wherein a first color  641  (e.g., representing an observed color via the color sensing module) may be displayed alongside a second color  642  (representing a selected color, e.g., via user selection from a catalog of colors or as directly entered according to a corresponding color code or value). A value  643  representing a similarity or difference between the first and second colors  641 ,  642  may be generated by the system in a manner further described below and displayed. 
         [0047]      FIG. 6   e  demonstrates a fifth exemplary user interface  65  wherein a similarity or difference between the first and second colors may be represented with additional data in a number of forms which may in various embodiments be user-selectable. 
         [0048]    An exemplary color sensing method according to the present disclosure may include an algorithm for sensor calibration using a priori estimation. Thanks to the linearity of the color sensing chip used in various embodiments of the present disclosure (including the Chroma color sensing module), an a priori sensor calibration algorithm  700  as represented in  FIG. 7  enables the sensor to detect the tristimulus coordinates of colors with an average accuracy of 0.6%. 
         [0049]    In accordance with one example of the method  700 , known MacBeth CIE Lab values are converted to CIE XYZ Tristimulus (XYZ) values, which at this stage are all based on d50 light (step  701 ). Chromatic adaptation of these values is performed (step  702 ) by converting them to d65 reference light using a transformation method, for example a Bradford transform as is known in the art. The color sensing module of the present disclosure then generates raw red, green and blue sensor measurements (step  703 ) from a MacBeth ColorChecker (a color rendition chart as known in the art for use as a calibration target). The host system generates a sensor to CIE Tristimulus (XYZ) matrix (step  704 ) which may be used for converting future output values from the color sensor into CIE Tristimulus values a priori. For that purpose, the generated tristimulus matrix is stored to memory such as for example a CryptoAuthentication chip in the color sensing module. 
         [0050]    Alternatively or in addition to the a priori estimation process as represented in  FIG. 7 , a color sensing calibration process may be conducted using a hosted database. Because of the consistency of Chroma&#39;s color sensing (consistent to within 0.2% sensor readings for samples it has seen before) thanks to the use of a precise sensor and an isolated environment for light, a database of known color sense values can be created (and stored on a smartphone or on a remote server and accessible via , e.g., the Internet) and compared against with high accuracy. Thanks to the large memory available on smartphones for a color sample history, this method can be used for a very large number of color samples. 
         [0051]    An exemplary color measurement algorithm according to an embodiment of a color sensing method of the present disclosure may be described as follows. An operation of the computer program product residing upon or otherwise executable in association with the user&#39;s computing device is as represented in the flowchart of  FIG. 5 . 
         [0052]    First, the color sensing module (for the purposes of this exemplary description, the Chroma module) is coupled to the base module (e.g., NODE) and the device is powered on (step  501 ). The computer program product such as the Chroma smart phone application (as executed from, e.g., an iPhone) may then be initiated by the user and subsequently “pair” (i.e., connect using for example Bluetooth technology via the communications network) with the color sensing device (step  502 ). The program product enables the user via a series of user interfaces to view a list of colors such as for example a history of previously scanned colors or to request a new color scan (step  503 ). 
         [0053]    If the user requests a new color scan, the hosted software library on the iPhone sends a request over a communications network incorporating, e.g., Bluetooth technology and specifying the gain, prescaler, integration time, and LED (on/off/strength) settings. The base module&#39;s processor receives the Bluetooth command and sends the appropriate commands to the color sensing module. The base module may read back red, green, blue, and clear sense values from the color sensor module along with that specific color sensing module&#39;s calibrated sensor to tristimulus matrix from, e.g., the CryptoAuthentication chip. The calibration matrix and raw sense values are sent over the wireless communications network (e.g., Bluetooth) to the smartphone application, where they are mathematically converted via one or more formats known in the art including but not limited to CIE XYZ, CIE L*a*b*, sRGB values for initial display and comparison. 
         [0054]    When the user requests a defined color view (step  504 ), the program product generates an appropriate interface wherein the user is enabled to select a color from for example a stored scan history, label or rename color readings or values, select individual colors for viewing, define and store personalized color collections from the color history, etc. Generally, a user may have previously downloaded and stored color values from, for example, a designer color sample book or the like as is known in the art, for the purpose of later selection and comparison against current color measurements. 
         [0055]    As represented in step  505 , colors may be viewed in their basic form (i.e., previewed) or in advanced form (colors with details in different text representations) or in a comparison view wherein a first color associated with a current scan and measurement may be displayed side-by-side with at least a second color as selected by the user from data storage, along with associated details regarding a similarity or difference between the respective colors (e.g., using CIE DeltaE measurements). 
         [0056]    In various embodiments, the user may further select one or more of a plurality of lighting conditions, wherein the first and at least second color are displayed in accordance with the selected lighting condition, or only a first color may be displayed in accordance with a plurality of selected lighting conditions, etc. 
         [0057]    Depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the algorithm). Moreover, in certain embodiments, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. 
         [0058]    The various illustrative logical blocks, modules, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure. 
         [0059]    The various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. 
         [0060]    The steps of a method, process, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of computer-readable medium known in the art. An exemplary computer-readable medium can be coupled to the processor such that the processor can read information from, and write information to, the memory/storage medium. In the alternative, the medium can be integral to the processor. The processor and the medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the medium can reside as discrete components in a user terminal. 
         [0061]    Conditional language used herein, such as, among others, “can,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or states. Thus, such conditional language is not generally intended to imply that features, elements and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or states are included or are to be performed in any particular embodiment. 
         [0062]    The previous detailed description has been provided for the purposes of illustration and description. Thus, although there have been described particular embodiments of an invention as set forth herein, it is not intended that such references be construed as limitations upon the scope of this invention except as set forth in the following claims.