[0001] The present invention relates to data filing techniques.
[0002] Using PaperWorks™ on a PC., Xerox Corporation, 1992, pp. 1-4 and 71-86, describes document handling features
of PaperWorks™ software, a product of Xerox Corporation. Page 2 indicates that the
software stores a document as an electronic image and that a document from a personal
computer (PC) can be delivered to a fax machine, whether a document faxed to the PC
or a version of a document created on the PC. Page 73, near the bottom, shows an image
of a window entitled "Marketing Reports" within which an image of a name that had
been writen on a form is shown for a document sent to a PC from a fax machine. Page
79 indicates that such a document can be renamed. Pages 82-83 show how a DOS document
is included.
[0003] Using PaperWorks™ from a Fax Machine., Xerox Corporation, 1992, also describes document handling features of the PaperWorks™
software. Page 1 indicates that a user can retrieve documents from a personal computer
from a fax machine, whether a document faxed to the PC or a version of a document
created on the PC. Pages 9-11 illustrate forms used to retrieve documents, and explain
how to mark the forms to retrieve a document. Pages 20-23 illustrate forms used to
file a document on a PC from a fax machine, and page 21 shows a form in which a user
can write a name for a document.
[0004] The PaperWorks™ software manages documents using a database. Each document is assigned
an identifier within the database, and this identifier can be used to access the document.
In addition, the document can have an identifying image in the database, stored so
that the document identifier can be used to access the identifying image and vice
versa. In automatically creating a retrieval form, the software can use the document
identifier to access the identifying image and can then include the identifying image
in the form with a check box. If an image of the form is subsequently received with
the check box marked, the software can use a description of the form to access the
document identifier, and can then use the document identifier to access the document
and perform the requested retrieval operation.
[0005] A system that performs data storing and retrieval operations must have a way of selecting
a stored item of data for access. Conventionally, an item of data can be stored in
such a way that it can be accessed based on an identifier that includes ASCII codes
or other character codes.
[0006] Conventional techniques for providing ASCII codes or other character codes to a filing
system can be problematic in certain situations. If the codes are obtained directly,
such as by pressing keys of a keyboard, the filing system must have user input circuitry
for receiving such codes; in this case, a remote user able to communicate only through
a facsimile machine, for example, would have difficulty retrieving items of data.
On the other hand, if the codes are obtained indirectly through handprint recognition
or other recognition techniques, errors in recognition may make it difficult to access
a desired item of data.
[0007] Some conventional techniques use file identifiers that are automatically generated
by a filing system, such as strings of ASCII codes or other character codes. In addition
to the problems noted above, these techniques are problematic because an automatically
generated identifier may not include information that suggests the content of an item
of data to a user.
[0008] One object of the present invention is to alleviate these problems by enabling a
user to access a stored item of data by providing a human-produced query image.
[0009] Accordingly, the present invention provides a method, machine and article of manufacture
as defined in any one of the appended claims.
[0010] The query image could be produced, for example, by hand printing, hand writing, drawing,
typewriting, machine printing, or interactive image creation or editing. Therefore,
the query image can have an appearance that suggests the content of a desired item
of data to the user. Because the stored item of data can be accessed using the human-produced
query image, it is unnecessary to obtain ASCII codes or other character codes.
[0011] This technique can be implemented, for example, by storing data, referred to herein
as "identifying image data," defining an identifying image for a stored item of data.
Then, in response to query image data defining a query image similar to the identifying
image, the query image data and the identifying image data can be used to access the
stored item of data.
[0012] The query image data and the identifying image data can be used, for example, to
determine that the query image and the identifying image are similar. The identifying
image data and the stored item of data can be stored so that the item of data can
be accessed from the identifying image data. One way to do so is to register the identifying
image data and the item of data in a filing system, in a database, or in a data structure
such as a lookup table such that when data is used to access identifying image data,
data is also available to access the identified item of data.
[0013] The identifying image data can include data defining each pixel of the identifying
image, such as a bitmap in this case, the identifying image and the query image could
be compared by a correlation operation, such as by obtaining a Hausdorff distance.
[0014] The identifying image data can include a less detailed descriptor of the identifying
image in a form that facilitates comparison. For example, the descriptor can be a
one-dimensional signal descriptor of the identifying image. A descriptor of the query
image can similarly be obtained from the query image data, and a comparison can then
be performed using the two descriptors.
[0015] The comparison could be performed to obtain the item of data whose identifying image
is most similar to the query image. Or the comparison could be performed to obtain
any item of data whose identifying image is sufficiently similar to the query image
to meet a criterion.
[0016] If more than one stored identifying image is sufficiently similar to the query image
to meet a criterion, the identifying images can be used to permit a user to select
between the items of data they identify. For example, a form can be created automatically,
showing each identifying image next to a check box. Each check box can then be marked
to request retrieval of the item of data identified by the adjacent identifying image.
[0017] A machine implementing the invention can induce image input circuitry and memory.
Data defining an item of data and defining an identifying image for the item of data
can be stored in the memory. Data defining a query image can be received from the
image input circuitry. The data defining the query image and the identifying image
can then be used to access the item of data.
[0018] A software product implementing the invention can include a storage medium and data
stored by the storage medium. The software product can be used in a machine that includes
an item of data and its identifying image data stored in memory. The stored data can
include instructions that can be executed by the machine's processor. In executing
the instructions, the processor receives data defining a query image from image input
circuitry and uses the data defining the query image and the identifying image to
access the item of data.
[0019] The techniques described above are advantageous because they make it unnecessary
to employ ASCII codes or other character codes in data access. Instead, human-produced
query images can be used, such as handprinted images. The techniques are also advantageous
because they make it possible for the user to provide an identifying image that suggests
the content of an item of data it identifies; as a result, the user can more easily
remember the identifying image.
[0020] The present invention will be described further, by way of examples, with reference
to the accompanying drawings, in which:-
Fig. 1 is a schematic diagram illustrating how human-produced images can be used to
access an item of data,
Fig. 2 is a flow chart showing general steps in using a human-produced query image
to access an item of data,
Fig. 3 is a schematic block diagram showing general components of a software product
and a machine in which the software product can be used to implement the general steps
in Fig. 2,
Fig. 4 is a schematic block diagram showing ways in which a human can produce a query
image by a marking operation,
Fig. 5 is a schematic block diagram showing how a human can produce a query image
by interacting with a machine,
Fig. 6 is a schematic block diagram showing an item and its identifying image stored
in a database,
Fig. 7 is a schematic block diagram showing an item and its identifying image stored
in a filing system,
Fig. 8 is a flow chart showing acts in obtaining a measure of similarity using pixel
data defining an identifying image and a query image,
Fig. 9 is a flow chart showing acts in obtaining a measure of similarity using descriptors
for an identifying image and a query image,
Fig. 10 is a flow chart showing acts in accessing an item of data with an identifying
image that is sufficiently similar to a query image to meet a criterion,
Fig. 11 is a schematic view of a form for requesting access to a document,
Fig. 12 is a schematic view of an automatically created form listing items with identifying
images similar to a query image,
Fig. 13 is a flow chart showing user interface acts in response to forms like those
in Figs. 11 and 12,
Fig. 14 is a schematic block diagram of a personal computer system in which the invention
can be applied and
Fig. 15 is a schematic block diagram of a copier in which the invention can be applied.
A. General Features
[0021] Figs. 1-3 illustrate general features of the invention. Fig. 1 shows graphically
how an identifying image and a query image can be used to access an item of data.
Fig. 2 shows general steps in using a query image to access an item of data. Fig.
3 shows general components of a software product and of a machine in which it can
be used.
[0022] Fig. 1 shows image set 10, including form 12 and document 14, which includes N pages
as shown. Form 12 requests storage of document 14 and also includes field 16 for a
human-produced identifying image. As shown, field 16 includes marks 18 made by a human
by hand. A machine receiving data defining image set 10 can respond to form 12 by
automatically storing an item of data defining document 14 and identifying image data
defining an image of field 16.
[0023] Form 20 requests access of an item of data and also includes field 22 for a human-produced
query image. As shown, field 22 includes marks 24 made by a human by hand which are
similar to marks 18 in field 16. Therefore, the machine receiving data defining an
image of form 20 can respond by determining whether the identifying image from field
16 is similar to the query image from field 22. If so, the machine can access item
of data 30 defining document 14.
[0024] The general acts in Fig. 2 begin in box 50 by storing an item of data and by also
storing data defining a human-produced identifying image for the item of data. At
some later time, as indicated by the dashed line, the act in box 52 receives data
defining a human-produced query image that is similar to the identifying image. In
response, the act in box 54 uses the data defining the identifying image and the query
image to access the item of data stored in box 50.
[0025] Fig. 3 shows software product 60, an article of manufacture that can be used in a
system that includes components like those shown in Fig. 3. Software product 60 includes
data storage medium 62 that can be accessed by storage medium access device 64. Data
storage medium 62 could, for example, be a magnetic medium such as a set of one or
more tapes, diskettes, or floppy disks; an optical medium such as a set of one or
more CD-ROMs; or any other appropriate medium for storing data.
[0026] Data storage medium 62 stores data that storage medium access device 64 can provide
to processor 66. Processor 66 is also connected for accessing data stored in memory
68.
[0027] Processor 66 is also connected for receiving data defining images from image input
circuitry 70. The data could be obtained from facsimile (fax) machine 72; from scanner
74; from editor 76, which could be a forms editor or other interactive image editor
controlled by user input devices such as a keyboard and mouse or a pen- or stylus-based
input device; or from network 78, which could be a local area network or other network
capable of transmitting data defining an image.
[0028] Processor 66 is also connected for providing data defining images to image output
circuitry 80. The data could in turn be provided to fax machine 82, to printer 84,
to display 86, or to network 88.
[0029] In addition to data storage medium 62, software product 60 includes data stored by
storage medium 62. The stored data include data indicating instructions 90, which
processor 66 can execute to perform the acts in boxes 52 and 54 in Fig. 2. In performing
the act in box 52, processor 66 receives data defining a query image from image input
circuitry 70. In performing the act in box 54, processor 66 uses the data defining
the query image and identifying image data 92 to access item of data 94. Identifying
image data 92 defines an identifying image for item of data 94.
B. Possible Implementations
[0030] The general features described above could be implemented in numerous ways on various
machines to provide access to stored items of data.
1. Human-Produced Images
[0031] A user can provide data defining a human-produced image in many ways. Fig. 4 illustrates
ways in which a user can provide a human-produced image by a marking operation. Fig.
5 illustrates ways in which a user can provide a human-produced image by interacting
with a machine without a marking operation.
[0032] In Fig. 4, several examples of human-produced images are shown at left. Image 100
was produced by hand printing, image 102 by hand writing, image 104 by drawing circle
106 around text or graphics, and image 108 by hand drawing graphics. Image 110 was
produced by typing or by machine printing text or graphics.
[0033] Scanner 120 can receive a sheet holding any of the human-produced images in Fig.
4. In response, scanner 120 provides data defining a human-produced image to be used
in a data storage or access operation. For image 104, techniques as described in Bloomberg
et al., U.S. Patent 5,201,011, could be used to detect the marks and extract the region
within the circle.
[0034] Fig. 5 shows machine 130, which could be a personal computer, a workstation, or another
data processing system. Machine 130 includes processor 132, display 134, keyboard
136, and pointing device 138, illustratively a mouse. A user can operate keyboard
136 and pointing device 138 to provide signals to processor 132. In response, processor
132 presents and modifies image 140 on display 134, so that the user can continue
to provide signals until image 140 is satisfactory. Then the user can provide a signal
requesting that processor 132 provide data defining human-produced image 140 to be
used in a data storage or access operation.
[0035] Processor 132 could execute a number of types of software to permit a user to produce
an image in the manner described above. Processor 132 could execute document editing
software or image editing software. Further, processor 132 could have stored images
of characters printed by a human by hand, so that, in response to keystrokes on keyboard
136, processor 132 could include hand printed characters in image 140.
[0036] In practicing the invention, an identifying image could be produced in one of the
ways shown in Figs. 4 and 5, while a query image could be produced in another one
of the ways. For example, a first human could hand print an identifying image and
a second human could operate keyboard 136 to include characters printed by the first
human in image 140 to provide a query image similar to the identifying image.
2. Storing Identifying Image
[0037] An item of data and data defining its identifying image could be stored in various
ways. Fig. 6 shows how items and identifying images could be stored in a database.
Fig. 7 shows how items and identifying images could be stored in a filing system.
[0038] Fig. 6 shows entries in database 160 beginning with zeroth entry 162 and including
mth entry 164. Fig. 6 also shows stored data to which
mth entry 164 is linked.
[0039] As shown,
mth entry 164 includes several fields. Document ID field 170 includes a pointer to
item of data 172, document
m. Identifying image ID field 180 includes a pointer to item of data 182, data defining
identifying image
m, which identifies document
m. As a result, when data, such as from field 180, is used to access identifying image
data, such as item of data 182, data, such as from field 170, is also available to
access the identified item of data, such as item of data 172.
[0040] Fig. 7 shows directory 200 listing ascii file names in a file system such as Unix,
illustratively showing the zeroth name "ascii0" and the
nth name "asciin" The suffix "doc" can be annexed to the
nth file name in directory 200 to access item of data 202, document
n. Similarly, the suffix "name" can be annexed to the
nth file name to access item of data 204, data defining identifying image
n, which identifies document
n. As a result, when a file name from directory 200 is used to access identifying image
data, such as item of data 204, the file name is also available to access the identified
item of data, such as item of data 202.
3. Access Operations
[0041] Identifying image data and query image data could be used in various ways to access
an item of data. Fig. 8 shows acts in an implementation in which pixel data defining
an identifying image and a query image are used to obtain a measure of similarity.
Fig. 9 shows acts in an implementation in which pixel data are used to obtain descriptors
for the identifying image and for the query image and the descriptors are used to
obtain a measure of similarity. Fig. 10 shows acts in a routine that can access an
item of data based on operations like those in Figs. 8 and 9.
[0042] The act in box 220 in Fig. 8 obtains data indicating a value for each pixel of the
identifying image. This act can be performed using data defining an image that includes
the identifying image within a field, for example, in which case the pixel data indicate
the values of pixels within the field. As suggested by the dashed line in Fig. 8,
this act can be performed when the identifying image data is stored, and the pixel
data can be included in the identifying image data. This act can also include normalization
or any other operations necessary so that the same similarity measurement can be performed
on the identifying images of a number of items of data.
[0043] The act in box 222 is performed when data defining the query image is received. This
act obtains data indicating a value for each pixel of the query image. This act can
be performed using data defining an image that includes the query image within a field,
for example, in which case the pixel data indicate the values of pixels within the
field. This act can also include normalization or any other operations necessary to
facilitate measurement of similarity to identifying images.
[0044] The act in box 224 then uses the pixel data from boxes 220 and 222 to obtain data
indicating a measure of similarity between the identifying image and the query image.
For example, a Hausdorff distance or other fuzzy correlation could be obtained between
the two images. The use of a Hausdorff distance to compare images is described in
Huttenlocher, D.P., Klanderman, G.A., and Rucklidge, W.J., "Comparing Images Using
the Hausdorff Distance," Cornell University Department of Computer Science, CUCS TR
91-1211(revised), 1991, pp. 1-35.
[0045] As in box 220, the act in box 230 in Fig. 9 obtains data indicating a value for each
pixel of the identifying image. This act can also include normalization or any other
operations necessary so that useful descriptors can be obtained for the identifying
images of a number of items of data.
[0046] The act in box 232 then uses the pixel data from box 230 to obtain a descriptor of
the identifying image. For example, if identifying images are constrained to be words,
the descriptor could be a word shape signal such as a one-dimensional signal. As suggested
by the dashed line in Fig. 9, this act can be performed when the identifying image
data is stored, and the descriptor can be included in the identifying image data.
In any event, the pixel data can be included in the identifying image data, so that
the descriptor could also be obtained later, such as at the time the query image is
received.
[0047] The act in box 240 is performed when data defining the query image is received. This
act obtains data indicating a value for each pixel of the query image, as in box 222.
This act can also include normalization or any other operations necessary a useful
descriptor can be obtained.
[0048] The act in box 242 then uses the pixel data from box 240 to obtain a descriptor of
the query image. For example, if query images are constrained to be words, the descriptor
could be a one-dimensional signal.
[0049] The act in box 244 then uses the descriptors from boxes 232 and 242 to obtain data
indicating a measure of similarity between the identifying image and the query image.
For example, word shape signals could be compared.
[0050] The act in box 260 in Fig. 10 begins by receiving a query image. The act in box 262
begins a loop that goes through a number of items of data, determining which item
or items to access in response to a query image.
[0051] If items remain, the act in box 264 obtains data indicating a measure of similarity
for the next item's identifying image and the query image. This act can include acts
like those described above in relation to Figs. 8 and 9, or any other appropriate
acts.
[0052] The act in box 270 then determines whether the measure of similarity from box 264
meets a criterion. For example, if the most similar identifying image is sought, the
act in box 270 can determine whether the measure of similarity from box 264 is better
than the previous best; if so, the measure of similarity from box 264 becomes the
new best and the act in box 272 saves the data needed to access the item of data identified
by the identifying image. Similarly, if the N most similar identifying images are
sought, the act in box 270 can determine whether the measure of similarity from box
264 is better than the previous Nth best; if so, it is added to the list of N best,
pushing off the Nth best. Or, if it is desired to find all identifying images that
meet or exceed a fixed measure of similarity, the act in box 270 can compare the measure
of similarity from box 264 with the fixed measure.
[0053] After the loop has been performed for each of the items of data, the act in box 274
uses data saved in box 272 to access one or more items of data.
4. User Interface
[0054] Many user interface techniques could be used to allow access of an item of data using
data defining a query image and an identifying image. Fig. 11 shows a form that could
be used to request an access operation. Fig. 12 shows an automatically created form
that could be used to select among a number of data items whose identifying images
meet a criterion of similarity. Fig. 13 shows acts a machine could perform in response
to the forms in Figs. 11 and 12.
[0055] The PaperWorks™ Software described above provides a paper user interface. In other
words, a user can provide input signals on paper and can receive output signals on
paper. A document and an image domain document label can be stored using a form and
a stored document can be retrieved using a form with a list of documents. Similarly,
paper user interface techniques can be used to allow access of an item of data using
a query image and an identifying image.
[0056] Form 300 in Fig. 11 can be used to request access of a stored document. Form identification
information 302 can be used by a machine to obtain a description of form 300. The
description can indicate that form 300 is requesting access of documents with identifying
images similar to a query image within field 304. As shown, field 304 illustratively
contains marks 306 made by a user by hand.
[0057] Form 310 in Fig. 12 can be automatically created and transmitted to a destination
indicated in data defining a form such as form 300 using techniques like those described
in U.S.-A-5,267,303. Form identification information 312 can be used by a machine
to obtain a description of form 310. The description can indicate that form 310 is
requesting access of any document that is checked by a mark in the check box adjacent
its identifying image. As shown, identifying image 314 has adjacent check box 316
and identifying image 320 has adjacent check box 322.
[0058] The act in box 340 in Fig. 13 begins by receiving an access request form such as
form 300. Using form identification 302, the act in box 342 obtains data defining
a query image, the contents of field 304. The act in box 344 then finds identifying
images similar to the query image from box 342. The similar identifying images from
box 344 are listed on an automatically created form and provided to a user by the
act in box 346. The form created in box 346 can be similar to form 310.
[0059] As suggested by the dashed line, the act in box 350 may occur at a later time, when
a user has marked the form provided in box 346 to request access of one or more stored
documents. The act in box 350 receives the marked form, and the act in box 352 uses
form identification information 312 to obtain data indicating which check boxes have
been marked. The act in box 354 begins a loop that accesses each checked document
in box 356 until all have been accessed.
C. Possible Applications
[0060] The invention could be applied in many ways in a wide variety of machines. Fig. 14
illustrates how the invention could be applied in a personal computer in a manner
similar to the PaperWorks™ software product described above. Fig. 15 illustrates how
the invention could be applied in a copier.
[0061] System 380 in Fig. 14 includes CPU 382, which can be the CPU of a personal computer
such as an IBM PC compatible machine. CPU 382 is connected to receive user input signals
from keyboard 384 and mouse 386, and can present images to a user through display
388. CPU 382 is also connected to a number of other peripheral devices, illustratively
including disk drive 390, modem 392, scanner 394, and printer 396.
[0062] Program memory 400 stores operating system (OS) instructions 402, which can be a
version of DOS; image editing instructions 404; database instructions 406; store instructions
408; access instructions 410; and retrieve instructions 412. All of these except OS
instructions 402 could be obtained in the form of a software product stored on a floppy
disk, diskette, or CD-ROM, and accessed for storage in program memory 400 by disk
drive 390. Data memory 420 stores document data 422 defining documents; identifying
image data 424 defining identifying images of documents; OS file names 426 for documents;
and hand print character data 428 defining images of characters printed by hand.
[0063] System 380 can obtain items for storage in document data 422 in many ways: Data defining
a document could be produced interactively by executing image editing instructions
404 or other editing instructions, such as a conventional word processor. Data defining
a previously produced document could be retrieved from a storage medium by disk drive
390. Data defining an image of a document could be obtained from scanner 394. Data
defining a document in image form or in a page description language could be received
from a remote location through modem 392.
[0064] Similarly, system 380 can obtain data defining a human-produced identifying image
for an item being stored in document data 422 in several ways: A user could produce
an identifying image interactively by executing image editing instructions 404; the
identifying image could include characters based on hand print character data 428,
which could define characters actually produced by a human by hand. A user could use
printer 396 to print an identifying image created with an editor, then use scanner
394 to obtain data defining the identifying image. Or the user could use scanner 394
to obtain data defining an image in which a human has made marks that are an identifying
image or that indicate a segment that is an identifying image. Or a user could produce
data defining an identifying image elsewhere and provide it to system 380 through
modem 392, such as by making a fax transmission to modem 392. The identifying image
could be provided on a form requesting storage of data defining a document, and database
instructions 406 and store instructions 408 could be executed to store data defining
the document in document data 422 and data defining the identifying image in identifying
image data 424.
[0065] System 380 can also obtain data defining a human-produced query image in several
ways: A user could produce a query image interactively by executing image editing
instructions 404; the query image could include characters based on hand print character
data 428. A user could use printer 396 to print a query image created with an editor,
then use scanner 394 to obtain data defining the query image. Or the user could use
scanner 394 to obtain data defining an image in which a human has made marks that
are a query image or that indicate a segment that is a query image. Or a user could
produce data defining a query image elsewhere and provide it to system 380 through
modem 392, such as by making a fax transmission to modem 392. The query image could
be provided on a form requesting access to documents with identifying images similar
to the query image, such as form 300 in Fig. 11. Access instructions 410 could be
executed to respond to the form and to automatically produce a retrieve form, such
as form 310 in Fig. 12. The retrieve form could then be provided by fax transmission
through modem 392 or by printer 396.
[0066] After it is marked to indicate a request to retrieve one or more documents, the retrieve
form can be received by fax transmission through modem 392 or by scanner 394. In response,
retrieve instructions 412 could be executed to provide the requested documents, such
as by fax transmission through modem 392 or by printer 396.
[0067] Copier 450 in Fig. 15 includes an image path defined by scanner 452, image input
circuitry 454, image memory 456, image output circuitry 458, and printer 460. The
manner in which data defining images are transferred along this path is controlled
to an extent by CPU 470, although bandwidth along the image path can be increase with
appropriate techniques that do not require concurrent operations of CPU 470, such
as wideband buses, direct virtual memory access (DVMA) and other direct memory access
techniques, and techniques for compressing and decompressing data defining an image.
CPU 470 can receive signals from user interface circuitry 472 indicating actions of
a user and can provide signals to user interface circuitry 472 to provide information
to a user.
[0068] CPU 470 can execute instructions from program memory 480, including operating system
(OS) instructions 482, which can be a version of DOS; database instructions 484; and
identifying (ID) image instructions 486. In executing, CPU 470 can access data in
data memory 490, including jobs data 492 defining a queue of jobs to be performed
and OS file names 494 for accessing files in image memory 456.
[0069] Fig. 15 also illustrates how human-produced identifying images could be used to control
operations of copier 450. The illustrated operations include storing and retrieving
data defining an image of a document to provide a copy of the document.
[0070] First, scanner 452 scans form 500, a store request form that includes form identifier
502 and human-produced identifying image 504; scanner 452 also scans document 506.
Data defining images of form 500 and document 506 are provided by image input circuitry
454 and stored in a job file in image memory 456, and CPU 470 executes database instructions
484 to set up a job in jobs data 492 and to add the job file's name to OS file names
494.
[0071] When the job reaches the head of a jobs queue defined by jobs data 492, CPU 470 executes
ID image instructions 486 to perform image processing on the first page of the image
set defined by the job file to determine whether it is a form CPU 470 then uses form
identifier 502 to obtain a description of form 500, and uses the description to obtain
data defining identifying image 504, which is stored in image memory 456. In performing
the store operation requested by form 500, CPU 470 executes database instructions
484 to register identifying image 504 and data defining document 506 so that data
defining document 506 can be accessed from identifying image 504.
[0072] Second, scanner 452 scans form 510, a retrieve request form that includes form identifier
512 and human-produced query image 514. As above, CPU 470 sets up a job and, when
the job reaches the head of the jobs queue, performs image processing to obtain data
defining query image 514. Since query image 514 is similar to stored identifying image
504, CPU performs the retrieval operation requested by form 510 by causing transfer
of data defining document 506 from image memory 456 to image output circuitry 458
so that printer 460 prints document 520, a copy of document 506.
D. Miscellaneous
[0073] The invention has been described in relation to possible implementations in which
identifying image data and a stored item of data are both registered in a database,
in a filing system, or in a data structure such as a lookup table so that when identifying
image data is accessed, data is also available to access the identified item of data.
The invention might also be implemented by including a pointer to the item of data
in the identifying image data or by any other technique making it possible to access
an item of data from its identifying image data.
[0074] The invention has been described in relation to possible implementations with a user
interface using forms. The invention might also be implemented with a user interface
that does not use forms. Data defining items of data, identifying images, and query
images could all be obtained independently of forms, either from operations such as
scanning or from editing operations such as image editing. Human-produced identifying
images and query images could be obtained in several additional ways, including a
stylus-based user interface that obtains data defining an image from data indicating
marking actions by a user and also including a touch panel user interface that presents
a document within which a user can select a part as an identifying image or a query
image by touching the panel in the area in which the part is presented. Similarly,
the response to a query image could be presented on a touch panel user interface,
such as by presenting a list of identifying images similar to the query image so that
any of the identifying images can be touched to access its item of data.
[0075] The invention has been described in relation to possible implementations in which
a stored item of data defines an image, such as an image of the pages of a document.
The stored items of data could instead be document descriptions or process descriptions.
[0076] The invention has been described in relation to possible software implementations
using conventional hardware, but the invention might be implemented with specialized
hardware.
1. A method including:
storing in memory an item of data and identifying image data; the identifying image
data defining an identifying image for the item of data; the identifying image being
a human-produced image;
receiving query image data defining a query image that is similar to the identifying
image; the query image being a human-produced image; and
using the query image data and the identifying image data to access the item of data.
2. A method as claimed in claim 1, in which the act of using the query image data and
the identifying image data does not include obtaining character codes.
3. A method as claimed in claim 1 or claim 2, in which the query image includes marks
made by a human by hand, and/or includes marks made by a machine under control of
a human.
4. A method as claimed in any one of claims 1 to 3, in which the query image data is
obtained by a machine that includes a user input device; the machine obtaining the
query image data in response to signals from the user input device.
5. A method as claimed in claim 4, in which the machine also includes, for each of a
set of character types, character image data defining an image of a version of the
character type made by a human by hand; the signals from the user input device indicating
a sequence of characters each of which is an instance of a character type in the set;
the query image showing the sequence of characters with each character being a version
defined by the character image data of one of the set of character types.
6. A method as claimed in any one of claims 1 to 5, being a method of operating a machine
that includes:
image input circuitry for obtaining data defining images as input;
memory for storing data; and
a processor connected for receiving data defining image from the image input circuitry
and connected for accessing the memory;
the method including:
storing in the memory the item of data and the identifying image data defining the
identifying image for the item of data,
operating the processor to receive the query image data trom the image input circuitry,
and
operating the processor to use the query image data and the identifying image data
to access the item of data.
7. A method as claimed in claim 6, in which the act of storing an item of data and identifying
image data comprises:
operating the processor to receive storage request image data from the image input
circuitry; the storage request image data defining a first image set that shows the
first image and the identifying image; and
in response, operating the processor to automatically use the storage request image
data to obtain and store first image data defining the first image and identifying
image data defining the identifying image, the item of data including the first image
data.
8. A method as claimed in claim 7, in which the first image set shows a storage request
form that includes the identifying image; the storage request image data including
form image data defining an image of the storage request form; the form image data
including information indicating a request to store the item of data and the identifying
image data; the act of operating the processor to automatically use the storage request
image data comprising:
operating the processor to use the form image data to obtain the identifying image
data; and
operating the processor to use the form image data to obtain request identifying data
indicating a request to store the item of data and the identifying image data, or
in which the first image set shows a sheet that includes the identifying image; the
storage request image data including sheet image data defining an image of the sheet;
the act of operating the processor to automatically use the storage request image
data comprising:
operating the processor to use the sheet image data to obtain segment image data defining
a segment of the image of the sheet that includes the identifying image; and
operating the processor to use the segment image data to obtain the identifying image
data.
9. A method as claimed in claim 6, in which the machine further comprises image output
circuitry for providing data defining images as output; the act of operating the processor
to use the query image data and the identifying image data further comprising:
using the identifying image data to create retrieval request form that includes the
identifying image and a check box;
providing form output data defining the retrieval request form to the image output
circuitry;
receiving form input data defining a marked version of the retrieval request form;
the marked version including a mark in the check box; and
in response to the form input data, accessing the item of data, and/or in which the
system further includes a database system for associating data stored in the memory;
the act of storing the item ot data and the identifying image data comprising operating
the processor to associate the item of data and the identifying image data in the
database system.
10. A machine including:
image input circuitry for obtaining data defining images as input;
memory storing data; and
a processor connected for receiving data defining images from the image input circuitry;
the processor further being connected for accessing data stored in memory;
the data stored in the memory including:
an item of data;
identifying image data defining an identifying image for the item of data; the
identifying image being a human-produced image; and
instruction data indicating instructions the processor can execute; the processor,
in executing the instructions:
receiving query image data from the image input circuitry, the query image data
defining a query image that is similar to the identifying image; the query image being
a human-produced image; and
using the query image data and the identifying image data to access the item
of data.
11. An article of manufacture for use in a machine that includes:
image input circuitry for obtaining data defining images as input;
memory for storing data; the data stored in the memory including an item of data and
identifying image data defining an identifying image for the item of data; the identifying
image being a human-produced image;
a storage medium access device for accessing a medium that stores data; and
a processor connected for receiving data defining images from the image input circuitry;
the processor further being connected for accessing data stored in the memory; the
processor further being connected for receiving data from the storage medium access
device;
the article comprising:
a storage medium that can be accessed by the storage medium access device when the
article is used in the system; and
data stored by the storage medium so that the storage medium access device can provide
the stored data to the processor when the article is used in the system; the stored
data comprising instruction data indicating instructions the processor can execute;
the processor, in executing the instructions:
receiving query image data from the image input circuitry, the query image data
defining a query image that is similar to the identifying image; the query image being
a human-produced image;
using the query image data and the identifying image data to access the item of
data.