The present invention generally relates to computing devices, software and methods and, more particularly, to mechanisms and techniques for analyzing at least a part of an electronic file.
During the past years, the popularity of digital photography is increasing as digital cameras become more affordable and more powerful, at least in terms of storing images and resolution. Extended databases of digital pictures are created both for personal and commercial purposes. Because of the low cost in generating an image as an electronic file and the convenience of storing this large number of pictures in electronic form, most people and businesses are taking advantage of this digital phenomenon.
However, the large amount of data becomes difficult to manage, organize or index. For example, most of the users would like to be able to tag an image with various pieces of information for remembering different landmarks present in the image or for remembering the names of the persons present in the image. While methods for tagging pictures are available, see for example Lloyd-Jones et al., U.S. Patent Application Publication No. 2002/0055955, Simske, U.S. Patent Application Publication No. 2004/0049734, Anderson, U.S. Patent Application Publication No. 2005/0174430, Bhalotia et al., U.S. Patent Application Publication No. 2007/0043748, and Shneiderman, U.S. Pat. No. 7,010,751, the entire disclosures of which are incorporated here by reference, the existing techniques only allow the user to add predefined boxes at various locations of an image and also allow the user to type a desired text inside the predefined boxes. All of these techniques superimpose the inserted predefined boxes over the existing pictures and save the added data as metadata. Thus, the tagging is achieved by associating an X and Y position on the image with the added data, where the X and Y position on the image is selected by the user with the help of a mouse. In this respect,
According to this approach, the user needs to perform the tagging on a computer system that offers the above discussed functionalities. Therefore, the tagging operation is limited to computer systems and is not supported by a TV set. In addition, the tagging operation maps multiple predefined boxes to a single image, which limits the analysis of selected parts of the image.
A user may also want to use the large collection of digital images, for example, to find a same person in different images. In other words, the user may, for example, decide that he wants to determine all the images that include his mother. One alternative is to look through all the images and mark those including his mother. This approach is time consuming and thus, undesired. Another alternative is to add tags, as discussed above, to each picture and to describe within those tags the persons and landmarks present in the pictures. However, this metadata has to be entered prior to searching, which is a challenging task.
In another context, the user may also want to be able to buy products that are displayed on images presented on a TV set or a computing device. These images may incorporate movies, videos, ads, interviews, any kind of information that is presented on a TV set or a computer screen. In this respect, U.S. Patent Application Publication US 2007/0078774, to Brown, the entire content of which is incorporated here by reference, discloses a method and apparatus for the identification of products in a media program and making such products available for consumer purchase.
Brown discloses that dedicated devices BeamBack are interposed between the consumer and the device presenting the media program and also that the content of the media program is a priori linked to product metadata. The scenes of the media program include identifiers that are linked to other identifiers corresponding to still images, including objects presented in the media program. When a consumer is watching the media program, the consumer may press a button on a device to show his interest in objects presented in that particular scene. Based on the correspondence between the identifiers of the media program and the still images, the appropriate still images are shown to the consumer together with the corresponding metadata.
However, according to this approach, the consumer needs a special device and, additionally, both a priori links and product metadata need to be in place before the image is displayed, which might be expensive for the providers of the content and inconvenient for the consumer. Additionally, it may be desirable to provide methods and systems for providing information about displayed items without using menus and/or text boxes, e.g., which enable a user to select an item from a movie without distracting overlays being present.
Accordingly, it would be desirable to provide systems and methods that avoid the above noted limitations of the existing systems.
According to one exemplary embodiment, there is a method for tagging a part of an image. The method includes providing information for displaying the image on a screen; receiving information related to pointing a pointing device to the part of the image; generating a border around the part of the image, the border corresponding to a movement of the pointing device around the part of the image; generating a predefined enclosure, electronically linked to the border, which is configured to accept text input from a user; and storing border information and predefined enclosure information together with the part of the image such that the part of the image may be analyzed independently of the image.
According to another exemplary embodiment, there is a device for tagging a part of an image. The device includes an output configured to provide information for displaying the image on a screen; an input configured to receive information related to pointing a pointing device to the part of the image; a processor connected to the input and the output and configured to, generate a border around the part of the image, the border corresponding to a movement of the pointing device around the part of the image, and generate a predefined enclosure, electronically linked to the border, which is configured to accept text input from a user; and a memory connected to the processor and configured to store border information and predefined enclosure information together with the part of the image such that the part of the image may be analyzed independently of the image.
According to another exemplary embodiment, there is a computer readable medium for storing computer executable instructions, wherein the instructions, when executed by a processor, cause the processor to perform instructions for tagging a part of an image. The instructions include providing information for displaying the image on a screen; receiving information related to pointing a pointing device to the part of the image; generating a border around the part of the image, the border corresponding to a movement of the pointing device around the part of the image; generating a predefined enclosure, electronically linked to the border, which is configured to accept text input from a user; and storing border information and predefined enclosure information together with the part of the image such that the part of the image may be analyzed independently of the image.
According to another exemplary embodiment, there is a method for identifying a part of an image in a plurality of pictures. The method includes providing information for displaying the image on a screen; receiving information related to pointing a pointing device to the part of the image; generating a border around the part of the image, the border corresponding to a movement of the pointing device around the part of the image; extracting pattern recognition information regarding the part of the image; and storing the pattern recognition information together with the part of the image such that the part of the image may be identified searched for in other pictures.
According to still another exemplary embodiment, there is a device for identifying a part of an image in a plurality of pictures. The device includes an output configured to provide information for displaying the image on a screen; an input configured to receive information related to pointing a pointing device to the part of the image; a processor connected to the input and the output and configured to, generate a border around the part of the image, the border corresponding to a movement of the pointing device around the part of the image, and extract pattern recognition information regarding the part of the image; and a memory connected to the processor and configured to store the pattern recognition information together with the part of the image such that the part of the image may be identified searched for in other pictures.
According to another exemplary embodiment, there is a computer readable medium for storing computer executable instructions, wherein the instructions, when executed by a processor, cause the processor to perform instructions for identifying a part of an image in a plurality of pictures. The instructions include providing information for displaying the image on a screen; receiving information related to pointing a pointing device to the part of the image; generating a border around the part of the image, the border corresponding to a movement of the pointing device around the part of the image; extracting pattern recognition information regarding the part of the image; and storing the pattern recognition information together with the part of the image such that the part of the image may be identified searched for in other pictures.
According to another exemplary embodiment, there is a method for requesting information about an object present in a media file that is displayed on a screen. The method includes receiving information related to pointing a pointing device to the object; generating a border around the circled object, the border corresponding to a movement of the pointing device around the object; collecting border information and location information, wherein the border information identifies a location of the border relative to the object and the location information identifies a location of an image in the media file displayed on the screen and including the object; transmitting the border information and the location information to an external server; and receiving from the external server object information not available in the media file.
According to still another exemplary embodiment, there is a device for requesting information about an object present in a media file that is displayed on a screen. The device includes an input configured to receive information related to pointing a pointing device to the object; a processor connected to the input and configured to, generate a border around the object, the border corresponding to a movement of the pointing device around the object, and collect border information and location information, wherein the border information identifies a location of the border relative to the object and the location information identifies a location of an image in the media file displayed on the screen and including the object; an output connected to the processor and configured to transmit the border information and the location information to an external server; and the input being also configured to receive from the external server object information not available in the media file.
According to still another exemplary embodiment, there is a computer readable medium for storing computer executable instructions, wherein the instructions, when executed by a processor, cause the processor to perform instructions for requesting information about an object present in a media file that is displayed on a screen. The instructions include receiving information related to pointing a pointing device to the object; generating a border around the object, the border corresponding to a movement of the pointing device around the object; collecting border information and location information, wherein the border information identifies a location of the border relative to the object and the location information identifies a location of an image in the media file displayed on the screen and including the object; transmitting the border information and the location information to an external server; and receiving from the external server object information not available in the media file.
According to another exemplary embodiment, there is a method for providing information about an object, displayed on a screen as part of an image of a media file, and inquired about by a user by pointing a pointing device to the object and drawing a border around the object. The method includes receiving border information and location information, the border information identifying a location of the border relative to the object and the location information identifying a location of the image in the media file displayed on the screen and including the object; searching a database for identifying the object based on the border information and the location information; populating the database with object information if the object is not found in the database; retrieving the object information from the database; and providing the object information to the user.
According to another exemplary embodiment, there is a device for providing information about an object, displayed on a screen as part of an image of a media file, and inquired about by a user by pointing a pointing device to the object and drawing a border around the object. The device includes an input configured to receive border information and location information, the border information identifying a location of the border relative to the object and the location information identifying a location of the image in the media file displayed on the screen and including the object; a processor connected to the input and configured to, search a database for identifying the object based on the border information and the location information, populate the database with object information if the object is not found in the database, and retrieve the object information from the database; and an output connected to the processor and configured to provide the object information to the user.
According to still another exemplary embodiment, there is a computer readable medium for storing computer executable instructions, wherein the instructions, when executed by a processor, cause the processor to perform instructions for providing information about an object, displayed on a screen as part of an image of a media file, and inquired about by a user by pointing a pointing device to the object and drawing a border around the object. The instructions include receiving border information and location information, the border information identifying a location of the border relative to the object and the location information identifying a location of the image in the media file displayed on the screen and including the object; searching a database for identifying the object based on the border information and the location information; populating the database with object information if the object is not found in the database; retrieving the object information from the database; and providing the object information to the user.
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate one or more embodiments and, together with the description, explain these embodiments. In the drawings:
a) is a schematic diagram illustrating how a user circles an object with the pointing device according to an exemplary embodiment;
b) depicts an exemplary signal or data packet for use in transmitting selection information according to an exemplary embodiment;
The following description of the exemplary embodiments refers to the accompanying drawings. The same reference numbers in different drawings identify the same or similar elements. The following detailed description does not limit the invention. Instead, the scope of the invention is defined by the appended claims. The following embodiments are discussed, for simplicity, with regard to the terminology and structure of a TV set having a graphical user interface. However, the embodiments to be discussed next are not limited to these systems but may be applied to other existing computing systems, such as a computer system, personal digital assistant, mobile phone, etc.
Reference throughout the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, the appearance of the phrases “in one embodiment” or “in an embodiment” in various places throughout the specification is not necessarily referring to the same embodiment. Further, the particular features, structures or characteristics may be combined in any suitable manner in one or more embodiments.
Although this application contains a number of interesting exemplary embodiments, one embodiment that is of particular interest is described below with respect to
Beginning first, however, with
Regardless of whether the displayed content is paused or not, the user may move the pointing device to “circle” any desired part of the image 10, person 12 in this example. As a result of the circling, a border or line 32 is drawn around the selected part 12 of picture 10. It is noted that the meaning of the term “circle” in the exemplary embodiments includes an action of the user of drawing a border around a part of an image (figure, etc.) with the help of a pointing device. The border does not have to completely surround the selected part of the image and also the border does not have to include only the selected object. How to handle the situation when the user draws a border around two objects in the image is discussed later. Further, according to an exemplary embodiment, the user does not have to draw a border that corresponds to a geometric circle as the system can associate a predefined geometric shape (e.g., ellipse, circle, square, rectangle, etc.) to the action of drawing a line around the selected object.
The graphical user interface in the electronic device may be configured, according to an exemplary embodiment, to automatically associate a predefined box 24 with the selected border 32. The shapes of the border 32 and predefined box 24 may be predefined in the graphical user interface or may be selected by the user prior to tagging the image. Text or other electronic data may be added by the user to the inside the predefined box 24. It is noted that the tagging is performed relative to a part of the image 10 and not the entire picture. However, the tagging may be performed relative to the entire picture 10.
According to another exemplary embodiment, the user may select one or more other part(s) 16 of the image 10 and draw another border 34 around the other part 16. The another border 34 may be associated with a corresponding predefined box 24. Thus, a single picture 10 may include one or more parts that are delimited by corresponding borders, each border being associated with a predefined box that may include metadata regarding the selected part.
In an exemplary embodiment presented to clarify the concepts introduced above, assume that a user has a large collection of digital images. As the user develops this digital collection, the user may select people or landmarks of each image, as shown in
Therefore, according to these exemplary embodiments, an analysis of parts of the images may be performed instead of analyzing the entire picture. In one exemplary embodiment, the selected object may be retrieved from the database based on the description of the object placed in the metadata holder.
According to another exemplary embodiment, the above discussed tagging may be implemented in a TV set with or without an external device for supporting the tagging operation. The TV set may be configured to interact with the pointing device and the user needs only to move the pointing device around the part to be selected for selecting that part. The initiation of the tagging operation may be performed either by pressing a button on the pointing device or equipping the TV set or top set with a software interface that is displayed on the screen and offers the user the possibility to select various buttons B that are displayed from a selectable menu 36 as shown in
According to still another exemplary embodiment, the user may have a 3D pointing device 38 that communicates wirelessly with the TV set 40 as shown in
The metadata information may be inserted in the box 24 either via a computer equipped with a keyboard and connected to the TV set or another location where the digital library of pictures is maintained, or directly via the pointing device if the TV set includes an interface that displays letters and numbers on a certain part of the screen. Then, the user simply points the pointing device to the desired letters and numbers and by simply pressing a button when a cursor, corresponding to the pointing device, is over the desired letter, selects the desired letter or number. Other ways to insert text and numbers may be used as would be recognized by those skilled in the art.
According to an exemplary embodiment, the user may insert in the box 24 a link to one or more desired web sites that, for example, may provide more information about the selected object. For example, when a person is selected, the link may take a viewer of the image to a social web site, for example, Facebook®, for providing more information about the selected person.
According to still another exemplary embodiment, a user may use the parts of the image that were selected as described above for another kind of analysis. In this embodiment, after the user has “circled” the desired object, for example, uncle Joe, the user has the option to search one or more of the images of the database for uncle Joe, based not on the metadata that might exist about uncle Joe but based on a similarity of the face of uncle Joe in one picture with his face in another picture. In other words, a pattern matching software may be implemented to analyze the selected object and identify the images in the database that include a selected pattern, in this case the face of uncle Joe. The term object is used in the exemplary embodiments to include not only per se objects but any element or person selected by the user. According to a variant of this exemplary embodiment, the selection of the object by the user does not automatically links a metadata holder to the selected object.
Thus, according to these exemplary embodiments, only parts and not the entire picture are used for the analysis and these parts may be selected by the user. Also, the analysis is not necessarily based on the metadata that might accompany the parts or the image but may be based on the actual pixels of the image. Pattern matching or recognition software are commercially available, for example, FACEIT R software, commercially available from Visionics Corporation of 5600 Rowland Road, Minnetonka, Minn. 55343 U.S.A. and TrueFace software, commercially available from eTrue, Inc. of 144 Turnpike Road, Suite 100, Southboro, Mass. 01772 U.S.A. Other software may be used for performing the pattern recognition.
According to another exemplary embodiment, the concept of circling discussed above may be implemented in a system that allows a user to receive more information about the circled or selected item, e.g., including, but not limited to, information associated with purchasing the selected item. More specifically, as shown in
It is noted that the desired objects 26 or 28, in this purely illustrative example a purse and a shoe worn by the actor 12 while acting in a movie, need not be pre-tagged or pre-linked to any metadata prior to making the movie available for display to end users via a content distribution system, e.g., VOD, etc., connected to their televisions or other output devices. Also, there is no need according to this embodiment to provide selection areas on the screen 40, which correspond to the desired objects 26 and 28, such that a user may select the objects. In this embodiment, the user simply points the pointing device 38 to a desired object 28, draws a border along the desired object 28, and the TV set or other computing device generates a signal that includes an indicator or data which enables a service provider to determine which part of the screen has been selected by the user. For example, the indicator may include at least one of a frame indicator, program indicator, time indicator and information regarding the position of the boundary relative to the image 10. The actual pixels that were circled by the user do not have to be known. The television, set-top box, computer or the like may, for example, transmit a signal or data packet 700 such as that shown in
This information is then transmitted to a call center or service provider, potentially via the same medium that provides the image to the TV set. According to another exemplary embodiment, the information may be sent to the call center via a different path than the path via which the image is received by the TV set. The term “TV set” is used in these exemplary embodiments for simplicity but one skilled in the art would know that other electronic devices that have a screen may as well be used. The call center may retrieve more information about the object circled by the user and provide the user with that additional information.
The steps involved in this exchange of information are discussed in more detail with regard to the embodiment shown in
The information regarding the location of the purse on the screen together with the information identifying the scene and/or frame are sent by the TV set (or top box or other device used by the user to receive the movie) to the call center. At the call center, there may be two mechanisms for processing the request from the user. According to one exemplary embodiment, wherein no a priori processing of the objects desired by the users has been implemented prior to releasing the movie or other content for distribution to the end users, initially there is no information linked to the purse selected by the user.
Thus, a representative of the call center receives the request from the user in step 803 and, based on the received location information of the scene or the frame in which the purse appeared in the movie, the representative can retrieve that scene or frame on his own screen. The representative from the call center has access to all media objects that are presented on the user's screen. After determining the scene or frame of the movie, based in part on the border information, the representative determines the object that the user is interested in, in this case the purse. Then, the representative decides whether the selected purse has been previously researched or not at this point in time, e.g., by another representative from the call center handling another user's request for additional information for that particular item (potentially from the same frame in the same movie, another frame in the same movie, or another piece of content altogether).
Step 803 may also be performed by a computing device. If no user has requested information about the purse, then the process advances to step 804, in which the request is provided to the same or another representative and then to step 806, in which the representative performs the research about the purse. The representative may have a table stored on his computing device that associates each object used in the movie with a corresponding web site of the manufacturer of the object. By looking up the table for the desired object, the representative is presented with the link to the desired web page or other resource. The manufacturer or the operator of the call center may package in advance the required information pertinent to the selected object so that the representative easily retrieves this information with a click of a button from a database.
Because this is the first time a user has requested information about this object, i.e., the purse, the representative may add in step 810, to the database, a link between the purse, the scene or frame information related to the purse and the manufacturer information about the purse so that the next request about the purse may be processed more expeditiously. In this way, the database is generated based on the interaction between the users and the representatives of the call center. According to an exemplary embodiment, this process may be implemented in a computing system to automatically perform the search and linking. The representative then provides the manufacturer information to the user in step 808. This information may be displayed on the screen of the TV or may be provided as an email to the TV or another device of the user, or may be provided as a voice message to the user. The representative may also present additional information to the user, as for example, promotional information regarding related products of the same manufacturer, ratings of the selected product, places where to buy the selected product, etc.
However, if in step 803 has been determined that the purse has already been inquired about by other users, then the representative searches in step 812 the existent database created in step 810 and, as discussed above, provides the appropriate information to the user in step 814. This information is provided to the user more quickly because the representative does not have to collect and assemble the information about the purse as this information was already generated in step 810.
One advantage of one or more of the exemplary embodiments discussed above is that no a priori processing of the movie is necessary, i.e., the operator of the call center or the owner of the movie does not have to identify all the selectable objects in the movie based on guess work. According to one or more of the embodiments, the users are selecting any desired object and together with the representatives of the call center build up a database that include the desired products. Although the user requesting information about a product that is not in the database may experience some delay, because the representative needs to collect live the information about the required product, the subsequent users do not face this problem. An incentive for the users to be the first to request information about a product may be added by providing a reduction in the purchase price or other reward, e.g., a monetary reward.
The concept of circling an object on a screen and various challenges associated with this action are discussed next. If the image displayed on the screen is static or the objects shown in the image move slowly in time, the user has enough time to circle a desired object with the help of the pointing device to generate the border. However, if the desired object moves relatively quickly on the screen, e.g., a character wearing the purse runs in the movie, it might be difficult for the user to correctly circle the purse. Thus, according to an exemplary embodiment, the pointing device or the graphical user interface may be configured to present optional buttons to the user for slowing down the frames presented on the screen or for actually freezing a desired frame, so that the user has enough time to perform the circling. An example of such a feature is implemented, for example, by Tivo (2160 Gold Street, Alviso, Calif., 95002).
According to another exemplary embodiment, the user does not have to completely circle the desired object but only needs to draw a portion of the border, enough to delineate the desired object. In this respect,
Still according to another exemplary embodiment, the border information may include the position of one or more pixels 44, as shown in
A set of methods are discussed next with regard to practicing the various embodiments discussed above.
According to an exemplary embodiment, the steps of a method for tagging a part of an image. The method includes a step 1000 of providing information for displaying the image on a screen, a step 1010 of receiving information related to pointing a pointing device to the part of the image and circling at least partially the part of the image, a step 1020 of generating a border around the circled part of the image, the border corresponding to a movement of the pointing device around the part of the image, a step 1030 of generating a predefined enclosure, electronically linked to the border, which is configured to accept text input from a user, and a step 1040 of storing border information and predefined enclosure information together with the part of the image such that the part of the image may be analyzed independently of the image.
According to another exemplary embodiment, the steps of a method for identifying a part of an image in a plurality of pictures are illustrated in
According to another exemplary embodiment, the steps of a method for requesting information about an object present in a media file that is displayed on a screen, are illustrated in
According to another exemplary embodiment, there is a method, illustrated in
Thus, according to one or more of the exemplary embodiments, a method for analyzing or searching or buying an object that is part of a media file and it is displayed on a screen is streamlined and made easier for the user by providing a pointing device that describes the moves of the user in a three-dimensional space. The user has the advantage of pointing the pointing device to the screen of the device that he is watching, circling (partially or totally) a desired object shown on the screen and identifying, searching and/or buying that object. Also, another advantage of one or more of the exemplary embodiments is that the producers of the media file do not have to a priori load information about objects present in the media file that the user may desire. The process is in fact performed a posteriori, after the media file is displayed on a screen.
For purposes of illustration and not of limitation, an example of a representative three pointing device capable of carrying out operations in accordance with the exemplary embodiments is illustrated in
The exemplary pointing device 1400 may include a processing/control unit 1402, such as a microprocessor, reduced instruction set computer (RISC), or other central processing module. The processing unit 1402 need not be a single device, and may include one or more processors. For example, the processing unit 1402 may include a master processor and associated slave processors coupled to communicate with the master processor.
The processing unit 1402 may control the basic functions of the mobile terminal as dictated by programs available in the storage/memory 1404. Thus, the processing unit 1402 may execute the functions described in
One of the programs that may be stored in the storage/memory 1404 is a specific program 1406. As previously described, the specific program 1406 may interact with a server (call center) to retrieve object information. The object information may include at least one of object price information, object specification information, a name of the manufacturer of the object, a name of an outlet where to buy from the object, a web address of a site that sells the object, and a one click button for buying the object by using the pointing device. The program 1406 and associated features may be implemented in software and/or firmware operable by way of the processor 1402. The program storage/memory 1404 may also be used to store data 1408, such as the object information, or other data associated with the present exemplary embodiments. In one exemplary embodiment, the programs 1406 and data 1408 are stored in non-volatile electrically-erasable, programmable ROM (EEPROM), flash ROM, etc. so that the information is not lost upon power down of the pointing device 1400.
The processor 1402 may also be coupled to user interface 1410 elements associated with the pointing device. The user interface 1410 of the pointing device may include, for example, a display 1412 such as a liquid crystal display, a keypad 1414, speaker 1416, and a microphone 1418. These and other user interface components are coupled to the processor 1402 as is known in the art. The keypad 1414 may include alpha-numeric keys for performing a variety of functions, including dialing numbers and executing operations assigned to one or more keys. Alternatively, other user interface mechanisms may be employed, such as voice commands, switches, touch pad/screen, graphical user interface using a pointing device, trackball, joystick, or any other user interface mechanism.
The pointing device 1400 may also include a digital signal processor (DSP) 1420. The DSP 1420 may perform a variety of functions, including analog-to-digital (ND) conversion, digital-to-analog (D/A) conversion, speech coding/decoding, encryption/decryption, error detection and correction, bit stream translation, filtering, etc. The transceiver 1422, generally coupled to an antenna 1424, may transmit and receive the radio signals associated with a wireless device.
The pointing device 1400 of
The external server or other systems for providing object information in connection with the present exemplary embodiments may be any type of computing device capable of processing and communicating object information. An example of a representative server arrangement capable of carrying out operations in accordance with the servers of the exemplary embodiments is illustrated in
The server arrangement 1500 suitable for performing the activities described in the exemplary embodiments may include a server 1501. Such a server 1501 may include a central processor (CPU) 1502 coupled to a random access memory (RAM) 1504 and to a read-only memory (ROM) 1506. The ROM 1506 may also be other types of storage media to store programs, such as programmable ROM (PROM), erasable PROM (EPROM), etc. The processor 1502 may communicate with other internal and external components through input/output (I/O) circuitry 1508 and bussing 1510, to provide control signals and the like. The processor 1502 carries out a variety of functions as is known in the art, as dictated by software and/or firmware instructions.
The server 1501 may also include one or more data storage devices, including hard and floppy disk drives 1512, CD-ROM drives 1514, and other hardware capable of reading and/or storing information such as DVD, etc. In one embodiment, software for carrying out the above discussed steps may be stored and distributed on a CD-ROM 1516, diskette 1518 or other form of media capable of portably storing information. These storage media may be inserted into, and read by, devices such as the CD-ROM drive 1514, the disk drive 1512, etc. The server 1501 may be coupled to a display 1520, which may be any type of known display or presentation screen, such as LCD displays, plasma display, cathode ray tubes (CRT), etc. A user input interface 1522 is provided, including one or more user interface mechanisms such as a mouse, keyboard, microphone, touch pad, touch screen, voice-recognition system, etc.
The server 1501 may be coupled to other computing devices, such as the landline and/or pointing device, via a network. The server may be part of a larger network configuration as in a global area network (GAN) such as the Internet 1528, which allows ultimate connection to the various landline and/or mobile client devices.
The disclosed exemplary embodiments provide a pointing device, a server, a system, a method and a computer program product for selecting various objects displayed on a screen. It should be understood that this description is not intended to limit the invention. On the contrary, the exemplary embodiments are intended to cover alternatives, modifications and equivalents, which are included in the spirit and scope of the invention as defined by the appended claims. Further, in the detailed description of the exemplary embodiments, numerous specific details are set forth in order to provide a comprehensive understanding of the claimed invention. However, one skilled in the art would understand that various embodiments may be practiced without such specific details.
As also will be appreciated by one skilled in the art, the exemplary embodiments may be embodied in a wireless device, a network, as a method or in a computer program product. Accordingly, the exemplary embodiments may take the form of an entirely hardware embodiment or an embodiment combining hardware and software aspects. Further, the exemplary embodiments may take the form of a computer program product stored on a computer-readable storage medium having computer-readable instructions embodied in the medium. Any suitable computer readable medium may be utilized including hard disks, CD-ROMs, digital versatile disc (DVD), optical storage devices, or magnetic storage devices such a floppy disk or magnetic tape. Other non-limiting examples of computer readable media include flash-type memories or other known memories.
Although the features and elements of the present exemplary embodiments are described in the embodiments in particular combinations, each feature or element can be used alone without the other features and elements of the embodiments or in various combinations with or without other features and elements disclosed herein. The methods or flow charts provided in the present application may be implemented in a computer program, software, or firmware tangibly embodied in a computer-readable storage medium for execution by a general purpose computer or a processor.
This application is a continuation of U.S. Ser. No. 13/122,748, filed May 16, 2011, entitled “Methods and Systems for Analyzing Parts of an Electronic File”, which is a 371 of International Application No. PCT/US2009/059975, filed Oct. 8, 2009, entitled “Methods and Systems for Analyzing Parts of an Electronic File”, which is related to, and claims priority from, U.S. Provisional Patent Application Ser. No. 61/104,077, entitled “Methods and Systems for Analyzing Parts of an Electronic File”, filed on Oct. 9, 2008, the disclosure of which is incorporated here by reference.
Number | Date | Country | |
---|---|---|---|
61104077 | Oct 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 13122748 | May 2011 | US |
Child | 14642850 | US |