SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
Kódování QR kódů
Souhrn informací o QR kódu
a
ukázka Reed-Solomonova kódování

Autor: Bc. Luděk Reif
1. listopad 2013
Historie QR kódů
• Nástupce čárových kódů
• Větší množství informace
• Stále potřeba přímá viditelnost
• Levné řešení

• Alternativní technologie
• RFID
• nepotřebuje přímou viditelnost
• výrazně dražší řešení

1. listopad 2013

Snímek 2 z 14
Specifikace QR kódů
• Mnohem více informací než čárové kódy

• Standardní ve 40 (1 až 40) velikostech
• Velikost podle vzorce: 17 + (v x 4)
• Nejmenší kódy 21x21, největší 177x177
• Navíc Micro QR kód (11x11 až 17x17)

• Kapacita
•
•
•
•

7 089 číslic
4 296 písmen a číslic
2 953 8-bitových data
1 817 znaků kandži (japonské znaky)

1. listopad 2013

Snímek 3 z 14
Specifikace QR kódů II
• Čtyři úrovně korekce (redundance)
•
•
•
•

Úroveň L – až 7% poškozené plochy
Úroveň M – až 15% poškozené plochy
Úroveň Q – až 25% poškozené plochy
Úroveň H – až 30% poškozené plochy

Text „Hello, World!“
Úroveň L
1. listopad 2013

Úroveň H
Snímek 4 z 14
Geometrická vrstva

•
•
•
•

Klidová zóna minimálně 4 body okolo kódu
Čtverce (3) určující pozici (Č 7x7 + B 5x5 + Č 3x3) s bílou okolo
Další (0 - 46) čtverce (Č 3x3 + B 2x2 + Č 1x1) doplňují zarovnání
Na 7. řádku a 7. sloupci časovací znaky (střídavě Č a B)

1. listopad 2013

Snímek 5 z 14
Geometrická vrstva II
Tabulka s příklady verzi QR kódu (počty bodů)
v

Strana

Plocha

Pozice

Časování

Verze

A

Zarovnání

Pro data

Vzdál. zarovnání

1

21

441

192

10

0

0

0

239

-

10

57

3 249

192

82

36

2

140

2 799

22

20

97

9 409

192

162

36

3

305

8 714

28

30

137

18 769

192

242

36

5

785

17 514

26

40

177

31 329

192

322

36

6

1100

29 679

28

1. listopad 2013

Snímek 6 z 14
Ukázka složitého QR kódu

Recept na svíčkovou o 1 053 českých znacích
úroveň zabezpečení L, rozměr 113x113 (verze 24)
1. listopad 2013

Snímek 7 z 14
Informační vrstva
Černý bod = binární 1

Bílý bod = binární 0

• Plnění začíná v pravém dolním rohu dvojřad
• Po naplnění se směr otáčí zase ve dvojřadu
• Pokud narazí na formátovací prvek, tak jej přeskočí
(zarovnání, časování) nebo se odrazí (pozice)
• Svislé časování je přeskočeno, dokončí se plnění
posledními třemi dvojřady a končí v levém spodním
rohu
• Data obsahují bytovou zprávu a korekční byty
• Prvotní nemaskovaná data jsou uložena postupně
• Nejprve data, poté korekční kód

1. listopad 2013

Snímek 8 z 14
Informační vrstva II
• Informace o korekci
• Dva bity označují úroveň korekce (tabulka pro 26 bytový blok dat)
Úroveň korekce

Bitové označení

Počet korekčních bytů

Počet datových bytů

L

01

7

19

M

00

10

16

Q

11

13

13

H

10

17

9

• Maskování
•
•
•

V kódu mohou vznikat vzory matoucí geometrickou vrstvu
Tři bity označují způsob maskování pro celou informační vrstvu
Maskuje se podle výsledku maskování, které dostane nejméně záporných bodů

1. listopad 2013

Snímek 9 z 14
Informační vrstva III
Zbývajících 10 bitů obsahuje samoopravné kódy formátu
Všechny formátovací informace jsou na kódu dvakrát
Informace jsou kódovány pomocí BCH kódů
-

kódovaná část se převede na polynom
násobí se kódovacím polynom
modulo řídící polynom nad 𝑍2
výsledkem je zakódovaná část dat

Data jsou kódovány pomocí Reed- Solomonových kódů
-

kódy jsou speciálním případem BCH kódů
symbolově orientovány (kódování po celých slovech)
předpokládají shlukové chyby

1. listopad 2013

Snímek 10 z 14
Příklad vytvoření QR
Příklad vytvoření QR kódu
1. Vstupní řetězec přepsaný podle tabulky
MARTINS = (22,10,27,29,18,23,28)
2. Rozdělit na skupiny po dvou dekadických číslech
(22,10) (27,29) (18,23) (28)
3. Operace podle vzorce C = A*45 + B
C1 = 22*45 + 10 = 1 000
C2 = 27*45 + 29 = 1244
C3 = 18*45 + 23 = 833
C4 = 28
4. Dekadická čísla na binární (11bit + poslední 6bit)
1 000 = 011 1110 1000
1255 = 100 1101 1100
833 = 011 0100 0001
28 = 01 1100
5. Spojit na jedno číslo

6. Určí se indikátor vstupných dat
Pro alfanumerické řetězce: 0010
7. počet vstupních symbolů ve dvojkové soustavě
000000111
8. Vše do jednoho řetězce
0010 000000111 01111101000 10011011100 01101000001 011100
Každých osm bitů představuje 1 CW (blok dat u QR), bude tedy 7 CW
Korekce je typu L, rozložení data : korekce bude tedy 13 CW na 13 CW

9. Do nevyužitých CW se doplní vyplňující CW
Liché: 11101100

Sudé: 00010001

10. Dopočítá se korekce a využije se maska dat
Využije se Reed-Solomonova kódování
11. Doplní se informace o korekci a masce

Pomocí BCH dostaneme 10 1100 1000

01111101000 10011011100 01101000001 011100

1. listopad 2013

Snímek 11 z 14
Informační vrstva V
Původní binární data
00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001
11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001
(128 bitů)

Zakódovaná data Reed-Solomonovým kódováním
00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001 11101100
00010001 11101100 00010001 11101100 00010001 11101100 00010001 10100101 00100100
11010100 11000001 11101101 00110110 11000111 10000111 00101100 01010101
(208 bitů)
korekce typu M – lze opravit až 15% chyb

1. listopad 2013

Snímek 12 z 14
Reed-Solomonovo kódování II
Příklad polynomu pro generování Reed-Solomonova kódu
𝑔 𝑥 = 𝑥 5 + 31𝑥 4 + 198𝑥 3 + 63𝑥 2 + 147𝑥 + 116𝑥 0
𝒙𝟓

𝟑𝟏𝒙 𝟒

𝟏𝟗𝟖𝒙 𝟑

𝟔𝟑𝒙 𝟐

𝟏𝟒𝟕𝒙

𝟏𝟏𝟔𝒙 𝟎

𝜶𝟎

𝜶 𝟏𝟏𝟑

𝜶 𝟏𝟔𝟒

𝜶 𝟏𝟔𝟔

𝜶 𝟏𝟏𝟗

𝜶 𝟏𝟎

Polynom pro generování se liší podle použité verze.
Původní data se převedou na mnohočlen (kódována po bytových blocích).
Např. 255 128 10 155:
𝑝 𝑥 = 255𝑥 8 + 128𝑥 7 + 10𝑥 6 + 155𝑥 5 + 0𝑥 4 + 0𝑥 3 + 0𝑥 2 + 0𝑥 1 + 0𝑥 0
𝒙 s exponenty 0 až 4 se dopočítávají při kódování a zde jsou pouze pro doplnění.
Pro zvolené kódování jsou doplněny 4 členy. Jejich počet mění podle verze.

1. listopad 2013

Snímek 12 z 14
Reed-Solomonovo kódování III
Příklad kódování
Vstupní data: 1 (00000001)
𝑔 𝑥 = 𝑥 2 + 3𝑥 + 2𝑥 0
𝒙𝟐

𝟐𝒙 𝟎

𝜶𝟎

g(x)*(α0)*x0

𝟑𝒙
𝜶 𝟐𝟓

𝜶𝟏

1x2+
α0
0 + 0 =α0
xor 1 = 0

0x1+

0x0

25 + 0 = α25
xor 0 = 3
3x1+
α25

1 + 0 = α1
xor 0 = 2
2x0
α1

Výsledná data: 3 2 (00000011 00000010)

1. listopad 2013

Snímek 12 z 14
Děkuji za pozornost

1. listopad 2013

Snímek 13 z 14
Zdroje
-

https://cs.wikipedia.org/wiki/QR_k%C3%B3d
http://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders
http://access.feld.cvut.cz/view.php?cisloclanku=2006080002
http://zin.tym.cz/index.php?k=0501&s=42
http://www.vutbr.cz/www_base/zav_prace_soubor_verejne.php?file_id=29510
http://www.pclviewer.com/rs2/calculator.html

1. listopad 2013

Snímek 14 z 14

Mais conteúdo relacionado

Destaque

Overview of fed
Overview of fedOverview of fed
Overview of fed
Annie Pham
 
sistema endocrino por Pamela Eras
sistema endocrino por Pamela Erassistema endocrino por Pamela Eras
sistema endocrino por Pamela Eras
estefaniaeras
 
GUÍA DE APLICACIÓN PUNTAJE ROP 2014
GUÍA DE APLICACIÓN PUNTAJE ROP 2014GUÍA DE APLICACIÓN PUNTAJE ROP 2014
GUÍA DE APLICACIÓN PUNTAJE ROP 2014
Edysur Construcciones
 
Marco Institucional de la Competitividad en Colombia
Marco Institucional de la Competitividad en ColombiaMarco Institucional de la Competitividad en Colombia
Marco Institucional de la Competitividad en Colombia
Jorge Hernan Cárdenas Santamaria
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dados
Arthur Azevedo
 

Destaque (20)

Statistics
StatisticsStatistics
Statistics
 
Adaptive leadership
Adaptive leadershipAdaptive leadership
Adaptive leadership
 
Leadership styles _organisational_behavior
Leadership styles _organisational_behaviorLeadership styles _organisational_behavior
Leadership styles _organisational_behavior
 
PSFK presents the Future Of Cities
PSFK presents the Future Of CitiesPSFK presents the Future Of Cities
PSFK presents the Future Of Cities
 
La luz
La luzLa luz
La luz
 
Etica policial
Etica policialEtica policial
Etica policial
 
Fernández y Winter (2003). Equipos de Alto Desempeño: un gran desafío para la...
Fernández y Winter (2003). Equipos de Alto Desempeño: un gran desafío para la...Fernández y Winter (2003). Equipos de Alto Desempeño: un gran desafío para la...
Fernández y Winter (2003). Equipos de Alto Desempeño: un gran desafío para la...
 
Monitoreo & evaluación con marco lógico
Monitoreo & evaluación con marco lógicoMonitoreo & evaluación con marco lógico
Monitoreo & evaluación con marco lógico
 
80867
8086780867
80867
 
Scholarly articles
Scholarly articlesScholarly articles
Scholarly articles
 
Designing a Business Model
Designing a Business ModelDesigning a Business Model
Designing a Business Model
 
Overview of fed
Overview of fedOverview of fed
Overview of fed
 
El modelo OSI
El modelo OSIEl modelo OSI
El modelo OSI
 
sistema endocrino por Pamela Eras
sistema endocrino por Pamela Erassistema endocrino por Pamela Eras
sistema endocrino por Pamela Eras
 
SPED CONTÁBIL - ECD | GUIA PRÁTICO v1
SPED CONTÁBIL - ECD | GUIA PRÁTICO v1SPED CONTÁBIL - ECD | GUIA PRÁTICO v1
SPED CONTÁBIL - ECD | GUIA PRÁTICO v1
 
GUÍA DE APLICACIÓN PUNTAJE ROP 2014
GUÍA DE APLICACIÓN PUNTAJE ROP 2014GUÍA DE APLICACIÓN PUNTAJE ROP 2014
GUÍA DE APLICACIÓN PUNTAJE ROP 2014
 
Hypothesis
HypothesisHypothesis
Hypothesis
 
Marco Institucional de la Competitividad en Colombia
Marco Institucional de la Competitividad en ColombiaMarco Institucional de la Competitividad en Colombia
Marco Institucional de la Competitividad en Colombia
 
유엔새천년개발목표 보고서 2013 2014 (UN Millennium Development Goals Report 2013-2014_Kor...
유엔새천년개발목표 보고서 2013 2014 (UN Millennium Development Goals Report 2013-2014_Kor...유엔새천년개발목표 보고서 2013 2014 (UN Millennium Development Goals Report 2013-2014_Kor...
유엔새천년개발목표 보고서 2013 2014 (UN Millennium Development Goals Report 2013-2014_Kor...
 
Segurança em banco de dados
Segurança em banco de dadosSegurança em banco de dados
Segurança em banco de dados
 

Kódování QR kódů

  • 1. Kódování QR kódů Souhrn informací o QR kódu a ukázka Reed-Solomonova kódování Autor: Bc. Luděk Reif 1. listopad 2013
  • 2. Historie QR kódů • Nástupce čárových kódů • Větší množství informace • Stále potřeba přímá viditelnost • Levné řešení • Alternativní technologie • RFID • nepotřebuje přímou viditelnost • výrazně dražší řešení 1. listopad 2013 Snímek 2 z 14
  • 3. Specifikace QR kódů • Mnohem více informací než čárové kódy • Standardní ve 40 (1 až 40) velikostech • Velikost podle vzorce: 17 + (v x 4) • Nejmenší kódy 21x21, největší 177x177 • Navíc Micro QR kód (11x11 až 17x17) • Kapacita • • • • 7 089 číslic 4 296 písmen a číslic 2 953 8-bitových data 1 817 znaků kandži (japonské znaky) 1. listopad 2013 Snímek 3 z 14
  • 4. Specifikace QR kódů II • Čtyři úrovně korekce (redundance) • • • • Úroveň L – až 7% poškozené plochy Úroveň M – až 15% poškozené plochy Úroveň Q – až 25% poškozené plochy Úroveň H – až 30% poškozené plochy Text „Hello, World!“ Úroveň L 1. listopad 2013 Úroveň H Snímek 4 z 14
  • 5. Geometrická vrstva • • • • Klidová zóna minimálně 4 body okolo kódu Čtverce (3) určující pozici (Č 7x7 + B 5x5 + Č 3x3) s bílou okolo Další (0 - 46) čtverce (Č 3x3 + B 2x2 + Č 1x1) doplňují zarovnání Na 7. řádku a 7. sloupci časovací znaky (střídavě Č a B) 1. listopad 2013 Snímek 5 z 14
  • 6. Geometrická vrstva II Tabulka s příklady verzi QR kódu (počty bodů) v Strana Plocha Pozice Časování Verze A Zarovnání Pro data Vzdál. zarovnání 1 21 441 192 10 0 0 0 239 - 10 57 3 249 192 82 36 2 140 2 799 22 20 97 9 409 192 162 36 3 305 8 714 28 30 137 18 769 192 242 36 5 785 17 514 26 40 177 31 329 192 322 36 6 1100 29 679 28 1. listopad 2013 Snímek 6 z 14
  • 7. Ukázka složitého QR kódu Recept na svíčkovou o 1 053 českých znacích úroveň zabezpečení L, rozměr 113x113 (verze 24) 1. listopad 2013 Snímek 7 z 14
  • 8. Informační vrstva Černý bod = binární 1 Bílý bod = binární 0 • Plnění začíná v pravém dolním rohu dvojřad • Po naplnění se směr otáčí zase ve dvojřadu • Pokud narazí na formátovací prvek, tak jej přeskočí (zarovnání, časování) nebo se odrazí (pozice) • Svislé časování je přeskočeno, dokončí se plnění posledními třemi dvojřady a končí v levém spodním rohu • Data obsahují bytovou zprávu a korekční byty • Prvotní nemaskovaná data jsou uložena postupně • Nejprve data, poté korekční kód 1. listopad 2013 Snímek 8 z 14
  • 9. Informační vrstva II • Informace o korekci • Dva bity označují úroveň korekce (tabulka pro 26 bytový blok dat) Úroveň korekce Bitové označení Počet korekčních bytů Počet datových bytů L 01 7 19 M 00 10 16 Q 11 13 13 H 10 17 9 • Maskování • • • V kódu mohou vznikat vzory matoucí geometrickou vrstvu Tři bity označují způsob maskování pro celou informační vrstvu Maskuje se podle výsledku maskování, které dostane nejméně záporných bodů 1. listopad 2013 Snímek 9 z 14
  • 10. Informační vrstva III Zbývajících 10 bitů obsahuje samoopravné kódy formátu Všechny formátovací informace jsou na kódu dvakrát Informace jsou kódovány pomocí BCH kódů - kódovaná část se převede na polynom násobí se kódovacím polynom modulo řídící polynom nad 𝑍2 výsledkem je zakódovaná část dat Data jsou kódovány pomocí Reed- Solomonových kódů - kódy jsou speciálním případem BCH kódů symbolově orientovány (kódování po celých slovech) předpokládají shlukové chyby 1. listopad 2013 Snímek 10 z 14
  • 11. Příklad vytvoření QR Příklad vytvoření QR kódu 1. Vstupní řetězec přepsaný podle tabulky MARTINS = (22,10,27,29,18,23,28) 2. Rozdělit na skupiny po dvou dekadických číslech (22,10) (27,29) (18,23) (28) 3. Operace podle vzorce C = A*45 + B C1 = 22*45 + 10 = 1 000 C2 = 27*45 + 29 = 1244 C3 = 18*45 + 23 = 833 C4 = 28 4. Dekadická čísla na binární (11bit + poslední 6bit) 1 000 = 011 1110 1000 1255 = 100 1101 1100 833 = 011 0100 0001 28 = 01 1100 5. Spojit na jedno číslo 6. Určí se indikátor vstupných dat Pro alfanumerické řetězce: 0010 7. počet vstupních symbolů ve dvojkové soustavě 000000111 8. Vše do jednoho řetězce 0010 000000111 01111101000 10011011100 01101000001 011100 Každých osm bitů představuje 1 CW (blok dat u QR), bude tedy 7 CW Korekce je typu L, rozložení data : korekce bude tedy 13 CW na 13 CW 9. Do nevyužitých CW se doplní vyplňující CW Liché: 11101100 Sudé: 00010001 10. Dopočítá se korekce a využije se maska dat Využije se Reed-Solomonova kódování 11. Doplní se informace o korekci a masce Pomocí BCH dostaneme 10 1100 1000 01111101000 10011011100 01101000001 011100 1. listopad 2013 Snímek 11 z 14
  • 12. Informační vrstva V Původní binární data 00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 (128 bitů) Zakódovaná data Reed-Solomonovým kódováním 00010000 00100000 00001100 01010110 01100001 10000000 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 11101100 00010001 10100101 00100100 11010100 11000001 11101101 00110110 11000111 10000111 00101100 01010101 (208 bitů) korekce typu M – lze opravit až 15% chyb 1. listopad 2013 Snímek 12 z 14
  • 13. Reed-Solomonovo kódování II Příklad polynomu pro generování Reed-Solomonova kódu 𝑔 𝑥 = 𝑥 5 + 31𝑥 4 + 198𝑥 3 + 63𝑥 2 + 147𝑥 + 116𝑥 0 𝒙𝟓 𝟑𝟏𝒙 𝟒 𝟏𝟗𝟖𝒙 𝟑 𝟔𝟑𝒙 𝟐 𝟏𝟒𝟕𝒙 𝟏𝟏𝟔𝒙 𝟎 𝜶𝟎 𝜶 𝟏𝟏𝟑 𝜶 𝟏𝟔𝟒 𝜶 𝟏𝟔𝟔 𝜶 𝟏𝟏𝟗 𝜶 𝟏𝟎 Polynom pro generování se liší podle použité verze. Původní data se převedou na mnohočlen (kódována po bytových blocích). Např. 255 128 10 155: 𝑝 𝑥 = 255𝑥 8 + 128𝑥 7 + 10𝑥 6 + 155𝑥 5 + 0𝑥 4 + 0𝑥 3 + 0𝑥 2 + 0𝑥 1 + 0𝑥 0 𝒙 s exponenty 0 až 4 se dopočítávají při kódování a zde jsou pouze pro doplnění. Pro zvolené kódování jsou doplněny 4 členy. Jejich počet mění podle verze. 1. listopad 2013 Snímek 12 z 14
  • 14. Reed-Solomonovo kódování III Příklad kódování Vstupní data: 1 (00000001) 𝑔 𝑥 = 𝑥 2 + 3𝑥 + 2𝑥 0 𝒙𝟐 𝟐𝒙 𝟎 𝜶𝟎 g(x)*(α0)*x0 𝟑𝒙 𝜶 𝟐𝟓 𝜶𝟏 1x2+ α0 0 + 0 =α0 xor 1 = 0 0x1+ 0x0 25 + 0 = α25 xor 0 = 3 3x1+ α25 1 + 0 = α1 xor 0 = 2 2x0 α1 Výsledná data: 3 2 (00000011 00000010) 1. listopad 2013 Snímek 12 z 14
  • 15. Děkuji za pozornost 1. listopad 2013 Snímek 13 z 14