U.S. patent application number 14/850734 was filed with the patent office on 2015-12-31 for barcode device.
The applicant listed for this patent is Equitable IP. Invention is credited to Scott C. Harris.
Application Number | 20150379154 14/850734 |
Document ID | / |
Family ID | 29737065 |
Filed Date | 2015-12-31 |
United States Patent
Application |
20150379154 |
Kind Code |
A1 |
Harris; Scott C. |
December 31, 2015 |
BARCODE DEVICE
Abstract
Bar codes used for various applications. A bar code can be used
for biometrics, or for computer data entry. A special bar code is
described that has additional information, but can be read by other
readers.
Inventors: |
Harris; Scott C.; (Rancho
Santa Fe, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Equitable IP |
|
|
|
|
|
Family ID: |
29737065 |
Appl. No.: |
14/850734 |
Filed: |
September 10, 2015 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
13788264 |
Mar 7, 2013 |
|
|
|
14850734 |
|
|
|
|
13425612 |
Mar 21, 2012 |
|
|
|
13788264 |
|
|
|
|
13083558 |
Apr 9, 2011 |
8141783 |
|
|
13425612 |
|
|
|
|
12103815 |
Apr 16, 2008 |
7963446 |
|
|
13083558 |
|
|
|
|
10714097 |
Nov 14, 2003 |
7967207 |
|
|
12103815 |
|
|
|
|
09618988 |
Jul 18, 2000 |
6666377 |
|
|
10714097 |
|
|
|
|
Current U.S.
Class: |
235/375 |
Current CPC
Class: |
G06K 7/10881 20130101;
G06K 19/06028 20130101; G06K 19/06112 20130101; G06K 7/10722
20130101; G06K 7/1417 20130101; G06K 19/06056 20130101; G06F
16/9554 20190101; G06K 19/06037 20130101; G06F 16/23 20190101 |
International
Class: |
G06F 17/30 20060101
G06F017/30; G06K 7/10 20060101 G06K007/10 |
Claims
1. A barcode scanning system comprising: a mobile device able to
make a telephone call; the mobile device having an electronic
camera capable of capturing a two dimensional barcode and a display
screen capable of displaying said barcode as an image viewable by a
user of the mobile device, said two dimensional barcode comprising
a first value comprising an indication of a command and a second
value comprising a first pointer directly addressing an Internet
database entry of a database publically available on the Internet,
said mobile device able to decode the two dimensional barcode and
access the first database entry using said command and the first
pointer, the first database entry comprising a uniform resource
locator (URI) comprising a second pointer, wherein the mobile
device reading the two dimensional barcode can use the command and
first pointer to address the first database entry and be directed
to the location of the URL stored in the first database entry.
Description
[0001] This Application is a division of U.S. application Ser. No.
13/788,264 filed Mar. 7, 2013, pending, which is a continuation of
U.S. application Ser. No. 13/425,612 filed Mar.21, 2012, which is a
continuation of U.S. application Ser. No. 13/083,558 filed Apr. 9,
2011, now U.S. Pat. No. 8,141,783 issued Mar. 27, 2012, which is a
continuation of U.S. Ser. No 12/103,815 filed Apr. 16, 2008, now
U.S. Pat. No. 7,963,446 issued Jun. 21, 2011, which is a
continuation of Ser. No, 10/714,097 filed Nov. 14, 2003, now U.S.
Pat. No. 7,967,207 issued Jun. 28, 2011, which is a division of
Ser. No 09/618,988 filed Jul. 18, 2000, now U.S. Pat. No. 6,666,377
issued Dec. 23, 2003, the disclosures of all of which are herewith
incorporated by reference in their entirety
BACKGROUND
[0002] The present application relates to bar codes, and to
scanning of bar codes and other scannable type codes to obtain and
enter information.
[0003] Bar codes are often used in scanning of information. A bar
code provides information based on sizes of its different
parts.
[0004] Typical linear/one-dimensional bar codes provide white and
dark bars forming, a bar code image. Linear bar codes may include
Universal Product Codes (UPCs), Type 39 bar codes and type 128 bar
codes. Two-dimensional bar codes, including a "matrix" code and the
"Gettysburg Address" type bar code, are also known. Bar codes have
been used for many purposes including inventory control.
SUMMARY
[0005] The present application teaches using scanned information
from a scannable code to enter special kinds of information. One
embodiment describes using the scannable code in place of a photo.
Another embodiment describes bar codes being sent as part of a
message, where the message can be an advertisement, an email, or
the like. The information in the bar code relates to some aspect of
the message. For example, one embodiment describes using the bar
code to represent a meeting time that is described in an email.
Another embodiment describes using the bar code to represent a time
and place of a function being advertised, e.g. an event. The bar
codes can represent the information itself, or can represent an
address from a look up database which includes more information
about the bar code.
[0006] Another embodiment describes special kinds of bar codes
which store additional information in a different way than
previously carried out. One of these information types is a
progressive information type where the bar code can be read by
either a linear or a two-dimensional bar code scanner.
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] These and other aspects will now be described in detail with
respect to the accompanying drawings, wherein:
[0008] FIGS. 1A and 1B show an image used in a cellular telephone
and/or a portable computer;
[0009] FIG. 2 shows a flowchart of operation of the sensor;
[0010] FIG. 3 shows a diagram of encoding of a photo;
[0011] FIG. 4 shows a message with an associated bar code entry
part;
[0012] FIG. 5 shows a client-server Internet embodiment;
[0013] FIG. 6 shows bar code meeting system; and
[0014] FIGS. 7A-7C show ne v specialized bar code schemes.
DETAILED DESCRIPTION
[0015] The present application teaches using a symbolical code,
such as a bar code, to enter information into a computer device.
The computer device can be a portable computer which is described
herein as being any computer in which the display and user
interface are within the same housing, or a personal digital
assistant which is a smaller version of the personal computer,
which again has data entry parts and display within a single
housing, but has outer perimeters which are sized to fit any user's
hand, e.g. less than ten inches by ten inches. Another embodiment
describes a special kind of PDA which includes a portable telephone
such as a cellular telephone, included therein.
[0016] The bar codes can be imaged/scanned in a number of different
ways. One embodiment discloses using a camera to input and decode
these bar codes. The embodiments are shown in FIGS. 1A and 1B. FIG.
1A describes using a personal digital assistant 100 as the input
device. One preferred input device of this type is the Palm V.TM.
type hand held computer. A bar code scanner can be used, such as
the commercially available Symbol Technology SPT 1700.
Alternatively, a camera add-on unit can be added to the Palm V and
used as described herein. The PDA includes a screen 145 and user
interface 146 all within the same housing 99.
[0017] FIG. 1B shows the client being a cellular telephone which
also may include a screen 145 and user interface 150. The cellular
telephone can be associated with either a dedicated bar code
scanner or an image sensor 160 of the type used to obtain
photographs for video telephony.
[0018] In both devices, the input device obtains either a scan of
the bar code, or an image of the bar code on a medium. The medium
can be a display screen such as a computer display screen, or can
be a sheet of paper. The information in the bar code is entered
into the computer.
[0019] If a dedicated bar code scanner is used, then the value of
the bar code is automatically output from the scanner by the
operating system associated with the bar code scanner. FIG. 2 shows
the flowchart which is used to obtain scanning information from a
camera.
[0020] First the scan of the barcode image is acquired at 200. This
image may be a pixel based bitmap.
[0021] Each bar code has certain rules constraining how the bar
code is recognized. In two-dimensional bar codes, the
spacing/pitch/size of and between the black and white bars often
represent the information. Certain rules constrain what is a legal
bar code. One such rule is the dead space rules, which defines
legal characteristics of the edges of the bar code. The following
description defines using the dead space rules, however, it should
be understood that other constraining rules could alternately be
used.
[0022] The bitmap is processed at 205 to look for dead space 208 in
the bar code. The amount of spacing, which represents sizes of
white and black parts, is then determined. The number of pixels
which will represent each part can be ascertained. The image is
then processed to find the number of white or black spaces 215, the
next number of white or black spaces 220, and continuing until the
ending dead space 222. Each blank space can be defined as being a
certain number of pixels in the image sensor 118.
[0023] Image straightening algorithms can be used to rotate the
image and straighten it in order to avoid improper values.
[0024] Then, these raw values at 210 that are indicative of the
content of the bar code can be decoded by a conventional bar code
decoding technique at 215. This system describes using an
alphanumeric bar code such as the type 39 or type 128 bar code. 215
shows decoding these raw values to obtain the output representing
the content of the bar code.
[0025] In this way, the image sensor which can be used for video
output in a portable telephone, or for obtaining for digital
pictures in a PDA, can become a bar code scanner. This system also
facilitates using the special kinds of bar codes which are
described herein with reference to the additional embodiments.
First Embodiment
Personal Identification
[0026] Personal cards such as driver license's and credit cards may
include a user's personal identifying information. Signatures are
conventionally used, but can be imitated by a clever forger.
Photographs can also be used. However, a forger may slice out the
photograph and replace it with a duplicate in order to spoof the
system. The present application defines printing a bar code on the
personal identification card. The bar code can be encrypted, and
can include additional personal identifying information.
[0027] U.S. Pat. No. 5,420,924 describes putting a bar code on a
personal identification card. However, this system recognized that
not enough information can be stored. Therefore, this system took a
slice of the overall image.
[0028] The information which is stored using this technique can
include any personal identifying information, including a picture
of the user's face, fingerprint information, dynamic information
about the user's signature, i.e. the way that the user actually
makes the signature. This can include the speed of signing, the
technique of holding the pen, and the like. These latter features
are more difficult for a forger to copy. This information is stored
as data (e.g. dv/dt of the pen, time, angles, etc.) and stored in
the bar code. If an image is used, the image should be of reduced
resolution e.g. 20 by 20 pixels. Fingerprints can be stored as
vectorized images of the fingerprint (e.g. using Adobe Streamline)
or the like. The information is also preferably encrypted using a
one way code e.g. such as public key cryptography. All of the
public, that is every decoding station, is given the decoding key.
Only authorized coders, such as the issuers of the cards are given
the encoding key. An unauthorized user cannot make an authorized
item of information in this way.
[0029] Each item of information can be tested using a hash
function. Only information from the authorized user will pass the
hash function.
[0030] The system described herein uses a type 39 bar code. A
typical type 39 bar code has an unlimited number of total digits.
Each digit can represent any of 0 through 9, A through Z or any of
five punctuation characters. According to the present system, it is
recognized that this combination provides the possibility of 41
different values for each digit.
[0031] FIG. 3 also shows the encoding operation. The bytes
representing the code, shown as 320, are converted into a base N
number at 305, where N is preferably the highest base that can be
represented by all of the digits of the bar code or at least 80% of
the digits. Here, a base 41 number is used. The digits zero through
9 represent their own value zero through 9, A through Z represent
10.sub.41 through 37.sub.41, and the punctuation characters
represent, respectfully, 38.sub.41 through 41.sub.41. This same
scheme can be used for any base of numbers.
[0032] At 310, the file representative of the personal information
is converted to base 41. This is then encoded as a type 39 bar code
at 315. The value is then encrypted at 320 using a one way
function, and stored on the credit card at 325. Since the type 39
bar code has no limit on length, any amount of information can be
stored in this way.
[0033] The bar code is read out and reconverted back to the
original number at 330 and is used to drive a display device shown
as 335 to display the characteristics. In the case of dynamic
signature information or other such information, the stored
characteristics may be directly compared against the sample instead
of being displayed.
[0034] Alternatively, the information can represent a pointer to a
database, e.g. a publicly available database. This database can
later be accessed as part of an information transfer.
[0035] in this system, the information can represent an address,
e.g. a number that is associated with a special function. The
address is used to access a publicly available information network,
e.g. by direct connection or by the Internet. As an example, the
bar code may store an address command AD, followed by a base 39
alphanumeric value 4DMKDP. The bar code is scanned to obtain the
command to obtain the image from address 4DMKDP. The value 4DMKDP
may be convened to hex or binary prior to the request.
[0036] The database returns the image of the person.
[0037] Another embodiment shown in FIG. 4 uses bar codes to enter
information on into the computer. The FIG. 4 embodiment stores
scannable non-alphanumeric information, e.g. bar code information,
as some part of a communication--here an advertisement. The
advertisement, can be a print advertisement, a television
advertisement, or an Internet advertisement for example. The
advertisement 400 includes a bar code 405 therein. The bar code 405
is associated with the advertisement, and includes some additional
information about the advertisement. For example, the bar code may
include the web site address of the company preparing the
advertisement, or appointment information about the advertisement,
or a "vcf file" or the like which is an importable file with
address information about the company or author sponsoring the
advertisement.
[0038] In operation, the user brings one of the clients, either the
cellular telephone 310 or PDA 315, into range of the bar code 405.
The client reads the bar code and decodes it as noted above. The
decoded information can represent ASCII information, a compressed
file such as a zip file, G code information, or any other
compressed or non-compressed information. The contents are
automatically input into the client. The contents can directly
represent that information, in which case the information is input
into the client. For example, the information can directly
represent the ASCII information indicating the website.
Alternatively, the information can represent a pointer to a
database, e.g. a publicly available database. This database can
later be accessed as part of an information transfer.
[0039] For example, Palm systems enable a hot sync where the
portable computer is synced with another computer that is running
hot sync software.
[0040] in this system, the information can represent a cue, e.g. a
number, that is associated with a special function. The cue is used
during a hot sync to access a publicly available information
network, e.g. by direct connection or by the Internet. The cue 431
is sent over the Internet 432 to the server 450, and addresses more
detailed information in a memory of the server. The server returns
that information as 455, and the client receives the more detailed
information.
[0041] As an example, the bar code may store an cue command CX,
followed by a base 39 alphanumeric value 4DMKDP. The bar code is
scanned to obtain the command to cue to value 4DMKDP during the
next hot sync. The value 4DMKDP may be converted to hex or binary
prior to the hot sync.
[0042] During hot sync, the database returns the full text of the
detailed information, e.g., "visit the website at
http://www.pdascan.com/.about.more to get a free gift." Any desired
length or size of information can be returned.
[0043] As described above, therefore, this system enables the
information in the bar code to be used as an address for look up
address from a database. The database can be accessible over the
Internet. During a later hot sync, this information can be
translated into more detailed information which can be returned
from the hot sync.
[0044] This information can be a hyperlink. The hyperlink can also
use the techniques disclosed in co-pending application No.
60/161,700, entitled Internet Browsing From A Television, in which
the origin of the hyperlink is included within the hyperlink
itself. In this embodiment, a hyperlink may be stored for later
visitation. The hyperlink also include a code therein which
indicate the source from which the hyperlink originated. For
example, the source may indicate the name of the print magazine, or
the web page from which the hyperlink originated, or the like. In
this way, the advertisement, service can keep track of which
advertising forms produce the best results. In addition, this
facilitates a paradigm whereby the advertiser pays an advertising
fee which is based on the number of website visits from the
advertisement.
[0045] FIG. 5 shows using this system as part of a communication
which is an email. A displayable bar code 500, in image format,
e.g. a GIF, JPEG or PDF, is stored as part of the message. This bar
code is then displayed in the specified format to a user. The bar
code includes the information described above.
[0046] FIG. 6 shows an alternative display which is presented to a
user. The email is displayed with its usual text part 600, which
describes text of the message. The text indicates information about
something to happen in the future e.g. a meeting. If the user wants
to go to the meeting, they are invited to scan the bar code 605.
The bar code, once scanned is translated into information for a
PDA, e.g. in Palm or Outlook format. The information may say "bar
code meeting"; Thursday 4:00-6:00 p.m. This information is then
automatically input into the PDA. As above, this text can represent
the actual text information, as is shown in FIG. 6. It can
represent a compressed form of the actual information, such as
compressed using G code. Alternatively, the information can
represent a cue address to be used for a look up table during a hot
sync or other information transfer, as previously described herein.
This information can be printed, and scanned off the printer, or
can be scanned directly off the screen. The system shown in FIG. 6
shows scanning the code to input the information.
[0047] The communication can also include auxiliary codes 610. A
first code can be scanned to send an automatic acceptance or
declining by email. The format for the email acceptance can also be
included within the code, or can simply be a pre-stored email
saying a user name A (filled in by the scanning software) has
accepted your meeting B (filled in from the information on from the
bar code).
[0048] The present system defines using bar codes to enter
relatively large amounts of information into the computer. FIGS. 7A
through 7C shows special new bar codes which are described
according to the present system, which enable this storage of
additional information.
[0049] Many different kinds of bar codes, that allow storing larger
amounts of information, are known, One such bar code is the
"Gettysburg Address" type matrix code. This requires, however
specialized scanning equipment. This equipment represents a capital
investment and has been slow to catch on. The present system
teaches, in FIG. 7A, a special bar code which includes increased
capacity bar code information, as well as backwards compatibility
with previous bar code scanners. The code shown in FIG. 7A includes
two parts. A first part 710 is found as legal when scanned for
linear codes. A second part 710 registers as invalid/illegal when
scanned in this way.
[0050] The linear part 700 is a standard and commercially available
linear bar code such as a UPC, Type 39 or Type 128 bar code. A
conventional linear bar code reader will read and decode this
portion. Part of the standard for these bar codes includes certain
spacing requirements. For example, dead space at the edges of the
bar code may be one of the required characteristics. These are
shown as 702, 704. When this dead space is detected, and all other
aspects of the bar code are detected, the bar codes can be read and
decoded, shown as 711.
[0051] The remainder of the bar code may be a code which fails the
decoding requirements for the linear bar code 700. This failure
type bar code can represent a matrix code, for example, of any
desired type. For example, this can be a Gettysburg Address or
Vericode type matrix code. In addition, however, it can be a
special kind of matrix code in which each bar shown as 720 is
itself made up of another bar code extending in the vertical
direction. The spacing between the bars 720, 722, 724 may also
include information, Within each bar 720, for example, the pattern
also provides additional information. In this way, the bar code is
actually formed of two different bar code scans. A scan in the
direction 730 obtains first information, and a scan across each
line in the direction 732 obtains additional information. After
scanning the line 732, the system scans along the line 734 to
obtain the next item of information, If this is obtained from a
camera, however, the whole image can be obtained and later
processed using processing techniques to obtain the scan
information. In addition, scan information can be obtained from the
linear bar code part 700. FIG. 7A shows the linear part taking up
approximately twenty-five percent of the area of the entire bar
code. However, the two-dimensional scan can take up much less area,
e.g. as little as five to ten percent. When scanning with a
conventional bar code scanner of the linear type, the bottom
portion may be scanned to obtain the two-dimensional bar code
information. Enhanced bar code information can be obtained from the
additional portion. This enhanced information can be additional
information, or it can be the same information as in the first bar
code portion, as well as additional information.
[0052] In the context of this system, the linear bar code
information can represent an address for look up code of the type
described above with reference to FIG. 4. The enhanced or
non-linear information 710 can represent the total information. A
person with a sufficiently advanced bar code scanner can read the
entire information. A person with only a linear bar code scanner,
however, may scan only the information 700, and then updates the
information via a hot sync.
[0053] An additional way of using this information, for example for
scanning products, is also contemplated. Scan part 700 may include
a Universal Product Code or UPC. Scanning part 710 may include
additional information about the product, such as a description, or
picture. The picture of the product may be displayed to the sales
clerk, so that the sales clerk can verify that the product being
purchased is actually the product that the user is presenting. Both
parts of the bar code may represent information about the product.
The part 700 represents basic information and the part 710
represents advanced information.
[0054] A second enhanced bar code shown in FIG. 7B is a standard
linear bar code or two-dimensional bar code with additional
information stored in the gray scale. FIG. 7B show the system
configured as a two-dimensional bar code. A first stripe 700
represents a dark (i.e. non-white) stripe. A second stripe 702
represents a white stripe and a third stripe 704 representing
another dark stripe. Similarly, the code 699 alternates between
white stripes and dark stripes throughout the entire code. In this
embodiment, however, the dark stripes 700 are not actually black,
but may be a color that s a shade of gray. For example, 16 or 256
different grayscale levels may be defined. Each time a code is
detected, its grayscale value is obtained as a numeric value.
Similarly, the white stripes 702, 706 may actually be a shade of
gray. In this system, rather than simply obtaining spacing
information, spacing information and grayscale information are both
obtained from the scanning of the code. The pay scale information
can be obtained when a camera type imager is used, since the color
of the stripes can be obtained in addition to the spacing of the
stripes. An alternative is that the white areas 702 are not pure
white, but are rather some shade of white which can be
characterized between zero and sixteen for example.
[0055] Information is obtained from both the shade(s) of gray of
the dark portion(s), the white portion(s), and the spacing.
[0056] In one embodiment, the sequence of the numbers defining the
gray scale levels provides the information. For example, hex value
is defined by grayscale values of each gray line. This information
is used totally separately from the information that is obtained
from the linear barcode information.
[0057] Yet another alternative does not use black portions and
white portions, but rather uses alternating grayscale portions,
with each alternating portion representing a grayscale value.
Preferably a system is used whereby the gray scale is itself coded
as either the gray scale or the compliment of the gray scale to
provide maximum contrast between the bars 700, 702.
[0058] An alternative system shown in FIG. 7C uses color bars in
the bar code. Not only is the spacing between the bars determined,
but also the numerical value representing the bar values
themselves. For example, each color can be represented by an eight
bit value. That eight bit value is obtained, and used as part of
the retrieved information, The eight bit value can represent 2 hex
digits. Again, this information can be used as supplemental to the
spacing information obtained by the bar code.
[0059] In the latter two systems, color is described as being used
with a two-dimensional bar code but can also be used with a
three-dimensional bar code. In addition, in this system, the color
and the spacing can both be used. By taking the available number of
digits, and representing the color by that available number of
digits, a number in base n, where n can be a very large number, can
be obtained. This facilitates storing even more information into a
bar code.
[0060] These codes preferably follow the paradigm described above,
that scanning with a monochrome scanner may return only a part of
the information, e.g. an address to be later used for lookup. The
color/grey scale information can be used to provide the actual
information. For example, the digits represented by the grey scales
or colors can be concatenated to form the overall information.
Scanning the code gives the bar code information; while looking at
the detailed information gives the enhanced information.
[0061] Any of these enhanced information codes can be used with the
dual information code described above.
[0062] Other embodiments are contemplated.
* * * * *
References