Ez code

Материал из Википедии — свободной энциклопедии
Это старая версия этой страницы, сохранённая Zaxdo (обсуждение | вклад) в 07:11, 26 августа 2010 ( Новая страница: «{{В инкубаторе}} [[Image:EZcode.png|thumb|right|Направляющая таблица в EZ коде вместе с тремя пик...»). Она может серьёзно отличаться от текущей версии.
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску
Направляющая таблица в EZ коде вместе с тремя пикселями данных/контрольной суммы

EZcode -двухмерный штрихкод созданный компанией ETH Zurich и эксклюзивно лицензирован компании Scanbuy в 2006 году. Этот код был создан специально для смартфонов с камерой из-за его более простой конструкции по сравнению с другими 2D штрхкодами. The EZcode is open in the sense that the general specifications of EZcode are published and the IP rights owned by Scanbuy, Inc. are not currently enforced[1]. The specifications to encode and decode EZcodes are openly available. 

EZcode Properties

Size: 11x11 modules ("giant pixels")
Payload Area: 83 modules
Data capacity: 76 bits
Minimum Physical Size: 0.5 inches or 1.27cm
Mode Used:  Indirect (the code does not store the data, just an index number into a central database run by Scanbuy Inc.)

Decoder software

Scanbuy has made EZcode scanner software available for most camera phones and it is typically called ScanLife. The  software decodes the image on the device, uploads the code index to a server which is sent to a database and then returns the listed command and data back to the phone.  This all occurs in a short period of time, but the handset must have a data connection.

Usage

EZcode has been massively marketed by using it in various 3rd party campaigns in various countries including the United States, Mexico, some Latin American countries, Spain, Denmark, Italy and France. 

Benefits and problems

Benefits

  • A small camera or printer resolution is enough to encode an arbitrarily larger url or command due to the database lookup.
  • The size or density of the code can remain the same, independent of the amount of information associated with it because of the database lookup. 
  • Scanbuy's income from companies paying for serial numbers in its database allows it to develop and maintain free scanner software and other utility programs for everyone.
  • Scanbuy scanner software has already been installed on many phones and can be freely downloaded for almost any phone capable of running such a program

Problems

  • The entire system stands and falls with the ability of Scanbuy to stay in business and keep its lookup servers running reliably and efficiently.
  • Privacy: Scanbuy routinely maps the identity of the user to personal information and includes at least age, gender and household income in detailed access logs and url redirects provided to all paying bar code publishers.  However, this data is not connected to an individual since they do not collect phone number or other personal identifier.
  • The EULA provided with Scanbuy's scanner software allows Scanbuy to change the EULA after acceptance without notifying the user.
  • The user will require a data (internet) connection to access the code.  Depending on their phone plan, someone may need to pay operator fees to make that connection.

Technical description

The following is based on the specification published by Scanbuy[2].

An 11x11 EZCode consists of 11x11 modules (large pixels) arranged in a grid as follows:

y \ x .. .. 0 1 2 3 4 5 6 7 8 9 10 .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
0 .. .. X __  0  1  2  3  4  5  6 __ X .. ..
1 .. .. __ __  7  8  9 10 11 12 13 __ __ .. ..
2 .. .. 14 15 16 17 18 19 20 21 22 __ X .. ..
3 .. .. 23 24 25 26 27 28 29 30 31 __ X .. ..
4 .. .. 32 33 34 35 36 37 38 39 40 __ X .. ..
5 .. .. 41 42 43 44 45 46 47 48 49 __ X .. ..
6 .. .. 50 51 52 53 54 55 56 57 58 __ X .. ..
7 .. .. 59 60 61 62 63 64 65 66 67 __ X .. ..
8 .. .. 68 69 70 71 72 73 74 75 76 __ X .. ..
9 .. .. __ __ 77 78 79 __ __ __ __ __ __ .. ..
10 .. .. X __ 80 81 82 __ X X X X X .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
.. .. .. .. .. .. .. .. .. .. .. .. .. .. .. ..
Legend
Symbol Explanation
. Minimum of 2 modules of white space around the code[3]
_ Always white module as part of synchronization pattern
X Always black module as part of synchronization pattern
75 Data bit no. 75, bit 0 is lsb, bit 75 is msb
76 Error checking bit no. 76, bit 76 is lsb, but 82 is msb

Black and white may be swapped (inversed) if the inversion includes the 2 modules of white space around the code[3]

The error checking bits are computed by taking the sequence of all numbers from 1 and up, skipping those that are powers of 2 (1,2,4...); then for each remaining number in the sequence, look at the next data bit and xor the number if the bit is 1.  This is a traditional (83,76,3) linear error detecting code.  This description of the encoding of the data appears to match the specification cited, but does not seem to match the sample EZcode included with this earliest version of this wikipedia article and the result of scanning that code with Scanbuy's software.

The 76 data bits simply form a 19 hex digit serial number in a database on Scanbuy's server.  This code is included in the lookup URL in an unspecified manner.

Using a central database rather than a distributed database (such as DNS) for the lookup provides Scanbuy with a way to collect money for the use of the system, while giving away all the other parts of the system free of charge.  It also avoids the need to allocate blocks of serial numbers to each web site owner, thus slightly reducing the risk of running out of possible codes.

References

  1. Scanbuy promotional summary of the specification accessed 2009-09-13 at 13:00 UTC
  2. Scanbuy's EZCode specification (Updated April 2009) accessed on 2009-09-13 at 14:00 UTC
  3. 1 2 EZCode publishing guidelines accessed 2009-09-13 22:00 UTC

Шаблон:Barcodes