Various embodiments of the invention will now be described, by way of example only, in which:
The user controlled input device and/or the hard copy producing means are shown as being connected to the personal computer 103 via wired connections. It is possible that these devices could be connected to the PC 103 (or other computing device) via a wireless, or even a LAN or WAN connection.
The PC 103 comprises printer driver software 109 which allows the PC 103 to communicate with, and instruct, the printer 104. Position identification dot pattern data is stored in a repository associated with software which may conveniently be referred to as Service Controller which is stored in the memory 103b of the PC 103. More particularly, the Service Controller stores data relating to the generation of at least one pattern of dots which, when printed, will allow the position of the digital pen device (for example the pen 20) to be determined within a page printed with such a pattern. It may be the digital pen device that makes this determination or alternatively, or additionally, it may be an off-pen processing device such as the PC 103 (or other computing device) that makes this determination. The pen 20 may be thought of as a processing device in its own right.
It will be appreciated that the memory 103b need not be within the PC and could be connected to the PC 103 via a data connection thereto. The memory may be provided by any number of different storage technologies including volatile and non-volatile memories, hard disk drives, arrays of disk drives, tapes, etc. The term memory 103b is intended to cover each of these possibilities.
The printer 104, which as with the pen may be thought of as a processing device in its own right, is shown in more detail in
The printer 104 may comprise any form of hard copy producing device including any of the non-exhaustive list: an inkjet printer or a laser printer (each of which may be colour or mono); a photo-copier; or the like.
The memory 112 of the printer 104 stores therein a program which may conveniently be referred to as ENCODE, which, when loaded onto the processor 111 is operative to embed machine-readable information into a positional dot pattern of a digital document to be printed. It will be appreciated that the functionality of ENCODE may be achieved by installing suitable plug-in software into the memory of the printer. Alternatively the functionality may be achieved by way of firmware which is installed at the time of manufacture of the printer 104, or for later flashing thereof in order to achieve a so-called upgrade of the firmware.
Although the expression ‘dot pattern’ is used herein and is intended to mean a pattern of round or roundish features, alternative realisations are equally possible in which a pattern of printed features of other outlines/shapes are used.
For the sake of simplicity the system 100 will be described with the example of the ENCODE program being adapted to incorporate into a positional dot pattern information indicative of the fact that the printer 104 is one which is manufactured by the Hewlett Packard company and hence free network Application Software may be used in conjunction with embodiments of the invention providing enhanced functionality to a user. The expression ‘printer-related information’ is intended to be understood generally so as to include information indicative of circumstances surrounding or associated with the printing of a digital document, and is not limited to characteristics of a particular printer. Different embodiments of the invention may provide different printer-related information but a non exhaustive list of such information includes: the time of printing, the date of printing, the identity of the printer, the identity of a computing device that caused the printing (which may be the IP, or other network, address); the level of toner within the printer.
Looking at
In use, a user requires a document to be printed which is a digital form suitable for use with a digital pen (eg the digital pen 20). The user opens an application stored on the PC 103 (or within a memory accessible by the PC) and selects from a list of forms the required form. He then opens the file corresponding to the required form and displays the form on the screen 105 to ensure that that is indeed the required form. Using the keyboard 106 and/or the mouse 107, or any other input device to the PC 103, the user informs the PC 103 that he requires the form to be printed. In so doing the printer driver software 109 calls a suitable position identification dot pattern from the repository associated with the Service Controller. The Service Controller may be accessed via a network connection, which may be a Wide Area Connection, such as an Internet connection.
In other embodiments, the PC 103 may not be needed and another computing device (which may be the pen 20) may connect with the printer 104 to print the document.
In this embodiment the grid that is intended to be read by a digital pen (eg the digital pen 20) is 6×6 dots. However, as discussed above this could be any other number of dots. The dot pattern obtained from the Service Controller is limited to being 36 bits in length; ie half the number of bits required to fully specify the 6×6 grid. However, the Service Controller is arranged to ensure that the dot pattern issued to the printer driver software 109 is unique. It will be appreciated that the reduction of the number of bits allocated to dot pattern ie a reduction to 36 bits, will reduce the area of the pattern before it repeats.
Embodiments of the invention may embed the printer related information in a different order and
As exemplified by the arrangement of
The printer driver 109 then combines the dot pattern with the data which is representative of the form to be printed. The printer driver software 109 then causes the form data (as combined with the dot pattern data) to be sent to the printer 104, together with data which informs the processor 111 of the printer 104 that the document to be printed will have a positional dot pattern.
On determining that a positional dot pattern is to be incorporated the processor 111 calls and loads the program ENCODE. ENCODE then causes the processor 111 to act on the positional dot pattern to incorporate therein information relating to the printing process. For example, the ENCODE program may incorporate any of the following pieces of information: how the document was printed, when the document was printed, where the document was printed, who caused the document to be printed, the temperature at which the document was printed, the amount of toner in the printer when the document was printed, the serial number of the printer, the manufacturer of the printer, or any other similar, or desired, information.
The inclusion of such information can be advantageous since it may allow the reading of the dot pattern by a digital pen 20 at a later time to be modified in order to take into account the printing conditions. For example, if the printer were running low on toner when the document was printed the dots may be fainter than usual which may be taken into account during reading of the dot pattern. Such an embodiment can be advantageous for a user of the pen 20 since it can help to reduce the errors that may occur during use of the pen; if the system cannot determine the position of the pen correctly because the pen cannot read the dot pattern then errors may occur. As a result the pen 20 may be caused to increase the power of IR output from the LED 30 although this may be considered disadvantageous due to increased power usage from the battery 36. Other embodiments may cause the system to perform more processing of the dot pattern in order to reduce errors. Yet a further embodiment may cause an output to a user asking him to move the pen more slowly due to the conditions.
It may be that the printer software 109 is configured to send instructions to the printer 104 as to what information is to be included as the printer-related information. Alternatively it may be that the PC 103 calls for the printer-related information from the printer, incorporates the printer-related information and then sends a request to the printer to print the document (with the printer-related information already incorporated).
It will be appreciated from the discussions above that in the current embodiment 36 bits are available in order to encode the printer related information. These 36 bits will correspond to the position of the last 18 dots in the grid and as such the information that is encoded in these bits will determine the position of the dots relative to the grid; the position of each dot will be determined by each two bit code according to the arbitrary coding (eg 0=upwards; 1=left; 2=down; and 3=right).
It will be appreciated that more bits would be available to encode printer related information if the fewer bits were used to encode dot pattern. However, as such the amount of available pattern would be reduced. Conversely, the amount of available pattern could be increased by reducing the number of bits used to encode printer related information.
The skilled person will appreciate that 36 bits of information does not provide much storage for information and as such the 36 bits may be used as an index in the same manner as indirect addressing is used. Thus, information, perhaps several kilobytes, megabytes or more, of information may be stored at an address referred to by the 36 bit address. It will be appreciated that a 36 bit address space provides of the order of 7×1010 addresses This address space size can be increased or reduced by using fewer or more bits respectively. The address referred to by the 36 bit address may be within any memory accessible by the pen 20 or PC 103.
Once the positional information and the printer related information has been embedded, the document is then printed.
When the user completes any part of the printed form (where the dot pattern is present) the digital pen used will detect the printer-related information at each cell and store/forward this information as appropriate. In particular the pen will detect both those dots which represent positional information and those dots which represent the fact that the printer is a Hewlett Packard printer (or other printer related information). However, the first 36 bits of the data from the 6×6 grid are used to determine pattern information and as such identify the position of the pen 20 and the remaining 36 bits of information are used to obtain embedded information.
There are numerous ways in which the detected printer-related information can be used, for example by later uploading that information onto a PC. For example, it may be that if the printer-related information is indicative of the fact that the document was printed using a Hewlett Packard printer then this is communicated to the supplier and/or producer of the printer driver software 109 (and associated components such as the Service Controller and the ENCODE program). If a subscription is required for use of the software 109 then a discount to the next subscription can be applied. It may be that a predetermined number of documents printed having specific printer-related information needs to be detected before any discount is applied. If alternatively or additionally the printer-related information contained information indicative of the model of the printer used to print the document then discounts/special pricing rates could be applied on different scales, dependent on the model of printer used. Accordingly a method of controlling/policing revenue may be implemented thereby. In other embodiments discounts may be applied to the current or indeed, previous subscriptions.
If printer model or printer ID information were encoded then document production traceability could be improved since one could potentially trace a printer which produced a particular document. Thus one could have a plurality of printers each of which would be configured to embed with a positional dot pattern of a digital document an identity of a respective printer.
In an alternative embodiment in which the printer does not generate the last bits of a 6×6 grid each printer is configured to use one or more specific positional dot patterns, each of which has distinguishable characteristics, which is/are assigned to that printer. Each pattern, comprising a group of cells, is taken from the overall allowable pattern space. Thus the detected positional dot pattern could be used to indicate the printer used, and so printer-related information could be incorporated into a digital document in this manner. The Service Controller (or other means) is then arranged to record which pattern is assigned to which printer. In such embodiments the fact that the pen 20 is used on a pattern can be related back to the printer that printed that pattern through the record on the Service Controller. Thus, the pattern itself encodes the identity of the printer which printed the form, etc. which uses that pattern. In some embodiments the specific positional dot pattern may be embedded in the printer (or other hard copy producing device).
It may be that the digital pen 20 has stored therein one or more identities which relate to printers (each printer type, or specific printers of the same or different types) which produce documents, the dot patterns of which are supported by the pen 20. In this way one could avoid the risks to the end user of using a printer which is inappropriate, and also reduce the costs of providing technical support to customers. In such an arrangement the pen 20 could be configured to disable the strokes capture if it is detected that the dot pattern does not include one of the predetermined identifiers. An advantage of such embodiments may be that they can help to prevent theft of the pen 20. Such embodiments may be arranged to allow any one pen 20 to work with predetermined printers and vice versa.
More particularly when a user uses the digital pen 20 on a document printed with a dot pattern, information captured by the pen 20 from the dot pattern is (eventually) transmitted to the PC 103, and that information in then processed by the Service Controller. The Service Controller program is configured to determine the two fields of information and then to extract the data therefrom. In the case of the printer-related information the Service Controller may cause the PC 103 to communicate that information to a service provider so as to enable any discounts to be applied to as appropriate (as could be the case for the method of controlling revenue as mentioned above).
If the printer-related information was information as to one or more of the printing condition variables or the status of the printer used for printing a document, for example, toner levels used, temperature, print quality, then the algorithms of the pen's firmware could be optimised (for example the strokes' capture) in response to such information. In other words one or more printer variables could be used for the pen positioning decoding algorithms to optimise, or ‘fine tune’, the pattern recognition.
It may be that the printer-related information comprises the time and/or date of printing of the document, and so the encoded information could be viewed as a time/date stamp.
In one embodiment it may be that only every other cell contains printer-related information.
In other words, it may be that a dot pattern encoding printer-related information is not embedded into the dot patterns for determining position, rather the two information types are printed as distinct and separate entities on a digital document.
In an alternative embodiment in the region 202 there is printed a bar code and/or 2D symbology which is indicative of printer-related information.
In yet a further embodiment it may be that the printer-related information is embedded with the positional information by dividing dot pattern cells into fields wherein the printer-related information is distributed over two or more cells. For example, a first cell may contain printer-related information comprising printer type or ID information, and a second cell (preferably an adjacent cell) may comprise a date and/or time stamp.
In another embodiment one or more additional dots may be incorporated into at least some of the cells of a dot pattern. Printer-related information may be indicated thereby by way of the position of one or more additional dots with respect to a cell and/or the number of dots in each cell and/or the pattern of such additional dots across multiple cells. An example of such an arrangement is shown in
In other embodiments a displacement of the dots relative to the grid may be changed. If the displacement were reduced when compared to
Returning to
In a further possible arrangement one of the printer 104 and the PC 103 has stored therein a number of ready-to-print documents, eg a form, which have already included therein printer-related information. Such an arrangement could be achieved after a form or other digital document has been created and printed, the form (with a dot pattern which includes printer-related information) is stored in a repository. It may be that the printer 104 comprises, or has associated therewith, a plurality of pre-prepared forms which a user can simply select and print. For example a printer may be provided with a user interface allowing a user to select the desired document. The user interface may comprise any one of a screen and an input means (which may be the screen).
It will be appreciated that when the printer-related information is encoded as a dot-pattern, or a part thereof, the information may merely be an index or precursor which has associated therewith, but stored elsewhere, a significant amount of information (which is retrieved subsequently, say by the PC 103, by use of a look-up table, database, or the like) that would otherwise be difficult to encode as a dot pattern.
Where, however, a significant amount of printer-related information is required to be incorporated with a document a further embodiment comprises a RFID chip which is attached to or embedded in the print medium. Such chips are known to have memories of 1 Mbit, dimensions of around 2 mm2 and memory input and output is achieved by close range inductive coupling. A specially adapted printer (not illustrated) could hold a stock of sheets of paper which have embedded therein such a chip. On printing a digital document onto such paper the printer would write printer-related information onto the chip for subsequent retrieval by way of a suitable reader device.
As such embodiments of this invention allow a positional dot pattern of a digital document (eg a form) to incorporate information which relates to at least one characteristic of the printing of the document when the document is printed by the addition of the printer related information. For example information (printer related information) relating to the manufacturer ID of the printer which printed the document, the printer model, who printed the document, when the document was printed, how the document was printed (eg toner, temperature, ink type(s) and/or generally quality level) and/or when the document was printed.