Source: http://www.google.ca/patents/US20060077184
Timestamp: 2017-11-23 07:59:58
Document Index: 608095465

Matched Legal Cases: ['art 700', 'Application No. 60', 'art 700', 'art 700', 'art 700', 'art 700', 'art 700', 'art 700']

Patent US20060077184 - Methods and devices for retrieving and using information stored as a pattern ... - Google Patents
Methods and devices for storing, retrieving and using information are described. A pattern of markings on a surface is decoded to recover information encoded by the pattern. A software application associated with the information is identified. The information can then be used with the software appli...http://www.google.ca/patents/US20060077184?utm_source=gb-gplus-sharePatent US20060077184 - Methods and devices for retrieving and using information stored as a pattern on a surface
Publication number US20060077184 A1
Application number US 11/034,657
Priority date 17 Mar 2004
Also published as CA2532613A1, CN1896937A, EP1681620A1, WO2006076203A2, WO2006076203A3
Publication number 034657, 11034657, US 2006/0077184 A1, US 2006/077184 A1, US 20060077184 A1, US 20060077184A1, US 2006077184 A1, US 2006077184A1, US-A1-20060077184, US-A1-2006077184, US2006/0077184A1, US2006/077184A1, US20060077184 A1, US20060077184A1, US2006077184 A1, US2006077184A1
Inventors James Marggraff, Alexander Chisholm, Tracy Edgecomb
Original Assignee James Marggraff, Alexander Chisholm, Edgecomb Tracy L
Patent Citations (99), Referenced by (38), Classifications (11), Legal Events (2)
Methods and devices for retrieving and using information stored as a pattern on a surface
US 20060077184 A1
Methods and devices for storing, retrieving and using information are described. A pattern of markings on a surface is decoded to recover information encoded by the pattern. A software application associated with the information is identified. The information can then be used with the software application.
1. A method of retrieving and using recorded information, said method comprising:
decoding a first pattern of markings on a surface to recover information encoded by said first pattern;
identifying a software application associated with said information; and
using said information with said software application.
2. The method of claim 1 further comprising combining said information with other information stored in memory for said software application to increase content usable with said software application.
3. The method of claim 1 further comprising accessing other information indexed by said information encoded by said first pattern, wherein said other information is used with said software application.
4. The method of claim 3 wherein said other information comprises phonemes used for phonetics-to-speech synthesis.
5. The method of claim 3 wherein said other information comprises a database used for identifying an item of content located on said surface in proximity to said first pattern of markings.
6. The method of claim 1 wherein said software application is for audibly rendering information encoded in said first pattern of markings.
7. The method of claim 1 wherein said surface further comprises a visual cue associated with scanning said first pattern of markings.
8. The method of claim 1 further comprising audibly rendering a message in response to reading information encoded in a second pattern of markings on said surface, said message comprising directions for scanning said first pattern of markings.
9. A method of retrieving and using recorded information, said method comprising:
decoding a first pattern of markings on a surface to recover first information encoded by said first pattern; and
combining said first information encoded on said surface with second information resident in memory to produce a software application.
10. The method of claim 9 wherein said first information comprises information identifying said software application.
11. The method of claim 9 wherein said second information describes a template for said software application, wherein said combining comprises populating said template with said first information to parameterize said software application.
12. The method of claim 9 wherein said first information comprises a reference to third information usable with said software application.
13. The method of claim 12 wherein said third information comprises phonemes used for phonetics-to-speech synthesis.
14. The method of claim 9 wherein said first pattern is demarcated to indicate a beginning and an ending of said first information.
15. The method of claim 9 wherein said surface further comprises a visual cue indicating a direction for scanning said first pattern of markings.
16. The method of claim 9 further comprising audibly rendering a message in response to reading information encoded in a second pattern of markings on said surface, said message comprising directions for scanning said first pattern of markings.
a light-sensitive sensor for receiving light reflected from a surface;
a processor coupled to said sensor; and
a memory coupled to said processor, said memory unit containing instructions that when executed implement a method for retrieving and using recorded information, said method comprising:
sensing a first pattern of markings on said surface;
decoding said first pattern of markings to recover information encoded by said first pattern;
associating said information with a first software application; and
executing said first software application using said information.
18. The device of claim 17 further comprising a speaker for audibly rendering a message encoded by said first pattern of markings.
19. The device of claim 17 wherein said method further comprises combining said information with other information stored in said memory for said first software application to increase content associated with said first software application.
20. The device of claim 17 wherein said executing further comprises populating a template with said information to parameterize a second software application.
21. The device of claim 17 wherein said method further comprises accessing other information indexed by said information encoded by said first pattern, wherein said other information is used with said first software application.
22. The device of claim 21 wherein said other information comprises phonemes used for phonetics-to-speech synthesis.
23. The device of claim 21 wherein said other information comprises a database used for identifying an item of content located on said surface in proximity to said first pattern of markings.
24. The device of claim 17 wherein said information encoded in said first pattern comprises a beginning tag to indicate a beginning of said information and an ending tag to indicate an ending of said information.
25. The device of claim 17 wherein said surface further comprises a visual cue indicating a direction said sensor is to be moved across said first pattern.
26. The device of claim 17 further comprising a speaker for audibly rendering a message in response to said sensor sensing a second pattern of markings on said surface, said message comprising directions for reading said first pattern of markings.
27. A pen-shaped device comprising:
an optical sensor for detecting images on a surface;
a memory coupled to said processor, said memory unit containing instructions that when executed implement a method for retrieving and using recorded information from said surface, said method comprising:
using said optical sensor to sense encoded data representing said recorded information from said surface;
decoding said encoded data to recover said recorded information wherein said recorded information identifies a software application resident in said memory; and
supplying a portion of said recorded information to said software application.
28. A device as described in claim 27 wherein said method further comprises executing said software application using said portion of said recorded information.
29. A device as described in claim 27 wherein said surface comprises printed images thereon and wherein said portion of said recorded information causes said software application to execute in a manner related to said images.
30. A device as described in claim 27 wherein said surface comprises printed images thereon and wherein said portion of said recorded information comprises data related to said images.
31. A device as described in claim 27 wherein said recorded information further comprises program code executable by said processor.
32. A device as described in claim 27 wherein said recorded information further comprises parameterization data for altering execution of said software application.
33. A device as described in claim 27 wherein said memory comprises a plurality of software applications.
34. A device as described in claim 27 wherein said memory comprises a database of information and wherein said surface comprises a standardized template printed thereon and wherein said portion of said recorded information provides an association between elements of said template and elements of said database.
35. A device as described in claim 27 wherein said memory comprises a database of information and wherein said encoded data comprises an index that points to an item in said database.
This application is a Continuation-in-Part of the co-pending, commonly-owned U.S. Patent Application, Attorney Docket No. 020824-004610US, Ser. No. 10/803,806, filed Mar. 17, 2004, by James Marggraff et al., entitled “Scanning Apparatus,” and hereby incorporated by reference in its entirety.
This application is a Continuation-in-Part of the co-pending, commonly-owned U.S. Patent Application, Attorney Docket No. 020824-009500US, Ser. No. 10/861,243, filed Jun. 3, 2004, by James Marggraff et al., entitled “User Created Interactive Interface,” and hereby incorporated by reference in its entirety.
Embodiments in accordance with the present invention generally pertain to information storage mediums and to the retrieval and use of stored information.
An optical pen may be shipped or sold with a set of pre-loaded software applications. Users will typically be motivated to update the software on their optical pens as new or improved applications become available. However, optical pens may not be equipped to conveniently download information, because of their relatively small size and relatively unique form factor. Thus, adding new software to an optical pen may be somewhat problematic.
Accordingly, an optical pen that can be conveniently updated with new or improved software, and/or a method of conveniently updating the software on an optical pen, would be valuable. Embodiments in accordance with the present invention provide this and other advantages.
Embodiments of the present invention pertain to methods for storing, retrieving and using information, and devices thereof. In one embodiment, a pattern of markings on a surface is decoded to recover information encoded by the pattern. A software application associated with the information is identified. The information can then be used with the software application.
In one embodiment, a device such as handheld pen-shaped computer system (e.g., an optical pen) is used to scan the data from a surface (e.g., a piece of paper, etc.). The device contains memory, a processor, a writing instrument and an optical sensor that can read an image on the surface. Data scanned from the surface can be stored in memory and used by one or more applications resident on the device.
For example, parameterization data for an application, or even an application itself, can be encoded as a pattern of markings on a surface such as a piece of paper. The markings can be read (e.g., scanned) by the device (e.g., handheld pen-shaped computer system or optical pen). More precisely, an image of the pattern is captured by the device. The captured image of the markings can then be processed (decoded) to recover the encoded information, which can then be stored in memory on the device. The decoded information can be used, for example, to add an application to the device or to supplement an existing application.
In one embodiment, a surface (e.g., a piece of paper) can be supplied on which certain image themes are printed. Encoded information, as described above, can also be printed on the paper. Using the device (e.g., handheld pen-shaped computer system or optical pen) to scan, decode and store the encoded information, an application program resident on the device can become more customized to the theme of the paper. Alternatively, the user experience provided by interfacing with the application may become in some way relevant to the theme of the paper.
There are many other possible uses for information encoded and decoded in this manner. For example, a message encoded in a pattern of markings can be audibly rendered by scanning and decoding the markings. Alternatively, the information in a pattern of markings can index other, previously stored information (e.g., phonemes) that are used to synthesize an audible message. In the latter instance, new words can be added to the vocabulary of a device without having to download the words themselves, reducing the amount of information to be downloaded.
In general, embodiments in accordance with the present invention provide a convenient and user-friendly mechanism for adding information to devices such as handheld pen-shaped computer system or optical pens, thus expanding the functionalities of the devices beyond those provided when the devices were shipped or sold. These and other objects and advantages of the present invention will be recognized by one skilled in the art after having read the following detailed description, which are illustrated in the various drawing figures.
FIG. 5 shows a region on a surface of, for example, a sheet of paper that can be used to store encoded information according to one embodiment of the present invention.
FIG. 6 shows a region on a surface of, for example, a sheet of paper that can be used to store encoded information according to another embodiment of the present invention.
FIG. 7 is a flowchart of a computer-implemented method for retrieving encoded information according to one embodiment of the present invention.
FIG. 8 shows an exemplary user interface for a software application in accordance with one embodiment of the present invention.
FIG. 9 shows an exemplary user interface for another software application in accordance with one embodiment of the present invention.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussions, it is appreciated that throughout the present invention, discussions utilizing terms such as “encoding” or “using” or “identifying” or “accessing” or “rendering” or “reading” or “decoding” or “combining” or “sensing” or “executing” or “supplying” or the like, refer to the actions and processes of a computer system (e.g., flowchart 700 of FIG. 7), or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
FIG. 1 is a block diagram of a device 100 upon which embodiments of the present invention can be implemented. In general, device 100 may be referred to as a pen-shaped computer system or an optical device, or more specifically as an optical reader, optical pen or digital pen.
In the embodiment of FIG. 1, device 100 includes a processor 32 inside a housing 62. In one embodiment, housing 62 has the form of a pen or other writing utensil. Processor 32 is operable for processing information and instructions used to implement the functions of device 100, which are described below.
In one embodiment, the device 100 includes an audio output device 36, a display device 40, or both an audio device and display device coupled to the processor 32. In other embodiments, the audio output device and/or the display device are physically separated from device 100, but in communication with device 100 through either a wired or wireless connection. For wireless communication, device 100 can include a transceiver or transmitter (not shown in FIG. 1). The audio output device 36 may include a speaker or an audio jack (e.g., for an earphone or headphone). The display device 40 may be a liquid crystal display (LCD) or some other suitable type of display.
In the embodiment of FIG. 1, device 100 includes input buttons 38 coupled to the processor 32 for activating and controlling the device 100. For example, the input buttons 38 allow a user to input information and commands to device 100 or to turn device 100 on or off. Device 100 also includes a power source 34 such as a battery.
Device 100 also includes a light source or optical emitter 44 and a light sensor or optical detector 42 coupled to the processor 32. The optical emitter 44 may be a light emitting diode (LED), for example, and the optical detector 42 may be a charge coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) imager array, for example. The optical emitter 44 illuminates surface 70 or a portion thereof. Light reflected from the surface 70 is received at and recorded by optical detector 42.
In one embodiment, a pattern of markings is printed on surface 70. The surface 70 may be any suitable surface on which a pattern of markings can be printed, such as a sheet a paper or other types of surfaces. The end of device 100 that holds optical emitter 44 and optical detector 42 is placed against or near surface 70. As device 100 is moved relative to the surface 70, the pattern of markings is read and recorded by optical emitter 44 and optical detector 42. As discussed in more detail further below, in one embodiment, the markings on surface 70 are used to determine the position of device 100 relative to surface 70 (see FIGS. 3 and 4). In another embodiment, the markings on surface 70 are used to encode information (see FIGS. 5 and 6). The captured images of surface 70 can be analyzed (processed) by device 100 to decode the markings and recover the encoded information.
Device 100 of FIG. 1 also includes a memory unit 48 coupled to the processor 32. In one embodiment, memory unit 48 is a removable memory unit embodied as a memory cartridge or a memory card. In another embodiment, memory unit 48 includes random access (volatile) memory (RAM) and read-only (non-volatile) memory (ROM) for storing information and instructions for processor 32.
In the embodiment of FIG. 1, device 100 includes a writing element 52 situated at the same end of device 100 as the optical detector 42 and the optical emitter 44. Writing element 52 can be, for example, a pen, pencil, marker or the like, and may or may not be retractable. In certain applications, writing element 52 is not needed. In other applications, a user can use writing element 52 to make marks on surface 70, including characters such as letters, numbers, symbols and the like. These user-produced marks can be scanned (imaged) and interpreted by device 100 according to their position on the surface 70. The position of the user-produced marks can be determined using a pattern of marks that are printed on surface 70; refer to the discussion of FIGS. 3 and 4, below. In one embodiment, the user-produced markings can be interpreted by device 100 using optical character recognition (OCR) techniques that recognize handwritten characters.
Surface 70 may be a sheet of paper, although surfaces consisting of materials other than paper may be used. Surface 70 may be a flat panel display screen (e.g., an LCD) or electronic paper (e.g., reconfigurable paper that utilizes electronic ink). Also, surface 70 may or may not be flat. For example, surface 70 may be embodied as the surface of a globe. Furthermore, surface 70 may be smaller or larger than a conventional (e.g., 8.5×11 inch) page of paper. In general, surface 70 can be any type of surface upon which markings (e.g., letters, numbers, symbols, etc.) can be printed or otherwise deposited. Alternatively, surface 70 can be a type of surface wherein a characteristic of the surface changes in response to action on the surface by device 100.
FIG. 4 shows an enlarged portion 19 of the position code 17 of FIG. 3. An optical device such as device 100 or 200 (FIGS. 1 and 2) is positioned to record an image of a region of the position code 17. In one embodiment, the optical device fits the marks 18 to a reference system in the form of a raster with raster lines 21 that intersect at raster points 22. Each of the marks 18 is associated with a raster point 22. For example, mark 23 is associated with raster point 24. For the marks in an image/raster, the displacement of a mark from the raster point associated with the mark is determined. Using these displacements, the pattern in the image/raster is compared to patterns in the reference system. Each pattern in the reference system is associated with a particular location on the surface 70. Thus, by matching the pattern in the image/raster with a pattern in the reference system, the position of the pattern on the surface 70, and hence the position of the optical device relative to the surface 70, can be determined. Additional information is provided by the following patents and patent applications, herein incorporated by reference in their entirety for all purposes: U.S. Pat. No. 6,502,756; U.S. patent application Ser. No. 10/179,966 filed on Jun. 26, 2002; WO 01/95559; WO 01/71473; WO 01/75723; WO 01/26032; WO 01/75780; WO 01/01670; WO 01/75773; WO 01/71475; WO 01/73983; and WO 01/16691. See also Patent Application No. 60/456,053 filed on Mar. 18, 2003, and patent application Ser. No. 10/803,803 filed on Mar. 17, 2004, both of which are incorporated by reference in their entirety for all purposes.
In the example of FIG. 1, using device 100 (specifically, using writing element 52), a user may create a character consisting, for example, of a circled letter “M” at position A on surface 70 (generally, the user may create the character at any position on surface 70). The user may create such a character in response to a prompt (e.g., an audible prompt) from device 100. When the user creates the character, device 100 records the pattern of markings that are uniquely present at the position where the character is created. The device 100 associates that pattern of markings with the character just created. When device 100 is subsequently positioned over the circled “M,” device 100 recognizes the pattern of marks associated therewith and recognizes the position as being associated with a circled “M.” In effect, device 100 recognizes the character using the pattern of markings at the position where the character is located, rather than by recognizing the character itself.
In one embodiment, the character is associated with a particular command. In the example just described, a user can create (write) a character that identifies a particular command, and can invoke that command repeatedly by simply positioning device 100 over the written character. In other words, the user does not have to write the character for a command each time the command is to be invoked; instead, the user can write the character for a command one time and invoke the command repeatedly using the same written character.
FIG. 5 shows a region 50 on a surface 70 (on a sheet of paper 15, for example) that can be used to store encoded information according to one embodiment of the present invention. Although the example of FIG. 5 shows a sheet of paper, embodiments in accordance with the present invention can be implemented on other types and shapes of surfaces made of various types of materials, as mentioned above.
Region 50 includes a pattern of marks such as dots. In the embodiment of FIG. 5, the pattern of marks is used to store encoded information. More specifically, information is binary encoded (e.g., as bit values of zero or one), and the binary values are translated into a particular pattern of marks that are printed on surface 70. In one embodiment, up to 50 bytes per inch can be stored in region 50. In one embodiment, the information encoded in region 50 is also encrypted.
Surface 70 may contain other information in addition to region 50. For example, surface 70 may contain a pattern of markings such as that described above in conjunction with FIGS. 3 and 4. That is, some portions of surface 70 can be used to determine the position of an optical pen relative to surface 70, while other portions of surface 70 can be used to store encoded information. Surface 70 can include yet other information. For example, surface 70 may contain text-based or image-based information. As a specific example, surface 70 may be a page in a magazine that contains articles and pictures as well as the patterns of markings referred to above. The theme of the information included on surface 70 may be related to the type of information encoded in region 50.
Region 50 of FIG. 5 is identified or labeled in some manner so that a user can conveniently locate it on surface 70. For example, a visible border or margin can be printed around region 50 to delineate the region on the surface 70. The pattern of marks in region 50 is read by passing the optical emitter 44 and optical detector 42 of an optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) over region 50. The presence of a border helps a user keep the optical pen within region 50 during scanning, so that the pattern of marks in region 50 can be accurately read without stray marks being inadvertently picked up from outside region 50.
In the example of FIG. 5, the orientation of region 50 is horizontal; however, other orientations are permitted. Also, in the example of FIG. 5, region 50 is substantially rectangular in shape; however, other shapes are possible, including shapes that are curved or non-linear.
In one embodiment, the pattern of marks in region 50 is scanned by passing an optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) in one direction over region 50. However, depending on how the information is encoded in region 50, the present invention is not so limited. For example, a user may move the optical pen in different directions within region 50. Also, the optical pen may be moved at a constant speed or at varying speeds as the pen is passed over region 50.
In the example of FIG. 5, a visual cue such as arrow 56 is used to indicate to a user a direction in which the pattern of marks in region 50 are to be scanned. Visual cues indicating where to begin and where to end the scanning can also be used. Written instructions to assist the user can also be provided.
In one embodiment, region 50 is demarcated by a first tag or region 53 and a second tag or region 54. In an example in which region 50 is read from left to right, region 53 indicates the start of region 50 or the start of the encoded information, and region 54 indicates the end of region 50 or the end of the encoded information. In such an example, an optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) can be placed against or nearly against region 53 to start the process of scanning region 50. Upon reaching region 54 after traversing the length of region 50, the process of scanning region 50 is ended.
In one embodiment, a unique pattern of marks is associated with each of the regions 53 and 54 of FIG. 5, as described previously in conjunction with FIGS. 3 and 4. In such an embodiment, device 100 or 200 (FIGS. 1 and 2) is programmed to recognize those unique patterns as being associated with a beginning of encoded information tag and an end of encoded information tag, allowing those tags to be used universally.
There are in effect two dimensions associated with the pattern of marks in region 50. In the example of FIG. 5, region 50 is scanned in the x-direction (e.g., left to right). In this example, in one embodiment, linear position within region 50 is encoded in the x-dimension, while information is encoded in the y-dimension. That is, as region 50 is traversed in the x-direction with an optical pen (e.g., device 100 or 200 of FIGS. 1 and 2), data pairs (x, y) are read and stored by the optical pen. The x-values in each (x, y) pair provide a position along the x-axis within region 50, and the y-values in each (x, y) pair provide a data value (e.g., a binary value) corresponding to the encoded information.
The x-values can be determined by capturing an image of the pattern of marks and interpreting the positions of the marks, as described above in conjunction with FIGS. 3 and 4. Information can be stored in the y-dimension using a variety of techniques. The y-values can be determined by capturing an image of the pattern of marks and interpreting the marks. For example, the size of the marks can be varied, with a mark of one size indicating a binary value of zero (0) and a mark of another size indicating a binary value of one (1). Alternatively, the distance between marks can be used to indicate binary values. For example, if marks are expected at to be spaced at uniform distances in the y-direction, the absence of a mark can indicate a binary value of 0 while the presence of a mark can indicate a binary value of 1. Alternatively, the displacement of a mark relative to a raster point (refer to FIG. 4 above) can be used to indicate one binary value versus another. The optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) is programmed to interpret whatever encoding scheme is used. Also, the optical pen can check for errors that may occur in the scanning or interpretation of the markings in a region 50.
Depending on the encoding scheme used, knowledge of position within a region 50 may not be necessary.
In the example of FIG. 5, a single region 50 is illustrated. However, there may be more than one of such regions on a surface 70. If there are more than one such regions, they may be of different sizes and shapes and they may be oriented differently relative to one another. Also, the regions may be scanned in different directions relative to one another. For example, consider two such regions that are rectangular in shape, with their longer sides oriented horizontally on surface 70 as illustrated in FIG. 5, with one region just below the other on surface 70. The first of those regions can be read left to right while the second of the regions is read from right to left, facilitating the scanning of those regions by reducing the amount of movement of an optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) between the regions.
The information encoded by multiples of region 50 can be divided among those regions. For example, part of the encoded information may be included in a first region 50, while the remainder of the encoded information is included in a second region 50. The first and second regions may or may not be on the same surface 70 (e.g., on the same piece of paper). During decoding and processing of the scanned and encoded information, an optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) can then integrate the parts.
The information encoded by the pattern of marks in region 50 of FIG. 5 can be used in a variety of different ways. For example, that information can be used to update an application resident on an optical pen (e.g., device 100 or 200 of FIGS. 1 and 2), or to add a new application to the optical pen. Also, a new application can be added to the optical pen by populating (parameterizing) an application template previously installed on the optical pen with the information encoded in a region 50. In these examples, the information encoded in region 50 includes information identifying an application with which it is associated. Information identifying an application can alternatively be included in region 53 or 54. Additional information is provided in conjunction with FIGS. 8 and 9, below.
The information encoded within region 50 of FIG. 5 can also be used for an application referred to herein as “sound swipe.” For example, by passing the optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) through region 50, an audible message encoded by the pattern of marks in region 50 is rendered. An application such as sound swipe can be used in advertising or contest promotions, for example. Also, the audible message encoded by the pattern of marks in region 50 can be used to provide information or feedback to a user as the optical pen is being passed over region 50. For example, as the pattern of marks are being scanned, a beep or similar type of sound (in general, any type of sound) can be audibly rendered—a sound generally recognized as a pleasant sound can be used to indicate that the scanning is being performed correctly, while a sound generally recognized as an unpleasant sound can be used to indicate that the scanning is not proceeding correctly. The speed at which the sound is played can also be used to provide feedback to a user. In general, as a region 50 is being scanned, information relevant to the actions of a user can be encoded in the region 50 and audibly rendered to the user as the user is scanning the pattern of markings.
An audible message rendered from the information in a region 50 can also be used to provide direction or feedback to a user during the act of scanning as part of a software application that the user is executing. In other words, the information encoded in a region 50 can be used to provide audible feedback to a user to indicate how well the pattern of markings is being scanned, or to indicate how well the user is performing in, for example, a gaming application. For example, a user may be using a software application for a maze game, in which the optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) is moved by the user through a maze that is illustrated on a surface 70. The “walls” of the maze may be regions (such as a region 50) in which the information that is encoded results in a sound being rendered when the optical pen makes contact with a wall. In general, the information encoded in a region 50 can be used to affect the actions of a user as the pattern of markings are being scanned (in the act of scanning).
An audible message can also be used to maintain the user's interest during scanning. As mentioned above, there may be multiples of the regions 50. An audible message, the content of which may be unrelated to the type of information encoded in the regions 50, may be rendered to encourage a user to scan all of the regions. For example, a riddle may be verbalized as the user scans the regions 50, with the solution to the riddle not being provided until all of the regions 50 are scanned.
In each of the examples above, the message that is audibly rendered may be based on information encoded in a region 50 or on information stored on the optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) or on a combination of the two.
FIG. 6 shows a region 58 on a surface 70 (on a sheet of paper 15, for example) according to another embodiment of the present invention. In this embodiment, an application such as sound swipe is used to provide audible directions to a user, to assist the user in scanning region 50. For example, the user can position an optical pen against or nearly against region 58, which includes information encoded as a pattern of marks in a manner similar to that of region 50. In response to the scanning and interpreting of the information encoded in region 58, an audible message is rendered, instructing the user on how to scan region 50. Alternatively, scanning region 58 can invoke a command that causes the optical pen (e.g., device 100 or 200 of FIGS. 1 and 2) to play a recorded message that instructs the user on how to scan region 50.
FIG. 7 is a flowchart 700 of a computer-implemented method for retrieving encoded information according to one embodiment of the present invention. Although specific steps are disclosed in flowchart 700, such steps are exemplary. That is, embodiments of the present invention are well suited to performing various other steps or variations of the steps recited in flowchart 700. It is appreciated that the steps in flowchart 700 may be performed in an order different than presented, and that not all of the steps in flowchart 700 may be performed. In one embodiment, with reference also to FIGS. 1 and 2, flowchart 700 is implemented by a device such as device 100 or 200 as computer-readable program instructions stored in a memory unit (e.g., memory unit 48) and executed by a processor (e.g., processor 32).
In one embodiment, in step 72, a pattern of markings on a surface is decoded to recover information encoded by the pattern. In one embodiment, the markings are sensed using an optical sensor (e.g., optical detector 42 of FIGS. 1 and 2). Linear position within the pattern is encoded in a first dimension of the pattern, and the information is encoded in a second dimension of the pattern. The information may include data and/or instructions that may be executed by the processor of the optical pen.
In step 74, a software application associated with the information is identified. For example, the information can include the identity of the software application with which the information is associated.
In step 76, the information or some portion thereof can then be used with the software application. For example, the software application can be executed using the decoded information. This is described further in conjunction with FIGS. 8 and 9.
FIG. 8 shows an exemplary user interface 800 used with a software application installed on an optical pen (e.g., devices 100 and 200 of FIGS. 1 and 2) in accordance with one embodiment of the present invention. FIG. 9 shows an exemplary user interface 900 used with another software application installed on an optical pen (e.g., devices 100 and 200 of FIGS. 1 and 2) in accordance with one embodiment of the present invention. The user interfaces 800 and 900 may be printed on a sheet of paper, although the present invention is not so limited.
In actuality, the user interfaces 800 and 900 may not include the text-based information (e.g., “oboe,” “oboe sound,” etc.) that are shown in FIGS. 8 and 9. To illustrate this by way of an example, an application that can be implemented using an optical pen such as device 100 or 200 of FIGS. 1 and 2 is referred to herein as “memory match.” In a memory match application, a user is presented with an interface such as the interfaces 800 and 900; however, the interfaces 800 and 900 do not include the text-based information shown. The user attempts to match a spoken word (e.g., oboe) with a sound associated with that spoken word (e.g. oboe sound). The user touches the optical pen to one of the positions in the interfaces 800 and 900, and an audible message is generated in response. For example, with reference to FIG. 8, if a user touches the optical pen to the position in interface 800 associated with the word “oboe,” the word “oboe” is audibly rendered in response, and if a user touches the optical pen to the position in interface 800 associated with the sound of an oboe (e.g., “oboe sound”), the sound of an oboe is audibly rendered in response. The user then touches another position within the interface 800 and another message is audibly rendered; either a word is pronounced, or a sound associated with a word is played. The user proceeds in this manner in an attempt to match the position associated with the word “oboe” with the position associated with the sound of an oboe. The memory match application works in a similar fashion with the interface 900, in which a user attempts to match state names and capitals.
In one embodiment, information encoded in a region 50 (FIG. 5) can be used to update an application already installed on device 100 or 200 of FIGS. 1 and 2. For example, a memory match application in which the names and sounds of musical instruments are to be located and matched (as in FIG. 8) may be installed on device 100 or 200; Information encoded in a region 50 can be used to add new instrument names and sounds to such an application.
Consider an example in which the word “oboe” (specifically, the spoken word “oboe”) is to be added to an application such as a memory match application. The spoken word “oboe” can be encoded in a region 50 and added to device 100 or 200 (FIGS. 1 and 2) as previously described herein. Alternatively, the word “oboe” can be audibly rendered by device 100 and 200 using phonetics-to-speech (PTS) synthesis. In the latter instance, a library or database of phonemes is installed on devices 100 and 200. Each of the phonemes can be uniquely identified in the database using a respective index (e.g., a unique binary value is associated with each phoneme). Thus, the information in a region 50 need only include the indexes of the phonemes that are to be used to synthesize a new word to be added to the device 100 or 200. That is, for example, the information encoded in a region 50 need only identify the indices for the phonemes associated with the word “oboe.” This can greatly reduce the amount of information that needs to be encoded in a region 50, relative to the amount of information that would need to be encoded if the spoken word was itself encoded.
The game “Hangman” provides another example of how information in a region 50 (FIG. 5) can be used to supplement information already installed on device 100 or 200 of FIGS. 1 and 2. Information in a region 50 can supplement an application by making the application customized to the surface with which the user is interfacing (e.g., the surface on which the user is writing). For example, a certain list of words that can be used in Hangman may be installed on the device 100 or 200 when the device is shipped or sold. New words to be added to the Hangman application can be encoded in a region 50, and that information can be used to add new words to the list of words used by Hangman by scanning the region 50 with the device 100 or 200. For instance, a preprinted theme can be illustrated on a surface 70 (FIG. 5) that contains a region 50, with the words encoded in the region 50 associated with that theme.
As another example, a template for an application can be installed on device 100 or 200 of FIGS. 1 and 2, and the information encoded in a region 50 (FIG. 5) can be used to populate that template with information that produces a new application. For example, with reference again to FIGS. 8 and 9, a template for memory match applications can be installed on device 100 or 200 of FIGS. 1 and 2. The template would define the type of user interface, the types of interactions that occur between the user and the user interface, and the like. In essence, the template would define the structure of a blank user interface which is to be populated with information for a memory match application. Information encoded in a region 50 can be used to populate the template with, for example, the names and sounds of musical instruments to produce a first software application. Information encoded in another region 50 can be used to populate the template with, for example, the names of states and their capitals to produce a second software application. Templates for other types of applications can be similarly defined and populated.
In another example, an application (or an application template) may define certain areas of a surface 70 (FIGS. 1 and 2) as being regions in which handwritten user input is received. Information encoded in a region 50 can be used to install questions onto device 100 or 200 that can be audibly rendered to the user. The information encoded in a region 50 can also include the correct answers to those questions. In response to hearing a question, the user writes an answer into a designated region of surface 70, using the writing element 52 of device 100 or 200 to write the answer. Upon scanning the handwritten answer, device 100 or 200 can use character recognition techniques to interpret the handwritten answer and compare it to the correct answer.
As another example, a book can be printed on paper that has printed thereon the pattern of markings described above in conjunction with FIGS. 3 and 4. Each position in the book is associated with a unique pattern of markings (e.g., a unique pattern of dots). Thus, each word in the book is also associated with a unique pattern of markings. A mapping of the words to their respective patterns is stored in a database on device 100 or 200 (FIGS. 1 and 2). The device 100 or 200 can be used to scan and read the pattern of markings at a particular location in the book, and the mapping can be used to identify the word at that location. Different activities can occur once the word at a location is so identified. For example, the word can be verbalized using device 100 or 200 to identify how the word is pronounced, a definition of the word can be verbalized, or the word can be translated into a different language.
As an alternative to the above, a standardized pattern of markings is established for each word in a database (e.g., a lexicon). In other words, each word in the lexicon is associated with a unique pattern of markings such as those described in conjunction with FIG. 5. Thus, a particular pattern of markings uniquely identifies a particular word. The unique pattern of markings for a word may be an encoded version of the word (e.g., an ASCII version of the word) or it may be an index that points to the word inside the lexicon. When a book is printed, both the text of the book and the pattern associated with each word of text are printed; that is, a word and the unique pattern associated with that word are both printed on the page at the same location on the page, so that the word and its associated pattern of markings are physically linked. The device 100 or 200 can be used to scan and read the pattern of markings at a particular location in the book, a word at that location can be identified from the pattern of markings, and applications such as those described above can then be utilized (e.g., the word can be defined, etc.). In general, a unique pattern of markings printed, for example, on a surface 70 can be used to identify an item of content that is located at the same position on surface 70 as the pattern of markings.
The discussion above presents just a few examples of how information encoded in a region 50 (FIG. 5) can be used with an optical pen such as devices 100 and 200 of FIGS. 1 and 2. In general, embodiments in accordance with the present invention provide a convenient and user-friendly mechanism for adding information to optical devices such as optical pens, in order to expand the functionalities of the devices beyond those provided when the devices were shipped or sold as well as enhance the experience of using the devices.
US3782734 * 15 Mar 1971 1 Jan 1974 Krainin S Talking book, an educational toy with multi-position sound track and improved stylus transducer
US4375058 * 6 Jun 1980 22 Feb 1983 U.S. Philips Corporation Device for reading a printed code and for converting this code into an audio signal
US4748318 * 22 Oct 1986 31 May 1988 Bearden James D Wand for a hand-held combined light pen and bar code reader
US4924387 * 20 Jun 1988 8 May 1990 Jeppesen John C Computerized court reporting system
US4990093 * 5 Feb 1988 5 Feb 1991 Frazer Stephen O Teaching and amusement apparatus
US5209665 * 12 Oct 1989 11 May 1993 Sight & Sound Incorporated Interactive audio visual work
US5294792 * 31 Dec 1991 15 Mar 1994 Texas Instruments Incorporated Writing tip position sensing and processing apparatus
US5301243 * 19 Jun 1992 5 Apr 1994 Francis Olschafskie Hand-held character-oriented scanner with external view area
US5409381 * 31 Dec 1992 25 Apr 1995 Sundberg Learning Systems, Inc. Educational display device and method
US5509087 * 31 May 1995 16 Apr 1996 Casio Computer Co., Ltd. Data entry and writing device
US5510606 * 10 Nov 1993 23 Apr 1996 Worthington; Hall V. Data collection system including a portable data collection terminal with voice prompts
US5517579 * 13 Apr 1994 14 May 1996 Baron R & D Ltd. Handwritting input apparatus for handwritting recognition using more than one sensing technique
US5624265 * 1 Jul 1994 29 Apr 1997 Tv Interactive Data Corporation Printed publication remote contol for accessing interactive media
US5629499 * 14 Dec 1995 13 May 1997 Hewlett-Packard Company Electronic board to store and transfer information
US5757361 * 20 Mar 1996 26 May 1998 International Business Machines Corporation Method and apparatus in computer systems to selectively map tablet input devices using a virtual boundary
US5896403 * 28 Sep 1993 20 Apr 1999 Olympus Optical Co., Ltd. Dot code and information recording/reproducing system for recording/reproducing the same
US5902968 * 20 Feb 1997 11 May 1999 Ricoh Company, Ltd. Pen-shaped handwriting input apparatus using accelerometers and gyroscopes and an associated operational device for determining pen movement
US6018656 * 18 Jul 1996 25 Jan 2000 Sony Corporation Programmable cellular telephone and system
US6041215 * 31 Mar 1998 21 Mar 2000 Publications International, Ltd. Method for making an electronic book for producing audible sounds in response to visual indicia
US6052117 * 27 Apr 1995 18 Apr 2000 Sega Enterprises, Ltd. Information display system for electronically reading a book
US6181329 * 23 Dec 1997 30 Jan 2001 Ricoh Company, Ltd. Method and apparatus for tracking a hand-held writing instrument with multiple sensors that are calibrated by placing the writing instrument in predetermined positions with respect to the writing surface
US6183262 * 10 Sep 1999 6 Feb 2001 Shao-Chien Tseng Magnetic drawing board structure
US6208771 * 31 Aug 1998 27 Mar 2001 Xerox Parc Methods and apparatus for robust decoding of glyph address carpets
US6218964 * 26 Oct 1999 17 Apr 2001 Christ G. Ellis Mechanical and digital reading pen
US6335727 * 15 Dec 1997 1 Jan 2002 Kabushiki Kaisha Toshiba Information input device, position information holding device, and position recognizing system including them
US6349194 * 4 May 1999 19 Feb 2002 Noritsu Koki Co., Ltd. Order receiving method and apparatus for making sound-accompanying photographs
US6502756 * 26 May 2000 7 Jan 2003 Anoto Ab Recording of information
US6509893 * 27 Jun 2000 21 Jan 2003 C Technologies Ab Reading pen
US6676411 * 21 Jan 2003 13 Jan 2004 Rehco, Llc Electronic drawing assist toy
US6678499 * 30 Jun 2000 13 Jan 2004 Silverbrook Research Pty Ltd Method and system for examinations
US6724373 * 5 Jan 2000 20 Apr 2004 Brother International Corporation Electronic whiteboard hot zones for controlling local and remote personal computer functions
US6724374 * 20 Oct 2000 20 Apr 2004 Silverbrook Research Pty Ltd Sensing device for coded electronic ink surface
US6886036 * 2 Nov 1999 26 Apr 2005 Nokia Corporation System and method for enhanced data access efficiency using an electronic book over data networks
US6982703 * 12 Nov 2002 3 Jan 2006 Silverbrook Research Pty Ltd Handwritten text capture via interface surface having coded marks
US7002559 * 13 Nov 2001 21 Feb 2006 Anoto Ab Method, system and product for information management
US7006116 * 16 Nov 1999 28 Feb 2006 Nokia Corporation Tangibly encoded media identification in a book cover
US7202861 * 25 Jun 2002 10 Apr 2007 Anoto Ab Control of a unit provided with a processor
US20020000468 * 19 Apr 1999 3 Jan 2002 Pradeep K. Bansal System and method for scanning & storing universal resource locator codes
US20020001418 * 29 Apr 1999 3 Jan 2002 Christer Fahraeus Recording method and apparatus
US20020011989 * 5 Apr 2001 31 Jan 2002 Petter Ericson Method and system for information association
US20020021284 * 21 Mar 2001 21 Feb 2002 Linus Wiebe System and method for determining positional information
US20020023957 * 20 Aug 2001 28 Feb 2002 A. John Michaelis Method and apparatus for providing audio/visual feedback to scanning pen users
US20020041290 * 14 May 2001 11 Apr 2002 International Business Machines Corporation Extending the GUI desktop/paper metaphor to incorporate physical paper input
US20030001020 * 27 Jun 2001 2 Jan 2003 Kardach James P. Paper identification information to associate a printed application with an electronic application
US20030014615 * 25 Jun 2002 16 Jan 2003 Stefan Lynggaard Control of a unit provided with a processor
US20030016210 * 17 Jun 2002 23 Jan 2003 Leapfrog Enterprises, Inc. Three dimensional interactive system
US20030020629 * 24 Sep 2002 30 Jan 2003 Jerome Swartz Wearable communication system
US20030024975 * 15 Nov 2001 6 Feb 2003 Rajasekharan Ajit V. System and method for authoring and providing information relevant to the physical world
US20030025951 * 29 Jul 2002 6 Feb 2003 Pollard Stephen Bernard Paper-to-computer interfaces
US20030029919 * 26 Jun 2002 13 Feb 2003 Stefan Lynggaard Reading pen
US20030040310 * 19 Mar 2001 27 Feb 2003 Simon Barakat Extended mobile telephone network and payphone therefor
US20030046256 * 20 Apr 2001 6 Mar 2003 Ola Hugosson Distributed information management
US20030052900 * 21 Dec 2000 20 Mar 2003 Card Stuart Kent Magnification methods, systems, and computer program products for virtual three-dimensional books
US20030067427 * 16 Sep 2002 10 Apr 2003 E Ink Corporation Microencapsulated electrophoretic electrostatically addressed media for drawing device applications
US20030071850 * 12 Oct 2001 17 Apr 2003 Microsoft Corporation In-place adaptive handwriting input method and system
US20040012198 * 21 May 2003 22 Jan 2004 Brotzell Arthur D. Composite coiled tubing end connector
US20040039750 * 15 Mar 2001 26 Feb 2004 Anderson Chris Nathan Computer publication
US20040043365 * 30 May 2003 4 Mar 2004 Mattel, Inc. Electronic learning device for an interactive multi-sensory reading system
US20050055628 * 10 Sep 2003 10 Mar 2005 Zheng Chen Annotation management in a pen-based computing system
US7810730 31 Mar 2009 12 Oct 2010 Livescribe, Inc. Decoupled applications for printed materials
US8149227 31 Mar 2009 3 Apr 2012 Livescribe, Inc. Removing click and friction noise in a writing device
US8194081 29 May 2008 5 Jun 2012 Livescribe, Inc. Animation of audio ink
US8254605 29 May 2008 28 Aug 2012 Livescribe, Inc. Binaural recording for smart pen computing systems
US8265382 29 May 2008 11 Sep 2012 Livescribe, Inc. Electronic annotation of documents with preexisting content
US8284951 29 May 2008 9 Oct 2012 Livescribe, Inc. Enhanced audio recording for smart pen computing systems
US8300252 17 Jun 2009 30 Oct 2012 Livescribe, Inc. Managing objects with varying and repeated printed positioning information
US8374992 29 May 2008 12 Feb 2013 Livescribe, Inc. Organization of user generated content captured by a smart pen computing system
US8416218 29 May 2008 9 Apr 2013 Livescribe, Inc. Cyclical creation, transfer and enhancement of multi-modal information between paper and digital domains
US8446297 31 Mar 2009 21 May 2013 Livescribe, Inc. Grouping variable media inputs to reflect a user session
US8446298 31 Mar 2009 21 May 2013 Livescribe, Inc. Quick record function in a smart pen computing system
US8638319 29 May 2008 28 Jan 2014 Livescribe Inc. Customer authoring tools for creating user-generated content for smart pen applications
US8842100 23 Dec 2013 23 Sep 2014 Livescribe Inc. Customer authoring tools for creating user-generated content for smart pen applications
US8944824 31 Mar 2009 3 Feb 2015 Livescribe, Inc. Multi-modal learning system
US9058067 31 Mar 2009 16 Jun 2015 Livescribe Digital bookclip
US9250718 29 May 2008 2 Feb 2016 Livescribe, Inc. Self-addressing paper
US20080042970 * 24 Jul 2006 21 Feb 2008 Yih-Shiuan Liang Associating a region on a surface with a sound or with another region
US20090000832 * 29 May 2008 1 Jan 2009 Jim Marggraff Self-Addressing Paper
US20090021493 * 29 May 2008 22 Jan 2009 Jim Marggraff Cyclical creation, transfer and enhancement of multi-modal information between paper and digital domains
US20090021494 * 29 May 2008 22 Jan 2009 Jim Marggraff Multi-modal smartpen computing system
US20090021495 * 29 May 2008 22 Jan 2009 Edgecomb Tracy L Communicating audio and writing using a smart pen computing system
US20090022332 * 29 May 2008 22 Jan 2009 Andy Van Schaack Enhanced Audio Recording For Smart Pen Computing Systems
US20090022343 * 29 May 2008 22 Jan 2009 Andy Van Schaack Binaural Recording For Smart Pen Computing Systems
US20090024988 * 29 May 2008 22 Jan 2009 Edgecomb Tracy L Customer authoring tools for creating user-generated content for smart pen applications
US20090027400 * 29 May 2008 29 Jan 2009 Jim Marggraff Animation of Audio Ink
US20090052778 * 29 May 2008 26 Feb 2009 Edgecomb Tracy L Electronic Annotation Of Documents With Preexisting Content
US20090251336 * 31 Mar 2009 8 Oct 2009 Livescribe, Inc. Quick Record Function In A Smart Pen Computing System
US20090251338 * 31 Mar 2009 8 Oct 2009 Livescribe, Inc. Ink Tags In A Smart Pen Computing System
US20090253107 * 31 Mar 2009 8 Oct 2009 Livescribe, Inc. Multi-Modal Learning System
US20090267923 * 31 Mar 2009 29 Oct 2009 Livescribe, Inc. Digital Bookclip
US20100033766 * 17 Jun 2009 11 Feb 2010 Livescribe, Inc. Managing Objects With Varying And Repeated Printed Positioning Information
US20100054845 * 31 Mar 2009 4 Mar 2010 Livescribe, Inc. Removing Click and Friction Noise In A Writing Device
US20110041052 * 14 Jul 2010 17 Feb 2011 Zoomii, Inc. Markup language-based authoring and runtime environment for interactive content platform
CN103246540A * 23 May 2013 14 Aug 2013 福建伊时代信息科技股份有限公司 Update method and update device of application program
WO2009155458A1 * 18 Jun 2009 23 Dec 2009 Livescribe, Inc. Managing objects with varying and repeated printed positioning information
Cooperative Classification G06F3/0317, G06K9/228, G06K19/06037, G06K2009/226, G06F3/03545
European Classification G06F3/0354N, G06K9/22W, G06K19/06C3, G06F3/03H3
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MARGGRAFF, JAMES;CHISHOLM, ALEXANDER;EDGECOMB, TRACY L.;REEL/FRAME:016406/0872;SIGNING DATES FROM 20050209 TO 20050322