Patent Agent Finder
IP Tutor
The PatentlyProtected.com
IP Links
Territory Planner Tool
194UKPD               © 2004-5 PatentlyProtected.com
Back to directory index
ABSTRACT

A portable device adapted to extract barcode data from a digital image obtained optically from a barcode
displayed on a surface, to decode the barcode data to generate text data, and to display, send and or store the
decoded data. A computer program therefore and a barcode format therefore. It is applicable to the fields of
data acquisition, optical scanning, image analysis, data storage, imbedded data, communications networks,
commerce and advertising.


A portable barcode reader and a computer program for controlling a portable device to read barcodes.


This invention relates to a portable device adapted to extract barcode data from a digital image obtained
optically from a barcode displayed on a surface, to decode the barcode data to generate text data, and to
display, send and or store the decoded data. It is applicable to the fields of data acquisition, optical scanning,
image analysis, data storage, imbedded data, communications networks, commerce and advertising.

In the past various types of scanning devices have been described such as:
A first type of scanning device used predominantly in the retail industry is provided with a red (or infra-red) laser
adapted to scan linearly and a light sensing means adapted to measure reflected light as each scan
progresses. More advanced versions are adapted to perform such scans in many orientations in swift
succession. Such devices are connected to a computer which stores data obtained through the scanning
process. Although in some cases the laser scanner may be handheld, the data storage is performed by a
computer.
A second type of handheld scanning device is provided as an affordable alternative to a flat-bed scanner. Such
a device typically is drawn across a document to read a scanned image. By sensing reflected light along a
linear path as a function of time a computer such as a PC generates a two dimensional image of the
document. This apparatus is however not able to extract data embedded in the image. Software has been
written to control a computer to extract text from such a scanned image, however whilst this is suitable for
modern PC’s it would be extremely demanding for modern handheld devices.
Neither of these types of scanning devices is both portable and can scan graphic data representations such as
a barcodes.
In addition neither of these types of scanning devices can utilise a digital camera and or an image from a
digital camera to determine the data content of graphically represented data from a surface.
Further in addition neither of these types of scanning device is able to take advantage of the currently available
wireless telecommunication networks. This is a disadvantage because the currently available wireless
telecommunication networks provide an affordable and as yet untapped source of data transfer for graphic data
representations and respectively decoded data.
Yet further in addition neither of these types of scanning device is able to utilise a digital camera to obtain
decoded data. This is a disadvantage because the currently available digital cameras provide an affordable
and as yet untapped source of data acquisition for graphic data representations.
Even yet further in addition neither of these types of scanning device is able to provided decoded data from two
dimensional graphic representations of data.
Still yet further neither of these types of scanning device is able to provide decoded data from graphic
representations of data where the data is encoded in more than one colour band such as a tricolour format.
Figure 1 is a diagram of a known barcode reader. Such systems have the additional disadvantage of requiring
(or being) hardware which is not commonly available to most members of the public. The applicant is not
aware of this deficiency having been previously addresses, nor any proposed remedy or solution to this
disadvantage.

It is an object of the present invention to provide a portable reader for a barcode.
It is a further object of the present invention to provide a portable reader for reading and decoding data from an
optically obtained digital image of a barcode.
It is a yet further object of the present invention to provide a computer program for a portable device adapted to
allow the portable device to read a barcode.
According to a first aspect of the present invention there is provided a portable device adapted to:
accept an optically obtained digital image of a barcode;
extract a barcode from the optically obtained digital image of a barcode;
decode text data from the extracted barcode data; and
at least display, send or store the text data.
According to a second aspect of the present invention there is provided a method of extracting text data from an
optically obtained digital image of a barcode, having the steps of:
accepting an optically obtained digital image of a barcode;
extracting barcode data from the optically obtained digital image of a barcode;
decoding text data from the extracted barcode; and
at least displaying, sending or storing the text data.
According to a third aspect of the present invention there is provided a barcode readable by the portable device
of the first aspect according to the method of the second aspect.
According to a fourth aspect of the present invention there is provided a format for the barcode of the third
aspect.
According to a fifth aspect of the present invention there is provided a computer program adapted to control a
portable apparatus to perform the method of the second aspect.
According to a sixth aspect of the present invention there is provided a computer adapted to generate a
barcode according to the third aspect according to the barcode format of the fourth aspect.
According to a seventh aspect of the present invention there is provided a computer program for controlling a
computer to generate a barcode according to the barcode format of the fourth aspect.
According to an eighth aspect of the present invention there is provided a method of at least uploading or
downloading a computer program of at least one of the fifth and seventh aspects.
According to an eighth aspect of the present invention there is provided a digital image of a barcode of a third
aspect or a barcode according to the format of the fourth aspect.
According to a ninth aspect of the present invention there is provided a computer program for extracting
barcode data from a digital image of the eighth aspect.
According to a tenth aspect of the present invention there is provided a computer program for extracting
barcode data from a digital image of a barcode of the third aspect.
According to an eleventh aspect of the present invention there is provided a computer program for decoding text
data from barcode data of a barcode of the barcode format of the fourth aspect.
According to a first embodiment of the first aspect there is provided a portable device adapted to optically read
a barcode to produce a digital image, to read the barcode from the digital image, to decode the data from the
barcode, and to at least store or display the data encoded within the barcode.
According to a second embodiment of the first aspect there is provided a portable device adapted to optically
and digitally record a variation of a light intensity as a function of time, to read the barcode from the digital light
intensity variation recording, to decode the data from the barcode, and to at least store or display the data
encoded within the barcode.
According to a third embodiment of the first aspect there is provided a portable device adapted to optically
record a two dimensional digital image of a barcode, to read the barcode from the two dimensional digital
image, to decode the data from the barcode, and to at least store or display the data encoded within the
barcode.
According to a fourth embodiment of the first aspect there is provided a portable device adapted to optically
record a multicoloured two dimensional digital image of a multicoloured barcode, to read the multicoloured
barcode from the multicoloured two dimensional digital image, to decode the data from the multicoloured
barcode, and to at least store or display the data encoded within the multicoloured barcode.
According to a first embodiment of the second aspect there is provided a method of reading and decoding data
from an optically obtained digital image of a barcode, having the steps of optically recording a digital image,
reading a barcode from said digital image, decoding the data encoded within the barcode, and at least
displaying or storing the decoded data.
According to a second embodiment of the second aspect there is provided a method of reading and decoding
data from an optically obtained digital image of a barcode, having the steps of optically and digitally recording a
variation of light intensity as a function of time, reading a barcode from the digital light intensity recording,
decoding the data encoded within the barcode, and at least displaying or storing the decoded data.
According to a third embodiment of the second aspect there is provided a method of reading and decoding
data from an optically obtained digital image of a barcode, having the steps of optically recording a two
dimensional digital image of a barcode, reading the barcode from the two dimensional digital image, decoding
the data from the barcode, and at least storing or displaying the data encoded within the barcode.
According to a fourth embodiment of the first aspect there is provided a method of reading and decoding data
from an optically obtained digital image of a barcode, having the steps of optically recording a multicoloured
two dimensional digital image of a multicoloured barcode, reading the multicoloured barcode from the
multicoloured two dimensional digital image, decoding the data from the multicoloured barcode, and at least
storing or displaying the data encoded within the multicoloured barcode.

For a better understanding of the invention and to show how the same may be carried into effect, reference will
now be made, by way of example, to the accompanying drawings, in which:
Figure 1 is an illustration of a known barcode reader;
Figure 2 is an illustration of an example of a portable device adapted to read a barcode according to one
specific embodiment of the invention;
Figure 3 is a flow diagram of a method of reading a barcode according to one embodiment of the invention;
Figure 4 is an illustration of the flow of information formats in a barcode reader according to one embodiment
of the invention;
Figure 5 is an illustration of a barcode according to a barcode format of one specific embodiment of the
invention where different textures in the figure represent different brightnesses or different colours; and
Figure 6 is an illustration of a barcode according to a barcode format of another specific embodiment of the
invention where different textures in the figure represent different brightnesses or different colours.

According to any embodiment of the invention there may be provided a portable device adapted to accept an
optically obtained digital image of a barcode, to extract a barcode from the optically obtained digital image of a
barcode, to decode text data from the extracted barcode data, and to at least display, send or store the text data.
As an example the portable device may be a mobile phone, a personal digital organiser or a portable computer
such as a laptop running software adapted to control the portable device to extract a barcode from the optically
obtained digital image of a barcode, to decode text data from the extracted barcode data, and to at least display,
send or store the text data. The portable device may either comprise a digital camera, may be adapted to
accept a digital camera which a user may purchase jointly or separately or otherwise provide, or may be
adapted to accept a digital image from another device. An example of the latter case may be a digital camera
adapted to connect to a laptop by any means such as by exchange of a storage device, by a connector or via a
wireless connection such as a Bluetooth (TM) connection.
By means of an internal camera, an attached camera or any other means, the portable device such as a
mobile phone optically obtains or is provided with a digital image of a barcode.
The barcode may be one according to any known format and may encode any data whatsoever, but may
preferably be one according to a preferred two dimensional tri-coloured format lacking rotation symmetry.
The portable device having imaged a barcode or otherwise received an optically obtained image of a barcode
then extracts barcode data from the image of the barcode. The barcode data represents the variation of colour
and or brightness intensity as a function or position and typically would be in the simplest form that combined
with a knowledge of the barcode format and the format of the barcode data could be used to reconstruct the
barcode. Typically it will be a string of numbers representing each respectively related to the colour or
brightness intensity of each respective area of the barcode or to each respective distance between areas of the
barcode in a simple order. Generally it may be more complicated but there is little advantage to a more
complicated format for the barcode data.
The portable device may use edge recognition software to determine the layout of the barcode, and then
compare the intensities of each of three colours (in the case of a tri-colour barcode) with at least one reference
area to determine the code encoded therein. In this regard the barcode format may preferably have at least one
reference area which may be a blank space or a thick line or border, may be white, brown, grey or black or any
other predetermined colour. Preferably there may be at least two reference areas including a white reference
area and a black reference area. The reference areas may be utilised to ensure that the barcode format lacks
rotation symmetry.
The skilled computer programmer and barcode designer will be able to design a barcode format wherein at
least the brightness of an area, the colour and location of an area or the colour and size or shape of an area
represents information and each of these areas read in a preferably logical order encodes information
according to a predetermined format. There are an uncountable large number of ways in which data can be
encoded in a graphical representation. It will be trivial for a computer scientist to choose a suitable one and
indeed the computer scientist skilled in the art will be able to choose a format such as any of those described
hereinbefore and hereinafter having the attributes of being easy to read, easy to extract data from, and easy to
decode data therefrom without requiring an excessively exhaustive series of computations. Typically such a
format may be based on a grid of squares sized to be easily readable by commonly available digital cameras
on or for mobile devices such as mobile phones, rectangular so as to best utilise the most common shape of
such digital cameras. Additionally the format may take advantage of the tri-colour imaging capability of such
cameras and therefore encoded data in the colour of each square, each square being any of a preset number
of colours. The available set of colours may preferably be discrete so as to aid error-free colour detection and
may be limited to for example 7, 8, 26 or 27 colours which may preferable exclude particular colours used in
borders, and reference areas and may exclude the colour black, white or both black and white. Preferably there
may be separating grid lines in black, grey or white to aid easy edge detection and to identify the grid and the
squares. Alternatively or additionally there may be a rule or rules inherent in the barcode format which forbids
the use of identical colours in particular adjacent squares. Such a rule may specify that if any square may not
be the same colour as any square vertically or horizontally adjacent thereto.
The barcode format will preferably be designed to have a minimum resolution distance which an imaging
device must resolve clearly. Resolution in this case does not necessarily mean the distance resolved by two
pixels but the distance between two lines or edges which can be satisfactorily and clearly distinguished such
that the colour or brightness in the space between them can be measured accurately in adverse lighting
conditions with significant camera-shake at a distance great enough to image the whole barcode using digital
cameras commonly associated with common portable devices. In practice this may mean catering to a
resolution of 240 by 320 pixels with 256 colour resolution.
Potentially at least 35 pixels width will be needed to allow software to both detect edges and to measure
colours in predetermined spaces per encoding area. Currently available software may be able to resolve much
smaller areas but commonly available portable devices such as mobile phones do not have the processing
power to reach an optimum resolution. Accordingly a smaller than necessary number of squares will result in
shorter evaluation time, the latter being more important when obtaining information such as contact details
than a larger possible encoded string of characters.
Leaving space for a border with reference areas and additional space to allow for errors when a user points a
digital camera at the barcode, a barcode format could potentially have 5 by 7 squares each separated by thin
black lines, and could be read quickly and reliably with a 240 by 320 pixel camera, and the processing power of
a commonly available digital camera enabled mobile phone.
To compensate for the small number of squares it is advantageous to allow each square to code for more than
one binary number. This is a clear break from traditional barcodes which normally only code in black and white.
If each square is filled with a colour which may be any of a predetermined set such as for example any colour
where each of three composite colours is either at a maximum value or a minimum value, but the square may
not be black, then there are 7 possible colours in each square. 7 possible colours in each of 35 squares
allows the potential encoding of 35 base 7 characters or 63 base 6 characters without compression. The use
of further data compression techniques, such as predictive text techniques and characters used to shift
between sets of characters and cases, should result in a substantial increase this figure substantially.
The result of choosing a suitable format should therefore be that most commonly available digital camera
enabled mobile phones could run software enabling the rapid analysis of a digital image of such a barcode to
provide enough information to include at least name and contact information. This would be adequate to
provide for example a text business card on any surface the encoded data of which any user with a commonly
available digital camera enabled mobile phone running suitable software would be able to record.
Preferably therefore there may be software provided which on installation to a modern camera enabled
software enabled mobile phone will enable the phone to collect such information automatically.
Such software may preferably be adapted to provide a simple means for the user to select a barcode function.
All that the user would then need to do would be to aim the camera at the barcode and select the barcode
function. The phone would then image the barcode, extract barcode data from the barcode, decode the barcode
data to reveal the encoded text data, delete the image of the barcode, display the text data and offer to store or
send the text data.
Such software would preferably be then made available for download from the internet to run on mobile
phones.
Another preferred colour barcode format would preferably encode data in the colour of each square of a
rectangle of squares. A rectangle may be preferable to a square as commonly available digital cameras at low
resolutions are typically rectangular. The predetermined colour format may be limited to a small number of
colours so that the barcode may be imaged in poor light conditions such as under low or non-white ambient
light. As an example there may be allowed three possible brightnesses (100% brightness, 50% brightness
and 0% brightness)of each of three colours in each square except the options white and black.
The portable device having extracted barcode data from an optically obtained image of a barcode, then reads
text data encoded within the barcode data the encoding format may for example be ASCII, but preferably will be
a more specialized format which inherently allows a greater quantity of text data to be encoded within a
barcode. The barcode data format may be orientated to text such as may be expected to be desirable to display
on a surface such as contact information. The barcode data format may be used with a character encoding
system other than ASCII with numbers allocated to represent the characters 0 to 9, a to z, ”.”, “,”, “?”, “@”, “+”, “:”,
“&”, “/”, “-“ and “””, as well as number allocated to indicate a new line, upper case from here on, lower case from
here on, the next character only will be upper case, the next character will be from an extra set of characters
such as the ASCII character set or an additional set of currency characters, the same applying to following
characters, a return to a basic character set. Obviously this is subject to preferences and opinions of how best
to encode text, of which there are millions of possibilities, and on which subject the skilled programmer will no
doubt be able to come to his own conclusion. Reference may be made to any of the many known works
regarding data compression of text, such as predictive text, and standard data compression methods.
A summary of the ways in which text can be encoded in numbers is not appropriate in this application, and the
computer scientist skilled in the art will have no trouble choosing and or using a suitable system.
A method of using the apparatus according to one general embodiment may include the step of pointing the
digital camera housed in or attached to a portable device at a barcode and activating a computer program
running on the digital camera equipped portable device.
The computer program may preferably be adapted such that on such activation the computer program will
control the portable device to activate the digital camera to take a digital photograph and to store the digital
image in a memory storage device within or attached to the portable device. The computer program may then
automatically analyse the digital image to identify a barcode according to a barcode format which the computer
program is adapted to analyse.
On identifying a barcode within the digital image the computer program will automatically identify areas the any
of size, shape, colour or brightness encode data according to the barcode format, and measure such any of
size, shape, colour or brightness as required to extract barcode data from the barcode. The computer program
then automatically converts or decodes the barcode data to text data encoded therein and controls the portable
device to at least display the text data on a screen. The computer program may then preferably control the
portable device to offer the options of any combination of sending, storing and deleting the text data. The
offered modes of sending the text data may preferably be dependent upon the modes of sending data available
to the portable device which may preferably include any combination of sending data by SMS or MMS, by
Bluetooth (TM), by Infra-red, as an electronic business card, by email, via a data cable to a computer, by GPRS,
by any file transfer protocol and by 80211 type connection.

Description of the Preferred Embodiments.
An embodiment of this invention will now be explained with reference to the drawings. This invention is for use
as a portable barcode reader.
Figure 2 shows an illustration of a portable barcode reader according to one embodiment of the invention.
The portable device is adapted to image a barcode optically and digitally, and to store the resulting digital
image. Software operating on the portable device analyses the barcode in a manner suited to analysing a
preferred format, and reduces the image data to barcode data representing the arrangement of preferably
coloured areas of the barcode.  
Preferably the software is suitable for installing on a mobile phone or personal digital organiser, and adapted
to use a digital camera contained within or attached to the portable device.  
The barcode format may preferably be a tricolour grid and preferably has an orientation identifying means such
as a distinctive feature either lacking rotation symmetry or placed such that the barcode layout lacks rotation
symmetry.
Software operating on the portable device decodes the barcode data to text data in a manner suited to a
preferred barcode format. The portable device then displays the text data on a screen and offers a user the
options of storing the text data in the portable device or sending the text data to another device according to the
data transmission capabilities of the portable device.
The offered modes of sending the text data may preferably include any of sending the data as a “text” or “SMS”,
via Bluetooth (TM) and via email.  



CLAIMS

1. A portable device adapted to:
accept an optically obtained digital image of a barcode;
extract barcode data from the optically obtained digital image of a barcode;
decode text data from the extracted barcode data; and
at least display, send or store the text data.

2. A portable device of claim 1, comprising or adapted to accept a digital camera adapted to optically obtain and
provide the optically obtained digital image of a barcode.

3. A portable device of claim 1 or 2, wherein the optically obtained digital image is a tricolour two-dimensional
image obtained by a digital camera.

4. A portable device of claim 1, 2 or 3 comprising a storage medium storing a computer program, and the
portable device is adapted to run the computer program to extract barcode data from the optically obtained
digital image of a barcode, and to decode text data from the extracted barcode data.

5. A portable device of any one of claims 1 to 4, wherein the portable device is at least one of a mobile phone, a
personal digital organiser, a laptop, a notebook, a digital camera and an audio player.

6. A portable device of any one of claims 1 to 5, adapted to transmit information by a wireless connection.

7. A method of extracting text data from a barcode, for a portable device, having the steps of:
accepting an optically obtained digital image of a barcode;
extracting barcode data from the optically obtained digital image of the barcode;
decoding text data from the barcode data; and
at least displaying, sending or storing the text data.

8. A method according to claim 7, having the step of digitally imaging a barcode with a digital camera.

9. A method according to claim 7 or 8 wherein the digital image is a tricolour two-dimensional image obtained
by a digital camera.

10. A method according to claim 7, 8 or 9, wherein the step of at least displaying, sending or storing the text
data includes at least displaying the text data on a screen, sending the text data includes sending the text data
by at least one of a cable to a computer, as a text or an SMS or an MMS, or by a Bluetooth or infra-red
connection.

11. A method of controlling at least one of a mobile phone, a personal digital organiser, a laptop, a notebook or
a personal audio player to perform the method of any one of claims 7 to 10.

12. An at least two dimensional barcode readable by the portable device of one of claims 1 to 6 wherein data is
encoded by at least contrast variations in two dimensions.

13. A multicoloured barcode readable by the portable device of one of claims 1 to 6, wherein data is encoded
by colour variations.

14. An at least two dimensional tricolour barcode readable by the portable device of one of claims 1 to 6
wherein the data is encoded by at least contrast variations in at least two dimensions of at least three colours
or colour bands.

15. A barcode format for the barcode of any one of claims 12, 13 and 14.

16. A computer program adapted to control a portable apparatus to perform the method of one of claims 7 to 11.


17. A computer program adapted to control a portable device of one of claims 1 to 6.

18. A computer program adapted to generate a barcode according to the barcode format of claim 15.

19. A computer adapted to generate a barcode according to the barcode format of claim 15.

20. A method of at least uploading or downloading a computer program of one of claims 16, 17 and 18.

21. A digital image of a barcode of any one of claims 12, 13 and 14.

22. A computer program for extracting barcode data from a digital image of a barcode of any one of claims 12,
13 and 14.

23. A computer program for decoding text data from barcode data of a barcode of the barcode format of claim
15.

24. A method of printing a barcode according to the barcode format of claim 15.

25. A portable device as hereinbefore described with reference to figures 1 to 6.

26. A method for controlling a portable device as hereinbefore described with reference to figures 1 to 6.

27. A computer program for controlling a portable device as hereinbefore described with reference to figures 1
to 6.

28. A barcode as hereinbefore described for use with a portable device as hereinbefore described with
reference to figures 1 to 6.
© 2005 PatentlyProtected.com   All rights reserved
Nothing on this site constitutes legal advice, an offer, an offer to treat or a legal relationship.
Always check with your IP consultant.


Example Patents
Patent Fee Estimator
IP Guide
IP Formats Tool
Example Patents
Abbreviated Law
IP Q&A Forum