On Mon, Jun 30, 2008 at 12:07 PM, preon <rob
...@preon.pl> wrote:
> I'm looking for Aztec specifiactin - I know that this is described in
> iso standard 24778 and I can buy it, but I haven't any card ... so I
> can't buy it ...
> I've problem with not generate but _read_ (decode) the code.
> I have to decode matrix 91x91 and I've few questions about it :
Hi Robert,
You are certainly not alone as many others have also struggled to find
a free detailed description of the decode algorithm for Aztec Code
without success. You may find that examining the source to the aztec
encoder in BWIPP proves fruitful in the absence of the ISO
specification.
> 1. what data is encoded on the 'eye'-edge (I suspect that there is
> information about count of codewords, codeword length, polynomial
> etc.) and how to encode them ?
The specification refers to this as the 40-bit "Mode Message" which
wraps clockwise from the top around the finder pattern between the
orientation patterns (three-pixel corners abutting the finder pattern)
and reference grid (horizontal and vertical, dashed lines through the
centre of the symbol). It encodes the number of layers, the total
number of data codewords and a set of error correction codewords for
the mode message. The correct values for the number of data codewords
is found via a lookup table which you can find in my code called
"metrics".
.
> 2. how to find where data (in the matrix) is begin (I looked on bits
> in few matix and data started at different bits) ?
It always wraps symmetrically clockwise as a series of two-module high
"dominoes" from a position directly above the top left orientation
pattern.
> 3. how to find where data (in the matrix) is end ?
This has to be derived from the number of codewords specified in the
mode data, the bits per codeword (which depends on the symbol size)
and the aforementioned placement strategy.
> 4. what is matter/sense of special singns ('high-level' encoding) :
> - LL (I think this is Lower Letter - this sign change the coding
> to 5 bits)
Lower latch
> - ML (Main Letter ?? means upper letter ?? )
Mixed latch
> - DL (I think this is Digital Letter - this sign change the coding
> to 4 bits)
Digit latch
> - US ( ??? )
Upper shift
> - BS (??? Border Sign :) ??)
Binary shift
> - PS ( ??? )
Punctuation shift
There is also PL, UL with their expected meanings.
> - other sings : SOH, STX. ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT,
> FF, CR, ESC, FS, GS, RS, US, DEL (I, of course, know that CR is Carret
> Return or DEL is Delete, but I don't know if it matter in decoding
> process)
These have their usual ASCII meanings [3].
I have began making some steps towards implementing the high-level
encoding for Aztec Code within BWIPP, but ran out of time [2]. I'll
finish it off as soon as I can find time.
> 5. where can be a locations/psitins rows/columns - I've seen (first)
> it at 9 and at 13 (in matrix 91x91)
<...snip...>
> 6. I've tired to encode a message AaBbCcDdEeFf in the small matrix
> 15x15 and its look :
<...snip...>
> 7. I've tired to decode my example matrix 91x91 and it look strange
> (first[last] layer ) :
To answer these questions it would be necessary for you to examine the
ISO/IEC 24778 specification in detail. Doing worked decoding examples
by hand is a laborious and error-prone process even then one is in
possession of the specification.
Best of luck,
Tez
[1] http://postscriptbarcode.googlecode.com/svn/trunk/barcode.ps
[2] http://postscriptbarcode.googlecode.com/svn/branches/aztec_encode/azt...
[3] http://www.asciitable.com/