Patent Document

FIELD OF DISCLOSURE 
       [0001]    The claimed subject matter relates generally to the display of images and, more specifically, to a techniques for providing metadata in conjunction with a visual representation of an object without changing the visual representation of object. 
       BACKGROUND OF THE INVENTION 
       [0002]    Many objects include, either on the surface or on labels attached to the surface, a code that provides information on the object Examples include, but are not limited to, a bar code and a Quick Response (QR) code, also known as a 2D code. Information stored in such codes may include such data as a description of the corresponding physical object, the year that the object was made, the material used, a manufacturer and so on. These codes are typically read by a scanner, a mobile telephone or other objects. However, when a picture is take of an object with such an attached code, the code is included in the captured image. 
         [0003]    “Invisible” ink, also known as “security” ink, is a substance used for printing that is not normally visible in the visual light speculum Such ink is typically only visible when illuminated by a high, intensity light in a non-visual light spectrum such as, but not limited to, ultraviolet and infrared wavelengths. In addition, some types of viewing devices may be employed to view invisible ink, either with or without any special illumination. Invisible ink has been used to store metadata and confidential data in documents. 
       SUMMARY 
       [0004]    Provided are techniques for the placement of a code on an object that does not interfere and is not displayed in a captured visual image of the object. Also provided are techniques for capturing a first image of an object in the visual light spectrum; capturing a second image of the object in a non-visual light spectrum; extracting metadata, stored in the non-visual light spectrum corresponding to the object from the second image; and storing the first image in conjunction with the metadata. Also provided are techniques for storing the metadata in conjunction with the object in the non-visual light spectrum, wherein the metadata is stored in a quick response (QR) code or a bar code and the non-visible light spectrum is ultraviolet light or infrared light. 
         [0005]    This summary is not intended as a comprehensive description of the claimed subject matter but, rather, is intended to provide a brief overview of some of the functionality associated therewith. Other systems, methods, functionality, features and advantages of the claimed subject matter will be or will become apparent to one with skill in the art upon examination of the following figures and detailed description. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0006]    A better understanding of the claimed subject matter can be obtained when the following detailed description of the disclosed embodiments is considered in conjunction with the following figures, in which: 
           [0007]      FIG. 1  is a block diagram of a camera that may implement aspects of the claimed subject matter. 
           [0008]      FIG. 2  is a block diagram of a one example of circuitry associated with the camera of  FIG. 1 . 
           [0009]      FIG. 3  is a block diagram of Image Augmentation Circuitry (IAL), first introduced in conjunction with  FIG. 2 . 
           [0010]      FIG. 4  is a flowchart of one example of a Capture Image process that may implement aspects of the claimed subject matter. 
       
    
    
     DETAILED DESCRIPTION 
       [0011]    As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon. 
         [0012]    Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium ma be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. 
         [0013]    A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. 
         [0014]    Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing. 
         [0015]    Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like and conventional procedural programming languages, such as the “C” programming language or similar programming languages. The program code may execute entirely on the user&#39;s computer, partly on the user&#39;s computer, as a stand-alone software package, partly on the user&#39;s computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user&#39;s computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). 
         [0016]    Aspects of the present invention are described below with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
         [0017]    These computer program instructions may also be stored in a computer readable medium that can direct a computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. 
         [0018]    The computer program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational actions to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
         [0019]      FIG. 1  is a block diagram of a camera  102  that may implement aspects of the claimed subject matter. Camera  102  is coupled to two (2) light sources, of “flashes,” i.e. as LS_ 1   104  and a LS_ 2   106 . LS_ 1   104  and LS_ 2   108  both produce illumination so that camera  102  may capture an image of an object, which in this example is a statue  108  that fall within sight lines  119  of camera  102 . LS_ 1   104  produces illumination in a visible light spectrum, or simply “visual spectrum,” and LS_ 2   106  produces illumination in a non-visual light spectrum, or simply “non-visual spectrum,” such as, but not limited to, the ultraviolet or infrared wavelengths. 
         [0020]    It should be understood that although the disclosed technology is described with respect to two different light sources, either none or one light sources may be employed. For example, one or more sensors may be sensitive enough to their respective spectrums that no illumination is required to capture an image. A sensor that is sensitive to visual light may not need a flash in some situations. In a similar fashion, a sensor sensitive to the non-visual light spectrum may be used, either with or without a corresponding flash. 
         [0021]    Statue  108  has two (2) labels, i.e., a bar code  112  and a Quick Response (QR) code  114 . Bar code  112  and QR code  114  are configured to be visible in the non-visual light spectrum and “invisible” in the visual light spectrum. In other words, bar code  112  and QR code  114  are printed with “invisible” ink. In accordance with the claimed subject matter, LS_ 1   104  is employed by camera  102  to capture a first image of statue  108  in the visual spectrum and LS_ 2   106  is employed to capture a second image in the non-visual spectrum. The relationship between camera  102  and codes  112  and  114  is explained in more detail below in conjunction with  FIGS. 2 and 3 . 
         [0022]      FIG. 2  is a block diagram of a one example of camera circuitry, or simply “circuitry,”  150  that may associated with camera  102  of  FIG. 1 . Light reflected from an object, which in this example is statue  108  ( FIG. 1 ), is captured by a sensor  152 . Sensor  152  transmits a signal to a signal processor  154 , which, after processing the signal, transmits a digital signal corresponding to the captured image to an image processor  156 . In accordance with the claimed subject matter, image processor  156  includes Image Augmentation Logic (IAL)  157 . Although illustrated in conjunction with image processor  156 , all or parts of IAL  157  may be implemented as one or more separate components of camera  102 . Some processing associated with IAL  157  may even be configured to take place on devices other than camera  102  in a post processing configuration. Processing associated with IAL  155  is described in more detail below in conjunction with  FIG. 3 . Image processor  156  is controlled by a microcontroller  158  and a timing generator  160  and in turn controls motor controllers  162 . Motor controllers  162  control mechanical aspects of camera  102 , such as, but not limited to. LS_ 1   104  ( FIG. 1 .), LS_ 2   106  ( FIG. 1 ) and a shutter (not shown) that allows light to hit sensor  152 . 
         [0023]    Timing generator  160  signals a sensor driver  162  that is used to control image capture timing by sensor  152  and coordinates activities of Sensor  152  and signal processor  154 . Also coupled to sensor  152  is an auxiliary (aux.) video input  166  that enables sensor  152 , and therefore camera  102 , to capture video images as well as still images. It should be understood that circuitry  150  is used for the purposes of illustration only and that a typical digital camera would be much more complex with either additional or different components. In addition, the claimed subject matter is also applicable to other types of image capture devices such as, but not limited to, video cameras. 
         [0024]      FIG. 3  is a block diagram of IAL  157 , described above in conjunction with  FIG. 2 , in greater detail. IAL  157  includes an input/output (I/O) module  172 , a data module  174 , a metadata extraction module (MEM)  176  and an image combining module (ICM)  178 . It should be understood that the claimed subject matter can be implemented in many types of software and circuitry but, for the sake of simplicity, is described only in terms of camera  102  ( FIG. 1 ) and IAL.  157 . Further, the representation of IAL  157  in  FIG. 3  is a logical model. In other words, components  172 ,  174  and  178  may be implemented in software or hardware and configured in many types of devices and configurations, as will be apparent to one with skill in the relevant arts. 
         [0025]    I/O module  140  handles any communication IAL  157  has with other components of camera  102 . Data module  172  stores information that IAL  157  requires during normal. operation. Examples of the types of information stored in data module  172  include image storage  182 , metadata storage  184 , option data  186  and processing logic  188 . Image storage  182  provides storage for both images captured in the visible spectrum, the corresponding image in the non-visible spectrum and the processed image in the visible image that includes information extracted from codes  112  and  114 . Metadata storage  184  stores information extracted from codes  112  and  114 . Option data  186  stores information that control the operation of IAL  157 , including, but not limited to, storage locations and file storage formats. Processing logic  188  stores the code that controls the operation of IAL  157 , subject to the configuration parameters stored in option data  186 . 
         [0026]    Metadata Extraction module  144  extracts information referenced by codes on objects, which in the following example includes the information on bar code  112  and QR code  114  on object  108  as captured by camera  102  in the non-visible spectrum. Image combining module (ICM)  178  takes this information extracted by MEM  174  and associates the information with the corresponding image in the visible spectrum. The image in the visible spectrum is than stored in image storage  182 . 
         [0027]      FIG. 4  is a flowchart of one example of a Capture Image process  200  that may implement aspects of the claimed subject matter. In this example, process  200  is associated with logic stored in processing logic  188  ( FIG. 3 ) of IAL  157  ( FIGS. 2 and 3 ) and executed on elements of camera circuitry  150  ( FIG. 2 ). 
         [0028]    Process  200  starts in a “Begin Capture Image” block  202  and proceeds immediately to a “Capture Image_ 1 ” block  204 . During processing associated with block  204 , a first image, in the visible light spectrum, is captured by camera  102  ( FIG. 1 ). Depending upon the amount of ambient visible light, LS_ 1   104  ( FIG. 1 ) may or may not be used to illuminate the scene of which a picture is taken. In this example, a user is taking a picture of statue  108  ( FIG. 1 ). During processing associated with a “IAL Enabled?” block  206 , a determination is made as to whether or not IAL  157  has been enabled for this particular picture, or “shot.” If so, control proceeds to a “Capture Image_ 2 ” block  208 . During processing associated with block  208 , a second image, in a non-visible light spectrum, is taken. Like the shot with respect to the first image. Depending upon the amount of ambient non-visible light. LS_ 2   106  ( FIG. 1 ) may or may not be used to illuminate bar code  112  ( FIG. 1 ) and QR code  114  ( FIG. 1 ), which are the target a this particular shot. 
         [0029]    During processing associated with an “Extract Metadata” block  210 , metadata associated with bar code  112  and QR code  114  are extracted. The data may actually be stored in bar code  112  and/or QR code  114  or codes  112  and/or  114  may simply provide a cite to a location where the corresponding data is stored. During processing associated with an “Associate Metadata (MD.) with Image_ 1 ” block.  212 , the metadata extracted from the second image during processing associated with block  210  is associated with the first image shot during processing associated with block  208 . Once the metadata has been associated with the first image during processing associated with block  212  or, if, during processing associated with block  206 , a determination is made that IAL  157  is not enabled, control proceeds to a “Save Image_ 1 ” block  214 . 
         [0030]    During processing associated with block  214 , the first image shot during processing associated with block  204  is saved in image storage  182  and, if IAL  157  has been enabled, the extracted metadata is stored in metadata storage  184  so that the stored metadata may be associated with the first image. Finally, control proceeds to an “End Capture Image” block  219  and process  200  is complete. 
         [0031]    The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an” and the are intended to include the plural limns as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof. 
         [0032]    The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations ill be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. 
         [0033]    The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order rioted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.

Technology Category: 5