Data capture and identification system and process

Information

  • Patent Grant
  • 9578107
  • Patent Number
    9,578,107
  • Date Filed
    Thursday, February 5, 2015
    9 years ago
  • Date Issued
    Tuesday, February 21, 2017
    7 years ago
Abstract
An identification method and process for objects from digitally captured images thereof that uses data characteristics to identify an object from a plurality of objects in a database. The data is broken down into parameters such as a Shape Comparison, Grayscale Comparison, Wavelet Comparison, and Color Cube Comparison with object data in one or more databases to identify the actual object of a digital image.
Description
FIELD OF THE INVENTION

The invention relates an identification method and process for objects from digitally captured images thereof that uses data characteristics to identify an object from a plurality of objects in a database.


BACKGROUND OF THE INVENTION

There is a need to identify an object that has been digitally captured from a database of images without requiring modification or disfiguring of the object. Examples include:


identifying pictures or other art in a large museum, where it is desired to provide additional information about objects in the museum by means of a mobile display so that the museum may display objects of interest in the museum and ensure that displays are not hidden or crowded out by signs or computer screens;


establishing a communications link with a machine by merely taking a visual data of the machine; and


calculating the position and orientation of an object based on the appearance of the object in a data despite shadows, reflections, partial obscuration, and variations in viewing geometry, or other obstructions to obtaining a complete image. Data capture hardware such as a portable telephones with digital cameras included are now coming on the market and it is desirable that they be useful for duties other than picture taking for transmission to a remote location. It is also desirable that any identification system uses available computing power efficiently so that the computing required for such identification can be performed locally, shared with an Internet connected computer or performed remotely, depending on the database size and the available computing power. In addition, it is desirable that any such identification system can use existing identification markings such as barcodes, special targets, or written language when such is available to speed up searches and data information retrieval.


SUMMARY OF THE INVENTION

The present invention solves the above stated needs. Once a data is captured digitally, a search of the data determines whether symbolic content is included in the image. If so the symbol is decoded and communication is opened with the proper database, usually using the Internet, wherein the best match for the symbol is returned. In some instances, a symbol may be detected, but non-ambiguous identification is not possible. In that case and when a symbolic data can not be detected, the data is decomposed through identification algorithms where unique characteristics of the data are determined. These characteristics are then used to provide the best match or matches in the data-base, the “best” determination being assisted by the partial symbolic information, if that is available.


Therefore the present invention provides technology and processes that can accommodate linking objects and images to information via a network such as the Internet, which requires no modification to the linked object. Traditional methods for linking objects to digital information, including applying a barcode, radio or optical transceiver or transmitter, or some other means of identification to the object, or modifying the data or object so as to encode detectable information in it, are not required because the data or object can be identified solely by its visual appearance. The users or devices may even interact with objects by “linking” to them. For example, a user may link to a vending machine by “pointing and clicking” on it. His device would be connected over the Internet to the company that owns the vending machine. The company would in turn establish a connection to the vending machine, and thus the user would have a communication channel established with the vending machine and could interact with it.


The decomposition algorithms of the present invention allow fast and reliable detection and recognition of images and/or objects based on their visual appearance in an image, no matter whether shadows, reflections, partial obscuration, and variations in viewing geometry are present. As stated above, the present invention also can detect, decode, and identify images and objects based on traditional symbols which may appear on the object, such as alphanumeric characters, barcodes, or 2-dimensional matrix codes.


When a particular object is identified, the position and orientation of an object with respect to the user at the time the data was captured can be determined based on the appearance of the object in an image. This can be the location and/or identity of people scanned by multiple cameras in a security system, a passive locator system more accurate than GPS or usable in areas where GPS signals cannot be received, the location of specific vehicles without requiring a transmission from the vehicle, and many other uses.


When the present invention is incorporated into a mobile device, such as a portable telephone, the user of the device can link to images and objects in his or her environment by pointing the device at the object of interest, then “pointing and clicking” to capture an image. Thereafter, the device transmits the data to another computer (“Server”), wherein the data is analyzed and the object or data of interest is detected and recognized. Then the network address of information corresponding to that object is transmitted from the (“Server”) back to the mobile device, allowing the mobile device to access information using the network address so that only a portion of the information concerning the object needs to be stored in the systems database.


Some or all of the data processing, including image/object detection and/or decoding of symbols detected in the data, may be distributed arbitrarily between the mobile (Client) device and the Server. In other words, some processing may be performed in the Client device and some in the Server. Additionally the processing may be performed without specification of which particular processing is performed in each. However all processing may be performed on one platform or the other, or the platforms may be combined so that there is only one platform. The data processing can be implemented in a parallel computing manner, thus facilitating scaling of the system with respect to database size and input traffic loading.


Therefore, it is an object of the present invention to provide a system and process for identifying digitally captured images without requiring modification to the object.


Another object is to use digital capture devices in ways never contemplated by their manufacturer.


Another object is to allow identification of objects from partial views of the object.


Another object is to provide communication means with operative devices without requiring a public connection therewith.


Another object is to allow the telephony device to transmit information and data derived from the captured data to the server.


Still another object of the invention is to provide a telephony device that may transmit motion imagery to the server.


Another object is to provide a communication means wherein the telephony device may transmit information/data derived from the data to the server, as opposed to transmitting the data itself.


Yet another object of the present invention is to allow the telephony device to transmit either motion imagery and/or still images to the server.


Another object of the present invention is to allow the server to send an item of information to another distal device.


Yet another object of the present invention is to allow the system to perform data processing, data contrast enhancement, noise removal and de-blurring thereof.


Yet another object of the present invention is to allow the system to perform data processing prior to the recognition and/or search process.


Still another object of the present invention is to allow the system to perform data processing even if the data recognition and/or search process fails.


Another object of the present invention is to allow the system to perform data processing after a prior data recognition and/or search process fails.


These and other objects and advantages of the present invention will become apparent to those skilled in the art after considering the following detailed specification, together with the accompanying drawings wherein:





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a schematic block diagram top-level algorithm flowchart;



FIG. 2 is an idealized view of data capture;



FIGS. 3A and 3B are a schematic block diagram of process details of the present invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The present invention includes a novel process whereby information such as Internet content is presented to a user, based solely on a remotely acquired data of a physical object. Although coded information can be included in the remotely acquired image, it is not required since no additional information about a physical object, other than its image, needs to be encoded in the linked object. There is no need for any additional code or device, radio, optical or otherwise, to be embedded in or affixed to the object. Image-linked objects can be located and identified within user-acquired imagery solely by means of digital data processing, with the address of pertinent information being returned to the device used to acquire the data and perform the link. This process is robust against digital data noise and corruption (as can result from lossy data compression/decompression), perspective error, rotation, translation, scale differences, illumination variations caused by different lighting sources, and partial obscuration of the target that results from shadowing, reflection or blockage.


Many different variations on machine vision “target location and identification” exist in the current art. However, they all tend to provide optimal solutions for an arbitrarily restricted search space. At the heart of the present invention is a high-speed data matching engine that returns unambiguous matches to target objects contained in a wide variety of potential input images. This unique approach to data matching takes advantage of the fact that at least some portion of the target object will be found in the user-acquired image. Additionally, another unique approach is to allow for data processing by either the capturing device or the server prior to identification and transmission. The parallel data comparison processes embodied in the present search technique are, when taken together, unique to the process. Further, additional refinement of the process, with the inclusion of more and/or different decomposition-parameterization functions, utilized within the overall structure of the search loops is not restricted. The detailed process is described in the following FIG. 1 showing the overall processing flow and steps. These steps are described in further detail in the following sections.


For data capture 10, the User 12 (FIG. 2) utilizes a computer, mobile telephone, personal digital assistant, or other similar device 14 equipped with a data sensor (such as a CCD or CMOS digital camera). The User 12 aligns the sensor of the data capture device 14 with the object 16 of interest. The linking process is then initiated by suitable means including: the User 12 pressing a button on the device 14 or sensor; by the software in the device 14 automatically recognizing that a data is to be acquired; by User voice command; or by any other appropriate means. The device 14 captures a digital data 18 of the scene at which it is pointed. This data 18 is represented as three separate 2-D matrices of pixels, corresponding to the raw RGB (Red, Green, Blue) representation of the input image. For the purposes of standardizing the analytical processes in this embodiment, if the device 14 supplies a data in other than RGB format, a transformation to RGB is accomplished. These analyses could be carried out in any standard color format, should the need arise.


If the Data/Server 20 is physically separate from the device 14, then user acquired images are transmitted from the device 14 to the Data/Server 20 using a conventional digital network or wireless network means. However, prior to transmitting the data to the data/server 20, the device 14 used to capture the data may first conduct data processing, such as contrast enhancement, noise removal, de-blurring and the like. This procedure of data processing may be done prior to transmission of the data to the data/server 20, or after search results have been returned to the device 14.


If the data 18 has been compressed (e.g. via lossy JPEG DCT) in a manner that introduces compression artifacts into the reconstructed data 18, these artifacts may be partially removed by, for example, applying a conventional despeckle filter to the reconstructed data prior to additional processing. Additionally, the device 14 may transmit motion imagery, such as, for example, video transmissions. The motion imagery may be transferred to the server instead of, or in conjunction with one or more still images.


The Data Type Determination 26 is accomplished with a discriminator algorithm which operates on the input data 18 and determines whether the input data contains recognizable symbols, such as barcodes, matrix codes, or alphanumeric characters. If such symbols are found, the data 18 is sent to the Decode Symbol 28 process. Depending on the confidence level with which the discriminator algorithm finds the symbols, the data 18 also may or alternatively contain an object of interest and may therefore also or alternatively be sent to the Object Data branch of the process flow. For example, if an input data 18 contains both a barcode and an object, depending on the clarity with which the barcode is detected, the data may be analyzed by both the Object Data and Symbolic Data branches, and that branch which has the highest success in identification will be used to identify and link from the object.


The data may be analyzed to determine the location, size, and nature of the symbols in the Decode Symbol 28. The symbols are analyzed according to their type, and their content information is extracted. For example, barcodes and alphanumeric characters will result in numerical and/or text information.


For object images, the present invention performs a “decomposition”, in the Input Data Decomposition 34, of a high-resolution input data into several different types of quantifiable salient parameters. This allows for multiple independent convergent search processes of the database to occur in parallel, which greatly improves data match speed and match robustness in the Database Matching 36. As illustrated above, a portion of the decomposition may be divided arbitrarily between the device 14 and the server 20. The Best Match 38 from either the Decode Symbol 28, or the data Database Matching 36, or both, is then determined. If a specific URL (or other online address) is associated with the image, then an URL Lookup 40 is performed and the Internet address is returned by the URL Return 42. Additionally, during processing, the server may send an item of information to another distal device (not shown). For example, if an data of a TV listing in a magazine is transmitted to the server 20, the server may recognize the data as a TV listing wherein the server 20 may send a command to a Internet-connected television to change to the channel in the listing.


The overall flow of the Input Data Decomposition process is as follows:


Radiometric Correction


Segmentation


Segment Group Generation


FOR Each Segment Group


Bounding Box Generation


Geometric Normalization


Wavelet Decomposition


Color Cube Decomposition


Shape Decomposition


Low-Resolution Grayscale Image Generation


FOR END


Each of the above steps is explained in further detail below. For Radiometric Correction, the input image typically is transformed to an 8-bit per color plane, RGB representation. The RGB image is radiometrically normalized in all three channels. This normalization is accomplished by linear gain and offset transformations that result in the pixel values within each color channel spanning a full 8-bit dynamic range (256 possible discrete values). An 8-bit dynamic range is adequate but, of course, as optical capture devices produce higher resolution images and computers get faster and memory gets cheaper, higher bit dynamic ranges, such as 16-bit, 32-bit or more may be used.


For Segmentation, the radiometrically normalized RGB image is analyzed for “segments,” or regions of similar color, i.e. near equal pixel values for red, green, and blue. These segments are defined by their boundaries, which consist of sets of (x, y) point pairs. A map of segment boundaries is produced, which is maintained separately from the RGB input image and is formatted as an x, y binary image map of the same aspect ratio as the RGB image.


For Segment Group Generation, the segments are grouped into all possible combinations. These groups are known as “segment groups” and represent all possible potential images or objects of interest in the input image. The segment groups are sorted based on the order in which they will be evaluated. Various evaluation order schemes are possible. The particular embodiment explained herein utilizes the following “center-out” scheme: The first segment group comprises only the segment that includes the center of the image. The next segment group comprises the previous segment plus the segment which is the largest (in number of pixels) and which is adjacent to (touching) the previous segment group. Additional segments are added using the segment criteria above until no segments remain. Each step, in which a new segment is added, creates a new and unique segment group.


For Bounding Box Generation, the elliptical major axis of the segment group under consideration (the major axis of an ellipse just large enough to contain the entire segment group) is computed. Then a rectangle is constructed within the image coordinate system, with long sides parallel to the elliptical major axis, of a size just large enough to completely contain every pixel in the segment group.


For Geometric Normalization, a copy of the input image is modified such that all pixels not included in the segment group under consideration are set to mid-level gray. The result is then resampled and mapped into a “standard aspect” output test image space such that the corners of the bounding box are mapped into the corners of the output test image. The standard aspect is the same size and aspect ratio as the Reference images used to create the database.


For Wavelet Decomposition, a grayscale representation of the full-color image is produced from the geometrically normalized image that resulted from the Geometric Normalization step. The following procedure is used to derive the grayscale representation. Reduce the three color planes into one grayscale image by proportionately adding each R, G, and B pixel of the standard corrected color image using the following formula:

L.sub.x,y=0.34*R.sub.x,y+0.55*G.sub.x,y+0.11*B.sub.x,y


then round to nearest integer value. Truncate at 0 and 255, if necessary. The resulting matrix L is a standard grayscale image. This grayscale representation is at the same spatial resolution as the full color image, with an 8-bit dynamic range. A multi-resolution Wavelet Decomposition of the grayscale image is performed, yielding wavelet coefficients for several scale factors. The Wavelet coefficients at various scales are ranked according to their weight within the image.


For Color Cube Decomposition, an image segmentation is performed (see “Segmentation” above), on the RGB image that results from Geometric Normalization. Then the RGB image is transformed to a normalized Intensity, In-phase and Quadrature-phase color image (YIQ). The segment map is used to identify the principal color regions of the image, since each segment boundary encloses pixels of similar color. The average Y, I, and Q values of each segment, and their individual component standard deviations, are computed. The following set of parameters result, representing the colors, color variation, and size for each segment:


Y.sub.avg=Average Intensity


I.sub.avg=Average In-phase


Q.sub.avg=Average Quadrature


Y.sub.sigma=Intensity standard deviation


I.sub.sigma=In-phase standard deviation


Q.sub.sigma=Quadrature standard deviation


N.sub.pixels=number of pixels in the segment


The parameters comprise a representation of the color intensity and variation in each segment. When taken together for all segments in a segment group, these parameters comprise points (or more accurately, regions, if the standard deviations are taken into account) in a three-dimensional color space and describe the intensity and variation of color in the segment group.


For Shape Decomposition, the map resulting from the segmentation performed in the Color Cube Generation step is used and the segment group is evaluated to extract the group outer edge boundary, the total area enclosed by the boundary, and its area centroid. Additionally, the net ellipticity (semi-major axis divided by semi-minor axis of the closest fit ellipse to the group) is determined.


For Low-Resolution Grayscale Image Generation, the full-resolution grayscale representation of the image that was derived in the Wavelet Generation step is now subsampled by a factor in both x and y directions. For the example of this embodiment, a 3:1 subsampling is assumed. The subsampled image is produced by weighted averaging of pixels within each 3.times.3 cell. The result is contrast binned, by reducing the number of discrete values assignable to each pixel based upon substituting a “binned average” value for all pixels that fall within a discrete (TBD) number of brightness bins.


The above discussion of the particular decomposition methods incorporated into this embodiment are not intended to indicate that more, or alternate, decomposition methods may not also be employed within the context of this invention.


In other words:

  • FOR each input image segment group FOR each database object FOR each view of this object FOR each segment group in this view of this database object Shape Comparison Grayscale Comparison Wavelet Comparison Color Cube Comparison Calculate Combined Match Score END FOR END FOR END FOR END FOR


Each of the above steps is explained in further detail below.


FOR Each Input Image Segment Group


This loop considers each combination of segment groups in the input image, in the order in which they were sorted in the “Segment Group Generation” step. Each segment group, as it is considered, is a candidate for the object of interest in the image, and it is compared against database objects using various tests.


One favored implementation, of many possible, for the order in which the segment groups are considered within this loop is the “center-out” approach mentioned previously in the “Segment Group Generation” section. This scheme considers segment groups in a sequence that represents the addition of adjacent segments to the group, starting at the center of the image. In this scheme, each new group that is considered comprises the previous group plus one additional adjacent image segment. The new group is compared against the database. If the new group results in a higher database matching score than the previous group, then new group is retained. If the new group has a lower matching score then the previous group, then it is discarded and the loop starts again. If a particular segment group results in a match score which is extremely high, then this is considered to be an exact match and no further searching is warranted; in this case the current group and matching database group are selected as the match and this loop is exited.


FOR Each Database Object


This loop considers each object in the database for comparison against the current input segment group.


FOR Each View of This Object


This loop considers each view of the current database object for comparison against the current input segment group. The database contains, for each object, multiple views from different viewing angles.


FOR Each Segment Group in This View of This Database Object


This loop considers each combination of segment groups in the current view of the database object. These segment groups were created in the same manner as the input image segment groups.


Shape Comparison


Inputs


For the input image and all database images:


I. Segment group outline


I. Segment group area


III. Segment group centroid location


IV. Segment group bounding ellipse ellipticity


Algorithm


V. Identify those database segment groups with an area approximately equal to that of the input segment group, within TBD limits, and calculate an area matching score for each of these “matches.”


VI. Within the set of matches identified in the previous step, identify those database segment groups with an ellipticity approximately equal to that of the input segment group, within TBD limits, and calculate an ellipticity position matching score for each of these “matches.”


VII. Within the set of matches identified in the previous step, identify those database segment groups with a centroid position approximately equal to that of the input segment group, within TBD limits, and calculate a centroid position matching score for each of these “matches.”


VIII. Within the set of matches identified in the previous step, identify those database segment groups with an outline shape approximately equal to that of the input segment group, within TBD limits, and calculate an outline matching score for each of these “matches.” This is done by comparing the two outlines and analytically determining the extent to which they match.


Note: this algorithm need not necessarily be performed in the order of Steps 1 to 4. It could alternatively proceed as follows:

  • 2 FOR each database segment group IF the group passes Step 1 IF the group passes Step 2 IF the group passes Step 3 IF the group passes Step 4 Successful comparison, save result END IF END IF END IF END IF END FOR


Grayscale Comparison


Inputs


For the input image and all database images:


IX. Low-resolution, normalized, contrast-binned, grayscale image of pixels within segment group bounding box, with pixels outside of the segment group set to a standard background color.


Algorithm


Given a series of concentric rectangular “tiers” of pixels within the low-resolution images, compare the input image pixel values to those of all database images, calculate a matching score for each comparison and identify those database images with matching scores within TBD limits, as follows:


FOR each database image


FOR each tier, starting with the innermost and progressing to the outermost


Compare the pixel values between the input and database image


Calculate an aggregate matching score IF matching score is greater than some TBD limit (i.e., close match)

  • 3 Successful comparison, save result END IF END FOR END FOR


Wavelet Comparison


Inputs


For the input image and all database images:


X. Wavelet coefficients from high-resolution grayscale image within segment group bounding box.


Algorithm


Successively compare the wavelet coefficients of the input segment group image and each database segment group image, starting with the lowest-order coefficients and progressing to the highest order coefficients. For each comparison, compute a matching score. For each new coefficient, only consider those database groups that had matching scores, at the previous (next lower order) coefficient within TBD limits.

  • 4 FOR each database image IF input image C.sub.0 equals database image C.sub.0 within TBD limit IF input image C.sub.1 equals database image C.sub.1 within TBD limit . . . IF input image C.sub.N equals database image C.sub.N within TBD limit Close match, save result and match score END IF . . . END IF END IF END FOR Notes: I. “C.sub.1” are the wavelet coefficients, with C.sub.0 being the lowest order coefficient and C.sub.N being the highest. II. When the coefficients are compared, they are actually compared on a statistical (e.g. Gaussian) basis, rather than an arithmetic difference. III. Data indexing techniques are used to allow direct fast access to database images according to their C.sub.i values. This allows the algorithm to successively narrow the portions of the database of interest as it proceeds from the lowest order terms to the highest.


Color Cube Comparison


Inputs


[Y.sub.avg, I.sub.avg, Q.sub.avg, Ysigma, I.sub.sigma, Q.sub.sigma, Npixels] data sets (“Color Cube Points”) for each segment in:


I. The input segment group image


II. Each database segment group image


Algorithm

  • 5 FOR each database image FOR each segment group in the database image FOR each Color Cube Point in database segment group, in order of descending Npixels value IF Gaussian match between input (Y,I,Q) and database (Y,I,Q) I. Calculate match score for this segment II. Accumulate segment match score into aggregate match score for segment group III. IF aggregate matching score is greater than some TBD limit (i.e., close match) Successful comparison, save result END IF END FOR END FOR END FOR Notes: I. The size of the Gaussian envelope about any Y, I, Q point is determined by RSS of standard deviations of Y, I, and Q for that point.


Calculate Combined Match Score


The four Object Image comparisons (Shape Comparison, Grayscale Comparison, Wavelet Comparison, Color Cube Comparison) each return a normalized matching score. These are independent assessments of the match of salient features of the input image to database images. To minimize the effect of uncertainties in any single comparison process, and to thus minimize the likelihood of returning a false match, the following root sum of squares relationship is used to combine the results of the individual comparisons into a combined match score for an image:

  • CurrentMatch=SQRT(W.sub.OCM.sub.OCM.sup.2+W.sub.CCCM.sub.CCC.sup.2+W.sub.W-CM.sub.WC.sup.2+W.sub.SGCM.sub.SGC.sup.2), where Ws are TBD parameter weighting coefficients and Ms are the individual match scores of the four different comparisons.


The unique database search methodology and subsequent object match scoring criteria are novel aspects of the present invention that deserve special attention. Each decomposition of the Reference image and Input image regions represent an independent characterization of salient characteristics of the image. The Wavelet Decomposition, Color Cube Decomposition, Shape Decomposition, and evaluation of a sub-sampled low-resolution Grayscale representation of an input image all produce sets of parameters that describe the image in independent ways. Once all four of these processes are completed on the image to be tested, the parameters provided by each characterization are compared to the results of identical characterizations of the Reference images, which have been previously calculated and stored in the database. These comparisons, or searches, are carried out in parallel. The result of each search is a numerical score that is a weighted measure of the number of salient characteristics that “match” (i.e. that are statistically equivalent). Near equivalencies are also noted, and are counted in the cumulative score, but at a significantly reduced weighting.


One novel aspect of the database search methodology in the present invention is that not only are these independent searches carried out in parallel, but also, all but the low-resolution grayscale compares are “convergent.” By convergent, it is meant that input image parameters are searched sequentially over increasingly smaller subsets of the entire database. The parameter carrying greatest weight from the input image is compared first to find statistical matches and near-matches in all database records. A normalized interim score (e.g., scaled value from zero to one, where one is perfect match and zero is no match) is computed based on the results of this comparison. The next heaviest weighted parameter from the input image characterization is then searched on only those database records having initial interim scores above a minimum acceptable threshold value. This results in an incremental score that is incorporated into the interim score in a cumulative fashion. Then, subsequent comparisons of increasingly lesser-weighted parameters are assessed only on those database records that have cumulative interim scores above the same minimum acceptable threshold value in the previous accumulated set of tests.


This search technique results in quick completion of robust matches, establishes limits on the domain of database elements that will be compared in a subsequent combined match calculation and therefore speeds up the process. The convergent nature of the search in these comparisons yields a ranked subset of the entire database.


The result of each of these database comparisons is a ranking of the match quality of each image, as a function of decomposition search technique. Only those images with final cumulative scores above the acceptable match threshold will be assessed in the next step, a Combined Match Score evaluation.


Four database comparison processes, Shape Comparison, Grayscale Comparison, Wavelet Comparison, and Color Cube Comparison, are performed. These processes may occur sequentially, but generally are preferably performed in parallel on a parallel computing platform. Each comparison technique searches the entire image database and returns those images that provide the best matches for the particular algorithm, along with the matching scores for these images. These comparison algorithms are performed on segment groups, with each input image segment group being compared to each segment group for each database image.



FIGS. 3A and 3B show the process flow within the Database Matching operation. The algorithm is presented here as containing four nested loops with four parallel processes inside the innermost loop. This structure is for presentation and explanation only. The actual implementation, although performing the same operations at the innermost layer, can have a different structure in order to achieve the maximum benefit from processing speed enhancement techniques such as parallel computing and data indexing techniques. It is also important to note that the loop structures can be implemented independently for each inner comparison, rather than the shared approach shown in the FIGS. 3A and 3B.


Preferably, parallel processing is used to divide tasks between multiple CPUs (Central Processing Units), the telephony device 14 and/or computers. The overall algorithm may be divided in several ways, such as:

  • 6 Sharing the In this technique, all CPUs run the entire Outer Loop: algorithm, including the outer loop, but one CPU runs the loop for the first N cycles, another CPU for the second N cycles, all simultaneously. Sharing the In this technique, one CPU performs the Comparisons: loop functions. When the comparisons are performed, they are each passed to a separate CPU to be performed in parallel. Sharing the This technique entails splitting database Database: searches between CPUs, so that each CPU is responsible for searching one section of the database, and the sections are searched in parallel by multiple CPUs. This is, in essence, a form of the “Sharing the Outer Loop” technique described above.


Actual implementations can be some combination of the above techniques that optimizes the process on the available hardware.


Another technique employed to maximize speed is data indexing. This technique involves using a prior knowledge of where data resides to only search in those parts of the database that contain potential matches. Various forms of indexing may be used, such as hash tables, data compartmentalization (i.e., data within certain value ranges are stored in certain locations), data sorting, and database table indexing. An example of such techniques is in the Shape Comparison algorithm (see below). If a database is to be searched for an entry with an Area with a value of A, the algorithm would know which database entries or data areas have this approximate value and would not need to search the entire database.


Thus, there has been shown novel identification methods and processes for objects from digitally captured images thereof that uses image characteristics to identify an object from a plurality of objects in a database apparatus and which fulfill all of the objects and advantages sought therefor. Many changes, alterations, modifications and other uses and applications of the subject invention will become apparent to those skilled in the art after considering the specification together with the accompanying drawings. All such changes, alterations and modifications which do not depart from the spirit and scope of the invention are deemed to be covered by the invention which is limited only by the claims that follow.

Claims
  • 1. A mobile device image search system, comprising: a database creation engine coupled with a memory storing a database, the database creation engine configured to: obtain a first image;obtain a first item of content information associated with the first image;determine at least first and second image characteristics from the first image;link the at least first and second image characteristics to the first item of content information;populate the database with the at least first and second image characteristics as linked to the first item of content information, wherein the first item of content information is stored in the database as a first target object associated with an address; andan image processing platform coupled with the memory and configured to: acquire a second image via the sensor of a mobile device;determine a plurality of image characteristics from the second image;recognize the second image as associated with the first target object based at least in part on a search of the database using the plurality of image characteristics;obtain the address associated with the first target object; andpresent the first item of content information on a display of the mobile device based on the address.
  • 2. The system of claim 1, wherein the database creation engine is further configured to obtain a second item of content information associated with the first image, link the at least first and second image characteristics to the second item of content information, and populate the database with the second item of content information as linked to the at least first and second image characteristics.
  • 3. The system of claim 2, wherein the second item of content information is stored in the database as a second target object associated with a second address.
  • 4. The system of claim 3, wherein the image processing platform is further configured to present a ranked subset of items of content information stored in the database, and wherein the ranked subset includes the first and second items of content information.
  • 5. The system of claim 1, wherein the second image comprises a representation of a first object, and wherein at least some of the image characteristics of the plurality of image characteristics is associated with the first object.
  • 6. The system of claim 5, wherein the at least some of the plurality of image characteristics are determined based at least in part on a position of the first object.
  • 7. The system of claim 5, wherein the at least some of the plurality of image characteristics are determined based at least in part on a location of the first object.
  • 8. The system of claim 1, wherein the at least some of the plurality of image characteristics are determined based at least in part on a location of the mobile device.
  • 9. The system of claim 5, wherein the first object includes a tag.
  • 10. The system of claim 5, wherein the first object lacks a tag.
  • 11. The system of claim 1, wherein the mobile device comprises at least one of a computer, a mobile telephone and a personal digital assistant.
  • 12. The system of claim 1, wherein the address is stored in the database, and wherein the first item of content information is stored in a second database separate from the database.
  • 13. The system of claim 1, wherein the address and the first item of content information are stored in the database.
  • 14. The system of claim 1, wherein the first image comprises a reference image used to populate the database.
  • 15. The system of claim 1, wherein the image processing platform is further configured to acquire a third image different from the second image, determine a second plurality of image characteristics from the third image, and recognize the third image as associated with the first target object based at least in part on a search of the database using the second plurality of image characteristics.
  • 16. The system of claim 1, wherein the image processing platform is further configured to enable an interaction with the first item of content information based on the address.
  • 17. The system of claim 16, wherein the interaction comprises a transaction.
  • 18. The system of claim 16, wherein the interaction comprises a purchase.
  • 19. The system of claim 18, wherein a payment is billed to an account associated with a user of the mobile device.
  • 20. The system of claim 1, wherein the address comprises at least one of the following: a network address, an information address, and a URL.
  • 21. A method of providing digital content to a user of a mobile device, comprising: obtaining, via the mobile device, image data representative of a scene;deriving or extracting, via the mobile device, a first image characteristic from the image data;searching, via the mobile device, a database storing a plurality of image characteristics associated with a plurality of digital content target objects, wherein the plurality of image characteristics includes the first image characteristic and wherein the first image characteristic is associated with a first digital content target object;recognizing the image data as being associated with the first digital content target object based on the step of searching;obtaining an address associated with the first digital content target object; andpresenting, via the address and on a display of the mobile device, the first digital content target object.
  • 22. The method of claim 21, wherein the database is stored in a memory of the mobile device.
  • 23. The method of claim 21, further comprising the steps of: obtaining a first image;obtaining a first item of digital content associated with the first image;determining a second plurality of image characteristics from the first image;linking at least some image characteristics of the second plurality of image characteristics to the first item of digital content; andpopulating the database with the at least some image characteristics of the second plurality of image characteristics as linked to the first item of digital content, wherein the first item of digital content is stored in the database as a first digital content target object associated with an address.
  • 24. The method of 21, wherein the image data is representative of a scene including a first object, and wherein the first image characteristic is determined based at least in part on a position of the first object.
  • 25. The method of 21, wherein the image data is representative of a scene including a first object, and wherein the first image characteristic is determined based at least in part on a location of the first object.
  • 26. The method of claim 21, wherein the first image characteristic is determined based at least in part on a location of the mobile device.
  • 27. The method of claim 21, wherein the image data is representative of a scene including a first object, and wherein the first object includes a tag.
  • 28. The method of claim 21, wherein the image data is representative of a scene including a first object, and wherein the first object lacks a tag.
  • 29. The method of claim 21, wherein the image data includes symbol content.
  • 30. The method of claim 29, wherein the symbol content comprises at least one of the following: alphanumeric characters, a code, a matrix, a bar code, a matrix code, and a 2D code.
  • 31. The method of claim 21, further comprising enabling an interaction with the first digital content object based on the address.
  • 32. The method of claim 31, wherein the interaction comprises a transaction.
  • 33. The method of claim 31, wherein the interaction comprises a purchase.
  • 34. The method of claim 31, wherein a payment is billed to an account associated with a user of the mobile device.
  • 35. The method of claim 21, wherein the address comprises at least one of the following: a network address, an information address, and a URL.
  • 36. A method of providing digital content to a user via a mobile device, comprising: configuring the mobile device to store computer-readable instructions operative to cause a processor of the mobile device to execute the steps of: obtaining image data representative of a scene;deriving or extracting at least a first image characteristic from the image data;searching, using the at least the first image characteristic, a database storing a plurality of image characteristics associated with a plurality of digital content target objects;recognizing that the at least the first image characteristic is a match to at least one of the plurality of image characteristics associated with the plurality of digital content target objects;obtaining an address associated with a first digital content target object of the plurality of digital content target objects based on the step of recognizing; andpresenting, on a display of the mobile device, the first digital content target object via the address.
  • 37. The method of claim 36, wherein the database is stored in a memory of the mobile device.
  • 38. The method of claim 36, wherein the computer-readable instructions are further operative to cause a processor of the mobile device to execute the step of: enabling an interaction with the first digital content target object based on the address.
  • 39. The method of claim 38, wherein the interaction comprises a transaction.
  • 40. The method of claim 38, wherein the interaction comprises a purchase.
  • 41. The method of claim 38, wherein a payment is billed to an account associated with the user of the mobile device.
  • 42. The method of claim 36, wherein the image data representative of a scene includes a representation of a first object.
  • 43. The method of claim 42, wherein the at least the first image characteristic is determined based at least in part on a position of the first object.
  • 44. The method of claim 42, wherein the at least the first image characteristic is determined based at least in part on a location of the first object.
  • 45. The method of claim 42, wherein the first object includes a tag.
  • 46. The method of claim 42, wherein the first object lacks a tag.
  • 47. The method of claim 36, wherein the image data includes symbol content.
  • 48. The method of claim 47, wherein the symbol content comprises at least one of the following: alphanumeric characters, a code, a matrix, a bar code, a matrix code, and a 2D code.
  • 49. An information retrieval system, comprising: a content linking server coupled to a database and a recognition platform, the content linking server configured to: obtain at least a first and second image parameter from a first user;obtain a first item of content information associated with the at least first and second image parameters; andenable a link of the at least first and second image parameters to the first item of content information, wherein the first item of content information is associated with a first target object; andwherein the recognition platform is configured to: obtain digital data from a mobile device;determine a plurality of image parameters from the digital data;recognize the digital data as associated with the first target object based at least in part on a search of the database using the plurality of image parameters;obtain the address associated with the first target object; andpresent the first item of content information on a display of the mobile device via the address.
  • 50. The system of claim 49, wherein the content linking platform is further configured to populate the database with the at least first and second image parameters as linked to the first item of content information, wherein the first item of content information is stored in the database as the first target object associated with an address.
  • 51. The system of claim 49, wherein the content linking server is further configured to obtain a second item of content information associated with the at least first and second image parameters, link the at least first and second image parameters to the second item of content information, and populate the database with the second item of content information as linked to the at least first and second image characteristics.
  • 52. The system of claim 51, wherein the second item of content information is stored in the database as a second target object associated with a second address.
  • 53. The system of claim 52, wherein the recognition platform is further configured to present a ranked subset of items of content information stored in the database, and wherein the ranked subset includes the first and second items of content information.
  • 54. The system of claim 49, wherein the digital data comprises a representation of a first object, and wherein the at least first and second image parameters are associated with the first object.
  • 55. The system of claim 54, wherein the at least first and second image parameters are determined based at least in part on a position of the first object.
  • 56. The system of claim 54, wherein the at least first and second image parameters are determined based at least in part on a location of the first object.
  • 57. The system of claim 49, wherein the at least first and second image parameters are determined based at least in part on a location of the mobile device.
  • 58. The system of claim 54, wherein the first object includes a tag.
  • 59. The system of claim 54, wherein the first object lacks a tag.
  • 60. The system of claim 49, wherein the recognition platform is further configured to enable an interaction with the first item of content information based on the address.
  • 61. The system of claim 60, wherein the interaction comprises a transaction.
  • 62. The system of claim 61, wherein the interaction comprises a purchase.
  • 63. The system of claim 61, wherein a payment is billed to an account associated with a user of the mobile device.
Parent Case Info

This application is a divisional of application Ser. No. 14/251,480, filed Apr. 11, 2014, which is a divisional of application Ser. No. 13/968,666, filed Aug. 16, 2013, which is a divisional of Ser. No. 13/633,533, filed Oct. 2, 2012 and issued Nov. 12, 2013 as U.S. Pat. No. 8,582,817, which is a divisional of Ser. No. 13/464,410, filed May 4, 2012 and issued Jul. 23, 2013 as U.S. Pat. No. 8,494,264, which is a divisional of Ser. No. 13/005,716, filed Jan. 13, 2011 and issued Jul. 17, 2012 as U.S. Pat. No. 8,224,077, which is a Continuation of Ser. No. 12/505,714 filed Jul. 20, 2009 and issued Feb. 1, 2011 as U.S. Pat. No. 7,881,529, which is a Continuation of Ser. No. 11/342,094 filed Jan. 26, 2006 and issued Jul. 21, 2009 as U.S. Pat. No. 7,565,008, which is a Continuation-In-Part of Ser. No. 09/992,942, filed Nov. 5, 2001 and issued Mar. 21, 2006 as U.S. Pat. No. 7,016,532, which claims the benefit of priority to U.S. Provisional Application No. 60/317,521 filed Sep. 5, 2001, and U.S. Provisional Application No. 60/246,295 filed Nov. 6, 2000. These and all other extrinsic references are incorporated herein by reference in their entirety. Where a definition or use of a term in an incorporated reference is inconsistent or contrary to the definition of that term provided herein, the definition of that term provided herein applies and the definition of that term in the reference does not apply.

US Referenced Citations (346)
Number Name Date Kind
3800082 Fish Mar 1974 A
4947321 Spence et al. Aug 1990 A
4991008 Nama Feb 1991 A
5034812 Rawlings Jul 1991 A
5241671 Reed et al. Aug 1993 A
5259037 Plunk Nov 1993 A
5497314 Novak Mar 1996 A
5576950 Tonomura et al. Nov 1996 A
5579471 Barber et al. Nov 1996 A
5594806 Colbert Jan 1997 A
5615324 Kuboyama Mar 1997 A
5625765 Ellenby et al. Apr 1997 A
5682332 Ellenby et al. Oct 1997 A
5724579 Suzuki Mar 1998 A
5742521 Ellenby et al. Apr 1998 A
5742815 Stern Apr 1998 A
5751286 Barber et al. May 1998 A
5768633 Allen et al. Jun 1998 A
5768663 Lin Jun 1998 A
5771307 Lu et al. Jun 1998 A
5787186 Schroeder Jul 1998 A
5815411 Ellenby et al. Sep 1998 A
5832464 Houvener et al. Nov 1998 A
5893095 Jain et al. Apr 1999 A
5894323 Kain et al. Apr 1999 A
5897625 Gustin et al. Apr 1999 A
5911827 Heller Jun 1999 A
5915038 Abdel-Mottaleb et al. Jun 1999 A
5917930 Kayani et al. Jun 1999 A
5926116 Kitano et al. Jul 1999 A
5933823 Cullen et al. Aug 1999 A
5933829 Durst et al. Aug 1999 A
5933923 Catlos et al. Aug 1999 A
5937079 Franke Aug 1999 A
5945982 Higashio et al. Aug 1999 A
5970473 Gerszberg et al. Oct 1999 A
5971277 Cragun et al. Oct 1999 A
5978773 Hudetz et al. Nov 1999 A
5982912 Fukui et al. Nov 1999 A
5991827 Ellenby et al. Nov 1999 A
5992752 Wilz, Sr. et al. Nov 1999 A
6009204 Ahmad Dec 1999 A
6031545 Ellenby et al. Feb 2000 A
6037936 Ellenby et al. Mar 2000 A
6037963 Denton et al. Mar 2000 A
6038295 Mattes Mar 2000 A
6038333 Wang Mar 2000 A
6045039 Stinson et al. Apr 2000 A
6055536 Shimakawa et al. Apr 2000 A
6061478 Kanoh et al. May 2000 A
6064398 Ellenby et al. May 2000 A
6064979 Perkowski May 2000 A
6072904 Desai et al. Jun 2000 A
6081612 Gutkowicz-Krusin et al. Jun 2000 A
6098118 Ellenby et al. Aug 2000 A
6108656 Durst et al. Aug 2000 A
6134548 Gottsman et al. Oct 2000 A
6144848 Walsh et al. Nov 2000 A
6173239 Ellenby Jan 2001 B1
6181817 Zabih et al. Jan 2001 B1
6182090 Peairs Jan 2001 B1
6199048 Hudetz et al. Mar 2001 B1
6202055 Houvener et al. Mar 2001 B1
6208353 Ayer et al. Mar 2001 B1
6208749 Gutkowicz-Krusin et al. Mar 2001 B1
6208933 Lazar Mar 2001 B1
6256409 Wang Jul 2001 B1
6278461 Ellenby et al. Aug 2001 B1
6286036 Rhoads Sep 2001 B1
6307556 Ellenby et al. Oct 2001 B1
6307957 Gutkowicz-Krusin et al. Oct 2001 B1
6317718 Fano Nov 2001 B1
6393147 Danneels et al. May 2002 B2
6396475 Ellenby et al. May 2002 B1
6396537 Squilla et al. May 2002 B1
6396963 Shaffer et al. May 2002 B2
6404975 Bopardikar et al. Jun 2002 B1
6405975 Sankrithi et al. Jun 2002 B1
6411725 Rhoads Jun 2002 B1
6411953 Ganapathy et al. Jun 2002 B1
6414696 Ellenby et al. Jul 2002 B1
6430554 Rothschild Aug 2002 B1
6434561 Durst, Jr. et al. Aug 2002 B1
6445834 Rising, III Sep 2002 B1
6446076 Burkey et al. Sep 2002 B1
6453361 Morris Sep 2002 B1
6490443 Freeny, Jr. Dec 2002 B1
6501854 Konishi et al. Dec 2002 B1
6502756 Faahraeus Jan 2003 B1
6510238 Haycock Jan 2003 B2
6522292 Ellenby et al. Feb 2003 B1
6522772 Morrison et al. Feb 2003 B1
6522889 Aarnio Feb 2003 B1
6526158 Goldberg Feb 2003 B1
6532298 Cambier et al. Mar 2003 B1
6533392 Koitabashi Mar 2003 B1
6535210 Ellenby et al. Mar 2003 B1
6542933 Durst, Jr. et al. Apr 2003 B1
6563959 Troyanker May 2003 B1
6567122 Anderson et al. May 2003 B1
6578017 Ebersole et al. Jun 2003 B1
6580385 Winner et al. Jun 2003 B1
6597818 Kumar et al. Jul 2003 B2
6601026 Appelt et al. Jul 2003 B2
6609103 Kolls Aug 2003 B1
6650794 Aoki Nov 2003 B1
6651053 Rothschild Nov 2003 B1
6658389 Alpdemir Dec 2003 B1
6674923 Shih et al. Jan 2004 B1
6674993 Tarbouriech Jan 2004 B1
6675165 Rothschild Jan 2004 B1
6689966 Wiebe Feb 2004 B2
6690370 Ellenby et al. Feb 2004 B2
6691914 Isherwood et al. Feb 2004 B2
6711278 Gu et al. Mar 2004 B1
6714969 Klein et al. Mar 2004 B1
6724914 Brundage et al. Apr 2004 B2
6738630 Ashmore May 2004 B2
6744935 Choi et al. Jun 2004 B2
6748122 Ihara et al. Jun 2004 B1
6754636 Walker Jun 2004 B1
6765569 Neumann et al. Jul 2004 B2
6766363 Rothschild Jul 2004 B1
6771294 Pulli et al. Aug 2004 B1
6788800 Carr et al. Sep 2004 B1
6801657 Cieplinski Oct 2004 B1
6804726 Ellenby et al. Oct 2004 B1
6842181 Acharya Jan 2005 B2
6853750 Aoki Feb 2005 B2
6856965 Stinson et al. Feb 2005 B1
6865608 Hunter Mar 2005 B2
6866196 Rathus et al. Mar 2005 B1
6868415 Kageyama et al. Mar 2005 B2
6882756 Bober Apr 2005 B1
6885771 Takahashi Apr 2005 B2
6912464 Parker Jun 2005 B1
6925196 Kass et al. Aug 2005 B2
6950800 McIntyre et al. Sep 2005 B1
6956593 Gupta et al. Oct 2005 B1
6963656 Persaud et al. Nov 2005 B1
6968453 Doyle et al. Nov 2005 B2
6974078 Simon Dec 2005 B1
6985240 Benke et al. Jan 2006 B2
6990235 Katsuyama Jan 2006 B2
6993573 Hunter Jan 2006 B2
6996251 Malone et al. Feb 2006 B2
7002551 Azuma et al. Feb 2006 B2
7016532 Boncyk Mar 2006 B2
7016889 Bazoon Mar 2006 B2
7016899 Stern et al. Mar 2006 B1
7027652 I'Anson Apr 2006 B1
7031496 Shimano et al. Apr 2006 B2
7031536 Kajiwara Apr 2006 B2
7031875 Ellenby Apr 2006 B2
7050653 Edso et al. May 2006 B2
7053916 Kobayashi et al. May 2006 B2
7062454 Giannini et al. Jun 2006 B1
7072669 Duckworth Jul 2006 B1
7103772 Jorgensen et al. Sep 2006 B2
7104444 Suzuki Sep 2006 B2
7113867 Stein Sep 2006 B1
7119831 Ohto et al. Oct 2006 B2
7121469 Dorai et al. Oct 2006 B2
7127094 Elbaum et al. Oct 2006 B1
7143949 Hannigan Dec 2006 B1
7167164 Ericson et al. Jan 2007 B2
7175095 Pettersson et al. Feb 2007 B2
7190833 Kagehiro et al. Mar 2007 B2
7224995 Rhoads May 2007 B2
7245273 Eberl et al. Jul 2007 B2
7254548 Tannenbaum Aug 2007 B1
7266545 Bergman et al. Sep 2007 B2
7283983 Dooley et al. Oct 2007 B2
7295718 Park et al. Nov 2007 B2
7296747 Rohs Nov 2007 B2
7301536 Ellenby et al. Nov 2007 B2
7305354 Rodriguez et al. Dec 2007 B2
7309015 Frantz et al. Dec 2007 B2
7310605 Janakiraman et al. Dec 2007 B2
7333947 Wiebe et al. Feb 2008 B2
7334728 Williams Feb 2008 B2
7345673 Ericson et al. Mar 2008 B2
7353182 Missinhoun et al. Apr 2008 B1
7353184 Kirshenbaum et al. Apr 2008 B2
7353990 Elliot et al. Apr 2008 B2
7356705 Ting Apr 2008 B2
7362922 Nishiyama et al. Apr 2008 B2
7376645 Bernard May 2008 B2
7383209 Hudetz et al. Jun 2008 B2
7410099 Fukasawa et al. Aug 2008 B2
7427980 Partridge et al. Sep 2008 B1
7430588 Hunter Sep 2008 B2
7477909 Roth et al. Jan 2009 B2
7526440 Walker et al. Apr 2009 B2
7548915 Ramer et al. Jun 2009 B2
7558595 Angelhag Jul 2009 B2
7564469 Cohen Jul 2009 B2
7580061 Toyoda Aug 2009 B2
7595816 Enright et al. Sep 2009 B1
7599847 Block et al. Oct 2009 B2
7631336 Diaz Perez Dec 2009 B2
7641342 Eberl et al. Jan 2010 B2
7680324 Boncyk et al. Mar 2010 B2
7696905 Ellenby et al. Apr 2010 B2
7707218 Gocht et al. Apr 2010 B2
7711598 Perkowski May 2010 B2
7720436 Hamynen et al. May 2010 B2
7734507 Ritter Jun 2010 B2
7737965 Alter et al. Jun 2010 B2
7751805 Neven et al. Jul 2010 B2
7756755 Ghosh et al. Jul 2010 B2
7764808 Zhu et al. Jul 2010 B2
7765126 Hudetz et al. Jul 2010 B2
7768534 Pentenrieder et al. Aug 2010 B2
7769228 Bahlmann et al. Aug 2010 B2
7774283 Das et al. Aug 2010 B2
7775437 Cohen Aug 2010 B2
7797204 Balent Sep 2010 B2
7830417 Liu et al. Nov 2010 B2
7843488 Stapleton Nov 2010 B2
7845558 Beemer et al. Dec 2010 B2
7853875 Cohen Dec 2010 B2
7872669 Darrell et al. Jan 2011 B2
7889193 Platonov et al. Feb 2011 B2
7896235 Ramachandran Mar 2011 B2
7903838 Hudnut et al. Mar 2011 B2
7916138 John et al. Mar 2011 B2
8090616 Proctor, Jr. et al. Jan 2012 B2
8090657 Mitchell et al. Jan 2012 B2
8099332 Lemay et al. Jan 2012 B2
8121944 Norman et al. Feb 2012 B2
8130242 Cohen Mar 2012 B2
8131118 Jing et al. Mar 2012 B1
8131595 Lee et al. Mar 2012 B2
8187045 Thibodaux May 2012 B2
8189964 Flynn et al. May 2012 B2
8190645 Bashaw May 2012 B1
8218874 Boncyk et al. Jul 2012 B2
8219146 Connors et al. Jul 2012 B2
8255291 Nair Aug 2012 B1
8312168 Rhoads et al. Nov 2012 B2
8320615 Hamza et al. Nov 2012 B2
8326031 Boncyk et al. Dec 2012 B2
8335351 Boncyk et al. Dec 2012 B2
8386918 Do et al. Feb 2013 B2
8442500 Gupta et al. May 2013 B2
8447066 King et al. May 2013 B2
8477202 Asano Jul 2013 B2
8483715 Chen Jul 2013 B2
8494274 Badharudeen et al. Jul 2013 B2
8497939 Cuttner Jul 2013 B2
8523075 van der Merwe Sep 2013 B2
8542906 Persson et al. Sep 2013 B1
8550903 Lyons et al. Oct 2013 B2
8559671 Milanfar et al. Oct 2013 B2
8577810 Dalit et al. Nov 2013 B1
8588527 Boncyk et al. Nov 2013 B2
8605141 Dialameh et al. Dec 2013 B2
8626602 George Jan 2014 B2
8751316 Fletchall et al. Jun 2014 B1
8756659 Ruckart Jun 2014 B2
8824738 Boncyk et al. Sep 2014 B2
8831279 Rodriguez et al. Sep 2014 B2
8831677 Villa-Real Sep 2014 B2
8838477 Moshfeghi Sep 2014 B2
8863183 Kutaragi Oct 2014 B2
8903430 Sands et al. Dec 2014 B2
8990235 King Mar 2015 B2
20010011276 Durst Jr. et al. Aug 2001 A1
20010032252 Durst et al. Oct 2001 A1
20010044824 Hunter et al. Nov 2001 A1
20010047426 Hunter Nov 2001 A1
20010053252 Creque Dec 2001 A1
20020001398 Shimano et al. Jan 2002 A1
20020006602 Masters Jan 2002 A1
20020019819 Sekiguchi et al. Feb 2002 A1
20020048403 Guerreri Apr 2002 A1
20020055957 Ohsawa May 2002 A1
20020084328 Kim Jul 2002 A1
20020089524 Ikeda Jul 2002 A1
20020090132 Boncyk et al. Jul 2002 A1
20020102966 Lev Aug 2002 A1
20020103813 Frigon Aug 2002 A1
20020124188 Sherman et al. Sep 2002 A1
20020140988 Cheatle et al. Oct 2002 A1
20020150298 Rajagopal et al. Oct 2002 A1
20020156866 Schneider Oct 2002 A1
20020163521 Ellenby et al. Nov 2002 A1
20020167536 Valdes et al. Nov 2002 A1
20030064705 Desiderio Apr 2003 A1
20030095681 Burg et al. May 2003 A1
20030116478 Laskowski Jun 2003 A1
20030132974 Bodin Jul 2003 A1
20030164819 Waibel Sep 2003 A1
20040208372 Boncyk et al. Oct 2004 A1
20050015370 Stavely et al. Jan 2005 A1
20050024501 Ellenby et al. Feb 2005 A1
20050055281 Williams Mar 2005 A1
20050102233 Park et al. May 2005 A1
20050162523 Darrell et al. Jul 2005 A1
20050162532 Toyoda Jul 2005 A1
20050185060 Neven Aug 2005 A1
20050206654 Vaha-Sipila Sep 2005 A1
20050252966 Kulas Nov 2005 A1
20060008124 Ewe et al. Jan 2006 A1
20060038833 Mallinson et al. Feb 2006 A1
20060161379 Ellenby et al. Jul 2006 A1
20060190812 Ellenby et al. Aug 2006 A1
20060223635 Rosenberg Oct 2006 A1
20070109619 Eberl et al. May 2007 A1
20070146391 Pentenrieder et al. Jun 2007 A1
20070182739 Platonov et al. Aug 2007 A1
20070230792 Shashua et al. Oct 2007 A1
20080021953 Gil Jan 2008 A1
20080133555 Rhoads et al. Jun 2008 A1
20080157946 Eberl et al. Jul 2008 A1
20080189185 Matsuo et al. Aug 2008 A1
20080207296 Lutnick Aug 2008 A1
20080243721 Joao Oct 2008 A1
20080279481 Ando Nov 2008 A1
20090027337 Hildreth Jan 2009 A1
20090030900 Iwasaki Jan 2009 A1
20100045933 Eberl et al. Feb 2010 A1
20100106720 Chao et al. Apr 2010 A1
20100188638 Eberl et al. Jul 2010 A1
20110131241 Petrou et al. Jun 2011 A1
20110173100 Boncyk et al. Jul 2011 A1
20110282785 Chin Nov 2011 A1
20120002872 Boncyk et al. Jan 2012 A1
20120011119 Baheti et al. Jan 2012 A1
20120011142 Baheti et al. Jan 2012 A1
20120027290 Baheti et al. Feb 2012 A1
20120072353 Boone et al. Mar 2012 A1
20120095857 Mckelvey et al. Apr 2012 A1
20120231887 Lee et al. Sep 2012 A1
20120263388 Vaddadi et al. Oct 2012 A1
20130013414 Haff Jan 2013 A1
20130046602 Grigg et al. Feb 2013 A1
20130265450 Barnes, Jr. Oct 2013 A1
20130304609 Keonorasak Nov 2013 A1
20140006165 Grigg et al. Jan 2014 A1
20140007012 Govande et al. Jan 2014 A1
20140101048 Gardiner et al. Apr 2014 A1
20140129942 Rathod May 2014 A1
20140162598 Villa-Real Jun 2014 A1
20150026785 Soon-Shiong Jan 2015 A1
Foreign Referenced Citations (53)
Number Date Country
10050486 Apr 2002 DE
0614559 Jan 1999 EP
0920179 Jun 1999 EP
0967574 Dec 1999 EP
1012725 Jun 2000 EP
0920179 Sep 2000 EP
1354260 Oct 2003 EP
1355258 Oct 2003 EP
2264669 Dec 2010 EP
2407230 Apr 2005 GB
S6314297 Jan 1988 JP
H09231244 Sep 1997 JP
H1091634 Apr 1998 JP
H10289243 Oct 1998 JP
H11265391 Sep 1999 JP
2001101191 Apr 2001 JP
2001160057 Jun 2001 JP
2001256500 Sep 2001 JP
2001265970 Sep 2001 JP
2001282825 Oct 2001 JP
2002197103 Jul 2002 JP
2002297648 Oct 2002 JP
2003178067 Jun 2003 JP
2003323440 Nov 2003 JP
2004005314 Jan 2004 JP
2004030377 Jan 2004 JP
2004118384 Apr 2004 JP
2005011180 Jan 2005 JP
2005038421 Feb 2005 JP
2005049920 Feb 2005 JP
2005509219 Apr 2005 JP
2007509392 Apr 2007 JP
9744737 Nov 1997 WO
9749060 Dec 1997 WO
9837811 Sep 1998 WO
9846323 Oct 1998 WO
9916024 Apr 1999 WO
9942946 Aug 1999 WO
9942947 Aug 1999 WO
9944010 Sep 1999 WO
9942946 Oct 1999 WO
9942947 Dec 1999 WO
9967695 Dec 1999 WO
0124050 Apr 2001 WO
0149056 Jul 2001 WO
0163487 Aug 2001 WO
0171282 Sep 2001 WO
0173603 Oct 2001 WO
0201143 Jan 2002 WO
02059716 Aug 2002 WO
02073818 Sep 2002 WO
02082799 Oct 2002 WO
03041000 May 2003 WO
Non-Patent Literature Citations (40)
Entry
Arai T., et al., “PaperLink: A Technique for Hyperlinking from Real Paper to Electronic Content,” CHI 97 Electronic Publications: Papers, Conference on Human Factors in Computer Systems, Atlanta, Georgia, Mar. 22-27, 1997, pp. 327-334.
Bulman J., et al., “Mixed Reality Applications in Urban Environments,” BT Technology Journal, 2004, vol. 22 (3), pp. 84-94.
Carswell J.D., et al., “An Environment for Mobile Context-Based Hypermedia Retrieval,” IEEE: Proceedings of the 13th International Workshop on Database and Expert Systems Applications, 1529-4188/02, 2002, 5 pages.
Chang S.F., et al., “Visual Information Retrieval from Large Distributed Online Respositories,” Communication of Association for Computing Machinery, ISSN:0001-0782, 1997, vol. 40 (12), pp. 64-71.
Chang W., et al., “Efficient Resource Selection in Distributed Visual Information Systems,” ACM Multimedia, 1997, pp. 203-213.
Diverdi S., et al., “ARWin—A Desktop Augmented Reality Window Manager,” UCSB Tech Report Dec. 2003, University of California Santa Barbara, May 2003, 7 pages.
Diverdi S., et al., “Level of Detail Interfaces,” Proc. ISMAR 2004, IEEE/ACM IHyf Symp on Mixed and Augmented Reality, Arlington, Virginia, 2004, 2 pages.
European Search Report for Application No. EP06018047, mailed on Oct. 30, 2008, 2 pages.
Feiner S., et al., “A Touring Machine: Prototyping 3D Mobile Augmented Reality Systems for Exploring the Urban Environment,” Personal Technologies, 1997, vol. 1 (4), pp. 208-217.
Fernandez F., “Responsive Environments: Digital Objects in the Landscape,” Thesis submitted to Department of Landscape Architecture, University of Manitoba, Winnipeg, Manitoba, Mar. 2004, 124 pages.
Geiger C., et al., “Mobile AR4ALL,” Proceedings of the IEEE and ACM Intl Symposium on Augmented Reality (ISAR'01), Oct. 29-30, 2001, Columbia University, New York, 2 pages.
Gevers T., et al., “PicToSeek: Combining Color and Shape Invariant Features for Image Retrieval,” IEEE Transactions on Image Processing, 2000, vol. 9 (1), pp. 102-119.
Haritaoglu I., “InfoScope: Link from Real World to Digital Information Space,” IBM Almaden Research, UbiComp, Lecture Notes in Computer Science, 2001, vol. 2201, pp. 247-255.
Hollerer T., et al., “Chapter Nine: Mobile Augmented Reality,” in: Telegeoinformatics: Location Based Computing and Services, Karimi H., eds., Taylor & Francis Books, Ltd., 2004, Chapter 9, 39 pages.
International Search Report and Written Opinion for Application No. PCT/US2007/02010, mailed on Nov. 16, 2007, 5 pages.
Iwamoto T., et al., “Digital Safari Guidebook With Image Retrieval,” International Conference on Advances in Mathematical Computations and Statistical Computing, 1999, vol. 2, pp. 1011-1012.
Iwamoto T., et al., “u-Photo: A Design and Implementation of a Snapshot Based Method for Capturing Contextual Information,” The Second International Conference on Pervasive Computing Pervasive, 2004, Advances in Pervasive Computing, LinzNienna, Austria, 6 pages.
Jebara T., et al., “Stochasticks: Augmenting the Billiards Experience With Probabilistic Vision and Wearable Computers,” International Symposium on Wearable Computers, 1997, IEEE Computer Society, pp. 138-145.
Kangas K., et al., “Using Code Mobility to Create Ubiquitous and Active Augmented Reality in Mobile Computing,” Mobicom, 1999, Seattle, Washington, pp. 48-58.
Kato H., et al., “Marker Tracking and HMD Calibration for a Video-Based Augmented Reality Conferencing System,” Proceedings of the 2nd IEEE and ACM Intl Workshop on Augmented Reality, San Francisco, California, 1999, pp. 85-94.
Klinker G., “Augmented Maintenance of Powerplants: A Prototyping Case Study of a Mobile AR System,” International Symposium on Augmented Reality, 2001, IEEE Computer Society, pp. 124-136.
Levine J.M., “Real-Time Target and Pose Recognition for 3-D Graphical Overlay,” Master's thesis, 1997, 48 pages.
Ljungstrand P., et al., “WebStickers: Using Physical Tokens to Access, Manage and Share Bookmarks on the Web,” Proceedings of the 2000 ACM Conference on Designing Augmented Reality Environments (DARE 2000), 2000, pp. 23-31.
Rekimoto J., et al., “Augment-able Reality: Situated Communication Through Physical and Digital Spaces,” Wearable Computers, Second International Symposium, 1998, pp. 68-75.
Rekimoto J., et al., “CyberCode: Designing Augmented Reality Environments With Visual Tags,” Proceedings of the 2000 ACM Conference on Designing Augmented Reality Environments, 2000, pp. 1-10.
Rekimoto J., et al., “The World Through the Computer: Computer Augmented Interaction With Real World Environments,” ACM Symposium on User Interface Software and Technology, 1995, pp. 29-36.
Rekimoto J., “NaviCam: A Palmtop Device Approach to Augmented Reality,” Fundamentals of Wearable Computers and Augmented Reality, 2001, Barfield and Caudell, Eds., pp. 353-377.
Rohs M., et al., “A Conceptual Framework for Camera Phone-Based Interaction Techniques,” Pervasive Computing. Lecture Notes in Computer Science, 2005, vol. 3468, pp. 171-189.
Siltanen S., et al., “Implementing a Natural User Interface for Camera Phones Using Visual Tags,” Proceedings of the 7th Australasian User interface conference, 2006, vol. 50, pp. 113-116.
Smailagic A, et al., “Metronaut: A Wearable Computer With Sensing and Global Communication Capabilities,” First International Symposium on Wearable Computers, Oct. 13-14, 1997, Cambridge, Massachusetts; Digest of Papers, pp. 116-122.
Smith J.R., et al., “VisualSEEk: A Fully Automated Content-Based Image Query System,” Proceedings of the fourth ACM international conference on Multimedia, ACM New York, 1996, pp. 87-98.
Starner T., et al., “Augmented Reality Through Wearable Computing,” Presence: Teleoper. Virtual Environ. 6, 4, Massachusetts Institute of Technology, 1997, 24 pages.
Supplementary European Search Report for Application No. EP02778730, mailed on May 14, 2007, 3 pages.
Supplementary European Search Report for Application No. EP06801326, mailed on Aug. 12, 2008, 8 pages.
Suzuki G., et al., “u-Photo: Interacting with Pervasive Services Using Digital Still Images,” Pervasive Computing. Lecture Notes in Computer Science, vol. 3468, 2005, pp. 190-207.
Toye E., et al., “Interacting with Mobile Services: An Evaluation of Camera-Phones and Visual Tags,” in: Personal and Ubiquitous Computing, vol. 11 (2), Springer-Verlag, London Limited, 2007, pp. 97-106.
Wagner D., et al., “First Steps Towards Handheld Augmented Reality,” Vienna University of Technology, Proceedings of Seventh IEEE International Symposium on Wearable Computers, Oct. 18-21, 2003, 9 pages.
Yang J., et al., “Smart Sight: A Tourist Assistant System,” Digest of Papers, Third International Symposium on Wearable Computers, Oct. 18-19, 1999, San Francisco, California, pp. 73-78.
Yeh T., et al., “Searching the Web with Mobile Images for location Recognition,” IEEE: Proceedings of the 2004 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'04), 1063-6919/04, 2004, 6 pages.
Zhang X., et al., “Taking AR Into Large Scale Industrial Environments: Navigation and Information Access With Mobile Computers,” Proceedings of the IEEE and ACM Intl Symposium on Augmented Reality, 2001, pp. 179-180.
Related Publications (1)
Number Date Country
20160012077 A1 Jan 2016 US
Provisional Applications (2)
Number Date Country
60317521 Sep 2001 US
60246295 Nov 2000 US
Divisions (5)
Number Date Country
Parent 14251480 Apr 2014 US
Child 14615162 US
Parent 13968666 Aug 2013 US
Child 14251480 US
Parent 13633533 Oct 2012 US
Child 13968666 US
Parent 13464410 May 2012 US
Child 13633533 US
Parent 13005716 Jan 2011 US
Child 13464410 US
Continuations (2)
Number Date Country
Parent 12505714 Jul 2009 US
Child 13005716 US
Parent 11342094 Jan 2006 US
Child 12505714 US
Continuation in Parts (1)
Number Date Country
Parent 09992942 Nov 2001 US
Child 11342094 US