[go: up one dir, main page]

SE518962C2 - Produkt och metod för att koda data till ett matrisformat kodningsmönster - Google Patents

Produkt och metod för att koda data till ett matrisformat kodningsmönster

Info

Publication number
SE518962C2
SE518962C2 SE0000947A SE0000947A SE518962C2 SE 518962 C2 SE518962 C2 SE 518962C2 SE 0000947 A SE0000947 A SE 0000947A SE 0000947 A SE0000947 A SE 0000947A SE 518962 C2 SE518962 C2 SE 518962C2
Authority
SE
Sweden
Prior art keywords
sequence
sub
values
data
sequences
Prior art date
Application number
SE0000947A
Other languages
English (en)
Other versions
SE0000947D0 (sv
SE0000947L (sv
Inventor
Ola Hugosson
Petter Ericson
Original Assignee
Anoto Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Anoto Ab filed Critical Anoto Ab
Priority to SE0000947A priority Critical patent/SE518962C2/sv
Publication of SE0000947D0 publication Critical patent/SE0000947D0/sv
Priority to EP01918040A priority patent/EP1269404B1/en
Priority to DE60138696T priority patent/DE60138696D1/de
Priority to US09/812,885 priority patent/US7072529B2/en
Priority to JP2001569755A priority patent/JP2003528402A/ja
Priority to PCT/SE2001/000596 priority patent/WO2001071653A1/en
Priority to AU2001244911A priority patent/AU2001244911A1/en
Priority to AT01918040T priority patent/ATE431599T1/de
Publication of SE0000947L publication Critical patent/SE0000947L/sv
Publication of SE518962C2 publication Critical patent/SE518962C2/sv
Priority to US11/193,445 priority patent/US20060023956A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Toxicology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • General Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • Image Processing (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Description

25 30 35 ø u ø o o ø nu u o u o oo a n n ø u. nan.. 518 962 2 lagringsmedia eller mikrofilmer till en stor grupp män- niskor.
Det finns således ett behov av ett alternativt för- farande för kompakt lagring av data och en alternativ an- ordning för registrering av data lagrad med förfarandet.
Sammanfattninq av uppfinningen Ett ändamål med föreliggande uppfinning är att åstadkomma ett förfarande för kompakt lagring av data.
Ett ytterligare ändamål med föreliggande uppfinning är att åstadkomma ett förfarande för kompakt lagring av skriven text som tillåter enkel distribution till ett flertal användare utan användning av elektronisk över- föring.
Ett ytterligare ändamål med föreliggande uppfinning är att åstadkomma ett förfarande för lagring av ett kom- mando som styr en dator.
Ett annat ändamål med föreliggande uppfinning är att åstadkomma en anordning för registrering av information som lagrats med förfarandet enligt föreliggande uppfin- ning.
Dessa och andra ändamål uppfylles med ett förfaran- de, en anordning och en användning enligt de vidhängande patentkraven.
En grundtanke med föreliggande uppfinning är att lagra text med hjälp av en matris med symboler, vilken matris kan registreras optiskt.
Ett förfarande för lagring av data enligt uppfin- ningen utmärkes av att det innefattar stegen att koda datan till ett kodningsmönster med hjälp av åtminstone en sekvens med symboler som har egenskapen att en godtycklig delsekvens av förutbestämd storlek av sekvensen entydigt definierar delsekvensens plats i sekvensen, och att av- bilda kodningsmönstret på en produkt.
Med produkt avses i det här sammanhanget alla möj- liga artiklar på vilka ett kodningsmönster kan applice- ras. I första hand avses papper i tidningar, böcker och lO 15 20 25 30 35 518 962 nun-unna 1 nu 3 som lösblad, men även andra artiklar sàsom exempelvis anslagstavlor kan förses med ett kodningsmönster.
Med data avses information såsom exempelvis text eller annan information. Med data avses exempelvis även ett kommando till en dator.
Produkten kan vara en godtycklig produkt pà vilken man vill ha kodad information. Genom att koda informatio- nen med hjälp av en sekvens av det nämnda slaget möjlig- görs en kod som är relativt okänslig för hur den läses av en användarenhet. Samtidigt möjliggörs kompakt lagring av informationen. Dokumentet kan såsom nämndes ovan utgöras av vilket dokument som helst.
Enligt ett föredraget utförande avbildas matrisen pà en sida i en bok, varvid textsträngen utgörs av texten pà boksidan. Det blir därigenom möjligt för en användare att optiskt registrera hela boksidans innehåll genom att registrera matrisen med symboler.
Företrädesvis omvandlas datan till en uppsättning datavärden, varvid mönstret anordnas sà att det innefat- tar partier av nämnda åtminstone en sekvens i ett kod- ningsmönster, vilka partier åtminstone är lika stora som delsekvenserna av förutbestämd storlek, sä att vart och ett av datavärdena kodas av varsin grupp om åtminstone tvá sekvenspartier i kodningsmönstret.
Genom att koda datan så att grupper om åtminstone två sekvenspartier behövs för varje datavärde blir kod- ningsmönstret sådant att en godtycklig del av ett sek- vensparti och motsvarande del av ett annat sekvensparti definierar ett datavärde.
Datan kodas med fördel med endast en sekvens så att en delsekvens plats i sekvensen utgör ett sekvensvärde och förhållandet mellan sekvensvärden fràn olika sekvens- partier definierar datavärdena.
Genom att använda endast en sekvens förenklas kod- ningen och registreringen av kodningsmönstret avsevärt.
En användarenhet som används för att avläsa kodnings- mönstret kan då behandla alla delar av kodningsmönstret 10 15 20 25 30 35 513 952 4 pà samma sätt. Det är även fördelaktigt att endast tvà sekvenspartier behövs för att koda ett datavärde eftersom kodningsmönstret dä kan göras mera kompakt.
Med fördel definieras vart och ett av datavärdena av skillnaden mellan sekvensvärdena för tvà delsekvenser fràn olika sekvenspartier. Även om något annat förhål- lande mellan sekvensvärdena kan användas är det fördel- aktigt att använda skillnaden mellan sekvensvärdena eftersom det förenklar förfarandet vid avläsning av kod- ningsmönstret.
Sekvenspartierna anordnas företrädesvis intill var- andra i en matris sä att vart och ett av datavärdena de- finieras av skillnaden mellan sekvensvärdena för tvá in- tilliggande delsekvenser fràn motsvarande delar av sek- venspartierna i matrisen. Detta medför att en användar- enhet enkelt kan omvandla matrisen och dess delsekvenser med symboler till delsekvenser med värden. Det är möjligt 'för en användarenhet att omvandla delsekvenserna med värden till datavärden. Eftersom datavärdena definieras av skillnadsvärden blir datavärdena oberoende av vilka delar av sekvenspartierna som registreras.
Det är givetvis möjligt att anordna sekvenspartierna på något annat sätt än i en matris. Det underlättar dock registreringen av sekvenspartierna att de är anordnade i en matris.
Sekvenspartierna kodar med fördel även åtminstone en del av ett positionsvärde som definierar sekvenspartiets ordningsnummer. Därigenom är det inte nödvändigt att registrera hela kodningsmönstret vid samma tillfälle eftersom ordningen mellan de olika delarna kan erhållas från positionsvärdet. Detta underlättar registrering av matrisen eftersom en användarenhet som registrerar mat- risen då kan avgöra huruvida sekvenspartier redan regist- rerats tidigare. I fallet att vissa sekvenser missas vid registreringen då en användarenhet sveps över kodnings- mönstret blir det därigenom möjligt att registrera de missade sekvenserna vid ett senare tillfälle och placera 10 15 20 25 30 35 518 962 'jrajjgfrf 5 in dem på rätt ställe med hjälp av positionsvärdena.
Positionsvärdena är även till hjälp för att kontrollera att man inte har missat någon sekvens.
Med fördel definierar en del av ett skillnadsvärde en del av en positionssekvens, vilken positionssekvens är så anordnad att en godtycklig positionssekvensdel av en förutbestämd storlek entydigt definierar positionssek- vensdelens plats i positionssekvensen.
I det fall skillnadsvärdena inte definierar posi- tionsvärden är det fördelaktigt att avbilda kodnings- mönstret på produkten tillsammans med en markering som indikerar en avläsningsriktning. Därigenom säkerställs att man inte registrerar kodningsmönstret och därmed datan i bakvänd ordning. Om man har en positionskod är det inte nödvändigt att ha någon dylik markering. Marke- ringen med avläsningsriktning behöver kompletteras med pussling av bilder för att man skall säkerställa att man registrerar varje sekvens endast en gång. _ _ Även om datan kan vara godtycklig data är den före- trädesvis tecken vilka omvandlas till datavärden. Alter- nativt utgörs datan av exempelvis något kommando till en dator.
Omvandlingen av tecknen till datavärden kan göras pà ett flertal olika sätt. Med fördel komprimeras texten först med någon känd komprimeringsmetod så att den data som skall kodas minimeras. Därefter omvandlas varje tecken i den kodade datan till datavärden.
Det är föredraget att matrisen anordnas så att den endast innefattar kolumner med sekvenser, vilka defi- nierar sekvensvärden. Därigenom blir matrisen så kompakt som möjligt. Det är dock givetvis möjligt att anordna matrisen så att den innefattar även annan information.
Enligt en mindre föredragen utföringsform innefattar matrisen även andra sekvenser med symboler. Dessa kan tjäna som avgränsning mellan de sekvenser som definierar sekvensvärden. Matrisen blir emellertid mindre kompakt än då det föredragna utförandet används. 10 15 20 25 30 35 518 962 . n - u 1. 6 Pà en produkt enligt uppfinningen finns data lagrat i form av ett kodningsmönster vilket kodar datan. Produk- ten utmärkes av att kodningsmönstret kodar datan, varvid kodningsmönstret utgörs av sekvenspartier med symboler som innefattar àtminstone varsin delsekvens av en sekvens som är sä anordnade att en godtycklig delsekvens av för- utbestämd storlek av sekvensen entydigt definierar del- sekvensens plats i sekvensen.
En produkt enligt uppfinningen kodar data pá ett mera kompakt sätt än vad en streckkod gör eftersom en produkt enligt uppfinningen kan ha information lagrad i tvà dimensioner.
Företrädesvis kodar kodningsmönstret en uppsättning datavärden, varvid vart och ett av datavärdena kodas av varsin grupp av sekvenspartier bestående av àtminstone tvà sekvenspartier.
Därigenom möjliggörs en kod som kan göras oberoende av avläsningen i en dimension.
Symbolerna pà en produkt enligt uppfinningen kan ha en mängd olika utseenden. Enligt en utföringsform utgörs symbolerna av markeringar, varvid markeringarnas storlek definierar symbolens värde.
Enligt en alternativ utföringsform innefattar var och en av symbolerna en rasterpunkt och en markering, varvid varje symbols värde indikeras av nämnda markerings Å placering i förhållande till rasterpunkten.
En användarenhet för optisk registrering av informa- en bild- optiskt tion enligt föreliggande uppfinning innefattar sensor och är anordnad att medelst bildsensorn registrera bilder från en yta. Användarenheten utmärkes av att den är anordnad att, som svar pà att en registre- rad bild innefattar ett förutbestämt antal delsekvenser med symboler, varvid var och en av delsekvenserna en- tydigt motsvarar en plats i en förutbestämd sekvens som är så anordnad att en godtycklig delsekvens av förut- bestämd storlek entydigt definierar en plats i sekvensen, uuunnø a n 0 canon: 10 15 20 25 30 35 av :von nu uno: v v o u I 0 o n u 0 1 n 0 0 1 9 0 0 n 9 0 0 nu us :sou on 518 962 ananas 7 och att omvandla det förutbestämda antalet delsekvenser till data.
Företrädesvis innefattar användarenheten även ett minne avsett för lagring av data som motsvarar data- värdet. Data som lagrats i minnet kan därefter skickas vidare till någon annan enhet såsom en dator.
Istället för eller tillsammans med ett minne kan användarenheten innefatta en display och vara anordnad att pá displayen visa data som motsvaras av datavärdet.
Användarenheten kan vara utrustad med en högtalare via vilken användarenheten är anordnad att sända ut ljud som motsvaras av datan.
En användarenhet enligt uppfinningen är med fördel anordnad att omvandla det förutbestämda antalet delsek- venser till datavärden och att omvandla varje datavärde till endast ett tecken. Detta medför att minnet kan vara litet eftersom en referenstabell som är lagrad i minnet endast behöver innehålla kopplingar mellan det antal tecken som används och deras motsvarande symboler.
Alternativt är en användarenhet enligt föreliggande uppfinning anordnad att omvandla varje datavärde till ett eller flera tecken. Således omvandlas datavärdena till hela ord, orddelar eller ändelser. En matris som är upp- byggd pà det här sättet blir givetvis mera kompakt än om varje tecken har sitt eget datavärde. En nackdel är dock att det krävs ett större minne i användarenheten. Dess- utom måste den del av matrisen, som behöver registreras för att ett ord skall vara definierat, vara större än om varje tecken har ett eget datavärde.
Användarenheten är givetvis anordnad för omvandling av kodningsmönstret i beroende av hur det är skapat.
Således omvandlas kodningsmönstret i omvänd ordning till hur det lagrats.
Omvandlingen av delsekvenserna med symboler till datavärden görs företrädesvis genom omvandling av symbo- lerna till värden, omvandling av delsekvenserna med vär- den till sekvensvärden, beräkning av differenserna mellan a canon. .vvs 10 15 20 25 30 35 518 962 š¿?fi;{¥ïÄ%¿a,f" 8 sekvensvärdena och omvandling av differenserna till data- värden.
Användarenheten är med fördel anordnad att använda en del av differensen mellan sekvensvàrdena för bestäm- ning av delsekvensernas inbördes lägen. Eftersom mer än en bild registreras vid inläsningen av en matris finns det en risk för att vissa delar av matrisen registreras i mer än en bild. Genom att användarenheten använder en del av differensen för att bestämma sekvensdelarnas inbördes förhållande är det möjligt att utesluta sådan information som motsvaras av sekvensdelar som redan registrerats.
Eftersom omvandlingen mellan data och datavärden görs genom ett förutbestämt förhållande, måste användar- enheten ha information om hur datan omvandlades till datavärden då matrisen bildades.
Ett minnesmedium enligt uppfinningen kan avläsas av en dator och har ett program lagrat därpå. Minnesmediumet utmärkes av att programmet bringar en dator att läsa in en insignal som motsvarar en bild, att som svar pà att bilden innefattar ett förutbestämt antal delsekvenser med symboler, varvid var och en av delsekvenserna entydigt motsvarar en plats i en förutbestämd sekvens, som är så anordnad att en godtycklig delsekvens av förutbestämd storlek entydigt definierar en plats i sekvensen, omvand- la det förutbestämda antalet delsekvenser till data.
Ett dylikt program kan exekveras pà en godtycklig dator men exekveras med fördel i en läspenna vilken innefattar den nödvändiga hårdvaran för att registrera bilder.
Om kodningsmönstret trycks med svart färg blir det möjligt att trycka text med annan färg ovanpå mönstret samtidigt som registrerbarheten av mönstret bibehålls.
Ovanstående särdrag kan givetvis kombineras i samma utföringsform.
För att ytterligare belysa uppfinningen kommer i det följande detaljerade utföringsformer av uppfinningen att 10 15 20 25 30 35 518 962 š'-*ï 9 beskrivas, utan att emellertid uppfinningen skall anses begränsad härtill.
De vidhängande ritningarna är endast schematiska och således är vissa dimensioner starkt överdrivna i syfte att tydligare åskådliggöra uppfinningen.
Kort beskrivning av ritningarna Figur 1 visar ett dokument i form av en sida i en bok med ett kodningsmönster enligt en föredragen utfö- ringsform av föreliggande uppfinning.
Figur 2 visar i större detalj kodningsmönstret i figur 1.
Figur 3 åskådliggör en sekvens som kan användas för kodning av data enligt föreliggande uppfinning.
Figur 4 visar en utföringsform av symboler som kan användas i kodningsmönstret i figur 1 och 2.
Figur 5 visar hur en del av kodningsmönstret omvand- las till tecken.
Figur 6 visar en användarenhet enligt en föredragen utföringsform av uppfinningen.
Figur 7 visar omvandlingen av en matris till data- värden och ett positionsvärde.
Figur 8 visar omvandling av kodningsmönstret till sekvensvärden.
Detaljerad beskrivning av uppfinningen Figur 1 visar ett dokument 1 med ett kodningsmönster _ enligt en föredragen utföringsform av föreliggande upp- finning. Kodningsmönstret utgörs av en matris vars yttre begränsning 2 markeras med ramen 2.
I figur 2 visas i större detalj kodningsmönstret 2.
Matrisen innefattar ett flertal symboler 3 anordnade i sekvenspartier 4 i kolumner i matrisen, varvid varje sym- bol 3 definierar värdet ”O”, ”l”, ”2”, eller ”3”. Varje kolumn med symboler är ett sekvensparti av en sekvens med 512 symboler. En godtycklig delsekvens, som består av fem symboler, definierar entydigt delsekvensens plats i sek- vensen. Sekvenserna i de olika kolumnerna är förskjutna i förhållande till varandra. I figur l visas även en marke- 10 15 20 25 30 35 518 962 = 10 ring 31 som markerar i vilken riktning matrisen skall registreras för att teckensträngen skall registreras. I figur 2 är alla symboler markerade med likadana symboler.
Emellertid är symbolerna givetvis olika beroende på vil- ket värde de representerar.
I figur 3 àskàdliggörs hur en sekvens 32 som används i uppfinningen ser ut. Sekvensen 32 innefattar 512 värden 33 som vart och ett är antingen ”O”, ”l”, ”2” eller ”3".
En godtycklig delsekvens 34, 35 med 5 värden definierar entydigt ett sekvensvàrde som motsvarar delsekvensens position i sekvensen 32. Varje delsekvens förekommer endast en gäng i sekvensen. Således motsvarar den första delsekvensen 34 värdet ”O” och den andra delsekvensen 35 värdet ”1”. I figur 2 utgörs kolumnerna av sekvenspartier av sådana sekvenser i vilka värdena har omvandlats till symboler. Sekvenser av det här slaget beskrivs i "Pseudo- Random Sequences and Arrays" av F. Jessie Macwilliams och Neil J. A. Sloane i ”Proceedings of the IEEE vol 64 no 12 december 1976”. I I fig 4a-d visas en utföringsform av en symbol som kan användas i matrisen i fig 1 enligt uppfinningen. Sym- bolen innefattar en virtuell rasterpunkt 28, som repre- senteras av skärningspunkten mellan rasterlinjerna, samt en markering 29 som har formen av en punkt. Symbolens värde beror pà var markeringen är placerad. I exemplet i fig 4 finns fyra möjliga placeringar, en pà var och en av rasterlinjerna som utgår från rasterpunkterna. Förskjut- ningen från rasterpunkten är lika stor för alla värden.
Symbolen har i fig 4a värdet ”O”, i fig 4b värdet ”l”, i fig 4c värdet ”2” och i fig 4d värdet ”3". Annorlunda ut- tryckt finns det fyra olika typer av symboler. Varje sym- bol kan alltsà representera fyra värden ”O-3”.
I figur 5 visas en del 5a av matrisen 2 i figur 1 i större detalj. Delmatrisen 5 innehåller fem delsekvenser 36 anordnade i kolumner i delmatrisen. I figur Sa visas även det virtuella raster 37 i förhållande till vilket 10 15 20 25 30 35 518 962 ll symbolerna är anordnade. I figur 5b visas matrisen då symbolerna omvandlats till värden.
Figur 6 visar en användarenhet enligt en föredragen utföringsform av föreliggande uppfinning. Användarenheten utgörs av en läspenna 14 som är anordnad för registrering av ett kodningsmönster såsom det som visas i figur 2.
Läspennan är tänkt att hållas i handen av en användare för att registrera bilder från ett underlag. Läspennan innefattar en lysdiod 7 för belysning av den yta som skall registreras, en bildsensor 8 i form av en CCD för registrering av bilder, ett bildbehandlingsorgan 9 och ett minne 10. Framför CCD finns det anordnat ett lins- system 38 som är avsett för avbildning av kodningsmönst- ret pà CCD:n. Läspennan 14 har vidare ett batteri 12 för strömförsörjning samt knappar 13 med vilka läspennan sätts på. Läspennan är försedd med en sändare 16 för sändning av registrerad information till en dator 15, vilken i sin tur är försedd med en mottagare 17 för mot- tagning av information från läspennan. Sändaren och mot- tagaren kommunicerar exempelvis med IR eller med radio- vågor. Den information som lästs in med läspennan kan därigenom enkelt överföras till datorn för vidare behand- ling där. Läspennan är även försedd med en display 21 för presentation av den information som registrerats med läs- pennan 14. Läspennan 14 är även försedd med en högtalare 55 för att sända ut ljud som motsvaras av datan.
Med hänvisning till figurerna 2, 5 och 6 kommer nu 'registreringen av ett kodningsmönster nu att beskrivas.
När läspennan förs över matrisen 2 med symboler 3 regist- reras ett område vilket åtminstone innefattar ett första område 5 innefattande en delmatris med storleken fem gånger fem symboler 3. Symbolerna är någon av de fyra olika symbolerna som visas i figur 4. Bildbehandlings- organet 9 omvandlar den registrerade bilden till en matris med fem gånger fem symboler. Läspennan omvandlar därefter delsekvenserna 36 i matrisen till delsekvenser 39 med värden 40. Varje delsekvens med värden motsvarar 10 15 20 25 30 35 12 ett sekvensvärde 27 som motsvarar positionen i en sekvens med 512 värden som vart och ett är antingen ”O”, ”l”, ”2” eller ”3”. Om man registrerar en bild som är förskjuten en rad i matrisen erhålls sekvensvärden som motsvarar nästa position i sekvensen. Användarenheten omvandlar delsekvenserna 39 till sekvensvärden 27. Därefter beräk- nar användarenheten datavärden 26 som skillnaden modulo 1024 mellan sekvensvärdena 27 för intilliggande kolumner.
Genom att sekvensvärdena 27 ökar lika mycket för varje kolumn om man förskjuter den registrerade bilden i kolum- nens riktning är datavärdena, som är lika med skillnaden mellan sekvensvärdena 27, oberoende av pà vilken höjd bilden registreras. Datavärdena omvandlas därefter till binär form och de åtta minst signifikanta bitarna i varje datavärde omvandlas till tecken 6 som lagras i minnet 10, medan de tvà mest signifikanta bitarna fràn fyra in- tilliggande datavärden omvandlas till en positions- sekvensdel. Man kan således koda sammanlagt 256 olika tecken. Positionssekvensdelen utgör en del av en posi- tionssekvens liknande sekvensen i figur 3 och definierar entydigt en position i positionssekvensen och utgör ett positionsvärde för kolumnerna.
I figur 5 är tecknen 6 tecken i en text. Det är emellertid föredraget att tecknen 6 utgör tecken i en komprimerad text så att textsträngen som utgörs av teck- nen 6 behöver omvandlas för att man skall få klartext.
Positionsvärdena för kolumnerna används för att av- göra om ett tecken från en senare registrerad bild redan finns lagrat i teckensträngen i minnet. Detta är använd- bart eftersom nästa bild som registreras exempelvis inne- fattar ett andra område 22 vilket innefattar delar av det första området 5. När delsekvenserna i det andra omràdet 22 omvandlas till tecken kommer tecknen delvis att vara desamma som registrerats då det första området 5 regi- strerades. Genom att positionsvärdet ges av skillnadsvär- dena kan de tidigare lagrade tecknen väljas bort. Ett kodningsmönster kodar exempelvis serien [(O, 12), (1, 10 15 20 25 30 35 ø n o u vc ø » - a .o ø > o a .- ø 518 962 13 25), (2, 37), (3, 82), (4, 24), (5, 16)] i Vilken det första värdet i varje värdepar motsvarar ett positions- värde och det andra värdet motsvarar ett datavärde. I en första bild registreras serien ((0, 12), (1, 25), (2, 37), (3, 82)]. I en andra bild registreras serien [(2, 37), (3, 82), (4, 24), (5, 16)]. Således registreras värdena ”37” och ”82” två gånger. Positionsvärdena anger emellertid att de registrerats redan första gången vilket gör det möjligt att återskapa den korrekta serien.
Ett annat exempel på när delsekvensernas positioner är viktiga är när man sveper läspennan fort över kod- ningsmönstret. Det finns då en risk att en del informa- tion inte registreras. Genom att ha en positionskod i delsekvenser blir det möjligt att svepa läspennan över kodningsmönstret en andra gång för att därigenom regis- trera den information som inte registrerades första gången. Detta àskådliggörs i figur 7. I figur 7 visas en liten del 43 av ett kodningsmönster i form av ett flertal symboler 42 anordnade i kolumner 45 i en matris. Således år det tillräckligt att registrera en delsekvens beståen- de av fem symboler av varje kolumn 45. Då läspennan förs över kodningsmönstret registreras flera bilder. En första bild 39 och en andra bild 40 som registreras av läspennan är separerade. Eftersom en del av symbolerna i mönstret inte registrerats i någon bild saknas en del Man kan föra läspennan över kodningsmönstret en andra gång för att registrera en tredje bild 46 som innehåller information från de kolumner som saknades i den första bilden 39 och i den andra bilden 40. Genom att delsekven- serna innehåller positionsinformation är det möjligt att få in informationen från den tredje bilden 46 på rätt plats i förhållande till informationen från den första bilden 39 och den andra bilden 40. Ett kodningsmönster 12). (1, 25). (2, 37), (3, (5, 16)] där det första värdet i varje kodar exempelvis serien [(O, 82). (4, 24), värdepar anger positionsvärdet och det andra värdet anger datavärdet. I en första inläsning registreras serien [(O, information." 10 15 20 25 30 35 14 12), (1, 25), (2, 37), (4, 24), (5, 16)] i vilken det således saknas datavärdet som har positionsvärdet ”3”.
Vid en andra registrering registreras serien [(O, 12), (1, 25), (2, 37), (3, 82), (4, 24)]. Eftersom datavärdet ”82” som motsvaras av positionsvärdet ”3” finns med i den andra serien så kan den fullständiga serien återskapas.
Enligt en föredragen utföringsform kodar varje skillnadsvärde endast en del av ett positionsvärde. Detta åskådliggörs i figur 7. Matrisen 53 med symboler 54 om- vandlas till sekvensvärden S1-S5 pà samma sätt som beskri- vits ovan. Differensen mellan sekvensvärdena bildar en uppsättning datavärden D1-D4 och en uppsättning delposi- tionsvärden P1-P4 som tillsammans bildar en sekvens som definierar ett positionsvärde som anger matrisens plats i kodningsmönstret.
I figur 8 åskådliggörs även hur informationen från bilder, som registrerats på olika höjd i matrisen, be- handlas. Den första bilden 4O innehåller fem gånger fem symboler. Symbolerna omvandlas till värden såsom beskri- vits i anslutning till figur 5. Värdena i kolumnerna om- vandlas därefter till sekvensvärden som motsvarar delsek- vensens plats i sekvensen. De fem delsekvensera med sym- boler som motsvaras av kolumnerna i den första bilden 40 omvandlas således till en första uppsättning av fem sek- vensvärden 47. Den första uppsättningen av fem sekvens- värden 47 omvandlas därefter till en första uppsättning skillnadsvärden 48 som i sin tur omvandlas till tecken på samma sätt som beskrivits i anslutning till figur 5. Då en tredje bild 41, som innehåller fem gånger fem symbo- ler, registreras omvandlas de fem delsekvenserna beståen- de av fem symboler till en andra uppsättning av fem sek- vensvärden 49. Den andra uppsättningen av fem sekvensvär- den 49 omvandlas därefter till en andra uppsättning skillnadsvården 50 som i sin tur omvandlas till tecken på samma sätt som beskrivits i anslutning till figur 5. Vart och ett av sekvensvärdena 49 i den andra uppsättningen är fyra enheter större än sekvensvärdena 47 i den första 10 15 20 25 30 35 518 962 om u euoøøo v 0.. a n -uu 0 Q u » u 1 15 uppsättningen eftersom de är hämtade längre ned i sekven- serna som sekvensdelarna utgör en del av. Emellertid är vart och ett av skillnadsvärdena 48 i den första uppsätt- ningen skillnadsvärden lika stort som motsvarande skill- nadsvärde i den andra uppsättningen skillnadsvärden. Så- ledes är skillnadsvärdena oberoende av på vilken höjd i matrisen 43 som bilderna registrerats.
Vid skapandet av matrisen i figur 5 omvandlas varje tecken 6 i en teckensträng först till datavärden med hjälp av en referenstabell som finns lagrad i minnet.
Datavärdena består av åtta bitar. Skillnadsvärden 26 ska- pas därefter genom att lägga till positionsinformation i form av två binära bitar till datavärdena. Positionsin- formationen 30 väljs så att fyra på varandra följande skillnadsvärden 26, 48, 50 ger en positionsdelsekvens som entydigt definierar ett positionsvärd ger en positions- delsekvens som entydigt bestämmer en position i en posi- tionssekvens. Delar av identiska sekvenser anordnas där- efter i kolumner i matrisen. De identiska sekvenserna är sådana att en delsekvens med fem på varandra följande värden från sekvensen entydigt bestämmer ett sekvensvärde 27 som motsvarar delsekvensens position i sekvensen.
Delarna av sekvenserna anordnas så att uppsättningen skillnader mellan sekvensvärdena för sekvensdelarna, som tagits från samma rader i matrisen, motsvarar skillnads- värdena 27. Därefter omvandlas värdena 40 i sekvenserna till symboler 3.
De ovan beskrivna utföringsformerna skall endast ses som exempel.
En fackman inom området inser att ovanstående ut- föringsformer kan varieras på ett antal sätt utan att fràngà uppfinningstanken. Exempelvis är det inte nödvän- digt att användarenheten utgör en enda integrerad enhet.
Det är inte nödvändigt för uppfinningen att en dis- play är anordnad direkt på användarenheten. - ~ u o en 518 962 16 Även om utföringsexemplen ovan endast visar att sek- venspartierna är anordnade i kolumner i en matris är inte detta nödvändigt för uppfinningen. Sekvenspartierna kan vara ordnade pà ett godtyckligt sätt.
Sekvenserna som används för att koda datan behöver givetvis inte vara 512 tecken långa. nunna- u . n-qu-u

Claims (20)

10 15 20 25 30 35 51 8 96 2 ' _ u osams 17 PATENTKRAV
1. l. Förfarande för lagring av data, k ä n n e - t e c k n a t av att det innefattar stegen att omvandla datan (6, 52) (26), att koda datavärdena (6,52) värden (2) med hjälp av àtminstone en sekvens (32) med symboler som har egenskapen att en godtycklig delsekvens (34, 35) av förutbestämd storlek av sekvensen entydigt definierar (34, (32), varvid delsekvensens 35) plats i sekvensen mönstret anordnas sà att det innefattar sekvenspartier av nämnda àtminstone en sekvens i ett kodningsmönster, vilka sekvenspartier àtminstone är lika stora som delsekven- serna av förutbestämd storlek, sà att vart och ett av datavärdena kodas av varsin grupp om àtminstone tvà sek- venspartier (4) i kodningsmönstret, och varvid sekvens- partierna även kodar àtminstone en del (30) av ett posi- tionsvärde som definierar sekvenspartiets ordningsnummer, och att avbilda kodningsmönstret (2) pà en produkt.
2. Förfarande enligt patentkrav 2, k ä n n e - t e c k n a t av att datan (6, 52) kodas med endast en sekvens (32), att en delsekvens plats i sekvenserna utgör ett sek- (27), och att förhållandet mellan sekvensvärden vensvärde (27) fràn olika sekvenspartier (4) definierar datavärdena.
3. A 3. Förfarande enligt patentkrav 2, k ä n n e - av att vart och ett av datavärdena defi- (27) fràn olika sekvenspartier. t e c k n a t nieras av skillnaden mellan sekvensvärdena för två (39)
4. Förfarande enligt patentkrav 3, delsekvenser k ä n n e - t e c k n a t av att sekvenspartierna (4) anordnas in- till varandra i en matris (2) så att vart och ett av datavärdena definieras av skillnaden mellan sekvensvär- till en uppsättning data- till ett kodningsmönster 10 15 20 25 30 35 5.18 9(52 š.fi' 18 dena (27) för två intilliggande delsekvenser från mot- svarande delar av sekvenspartierna i matrisen (2).
5. Förfarande enligt något av föregående patentkrav, k ä n n e t e c k n a t av att datan är tecken och att tecknen omvandlas till datavärden.
6. Produkt på vilken finns lagrat data (6, 52) i form av ett kodningsmönster (2) vilket kodar datan (6, 52), (2) utgörs av sekvenspartier (4) med symboler (3) som k ä n n e t e c k n a d av att kodningsmönstret innefattar åtminstone varsin delsekvens av en sekvens som är så anordnad att en godtycklig delsekvens av förutbe- stämd storlek av sekvensen entydigt definierar delsekven- sens plats i sekvensen, varvid kodningsmönstret kodar en uppsättning datavärden som motsvarar data, varvid vart och ett av datavärdena kodas av varsin grupp av sekvens- partier (4) bestående av åtminstone två sekvenspartier, och varvid sekvenspartierna även kodar åtminstone en del (30) av ett positionsvärde som definierar sekvenspartiets ordningsnummer.
7. Produkt enligt patentkrav 6, k ä n n e t e c k - n a d av att symbolerna (3, 24) utgörs av markeringar, varvid markeringarnas storlek definierar symbolens värde. k ä n n e t e c k - av att var och en av symbolerna (3, 24) (28) (29), varvid varje symbols värde indikeras av nämnda markerings (29) place-
8. Produkt enligt patentkrav 7, n a d innefattar en rasterpunkt och en markering ring i förhållande till rasterpunkten (28).
9. Produkt enligt något av patentkraven 6, 7 eller 8, k ä n n e t e c k n a d av att produkten (1) utgörs av ett papper.
10. Produkt enligt något av patentkraven 6, 7, 8 eller 9, mönstret k å n n e t e c k n a d av att kodnings- (2) kodar text.
11. ll. Produkt enligt något av patentkraven 6-10, (2) k ä n n e t e c k n a d av att kodningsmönstret kodar ett kommando. 10 15 20 25 30 35 19
12. Användarenhet för optisk registrering av infor- vilken innefattar en bildsensor (8) och vilken (ll) (8) optiskt registrera bilder fràn en yta, mation, användarenhet är anordnad att medelst bildsensorn k ä n n e - t e c k n a d av att den är anordnad att, som svar på att en registrerad bild innefattar ett förutbestämt antal delsekvenser med symboler, varvid var och en av delsek- venserna entydigt motsvarar en plats i en förutbestämd sekvens som är sà anordnad att en godtycklig delsekvens av förutbestämd storlek entydigt definierar en plats i sekvensen, omvandla det förutbestämda antalet delsekven- ser till information (6, 52) och att omvandla en del av informationen till åtminstone en del av ett positions- värde som identifierar sekvensens.
13. Användarenhet enligt patentkrav 12, k ä n n e - t e c k n a d av att den även innefattar en display och att den är anordnad att pà displayen visa information som motsvaras av datavärdet.
14. Användarenhet enligt patentkrav 12 eller 13, k ä n n e t e c k n a d av att den även innefattar en högtalare och att den är anordnad att via högtalaren sända ut ljud som motsvaras av datavärdet.
15. Användarenhet enligt något av patentkraven 12-14, att omvandla symbolerna (3, 24) k ä n n e t e c k n a d av att den är anordnad till delsekvenser med värden, att omvandla delsekvenserna med värden till sekvens- (27), att beräkna skillnadsvärden värden (26) som differensen mellan sekvensvärdena (27), att omvandla skillnadsvärdena (26) till datavärden, och att omvandla datavärdena till information(6, 52). k ä n n e - t e c k n a d (26) vänds för bestämning av delsekvensernas inbördes lägen.
16. Användarenhet enligt patentkrav 15, av att en del av skillnadsvärdena an- 10 15 20 25 518 962 0 . auonun c nauuou u 20
17. Användarenhet enligt patentkrav 16, k ä n n e - t e c k n a d av att den är anordnad att använda det in- bördes läget mellan delsekvenserna för att avgöra om (6, 52) registrerats tidigare. information som motsvaras av ett datavärde har
18. Användning av ett kodningsmönster för lagring av text, vilket kodningsmönster (2) utgörs av sekvenspartier (4) med symboler (3) delsekvens av en sekvens som är sà anordnad att en god- som innefattar àtminstone varsin tycklig delsekvens av förutbestämd storlek av sekvensen entydigt definierar delsekvensens plats i sekvensen.
19. Minnesmedium vilket kan avläsas av en dator och pà vilket finns lagrat ett program, k ä n n e t e c k'- n a t av att programmet bringar en dator (14) att läsa in en insignal som motsvarar en bild, att, som svar på att bilden innefattar ett förutbe- (3, 24). och en av delsekvenserna entydigt motsvarar en plats i en stämt antal delsekvenser med symboler varvid var förutbestämd sekvens (32) som är så anordnad att en god- tycklig delsekvens (34, 35) av förutbestämd storlek en- tydigt definierar en plats i sekvensen (32), omvandla det förutbestämda antalet delsekvenser till information.
20. Minnesmedium enligt patentkrav 22, k ä n n e - t e c k n a t av att programmet bringar datorn att mata ut en signal till en displayenhet för presentation av datan. can..- 1
SE0000947A 2000-03-21 2000-03-21 Produkt och metod för att koda data till ett matrisformat kodningsmönster SE518962C2 (sv)

Priority Applications (9)

Application Number Priority Date Filing Date Title
SE0000947A SE518962C2 (sv) 2000-03-21 2000-03-21 Produkt och metod för att koda data till ett matrisformat kodningsmönster
AT01918040T ATE431599T1 (de) 2000-03-21 2001-03-21 Verfahren und system zum speichern eines codierungsmusters
JP2001569755A JP2003528402A (ja) 2000-03-21 2001-03-21 符号化パターンを蓄積する方法及びシステム
DE60138696T DE60138696D1 (de) 2000-03-21 2001-03-21 Verfahren und system zum speichern eines codierungsmusters
US09/812,885 US7072529B2 (en) 2000-03-21 2001-03-21 Systems and methods for information storage
EP01918040A EP1269404B1 (en) 2000-03-21 2001-03-21 Method and system for storing a coding pattern
PCT/SE2001/000596 WO2001071653A1 (en) 2000-03-21 2001-03-21 Method and system for storing a coding pattern
AU2001244911A AU2001244911A1 (en) 2000-03-21 2001-03-21 Method and system for storing a coding pattern
US11/193,445 US20060023956A1 (en) 2000-03-21 2005-08-01 Systems and methods for information storage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0000947A SE518962C2 (sv) 2000-03-21 2000-03-21 Produkt och metod för att koda data till ett matrisformat kodningsmönster

Publications (3)

Publication Number Publication Date
SE0000947D0 SE0000947D0 (sv) 2000-03-21
SE0000947L SE0000947L (sv) 2001-09-22
SE518962C2 true SE518962C2 (sv) 2002-12-10

Family

ID=20278901

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0000947A SE518962C2 (sv) 2000-03-21 2000-03-21 Produkt och metod för att koda data till ett matrisformat kodningsmönster

Country Status (7)

Country Link
EP (1) EP1269404B1 (sv)
JP (1) JP2003528402A (sv)
AT (1) ATE431599T1 (sv)
AU (1) AU2001244911A1 (sv)
DE (1) DE60138696D1 (sv)
SE (1) SE518962C2 (sv)
WO (1) WO2001071653A1 (sv)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6586688B2 (en) 2000-04-05 2003-07-01 Anoto Ab Information-related devices and methods
US7916124B1 (en) 2001-06-20 2011-03-29 Leapfrog Enterprises, Inc. Interactive apparatus using print media
US6732927B2 (en) 2001-06-26 2004-05-11 Anoto Ab Method and device for data decoding
US7202963B2 (en) 2001-06-28 2007-04-10 Anoto Ab Method for processing information
US7321692B2 (en) 2001-11-13 2008-01-22 Anoto Ab Method, device and computer program product for processing information in a memory
CN102930310B (zh) * 2002-09-26 2017-08-08 Ip解决方案株式会社 在媒介上形成点图形的方法
SE0203853D0 (sv) 2002-12-23 2002-12-23 Anoto Ab Informationskod
JP4996245B2 (ja) * 2003-04-29 2012-08-08 アノト アクティエボラーク 位置復号のための方法、装置、コンピュータプログラム及び記憶媒体
KR101062107B1 (ko) 2003-05-26 2011-09-02 아노토 아베 컴퓨터에서 프린터로 전송된 페이지-설명 코드를 포함하는 디지털 표현을 압축하기 위한 방법
SE0301548D0 (sv) * 2003-05-26 2003-05-26 Anoto Ab on-demand printing of coding patterns
WO2005001754A1 (en) 2003-06-13 2005-01-06 Anoto Ip Lic Hb On-demand printing of coding patterns
GB0321165D0 (en) * 2003-09-10 2003-10-08 Hewlett Packard Development Co Embedding data in position identification pattern
US7831933B2 (en) 2004-03-17 2010-11-09 Leapfrog Enterprises, Inc. Method and system for implementing a user interface for a device employing written graphical elements
US7453447B2 (en) 2004-03-17 2008-11-18 Leapfrog Enterprises, Inc. Interactive apparatus with recording and playback capability usable with encoded writing medium
US7853193B2 (en) 2004-03-17 2010-12-14 Leapfrog Enterprises, Inc. Method and device for audibly instructing a user to interact with a function
US20060077184A1 (en) * 2004-03-17 2006-04-13 James Marggraff Methods and devices for retrieving and using information stored as a pattern on a surface
GB0413466D0 (en) * 2004-06-16 2004-07-21 Hewlett Packard Development Co Generation of areas of position location pattern
SE0401647D0 (sv) * 2004-06-28 2004-06-28 Anoto Ab Coding and decoding of data
US7922099B1 (en) 2005-07-29 2011-04-12 Leapfrog Enterprises, Inc. System and method for associating content with an image bearing surface
US8261967B1 (en) 2006-07-19 2012-09-11 Leapfrog Enterprises, Inc. Techniques for interactively coupling electronic content with printed media
US9703404B2 (en) 2012-05-31 2017-07-11 Panasonic Intellectual Property Management Co., Ltd. Device and method for detecting position code
GB2526261B (en) 2014-04-28 2017-08-02 Gelliner Ltd Encoded cells and cell arrays
CN108665037A (zh) * 2017-04-02 2018-10-16 田雪松 数据编码方法及装置
CN110414646B (zh) * 2018-04-28 2023-05-30 深圳果力智能科技有限公司 一种机器人控制图案的生成方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69202975T2 (de) 1991-04-03 1996-02-15 Hewlett Packard Co Positionsbestimmende vorrichtung.
US5852434A (en) 1992-04-03 1998-12-22 Sekendur; Oral F. Absolute optical position determination
US5661506A (en) 1994-11-10 1997-08-26 Sia Technology Corporation Pen and paper information recording system using an imaging pen

Also Published As

Publication number Publication date
WO2001071653A1 (en) 2001-09-27
ATE431599T1 (de) 2009-05-15
EP1269404B1 (en) 2009-05-13
AU2001244911A1 (en) 2001-10-03
EP1269404A1 (en) 2003-01-02
SE0000947D0 (sv) 2000-03-21
DE60138696D1 (de) 2009-06-25
SE0000947L (sv) 2001-09-22
JP2003528402A (ja) 2003-09-24

Similar Documents

Publication Publication Date Title
SE518962C2 (sv) Produkt och metod för att koda data till ett matrisformat kodningsmönster
KR100414524B1 (ko) 복호 특성이 우수하며 단계별 에러레벨조정이 가능한2차원 코드 및 그 코드의 인코딩 디코딩 방법
US7072529B2 (en) Systems and methods for information storage
JP4982486B2 (ja) 位置および情報の符号を組み合わせるための方法およびシステム
TW492242B (en) Recording of information
US9846797B2 (en) Method for producing indicators and processing apparatus and system utilizing the indicators
US6864880B2 (en) Device and method for communication
JP4769901B2 (ja) 光学読取り用の符号化用紙
JP2846442B2 (ja) 高密度二次元記号表示法での不揮発性電気光学式読み取り専用メモリ
ES2341607T3 (es) Metodo y dispositivo de codificacion y descodificacion.
KR100815535B1 (ko) 패턴으로서 저장된 정보를 검색하는 방법 및 장치
WO2000073983A1 (en) Position determination
SE516109C2 (sv) Förfarande, system och datorprogram för dokumenthantering med hjälp av positionskodningsmönster
KR20040014336A (ko) 2d 부호의 인코딩 디코딩 방법 및 시스템
SE516310C2 (sv) Produkt med två kodningsmönster, innefattande rasterpunkter; samt förfarande, datorprogram och anordning för att avläsa kodningsmönstren
US20090236152A1 (en) System and method for data organization by identification
US20010052542A1 (en) Code image reading apparatus
JP4383961B2 (ja) デジタル情報記録担体
CN102369503A (zh) 信息读取输出装置
JP3853331B2 (ja) デジタル情報記録方法
JP2685842B2 (ja) 図面のシンボル入力方式
JP2003528509A (ja) 通信のための装置および方法
CN101872411B (zh) 微小码阵列的编码方法、解码方法以及编码和解码方法
JP5125548B2 (ja) 画像処理装置及びプログラム
JPS6432396A (en) Character recognizing device

Legal Events

Date Code Title Description
NUG Patent has lapsed