MXPA00007129A - System for retrieving images using a database - Google Patents

System for retrieving images using a database

Info

Publication number
MXPA00007129A
MXPA00007129A MXPA/A/2000/007129A MXPA00007129A MXPA00007129A MX PA00007129 A MXPA00007129 A MX PA00007129A MX PA00007129 A MXPA00007129 A MX PA00007129A MX PA00007129 A MXPA00007129 A MX PA00007129A
Authority
MX
Mexico
Prior art keywords
image
images
binary
regions
investigated
Prior art date
Application number
MXPA/A/2000/007129A
Other languages
Spanish (es)
Inventor
Abdelmottaleb Mohamed
Krishnamachari Santhana
Original Assignee
Philips Electronics North America Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Philips Electronics North America Corp filed Critical Philips Electronics North America Corp
Publication of MXPA00007129A publication Critical patent/MXPA00007129A/en

Links

Abstract

The system builds a database which stores data corresponding to a plurality of images. To begin, the system divides each image into N (N=1) regions. Then, for each of the N regions, the system calculates a histogram of the region, generates a binary representation of the histogram, and stores data corresponding to the image in a binary tree based on the binary representation. The database may then be used to determine images which are similar to a query image. To do this, the system divides the query image into N regions, each of which corresponds to one of the binary trees in the database. Data corresponding to one or more images in the database is then retrieved from the binary trees based on the N regions. The system then determines which of these images is similar to the query image based on the retrieved data.

Description

SYSTEM TO RECOVER IMAGES USING A DATABASE BACKGROUND OF THE INVENTION Field of the Invention The present invention is directed to a system, which constructs an image database, which retrieves images from the database on the basis of an "investigated" image, and which determines whether The recovered images are similar to the investigated image. In the construction of the database, the system generates binary representations for regions of an image, and then uses those binary representations to store image indicators in binary trees. In the recovery of the images of the database, the system generates binary representations of the investigated image, selects an image of the database by moving through its binary trees using the binary representations, and retrieves indicators of the image of the binary trees .
Description of Related Art In recent years, computers and other digital equipment have become common for staff to process and present digital images. This is due, not in a small part, to the increase in the plurality of digital video on the Internet. As a result of this increase in the use of digital images, it has become necessary to recover images from databases of increasingly larger images. This typically does not represent a problem if there is some way to easily identify the images, such as via the file name or the like. On the other hand, it is more difficult to recover images from a large database if the only way to recover images is based on their content, as is often the case, for example, for digital video and for scanned images. For example, a user may wish to locate a short video based on a single video frame, or locate a particular video frame within a short video. Similarly, a user may wish to determine which of a plurality of preallate images is best suited to a scanned image. In those cases, the recovery of the image can be difficult. In view of the above, researchers have developed systems to select and recover an image based on its content. In general, these systems operate by introducing an "investigated" image, such as an individual digital video frame, an explored image or the like, determining which image in a database is similar to the investigated image, and then recovering that image.
Conventional systems of this type, however, suffer from several drawbacks, particularly with respect to the speed of operation. Specifically, conventional content-based image retrieval systems tend to be relatively slow. That is, conventional systems typically depend on some form of feature extraction and comparison to determine which images in the database are similar to the investigated image. Although such comparisons can provide accurate results, they require a significant amount of processing, particularly in cases where the images have a relatively high resolution, or where there are numerous comparisons to be made. This excessive processing significantly slows down the process. Consequently, there is a need for an image recovery system based on the content that resolves the above and other disadvantages of conventional systems. In particular, there is a need for a system that provides an image recovery based on the exact content, and that also operates more quickly than its conventional counterparts.
BRIEF DESCRIPTION OF THE INVENTION The present invention solves the above needs by constructing an image database that uses binary representations of the image histograms, and then determines which images in the database are similar to an investigated image by scrolling through the image. database using a binary representation of the investigated image. Using binary representations of the images to build the database and to determine similar images, the invention reduces the amount of processing required to recover images based on its content. As a result, the invention operates more rapidly than its conventional counterparts. Thus, according to one aspect, the present invention is a system (e.g., a method, an apparatus, and process steps executable in a computer) for constructing a database, which stores data corresponding to a plurality of images. The system begins by dividing each image into N (N = l) regions. Subsequently, for each of the N regions of an image, the system calculates a histogram of the region, generates a binary representation of the histogram, and stores the data corresponding to the image in a binary tree based on the binary representation.
In the preferred embodiments of the invention, the system calculates the histogram for the region based on color image data in the region, and generates the binary representation by performing a Haar transformation on the histogram to generate wavelet coefficients thereof. then quantize the coefficients. By virtue of these features of the invention, it is possible to generate a substantially unique binary representation of each image, thereby eliminating the need to store excessive amounts of data in the database. As a result, a database can be generated which contains data for a relatively large number of images, and which can be traversed relatively quickly without sacrificing accuracy. In other preferred embodiments of the invention, the system stores data in the binary tree by comparing at least some bits of the binary representation with the corresponding nodes to a current node in the binary tree, and then determines whether * the current node in the binary tree stores data from more than a predetermined number of images. In a case where the current node in the binary tree stores data for more than the predetermined number of images, the invention divides the current node into two subsequent nodes, and stores the data in the subsequent nodes. On the other hand, in the case where the current node in the binary tree stores data of less than or equal to the predetermined number of images, the invention stores the data in the current node in the binary tree. By virtue of these characteristics, it is possible to build the database in an adaptable way, so that the data can be stored in fewer nodes. As a result, smaller binary trees can be generated, thus decreasing the size of the database and, consequently, the time it takes to traverse the database. According to another aspect, the present invention is a system that determines which images in a database are similar to an investigated image, where the database is comprised of N (N> 1) binary trees, and where each one of the N binary trees stores data that corresponds to one or more predetermined images. Specifically, the system divides the investigated image into N regions, each of which corresponds to one of the N binary trees, and retrieves data corresponding to one or more predetermined images of the binary trees corresponding to the N regions. Subsequently, the system determines which of the predetermined images are similar to the image investigated based on the recovered data. Using binary trees and binary image representations, this aspect of the invention reduces the time it takes to determine which of the images in the database are similar to the investigated image. By reducing this time, the invention also reduces the total time it takes to recover such an image from memory. In the preferred embodiments of the invention, the data corresponding to the predetermined images comprise indicators for the predetermined images in the memory. In those modalities, the system determines which of the predetermined images are similar to the investigated image based on which indicators were recovered. Specifically, the default image for which a greater number of indicators was recovered is determined to be the most similar one investigated among the images in the database. In other preferred embodiments, the system determines which of the predetermined images is similar to the investigated image by identifying candidate images among the predetermined images that could correspond to the investigated image, classifying the candidated images in order from an image with greater probability of corresponding the investigated image to an image with the lowest probability of corresponding to the investigated image, and to present a list of classified candidate images. By virtue of these features, the invention provides a classified list of candidate images to the user. The user can then view and select the most appropriate images.
This brief summary has been provided so that the nature of the invention can be quickly understood. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiments thereof in relation to the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 shows a network system which includes the physical components or equipment in which the present invention can be implemented. Figure 2 shows the physical components or specific equipment in which the invention is implemented. Figure 3 shows the architecture of physical components or equipment. Figure 4 is a flow chart showing the steps of the process for building a database in accordance with the present invention. Figure 5 shows the basic Haar functions of length of 0, 1 and 2. Figure 6 shows a binary tree used in the database of the present invention. Figure 7 is a flow diagram showing the steps of the process for recovering images from the database constructed by the invention.
Figure 8 shows a binary tree used in the database generated by the second embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED MODALITIES Initially, it should be noted that the present invention can be implemented by processors of many different types of image processing devices including, but not limited to, video postprocessing equipment, a digital television, and an upper case for an analog or digital television system. In order to be brief, however, the invention will be described in the context of a networked personal computer ("PC"). Figure 1 shows an example of a network 1 in which the present invention can be implemented. Network 1 can comprise any type of network, such as a local area network ("LAN"), a wide area network ("WAN"), a variable bandwidth network, an ATM network, the Internet, etc. . In the preferred embodiments, the network 1 includes, for example, a plurality of PCs 2, 3, 4 and 5, the server 6, the printer 7, and a network connection means 8, among other things. The network connection means 8 may be, for example, an ethernet cable, wireless link, or a combination thereof, over which the data packets comprised of image data and other information are transmitted. PCs 2 and 5 include, among other things, rugged applications for receiving and processing image data, storing image data locally, presenting images formed from the image data, and / or changing the image data actually to the net. The output of image data to the network may be provided, for example, to the printer 7 or to the server 6. In the preferred embodiment of the invention, the server 6 maintains a centralized image database, to which it may have access several PCs in the network to store and recover images. Of course, it should be noted that the invention is not limited to use with a centralized network database. In effect, the invention can be used to store and retrieve images of any type of memory, local, remote or otherwise. Figure 2 shows the computer equipment of the PC 2, shown in Figure 1, in which the present invention was implemented. As shown in Figure 2, the PC 2 includes a network connection 9 for interconnecting to the network 1 and a fax / modem connection 10 for interconnecting with the network or other devices (not shown), particularly those capable of feeding data. of pictures. Examples of such devices include, but are not limited to, a digital camera, a digital video camera and an explorer. The PC 2 also includes a display screen 11 for presenting information (including images / video) to a user, a keyboard 12 for feeding text and user commands, a mouse 14 for placing a cursor on the display screen 11 and for feeding user commands, a disk drive 15 for reading and writing to floppy disks installed therein, and a CD-ROM drive 16 for accessing data (eg images) stored on the CD-ROM. The PC 2 may also have one or more local peripheral devices connected to it, such as a printer 17. Figure 3 shows the internal structure of the PC 2. As shown in Figure 3, PC 2 includes memory 19, which comprises a computer-readable medium such as a computer hard disk and / or RAID ("redundant array of cheap disks"). Memory 19 stores data 20, applications 21, and operating system 24. In preferred embodiments of the invention, operating system 24 is a system that operates with windows, such as Windows 98 of Microsoft; although the invention can be used with other operating systems as well. Among the applications stored in memory 19, there are multiple media applications 25, image encoder 26, an image decoder 27, and an image archive 29. In summary, the multi-media application 25 may comprise any of a number of well-known multi media applications to process, view and edit images and / or video. The image encoder 26 comprises an application which encodes the output of the image data, for example, from multi-media applications 25. Any of a number of well-known image coding techniques can be used, including but not limited to JPEG, DVB, MPEG-1, and MPEG-4. The image decoder 27 comprises an application which decodes encoded image data (e.g., MPEG image data, JPEG, etc.) received from the network 1. The image cabinet 29 implements the present invention by building a database of such decoded images, storing that database in a memory, such as server 6, retrieving those images as required. Next, a detailed description of the data file cabinet 29 is provided. Returning to Figure 3, the PC 2 also includes a display interface 30, a keyboard interface 31, a mouse interface 32, a disk drive interface 34 , CD-ROM interface 35, computer collective driver 36, a RAM 37, a processor 39, and a printer interface 40. The processor 39 preferably comprises a microprocessor or the like to execute applications, such as those noted above, outside of RAM 37. Such applications, including the application of multiple means 25, the image encoder 26, the image decoder 27 and the image cabinet 29, may be stored in the memory 19 (as noted above) or, in alternatively, on a floppy disk in the disk drive 15 or a CD-ROM in a CD-ROM drive 16. The processor 39 has access to applications (or other data) stored in a floppy disk ible via the disk drive interface 34 and has access to applications (or other data) stored on a CD-ROM via the interface of the CD-ROM drive 35. The execution of the application and other tasks of the PC 2 may be started using the keyboard 12 or the mouse 14, the commands of which are transmitted to the processor 39 via the keyboard interface 31 and the mouse interface 32, respectively. The results of the output of the application running on the PC2 can be processed by the display interface 30 and then presented to a user in the visual representation device 11 or, alternatively, sent to the network 1 via the connection Up to this point, the display interface 30 preferably comprises a display processor for forming images based on the image data provided by the processor 39 on the collective conductor of the computer 36, and for sending those images to the visual representation device 11. As described in detail below, the data for those images can be retrieved, for example, from server 6, via the image archive 29. In this regard, the image archive 29 comprises an executable code. by a computer (that is, the steps of the process) that is used to build a database comprised of a plurality of im Images and to recover images, using a database, which are similar to an entry, or "investigated" image. To construct the database, the image archive 29 divides an input image into N (N = l) regions. Subsequently, for each region, the image archiver 29 calculates a histogram of the region, generates a binary representation of the histogram, and stores the data corresponding to the image in a binary tree based on the binary representation. To retrieve images similar to an investigated image using a database, the system divides the investigated image into N regions, each of which corresponds to one of the binary trees. Next, it retrieves the data corresponding to one or more predetermined images of the binary tree corresponding to the N regions, and determines which of the predetermined images are similar to the investigated image based on the recovered data.
[First Mode] In more detail, Figure 4 shows the steps of the process of implementing the construction aspect of the database of the invention. To begin, step S401 feeds an image, for example, to PC 2 to include it in the image database. In this regard, as noted above, the image database preferably receives on a centralized network server, such as server 6. Of course, the database may also be local. The data for the image can be fed from a variety of sources. For example, they can be downloaded over the network (as is often the case with frame video) or can be fed directly from an image-feeding device, such as the scanning device, digital camera or digital video camera. Step S402 then divides the image fed into N (N = l) regions. In the preferred embodiments, step S 402 divides the image into rectangular regions of equal size, substantially contiguous of NxN that cover the entire image. It should be noted, however, that the invention is not limited to dividing the image or rectangular regions, much less in rectangular regions that cover the entire image or are of equal size. However, in the following it is assumed that this is the case.
Next, steps S403 and S406 are repeated for each of the rectangular regions produced in step S402. Specifically, step S403 calculates a histogram of a region. In the preferred embodiments of the invention, the histogram is calculated based on the color image data in the region, such as RGB data (red, green, blue), CMYK (cyan, magenta, yellow, black), LUV, etc. In the case that the image fed is a grayscale image, the histogram can be calculated, instead, based on the image data in gray scale of the image. The invention can also be configured to calculate the histogram based on the characteristics of the image, in addition to the color. After step S403, step S404 performs a Haar wavelet transformation on the histogram using basic Haar functions of length m, where m is a positive integer greater than 0 that is experimentally determined to provide an optimum number of coefficients of Haar wave train. As is well known in the art, the transformation of the Haar wave train is based on an orthonormal system of functions, so that for a continuous function, the series F. { X) = ja2l w (2'x- k): D j = 0 converges to f (x) uniformly over the interval 0 < X < 1. This leads to a set of basic rectangular functions, such as those described in Figure 5. Specifically, Figure 5 shows Haar's basic functions of length 0, 1, and 2, with the subsequent basic functions of lengths 3. 4 . . . m following the pattern shown. Step S404 uses such basic functions to provide coefficients of the Haar wavelength for the histogram generated in step S403. Of course, it should be noted that the invention is not limited to using the basic functions of Haar, and that other functions / transformations can be used to determine the coefficients in this step. However, the following assumes that coefficients of the Haar wave train were generated, as opposed to some other type of coefficients. Once the Haar wavelet coefficients have been generated in step S404, step S405 performs a binary quantization of the coefficients to generate a binary representation of the histogram having m bits. In preferred embodiments of the invention, the binary representation of the histogram is generated in accordance with the pseudo-code set forth in the appendix hereto. Specifically, in this pseudocode, a histogram h that has n compartments and m coefficients of the Haar wave stream is computed by invoking the Binary (h [l,. . . n]) and carrying out the steps of it. Of course, alternative binary quantization methods can also be used with the present invention. When the binary representation of the histogram is generated, as in the pseudocode, the differences between the points of the histogram may be marginal (for example, below a threshold k), so it is not clear whether the binary representation of the histogram should contain a "0" or a "1" in one or more ~ points of it. In those special cases, more than one (for example, two, three, etc.) binary representations of the same histogram can be generated, one containing a "0" and the other containing a "1" at each "questionable" point, to take into account all the possibilities. Next, step S406 stores the data corresponding to the fed image in a binary tree, as shown in Figure 6, based on the binary representation generated in step S405. In this mode, since there are N bits in the binary representation, the binary tree will have m levels of 2m nodes, or "leaves". The data stored in the binary tree comprises one or more indicators of the places in the memory where the fed image is stored. In this way, if the fed image is stored in a local memory of the PC, the indicator would indicate such thing. Similarly, if the fed image is stored in the memory of a remote network PC, or a remote network server, the indicator would indicate this. To store the data in a binary tree, the invention traverses the binary tree using the binary representation generated in step S405. Specifically, the invention compares each bit in the binary representation with a corresponding node in the binary tree, and then branches to the left or to the right in the binary tree based on whether an equalization between a corresponding bit and a node was achieved. . For example, with reference to Figure 6, for a binary representation of "011", in the node 42, the invention determines whether the oß s or bit of the binary representation has a value of 0 or 1. In this example, the or is a bit has a value of 0, so that the invention bifurcates to the left. Next, the first bit is tested. Here, the first bit has a value of 1, so that the invention bifurcates to the right. Finally, the second bit is tested. Here, the second bit has a value of 1, so that the invention branches again to the right, arriving at a final point in the binary tree, namely node 44. There, the invention stores data (for example an indicator ) for the image fed.
After step S406, processing proceeds to step S407. Step S407 determines if there are any remaining image regions of the fed image that need to be processed. If such regions exist, processing returns to step S403, then steps S413 to S406 are repeated for the new region of the image. This results in data for each of the N regions that are being stored in a separate binary tree. In this way, the invention maintains the same number of binary trees, here N (N = l), since there are regions of the fed image. Those binary trees, taken together, comprise the database of the present invention. Once all regions of the image have been binary trees, processing ends. The processing on subsequent images can then be performed in the manner described above to store the data corresponding to additional images. At this point, it should be noted that the data corresponding to regions of similar or identical images of different images can be stored in the same point of a binary tree. This is described, for example, at nodes 44, 45 and 46 of Figure 6, each of which includes indicators for more than one "D" image. Consequently, if the indicators of an image are deleted from the database, they must be deleted from each of the binary trees. The indicators stored above, together with the N binary trees, are used by the invention to effect the recovery of the image to determine the degree of similarity between images. In this regard, Figure 7 shows the steps of the process for implementing this aspect of the invention. To begin, step S701 feeds an investigated image. As was the case in step S401 above, the investigated image can be fed from one of a variety of different sources, for example, it can be downloaded onto the network, fed directly from an image feeder device, such as a scanning device. , digital camera, or digital video camera, etc. Next, step S702 divides the investigated image into the same number of regions as existing binary trees in the database. Here, the database comprises N (N = l) binary trees. Accordingly, step S702 divides the investigated image into a region, each of which corresponds to one of the binary trees. Subsequently, steps S703 to S706 are repeated for each of the N regions of the investigated image.
In this regard, the processing performed in steps S703 to S705 is substantially identical to that performed in the previous steps S403 to S405. Accordingly, a detailed description of them will be omitted here for the purpose of being brief. To summarize, step S703 calculates the histogram of the current region of the image investigated based on color image data or the like within the region. Step S704 performs a Haar transformation on the histogram of step S703 using a basic Haar function having a length N to generate wavelet coefficients thereof; and step S705 performs binary quantization on those coefficients to generate a binary representation of the histogram comprised of m bits. Step S706 then retrieves, from the binary tree for the current region, data for one or more predetermined images. This is done by traversing the binary tree using the histogram representation of the current region until the end point of the binary tree is reached. The crossing of the histogram here is carried out in the same way as described above, that is, comparing each bit in the binary representation with a corresponding node in the binary tree and turning left or right in the binary tree based on whether achieves an equalization. Accordingly, a detailed description thereof was omitted here. Once the final point of the histogram has been reached, step S706 retrieves the data stored there. Specifically, the preferred embodiment, step S706 retrieves the indicators of the different images stored at the end point of the binary tree. Subsequently, step S707 determines whether there are any remaining image regions to be processed. If such regions exist, the processing returns to step S703, subsequently the above is repeated. If such regions do not exist, the processing returns to steps S708 and S709. Generally speaking, those steps determine which images in the database are similar (but not necessarily identical) to the investigated image, and then retrieve one or more of those images from memory. More specifically, step S708 identifies which of the images whose indicators were retrieved from the database are similar to the image investigated. Specifically in this modality, an image for which the greatest number of indicators was recovered is identified as the most similar (for example, possibly identical) to the investigated image. Thus, for example, if N = 6 means that the investigated image was divided into 6 image regions and that there are 6 binary trees in the database, a degree of similarity of the image with the investigated image is determined on the basis of to 6 sets of indicators recovered in step S706. For example, if the indicators [1,2,4] were retrieved from the first binary tree in the database in step S706, no indicators were retrieved from the second binary tree, the indicators [1,3,4] were retrieved from the third binary tree, the indicators [1,4,5] were retrieved from the fourth binary tree, the indicators [1,2] were retrieved from the fifth binary tree, and the indicator [1] was retrieved from the sixth binary tree, the image that corresponds to the indicator [1] will be identified as similar (ie very similar to) the image investigated, since the indicator [1] was retrieved more frequently from the binary trees. The other images are less similar. In this regard, step S708 can classify the images whose indicators are stored in the database as "candidate images" based on their degree of similarity to the investigated image. That is, step S708 can classify the candidate images to form an image that corresponds more closely to the investigated image with an image that corresponds less closely to the investigated image. This classification is preferably based on the number of indicators that correspond to each candidate image. Thus, for the example given above, the classification would be as follows, starting with the most likely candidate: links [1], [4], [2], [3] and [5]. A list of those classified candidate images can then be presented to the user, for example, on the display screen 11 from which the user can view the candidated images and select which is considered appropriate under the circumstances. After step S708, processing proceeds to step S709. Step S709 determines whether it retrieves, from the image, an image that was determined to be similar to the investigated image. In the case where the image is recovered, step S710 has access to the appropriate memory (which can be local or remote) and retrieves the image data. The image can then be presented to a user or, for example, via the network connection 9. Subsequently, the process ends.
[Second Mode] The second embodiment of the invention is identical to the first embodiment described above, except with respect to step S406 of Figure 4. More specifically, in the first embodiment, step S406 stores the data corresponding to a image fed into the endpoints of each binary tree. In the first mode, these endpoints are all located at the same level of the binary tree. This embodiment of the invention, however, constructs the database in an adaptive manner, so that the data of a plurality of images can be stored at different levels of the binary tree. As a result, smaller binary trees can be generated, thereby decreasing the total size of the database and, consequently, the time it takes to traverse the database. In brief, in this embodiment, step S406 stores the data in the binary tree by comparing at least some bits in the binary representation with the corresponding nodes to a current node in the binary tree, and determining whether the current node in the binary tree stores data for more than a predetermined number of images. In the case where the current node in the binary tree stores data for more than the predetermined number of images, step S406 divides the current node into two subsequent nodes, and stores the data in the subsequent nodes. On the other hand, in the case where the current node in the binary tree stores data of less than or equal to the predetermined number of images, step S406 stores the data in the current node in the binary tree. Consequently, the data can be stored in fewer nodes, thus decreasing the size of the database.
More specifically, as shown in Figures 6 and 8, in this embodiment, the invention stores data from nodes 50, 51, 52 and 53 of Figure 6 at node 54 of Figure 8, since during the construction of the binary tree the amount of data accumulated in node 54 is not sufficient to guarantee the division of the node. Similarly, in this embodiment, data from nodes 46 and 55 of Figure 6 are combined and stored in node 56 of Figure 8. Thus, as shown, the second embodiment of the invention eliminates 8 nodes of the resulting binary tree, thereby reducing the size of the database considerably. As also shown, however, the data of nodes 44 and 45 of Figure 6 are not combined in Figure 8, since the accumulated amount of data of node 70 during construction of the binary tree guarantees division into two nodes. Separate 44 and 45. The amount of data that will guarantee the division of the node can be set experimentally to provide an optimal recovery point while maintaining a high degree of accuracy. Once the data has been stored in the binary tree, the processing of the second mode is identical to that of the first mode. Since a description of this processing was provided above, it will not be repeated here.
As noted above, although the invention is described in the context of a personal computer, the invention can be used with any apparatus that processes digital images. For example, the invention can be used in a digital television, such as the one described in U.S. Patent Application. No. 09 / 062,940, entitled "Digital Television System that Changes Channels in Response to Control Data in a Television Signal", the content of which is incorporated herein as a reference in the subject application, as if it were presented here in its whole. For example, the invention could be executed by the television processor to locate a short video stored on the basis of a downloaded picture. That is, once the location of the box is identified, the location of the short video that includes the box will also be identified. In a similar way, the invention could be used in a computer-controlled photocopier for pattern detection. For example, a problem with conventional photocopiers and color copiers in particular, is related to the copying of paper money, bank notes, and security. That is, since it is illegal to copy such documents, copiers typically store those "forbidden" images in a memory, compare each scanned image with those forbidden images, and, when forbidden images are detected (ie, when the scanned image is substantially identical to an image stored in memory), avoid copying. The database of the present invention can be used in this way to determine whether a scanned image corresponds to one of those forbidden images. Finally it should be noted that the process steps shown in Figures 4 and 7 do not necessarily need to be executed in the order exact shown, and that the order shown is simply a way in which the invention operates. In this way, other execution orders are permissible, as long as the functionality of the invention is maintained substantially. In this regard, the present invention has been described with respect to particular illustrative embodiments. It should be understood that the invention is not limited to the embodiments and modifications described above thereof, and that those skilled in the art can make various changes and modifications without departing from the spirit and scope of the appended claims. The invention may further provide a method for constructing a database that stores data corresponding to a plurality of images: wherein the data corresponding to the image comprises an indicator of the image in the memory. where the calculation step calculates the histogram for the region based on the data of the color image in the region. where the N regions comprise N contiguous rectangular regions of the image. The invention may further provide a method for determining which images in a database are similar to a researched image: where the calculation step calculates the histogram based on the data of the color image in the region. where the generation step comprises: performing a Haar transformation on the histogram to generate wavelet coefficients thereof (S704); and quantize the coefficients to generate the binary representation (S705). The invention can also provide computer executable process steps stored in a computer-readable medium to build a database which stores data corresponding to a plurality of images: where the data corresponding to the image comprises an indicator of the image in memory. where the calculation code calculates the histogram of the region based on the data of the color image in the region. wherein the generation code comprises: the code that effects a Haar transformation on the histogram to generate wavelet coefficients thereof (S404); and the code that quantizes the coefficients to generate the binary representation (S405). where the storage code comprises: the code that traverses the binary tree using the binary representation; and the code that stores the data corresponding to the image in a final point of the binary tree. where the offset code compares each bit in the binary representation with a corresponding node in the binary tree, and branches to the left or right in the binary tree based on whether an equalization is reached until the end point is reached. wherein the storage code comprises: the code comparing at least some bits in the binary representation with the corresponding nodes up to a current node in the binary tree; and the code that determines whether the current node in the binary tree stores data for more than a predetermined number of images; where, in the case where the current node in the binary tree stores data for more than the predetermined number of images, the storage code divides the current node into two subsequent nodes, and stores the data in the subsequent nodes; and where, in the case where the current node in the binary tree stores data in the smaller or equal to the predetermined number of images, the storage code stores the data in the current node in the binary tree. where the storage code stores data corresponding to the image in N separated binary trees, a binary tree for each of the N regions of the image, where the N regions comprise N contiguous rectangular regions of the image. The invention may also provide computer executable process steps stored in a computer-readable medium to determine which images in a database are similar to an investigated image: where the recovery code comprises the code which, for each of the N regions of the investigated image, calculates a histogram of the region (S703), generates a binary representation of the histogram (S704, S705), and retrieves data corresponding to one or more predetermined images traversing a binary tree corresponding to the region that uses the binary representation of the histogram (S706). where the calculation code calculates the histogram based on data of the color image in the region. wherein the generation code comprises: the code that effects a Haar transformation on the histogram to generate wavelet coefficients thereof (S704); and the code that quantizes the coefficients to generate the binary representation (S705). where the data corresponding to one or more predetermined images comprise indicators of the predetermined images in the memory; and where the determination code determines which of the predetermined images are similar to the investigated image based on which indicators were recovered by the recovery code. where a predetermined image for which the greatest number of indicators was recovered by the recovery code is determined as the one most similar to the image investigated. where the determination code comprises: the code will "identify candidate images among the predetermined images that could correspond to the investigated image, the code to classify the candidate images in order from an image that is more likely to correspond to the investigated image to an image with the lowest probability of corresponding to the investigated image, and the code to present a list of classified candidate images, where the classification code classifies the candidate images based on the data recovered by the recovery code, where the data recovered by the recovery code comprises image indicators in memory, and further comprising the code for recovering at least one predetermined image that is similar to the image investigated on the basis of a recovered indicator.The invention may also provide an apparatus for build a database that stores data cords corresponding to a plurality of images: where the data corresponding to the image comprises an indicator of the image in the memory (19). where the processor (39) calculates the histogram for the region based on the data of the color image in the region. where the processor (39) generates the binary representation of the histogram (i) by performing a Haar transformation on the histogram to generate wavelet coefficients thereof, and (ii) quantizing the coefficients. wherein the processor (39) stores the data (i) by traversing the binary tree using the binary representation and, (ii) storing the data corresponding to the image at a final point of the binary tree. where the processor (39) traverses the binary tree (i) comparing each bit in the binary representation with a corresponding node in the binary tree, and (iii) bifurking to the left or to the right in the binary tree based on whether a comparison was reached. wherein the processor (39) stores data (i) by comparing at least some bits in the binary representation with the corresponding nodes to a current node in the binary tree, and (ii) determining whether the current node in the binary tree stores data for more from a predetermined number of images; where, in the case where the current node in the binary tree stores data of more than the predetermined number of images, the processor (39) divides the current node into two subsequent nodes, and stores the data in the subsequent nodes; and where, in the case where the current node in the binary tree stores data of less than or equal to the predetermined number of images, the processor (39) stores the data in the current node in the binary tree. where the processor (39) stores data corresponding to the image in N separate binary trees, a binary tree for each of the N regions of the image. where the N regions comprise N contiguous rectangular regions of the image. where a network interface that interconnects the device to a network; and a server that stores the database, the server is remotely located in the device over the network. The invention can also provide an apparatus for determining which images in a database are similar to a researched image: where for each of the N regions of the image investigated, the processor (39) retrieves the data (i) by calculating a histogram of the region, (ii) generating a binary representation of the histogram, and (iii) retrieving data corresponding to one or more predetermined images through a binary tree corresponding to the region using the binary representation of the histogram. where the processor (39) calculates the histogram based on the data of the color image in the region. wherein the processor (39) generates the binary representation of the histogram (i) by performing a Haar transformation on the histogram to generate wavelet coefficients thereof, and (ii) quantizing the coefficients to generate the binary representation. wherein the data corresponding to one or more predetermined images comprise indicators of the predetermined images in the memory (19); and where the processor (39) determines which of the predetermined images are similar to the investigated image based on which indicators were retrieved. where a predetermined image for which a greater number of indicators was recovered by means of the processor (39) is determined as the one most similar to the investigated image. where the processor (39) determines which of the predetermined images is similar to the investigated image (i) identifying candidate images among the predetermined images that could correspond to the investigated image, (ii) classifying the candidate images in order from a larger image probability of matching the investigated image to an image with the lowest probability of corresponding to the investigated image; and (iii) presenting a list of classified candidate images. wherein the processor (39) sorts the candidate images based on the retrieved data corresponding to one or more predetermined images. where the data recovered by the processor (39) correspond to indicators of the images in the memory (19); and where the processor (39) further executes the steps of the process to recover at least one predetermined image that is similar to the image investigated based on the recovered indicator.
APPENDIX / * Pseudocode to perform the binary quantization on the Haar wavelet coefficients of a histogram / * k comprises a number of bits / * n comprises a number of compartments in the histogram / * m comprises a number of coefficients of the train of Haar waves calculated for the / * histogram / 'sig comprises the binary representation (or "signature") of the histogram Binary (h [l, ... k]). { A = average (h [1, ... k / 2]); B = average (h [k / 2 + 1, ... k]); Yes (A - B> 0) sig = sig +1; Since sig = sig + 0 Si (k = n / m) then return; Deviation to the left of sig in a bit; Binary (k [l, ... k / 2]); Binary (h [k / 2 + 1, ... k]);

Claims (21)

CHAPTER REIVINDICATOR O Having described the invention, it is considered as a novelty and, therefore, what is claimed is contained in the following CLAIMS:
1. A method for constructing a database that stores data corresponding to a plurality of images, where for each image, the method is characterized in that it comprises the steps of: dividing the image into N (N = l) regions; and for each of the N regions: calculate a histogram of the region; generate a binary representation of the histogram; and store the data corresponding to the image in a binary tree based on the binary representation.
The method according to claim 1, characterized in that the step of generation comprises: performing a transformation leaving on the histogram to generate coefficients of the wave train thereof; quantize the coefficients to generate the binary representation.
3. The method according to claim 1, characterized in that the storage step comprises: traversing the binary tree using the binary representation; and store the data corresponding to the image in a final point of the binary tree.
The method according to claim 3, characterized in that the displacement step comprises comparing each bit in the binary representation with a corresponding node in the binary tree, and branching to the left or right of the binary tree based on whether it is achieved a comparison until reaching the end point.
The method according to claim 1, characterized in that the storage step comprises: comparing at least some bits in the binary representation with the corresponding nodes up to a current node in the binary tree; and determining whether the current node in the binary tree stores data for more than a predetermined number of images; where, in the case where the current node in the binary tree stores data for more than a predetermined number of images, the storage step divides the current node into two subsequent nodes, and stores the data in the subsequent nodes; and where, in the case where the current node in the binary tree stores data of less than or equal to the predetermined number of images, the storage step stores the data in the current node in the binary tree.
6. The method of compliance with the claim 1, characterized in that the storage step stores data corresponding to the image in N separated binary trees, a binary tree for each of the regions of the image.
7. A method to determine which images in a database are similar to an investigated image, where the database is comprised of N (N = l) binary trees, and where each of the binary trees stores data corresponding to one or more of the predetermined images, the method is characterized in that it comprises the steps of: dividing the investigated image into N regions, each of the N regions corresponds to one of the N binary trees; retrieve data corresponding to one or more of the predetermined images of the binary trees corresponding to the N regions; and determine which of the predetermined images are similar to the image investigated based on the data recovered in the recovery step.
8. The method according to claim 7, characterized in that the recovery step comprises, for each of the N regions of the investigated image: calculating a histogram of the region; generate a binary representation of the histogram; and retrieving the data corresponding to one or more of the predetermined images by traversing a binary tree corresponding to the region using the binary representation of the histogram.
The method according to claim 10, characterized in that the data corresponding to one or more predetermined images comprise indicators of the predetermined images in the memory; and where the determination step determines which of the predetermined images are similar to the investigated image based on which indicators were retrieved by the recovery step.
The method according to claim 14, characterized in that the predetermined image for which the largest number of indicators is recovered by means of the recovery step is determined to be the most similar to the image investigated.
The method according to claim 10, characterized in that the determination step comprises: identifying the candidate images among the predetermined images that could correspond to the investigated image; classify the candidate images in order from an image most likely to correspond to the investigated image to an image with the lowest probability of corresponding to the investigated image; and submit a list of classified candidate images.
12. The method in accordance with the claim 11, characterized in that the classification step classifies the candidate images based on the data retrieved by the recovery step.
The method according to claim 7, characterized in that the data recovered in the recovery step comprises image indicators in the memory; and comprising, further, the step of recovering at least one predetermined image that is similar to the image investigated based on the recovered indicator.
14. The steps of the executable process in computer stored in a computer readable medium, the steps of the process executed in computer to build a database that stores data corresponding to a plurality of images, the steps of the executable process in computer are characterized because they include: a code which divides each image into N (N = l) regions; and a code, which for each of the N regions (i) calculates a histogram of the region, (ii) generates a binary representation of the histogram, and (iii) stores the data corresponding to the image in a binary tree based on the binary representation.
15. The steps of the computer executable process stored in a computer readable medium, the steps of the computer executable process to determine which images in the database are similar to an investigated image, where the database is comprised of N ( N = l) binary trees, and where each of the N binary trees stores data corresponding to one or more predetermined images, the steps of the executable process in computer are characterized because they comprise: a code to divide the investigated image in N regions, each of the N regions corresponds to one of the N binary trees; a code for retrieving data corresponding to one or more predetermined images of the binary trees corresponding to the N regions; and a code to determine which of the predetermined images is similar to the image investigated based on the data retrieved by the recovery code.
16. An apparatus for building a database that stores data corresponding to a plurality of images, the apparatus is characterized in that it comprises: a memory which stores the steps of the executable process in computer; and a processor which executes the steps of the process to divide each image into N (N = l) regions, and for each of the N regions, (i) calculates a histogram of the region, (ii) generates a binary representation of the histogram, and (iii) it stores the data corresponding to the image in a binary tree based on the binary representation.
17. An apparatus for determining which images in a database are similar to an investigated image, where the database is comprised of N (N = l) binary trees, and where each of the binary trees stores the corresponding data one or more predetermined images, the apparatus is characterized in that it comprises: a memory, which stores the steps of the executable process in computer; and a processor which executes the steps of the process for (i) dividing the image into N regions, each of the N regions corresponds to one of the N binary trees, (ii) retrieving the data qre corresponding to one or more predetermined images of the binary trees corresponding to the N regions, and (iii) determining which of the predetermined images are similar to the image investigated based on the recovered data.
18. The apparatus according to claim 47, characterized in that the apparatus is a personal computer.
19. The apparatus in accordance with the claim 47, characterized in that the apparatus is a photocopier.
20. The apparatus according to claim 47, characterized in that the apparatus is a digital television.
21. The apparatus in accordance with the claim 47, characterized in that it also comprises: a network interface, which interconnects the device in a network; and a server in the network which stores the database, the server is located far from the device over the network.
MXPA/A/2000/007129A 1998-11-20 2000-07-20 System for retrieving images using a database MXPA00007129A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09197315 1998-11-20

Publications (1)

Publication Number Publication Date
MXPA00007129A true MXPA00007129A (en) 2001-07-09

Family

ID=

Similar Documents

Publication Publication Date Title
US6226636B1 (en) System for retrieving images using a database
US9619485B2 (en) Document retrieving apparatus, document retrieving method, program, and storage medium
US7593961B2 (en) Information processing apparatus for retrieving image data similar to an entered image
US6502105B1 (en) Region-based image archiving and retrieving system
US6859802B1 (en) Image retrieval based on relevance feedback
US8195672B2 (en) Searching a repository of documents using a source image as a query
US8463051B2 (en) Modeling images as mixtures of image models
US7548916B2 (en) Calculating image similarity using extracted data
JP2005174333A (en) Method, program, and system for summarizing stream of ordered information
WO2008073366A2 (en) Target object recognition in images and video
JP5445457B2 (en) Image feature extraction device
JP2003153007A (en) Image compression control system and method based on image importance
GB2382254A (en) Image capture device for creating image data with metadata
JP5482655B2 (en) Image identity scale calculation system
Arora Building digital libraries: an overview
US7046851B2 (en) Image and video indexing scheme for content analysis
MXPA00007129A (en) System for retrieving images using a database
Yang et al. Mobile visual search via hievarchical sparse coding
Kim et al. Vector quantizer of medical image using wavelet transform and enhanced SOM algorithm
Wilson Texture feature extraction in the wavelet compressed domain
Liang et al. Coverless Image Steganography Based on Multi-Object Mapping Rules
Ayoobkhan Image Compression and Retrieval Using Prediction and Wavelet-Based Techniques
KR100811775B1 (en) System and method of processing bio-image
Lehtinen Coding of Wavelet-Transformed Images
Arora Digitisation: Methods, Tools and Technology