SE520045C2 - Kodningsmönster - Google Patents

Kodningsmönster

Info

Publication number
SE520045C2
SE520045C2 SE0103029A SE0103029A SE520045C2 SE 520045 C2 SE520045 C2 SE 520045C2 SE 0103029 A SE0103029 A SE 0103029A SE 0103029 A SE0103029 A SE 0103029A SE 520045 C2 SE520045 C2 SE 520045C2
Authority
SE
Sweden
Prior art keywords
coding pattern
markings
color
size
parameter
Prior art date
Application number
SE0103029A
Other languages
English (en)
Other versions
SE0103029L (sv
SE0103029D0 (sv
Inventor
Mats Petter Pettersson
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 SE0103029A priority Critical patent/SE520045C2/sv
Publication of SE0103029D0 publication Critical patent/SE0103029D0/sv
Priority to DE60229156T priority patent/DE60229156D1/de
Priority to AT02803134T priority patent/ATE409924T1/de
Priority to PCT/SE2002/001641 priority patent/WO2003042912A1/en
Priority to US10/242,358 priority patent/US7175095B2/en
Priority to EP02803134A priority patent/EP1444646B1/en
Publication of SE0103029L publication Critical patent/SE0103029L/sv
Publication of SE520045C2 publication Critical patent/SE520045C2/sv

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • 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
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • 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/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/10881Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices constructional details of hand-held scanners
    • 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
    • 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
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K2215/00Arrangements for producing a permanent visual presentation of the output data
    • G06K2215/0082Architecture adapted for a particular function

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Error Detection And Correction (AREA)

Description

25 30 35 520 045 2 cering i förhållande till den nominella positionen.
Prickarna kan exempelvis ha fyra möjliga placeringar, en på var och en av de fyra rasterlinjerna som utgår från skärningspunkten, varvid de fyra olika placeringarna kodar fyra olika värden. Koordinaterna för en punkt kodas med hjälp av ett flertal prickar, exempelvis 6*6 prickar.
Varje prick bidrar emellertid till kodningen av koordina- terna för flera punkter. Om en sensor först avläser 6*6 prickar och därefter flyttas ett prickavstànd ät sidan eller vertikalt kommer sensorn att avläsa prickar som kodar koordinaterna för en ny punkt. Denna typ av mönster där en godtycklig delyta av förutbestämd storlek definie- rar en position kallas i denna ansökan för "flytande".
Med hjälp av mönstret i ovannämnda WO 01/26032 kan koordinater för ett mycket stort antal punkter kodas, teoretiskt 4% punkter om varje punkt kodas med 6*6 prickar. Alla dessa punkter kan sägas bilda en imaginär yta. I WO Ol/48685, som också är överlåten till sökanden för föreliggande uppfinning, beskrivs hur en sådan imagi- när yta kan utnyttjas för informationshantering. Närmare bestämt dedikeras olika delområden på den imaginära ytan för olika typer av informationshantering. Man kan då styra hur information som registreras digitalt skall han- teras genom att förse underlag med positionskodnings- mönster som svarar mot olika delområden på den imaginära ytan. Ett första underlag kan exempelvis förses med ett positionskodningsmönster som medför att information som skrivs på positionskodningsmönstret och registreras digi- talt av pennan skickas till en förutbestämd dator för lagring i denna. På motsvarande sätt kan ett annat under- lag förses med ett positionskodningsmönster som medför att information som registreras digitalt med hjälp av detta positionskodningsmönster skickas som ett e-mail till en adress som anges av användaren på underlaget.
Det framgår av ovanstående att det finns ett intres- se av att det totala positionskodningsmönstret skall kunna koda koordinater för ett så stort antal punkter som 10 15 20 25 30 35 520 045 3 möjligt. Detta gäller inte bara för det ovan beskrivna positionskodningsmönstret utan för alla kodningsmönster som kan användas för informationshantering. Exempel på andra kodningsmönster finns i US-A-5 168 147 och US-A-5 245 165.
En möjlighet att koda koordinater för fler punkter skulle kunna vara att öka det antal värden som varje markering kan koda. I ovanstående exempel skulle man alltså låta varje prick ha mer än fyra olika möjliga placeringar för kodning av mer än fyra olika värden. Ju fler olika placeringar man tillåter, desto svårare blir det emellertid att avkoda mönstret på ett korrekt sätt.
I WO Ol/48685 beskrivs vidare att pennan som regist- rerar positionskodningsmönstret kan lagra olika digitala mallar eller sidlayouter, som definierar hur informatio- nen på fysiska underlag med positionskodningsmönster skall tolkas. En mall kan exempelvis specificera att ett underlag med motsvarande positionskodningsmönster har ett första fält som är avsett för ett meddelande, ett andra fält som är avsett för en e-mailadress som skall ICR- tolkas (ICR= Intelligent Character Recognition), och ett tredje fält, som utgör en sändbox som användaren kryssar i för att initiera ivägskickande av registrerad informa- tion.
Sàsom vidare beskrivs i WO Ol/48685 kan positions- kodningsmönstret arrangeras på olika sätt på det fysiska underlaget. Enligt ett första alternativ kan positions- kodningsmönstret pà underlaget vara kontinuerligt, vilket innebär att det motsvarar ett sammanhängande område på den imaginära ytan. Den enhet som skall tolka och be- handla den från underlaget registrerade digitala informa- tionen, mäste då känna till layouten på underlaget, dvs vilka fält som finns på underlaget och var dessa är pla- cerade. Om man tillåter många olika layouter, vilket naturligtvis är önskvärt, måste en stor mängd information lagras så att den är tillgänglig för den enhet som skall behandla informationen. Detta är i synnerhet ett problem lO 15 20 25 30 35 520 045 4 om behandlingsenheten har begränsad minneskapacitet och/eller det är omständligt att ändra informationen när den väl har lagrats. Detta kan exempelvis vara fallet om behandlingsenheten utgörs av en bärbar användarenhet, sàsom pennan i WO Ol/48685.
Enligt ett andra alternativ kan positionskodnings- mönstret pà underlaget motsvara flera separata delområden på den imaginära ytan sà att en diskontinuerlig layout erhålles. Positionskodningsmönstret i det första fältet kan då exempelvis motsvara ett första delomràde på den imaginära ytan som är dedikerat för meddelandeinforma- tion, positionskodningsmönstret i det andra fältet mot- svara ett andra delomràde som är dedikerat för adress- information som skall ICR-behandlas och positionskod- ningsmönstret i det tredje fältet motsvara ett delomràde som är dedikerat för sändboxar. I detta fall är alltsä placeringen av fälten pà underlaget inte relaterad till placeringen av motsvarande delområden pà den imaginära ytan. Med detta alternativ behöver den enhet som skall tolka och behandla den digitala informationen fràn under- laget lagra en mindre mängd information eftersom den bara behöver känna till koordinaterna för de olika fälten.
I vissa situationer är emellertid den kontinuerliga layouten ändà att föredraga. Om mönstret är av flytande typ kommer positioner inte att kunna definieras i ett gränsomràde mellan tvà olika fält i den diskontinuerliga layouten eftersom prickarna i gränsomrádet inte kodar koordinater för angränsande punkter på den imaginära ytan. Ett sätt att lösa detta problem är att inte ha något positionskodningsmönster i gränsomrádet så att punkter tillhörande det ena eller andra fältet kan de- tekteras entydigt. Sådana gränsomràden utan positions- kodningsmönster kan vara ej önskvärda, speciellt när produkten är liten. Därför vore det fördelaktigt om man kunde använda sidlayouter eller mallar med kontinuerligt positionskodningsmönster utan att den enhet som skall behandla informationen behöver lagra den specifika lay- 10 15 20 25 30 520 045 5 outen för varje tänkbar layout på det fysiska underlaget.
Detta är speciellt önskvärt när olika parter skall till- låtas själva producera underlag med olika layouter sam- tidigt som den digitala informationen som registreras från dessa underlag skall kunna behandlas i en eller ett fåtal centrala enheter vilkas layoutdatabaser inte kan uppdateras varje gång en part vill använda en ny, icke tidigare definierad layout eller i användarenheter med begränsad minneskapacitet och där det är svårt att upp- datera layoutdatabasen efter tillverkningen när använ- daren erhållit användarenheten.
Sammanfattning av uppfinningen Ett ändamål med föreliggande uppfinning är således att helt eller delvis lösa ovanstående problem.
Detta ändamål uppnås med hjälp av en produkt enligt patentkrav l, ett förfarande för kodning enligt patent- krav 13, en anordning för kodning enligt patentkrav 21, ett förfarande för avkodning enligt patentkrav 27, en anordning för avkodning enligt patentkrav 34.
Enligt en första aspekt av uppfinningen avser denna således en produkt som är försedd med ett kodnings- mönster, vilket kodar positionsinformation i form av koordinater för ett flertal punkter på_produkten med hjälp av ett flertal till varje punkt hörande marker- ingar, vilka har en första parameter som varierar för kodning av positionsinformationen. Markeringarna har vidare en andra parameter som varierar för kodning av ytterligare information i kodningsmönstret.
Istället för att koda ytterligare information i kodningsmönstret med hjälp av samma parameter, såsom placeringen i det inledningsvis nämnda exemplet, används således en annan parameter, såsom färg eller storlek, för att koda den ytterligare information. Den ytterligare informationen blir då enklare detekterbar med en sensor, eftersom informationen nu kodas i två olika "dimensio- ner". Därmed minskar risken för feldetekteringar.
L L-@.zcaL-zciieav ss i2;2::2-c§~;f ~t“ëw:«« »f 10 15 20 25 30 35 520 045 6 Markeringarna kan vara optiskt detekterbara och den första och den andra parametern kan därmed också vara optiskt detekterbar. Parametrarna kan typiskt avse form, färg, gráskala, storlek, vinkelläge, placering och/eller fyllnadsgrad hos markeringarna.
Kodningsmönstret kan vara av den inledningsvis nämnda typen som beskrivs i WO 01/26032, men principerna för uppfinningen är också tillämpbara pà andra positions- kodningsmönster som är uppbyggda av ett flertal diskreta markeringar, som var och en kan koda minst tvà olika värden.
Enligt en utföringsform är den första och den andra parametern något av följande par: placering och storlek; placering och färg; storlek och placering; storlek och form; storlek och färg; form och placering; form och färg; form och storlek; färg och placering; färg och storlek; och färg och form. En föredragen kombination är placering och storlek, eftersom dessa parametrar är jäm- förelsevis enkla att detektera.
Den ytterligare informationen kan vara ytterligare positionsinformation, varvid variationen i den andra parametern gör det möjligt att koda minst tvà ytterligare värden för varje markering. I det inledningsvis relate- rade fallet där en markering kodar fyra olika värden med hjälp av fyra olika placeringar, skulle man genom att variera en andra parameter hos markeringen mellan tvà olika värden, exempelvis parametern "storleken" mellan värdena "liten" och "stor", kunna koda àtta olika värden för varje markering, vilket således skulle möjliggöra kodning av koordinater för 8% punkter i det tidigare exemplet där varje punkt kodades med 6*6 markeringar.
Den ytterligare informationen kan alternativt vara annan information än positionsinformation och den kan då bilda ett andra informationsskikt, varvid positionsinfor- mationen utgör det första informationsskiktet. Det andra informationsskiktet kan exempelvis innehålla höjdinfor- 10 15 20 25 30 35 520 045 7 mation relaterad till positioner pà en karta som kodas med positionsinformationen.
Det är vidare tänkbart att koda ytterligare informa- tion i det andra informationsskiktet med mycket hög re- dundans sä att när en viss mängd positionsinformation har registrerats digitalt med hjälp av positionskodnings- mönstret har ocksà den ytterligare informationen som finns i det andra informationsskiktet med mycket hög sannolikhet registrerats. Den ytterligare informationen skulle exempelvis kunna vara en adress, till vilken informationen som registreras digitalt med hjälp av positionskodningsmönstret skall skickas.
Den ytterligare informationen kan vidare användas för att definiera minst två olika områden eller fält pà kodningsmönstret. Omràdena kan definieras genom att den andra parametern ges ett värde i det ena omrâdet och ett annat värde i det andra området. Denna möjlighet att definiera områden i kodningsmönstret så att det fràn den digitalt registrerade informationen går att utläsa med vilket område informationen är associerad kan användas för att reducera det inledningsvis nämnda problemet med lagring av sidlayoutinformation. En part som vill åstad- komma en ny layout, exempelvis med ett adressfält överst pà en sida i stället för nederst pà en sida, skulle, med hjälp av den andra parametern, kunna definiera ett adressfält överst pà en sida med kontinuerligt positions- kodningsmönster. Detta förutsätter naturligtvis att det i den enhet som skall tolka den digitalt registrerade informationen definierats att information med ett visst värde pà den andra parametern skall tolkas som adress- information. Tekniken att med hjälp av den andra para- metern måla digitalt detekterbara områden pà positions- kodningsmönstret ger samma fördelar vad gäller behov av informationslagring som användningen av sidlayotter med diskontinuerligt positionskodningsmönster.
Den ytterligare informationen kan alternativt defi- niera om ett förutbestämt omráde i kodningsmönstret är lO 15 20 25 30 35 520 045 8 aktiverat eller ej. En layout kan då innefatta flera på olika ställen placerade områden med samma funktion, exempelvis flera adressfält eller flera sändboxar. En part som skall utnyttja layouten kan då med hjälp av den andra parametern koda ytterligare information i kodnings- mönstret, vilken ytterligare information anger om mot- svarande punkter tillhör ett aktiverat område eller ej.
Enheten som skall behandla den registrerade informationen vet då exempelvis om koordinater som registrerats från ett sändboxområde skall tolkas som en sändinstruktion eller, om sändboxen i fråga inte är aktiverad, som en annan typ av fördefinierad information.
Den ytterligare informationen kan såsom framgått ovan definiera hur koordinater som registreras från nämnda minst två olika områden skall behandlas. Uppfin- ningen skulle alltså kunna beskrivas som en produkt med ett kodningsmönster, vilket kodar koordinater för ett flertal punkter på produkten genom variation av en första parameter hos ett flertal till varje punkt hörande mar- keringar, vilket är avsett för digital registrering av information som skrivs på kodningsmönstret, och vilket innefattar minst ett första och ett andra område, varvid information som registreras digitalt är avsedd att be- handlas på olika sätt beroende på från vilket av nämnda områden som informationen som registreras och varvid det första och det andra området är kodade i kodningsmönstret genom variation av en andra parameter hos markeringarna.
Kodningsmönstret kan vidare vara indelat i ett flertal celler, vilka var och en innefattar minst två markeringar, varvid den ytterligare informationen utgörs av ett cellvärde som kodas av nämnda minst två marke- ringar för varje cell. På detta sätt kan fler olika typer av områden kodas med hjälp av den andra parametern. Om man exempelvis delar in kodningsmönstret i celler om två markeringar och varje markering kan ha två olika värden för den andra parametern, kan upp till fyra olika typer av områden kodas med olika cellvärden. 10 15 20 25 30 35 520 045 9 Cellerna kan innefatta färre markeringar än det flertal till varje punkt hörande markeringar som krävs för kodning av koordinaterna för en punkt. Om den ytter- ligare informationen används för att exempelvis definiera omràden behövs ett mindre antal cellvärden. Dà kan cel- lerna göras tämligen smá, sä att de markeringar som de- finierar koordinater för en punkt definierar flera cel- ler. Härigenom blir kodningen mer robust och felavkod- ningar upptäcks lättare.
För att ytterligare öka robustheten i kodningen kan varje markering ha ett av minst två förutbestämda värden för den andra parametern och kan varje cell innefatta minst en markering med vart och ett av de förutbestämda värdena. Eftersom det i detta fall alltid finns en mar- kering med varje möjligt värde kan markeringarna jämföras med varandra vid avkodningen. Därigenom blir det enklare att vid avkodningen fastställa värdet för en markering som har blivit distorderad vid registreringen.
Om ett första och ett andra område pà ett kodnings- mönster definieras med olika värden hos den andra para- metern för markeringarna eller med olika cellvärden kan problem uppstå i ett gränsomràde mellan det första och det andra området. Om spetsen pä pennan som användaren skriver med pà underlaget och sensorn som registrerar positionskodningsmönstret är förskjutna fràn varandra kan det nämligen innebära att användaren skriver med penn- spetsen i det första omrâdet, men sensorn registrerar kodningsmönstret i det andra området, eller omvänt. Ett sätt att åtminstone delvis lösa problemet är att làta gränsomrädet innefatta celler med det första cellvärdet och celler med det andra cellvärdet, dvs en blandning av celler med olika cellvärden. Blandningen kan indikera för den enhet som skall behandla informationen att registre- ringen av digital information är gjord i ett gränsomräde, varvid behandlingsenheten kan utnyttja information som registrerats omedelbart före och/eller omedelbart efter lO 15 20 25 30 35 520 045 10 för att avgöra om den aktuella informationen skall tolkas sàsom tillhörande det ena eller andra omrâdet.
Enligt en andra aspekt av uppfinningen avser denna ett förfarande i en kodningsanordning för àstadkommande av ett kodningsmönster som kodar positionsinformation i form av koordinater för ett flertal punkter med hjälp av ett flertal till varje punkt hörande markeringar, inne- fattande stegen att för kodningen av positionsinforma- tionen tilldela varje markering i en digital represen- tation av markeringarna i kodningsmönstret ett av minst två förutbestämda värden för en första parameter och att tilldela varje markering ett av minst två förutbestämda värden för en andra parameter för kodning av ytterligare information i kodningsmönstret.
Förfarandet kan implementeras med hjälp av ett datorprogram, som kan vara lagrat i ett minne i kodnings- anordningen eller i någon annan enhet från vilken det kan göras tillgängligt för kodningsanordningen.
Enligt en tredje aspekt pà uppfinningen avser denna en anordning för kodning av ett kodningsmönster, som kodar positionsinformation i form av koordinater för ett flertal punkter pä en yta med hjälp av ett flertal till varje punkt hörande markeringar, vilken anordning inne- fattar behandlingsorgan för bestämning av ett värde för en första parameter för varje markering och ett värde för en andra parameter för varje markering samt ett minne för lagring av markeringarnas värden för den första och den andra parametern.
Kodningsanordningen kan exempelvis vara en lämpligt programmerad dator, varvid behandlingsorganet utgörs av en processor, eller en specialanpassad hårdvara av något slag, där behandlingsorganet realiseras med exempelvis en ASIC eller en FPGA eller med något arrangemang av digi- tala och/eller analoga kretsar.
Enligt en fjärde aspekt av uppfinningen avser denna ett förfarande i en avkodningsanordning, av ett kodnings- mönster, som kodar positionsinformation i form av koor- 10 15 20 25 30 35 520 045 ll dinater för ett flertal punkter på en produkt med hjälp av ett flertal till varje punkt hörande markeringar, innefattande stegen att motta en digital representation av kodningsmönstret, att avkoda positionsinformationen med hjälp av värdet för den första parametern för åtmins- tone vissa av markeringarna i den digitala representa- tionen och att avkoda ytterligare information från kod- ningsmönstret på basis av värdet för en andra parameter för åtminstone vissa av markeringarna i den digitala representationen.
Förfarandet kan implementeras med hjälp av ett datorprogram som kan lagras i exempelvis ett minne i avkodningsanordningen eller i någon annan enhet från vilken det kan göras tillgängligt för avkodningsanord- ningen.
Enligt en femte aspekt av uppfinningen avser denna en anordning för avkodning av ett kodningsmönster som kodar positionsinformation i form av koordinater för ett flertal punkter på en produkt med hjälp av ett flertal till varje punkt hörande markeringar, vilken anordning innefattar behandlingsorgan, som är anordnade att motta en digital representation av kodningsmönstret, att avkoda positionsinformationen med hjälp av värdet för den första parametern för åtminstone vissa av markeringarna i den digitala representationen. Behandlingsorganen är vidare anordnade att avkoda ytterligare information från kod- ningsmönstret på basis av värdet för en andra parameter för åtminstone vissa av markeringarna i den digitala representationen.
Avkodningsanordningen kan exempelvis vara en dator- baserad enhet, varvid behandlingsorganet utgörs av en lämpligt programmerad processor, eller en specialanpassad hårdvara av något slag, där behandlingsorganet realiseras med exempelvis en ASIC eller en FPGA eller med något arrangemang av digitala och/eller analoga kretsar. Avkod- ningsanordningen kan utgöra en fristående enhet, såsom en lO 15 20 25 30 35 520 Û45 12 handhållen användarenhet, eller finnas inbyggd i en fax, scanner eller liknande apparat.
Det skall påpekas att kodningsanordningen och avkod- ningsanordningen kan ha organ för utförande av vart och ett av stegen i ovan beskrivna kodnings- och avkodnings- förfarande. Organen kan exempelvis bestå av programkod för utförande av de olika stegen.
Kortfattad figurbeskrivning Föreliggande uppfinning skall nu beskrivas genom utföringsexempel under hänvisning till bifogade rit- ningar, pà vilka: Fig 1 visar schematiskt ett system för informations- hantering, vilket system utnyttjar ett kodningsmönster för styrning av informationshanteringen.
Fig 2 visar ett exempel på kodning av ett känt posi- tionskodningsmönster med hjälp av enbart en första para- meter.
Fig 3 visar ett exempel pà kodning av ett kodnings- mönster med hjälp av en första och en andra parameter.
Fig 4 visar indelning i celler av ett kodnings- mönster av samma typ som i fig 3.
Fig 5 visar ett exempel pà en sidlayout.
Fig 6 visar schematiskt ett exempel pà kodning av ytterligare information.
Fig 7 visar schematiskt en kodningsanordning.
Fig 8 är ett flödesschema och visar ett exempel pà hur kodning av ett kodningsmönster kan utföras.
Fig 9 visar schematiskt en avkodningsanordning.
Fig 10 är ett flödesschema och visar ett exempel på hur avkodning av ett kodningsmönster kan utföras.
Beskrivning av utföringsexempel I fig 1 visas schematiskt ett system för informa- tionshantering, i vilket föreliggande uppfinning kan utnyttjas. Systemet innefattar ett underlag 1 i form av ett papper, en användarenhet 2 och en extern enhet 3.
Pappret är försett med ett kodningsmönster 4 av vilket endast en liten del schematiskt indikeras i uppförstorat 10 15 20 25 30 35 520 045 13 skick. Användarenhet 2 kan användas för att skriva på pappret l och för att samtidigt registrera det som skrivs i digital form. Den digitalt registrerade informationen kan behandlas i användarenheten 2 och/eller den externa enheten 3, till vilken den kan skickas automatiskt (on- line) eller pä signal fràn användaren.
Positionsinformationen i kodningsmönstret 4 kan vara kodad pä det sätt som beskrivs i WO 01/26033. Såsom visas i fig 2 kodas positionsinformationen då med hjälp av markeringar 20, som här har formen av prickar. Varje prick har en nominell position 21 som ges av skärnings- punkten mellan linjerna 22 i ett raster. Rastret kan vara virtuellt, men visas här för äskàdlighetens skull med hjälp av streckade linjer. Varje prick kan finnas på en av fyra förutbestämda platser i förhållande till den nominella positionen, nämligen pä en rasterlinje ovanför, till höger, nedanför eller till vänster om den nominella positionen. I fig 2 visas exempel pà dessa olika place- ringar. Beroende på placeringen, kan pricken exempelvis koda bitparen (0,0; 0,1; 1,0; och 1,1). Placeringen utgör alltsà ett exempel pä en första parameter för kodning av positionsinformation i ett kodningsmönster.
I kodningsmönstret 4 i fig 1 kodas ytterligare information utöver positionsinformationen. För kodningen av den ytterligare informationen utnyttjas en andra parameter hos prickarna. I fig 3 visas ett exempel pà detta. Varje prick har nu förutom en placering även ett förutbestämt storleksvärde. I detta exempel har varje prick antingen storleksvärdet "stor" (se exempelvis "liten" På detta sätt kan varje prick koda 23, dvs 8 pricken 31) eller storleksvärdet (se exempelvis pricken 32). olika värden, vilket möjliggör kodning av ett större mönster än tidigare, om den andra parametern används för positionsinformation.
I detta exempel används emellertid den andra para- metern för att koda annan information än positionsinfor- mation. För detta ändamål och för ökning av robustheten i lO 15 20 25 30 35 520 045 14 kodningen är kodningsmönstret, såsom schematiskt visas i fig 4 indelat i celler 40. Cellerna är normalt inte mar- kerade på det underlag på vilket kodningsmönstret finns utan är virtuella celler. För åskådlighetens skull är de emellertid markerade i fig 4 med streckade linjer 41.
Däremot visas inte rasterlinjerna i fig 4.
I detta exempel innehåller varje cell fyra prickar.
Celler med ett annat antal prickar kan naturligtvis an- vändas. Cellerna behöver heller inte vara kvadratiska som i detta exempel, utan kan ha andra former, såsom rek- tangulära, triangulära eller hexagonala. Den föredragna formen kan påverkas av utformningen av rastret för prickarna. Alla celler behöver inte nödvändigtvis vara lika stora, bara deras utsträckning går att bestämma.
Såsom framgår i fig 4 överlappar cellerna vidare inte varandra, utan de är fasta i förhållande till mönstret, vilket gör att deras placering är enkel att bestämma så snart positionsinformationen i kodnings- mönstret har avkodats. I detta exempel kodas varje punkts koordinater med 6*6 prickar. Vidare är kodningen "flyt- ande", vilket innebär att varje delområde i kodnings- möïstret som omfattar 6*6 prickar kodar koordinater för en unik punkt. Koordinaterna är definierade för den övre vänstra pricken i varje 6*6-delområde. Detta faktum kan utnyttjas för att bestämma cellernas placering. Om cel- lerna läggs ut med början i det övre vänstra hörnet, som har koordinaterna x=0 och y=0, på det totala positions- kodningsmönstret kommer varje cells övre vänstra hörn att ha en jämn x-koordinat och en jämn y-koordinat, vilket således kan utnyttjas för bestämning av cellernas place- ring på en godtycklig del av kodningsmönstret.
För att öka robustheten i kodningen innehåller varje cell i detta exempel vidare antingen enbart små prickar eller två stora prickar och två små prickar. De två stora prickarna kan väljas bland de fyra prickarna på (41/(2!*2!)) = 6 olika sätt. Med hjälp av den andra parametern kan man alltså i detta fall koda 1 + 6 = 7 lO l5 20 25 30 35 520 045 15 olika cellvärden, varvid cellerna med enbart små prickar lämpligen används för att indikera "bakgrund" där ingen ytterligare information finns kodad. Övriga cellvärden kan representera olika former av ytterligare information.
Antag att det i användarenheten 2 i fig 1 finns lagrat, i digital form, ett flertal sidlayouter som är baserade pà kontinuerligt positionskodningsmönster_ Varje sidlayout kan definieras med tvä koordinatpar som defi- nierar sidans utsträckning, exempelvis koordinatparen för övre vänstra hörnet och nedre högra hörnet pà sidan, samt två koordinatpar för vart och ett av de områden eller fält som är definierade pà sidan. Dessutom är vart och ett av fälten försedda med en indikation pá fälttypen eller fältets funktion, dvs på hur information som registreras digitalt från dessa fält skall tolkas och/eller behandlas.
I fig 5 visas ett exempel pà en fysisk sida 50 som är avsedd att användas för skickande av ett e-mail och som motsvarar en i användarenheten lagrad digital sid- layout. Pà sidan finns ett fält 51, som är avsett för grafisk information, exempelvis ett handskrivet med- delande. Nederst pà sidan finns vidare ett fält 52, som är avsett för adressinformation som skall ICR-tolkas.
Slutligen finns det ett fält eller en box 53 som är av- sedd att fyllas i av användaren när han eller hon vill skicka iväg e-mailet. Delar av sidan utanför de markerade fälten är inte avsedda för registrering av information.
Hela sidan är försedd med ett kontinuerligt kodnings- mönster (visas ej).
En användare kan fylla i relevant information på sidan 50 eftersom de olika fälten är markerade pà sidan pà ett för användaren begripligt sätt. Informationen som registreras digitalt från sidan med hjälp av användar- enheten 2 bestàr av digitala representationer av del- områden av kodningsmönstret. Om nu kodningsmönstret bara skulle innehålla positionsinformation, såsom är fallet i fig 2, skulle den digitalt registrerade informationen lO 15 20 25 30 35 520 045 16 inte innehålla någon information om frän vilket fält informationen är registrerad. Eftersom användarenheten innehåller den digitala beskrivningen av sidlayouten kan användarenheten emellertid bestämma fràn vilket fält informationen är registrerad och därmed hur den skall behandlas och/eller tolkas.
Antag nu emellertid att en part vill ha en layout med adressfältet 52 och sändboxen 53 överst pä sidan istället för nederst och att en sådan sidlayout inte är fördefinierad i användarenheten 2. Det räcker dä inte att ändra layouten på den fysiska sidan utan det mäste också finnas eller skapas en motsvarande digital layout sä att användarenheten kan tolka den digitalt registrerade informationen och behandla denna pä korrekt sätt. Om bara layouten ändras pà den fysiska sidan och samma positions- kodningsmönster används pà denna kommer användarenheten tolka den digitalt registrerade informationen med hjälp av den mot fig 5 svarande digitala layouten. Om använ- daren då skriver en e-mailadress överst pä sidan i det pà den fysiska sidan markerade adressfältet kommer användar- enheten likväl bara att tolka informationen som medde- landeinformation för enligt den digitala layouten kommer informationen fràn meddelandefältet 51. Vid tolkningen är det alltsá den digitalt lagrade sidlayouten som gäller och den kan vara svär att ändra för en part som vill ha en annan layout än de som finns fördefinierade.
Ett sätt att lösa detta problem är att i en och samma digitala layout definiera flera alternativa fält, exempelvis ett adressfält nederst pà sidan och ett överst pà sidan och att använda den ytterligare informationen som kodas i kodningsmönstret i fig 3 för att markera om ett fält är aktiverat eller inte. På den fysiska sidan kodas dä fält som skall vara aktiverade med ett första cellvärde och fält som inte skall vara aktiverade med ett andra cellvärde. Alternativt kan aktiva fält kodas med ett första värde pà den andra parametern och inaktiva fält kodas med ett andra värde pà den andra parametern, 10 15 20 25 30 35 520 045 17 varvid exempelvis alla markeringar i ett aktivt fält görs stora för att markera att fältet är aktivt. Som ett yt- terligare exempel kan markeringarnas värden variera pà ett förutbestämt sätt i ett aktivt fält, exempelvis varannan stor och varannan liten, medan alla markeringar i ett inaktivt fält har ett och samma värde.
En kodning av ovan beskrivet slag kan enkelt åstad- kommas vid framställningen av den fysiska sidan. I an- vändarenheten behöver dessutom bara tillföras information om hur aktiva/inaktiva fält kodas.
En alternativ lösning på ovanstående problem är att definiera olika typer av fält eller omràden fràn vilka registrerad digital information skall tolkas och/eller behandlas på olika sätt. De olika fälttyperna kan kodas med hjälp av olika cellvärden. I enheten som skall be- handla den digitalt registrerade informationen behöver då bara finnas en enda sidlayout med kontinuerligt posi- tionskodningsmönster samt en tabell över innebörden av de olika cellvärdena. En part som vill skapa en fysisk sida med en egen layout kan dä "màla upp" layouten med hjälp av de olika cellvärdena.
Om användarenheten 2 har en pennspets och en sensor som är förskjutna i förhållande till varandra kan, såsom redan nämnts, problem uppkomma i ett gränsomràde mellan tvà fält eller områden genom att pennspetsen pekar pà ett första fält medan sensorn registrerar kodningsmönstret i ett andra fält. Problemet kan åtminstone delvis avhjälpas genom att cellvärdena i gränsomràdet kodas pá ett spe- cifikt sätt så att behandlingsenheten kan fastställa att de registrerade koordinaterna härrör fràn ett gränsomràde och därför bör behandlas pà ett speciellt sätt.
Ett sätt att koda gränsomràdet är att blanda cell- värden fràn de bàda angränsande fälten i ett schack- mönster. Ett annat sätt är att låta cellvärdena gradvis skifta fràn det ena fältets cellvärde till det andra fältets cellvärde sà att behandlingsenheten därigenom kan bestämma var i gränsomràdet som koordinaterna registre- 10 15 20 25 30 35 520 045 18 rats. Naturligtvis kan man skapa mera komplicerade lay- outer genom att blanda celler med två eller flera olika cellvärden på mera avancerade sätt.
Ett exempel på en mera avancerad kodning visas i fig 6. Antag att sensorn registrerar 8*8 markeringar, att celler med 2*2 markeringar används och att sensorn ser 4*4 celler, såsom visas i mitten av fig 6, där cellerna som sensorn ser är betecknade med 60. I ett gränsområde är man ju emellertid mer intresserad av den ytterligare information som finns vid pennspetsen än den ytterligare information som sensorn ser. Man kan då låta var och en av cellerna inom ett 4*2-cellområde koda cellvärdet hos en cell som befinner sig på samma avstånd från sensorn som pennspetsen gör i åtta olika riktningar. I fig 6 visas detta schematiskt med omgivande celler 61. Varje cells 60 och 61 cellvärde är markerat i cellen och streckade linjer 62 visar sammanhörande celler. Det framgår då att det åtta översta cellerna 60 och de åtta nedersta cellerna 60 som sensorn i detta fall ser kodar värdena hos de omgivande åtta cellerna 61. Genom avkod- ning av den ytterligare information i kodningsmönstret som sensorn registrerar kan man alltså bestämma den ytterligare informationen som finns i kodningsmönstret vid pennspetsen för olika vridningar av pennan, varigenom det exempelvis blir möjligt att bestämma om pennspetsen befinner sig i ett aktiverat fält eller ej.
Kodningen av kodningsmönstret kan ske i en kodnings- anordning, exempelvis hos en part som vill skapa en sida med speciell layout för informationshantering. Ett exem- pel på en kodningsanordning visas schematiskt i fig 7.
Kodningsanordningen, som exempelvis kan realiseras med en vanlig persondator, innefattar en processorenhet 70 som förutom själva processorn 71 innefattar ett arbetsminne 72 och ett programminne 73 vilket lagrar ett program för åstadkommande av kodningsmönstret. Kodningsanordningen innefattar vidare inmatningsorgan 74, som gör det möjligt för en användare att mata in information om en önskad 10 15 20 25 30 35 520 045 19 sidlayout till processorenheten. Inmatningsorganet 74 kan exempelvis vara ett tangentbord eller en mus eller någon motsvarande inmatningsenhet som normalt används till- sammans med en dator. Till kodningsanordningen kan vidare finnas kopplad en enhet 75 som på basis av den digitala representationen av kodningsmönstret anbringar kodnings- mönstret på en produkt. Enheten kan exempelvis utgöras av en skrivare som skriver ut kodningsmönstret på ett papper eller någon form av tryckanordning.
I det följande skall beskrivas hur kodningen går till under hänvisning till flödesschemat i fig 8.
I ett första steg 80 mottar processorn en indikation på för vilket koordinatområde som koordinater skall kodas. Indikationen kan komma som en direkt eller be- arbetad insignal från användaren, som exempelvis väljer en av flera sidlayouter eller mallar. En mall eller lay- outs utsträckning kan definieras med hjälp av ett koordi- natpar som definierar det övre vänstra hörnet för mallen, samt en bredd och en höjd på sidan. Om dessa värden inte finns lagrade för mallen kan de ges direkt av användaren.
I samband med detta steg allokeras utrymme i arbetsminnet 72 för lagring av en digital representation av kodnings- mönstret. För varje markering som ingår i kodnings- mönstret räknar processorn därefter i steg 81 ut ett värde för en första parameter, som i detta exempel är placeringen av markeringen, enligt en förutbestämd algoritm. Hur en sådan algoritm kan vara uppbyggd framgår i ovannämnda WO Ol/26033. Värdet för den första para- metern för respektive markering lagras i en första matris i arbetsminnet 72 . Värdet kan exempelvis ges som ett tal mellan O och 3, där O betyder att markeringen är för- skjuten åt höger från sin nominella position, 1 att den är förskjuten uppåt, 2 att den är förskjuten åt vänster och 3 att den är förskjuten nedåt.
Härefter mottar processorn 71 en indikation på ut- sträckningen av minst ett fält som skall markeras eller aktiveras genom utnyttjande av den andra parametern, steg l0 15 20 25 30 35 520 045 20 82. Denna indikation kan exempelvis komma i form av en direkt eller bearbetad insignal fràn användaren, varvid fältet beskrivs med hjälp av ett koordinatpar som defi- nierar det övre vänstra hörnet för fältet, bredden och höjden pä fältet räknat i antal celler samt cellvärdet eller cellvärdena som skall definieras i fältet. På basis av insignalen bestämmer processorn en andra matris som definierar cellvärdena för hela mallen och som utgör in- signal till nästa steg i kodningen. I det följande steget bestämmer processorn pà basis av den andra matrisen och i enlighet med en förutbestämd algoritm även ett värde för en andra parameter för var och en av markeringarna, steg 83, och lagrar dessa utràknade värden i minnet. Närmare bestämt bestämmer processorn en tredje matris som har samma storlek som den första matrisen, varvid den till- ordnar varje markering värdet noll eller fyra, där noll indikerar liten prick och fyra stor prick. Algoritmen för att beräkna värdet för den andra parametern kan bestämmas av fackmannen utifrån beskrivningen ovan av hur den andra parametern kan användas. Slutligen läggs den första och den tredje matrisen ihop genom att värdena pä samma plats adderas sä att en fjärde matris bildas där varje element har ett värde mellan noll och sju. Varje element mot- svarar en markering i mönstret och definierar dess pla- cering och storlek enligt följande: = liten prick, förskjuten ät höger = liten prick, förskjuten uppåt = liten prick, förskjuten àt vänster = liten prick, förskjuten nedåt stor prick, förskjuten åt höger = stor prick, förskjuten uppåt = stor prick, förskjuten åt vänster flöïUlvlë-LANI-*O ll = stor prick, förskjuten nedàt När kodningen är klar kan kodningsmönstret om sä önskas skrivas ut med skrivaren 75. Den fjärde matrisen kan exempelvis skickas till ett program som genererar en PostScript-fil för direkt utskrift pà en skrivare. 10 15 20 25 30 35 520 045 21 I fig 9 visas ett exempel pà hur användarenheten 2 i fig 1, vilken kan användas som en avkodningsanordning, kan vara realiserad.Den innefattar ett hölje 91, som är format ungefär som en penna. I höljets kortända finns en öppning 92. Kortänden är avsedd att ligga an mot eller hållas pà litet avstànd fràn den yta fràn vilken kod- ningsmönstret 4 skall registreras.
Höljet inrymmer i huvudsak en optikdel, en elektro- nikdel och en strömförsörjning.
Optikdelen innefattar minst en lysdiod 93 för be- lysning av den yta som skall avbildas och en ljuskänslig areasensor 94, exempelvis en CCD- eller CMOS-sensor, för registrering av en tvàdimensionell bild. Eventuellt kan anordningen dessutom innehålla ett optiskt system, såsom ett spegel- och/eller linssystem. Lysdioden kan vara en infraröd lysdiod och sensorn kan vara känslig för infra- rött ljus.
Strömförsörjningen till anordningen erhålls från ett batteri 95 som är monterat i ett separat fack i höljet.
Det är också tänkbart att åstadkomma strömförsörjningen via en kabel från en extern strömkälla (visas ej).
Elektronikdelen innehåller en processorenhet 96 med en processor som är programmerad till att läsa in bilder fràn sensorn och avkoda kodningsmönstret i dessa bilder, samt arbetsminne och programminne. Processorn kan vidare vara programmerad till att utföra vissa operationer pà basis av den avkodade informationen. Processorn kan exempelvis sända information till en specifik adress som ingår i den avkodade informationen som ett resultat av att den tolkar och behandlar den avkodade informationen.
Alternativt kan processorn bara skicka den avkodade informationen vidare till en annan enhet, exempelvis den externa enheten 3 i fig 1, för tolkning och behandling av informationen.
Anordningen innefattar vidare i denna utföringsform en pennspets 97, med vars hjälp man kan skriva vanlig färgämnesbaserad skrift ett underlag fràn vilket kod- 10 15 20 25 30 35 520 045 22 ningsmönstret skall registreras. Pennspetsen 97 kan vara in- och utfällbar så att användaren kan styra om den skall användas eller ej. I vissa tillämpningar behöver anordningen inte ha någon pennspets alls.
Lämpligen är den färgämnesbaserade skriften av sådan typ att den är transparent för infrarött ljus och är mar- keringarna absorberande för infrarött ljus. Genom att an- vända en lysdiod som avger infrarött ljus och en sensor som är känslig för infrarött ljus sker avkänningen av mönstret utan att ovannämnda skrift interfererar med mönstret.
Anordningen kan vidare innefatta knappar 98 med vars hjälp anordningen aktiveras och styrs. Den har också en sändtagare 99 för trådlös överföring, t ex med IR-ljus, radiovàgor eller ultraljud, av information till och från anordningen. Anordningen kan vidare innefatta en display 900 för visning av registrerad och/eller behandlad information.
Anordningen kan vara uppdelad i olika fysiska höl- jen, varvid ett första hölje innehåller komponenter som är nödvändiga för att registrera bilder av kodnings- mönstret och för att överföra dessa till komponenter som finns i ett andra hölje och som avkodar kodningsmönstret i den eller de registrerade bilderna.
I det följande skall nu beskrivas ett exempel på hur avkodningen av kodningsmönstret kan ske med hänvisning till fig 10.
I ett första steg 100 mottar processorn 96 i använ- darenheten 2 en digital representation av kodnings- mönstret som sensorn 94 registrerat lokalt vid användar- enhetens ände. Processorn avkodar därefter i steg lOl positionsinformationen i kodningsmönstret genom att identifiera markeringarna i den digitala representatio- nen, bestämma det virtuella rastret och markeringarnas placering i förhållande till dessa samt beräkna koordi- nater för varje punkt på basis av markeringarnas place- ring i enlighet med en förutbestämd algoritm. En närmare lO 15 20 25 30 35 520 045 23 beskrivning av hur positionsinformationen kan avkodas finns i WO O1/26033.
När positionsinformationen avkodats bestämmer pro- cessorn i steg 102 cellernas placering med hjälp av koordinaterna. Därefter kan processorn bestämma varje cells cellvärde genom att bestämma storleken pà marker- ingarna i den digitala representationen. Eftersom det är givet att varje cell skall innehålla tvà smä och tvä stora markeringar eller enbart fyra små markeringar kan processorn relativt enkelt bestämma vilka markeringar som är smà och vilka som är stora genom att jämföra marke- ringarnas storlekar med varandra. När storlekarna pà de olika markeringarna bestämts är cellvärdet enkelt att bestämma, exempelvis med utnyttjande av en tabell, steg 103. Eventuellt kan processorn göra en skattning av hur säkert cellvärdet är på basis av hur säker storleksbe- stämningen är för markeringarna i den aktuella cellen.
Naturligtvis kan cellvärdena bestämmas pà andra sätt. Ett alternativ är att bestämma storleken pà varje markering och att genom jämförelse med en förutbestämd eller adaptivt ändringsbar storleksfördelning, som av- speglar att markeringarna registreras i olika perspektiv och med olika belysning, bestämma sannolikheten för att varje markering är stor resp liten. Genom att multipli- cera ihop sannolikheterna för olika kombinationer av små och stora markeringar kan processorn bestämma det cell- värde som har högst sannolikhet.
När processorn har bestämt cellvärdet för ett önskat antal av de celler som syns i den digitala representa- tionen som den mottagit kan processorn utföra ett utvär- deringssteg 104 i vilket cellvärdena för flera celler jämförs och eventuella skattade eller beräknade sanno- likheter för cellvärdena korrigeras på grundval av jäm- förelsen. Om granncellerna till en aktuell cell har samma cellvärde som den aktuella cellen kan processorn exempel- vis öka den skattade/beräknade sannolikheten för att den aktuella cellen har detta cellvärde. Om flera grannceller lO 15 20 25 30 35 520 045 24 däremot har ett annat cellvärde än den aktuella cellen kan detta föranleda en sänkning av sannolikheten för den aktuella cellens cellvärde. I utvärderingssteget kan också hänsyn tas till eventuell information om cellvär- denas fördelning mellan cellerna.
När processorn slutligen bestämt vilket eller vilka cellvärden som kodas av kodningsmönstret i den aktuella digitala representationen av kodningsmönstret, kan pro- cessorn antingen själv tolka och behandla positions- informationen, dvs koordinaterna, pà basis av den av- kodade ytterligare informationen, dvs cellvärdena, eller skicka den avkodade informationen till någon annan enhet för tolkning och behandling.
Alternativa utföringsformer I exemplen ovan används ett positionskodningsmönster i vilket positionsinformationen kodas med hjälp av mar- keringarnas placering och ytterligare information kodas med hjälp av storleken hos markeringarna. Naturligtvis kan bäde positionsinformation och den ytterligare in- formationen kodas med hjälp av andra parametrar än de här exemplifierade. Som ett alternativ kan formen hos en markering användas som en parameter. Markeringarna kan exempelvis ha olika värden baserat pá om de är cirkulära, triangulära, rektangulära, stjärnformade, elliptiska, hexagonala eller formade i någon annan detekterbar form.
För att kunna detektera olika former i olika perspektiv och olika belysning kan det dock krävas en sensor med relativt hög upplösning. Som ett ytterligare alternativ kan färgen hos markeringen användas så att markeringens värde beror pà färgen. För detta ändamàl krävs dock en färgsensor eller belysning med ljus av olika våglängd.
Principen att använda en andra parameter för att koda den ytterligare informationen kan också användas för positionskodningsmönster med principiellt annorlunda uppbyggnad. Positionskodningsmönstret behöver exempelvis inte vara flytande. 10 15 20 25 30 35 520 045 25 I ovan beskrivna exempel har vidare markeringarna formen av cirkulära prickar. Naturligtvis kan markeringar av annan form användas, såsom triangulära, kvadratiska, elliptiska, rektangulära, eller hexagonala prickar.
I ovan beskrivna exempel har alla celler två stora och två små prickar eller fyra små prickar för kodning av sju olika cellvärden. Naturligtvis kan man ha mindre eller större celler med färre eller fler cellvärden som kodas med andra kombinationer av värden hos den andra parametern.
I exemplet ovan kodas den ytterligare informationen med hjälp av en andra parameter. Det skulle emellertid också vara möjligt att koda den ytterligare informationen direkt i själva positionsinformationen genom att man kodar samma position på två eller flera olika sätt be- roende på värdet för den ytterligare informationen. Detta kan exempelvis göras enligt följande. Positionskodnings- mönstret i WO Ol/26032 är baserat på en bitsekvens som har egenskapen att om man tar en delsekvens med ett för- utbestämt antal bitar ur bitsekvensen, så har denna delsekvens en entydigt bestämd plats i bitsekvensen.
Denna egenskap gäller även när man kopplar ihop början och slutet av sekvensen, vilken alltså kan betraktas som en ring. Vid kodning av positioner i exempelvis hori- sontell riktning skrivs bitsekvenserna upprepade gånger i kolumner i en vertikal riktning. Bitsekvenserna i olika kolumner skrivs med olika rotationer, varvid kolumnerna alltså påbörjas i olika positioner i bitsekvensen. Posi- tionskodningen i horisontell riktning baseras på diffe- renserna mellan ett antal angränsande kolumner. Posi- tionskodningen i vertikal riktning byggs upp på motsva- rande sätt och baseras alltså på differenserna mellan ett antal angränsande rader. Eftersom positionskodningen be- skrivs i WO Ol/26032 och inte behövs för förståelsen av hur man kodar den ytterligare informationen beskrivs den inte i närmare detalj här. Antag nu att man skapar en bitsekvens som är uppbyggd av två ringformade sektioner, 10 15 20 25 30 35 520 045 26 som var och en har ovannämnda egenskap att om man tar ut en delsekvens av förutbestämd längd sä är dennas position i den ringformade sektionen entydigt bestämd. Antag vidare att dessa bàda ringformade sektioner har en del- sekvens som är gemensam och som sàledes kopplar ihop sektionerna till en àttformad bitsekvens. Dà kan man koda en bit ytterligare information genom att definiera att delsekvenser som tillhör den första sektionen represen- terar ytterligare information i form av ett första värde, exempelvis en nolla, och delsekvenser som tillhör den andra sektionen representerar ytterligare information i form av ett andra värde, exempelvis en etta. Detta inne- bär dock att man kan koda färre positioner med hjälp av bitsekvensen eftersom delsekvenserna i den andra sektio- nen kodar samma positioner i bitsekvensen som delsekven- serna i den första sektionen. När exempelvis ett fält pà en fysisk sida med positionskodningsmönster skall kodas som aktiverat, dvs med ett första värde pà den ytter- ligare informationen, skrivs bitsekvenserna i kolumnerna och raderna pà så sätt att den första sektionen av bit- sekvensen upprepas tills det att det fält som skall vara aktiverat näs. Dä sker en övergång till den andra sek- tionen sä snart utskriften av bitsekvensen när den del- sekvens som är gemensam för den första och den andra sektionen. Därefter upprepas den andra sektionen tills slutet av fältet som skall vara aktiverat nàs varvid övergång till den första sektion sker sà snart som den gemensamma delsekvensen nàs. Eftersom bitsekvenserna skrivs med olika rotation i de olika kolumnerna kommer den gemensamma delsekvensen inte att nàs exakt samtidigt i alla kolumner. Därför kommer fältens gränser att bli aningen ojämna. För att komma ifrån detta problem kan man dock definiera att endast det område som bàde i horison- tell och vertikal led kodas med den andra sektionen av bitsekvensen definierar ett aktiverat fält. Avkodningen sker pá det sätt som beskrivs i WO 01/26032, men när en delsekvens position i bitsekvensen skall bestämmas fast- lO 15 20 25 30 35 520 045 27 ställs dä även till vilken sektion av bitsekvensen som delsekvensen hör och därmed värdet på den ytterligare informationen.
Kodningen och avkodningen kan ske med samma medel som beskrivits ovan i samband med kodning och avkodning av ytterligare information med hjälp av en andra para- meter.
Istället för en bitsekvens kan en talsekvens med annan bas användas. Vidare kan fler slingor eller sek- tioner àstadkommas i talsekvensen sà att fler värden hos den ytterligare informationen kan kodas.
När detta positionskodningsmönster anordnas på ett produkt erhålles således en produkt som är försedd med ett positionkodningsmönster, som kodar koordinater för ett flertal punkter pà produkten pà basis av en tal- sekvens som har egenskapen att en delsekvens av talsek- vensen med förutbestämd längd har en entydigt bestämd position i talsekvensen, varvid denna talsekvens har ätminstone en första och en andra sektion, som var och en har ovannämnda egenskap och varvid områden med positions- kodningsmönster pà produkten har olika egenskaper be- roende pà om de är kodade med den första eller den andra Sektionen av talsekvensen. f m1. ......=..';

Claims (39)

lO 15 20 25 30 h) (fl 520 045 Ändrade patentkrav 28 PATENTKRAV
1. Produkt som är försedd med ett kodningsmönster, vilket kodar positionsinformation i form av koordinater för ett flertal punkter på produkten med hjälp av ett flertal till varje punkt hörande markeringar, varvid markeringarna har en första parameter som varierar för kodning av positionsinformationen, k ä n n e t e c k n a d av att markeringarna har en andra parameter som varierar för kodning av ytterligare information i kodningsmönstret.
2. Produkt enligt krav l, varvid den första och den andra parametern är nàgot av följande par: placering och storlek; placering och färg; storlek och placering; storlek och form; storlek och färg; form och placering; form och färg; form och storlek; färg och placering; färg och storlek; och färg och form.
3. Produkt enligt krav 1 eller 2, varvid den ytter- ligare informationen är ytterligare positionsinformation.
4. Produkt enligt krav 1 eller 2, varvid den ytter- ligare informationen är annan information än positions- information.
5. Produkt enligt nàgot av krav l, 2 och 4, varvid den ytterligare informationen definierar minst tvà olika områden pä kodningsmönstret.
6. Produkt enligt krav 5, varvid den ytterligare informationen definierar hur koordinater som registreras från nämnda minst tvà olika områden skall behandlas.
7. Produkt enligt nàgot av krav 1, 2 och 4, varvid den ytterligare informationen definierar om ett förut- bestämt omrâde i kodningsmönstret är aktiverat eller ej.
8. Produkt enligt nàgot av föregående krav, varvid kodningsmönstret är indelat i ett flertal celler, vilka var och en innefattar minst tvà markeringar och varvid den ytterligare i¶f^rmationen utgörs av ett cellvärde som kodas av nämnda minst tvà markeringar för varje cell. (Il l0 15 20 25 30 LU Uï 520 045 Ändrade patentkrav 29
9. Produkt enligt krav 8, varvid cellerna innefattar färre markeringar än nämnda flertal till varje punkt hörande markeringar.
10. Produkt enligt krav 8 eller 9, varvid varje markering har ett av minst tvâ förutbestämda värden för den andra parametern och varvid varje cell innefattar minst en markering med vart och ett av de förutbestämda värdena.
11. Produkt enligt något av krav 8-10, varvid kod- ningsmönstret innefattar ett första område och ett andra område, och varvid cellerna i det första området har ett första cellvärde och cellerna i det andra omrâdet har ett andra cellvärde.
12. Produkt enligt krav ll, varvid ett gränsomräde mellan det första området och det andra området inne- fattar celler med det första cellvärdet och celler med det andra cellvärdet.
13. Förfarande i en kodningsanordning för kodning av ett kodningsmönster som kodar positionsinformation i form av koordinater för ett flertal punkter med hjälp av ett flertal till varje punkt hörande markeringar, innefatt- ande steget att för kodningen av positionsinformationen tilldela varje markering i kodningsmönstret ett av minst tvà förutbestämda värden för en första parameter, k à n n e t e c k n a t av steget att tilldela varje markering ett av minst tvà förutbestämda värden för en andra parameter för kodning av ytterligare information i kodningsmönstret.
14. Förfarande enligt krav 13, varvid den första och den andra parametern är nàgot av följande par: placering och storlek; placering och färg; storlek och placering; storlek och form; storlek och färg; form och placering; form och färg; form och storlek; färg och placering; färg och storlek; och färg och form.
15. Förfarande enligt krav 13 eller 14, innefattande steget att tilldela markeringar, som hör till punkter inom ett första koordinatomráde, värden för den andra (Il 10 15 20 25 30 LU U'| 520 045 Ändrade patentkrav 30 parametern som gör det möjligt att utifrån markeringarna detektera utsträckningen av det första koordinatomràdet i kodningsmönstret.
16. Förfarande enligt krav 13 eller 14, innefattande steget att markera ett förutbestämt område av kodnings- mönstret som aktiverat genom att tilldela markeringar som hör till punkter inom det förutbestämda området ett för- utbestämt värde för den andra parametern.
17. Förfarande enligt något av krav 13-16, vidare innefattande stegen att dela in kodningsmönstret i cel- ler, vilka var och en innefattar minst två markeringar och att tilldela varje cell ett cellvärde, som utgör den ytterligare informationen, varvid steget att tilldela varje markering ett värde för den andra parametern sker i beroende av cellvärdet.
18. Förfarande enligt krav 17, varvid markeringarna inom varje cell tilldelas värden så att varje cell inne- håller minst en markering med vart och ett av de förut- bestämda värdena.
19. Förfarande enligt något av krav 13-18, vidare innefattande steget att åstadkomma en produkt med kod- ningsmönster genom att anbringa kodningsmönstret med markeringar som har de tilldelade värdena för den första och den andra parametern på en produkt.
20. Datorprogram, vilket innefattar instruktioner för att bringa en dator att genomföra ett förfarande enligt något av patentkrav 13-19.
21. Anordning för kodning av ett kodningsmönster, som kodar positionsinformation i form av koordinater för ett flertal punkter med hjälp av ett flertal till varje punkt hörande markeringar, vilken anordning innefattar behandlingsorgan för bestämning av ett värde för en första parameter för varje markering och ett värde för en andra parameter för varje markering samt ett minne för lagring av narkeringarnas värden för den första och den andra parametern. 10 15 20 25 30 LU LH 520 045 Ändrade patentkrav 31
22. Anordning enligt krav 21, varvid den första och den andra parametern är något av följande par: placering och storlek; placering och färg; storlek och placering; storlek och form; storlek och färg; form och placering; form och färg; form och storlek; färg och placering; färg och storlek; och färg och form.
23. Anordning enligt krav 21 eller 22, varvid be- handlingsorganen är anordnade att tilldela markeringar, som hör till punkter inom ett första koordinatomràde, värden för den andra parametern som gör det möjligt att utifrån markeringarna detektera utsträckningen av det första koordinatomrádet i kodningsmönstret.
24. Anordning enligt krav 21 eller 22, varvid be- handlingsorganen är anordnade att markera ett förut- bestämt område av kodningsmönstret som aktiverat genom att tilldela markeringar som hör till punkter inom det förutbestämda området ett förutbestämt värde för den andra parametern.
25. Anordning enligt nàgot av krav 21-24, varvid behandlingsorganen vidare är anordnade att dela in kodningsmönstret i celler, vilka var och en innefattar minst tvâ markeringar och att tilldela varje cell ett cellvärde, som utgör den ytterligare informationen, varvid steget att tilldela varje markering ett värde för den andra parametern sker i beroende av cellvärdet.
26. Anordning enligt krav 25, varvid markeringarna inom varje cell tilldelas värden så att varje cell inne- håller minst en markering med vart och ett av de förut- bestämda värdena.
27. Förfarande för avkodning, i en avkodningsanord- ning, av ett kodningsmönster, som kodar positionsinforma- tion i form av koordinater för ett flertal punkter pä en produkt med hjälp av ett flertal till varje punkt hörande markeringar, innefattande stegen att motta en digital representation av kodningsmönstret, att avkoda positions- informationen med hjälp av värdet för den första para- metern för åtminstone vissa av markeringarna i den digi- 10 15 20 25 30 h) Ul 520 045 Ändrade patentkrav 32 tala representationen k ä n n e t e c k n a t av steget att avkoda ytterligare information fràn kodningsmönstret pà basis av värdet för en andra parameter för åtminstone vissa av markeringarna i den digitala representationen.
28. Förfarande enligt krav 27, varvid den första och den andra parametern är nàgot av följande par: placering och storlek; placering och färg; storlek och placering; storlek och form; storlek och färg; form och placering; form och färg; form och storlek; färg och placering; färg och storlek; och färg och form.
29. Förfarande enligt krav 27 eller 28, vidare inne- fattande steget att bestämma hur koordinater som regist- rerats fràn kodningsmönstret skall behandlas på basis av värdet hos den andra parametern för åtminstone vissa av markeringarna i den digitala representationen.
30. Förfarande enligt krav 27 eller 28, vidare inne- fattande steget att bestämma om ett fördefinierat omrâde i kodningsmönstret är aktiverat eller ej pà basis av värdet hos den andra parametern för markeringar som hör till punkter i omradet.
31. Förfarande enligt nàgot av krav 27-30, vidare innefattande steget att pä basis av positionsinforma- tionen dela in kodningsmönstret i celler och att bestämma ett cellvärde för varje cell pà basis av den andra para- meterns värde för cellens markeringar.
32. Förfarande enligt krav 31, vidare innefattande steget att behandla positionsinformationen i beroende av cellvärdena för motsvarande celler.
33. Datorprogram, vilket innefattar instruktioner för att bringa en dator att genomföra ett förfarande enligt nàgot av krav 27-32.
34. Anordning för avkodning av ett kodningsmönster som kodar positionsinformation i form av koordinater för ett flertal punkter pà en produkt med hjälp av ett fler- tal till varje punkt hörande markeringar, vilken anord- ning innefattar behandlingsorgan, som är anordnade att motta en digital representation av kodningsmönstret, att 10 15 20 25 30 DJ (Il 520 045 Ändrade patentkrav 33 avkoda positionsinformationen med hjälp av värdet för den första parametern för åtminstone vissa av markeringarna i den digitala representationen k ä n n e t e c k n a d av att behandlingsorganen vidare är anordnade att avkoda ytterligare information fràn kodningsmönstret pà basis av värdet för en andra parameter för åtminstone vissa av markeringarna i den digitala representationen.
35. Anordning enligt krav 34, varvid den första och den andra parametern är något av följande par: placering och storlek; placering och färg; storlek och placering; storlek och form; storlek och färg; form och placering; form och färg; form och storlek; färg och placering; färg och storlek; och färg och form.
36. Anordning enligt krav 34 eller 35, varvid be- handlingsorganen är anordnade att bestämma hur koordina- ter som registrerats fràn kodningsmönstret skall behand- las pà basis av värdet hos den andra parametern för åt- minstone vissa av markeringarna i den digitala repre- sentationen.
37. Anordning enligt krav 35 eller 36, varvid be- handlingsorganen är anordnade att bestämma om ett för- definierat område i kodningsmönstret är aktiverat eller ej pà basis av värdet hos den andra parametern för marke- ringar som hör till punkter i omràdet.
38. Anordning enligt nágot av krav 35-37, varvid be- handlingsorganen är anordnade att på basis av positions- informationen dela in kodningsmönstret i celler och att bestämma ett cellvärde för varje cell pà basis av den andra parameterns värde för cellens markeringar.
39. Anordning enligt krav 38, varvid behandlings- organen är anordnade att behandla positionsinformationen i beroende av cellvärdena för motsvarande celler. Pub1.bild = fig 3
SE0103029A 2001-09-13 2001-09-13 Kodningsmönster SE520045C2 (sv)

Priority Applications (6)

Application Number Priority Date Filing Date Title
SE0103029A SE520045C2 (sv) 2001-09-13 2001-09-13 Kodningsmönster
DE60229156T DE60229156D1 (de) 2001-09-13 2002-09-13 Produkt mit einem kodierungsmuster und verfahren, einrichtung und computerprogramm zur kodierung und dekodierung des musters
AT02803134T ATE409924T1 (de) 2001-09-13 2002-09-13 Produkt mit einem kodierungsmuster und verfahren, einrichtung und computerprogramm zur kodierung und dekodierung des musters
PCT/SE2002/001641 WO2003042912A1 (en) 2001-09-13 2002-09-13 Product with a coding pattern and method, device and computer program for coding and decoding the pattern
US10/242,358 US7175095B2 (en) 2001-09-13 2002-09-13 Coding pattern
EP02803134A EP1444646B1 (en) 2001-09-13 2002-09-13 Product with a coding pattern and method, device and computer program for coding and decoding the pattern

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0103029A SE520045C2 (sv) 2001-09-13 2001-09-13 Kodningsmönster

Publications (3)

Publication Number Publication Date
SE0103029D0 SE0103029D0 (sv) 2001-09-13
SE0103029L SE0103029L (sv) 2003-03-14
SE520045C2 true SE520045C2 (sv) 2003-05-13

Family

ID=20285301

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0103029A SE520045C2 (sv) 2001-09-13 2001-09-13 Kodningsmönster

Country Status (5)

Country Link
EP (1) EP1444646B1 (sv)
AT (1) ATE409924T1 (sv)
DE (1) DE60229156D1 (sv)
SE (1) SE520045C2 (sv)
WO (1) WO2003042912A1 (sv)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0203853D0 (sv) 2002-12-23 2002-12-23 Anoto Ab Informationskod
US7167166B1 (en) 2003-08-01 2007-01-23 Accenture Global Services Gmbh Method and system for processing observation charts
GB0321171D0 (en) * 2003-09-10 2003-10-08 Hewlett Packard Development Co A data structure for an electronic document and related methods
GB2413677A (en) 2004-04-28 2005-11-02 Hewlett Packard Development Co Digital pen and paper system using a pattern which encodes communication parameters
GB2413678B (en) 2004-04-28 2008-04-23 Hewlett Packard Development Co Digital pen and paper
SE0401647D0 (sv) 2004-06-28 2004-06-28 Anoto Ab Coding and decoding of data
US7505982B2 (en) * 2004-12-03 2009-03-17 Microsoft Corporation Local metadata embedding solution
KR101236809B1 (ko) 2005-06-17 2013-02-25 아노토 아베 위치 및 정보 코드를 결합하는 방법 및 시스템
GB2472330B (en) * 2005-07-11 2011-06-15 Longhand Data Ltd Apparatus and methods relating to voting systems
CA2767728A1 (en) * 2009-07-13 2011-01-20 Kenji Yoshida Stream dot pattern, method of forming stream dot pattern, information input/output method using stream dot patttern, and dot pattern
US10620754B2 (en) 2010-11-22 2020-04-14 3M Innovative Properties Company Touch-sensitive device with electrodes having location pattern included therein
CN109978105A (zh) * 2017-12-27 2019-07-05 田雪松 具有编码图案的基底、基于基底的编码识别方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168147A (en) * 1990-07-31 1992-12-01 Xerox Corporation Binary image processing for decoding self-clocking glyph shape codes
US5245165A (en) * 1991-12-27 1993-09-14 Xerox Corporation Self-clocking glyph code for encoding dual bit digital values robustly
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
SE517445C2 (sv) * 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
JP4822645B2 (ja) * 1999-12-23 2011-11-24 アノト アクティエボラーク ユーザ・ユニットおよびグローバル情報取り扱いシステム

Also Published As

Publication number Publication date
EP1444646B1 (en) 2008-10-01
SE0103029L (sv) 2003-03-14
WO2003042912A1 (en) 2003-05-22
SE0103029D0 (sv) 2001-09-13
ATE409924T1 (de) 2008-10-15
DE60229156D1 (de) 2008-11-13
EP1444646A1 (en) 2004-08-11

Similar Documents

Publication Publication Date Title
US7175095B2 (en) Coding pattern
US7249716B2 (en) Position-coding pattern
SE516109C2 (sv) Förfarande, system och datorprogram för dokumenthantering med hjälp av positionskodningsmönster
EP1579379B1 (en) Information code including redundant information providing copy protection
KR100735795B1 (ko) 그래픽 디자인을 위한 방법 및 시스템
US20020021284A1 (en) System and method for determining positional information
EP0615209B1 (en) Information input device, position information holding device, and position recognizing system including them
US20020033820A1 (en) Information-related devices and methods
US20020084335A1 (en) Apparatus and methods relating to image coding
SE517445C2 (sv) Positionsbestämning på en yta försedd med ett positionskodningsmönster
SE520045C2 (sv) Kodningsmönster
JP2007128484A (ja) コンピュータによって実施されるユーザ・インタフェース
SE516310C2 (sv) Produkt med två kodningsmönster, innefattande rasterpunkter; samt förfarande, datorprogram och anordning för att avläsa kodningsmönstren
KR20020065597A (ko) 일반 정보 관리 시스템
CN102171705A (zh) 具有由循环位置码的经移位的子序列编码的标记坐标的位置编码图案
US8418052B2 (en) Processing of documents
JPH04503271A (ja) 走査画素データをマッピングする方法
CN103098075B (zh) 使用光笔的绝对位置和其他信息的点码图案、打印点码方法、读取点码方法
EP1269396B1 (en) Apparatus and methods relating to images
JP2006134105A (ja) 帳票読取装置
JP2005092436A (ja) 符号情報読み出し装置、そのプログラム、及びそれを利用したペン型データ入力装置
US20090057419A1 (en) Data encoding pattern
JP2005059052A (ja) レーザマーキング装置およびレーザマーキング方法
JP6375903B2 (ja) 記入情報表示装置、記入情報表示方法及びプログラム
JP2005332351A (ja) マーク用紙およびそのプログラム

Legal Events

Date Code Title Description
NUG Patent has lapsed