WO2011106880A1 - Method and apparatus for gathering and using information - Google Patents

Method and apparatus for gathering and using information Download PDF

Info

Publication number
WO2011106880A1
WO2011106880A1 PCT/CA2011/000230 CA2011000230W WO2011106880A1 WO 2011106880 A1 WO2011106880 A1 WO 2011106880A1 CA 2011000230 W CA2011000230 W CA 2011000230W WO 2011106880 A1 WO2011106880 A1 WO 2011106880A1
Authority
WO
WIPO (PCT)
Prior art keywords
field
purchase record
contents
information
image
Prior art date
Application number
PCT/CA2011/000230
Other languages
French (fr)
Inventor
Kwok-Keung Edmond Chow
Original Assignee
Dvmmy Limited
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 Dvmmy Limited filed Critical Dvmmy Limited
Publication of WO2011106880A1 publication Critical patent/WO2011106880A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/53Querying
    • G06F16/532Query formulation, e.g. graphical querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • salient descriptive information describing or otherwise pertaining to aspects of abstract or physical entities, including goods and services and or persons or companies that supply or demand goods and services.
  • Such items may include, but are not limited to, business cards, information pamphlets and brochures, catalogue descriptions, advertisements, product packaging, product labels, price tags, sales receipts, sales quotes, redeemable coupons, concert tickets, and the like. These items may also be referred to as "artifacts”.
  • the system further includes a component operably configured to cause a search of a purchase record database for a stored purchase record that meets at least one of the following criteria: name field contents of the stored purchase record describe an item described by name information field contents of the electronic purchase record, and seller name field contents of the stored purchase record describe a seller described by the seller field contents of the electronic purchase record.
  • the system further includes a component operably configured to store the electronic purchase record in the purchase record database in response to the searching, when no stored purchase record meeting the search criteria is located and a component operably configured to store the electronic purchase record in the purchase record database, in response to the searching, when a stored purchase record meeting only one of the search criteria is located.
  • Figure 5 is a schematic representation of a data packet representing a data record holding information gathered using a user interface shown in Figure 4;
  • a network 24 such as the internet
  • the communications medium through which the input devices 14, 16, 18, 20 communicate with the server 22 there will be millions of possible input devices operated by operators that can provide sets of purchase information about a variety of goods and services and all of this information is stored in the database for later querying by the same or other operators to allow such operators to identify an item and seek a best price and seller for it.
  • a query can be used to identify a seller and seek an item and price for the item, identify a price and seek an item and a seller of the item, or generally seek any combination of information to inform an operator of a shopping possibility resulting from a query of the database.
  • the information image 70 shown in Figure 4 is stored in an image field 241 and such image field is associated with an image field identifier 260 that identifies the image field as such.
  • the user interface 120 shown in Figure 9 further includes an "append image" soft key 304 associated with codes that cause the processor system shown in Figure 2 to store the redacted information image in an image/ redacted image memory location 306 in the RAM 38.
  • the storing component 58 shown in Figure 2 is modified to include codes that direct the processor system 30 to store the contents of the image/redacted image memory 306 in the record buffer 224 such that the data packet will include an image field holding these contents as shown in Figure 8.
  • the above described system provides a way of acquiring information about purchases, for example and for storing such information for later retrieval. While the system has been described as being carried out in two discrete parts, namely through the use of input components and a server, it will be appreciated that all of the functionality of the input components, for example can be integrated into the server and the server processor system can perform the functions of both the input device and the server system described above. Or, the functionality of both the input device and server can be integrated into the input device. Where the input device is a handheld mobile device, it may be desirable to cause the device to access a remote database rather than an integral database as described above, to avoid the need for large storage capacity on the mobile device.
  • the query return buffer has a name location 510, a quantity location 512, a price per quantity location 514, a seller name location 516, a seller address location 518, a total taxes location 520, a total price location 522 and an image location for storing the contents of fields bearing corresponding information.
  • an exemplary embodiment illustrates how eight stored data records 701 - 708 pertaining to eight different sellers identified in seller name fields 730 to 744, which further differ from each other in respect of the contents of either item name fields 710 - 724 or price fields 7S0 - 764, may all comprise relevant results of an item name query for a product, e.g. "diet coke".
  • the database manager effects a query of the database memory for a product entitled "DIET COKE".
  • the database manager initially returns a primary set 790 of stored data records, comprising stored data records 701 and 702, to the query buffer.
  • Stored data records 701 and 702 share identical item name field contents 710 and 712, i.e.
  • receipts may contain private or personal information, such as a membership number, a credit or debit card number, account balance, cashier name or identifier, data and time.
  • the present invention enables a user to eliminate such information at the source before their submissions to a server.
  • the resulting digital representations of the receipts alone would provide a useful proof of purchase or offer for others to consider, while protecting the privacy or confidentiality of the buyers.
  • Added sense of security is also achieved by not making available such private information on receipts sent to a server that may extract data from them to generate offer or other descriptions, or one that may simply publish the submitted receipts for others to consult with.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Library & Information Science (AREA)
  • Mathematical Physics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A method and apparatus for generating a set of description information describing aspects of an entity involves causing an information image bearing at least one element of the set of description information to be displayed to an operator, associating at least one image portion including the at least one element of the set of description information in the information image with at least one pre-defined information field of a data record, in response to user- input defining the at least one image portion, performing a function on the at least one image portion to produce a machine readable representation of the at least one image portion, storing the at least one machine readable representation in a corresponding at least one predefined information field and sending a data packet representing an electronic data record holding the set of description information to a record database for storage therein, wherein the data packet comprises the at least one pre-defined information field with the machine readable representation stored therein. The server includes functionality for avoiding duplicate records. Web-based access may be provided to the database to permit queries of the database to use the information stored in the records.

Description

METHOD AND APPARATUS FOR GATHERING AND USING
INFORMATION
BACKGROUND OF THE INVENTION 1. Field of Invention
This invention relates to methods and apparatus for gathering and using information and, in particular, to devices and methods for gathering information into a common format and sending the information in such common format to a system for storage and retrieval.
2. Description of Related Art
Various items created in the course of trade and commerce often comprise salient descriptive information (description information) describing or otherwise pertaining to aspects of abstract or physical entities, including goods and services and or persons or companies that supply or demand goods and services. Such items may include, but are not limited to, business cards, information pamphlets and brochures, catalogue descriptions, advertisements, product packaging, product labels, price tags, sales receipts, sales quotes, redeemable coupons, concert tickets, and the like. These items may also be referred to as "artifacts". Items such as a retail product item package may contain description information pertaining to a sufficient number of aspects of the entity in order to identify the product item, including a product name, brand, manufacturer, maker, importer and/or seller addresses, GTIN (Global Trade Item Number), UPC (Universal Product Code), price, complementary products, product reviews, and so on. An item such as a street sign displaying a street name may provide address information, or part thereof, for a seller. A concert ticket may include aspects such as concert name, venue name, and venue address. ltems pertaining to a particular kind or category of entity may include description information specifically relevant to that particular kind of entity. For example, salient aspects on the package of a food product may include weight, ingredients, and nutrition information. Book covers may include an ISBN (International Standard Book Number), a title, an author, a publisher, a publication date, and a suggested retail price. A valid receipt from a purchase of an entity may contain description information sufficient to identify a sale from a seller of the entity comprising, for example, an item name, a quantity, information about the seller of that entity, and an entity price. Other useful aspects of the item, such as the purchase date on a receipt for example, may also be available.
Items such as packages, receipts and signage can provide good sources useful description information. For instance, information available on a receipt is often sufficient to establish not only than an offer was available in the past, but also that it was actually accepted in a transaction. Offers established as such may carry more legitimacy than those that are merely advertized. For instance, consumers interested in the same item may consider these receipt- established offers (if they are applicable to them or still available in general), or use them to compare other offers that they come across on their own. Sellers would need to consider their pricing and other value-added services to compete with these receipt-established offers, especially if the location of the sellers and their delivery speed are comparable with those of the sellers responsible for these receipt-established offers. However, manual entry of salient description information from these sources into a database record by an individual is cumbersome, and time consuming and is therefore undesirable.
The availability of description information may be widespread but generally such information is not in digital form and therefore not optimal for storage.
While manufacturers, suppliers and retailers might possess relevant description information pertaining to their own entities in digital form, they are seldom willing to share this information with their competitors or make it available to a system, server or database that would make it widely available to the public. More generally, there is no easy, efficient and effective way to gather and share information about an entity from the wide range of information services available to facilitate using this information in a meaningful way. The present invention addresses this need.
SUMMARY OF THE INVENTION
In accordance with one aspect of the invention, there is provided a method for generating a set of description information describing aspects of an entity, The method involves causing an information image bearing at least one element of the set of description information to be displayed to an operator and associating at least one image portion including the at least one element of the set of description information in the information image with at least one pre-defined information field of a data record, in respone to user input. The method further involves performing a function on the at (east one image portion to produce a machine readable representation of the at least one of the image portion. The method further involves storing the at least one machine readable representation in a corresponding at least one predefined information field, and sending a data packet representing an electronic data record holding the set of description information to a record database for storage therein, wherein the data packet includes the at least one pre-defined information field with the machine readable representation stored therein.
In accordance with another aspect of the invention, there is provided a method for gathering and storing shopping information for enhancing shopping for goods or services. The method involves causing a component of a system to receive an electronic purchase record involving at least a name field, a seller field and a price field having contents describing item information, seller information and price information respectively, the electronic purchase record representing an agreed purchase of a good or service associated with the item information by a seller associated with the seller information. The method further involves causing a component of the system to search a purchase record database for a stored purchase record that meets at least one of the following criteria item name field contents of the stored purchase record describe an item described by name information field contents of the electronic purchase record, and seller name field contents of the stored purchase record describe a seller described by seller field contents of the electronic purchase record. In response to the searching, when no stored purchase record meeting the search criteria is located. The method involves causing a component of the system to store the electronic purchase record in the purchase record database. When a stored purchase record meeting both of the search criteria are met. The method involves causing a component of the system to replace the stored purchase record with the electronic purchase record in the purchase record database or replacing the contents of the price field of the stored purchase record in the purchase record database with the contents of the price field of the electronic purchase record.
In accordance with another aspect of the invention, there is provided a method of shopping for goods or services provided by sellers. The method involves causing a component of a system to receive a query involving at least one of a name, a seller name and a price. The method further involves causing a component of the system to effect a query of a database of purchase records, in response to the request, the purchase records having, name, seller and, price fields and an image file field representing an image of a receipt or invoice bearing information from which the contents of the item, seller and price fields were obtained. The query locating records meeting search criteria based on the request. The search criteria includes at least one of the contents of the item field match the item description of the query, the contents of the seller field match the seller description of the query, and the contents of the price field match the price description of the query. The method further involves causing a component of the system to identify to a user purchase records meeting at least one of the search criteria. The method further involves causing a component of the system to receive signals representing user selection of at least one of the purchase records meeting at least one of the search criteria and causing a component of the system to effect a display of an image represented by the contents of the image field of the user-selected purchase record.
In accordance with another aspect of the invention, there is provided an apparatus for generating a set of description information describing aspects of an entity. The apparatus includes provisions for causing an information image bearing at least one element of the set of description information to be displayed to an operator. The apparatus further includes provisions for associating at least one image portion including the at least one element of the set of description information in the information image with at least one pre-defined information field of a data record in response to user-input defining the at least one image portion. The apparatus further includes provisions for performing a function on the at least one image portion to produce a corresponding at least one machine readable representation of the at least one image portion. The apparatus further includes provisions for storing the at least one machine readable representation in a corresponding at least one of the predefined information fields, and provisions for sending a data packet representing an electronic data record holding the set of description information to a record database for storage therein. The data packet includes the at least one pre-defined information data field with the machine readable representation stored therein.
In accordance with another aspect of the invention, there is provided a system for gathering and storing shopping information for enhancing shopping for goods or services. The system includes a component operably configured to receive an electronic purchase record including at least a name information field, a seller name field and a price field having contents describing item information, seller information and price information respectively, the electronic purchase record representing an agreed purchase of a good or service associated with the item information by a seller associated with the seller information. The system further includes a component operably configured to cause a search of a purchase record database for a stored purchase record that meets at least one of the following criteria: name field contents of the stored purchase record describe an item described by name information field contents of the electronic purchase record, and seller name field contents of the stored purchase record describe a seller described by the seller field contents of the electronic purchase record. The system further includes a component operably configured to store the electronic purchase record in the purchase record database in response to the searching, when no stored purchase record meeting the search criteria is located and a component operably configured to store the electronic purchase record in the purchase record database, in response to the searching, when a stored purchase record meeting only one of the search criteria is located. The system further includes a component operably configured to at least replace the stored purchase record with the electronic purchase record in the purchase record database, or replace the contents of the price field of the stored purchase record in the purchase record database with the contents of the price field of the electronic purchase record, in response to the searching, when a stored purchase record meeting both of the search criteria are met.
In accordance with another aspect of the invention, there is provided a system of shopping for goods or services provided by sellers at different prices. The system includes a component operably configured to receive a query comprising at least one of a name, a seller name and a price description. The system further includes a component operably configured to cause a query of a database of purchase records having item name, seller name and, price fields and an image file field representing an image of a receipt or invoice bearing information from which the contents of the item, seller and price fields were obtained, to locate records meeting search criteria based on the query. The search criteria includes: at least one of the contents of the item field match the item description of the query, the contents of the seller field match the seller description of the query. The system further includes the contents of the price field match the price description of the query, and a component operably configured to identify to a user purchase records meeting at least one of the search criteria. The system further includes a component.operably configured to receive signals representing user selection of at least one of the purchase records meeting the at least one of the search criteria, and a component operably configured to effect a display of an image represented by the contents of the image field of the user-selected purchase record.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a schematic representation of a system for generating, storing and using a set of description information according to a first embodiment of the invention;
Figure 2 is a block diagram of an input device used in the system shown in Figure 1; Figure 3 is a schematic representation of an information image from which information is obtained in the system shown in Figure 1;
Figure 4 is a schematic representation of a user interface such as may be provided by the input device shown in Figure 2;
Figure 5 is a schematic representation of a data packet representing a data record holding information gathered using a user interface shown in Figure 4;
Figure 6 is a schematic representation of an alternate embodiment of a data packet;
Figure 7 is a schematic representation of another alternate embodiment of a data packet; Figure 8 is a schematic representation of yet another alternative embodiment of a data packet; Figure 9 is a schematic representation of the user interface shown in Figure 4 with provisions for obliterating certain portions of a displayed image;
Figure 10 is a schematic representation of a server of the system shown in Figure 1 ;
Figure 11 is a schematic representation of a comparison buffer holding a record as explained in connection with Figure 10 and further including an item code;
Figure 12 is a schematic representation of a data packet representing a record having an item code;
Figure 13 is a schematic representation of a user interface adapted to include an item code indicator;
Figure 14 is a schematic representation of a data packet comprising a time field;
Figure 15 is a schematic representation of a receive buffer and a comparison buffer having memory locations for time codes from the received data packet and a time code from a data record retrieved from the data base;
Figure 16 is a schematic representation of a query return buffer for holding the contents of a record received from the data base in response to a query;
Figure 17 is a schematic representation of records produced in response to a query of the database shown in Figure 10; Figure 18 is a schematic representation of a user interface associated with an embodiment for gathering information from food packaging; and
Figure 19 is a data packet produced using the user interface shown in Figure 18.
DETAILED DESCRIPTION
Referring to Figure 1, a system for generating, storing and using a set of description information describing aspects of an entity is shown generally at 10. An entity may be any of various things including for example, goods or services, a person, an object, a system, an event or virtually anything about which certain facts or information may be desirable to acquire, store and retrieve. Information pertaining to the entity may be considered to include words, phrases, graphics, pictures, audio, video or any other electronically representable information. Essentially, the system can be used to acquire a set of information about an entity, store the information and enable the information to be retrieved .
With the advent of the internet and multimedia, a plethora of information is available about a wide range of entities. Embodiments of the invention described herein enable information such as words, phrases, graphics, pictures, audio and video to be selectively acquired from any electronically storable visual representation of a collection of information and stored in a record associating all the acquired information with the entity to which it pertains, for later retrieval. This eliminates the need to store a plurality of entire documents bearing only small amounts of pertinent information about an entity and provides a way to easily store only such pertinent information as may be defined by an application or an operator, for example.
Applications of the concepts described herein may be adapted to acquire, store and retrieve information about various entities too numerous to fully explain here and therefore the following embodiment is provided to illustrate how the system can be used to provide a shopping information system wherein the entities about which information is acquired, stored and retrieved are goods or services for sale by one or more sellers at one or more prices. The system 10 includes an input device such as a computer 14, a fax machine 16, a camera 18, or a portable computing/communications device 20, for example and includes a server 22. All of the input devices are operable to communicate with the server 22 through a network 24, for example. The network 24 may include but is not limited to "the internet", a local network or a wireless network, for example.
Generally, the input devices such as computer 14, fax machine 16, camera 18, and portable computing/communications device 20 act as devices that enable the system to acquire media containing a collection of information in a document, webpage, picture, or media stream, for example, from which information can be acquired, stored and retrieved.
When the system is used as a shopping system, the input devices contribute sets of information to a shopping information database for enhancing shopping for goods or services. In the embodiment shown the shopping information database is accessed through communications with the server 22 and the server either maintains the shopping information database itself or acts as a gateway to a remote database (not shown), for example. The input devices such as computer 14, fax machine 16, camera 18, and portable computing/communications device 20 contribute to the shopping information database accessed through the server 22 by providing a set of purchase information to the server. In the shopping system context, the set of purchase information includes at least item information, seller information and price information representing an agreed purchase of a good or service associated with the item information, by a seller associated with the seller information. In a more general context, a user may define the set of information of interest or the set information required may be pre-defined. In the shopping system context, for example, operators of computer 14, fax machine 16, camera 18, and portable computing/communications device 20 use these devices to acquire and provide the set of purchase information as a data record in electronic form, to the server 22, for storage in the shopping information database.
It will be appreciated that with a network 24 such as the internet, as the communications medium through which the input devices 14, 16, 18, 20 communicate with the server 22, there will be millions of possible input devices operated by operators that can provide sets of purchase information about a variety of goods and services and all of this information is stored in the database for later querying by the same or other operators to allow such operators to identify an item and seek a best price and seller for it. Or, a query can be used to identify a seller and seek an item and price for the item, identify a price and seek an item and a seller of the item, or generally seek any combination of information to inform an operator of a shopping possibility resulting from a query of the database.
Input Device
Referring to Figure 2, a general block diagram of a processor system implementing an exemplary input device is shown generally at 30. Generally, in the embodiment shown, the processor system 30 includes a processor circuit comprising a processor 32, a program memory, 34, an input/output (I/O) port 36 and random access memory RAM 38. The term "processor system" has been used to indicate that the processor circuit shown in Figure 2 is only one of a plurality of implementations and that for example, the processor system may employ a plurality of processors locally or geographically distributed for example, to effect the functions described below that are performed by the processor system.
The I/O port 36 receives signals from a keyboard 40, optics 42, and/or an input communication interface 44 and produces signals for controlling a display 46 and an output communications interface 48. The keyboard 40 may be integrated in a display 46, for example such as on an Apple iPhone®. The optics 42, may include scanning components such as of the type found in a conventional fax machine or scanner, for example, or may include a camera such as found on an Apple iPhone® that produces digital images in a file format such as the JPEG, GIF, PNG, WORD or PDF format, for example. The input communications interface 44 may be integrated with the output communications interface 48, for example. The input and output communications interfaces 44 and 48 may communicate data packets to and from the network 24 shown in Figure 1, for example, or they may be coupled to different networks, or the input communications interface 44 may simply be a Universal Serial Bus (USB port) or other port on the input device.
It will be appreciated that the block diagram shown in Figure 2 represents an exemplary input device for illustration purposes only and any given input device may include the keyboard 40, optics 42 and input communications interface 44 or a subset of these items or may include other devices that serve to enable information, (in the shopping system context, purchase information) to be input into the input device. For example, the input device need not include a camera. Rather the device may load a photo from a memory card or USB port or from a web browser or video input, for example.
In the embodiment shown, the program memory 34 is a computer readable medium on which is stored codes that act as instructions for directing the processor system 30 to carry out certain functions including an acquisition function, a display function, an associating function, a scanning function, a storing function and a sending function. To effect these functions, the codes include an acquisition component 50, a display component 52, an associating component 54, a scanning component 56, a storing component 58 and a sending component 60, and optionally, an obliteration component 300.
Acquisition Component
The acquisition component 50 operably configures the processor system 30 to acquire a set of information of interest, which, in the shopping context is purchase information including at least item, seller and price information. Acquisition may involve receiving a data packet, a fax transmission or a picture file for example, representing an information image that may contain one or more elements of a set of information. The input device may include a camera, for example, operable to produce a file representing the information image. In this shopping embodiment, for ease of description, the set of information is pre-defined to require information elements relating to item name, quantity, price per quantity, seller name, seller address, total taxes and total price. If the input device is an Apple iPhone®, for example, a user may use the iPhone® to take a picture of a sales receipt with the built-in camera of the iPhone®, for example. The picture produced by the built-in camera will typically be represented by a JPEG file. Thus, in this embodiment, the input device acquires a JPEG file representing an image having image portions that represent respective elements of the set of information required to describe an item for sale.
Referring to Figure 3, an exemplary information image, in this case an image of a paper sales receipt, is shown generally at 70. The image includes information elements including a date 72, time 74, receipt number 76 , a first item group 78, a subtotal 82, a tax line 84 a total line 86, a customer name 88, a payment type 90, a card number 92 a seller name 94 and three seller addresses 96. Within the first item group 78 there is provided, an item identification 98, serial number 102, unit price 106, and quantity information 110.
It will be appreciated that the image of the paper sales receipt bears image portions that represent elements of the set of information of interest. For example, the item name is shown at 98, the quantity is shown at 10, the price per quantity is shown at 106, the seller name is shown at 94, the seller address is shown at 96, the total taxes are shown at tax line 84 and the total price is shown at 86. Displav Component
Referring back to Figure 2, the display component 52 operably configures the processor system 30 to cause an information image bearing at least one element of the set of description information to be displayed to an operator. In the embodiment shown, the display component 52 causes the processor system to display a user interface on the display 46 as shown in Figure 4,
Referring to Figure 4, the user interface 120 has a top portion 122, an image viewing portion 124 and a bottom portion 126. The user interface 120 may be overlaid on a web browser display, for example, to enable one or more webpages, or pictures, or other media accessed by the browser to appear in the image viewing portion 124, for example. In the embodiment shown, the image file bearing the image 70 of the sales receipt acquired by the acquisition component 50 is presented in the image viewing portion 124. The display component 52 thus causes the processor system to simultaneously display at least a portion of the information image 70 while displaying an image of the user interface 120.
The top portion 122 of the user interface 120 includes a plurality of soft keys arranged in a row across a top of the display. The soft keys include a "zoom in" key 130, a "zoom ouf key 132, an "unmark" key 134, a "confirm key" 136 and a "done key" 138. The user interface further includes indicators arranged in a row across a bottom of the display 46. The indicators include an item name indicator 140, a quantity indicator 142, a price per quantity indicator 144, a seller name indicator 146, a seller address indicator 148 a total taxes indicator 150 and a total price indicator 152.
The indicators 140 - 152 across the bottom of the display 46 identify information fields that are to be populated with information directly from or derived from corresponding image portions copied from one or more information images displayed in the display portion. In other words, the information fields indicated on the indicators 140 - 152 indicate the elements of the set of information to be acquired from the information image seen on the image viewing portion 124. In the embodiment shown, the information fields are pre-defined and are listed in the order indicated from left to right on the display. On invoking the user interface 120, the first information field represented by the indicators is the item name information field and on invoking the user interface 120, this indicator 140 is distinguished from the other indicators by a different display attribute, which in this embodiment is a broken border line 154, which is different from the other indicators which have solid border lines 156, for example. In this embodiment, a broken border line indicates an active information field, or in other words, an information field that may currently be associated with an image portion of the information image.
Associating Component
Referring back to Figure 2, the associating component 54 gperably configures the processor system 30 to associate at least one image portion of the information image 70 with a corresponding at least one pre-defined information field of a data record. The associating component includes a distinguishing component 160 that directs the processor system to cause some portions of the information image to be distinguished from other portions of the information image. Referring to Figures 2 and 4 in this embodiment, the distinguishing component 160 includes codes that direct the processor system 30 so to distinguish some portions of the information image seen in the image viewing portion 124 from other portions of the information image 70 in response to operator input. For example, the distinguishing component includes codes that direct the processor system 30 to enable the operator to select a portion of the information image 70 in any of many conventional manners, such as by pointing, clicking and dragging a cursor controlled by an input device such as a mouse over a portion of the information image, or by spreading fingers touching a touch sensitive display such as found on an
Apple iPhone®, for example. The result of the selection is a distinguished area of the information image 70, distinguishing being provided by highlighting, for example, or by the use of any other suitable display attribute that causes the selected portion of the information image 70 to be distinguished from other portions of the information image.
Alternatively, the distinguishing component 160 may include codes that direct the processor system 30 to search for certain key visual elements in the information image 70 seen in image viewing portion 124 and to automatically distinguish these key visual elements from other elements in the information image.
The input device processor system may include codes for directing the processor system to determine positional information of data on an information image to allow the system to learn the layout or format of an item, such as a receipt, to find the location of desired visual elements in receipts having a common format and layout, for example. This enables the processor system to automatically distinguish image portions that provide specific information to populate the information fields. This can be done with or without prompting user input. In addition, the processor system may include codes that cause the processor system to discover terms or codes specific to a certain seller, glossary, etc. For instance, a user may revise the results of a machine readable transformation such as "CMB" to "combo*, so that the processor system will learn this replacement and may subsequently consider that "CMB" could be an abbreviation for "combo", when the information image is of a receipt from this particular seller, for example. With this embodiment, where a receipt contains item or product identification codes such as a stock keeping unit (SKU) code, the processor system may be directed to find this code on the receipt for capture of code information and for use in establishing a reference to locate other information.
Referring to Figure 2, the associating component 54 further includes codes that direct the processor system to define image memory areas 170 - 182 in the RAM 38, and to associate these memory areas with corresponding ones of the pre-defined information fields, as seen in Figure 2. After selecting an image portion to define a distinguished image portion, while the item name indicator 140 is active, the operator can actuate the confirm soft key 136, for example, to invoke code associated with the confirm soft key that causes the processor system 30 to store the distinguished image portion in the corresponding one of the memory areas.
So, for example, referring to Figure 4, with the item name indicator 1 0 having a broken border 154, the user selects an image portion to cause it to be distinguished from other image items on the sales receipt, as indicated by the box 190. The distinguished area 190 bears the name in image form, of an item to which the sales receipt relates. After selecting the image portion, the user then actuates the confirm soft key 136 and in response the processor system 30 copies the selected image portion into the memory area 170 associated with the item name. Upon storing the distinguished image portion in the corresponding memory area 170, code associated with the user interface 120 de-activates the item name indicator 140 and returns its border 154 to a solid line and activates the quantity indicator 142.
An active indicator is distinguished as being active by causing its border 154 to be shown in broken outline, to indicate that the next image portion will be associated with the quantity information field. This process is repeated until each of the information fields has been associated with a respective image portion. If the user should make a mistake in selecting an image portion, before actuating the confirm soft key 136, the user may actuate the unmark soft key 134 which activates code associated with the user interface to cause the processor system to delete the selection by returning the display attributes of the selected portion to normal and then wait for further selection input from the user.
While the indicators 140 - 152 have been explained to automatically sequence through associating image portions with information fields, it will be appreciated that the indicators may be replaced with soft keys, for example that activate codes associated with the user interface that direct the processor system to enable the operator to selectively associate the image portions directly with corresponding memory areas in any order until all memory areas associated with the pre-defined information fields have been loaded as desired by the operator.
When the image portions have been associated with respective fields, the operator presses the done soft key 138, which invokes the scanning component 56.
Scanning Component
The scanning component 56 includes codes that direct the processor system 30 to perform a scanning function on at least one of the image portions stored in the image memory areas 170 - 182 associated with the information fields to produce a corresponding at least one machine-readable representation of the at least one image portion.
In this embodiment, the scanning function is a pattern recognition function. Successively, the scanning component directs the processor to address each image memory area 170 - 182 and perform a pattern recognition function on the contents of each image memory area to produce a machine readable representation of the contents of each memory area. More particularly, machine readable representations are produced from the user-defined distinguished image portions stored in the image memory areas associated with the pre-defined information fields of the information record to be produced. The machine-readable representations may be stored in separate code memory areas 210-222, for example.
The pattern recognition process may involve performing an optical character recognition process to produce the machine readable representations for example. Or other pattern recognition processes may be employed such as bar code pattern recognizing processes, for example which can be used to detect UPC image portions, for example. Generally, the machine readable representation will include codes such as ASCII codes representing information content in the distinguished image portions. Thus, separate strings of ASCII codes may be produced for each stored image portion. By converting the image portions to ASCII codes, the information content of the image portions is effectively encoded, which facilitates efficient storage of such information and consistency in representation, which facilitates searching as will be described below.
It will be appreciated that the image portions may depict text in various fonts and therefore a relatively sophisticated optical character recognition process may be required. The complexity of the optical character recognition process may however, be simplified by including codes in the display component 52 that cause the processor system to define an editing area 200 on the user interface 120, in which the resulting character string produced by the OCR process is displayed to the user for editing in response to user input. Thus, for example an operator may add, modify or delete information represented by the codes produced by the pattern recognition process to provide greater accuracy of information contained in the information fields. The confirm key 136 can be made to be context sensitive in which case the confirm key 136 can be activated by the user after the user has edited the text in the editing area 200 to cause the processor system to accept the edited text and store it in a corresponding memory location in the code memory areas 210 - 222.
The above description describes a system in which the image portions are acquired first and then the pattern recognition process is operated on the stored image portions. Alternatively, or in addition the pattern recognition process can be effected on image portions as they are acquired and the results displayed for user editing as soon as an image portion is acquired. When the user is satisfied that the results of the scanning function and user editing accurately reflect the desired information content of each information field, the user actuates the done soft key 138 which invokes the storing component 58. Storinq Component
In the embodiment shown the storing component 58 includes codes that direct the processor system to store at least one machine readable representation in memory associated with a corresponding at least one of the pre-defined information fields. In the embodiment shown all of the machine- readable codes stored in code memory areas 210 -222 are copied by the storing component 58 into a record buffer 224. The contents of the record buffer 224 are used by the sending component 60 to form a data packet as shown in Figure 5, representing a data record. Alternatively, the record buffer may be maintained in the output communication interface 48, for example.
Sending Component
Referring to Figure 5, the data packet includes a header 226, a name field 228, a quantity field 230, a price field 232, a seller name field 234, a seller address field 236, a total taxes field 238 and a total price field 240 which contain the contents of the code memory areas 210 to 222 of corresponding names. In addition to the contents of these fields, these fields also include field identifiers 229, 231, 233, 235, 237, 239 and 241 respectively that include codes that uniquely identify the fields. With fields loaded with their respective content, the sending component 60 transmits the data record as a data packet to the server 22 shown in Figure 1, for storage in the database.
Referring to Figure 6, in an alternate embodiment, at least one of the predefined information fields may be divided to include an image subfield and a text subfield. For example the name field 228 of Figure 5 is shown to include a name image subfield 242 and a name text subfield 244. These fields also have field identifiers 243 and 245 respectively. In this embodiment, the storing component 58 loads the record buffer 224 such that the contents of the item name image memory area 170 are loaded into the record buffer so that they wiil appear in the name image subfield 242 of the data packet and the contents of the name code memory area 210 are stored in the record buffer such that they appear in the name text subfield 244 of the data packet. This may be useful where, for example a sales receipt contains an image portion of a trademark associated with the item. In this case, the user can select the trademark as an item name when associating image portions with information fields thereby storing the image of the trademark in the item image portion memory area 170. Then, when the scanning function is operated on this image portion regardless of the results of the scanning function the user may invoke the editing function to enter the name of the item and such name will be represented by an ASCII string for example and will be stored in the item name code memory area 210. Then when the storage component stores the contents of the image and code memory areas 170 - 182 and 210 - 222 in the record buffer, the image of the trademark will be copied into a location that causes it to appear in the name image subfield 242 of the data packet and the name entered by the user will appear in the name text subfield 244 of the data packet.
Referring to Figure 7, in an alternate embodiment, at least one of the predefined information fields may include the image subfield 242, the name text subfield 244 and may further include a second name text subfield 246 or "different language subfield". This field also has a field identifier 247. This second name text subfield 246 may be used to store any additional text and it is contemplated that it could be used to store a name of the item, for example, in another language. The program memory may therefore further include a translation component for example, operable to operate on the contents of any of the code fields 210-222 to produce a translation of the contents of the code field. In this case, additional memory areas may be designated in the RAM to hold ASCII strings that represent translations of any of the code fields 210-222, the contents of which will be copied into corresponding fields such as the second name text field 246 shown in Figure 7.
Alternatively, instead of providing a translator at the input device, or providing access to a translator at the input device, the user interface may simply provide a text entry function allowing the user to directly add text into the second name text subfield 246, for example. In addition to including codes allowing the user to amend the machine readable representation and the results of a translation stored in the different language field, additional codes may be provided to direct the processor system to allow a user to be presented an image of a selected image portion stored in memory areas 170- 182 and edit that image portion so that the edited image portion is included in the name image subfield 242 of the name field, for example of the data packet shown in Figure 6. Thus the codes of the user interface may include codes that cause the processor system to amend at least one of the image portions, the machine readable representation and the different language representation in response to user input.
In another alternative embodiment, the use of subfields may be user- selectable in the sense that, for example, the user interface may display soft keys that actuate functions allowing a user to select whether or not an image subfield or different language subfield is to be included in the data packet.
Thus, in essence the user defines the set of description information to be included in the data record and more particularly, defines the set of predefined fields that will be populated by the user in response to user input. Referring to Figure 8, in another embodiment, all of the fields shown in Figure
5 are included in the data packet and an additional field is included to store the information image from which the information used to load the other fields was obtained. Thus, the information image 70 shown in Figure 4 is stored in an image field 241 and such image field is associated with an image field identifier 260 that identifies the image field as such.
Obliteration
Referring to Figure 3, while it may be useful to include in the data packet a copy of the information image 70 from which the information fields are populated, the information image may depict information such as time 74, receipt number 76, customer name 88, payment type 90 and card number 92 that an operator desires to obliterate from the information image to keep such information secret. To do this, the program memory includes an obliteration component 300 operably configured to cause the processor system 30 to enable the operator to select an undesired portion of the image and to alter the selected undesired portion by changing an appearance of the undesired portion such that original information contained in the undesired portion is no longer detectable. The user input may be provided by actuation of a touchscreen on the input device, by keyboard navigation of a cursor or by any other means for selecting a portion of an image, for example.
To make the information contained in the undesired portion undetectable, the obliteration component includes codes that cause the processor system 30 to set the entire content of the selected undesired portion to a common value, such that the image is a visibly altered image. Thus, for example, as shown in Figure 9 the selected undesired portions of the image may be made all black. Alternatively the selected portions may be made all white or may be made to depict a pattern such as a sequence of characters such as ********************* for example.
To effect this function, the user interface 120 shown in Figure 9 is adapted to include a "block" soft key 302 which is to be activated by the operator after an operator selects a portion or portions of the image to be blocked out, the selection being made in the manner described above. Once portions to be blocked out have been selected, the operator activates the "block" soft key 302 which is associated with code that causes the processor system to set pixels in the selected portions of the image to a blockout value or to depict a pre-defined blockout character to obliterate the information that was depicted by the area selected. In this way a redacted information image is produced.
The user interface 120 shown in Figure 9, further includes an "append image" soft key 304 associated with codes that cause the processor system shown in Figure 2 to store the redacted information image in an image/ redacted image memory location 306 in the RAM 38. In this embodiment, the storing component 58 shown in Figure 2 is modified to include codes that direct the processor system 30 to store the contents of the image/redacted image memory 306 in the record buffer 224 such that the data packet will include an image field holding these contents as shown in Figure 8.
It will be appreciated that where the user does not actuate the 'block" function and simply directly actuates the append image soft key 304, the storing component 58 directs the processor system to store the contents of the image/altered image memory 306, which will be the unaltered image, in the record buffer 224 such that the data packet will include an image field holding the unaltered image.
Thus, the data record may include a representation of the image or a visibly altered version of the image that provided the information to populate the information fields of the data record.
From the foregoing it will be appreciated that the above-described input device acquires a set of information elements about an item, from image portions of an information image pertaining to the item and compiles these information elements into a data record represented by a data packet. The data packet is sent to the server 22 over the network 24. A plurality of input devices of the type described may be used to acquire information about items from all over the world and the server may gather all of the data packets sent by the input devices and store data records represented by the data packets in a database.
Server System
Referring to Figure 10, the database server system is shown generally at 22 and includes a processor 402 and an input/output interface 404 to which is coupled a network interface 406. The processor 402 is also in communication with random access memory 408, program memory 410 and database memory 412. It will be appreciated that database memory 412 is controlled by the processor 402 under the direction of a database manager 414 implemented in codes stored in the program memory 410 that direct the processor to perform database manager functions to maintain a database of data records in the database memory 412, in a manner generally known in the art.
Alternatively, the database manager 414 may include codes that direct the processor 402 to communicate with a database (not shown) located remotely from the server. The remotely located database could be a commercial database for example and the server system 400 may merely be configured to interact with such database without requiring substantial memory or detailed database management functionality at the server.
To enable the server system 22 to cooperate with the system described above in which information pertaining to an item purchase or offer for sale is acquired by input devices, the program memory 410 includes a receive code component 416 operabiy configured to direct the server system 22 to receive data packets representing data records. The program memory 410 further includes a search code component 418 operabiy configured to cause the processor system to initiate a search of the database for a stored data record that meets certain criteria, a store code component 420 operabiy configured to cause the processor system to store the received data record in . the database when the search produces certain results, a replace code component 422 configured to cause the processor system to replace an existing stored data record, or replace the contents of a field of an existing data record, depending on the results of the search.
Receive Component
Still referring to Figure 10, the receive code component 416 directs the server system 400 to receive a data packet from the network, at the network interface 406 and cause the received data packet to be stored in a receive buffer 424 in the RAM 408, The receive buffer 424 includes memory locations for storing the contents of each of the fields of the data packet representing the data record. In the embodiment shown, the data packet may be assumed to have a format as shown in Figure 5, for example and therefore the RAM 408 is configured with memory areas including a name memory area 426, a quantity memory area 428, a price per quantity memory area 430, a seller's name memory area 432, a seller's address memory area 434, a total taxes memory area 436 and a total price memory area 438. In some embodiments, a field may be derived from other fields. For example, a total price field may be omitted given that it can be derived from other price, quantity, and tax- related fields. Of course, lesser or more fields may also be specified, such as a currency field, depending on the specific embodiments.
It will be appreciated that as described above, the fields included in a data packet may be determined by the user or may include fields in addition to the fields shown in Figure 5, and therefore the server system 400 may not know in advance what fields will actually be included. Codes included in the receive component 416 direct the processor system to read the field identifiers 229,
231, 233, 235, 237, 239 and 241 in the data packet shown in Figure 5 and to create memory areas such as shown at 426-438 for each of the fields included in the data packet. Once a data packet has been received, and data packet field contents have been stored in associated memory areas, the search code component 418 is automatically invoked by the receive code cornponent 416.
Search component
The search code component 418 directs the server system 400 to initiate a search of the database for a stored data record that meets certain criteria. In this embodiment, the following criteria must be met by a stored record in order for it to be considered to be a desired record:
1) the item name field contents of the stored data record describe an item described by the contents of item name memory area 426 of the received data record; 2) the seller name field contents of the stored data record describe a seller described by the contents of seller name memory area 432 of the received data record; and 3) the contents of the quantity field of the stored data record are the same as the contents of the quantity field of the received data record.
It will be appreciated that other criteria may be used to decide whether to consider a stored record a desired record. For example, where the quantity is implicitly 1, the third criterion relating to the quantity field may not be necessary.
In addition other criteria dependent on the contents of the information fields in the record may be employed.
If any stored data record meeting these criteria is located, the search component directs the processor system to copy the contents of all of the fields of the located records to corresponding locations of a comparison buffer 440. The search component directs the server system 400 to expand the comparison buffer as necessary to include groups of memory areas, where each group corresponds to one record found in the search and each memory location in a given group is loaded with the contents of a corresponding field of the record with which the group is associated. In this embodiment, assume only one record meeting the search criteria has been found and that the record has only a name field, a quantity field, a price per quantity field, a seller name field, a seller address field, a total taxes field and a total price field. Therefore the search component causes the processor system to cause the comparison buffer to have a name buffer 442, a quantity buffer 444, a price per quantity buffer 446, a seller name buffer 448, a seller address buffer 450 a total taxes buffer 452 and a total price buffer 454. Once the comparison buffer 440 has been loaded, the replacement code component is invoked. Replacement component
The replacement code component 422 directs the server system 400 to replace the contents of the price fields of the record(s) located in the search. To do this the replacement code component directs the server system 400 to copy the contents of the quantity and price per quantity memory areas 428 and 430 associated with the received data record to the corresponding buffers 444 and 446 of each group of locations associated with a record meeting the search criteria. The replace code component 422 then directs the server system 400 to store the contents of the comparison buffer 440 associated with each data record meeting the search criteria back into the database, with the changed price information. In effect, therefore the stored data records meeting the search criteria are updated with new price information. Where the contents of the price per quantity (446) of a stored data record are the same as the contents of the price per quantity memory area (430) of the received data record, only the contents of the price per quantity field (446) of the stored data record need be replaced with the contents of the price per quantity field of the received data record.
It will be appreciated that the data records produced by the input devices shown in Figure 1 might not include a quantity field, in which case the quantity would implicitly be 1. In this case, when records meeting both search criteria are found, the contents of the price fields of these records would be replaced with the contents of the price field of the received data record.
Storage component
When no records meeting the search criteria are located, the store code component 420 directs the server system 400 to store the received data record in the data base. To do this, the store code component 420 directs the processor system to use the contents of the receive buffer 424 to populate a new record to be stored in the database. From the foregoing, it will be appreciated that as data packets representing data records are received at the server, the contents of the data records received are compared with the contents of data records already stored in the database and the received data record is stored in the database, or an existing stored database record is updated with information from the received data record.
The program memory may further include an index component 460 that causes the database records in the database memory 412 to be organized into indices including a name index and a seller name index. When a received data record has item name memory area 426 that match a name base of the name index, the received record is associated with the name index and similarly, when a received record has seller name memory area 432 that match a seller name base of the seller name index, the received record is associated with the seller name index. Use of the item name and seller name indices, facilitates faster responses to queries based on item name and seller name respectively. Thus, the name index becomes a seif- learning repository of competing offers for a particular item and the seller name index becomes a self-learning repository of sellers and the items each seller provides.
It will be appreciated that there may not be a direct match of field contents when searching for records meeting the search criteria. Consequently, the field contents of a given field of a stored data record are deemed to describe a same entity as corresponding field contents of a corresponding field of a received data record when the field contents and the corresponding field contents match. To determine whether field contents match, the search component includes codes that determine a matching score representing a degree of matching of the field contents and the corresponding field contents. A match is deemed to exist when the matching score meets a criterion. The criterion may be that the matching score exceeds a threshold such as 95%, for example. This may allow for minor spelling differences in names of the item for example. Referring to Figures 11 and 12 in alternate embodiments, at least some of the stored data records may have a first item code field 470 and the received data record may have a second item code field 472. In this case, the contents of name buffer 442 associated with a stored data record are deemed to describe a same item as the name field contents 228 of a received data record when the contents of the item code field 470 of the stored data record match the contents of the item code field 472 of the received data record. The item code field may be populated with a UPC code, phone number, brand identity or product code, or SKU, for example.
In such an embodiment, the user interface 120 of Figure 4 may be adapted as shown in Figure 13 to include an indicator 474 and an item code field populating option enabling a user to populate the item code field 472 in the same way other fields are populated. Alternatively, the input device may have or have access to a lookup database enabling a lookup of an item code based on a user query, for example, or by reading a UPC bar code on the product acquired by taking a picture of a label on the product and using the UPC bar code in a query to a UPC code database. Thus, in one embodiment the user enters the item code and in another embodiment, an item code is automatically included in the data record. The use of an item code may be useful where the name fields or seller fields may be populated with words in different languages, for example.
Referring to Figure 14, in another alternate embodiment, the input devices may include codes that cause the data packet representing the data record to include a time code field 280 and the records stored in the database may have time code fields. Alternatively, at the server, for example, time code fields 284 may be added to data records received from the input devices if the data packet from the input device does not have a time code field 280. In addition, the server system 400 may include codes that direct the processor system to store a time code in the time code field 284 of the received data record if it already includes a time code field or to append a time code field 284 and populate it with a time code, if the received data record does not already have one.
Where time codes are used, the server may include codes that direct the server processor system to replace the contents of a time code field of a stored record meeting both of the above indicated search criteria when the contents of the price field are replaced.
In summary, either the input device or the server may include codes for directing their respective processor systems to associate a time code field. The server may include codes for directing its processor system to populate an existing time code field or to appended a time code field to a received data record when the electronic purchase record is received at a pre-defined location. The pre-defined location may be the server, for example.
After the data records are stored in the database, some of the records may be associated with each other through their relationships with a particular entity, for example, in response to reading and comparing field contents or in response to receiving user input from an operator of the database or users of the database. This facilitates more comprehensive search results when queries are made of the database to locate records relating to a particular entity. For example, a search that locates a stored record that is associated with other records related to the same entity as the located record will produce all of the records that are related to that entity.
The above described system provides a way of acquiring information about purchases, for example and for storing such information for later retrieval. While the system has been described as being carried out in two discrete parts, namely through the use of input components and a server, it will be appreciated that all of the functionality of the input components, for example can be integrated into the server and the server processor system can perform the functions of both the input device and the server system described above. Or, the functionality of both the input device and server can be integrated into the input device. Where the input device is a handheld mobile device, it may be desirable to cause the device to access a remote database rather than an integral database as described above, to avoid the need for large storage capacity on the mobile device.
Query system
Referring back to Figure 10, a system of shopping for goods or services provided by sellers at different prices may, in one embodiment, be provided by interfacing a web server with the database 412, for example to provide access to the information in the database. In this embodiment the web server may be integrated a code component 500 included in the program memory 410. Alternatively, a separate computing system may be interfaced with the database to provide a web server function. In the embodiment shown, the web server component 500 includes a query receiver component 502 including codes that direct the processor system to receive a query comprising at least one of an item name, a seller name and a price; a query component 504 including codes that direct the processor system to cause a query of the database 412; and a return component 506 including codes that direct the processor system to return the result of the query to the device that initiated the query.
Query receiver
The query receiver component 502 directs the server system 400 to receive from the network 24 through the network interface 406 a query including an item name, seller's name or price, for example. To do this the query receiver component 502 may include code that causes the server system 400 to serve web pages to users on the network 24, the web pages presenting templates into which the user can enter information desired to be included in a query. The web pages may include functionality i.e. codes that direct the user's computer to accept user entry of query parameters and the code may package these parameters into a query record that is sent in a data packet representing the query, to the server processor system shown in Figure 10. On receiving a data packet representing a query, the query receiver parses the data packet representing the query to extract the query parameters and passes these parameters to the query component.
Query Component
The query component 504 passes the query parameters to the database manager 414 to effect a query of the database memory 412. The database manager 414 returns to the query component records meeting the criteria of the query as indicated by the query parameters by loading the records meeting the query parameters into a query return buffer 508 established in the RAM 408. Referring to Figure 16, the query return buffer 508 includes various locations the number and purpose for which depend on the fields included in the records retrieved. In the embodiment shown, the retrieved record includes a name field, a quantity field, a price per quantity field, a seller name field a seller address field, a total taxes field, a total price field and an image field. Therefore the query return buffer has a name location 510, a quantity location 512, a price per quantity location 514, a seller name location 516, a seller address location 518, a total taxes location 520, a total price location 522 and an image location for storing the contents of fields bearing corresponding information.
Referring back to Figure 10, a separate group of memory locations is associated with each record located by the database manager 414. The query return buffer 508 is expandable to accommodate any number of records that may be located, with any number of locations accommodating the contents of corresponding fields of each record.
The query criteria may include, for example, a requirement that the contents of the name field match a name component of the query; a requirement that the contents of the seller name field match seller name of the query; and a requirement that contents of the price field match a price parameter of the query and a record may be considered to meet the search criteria if at least one of these criteria is met.
The query component 504 may direct the database manager 414 to determine a matching strength representing a measure of confidence that the field contents of a stored data record refer to the same thing as set out in the query parameters. A data record may be deemed to have field contents matching a query parameter when the matching strength meets a matching strength criterion. The matching strength criterion may be that the matching strength exceeds a pre-determined a threshold.
Where query parameters require a match in the name of an item and where the query includes an item code parameter and the data records have an item code field, a match in the contents of the item name field may be deemed to exist when the item code parameter provided by the query is identical to the contents of the item code field of a stored record.
Also, the program memory 410 may include codes that direct the processor system 22 to effect a secondary lookup function using initial results of the query. For example, where each stored data record has a product code field and when the contents of the name field of a purchase record in the database is deemed to meet the matching strength criterion, the processor system may be directed to query the database for purchase records having product code field contents matching the product code field contents of any purchase record deemed to meet the matching strength criterion and to identify such records as meeting the matching strength criterion.
Referring to Figure 17, an exemplary embodiment illustrates how eight stored data records 701 - 708 pertaining to eight different sellers identified in seller name fields 730 to 744, which further differ from each other in respect of the contents of either item name fields 710 - 724 or price fields 7S0 - 764, may all comprise relevant results of an item name query for a product, e.g. "diet coke". In the illustrated embodiment, the database manager effects a query of the database memory for a product entitled "DIET COKE". The database manager initially returns a primary set 790 of stored data records, comprising stored data records 701 and 702, to the query buffer. Stored data records 701 and 702 share identical item name field contents 710 and 712, i.e. DIET COKE 1.5L, and thus are returned on the basis that the item name field contents directly match the query. These records share a common UPC code in information fields 770 and 772, and this UPC code is then used as a means to relate to or locate any other records with the same UPC code. This results in a secondary set 792 of stored data records, comprising stored data records 703 - 706, to the query buffer. Stored data records 705 and 706, include the same item name field contents 718 and 720, i.e. "Coca-Cola Diete 1.5", and this is used to produce tertiary result for including a third set 794 of stored data records, comprising stored data records 707 and 708. All of the stored data records 701-708 are deemed to meet the matching strength criterion in respect of item name.
Where relationships between records and entities have already been established and effected in the database, the database will already be configured to reflect the fact that data records with the name Diet Coke are related to UPC no. 4890008100156 and that these records are also are related to records with the name Coca-Cola Diete. Therefore in response to a single query on the name Diet Coke, all related records will be returned.
Where the purchase records have quantity code fields, and the query includes an item name parameter, the query component 504 may cause the processor system 22 to communicate with the database manager 414 to cause a query of the database 412 for records having product code field contents representing packages of the item identified by the contents of the item name field associated with at least one record deemed to meet the matching strength criterion.
With the query return buffer 508 loaded with records meeting the query criteria, the return component 506 is invoked. Where relationships between records and entities have already been established and effected in the database, to relate single items and packaged items to the same entity, for example, the database manager will automatically return all the records that are related to the same entity.
For example, some packages with a UPC code may contain multiple products or items each having their own UPC code. For example, a box of five packets of printer paper may have a UPC code that is different from the UPC code of each individual pack. As such, a query for this box for a quantity of one will also produce records relating to packs of printer paper for a quantity of five, for example, even though they may have two different UPC codes and quantities. In another example, the same product items may be different UPC codes and because they have been previously related in the database, to the same item, records for that item, will be produced even though the contents of their UPC code fields are different.
Return Component
The return component 506 directs the server system 22 to return the results of the query to the user and device that initiated the query,, such as by presenting a web page to the device. The web page may bear representation(s) of the records satisfying the query criteria, as held in the query return buffer 508. As part of this representation of the records meeting the query criteria, the web pages that present the records to the user and device that made the query may include functionality that enables an operator computer to view the contents of the image field 524, where one is provided and the content of any of the other fields in the data record, for example. By allowing the user to view the contents of the image field 524 the user can view the actual information document or a redacted version thereof that was used to generate the record and provides evidence to the operator that the record represents authentic information. From the foregoing it will be appreciated that there is provided a system that gathers and packages information obtained from at Jeast one information image and which stores the packaged information in a database for public retrieval in response to user queries. The system provides a convenient way of acquiring and packaging information from at least one information image thereby providing a convenient way to gather information about an entity to facilitate sharing of such information.
While the above system has been explained in the context of a shopping information system, the same general concepts can be employed to adapt the system for use in other contexts. For example, the display component may be adapted for use in gathering information from product labels. Referring to Figure 18, in an embodiment adapted for use in gathering information from product labels, the display component directs the processor system to present a user interface 550 having a control area 5S2, a display area 554 and an indicator area 556. The control area 552 includes zoom in and zoom out soft keys 130 and 132 and confirm and done soft keys 136 and 138 which function as described above. The control area however, includes a reset soft key 558 and an extract soft key 560. The reset soft key 558 is associated with code that directs the processor system to de-select any currently selected image area. The extract soft key 560 is associated with code that directs the processor system to make available data from a selected area, in a display editing area 562, for user editing.
The display area 554 is similar to the display area described above with the exception that more than one information image is displayed at the same time. In the embodiment shown, first and second information images 564 and 566 are displayed. The first information image 564 is of a first product label such as might be found on a front of a product, for example. The second information image 566 is of a second product label such as might be found on a rear of the product, for example. The first information image includes a manufacturer's trademark 568, a product trademark 570, a slogan 572 and a weight 574. The second information image includes a nutrition information image portion 576, a barcode 578, a manufacturer's address 580 and a source country image portion 582.
The indicator area 556 includes name 584, brand 586, logo 588, UPC 590, weight 592, nutrition label 594, origin 596 and address field 598 indicators to indicate that these will be the fields of the data packet representing the data record that wilt be produced. The user can load these fields in the manner described above to produce a data packet 600 as shown in Figure 18 that will be sent to the server.
Referring to Figure 19, the data packet includes a header 602, name label and content fields 604, 606; brand label and content fields 608, 610; logo label and content fields 612, 614, UPC label and content fields 616, 618, weight label an content fields 620, 622, nutrition label and content fields 624, 626; original label and content fields 628, 630 and address label and content fields 632, 634, for holding codes or images. The label fields hold labels indicating the name of the content fields that follows, as described above. The logo content field 614 and the UPC label content field 618 may hold image files representing the logo and UPC label respectively, while the remaining fields may hold codes produced as a result of pattern recognition on image portions of the first and second information images, for example. Lookup features may be provided to lookup text that represents a particular logo, for example, where the logo is a design mark, for example.
At the server 22, the processor system program memory 410 may be configured to include codes that direct the processor system compare the received data packet against some criteria to determine whether the data packet represents a new data record or is a duplicate of a data record already stored in the database.
The server system may further include codes that direct the server system processor system 22 to serve web pages bearing query input receiving functionality specific to the information content in the data records stored in the database 412 and code to facilitate queries of the database based on user input. The queries may include some intelligent functions such as described above for extending the scope of the query based on initial query results, for example to provide a suitable set of results for any given query.
Two embodiments of how the system can be employed for two different applications have been provided. It will be appreciated that the system can be adapted to accommodate other applications of gathering, storing and querying information about virtually anything.
The present invention provides methods and systems, among other uses or applications, for collecting information on paper receipts, processing them to discover "offer" descriptions, organizing "offers" against a common item or seller, and accepting queries for "offers" against a specific item or seller. Such methods and systems make it much easier and faster to record and share "offers" for a particular item or of a particular seller and their prices based on otherwise often ignored or trashed artifacts (e.g., sales receipts) of consumers' day-to-day transactions. For example, a single receipt may contain information for thee items and a seller previously unknown to a system embodying or otherwise equipped with the present invention. The system having processed the receipt will discover not only one new seller and three new items, but also the prices of these items (in relation to some specific quantity), and where to get them. On the other hand, receipts referring to known items and sellers would enable the system to update old offers and/or discover new items available from existing sellers. This highly automated system would enable consumers to create a much more competitive marketplace, locally or worldwide, which would benefit both the value conscious consumers and highly efficient sellers.
However, receipts may contain private or personal information, such as a membership number, a credit or debit card number, account balance, cashier name or identifier, data and time. The present invention enables a user to eliminate such information at the source before their submissions to a server. The resulting digital representations of the receipts alone would provide a useful proof of purchase or offer for others to consider, while protecting the privacy or confidentiality of the buyers. Added sense of security is also achieved by not making available such private information on receipts sent to a server that may extract data from them to generate offer or other descriptions, or one that may simply publish the submitted receipts for others to consult with.
While specific embodiments of the invention have been described and illustrated, such embodiments should be considered illustrative of the invention only and not as limiting the invention as construed in accordance with the accompanying claims.

Claims

What is claimed is: 1 . A method for generating a set of description information describing aspects of an entity, the method comprising: causing an information image bearing at least one element of the set of description information to be displayed to an operator; associating at least one image portion including said at least one element of said set of description information in said information image with at least one pre-defined information field of a data record, in response to user-input defining said at least one image portion; performing a function on said at least one image portion to produce a machine readable representation of said at least one image portion; storing said at least one machine readable representation in a corresponding at least one predefined information field; and sending a data packet representing an electronic data record holding said set of description information to a record database for storage therein, wherein said data packet comprises said at least one pre-defined information field with said machine readable representation stored therein.
The method of claim 1 further comprising acquiring said information
2.
image.
The method of claim 2 wherein acquiring said information image
3.
comprises receiving at least one of: a data packet, a fax transmission and a picture file representing said information image.
4. The method of claim 2 wherein acquiring said information image comprises activating a camera operable to produce a file representing said information image.
5. The method of any one of claims 1-4 wherein associating image portions comprises producing a user interface image identifying said pre-defined information fields.
6. The method of claim 5 wherein producing said user interface image comprises simultaneously displaying at least a portion of said information image while displaying said user interface image.
7. The method of claim 5 or 6 wherein associating image portions comprises causing some portions of said information image to be distinguished from other portions of said information image.
8. The method of claim 7 further comprising distinguishing said some portions of said information image from other portions of said information image in response to operator input.
9. The method of claim 7 or 8 wherein associating comprises storing distinguished image portions in memory areas associated with said pre-defined information fields.
10. The method of claim 9 wherein performing a function on said image portions comprises applying a pattern recognition process to said distinguished image portions stored in said memory areas associated with said pre-defined information fields, to produce said machine readable representations.
11. The method of claim 10 wherein applying a pattern recognition process comprises performing an optical character recognition process on said distinguished image portions stored in said memory areas associated with said pre-defined information fields, to produce said machine readable representations.
12. The method of claim 10 or 11 wherein said machine readable representation comprises codes representing information content in said distinguished image portions.
13. The method of claim 12 wherein said codes include ASCII codes.
14. The method of. claim 12 or 13 further comprising displaying a representation of said codes and amending said codes in response to operator input to add, modify or delete information represented by said codes.
15. The method of any one of claims 1-14 wherein storing said machine readable representations in said pre-defined information fields includes storing said at least one machine readable representation in a text subr field of at least one of said pre-defined information fields and storing said image portion in an image subfield of said at least one of said predefined information fields.
The method of any one of claims 1-15 further comprising defining said set of description information in response to operator input.
The method of claim 16 wherein defining said set of description information comprises defining said pre-defined information fields in response to operator input.
18. The method of any one of claims 1-17 further comprising including in said data packet a representation of said information image.
19. The method of claim 1-18 further comprising obliterating portions of said information image in response to user input to produce a redacted information image.
20. The method of claim 19 further comprising including in said data packet a representation of said redacted information image.
21. The method of any one of claims 1-20 wherein at least one of said predefined information fields includes an image subfie!d, a text subfield and a different language subfield and wherein an image portion associated with said set of information is stored in said image subfield, said machine readable representation produced from said image portion is stored in said text subfield and a translation is performed on said machine readable representation to produce a different language representation and wherein said different language representation is stored in said different language subfield.
22. The method of claim 21 further comprising amending at least one of said image portion, said machine readable representation and said different language representation in response to operator input.
23. The method of any one of claims 1-22 wherein said information image is an image of a sales receipt.
24. The method of claim 23 wherein said pre-defined set of description information includes name information, seller information and price and wherein said pre-defined information fields include a name information field, a seller information field and a price information field.
25. The method of claim 24 wherein the electronic record is an electronic purchase record representing a transaction between a buyer and a seller, and wherein the record database is a purchase record database, the method further comprising: causing a component of a shopping record system to receive said data packet representing said electronic data record; causing a component of the system to search the purchase record database for a stored purchase record that meets at least one of the following search criteria: item name field contents of said stored purchase record describe an item described by name field contents of said electronic data record; and seller name field contents of said stored purchase record describe a seller described by seller field contents of said electronic data record; in response to said searching, when no stored purchase record meeting said search criteria is located: causing a component of the system to store said electronic purchase record in said purchase record database; in response to said searching, when a stored purchase record meeting both of said search criteria are met: causing a component of the system to replace said stored purchase record with said electronic purchase record in said purchase record database or replacing the contents of said price field of said stored purchase record in said purchase record database with the contents of said price field of said electronic purchase record.
26. The method of claim 25 wherein replacing comprises deleting said stored purchase record from said purchase record database and storing said electronic purchase record in said purchase record database.
The method of claim 25 or 26 further comprising:
27. causing a component of the system to associate stored purchase records having common item field contents with an item index; and causing a component of the system to associate stored purchase records having common seller field contents with a seller index.
28. The method of any one of claims 25-27 wherein said field contents of a given field of a stored purchase record describe a same entity as corresponding field contents of a corresponding field of said electronic purchase record when said field contents and said corresponding field contents match.
29. The method of claim 28 wherein a component of the system determines a matching score representing a degree of matching of said field contents and said corresponding field contents; and wherein a match is deemed to exist when said matching score meets a criterion.
30. The method of any one of claims 25 - 29 wherein: said stored purchase records have a first item code field; said electronic purchase record has a second item code field; and said name field contents of said name field of a stored purchase record are deemed to describe a same item as name field contents of said electronic purchase record when said contents of said item code field of said stored purchase record match said contents of said item code field of said electronic purchase record.
The method of claim 30 further comprising causing a component of the 31 .
system to assign item codes to said stored purchase records and to said electronic purchase record based on operator input.
32. The method of any one of claims 25-31 wherein: said stored purchase records have a first quantity code field; said electronic purchase record has a second quantity code field; and only when the contents of said first quantity code field match the contents of said second quantity code field, causing a component of the system to replace said price field contents of said stored purchase record with the contents of the price field associated with said electronic purchase record. The method of any one of claims 25-32 wherein:
33. said stored purchase records have a time code field; and further comprising: causing a component of the system to associate a time code field with said electronic purchase record if said electronic purchase record does not already have a time code field; and causing a component of the system to store a time code in said time code field of said electronic purchase record; and when both of said search criteria are met, causing a component of the system to replace the contents of said time code field of said stored record with said contents of said time code field of said electronic purchase record.
34. The method of claim 33 further comprising causing a component of the system to assign said contents of said time code field of said electronic purchase record when said electronic purchase record is received at pre-defined location.
35. A method for gathering and storing shopping information for enhancing shopping for goods or services, the method comprising: causing a component of a system to receive an electronic purchase record comprising at least a name field, a seller field and a price field having contents describing item information, seller information and price information respectively, said electronic purchase record representing an agreed purchase of a good or service associated with said item information by a seller associated with said seller information; causing a component of the system to search a purchase record database for a stored purchase record that meets at least one of the following criteria: item name field contents of said stored purchase record describe an item described by name information field contents of said electronic purchase record; and seller name field contents of said stored purchase record describe a seller described by seller field contents of said electronic purchase record; in response to said searching, when no stored purchase record meeting said search criteria is located: causing a component _ of the system to store said electronic purchase record in said purchase record database; in response to said searching, when a stored purchase record meeting both of said search criteria are met: causing a component of the system to replace said stored purchase record with said electronic purchase record in said purchase record database or replacing the contents of said price field of said stored purchase record in said purchase record database with the contents of said price field of said electronic purchase record.
36. The method of claim 35 wherein replacing comprises deleting said stored purchase record from said purchase record database and storing said electronic purchase record in said purchase record database.
37. The method of claim 35 or 36 further comprising: causing a component of the system to associate said stored purchase records having common item field contents with an item index; and causing a component of the system to associate said stored purchase records having common seller field contents with a seller index.
38. The method of any one of claims 35-37 further comprising determining whether certain records relate to a particular entity and associating said certain records that relate to said particular entity with said particular entity, wherein determining comprises determining in response to the contents of at least one of said name and seller fields or in response to user input.
39. The method of claim 38 wherein a component of the system determines a matching score representing a degree of matching of said field contents and said corresponding field contents; and wherein a match is deemed to exist when said matching score meets a criterion.
40. The method of any one of claims 35 - 39 wherein: said stored purchase records have a first item code field; said electronic purchase record has a second item code field; and wherein said name field contents of said name field of a stored purchase record are deemed to describe a same item as name field contents of said electronic purchase record when said contents of said item code field of said stored purchase record match said contents of said item code field of said electronic purchase record.
41. The method of claim 40 further comprising causing a component of the system to assign item codes to said stored purchase records and to said electronic purchase record based on operator input.
42. The method of any one of claims 35-41 wherein: said stored purchase records have a quantity code field; said electronic purchase record has a quantity code field; and only when the contents of said first quantity code field match the contents of said second quantity code field, causing a component of the system to replace said price field contents of said stored purchase record with the contents of the price field associated with said electronic purchase record.
43. The method of any one of claims 35-42 wherein: said stored purchase records have a time code field; and and wherein the method further comprises; causing a component of the system to associate a time code field with said electronic purchase record if said electronic purchase record does not already have a time code field; and causing a component of the system to store a time code in said time code field of said electronic purchase record; and when both of said search criteria are met, causing a component of the system to replace the contents of said time code field of said stored record with said contents of said time code field of said electronic purchase record.
44. The method of claim 43 further comprising causing a component of the system to be assign contents of said time code field of said electronic purchase record when said electronic purchase record is received at pre-defined location.
45. A method of shopping for goods or services provided by sellers, the method comprising the method of any one of claims 25 - 44 and further comprising: causing a component of a system to receive a query comprising at least one of a name, a seller name and a price; causing a component of the system to effect a query of a database of purchase records, in response to said request, said purchase records having, seller and, price fields and an image file field representing an image of a receipt or invoice bearing information from which the contents of said item, seller and price fields were obtained, said query locating records meeting search criteria based on said request, wherein said search criteria include at least one of: the contents of said item field match said item description of said query; the contents of said seller field match said seller description of said query; the contents of said price field match said price description of said query; and causing a component of the system to identify to a user purchase records meeting at least one of said search criteria; causing a component of the system to receive signals representing user selection of at least one of said purchase records meeting said at least, one of said search criteria; and causing a component of the system to effect a display of an image represented by the contents of the image field of the user-selected purchase record.
46. The method of claim 45 wherein identifying purchase records meeting at least one of said search criteria comprises causing a component of the system to produce a display showing representations of said purchase records meeting said at least one of said search criteria.
47. The method of claim 45 or 46 further comprising: causing a component of the system to determine a matching strength representing a measure of confidence that the item field contents of a purchase record refer to the same item as described by the item description provided by said query; and causing a component of the system to deem a purchase record to have item field contents matching said description item provided by said query when said matching strength meets a matching strength criterion.
The method of claim 47 wherein when a purchase record identified by 48.
the query has a product code field and a purchase record identified by the query has a field that is deemed to meet the matching strength criterion: causing a component of the system to query the database for purchase records having product code field contents matching said product code field contents of said purchase record having a field deemed to meet the matching strength criterion; and causing a component of the system to deem said purchase records having product code field contents matching said product code field contents of said purchase record deemed to meet the matching strength criterion, to also meet the matching strength criterion.
49. The method of claim 48 having a field further comprising: causing a component of the system to deem stored records having product code field contents representing packages of the item identified by the contents of the name fields associated with purchase records deemed to meet said matching criterion, to also meet the matching strength criterion.
50. A computer readable medium encoded with codes for directing a computer system to execute the method of any one of claims 1-49.
51. An apparatus for generating a set of description information describing aspects of an entity, the apparatus comprising: means for causing an information image bearing at least one element of the set of description information to be displayed to an operator; means for associating at least one image portion including said at least one element of said set of description information in said information image with at least one pre-defined information field of a data record in response to user-input defining said at least one image portion; means for performing a function on said at least one image portion to produce a corresponding at least one machine readable representation of said at least one image portion; means for storing said at least one machine readable representation in a corresponding at least one of said predefined information fields; and means for sending a data packet representing an electronic data record holding said set of description information to a record database for storage therein, wherein said data packet comprises said at least one pre-defined information field with said machine readable representation stored therein.
52. The apparatus of claim 51 further comprising means for acquiring said information image.
53. The apparatus of claim 52 wherein said means for acquiring said information image comprises at least one of means for receiving a data packet, means for receiving a fax transmission and means for receiving a picture file representing said information image.
54. The apparatus of claim 52 wherein said acquiring means comprises a camera operable to produce a file representing said information image.
55. The apparatus of any one of claims 51-54 wherein said means for associating image portions comprises means for producing a user interface image identifying said pre-defined information fields.
56. The apparatus of claim 55 wherein said means for producing said user interface image comprises means for simultaneously displaying at least a portion of said information image while displaying said user interface image.
57. The apparatus of claim 55 or 56 wherein said means for associating image portions comprises means for causing some portions of said information image to be distinguished from other portions of said information image.
58. The apparatus of claim 57 further comprising means for distinguishing said some portions of said information image from other portions of said information image in response to operator input
59. The apparatus of claim 57 or 58 wherein said means for associating comprises memory areas associated with said pre-defined information fields and means for storing said distinguished image portions in said memory areas.
60. The apparatus of claim 59 wherein said means for performing a function on said image portions comprises means for applying a pattern recognition process to said distinguished image portions stored in said memory areas associated with said pre-defined information fields, to produce said machine readable representation.
61. The apparatus of claim 60 wherein said means for applying a pattern recognition process comprises means for performing an optical character recognition process on said distinguished image portions stored in said memory areas associated with said pre-defined information fields, to produce said machine readable representation.
62. The apparatus of claim 60 or 61 wherein said machine readable representation comprises codes representing information content in said distinguished image portions.
63. The apparatus of claim 62 wherein said codes include ASCII codes.
64. The apparatus of claim 62 or 63 further comprising means for displaying a representation of said codes and means for amending said codes in response to operator input to add, modify or delete information represented by said codes.
65. The apparatus of any one of claims 51-64 wherein at least one of said pre-defined information fields includes an image subfield and a text subfieid and wherein said means for storing said machine readable representations in said pre-defined information fields includes means for storing said at least one machine readable representation in said text sub-field and means for storing said image portion in said image subfield.
66. The apparatus of any one of claims 51-65 further comprising means for defining said set of description information in response to operator input.
67. The apparatus of claim 66 wherein said means for defining said set of description information comprises means for defining said pre-defined information fields in response to operator input.
68. The apparatus of any one of claims 51-57 further comprising means for including in said data packet a representation of said information image.
69. The apparatus of any one of claims claim 51-68 further comprising means for obliterating portions of said information image in response to user input to produce a redacted information image.
70. The apparatus of claim 69 further comprising means for including in said data packet a representation of said redacted information image.
The apparatus of any one of claims 51-70 wherein at least one of said pre-defined information fields includes an image subfield, a text subfield and a different language subfield and further comprising means for storing an image portion associated with said set of information in said image subfield, means for storing said machine readable representation produced from said image portion in said text subfield, means for translating said machine readable representation to produce a different language representation and means for storing said different language representation in said different language subfield .
72, The apparatus of claim 71 further comprising means for amending at least one of said image portion, said machine readable representation and said different language representation in response to operator input.
73. The apparatus of any one of claims 51-72 wherein said information image is an image of a sales receipt.
74. The apparatus of claim 73 wherein said pre-defined set of description information includes name information, seller information and price information and wherein said pre-defined information fields include a name field, a seller field and a price field.
75. A system comprising the apparatus of claim 74, wherein the electronic record is an electronic purchase record representing a transaction between a buyer and a seller, and wherein the record database is a purchase record database, the system further comprising: a component operabiy configured to receive said electronic data packet containing said purchase record; a component operabiy configured to cause a search of said purchase record database, for a stored purchase record that meets at least one of the following criteria: name field contents of said stored purchase record describe an item described by name field contents of said electronic purchase record; and seller information field contents of said stored purchase record describe a seller described by said seller field contents of said electronic purchase record; a component operabiy configured to store said electronic purchase record in said purchase record database in response to said searching, when no stored purchase record meeting at said search criteria is located; and a component operably configured to at least one of: a) replace said stored purchase record with said electronic purchase record in said purchase record database; and b) replace the contents of said price field of said stored purchase record in said purchase record database with the contents of said price field of said electronic purchase record, in response to said searching, when a stored purchase record meeting both of said search criteria are met.
76. The system of claim 75 wherein said component operably configured to replace comprises a component operably configured to delete said stored purchase record from said purchase record database and a component operably configured to store said electronic purchase record in said purchase record database.
77. The system of claim 75 or 76 further comprising: a component operably configured to associate said stored purchase records having common item field contents with an item index; and a component operably configured to associate said stored purchase records having common seller field contents with a seller index.
78. The system of any one of claims 75-77 wherein said field contents of a given field of a stored purchase record describe a same entity as corresponding field contents of a corresponding field of said electronic purchase record when said field contents and said corresponding field contents match.
79. The system of claim 78 further comprising: a component operably configured to determine a matching score representing a degree of matching of said field contents and said corresponding field contents, wherein a match is deemed to exist when said matching score meets a criterion.
80. The system of any one of claims 75-79 wherein: said stored purchase records have a first item code field; and said electronic purchase record has a second item code field; and said name field contents of said name field of a stored purchase record are deemed to describe a same item as said electronic purchase record when said stored purchase record has at least a field having contents matching the field contents of a corresponding field of said electronic purchase record.
81 .. The system of claim 80 further comprising a component operably configured to assign item codes to said stored purchase records and to said electronic purchase record based on operator input.
8 2 .. The system of any one of claims 75-81 wherein: said stored purchase records have respective quantity code fields; said electronic purchase record has a quantity code field; and wherein the system further comprises a component operabiy configured to cause said price field contents of said stored purchase record to be replaced with the contents of the price field associated with said electronic purchase record only when the contents of said first quantity code field match the contents of said second quantity code field.
83. The system of any one of claims 75-82 wherein said stored purchase records have a time code field and wherein the system further comprises: a component operabiy configured to associate a time code field with said electronic purchase record if said electronic purchase record does not already have a time code field; and a component operabiy configured to store a time code in said time code field of said electronic purchase record; and a component operabiy configured to replace the contents of said time code field of said stored record with said contents of said time code field of said electronic purchase record when both of said search criteria are met.
84. The system of claim 83 further comprising a component operabiy configured to assign contents of said time code field of said electronic purchase record when said electronic purchase record is received at pre-defined location.
85. A system for gathering and storing shopping information for enhancing shopping for goods or services, the system comprising: a component operably configured to receive an electronic purchase record comprising at least a name information field, a seller name field and a price field having contents describing item information, seller information and price information respectively, said electronic purchase record representing an agreed purchase of a good or service associated with said item information by a seller associated with said seller information; a component operably configured to cause a search, of a purchase record database, for a stored purchase record that meets at least one of the following criteria: name field contents of said stored purchase record describe an item described by name information field contents of said electronic purchase record; and seller name field contents of said stored purchase record describe a seller described by said seller field contents of said electronic purchase record; a component operably configured to store said electronic purchase record in said purchase record database in response to said searching, when no stored purchase record meeting said search criteria is located; a component operably configured to store said electronic purchase record in said purchase record database, in response to said searching, when a stored purchase record meeting only one of said search criteria is located; and a component operably configured to at least one of: a) replace said stored purchase record with said electronic purchase record in said purchase record database; and replace the contents of said price field of said stored purchase record in said purchase record database with the contents of said price field of said electronic purchase record, in response to said searching, when a stored purchase record meeting both of said search criteria are met.
86. The system of claim 85 wherein said component operably configured to replace comprises a component operably configured to delete said stored purchase record from said purchase record database and a component operably configured to store said electronic purchase record in said purchase record database.
87. The system of claim 85 or 86 further comprising: a component operably configured to associate said stored purchase records having common item field contents with an item index; and a component operably configured to associate said stored purchase records having common seller field contents with a seller index.
88. The system of any one of claims 85-87 further comprising means for determining whether certain records relate to a particular entity and means for associating said certain records that relate to said particular entity with said particular entity, wherein said means for determining comprises at least one of: a) means for determining whether said certain records relate to a particular entity in response to the contents of at least one of said name and seller fields; and b) means for determining whether said certain records relate to a particular entity in response to user input.
89. The system of claim 88 further comprising: a component operably configured to determine a matching score representing a degree of matching of said field contents and said corresponding field contents, wherein a match is deemed to exist when said matching score meets a criterion.
90. The system of any one of claims 85-89 wherein: said stored purchase records have a first item code field; said electronic purchase record has a second item code field; and wherein said name field contents of said name field of a stored purchase record are deemed to describe a same item as name field contents of said electronic purchase record when said contents of said item code field of said stored purchase record match said contents of said item code field of said electronic purchase record.
91. The system of claim 90 further comprising a component operably configured to assign item codes to said stored purchase records and to said electronic purchase record based on operator input.
92. The system of any one of claims 85-91 wherein: said stored purchase records have respective quantity code fields; said electronic purchase record has a quantity code field; and wherein the system further comprises a component operably configured to cause said price field contents of said stored purchase record to be replaced with the contents of the price field associated with said electronic purchase record only when the contents of said first quantity code field match the contents of said second quantity code field.
The system of any one of claims 85-92 wherein said stored purchase 93.
records have a time code field and wherein the system further comprises: a component operably configured to associate a time code field with said electronic purchase record if said electronic purchase record does not already have a time code field; and a component operably configured to store a time code in said time code field of said electronic purchase record; and a component operably configured to replace the contents of said time code field of said stored record with said contents of said time code field of said electronic purchase record when both of said search criteria are met. 94. The system of claim 93 further comprising a component operably configured to assign contents of said time code field of said electronic purchase record when said electronic purchase record is received at pre-defined location. 95. A system of shopping for goods or services provided by sellers at different prices, the system comprising the system of any one of claims 75 - 94 and further comprising: a component operably configured to receive a query comprising at least one of a name, a seller name and a price description; a component operably configured to cause a query of a database of purchase records having name, seller name and, price fields and an image file field representing an image of a receipt or invoice bearing information from which the contents of said item, seller and price fields were obtained, to locate records meeting search criteria based on said query, wherein said search criteria include at least one of: the contents of said item field match said item description of said query; the contents of said seller field match said seller description of said query; the contents of said price field match said price description of said query; and a component operably configured to identify to a user purchase records meeting at least one of said search criteria; a component operably configured to receive signals representing user selection of at least one of said purchase records meeting said at least one of said search criteria; and a component operably configured to effect a display of an image represented by the contents of the image field of the user- selected purchase record. 96. The system of claim 95 wherein said a component operably configured to identify purchase records meeting at least one of said search criteria comprises a component operably configured to produce a display showing representations of said purchase records meeting said at least one of said search criteria. 97. The system of claim 95 or 96 further comprising: a component operably configured to determine a matching strength representing a measure of confidence that the item field contents of a purchase record refer to the same item as described by the item description provided by said query; and a component operably configured to deem a purchase record to have item field contents matching said description item provided by said query when said matching strength meets a matching strength criterion. 98. The system of claim 97 wherein when a purchase record identified by the query has a product code field and a purchase record identified by the query has a field that is deemed to meet the matching strength criterion the system further includes: a component operably configured to query the database for purchase records having product code field contents matching said product code field contents of said purchase record having a field deemed to meet the matching strength criterion; and a component operably configured to deem said purchase records having product code field contents matching said product code field contents of said purchase record deemed to meet the matching strength criterion, to also meet the matching strength criterion. 99. The system of claim 98 further comprising: a component operably configured to deem stored records having product code field contents representing packages of the item identified by the contents of the name fields associated with purchase records deemed to meet said matching criterion, to also meet the matching strength criterion.
PCT/CA2011/000230 2010-03-03 2011-03-03 Method and apparatus for gathering and using information WO2011106880A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US31027510P 2010-03-03 2010-03-03
US61/310,275 2010-03-03
US33222010P 2010-05-07 2010-05-07
US61/332,220 2010-05-07

Publications (1)

Publication Number Publication Date
WO2011106880A1 true WO2011106880A1 (en) 2011-09-09

Family

ID=44541576

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2011/000230 WO2011106880A1 (en) 2010-03-03 2011-03-03 Method and apparatus for gathering and using information

Country Status (1)

Country Link
WO (1) WO2011106880A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116452702A (en) * 2023-06-15 2023-07-18 深圳大学 Information chart rapid design method, device, computer equipment and storage medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060002387A1 (en) * 2004-07-02 2006-01-05 David Lawrence Method, system, apparatus, program code, and means for determining a relevancy of information
US20060044605A1 (en) * 2004-08-24 2006-03-02 Schneider Charles R Systems, methods and computer program products for labeled forms processing
US20070214155A1 (en) * 2006-03-08 2007-09-13 Sunplus Technology Co., Ltd. Universal information code format for two dimensional bar code and interactive information exchange system using the same
US20080239365A1 (en) * 2007-03-26 2008-10-02 Xerox Corporation Masking of text in document reproduction
US20090144624A1 (en) * 2000-06-29 2009-06-04 Barnes Jr Melvin L System, Method, and Computer Program Product for Video Based Services and Commerce

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144624A1 (en) * 2000-06-29 2009-06-04 Barnes Jr Melvin L System, Method, and Computer Program Product for Video Based Services and Commerce
US20060002387A1 (en) * 2004-07-02 2006-01-05 David Lawrence Method, system, apparatus, program code, and means for determining a relevancy of information
US20060044605A1 (en) * 2004-08-24 2006-03-02 Schneider Charles R Systems, methods and computer program products for labeled forms processing
US20070214155A1 (en) * 2006-03-08 2007-09-13 Sunplus Technology Co., Ltd. Universal information code format for two dimensional bar code and interactive information exchange system using the same
US20080239365A1 (en) * 2007-03-26 2008-10-02 Xerox Corporation Masking of text in document reproduction

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116452702A (en) * 2023-06-15 2023-07-18 深圳大学 Information chart rapid design method, device, computer equipment and storage medium
CN116452702B (en) * 2023-06-15 2023-08-18 深圳大学 Information chart rapid design method, device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
US6651053B1 (en) Interactive system for investigating products on a network
US10402883B2 (en) System and method for community aided research and shopping
US6430554B1 (en) Interactive system for investigating products on a network
US20010056488A1 (en) Information providing system and a method for providing information
US20020087426A1 (en) Online shopping method and system
JP2008059512A (en) Id image providing device, store terminal, connection information providing device, id image providing method, print method, and connection information providing method
US20020026353A1 (en) System and method of providing purchase information to consumers relating to advertisements displaying the product
KR20010071374A (en) Design and production of print advertising and commercial display materials over the internet
US20040143516A1 (en) System for allowing vendors to manage product information in a database system
US20180005305A1 (en) Method for simultaneously one-step filling a virtual shopping cart with many items from one or multiple resources; all items of any type or characteristics from potential resources which have been embodied into a customized list which has been simultaneously generated and sourced in one-step then presented visually to user to select items; culminating and resulting acquisiion to be simultaneosly placed in a single virtual shpping cart and all are acquired simultaneously from many source
US20150006570A1 (en) Search apparatus, search method, search program, and recording medium
US20150356538A1 (en) Electronic receipt management system that coordinates management of electronic records in a secure manner
US20210027268A1 (en) Commodity sales data processing apparatus and commodity sales data processing method
EP2975569A1 (en) Server, apparatus and program for sales data processing
US20130268416A1 (en) Sample identification and distribution system
KR101061879B1 (en) International Shipping Management Service by Linking International Shopping Malls Using Shopping Cart Information
KR20000024684A (en) Advertising paper making system on internet
US20020046094A1 (en) Method and system for delivering electronic advertisement via network
JP2002203152A (en) System and method for electronic store management, and recording medium
KR20080030202A (en) System and method for publicizing on-line shipping mall using blog
WO2011106880A1 (en) Method and apparatus for gathering and using information
US9978039B1 (en) Document gateway system to cloud-based document repository
US20160260076A1 (en) Commodity information processing apparatus and system
US20020040330A1 (en) Apparatus and method for providing information about sale of goods, method for displaying information about sale of goods, and computer-readable recording medium
JP6236511B2 (en) Method and associated apparatus for online generation and on-demand printing of compilations with customer-selectable printing options

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11750119

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11750119

Country of ref document: EP

Kind code of ref document: A1