# Patent

## Title
Systems and methods for marketplace listings using  a camera enabled mobile device

## Abstract

Computer-implemented systems and methods for generating marketplace listings using a camera enabled mobile device are described in which a request is received via a camera enabled mobile device to list one or more sale items. An image taken by the camera enable mobile device and depicting the one or more sale items is received. Image recognition is performed on the received image to identify the one or more sale items. Based on the identification of the one or more sale items depicted in the image, a set of descriptive data is automatically generated. The one or more sale items are listed on a marketplace using the image and the automatically generated set of descriptive data.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present patent application is a continuation of U.S. patent application Ser. No. 12/262,012, filed Oct. 30, 2008, and entitled “System and Methods for Marketplace Listings Using a Camera Enabled Mobile Device,” which application is incorporated herein by reference in its entirety.


FIELD
This application relates generally to data processing, and more specifically to systems and methods for marketplace listings using a camera enabled mobile device.
COPYRIGHT NOTICE
A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings that form a part of this document: Copyright 2008, EBAY, INC., All Rights Reserved.
BACKGROUND
The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Camera enabled mobile devices (such as cellular telephones) have become very popular in recent years. A camera enabled mobile device may be capable of communicating data (e.g., an image file) over wireless data networks.



BRIEF DESCRIPTION OF DRAWINGS
Embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
FIG. 1 is a block diagram illustrating an architecture within which systems and methods for marketplace listings using a camera enabled mobile device may be implemented, in accordance with an example embodiment;
FIG. 2 is a block diagram showing a multiple listing engine, in accordance with an example embodiment;
FIG. 3 is a block diagram showing back and front views of a camera enabled mobile device, in accordance with an example embodiment;
FIG. 4 is screenshots showing marketplace listings displayed on a camera enabled mobile device, in accordance with an example embodiment;
FIG. 5 is a flow chart illustrating a method for marketplace listings using a camera enabled mobile device, in accordance with an example embodiment;
FIG. 6 is the first part of a flow chart illustrating a further method for marketplace listings using a camera enabled mobile device, in accordance with an example embodiment;
FIG. 7 is the second part of a flow chart illustrating a further method for marketplace listings using a camera enabled mobile device, in accordance with an example embodiment; and
FIG. 8 is a diagrammatic representation illustrating an example machine in the form of a computer system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.



DETAILED DESCRIPTION
For some example embodiments, systems and methods for creating marketplace listings using a camera enabled mobile device are disclosed. One example embodiment may comprise receiving a request via a camera enabled mobile device to list one or more sale items, receiving images having the one or more sale items, the images being taken by the camera enabled mobile device, receiving data associated with the one or more sale items, and based on the data, listing the one or more sale items on a marketplace
The following detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show illustrations in accordance with example embodiments. These example embodiments, which are also referred to herein as “examples,” are described in enough detail to enable those skilled in the art to practice the present subject matter. The embodiments may be combined, other embodiments may be utilized, or structural, logical and electrical changes may be made without departing from the scope of what is claimed. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope is defined by the appended claims and their equivalents.
In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one. In this document, the term “or” is used to refer to a nonexclusive “or,” such that “A or B” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. Furthermore, all publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) should be considered supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.
A camera enabled mobile device may include a mobile Operating System (OS) run on a hardware platform adapted for the OS. A camera enabled mobile device may include a Graphical User Interface (GUI), which may be based on the concept of direct manipulation of a touch screen monitor with gestures. The GUI may permit a nearly instantaneous response to user input. The gestures for interaction with the mobile OS may include swiping, tapping, pinching, and/or reverse pinching.
For some example embodiments, systems and methods for marketplace listings using a camera enabled mobile device may permit a user to take one or more pictures illustrating items to be listed on a marketplace and provide data related to the pictures. The data may be utilized to tag the items to be listed. The items may be extracted from the pictures, tagged with the data and listed at the same time. A software application running on the camera enabled mobile device may utilize rich media technology to enable a user to take multiple pictures of various items or a single picture of a group of multiple items, tag the items with data, and list the items for sale on a marketplace. In some example embodiments, a draft area may be utilized as an intermediary stage for images and data to be collected over a period of time before the data is associated with the items in the images and listed on a marketplace.
FIG. 1 illustrates a network environment 100 that may include a network 110, a multiple listing engine 120, a camera enabled mobile device 130, a user 140, and an electronic marketplace 150. The network 110 may comprise a plurality of data processing nodes interconnected for the purpose of data communication. The camera enabled mobile device 130 may comprise a camera coupled to a mobile device. The camera enabled mobile device 130, in some example embodiments, may include a Graphical User interface (GUI) which may be manipulated by gestures of a user 140's hand. In a typical GUI, instead of offering only text menus or requiring typed commands, the system presents graphical icons, visual indicators or special graphical elements called widgets that may be utilized to allow the user to interact with client applications. The camera enabled mobile device 130 may be configured to utilize icons in conjunction with text, labels or text navigation to fully represent the information and actions available to users. Example GUI and client applications are described in more detail with reference to FIG. 3.
The user 140 is a person interacting with the camera enabled mobile device 130 via the GUI. In some other embodiments, the user 140 may be represented by an automated process designed to simulate a person operating the camera enabled device 130. The electronic marketplace 150, in the context of the example network environment 100, may be an online auction and fixed price shopping website configured to permit individual users and businesses to buy and sell goods and services (e.g., eBay). The electronic marketplace 150 may be a part of the worldwide electronic commerce which includes buying and selling of products or services over electronic systems such as the Internet and other computer networks. The multiple listing engine 120, in some example embodiments, may include various components facilitating listing of items for sale. A system for marketplace listings using a camera enabled mobile device 200 is described by way of example with reference to FIG. 2.
FIG. 2 is a block diagram showing the system for marketplace listings using a camera enabled mobile device in accordance with an example embodiment. The system for marketplace listings using a camera enabled mobile device in some example embodiments may include a communication module 202 coupled to a multiple listing engine 120. The system for marketplace listings using a camera enabled mobile device may further include sale items 204, a bar code 206, images 208, and a database 210.
The communication module 202, in some example embodiments, may be configured to receive a request from the camera enabled mobile device 130 to list one or more the sale items 204 selected by a user from the images 208. For some example embodiments, user interaction may not be needed because the sale items 204 are selected based on predetermined default criteria. The communication module 202 may be coupled to the multiple listing engine 120, which in turn includes a media receiving module 122, a processing module 124, and a data receiving module 126.
The media receiving module 122, in some example embodiments, may be configured to receive the images 208. The images 208 may be taken by the user 140 operating the camera enabled mobile device 130. The images 208 may include the sale items 204. For example, the user 140 may be willing to sell multiple items located in his garage. The user 140 may utilize the camera enabled mobile device 130 to take the images 208 in his garage so that each image includes a plurality of the sale items 204. The data receiving module 126 may be configured to receive data associated with the sale items 204. The data may be provided by the user 140 or created automatically based on the images 208.
The processing module 124, in some example embodiments, may be configured to list the sale items 204 for sale. The sale items 204 are extracted from the images 208 received by the media receiving module 122 and the data received by the data receiving module 126. The processing module 124, in some example embodiments, may be configured to provide default data when no data is provided by the user. For example, if the user 140 provides no data and the sale items 204 are of low value, the processing module 124 may associate the sale items 204 with default data. For some example embodiments, the sale items 204 may be classified automatically with help of image recognition technology. Additionally, a light weight listing process may be utilized in which the user 140 may be provided with a few options. This approach may provide the multiple listing engine 120 with the data sufficient to list the sale item 204.
The database 210, in some example embodiments, may be configured as a structured collection of records or data that is stored in a computer system which a computer program or a person using a query language may consult to answer queries. The records retrieved in answer to queries are information that can be used to make decisions. The database 210 may store the images 208 as well as the sale items 204. The sale items 204 may include goods and/or services which are shown in the images 208 provided by the camera enabled mobile device 130 and listed on the marketplace 150 by the multiple listing engine 120.
For some example embodiments, the bar code 206 may be utilized to provide the data needed for the sale items 204 to be listed on the marketplace 150. The bar code 206 may be, for example, a Universal Product Code (UPC), which is widely used for tracking sale items 204. Thus an image of the bar code 206 may be utilized to generate tags describing the sale items 204. The images 208, in some example embodiments, are photographs of the sale items 204. Each image of the images 208 may include more than one item.
FIG. 3 is a block diagram 300 showing back and front views of the camera enabled mobile device 130, in accordance with an example embodiment. The camera enabled mobile device 130, in some example embodiments, includes a receiver 301, a speaker 302, and a touch screen 304. The touch screen 304 may display a GUI, which in turn includes application icons 308. The camera enabled mobile device 130 may further include a home button 306 and a camera 310, which is shown on the back view of the camera enabled mobile device 130 but may, as well, be located in the front. Also shown is a hand 312 of the user 140 which may operate the camera enabled mobile device 130 by manipulating the camera enabled mobile device 130 through gestures of the hand 312.
For some example embodiment, because the camera enabled mobile device 130 has native camera integration, the user 140 may utilize the camera enabled mobile device 130 for various applications adapted to take advantage of this functionality. For example, a user 140 may take a picture of the bar code 206 associated with a sale item. An application adapted to read the bar code 206 may determine generated data descriptive of the sale item based on the picture of the bar code 206. The data may be utilized in listing of the item by the multiple listing engine 120 or in a search for similar items on the marketplace 150. Then the search results may be analyzed and displayed (e.g., average price of the product). The search result may be utilized in tagging the sale items 204.
In some example embodiments, the camera enabled mobile device 130 may permit listing of the sale items 204 based on an image of the item and a minimal description. In some example embodiments, in order for the user 140 to receive data, the user may be offered a selection of choices. In further example embodiments, before the sale items 204 are listed on the marketplace 150, the images 208 and related data are compiled in a personal draft area. Thus, the user 140 may take a picture, add some tags to the picture, and then place the picture and the tags in the personal draft area.
The receiver 301 may be a device for converting sound into electric signals and vice versa. The touch screen 304, in some example embodiments, is a display which may detect the presence and location of a touch within the display area. The touch screen 304 may be operated by touch or contact to the display of the device by a finger or hand. In some example embodiments, the touch screen 304 may sense other objects, such as a stylus. The home button 306, in some example embodiments, may be a button that permits a user to see the icons 308. The icons 308 may be utilized to start software applications installed on the camera enabled mobile device 130.
A web application running on the camera enabled mobile device 130 is an example of a software application that may be started with one of the icons 308. A web application running on the camera enabled mobile device 130 may employ generic web technologies that do not take advantage of the native capabilities of the camera enabled mobile device 130. The web application may also mix HyperText Markup Language (HTML) content with native content. Further example applications running on the camera enabled mobile device 130 may be designed for instant notifications or real time alerts of users of the camera enabled mobile device 130. Camera 310 is a device used to capture images, either as stilt photographs or as sequences of moving images (movies or videos).
FIG. 4 illustrates several screenshots showing marketplace listings displayed on the camera enabled mobile device 130, in accordance with an example embodiment. The screenshots may include a user status view 402, photos 404, multiple listings 406, and an item summary 408. The user status view 402 may include statistics for a particular user such as items listed for sale as well as the items that the user is interested in or is bidding bid on. As can be seen from the example user status view 402, the user is currently “watching” 25 items and selling 7 items. Furthermore, the user has won 5 items he was bidding on was outbid for 2 items. The photos 404 show images that may be taken by the camera enabled mobile device 130 and are currently stored on the camera enabled mobile device 130 or in the user's draft area. The multiple listings 406 shows items that may have been extracted from the images 208 and tagged with the data received from the user 140. The items may be extracted from multiple images or from one image, taken in one or more sessions. The item summary 408 shows the summary of one item shown in the multiple listings 406.
FIG. 5 illustrates an example method 500 for marketplace listings using the camera enabled mobile device 130. The method 500 may be performed by processing logic that may comprise hardware (e.g., dedicated logic, programmable logic, microcode, etc.), software (such as run on a general purpose computer system or a dedicated machine), or a combination of both in one example embodiment, the processing logic resides at the multiple listing engine 120, illustrated in FIG. 2. The method 500 may be performed by the various example modules discussed above with reference to FIG. 2. Each of these modules may comprise processing logic.
As shown in FIG. 5, the method 500 may commence at operation 502, with the communication module 202 receiving a request from the camera enabled mobile device 130 to list one or more sale items 204 on the marketplace 150. At operation 504, the media receiving module 122 of the multiple listing engine 120 may receive images of the one or more sale items 204. At operation 506, the data receiving module 126 may receive data associated with the one or more sale items 204, and at operation 508, the processing module 124 may list the one or more sale items 204 based on the data received at operation 506. A further example method for marketplace listings using a camera enabled mobile device 130 is described with reference to FIG. 6 and FIG. 7.
FIG. 6 is the first part of a flow chart illustrating a further method 600 for marketplace listings using a camera enabled mobile device, in accordance with an example embodiment. As shown in FIG. 6, the method 600 may commence at operation 602 with the communication module 202 receiving a request from the camera enabled mobile device 130 to list one or more sale items 204. At operation 604, the media receiving module 122 may receive images of the one or more sale items 204. The images received by the media receiving module 122 may be taken by the camera enabled mobile device 130. The processing module 124 may need data to tag the sale items 204. The data may be supplied by a user or derived using some predetermined methods. The user may be explicitly asked to provide the data. Thus, at operation 606, the processing module 124 may provide the user 140 with predetermined selection options. For example, a message may be displayed asking the user whether an item shown in the image is a certain product. Other questions may be asked.
At the decision block 608, it may be determined by the processing module 124 whether or not the user 140 selects an offered option. If the user 140 selects an option, the processing module 124 may receive the data provided by the user 140 at operation 614. The data may be provided via the GUI of the camera enabled mobile device 130 using various supported gestures. The GUI of the camera enabled mobile device 130 may support direct manipulations including one or more of the following gestures: multi-touching, swiping, tapping, pinching, and reverse pinching. If, on the other hand, it is determined at decision block 608 that the user 140 did not select any options, the processing module 124 may receive, at operation 610, an automatically-generated minimal description of the sale items 204. At operation 612, the processing module 124 may generate default data based on the minimal description received at operation 610.
FIG. 7 is the second part of a flow chart illustrating the further method 600 for marketplace listings using the camera enabled mobile device 130, in accordance with an example embodiment. As shown in FIG. 7, the method 600 may continue with creating tags describing the sale items 204 at operation 616. The flow may proceed to decision block 618 where it may be determined whether the data needs to be saved to a personal draft area before the items are listed on a marketplace. If it is determined that the data needs to be saved to the draft area, the data may be by saved at operation 620. This approach may be taken when it is determined that an intermediary step of compiling the images and the data in a draft area may be needed. If, on the other hand, it is determined that the data does not need to be saved, the method may proceed to list simultaneously the one or more sale items 204 based on the data available at operation 622. Thereafter, the images corresponding to the one or more sale items 204 may be listed alongside the sale items 204 at operation 624. It will be noted that the approach described is not limited to photographs and may extend to video and audio.
Proceeding to FIG. 8, the example computer system 800 includes a processor or multiple processors 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 804 and a static memory 806, which communicate with each other via a bus 808. The computer system 800 may further include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 800 may also include an alphanumeric input device 812 (e.g., a keyboard), a cursor control device 814 (e.g., a mouse), a disk drive unit 816, a signal generation device 818 (e.g., a speaker) and a network interface device 820.
The disk drive unit 816 includes a computer-readable medium 822, on which is stored one or more sets of instructions and data structures (e.g., instructions 824) embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 824 may also reside, completely or at least partially, within the main memory 804 and/or within the processors 802 during execution thereof by the computer system 800. The main memory 804 and the processors 802 may also constitute machine-readable media.
The instructions 824 may further be transmitted or received over a network 826 via the network interface device 820 utilizing any one of a number of well-known transfer protocols (e.g., Hyper Text Transfer Protocol (HTTP)).
While the computer-readable medium 822 is shown in an example embodiment to be a single medium, the term “computer-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database and/or associated caches and servers) that store the one or more sets of instructions. The term “computer-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that causes the machine to perform any one or more of the methodologies of the present application, or that is capable of storing, encoding, or carrying data structures utilized by or associated with such a set of instructions. The term “computer-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals. Such media may also include, without limitation, hard disks, floppy disks, flash memory cards, digital video disks, random access memory (RAMs), read only memory (ROMs), and the like.
The example embodiments described herein may be implemented in an operating environment comprising software installed on a computer, in hardware, or in a combination of software and hardware.
Thus, systems and methods for marketplace listings using a camera enabled mobile device have been described. Although embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the system and method described herein. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

## Claims

1. A computer-implemented method, comprising:
receiving a request via a camera enabled mobile device to list one or more sale items;
receiving an image depicting a plurality of potential sale items, the image being taken by the camera enabled mobile device;
performing image recognition, by at least one processor, on the received image to identify the one or more sale items from the plurality of potential sale items within the received image;
automatically generating, by the at least one processor, a set of descriptive data for the one or more sale items based on the identification of the one or more sale items depicted in the image; and
listing the one or more sale items on a marketplace using the image and the automatically generated set of descriptive data.

2. The computer-implemented method of claim 1, wherein the received image includes at least one barcode for the one or more sale items.

3. The computer-implemented method of claim 2, wherein performing image recognition on the received image includes decoding the at least one bar code for the one or more sale items.

4. The computer-implemented method of claim 3, wherein automatically generating a set of descriptive data includes using the at least one decoded bar code for the one or more sale items to provide descriptive data for each of the corresponding one or more items.

5. The computer-implemented method of claim 1, wherein performing image recognition on the received image includes:
extracting from the image the one or more sale items; and
classifying the one or more sale items.

6. The computer-implemented method of claim 1, wherein listing the one or more sale items includes:
associating the one or more sale items with corresponding descriptive data from the set of descriptive data; and
listing the one or more sale items accompanied with the corresponding descriptive data on the marketplace.

7. The computer-implemented method of claim 1, further comprising querying a user via a user interface of the camera enabled mobile device for additional descriptive data for the one or more items depicted in the image.

8. The computer-implemented method of claim 7, wherein querying the user for the additional descriptive data includes querying the user to confirm that an item shown in the image is a certain product.

9. The computer-implemented method of claim 1, further including:
generating a draft listing for each sale item of the one or more sale items identified within the received image, the draft listing including the corresponding set of descriptive data describing the sale item of the one or more sale items.

10. The computer-implemented method of claim 9, further including:
sending, to the mobile device, a list of draft listings;
receiving, from the mobile device, a selection of draft listings from the list of draft listings; and
wherein the listing of the one or more sale items includes publishing at least a portion of the draft listings based on the selection received from the mobile device.

11. A system, comprising:
at least one processor;
a communication module, implemented by the at least one processor, configured to receive a request via a camera enabled mobile device to list one or more sale items; and
a multiple listing engine, implemented by the at least one processor, configured to:
receive an image depicting a plurality of potential sale items, the image being taken by the camera enabled mobile device;
perform image recognition on the received image to identify the one or more sale items from the plurality of potential sale items within the received image;
automatically generate a set of descriptive data for the one or more sale items based on the identification of the one or more sale items depicted in the image; and
list the one or more sale items on a marketplace using the image and the automatically generated set of descriptive data.

12. The system of claim 11, wherein the image received includes at least one barcode for the one or more sale items.

13. The system of claim 12, wherein the multiple listing engine is further configured to decode the at least one bar code for the one or more sale items.

14. The system of claim 13, wherein the multiple listing engine is further configured to use the at least one decoded bar code for the one or more sale items to provide descriptive data for each of the corresponding one or more items.

15. The system of claim 11, wherein the multiple listing engine is configured to perform image recognition on the received image by:
extracting from the image the one or more sale items; and
classifying the one or more sale items.

16. The system of claim 11, wherein the multiple listing engine is configured to list the one or more sale items by:
associating the one or more sale items with corresponding descriptive data from the set of descriptive data; and
listing the one or more sale items accompanied with the corresponding descriptive data on the marketplace.

17. The system of claim 11, wherein the multiple listing engine is further configured to query a user via a user interface of the camera enabled mobile device for additional descriptive data for the one or more items depicted in the image.

18. The system of claim 17, wherein the multiple listing engine is further configured to query the user to confirm that an item shown in the image is a certain product.

19. A computer-readable storage medium storing a set of instructions that, when executed by one or more processors, causes the one or more processors to perform the following operations comprising:
receiving a request via a camera enabled mobile device to list one or more sale items;
receiving an image depicting a plurality of potential sale items, the image being taken by the camera enabled mobile device;
performing image recognition on the received image to identify the one or more sale items from the plurality of potential sale items within the received image;
automatically generating a set of descriptive data for the one or more sale items based on the identification of the one or more sale items depicted in the image; and
listing the one or more sale items on a marketplace using the image and the automatically generated set of descriptive data.

20. The computer-readable storage medium of claim 19, wherein the received image includes at least one barcode for the one or more sale items.

21. The computer-readable storage medium of claim 20, wherein performing image recognition on the received image includes decoding the at least one bar code for the one or more sale items.

22. The computer-readable storage medium of claim 21, wherein automatically generating the set of descriptive data includes using the at least one decoded bar code for the one or more sale items to provide descriptive data for each of the corresponding one or more items.