SE519621C2 - Sätt att redigera data - Google Patents

Sätt att redigera data

Info

Publication number
SE519621C2
SE519621C2 SE0102502A SE0102502A SE519621C2 SE 519621 C2 SE519621 C2 SE 519621C2 SE 0102502 A SE0102502 A SE 0102502A SE 0102502 A SE0102502 A SE 0102502A SE 519621 C2 SE519621 C2 SE 519621C2
Authority
SE
Sweden
Prior art keywords
data
convex
plane
casing
stroke
Prior art date
Application number
SE0102502A
Other languages
English (en)
Other versions
SE0102502D0 (sv
SE0102502L (sv
Inventor
Mattias Bryborn
Stefan Lynggaard
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 SE0102502A priority Critical patent/SE519621C2/sv
Publication of SE0102502D0 publication Critical patent/SE0102502D0/sv
Priority to PCT/SE2002/001350 priority patent/WO2003007145A1/en
Priority to US10/193,175 priority patent/US7246321B2/en
Publication of SE0102502L publication Critical patent/SE0102502L/sv
Publication of SE519621C2 publication Critical patent/SE519621C2/sv

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/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
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Description

15 20 25 30 35 . - - v -u 519 621 2 Förutom nämnda efterbehandling av data vill den skrivande personen ibland redigera data direkt och med hjälp av handskrivanordningen. Det finns då ett behov av ett enkelt och tydligt sätt för att markera det som ska redigeras. Förekommande metoder bygger på att en sluten kurva ritas kring den text som ska redigeras. Exempel på detta ges i EP 615 209 Bl, där en variant innebär att en och alla En sluten kurva ritas med en speciell ände av pennan därmed aktiveras en raderingsfunktion som raderar data som representerar positioner innanför kurvan. annan variant innebär att två diagonalt placerade hörnpunkter i en rektangel anges med pennans vanliga skrivände. Alla data som representerar positioner inom den rektangel som spänns upp av hörnpunkterna markeras därigenom.
De kända metoderna är förhållandevis omständliga och kräver att användaren är mycket noggrann när denne utför markeringen och dessutom utför markeringen på ett speciellt sätt.
Sammanfattning av uppfinningen Ändamålet med uppfinningen är att åstadkomma en noggrann och effektiv metod för att redigera genom handskrivning genererade data, vilken metod ger en stor valfrihet vad gäller hur användaren markerar det som ska redigeras. Ändamålet uppnås med ett sätt att redigera genom handskrivning genererade data enligt bifogade patentkrav.
I enlighet med en aspekt av uppfinningen är det således åstadkommet ett sätt att redigera genom handskrivning genererade data som innefattar stegen att: - detektera en initiering av en redigering; - identifiera ett markeringsstroke som markerar data som ska redigeras; - bestämma ett väsentligen minimalt konvext hölje som omsluter markeringsstroket; ...- 10 15 20 25 30 35 = ; | . -n 519 621 i? - , . . . | 3 - identifiera de övriga data, utöver själva markeringsstrokets data, som är belägna inom det konvexa höljet; - utföra en operation på nämnda inom det konvexa och höljet belägna data.
Sättet enligt uppfinningen är användbart för många olika tekniker för att hantera handskrivningen och genereringen av data, inbegripande de två som har beskrivits ovan. Varje datamängd som avser handskrivna tecken och som har en koppling till position så att det kan avgöras vilka data en likaledes handskriven markering avser kan i princip behandlas i enlighet med sättet. Med ”skrivna tecken” menas här för övrigt allt som en person kan skriva och rita för hand. Ett tecken kan alltså exempelvis vara en bokstav, en obestämd kurva, en symbol eller en fritt dragen linje som ingår i en teckning. Ett ”konvext hölje” förstås av fackmannen som en konvex polygon som innesluter en punktmängd. Den konvexa polygonen är sådan att en linje mellan två godtyckliga punkter på polygonens rand ligger helt innanför randen.
Med ”minimalt konvext hölje” avses just den minsta möjliga konvexa polygon som innesluter en punktmängd.
Enligt uppfinningen åstadkommes en approximation i form av ett väsentligen minimalt konvext hölje. Med denna definition avses att det vid bestämningen av det konvexa höljet i vart fall ska föreligga en strävan mot det minimala konvexa höljet. Det inses dock av fackmannen att ett strikt minimalt konvext hölje i praktiken är omöjligt, eller i vart fall orealistiskt, att uppnå med tanke på att exekveringstiden måste begränsas.
”Stroke” är inom föreliggande teknikomràde den fackmannamässiga benämningen på en sammanhållen kurva som skapas mellan en pennedsättning och en påföljande pennlyftning. Motsvarande svenska term är ”penndrag”, som dock normalt inte används av fackmannen.
En väsentlig fördel med det ovan beskrivna sättet enligt uppfinningen är att användningen av det konvexa lO 15 20 25 30 35 519 621 4 höljet för att omsluta markeringsstroket gör sättet förhållandevis okänsligt för hur markeringen görs. Det krävs till exempel ingen sluten ring som i det ovan diskuterade kända dokumentet utan markeringen kan göras på det sätt som personen är van att göra vid vanlig skrivning på papper med penna, till exempel ett utdraget sick-sackstreck eller en spiralform. Det konvexa höljet anpassas i enlighet med sättet så att det blir väsentligen minimalt. Med andra ord görs det inte större än nödvändigt. I kombination med det konvexa höljets grundläggande definition innebär denna anpassning att höljet väsentligen ansluter till markeringens extrempunkter. Då det finns situationer där avståndet är litet mellan ett tecken som den skrivande personen vill redigera och ett tecken som ska förbli oförändrat är det önskvärt med en metod för att identifiera markeringen som är noggrann. Vid användning av sättet enligt uppfinningen är det möjligt att uppnå hög noggrannhet men ändå korta beräkningstider för att fastställa ett väsentligen minimalt konvext hölje.
Enligt en utföringsform av uppfinningen ingår i själva bestämningen av höljet att det konvexa höljet har en utsträckning i ett utgångsläge och att utsträckningen sedan anpassas efter den gjorda markeringen så att markeringsstroket, eller om man så vill de data som representerar markeringsstroket, precis omsluts av höljet, man så vill ligger inom höljet. Denna bildliga dvs enligt någon regel tillhör höljet, eller om terminologi är sprungen ur tanken att man åskådliggör höljet på en skrivyta genom att man ritar höljets rand runt den gjorda markeringen. Det är föredraget att höljet i utgångsläget har en minsta utsträckning som sedan utvidgas enligt någon lämplig algoritm tills markeringen omsluts. Höljet kan definitionsmässigt ha utsträckningen noll i utgångsläget.
Enligt ännu en utföringsform av uppfinningen approximeras det minimala konvexa höljet med ett konvext ...- lO 15 20 25 30 35 = » v . .n 519 621 .U .n .m 5 hölje som består av ett flertal plan som skär varandra. I denna utföringsform kan exekveringstiden för bestämningen av det konvexa höljet styras särskilt väl. För olika anordningar och olika tillämpningar kan dessutom olika antal plan och därmed enklare eller mer komplicerade beräkningar, men också en mer eller mindre approximativ avgränsning av markeringen, väljas efter resurser och behov. Med termen ”plan” åsyftas här den matematiska geometri som definieras av planekvationen Ax+By+Cz+D=O. I som åtminstone för närvarande sätts C=O. ett tvädimensionellt fall, torde vara det mest förekommande, Det innebär att planet är parallellt med z-axeln. Representationen i x~y-planet blir då en linje som ges en riktning vilken (A,B).
Man skulle därmed representeras av planets/linjens normal Linjen kan således även betraktas som en vektor. kunna tänka sig att i ett tvådimensionellt fall använda sig av den räta linjens ekvation, men för att inte förvilla läsaren bibehålls planekvationen som form för definitionen. Planekvationen är dessutom fördelaktig för datoriserade beräkningar. Termen ”plan” kommer följdenligt att användas genomgående i denna ansökan även för det fall då enbart en linje visas i en tillhörande figur.
Enligt ytterligare en utföringsform ses markeringsstroket som en formation vilken innefattar en eller flera positioner. Exempelvis för det fall där de handskrivna tecknen detekteras/läses och lagras elektroniskt erhålls vanligtvis en positionsmängd i samband med överföringen till den elektroniska representationen genom att detekteringen sker i diskreta tidsögonblick med en viss detekteringsfrekvens, eller samplingsfrekvens. Det konvexa höljets utsträckning ändras för varje position genom att man relaterar och positionen till varje plans läge, ett plan i taget, flyttar planet, om positionen enligt ett lägeskriterium ligger på utsidan om planet och därmed utanför det konvexa höljet, så att positionen ligger i eller på .u- U lO 15 20 25 30 35 . | . . n 519 621 6 insidan om planet, och därmed inom det konvexa höljet.
Uttrycket ”inom det konvexa höljet” inbegriper alltså enligt denna utföringsform gränsläget där en position ligger i ett plan. Eftersom antalet plan är konstant erhålls en konstant exekveringstid för behandlingen av varje position, vilket är fördelaktigt.
I enlighet med uppfinningen identifieras vidare de övriga data som är belägna inom höljet, dvs det eller de tecken eller den del/de delar av ett tecken som inramas av höljets rand. Dessa övriga data står att finna bland de före markeringsstroket skrivna tecknen. Närmare bestämt genomsöks data för ett eller flera före markeringsstroket utförda stroke och det bestäms för varje stroke om åtminstone en del därav ligger inom höljet. Operationen utförs sedan på antingen precis de övriga data som ligger inom höljet eller på hela stroke, även om endast en del av ett eller flera stroke är representerad bland nämnda övriga data.
Den sistnämnda utföringsformen, dvs att ett helt stroke redigeras även om bara en del av det ligger inom höljet, personen vill göra en markering som är ett enkelt streck, är till exempel fördelaktig om den skrivande exempelvis ett streck snett över ett tecken som den skrivande personen vill ta bort. När det minimala konvexa höljet till en sådan markering bestäms är det mycket troligt att endast en del av tecknet som ska strykas kommer att ligga inom höljet. Det spelar följaktligen ingen roll i denna utföringsform utan hela tecknet redigeras, förutsatt att det består av ett enda stroke eller att alla ingående stroke berörs av markeringsstrecket. Å andra sidan är det ibland angeläget att bara exakt de data som omfattas av höljet påverkas. Vilket markeringsalternativ som gäller kan vara villkorat, exempelvis av hur man utför markeringen. Det finns många tänkbara varianter, men en fördelaktig sådan är att ett väsentligen rakt streck indikerar att operationen ska .nu ...U- lO 15 20 25 30 35 = - - » - . a 519 621 u. u. . 1 v 7 utföras på hela stroke, medan alla andra markeringsformer indikerar att exakt det som ligger inom höljet ska redigeras.
Den ovan beskrivna metoden för att bestämma höljet kan i flera avseenden användas även för att bestämma vilka data som ligger inom höljet. Genom att varje stroke, i enlighet med en utföringsform representeras av en eller flera positioner kan, liksom ovan, varje positions läge i förhållande till höljets plan bestämmas och om det konstateras att positionen ligger inom höljet identifieras den som ingående i redigeringsdata.
Operationen utförs sedan med utgångspunkt i nämnda redigeringsdata.
Det finns ett flertal olika tänkbara operationer. En närliggande sådan är att ta bort ett markerat tecken, dvs att radera motsvarande data. Ett annat exempel är färgval, såsom att data, när de presenteras på en display, visas i en utvald färg. Ytterligare exempel är kopiering av det markerade tecknet och formatering, dvs val av exempelvis linjetjocklek, skuggning, teckensnitt osv.
Sättet innefattar vidare en detektering av att en redigering initieras. En sådan initiering kan utföras på olika sätt beroende på vilken teknik som används för skrivningen och genereringen av data. I enlighet med en utföringsform av sättet enligt uppfinningen detekteras att den skrivande personen placerar en handskrivanordning inom ett initieringsomräde på en yta. Med andra ord är ett särskilt initieringsomräde utmärkt på eller bredvid den skrivbara ytan. Det kan till exempel röra sig om en liten ruta som är märkt med ”Redigera” för redigering.
När anordningen läggs an mot initieringsomràdet så detekteras detta. uppfinningen leder den detekterade initieringen till att I enlighet med olika utföringsformer av antingen närmast föregående eller närmast efterföljande stroke med skrivanordningen förutsätts vara .u v» 10 15 20 25 30 35 . | - « »- 519 621 , , , . . . . s 8 markeringsstroket. Andra varianter är givetvis möjliga men mindre naturliga för den skrivande personen.
Kort beskrivning av ritninqarna Uppfinningen och ytterligare fördelar med den kommer att beskrivas närmare nedan genom utföringsexempel under hänvisning till de åtföljande ritningarna, där: fig 1 schematiskt visar ett konvext hölje i ett utgångsläge i enlighet med en utföringsform av sättet enligt uppfinningen; fig 2a-f schematiskt visar ett exempel på hur sättet enligt uppfinningen används; fig 3 visar en tillämpning av uppfinningen, där en penna används för att skriva med på ett papper som är försett med en positionskod; fig 4 visar ett alternativt sätt att markera text som ska redigeras; fig 5 visar exempel på operationsrutor för olika redigeringsoperationer; fig 6a-c visar ett enkelt principexempel på metodens tillämpning steg för steg; och fig 7 visar ett flödesschema över en utföringsform av metoden enligt uppfinningen.
Beskrivning av utförinqsformer En utföringsform av sättet att redigera genom handskrivning genererade data enligt uppfinningen kommer nu att beskrivas för det fall själva skrivutrustningen utgörs av skrivanordning 31 och en skrivyta 33 av en särskild typ som åskådliggörs i fig 3. Detta är en intressant variant av handskrivning, där skrivytan 33 är försedd med en positionskod i form av exempelvis punktgrupper av den typ som exempelvis beskrivs i sökandens internationella patentansökan med publiceringsnummer WO Ol/16691. Punkterna i punktgrupperna är förskjutna i förhållande till ett raster på ett sådant sätt att varje punktgrupp unikt kodar den position där den är belägen. Positionskoden .u i. lO l5 20 25 30 35 « . | I 1- . n.. .f n. . ~ »1 f _ ,, I :a . L v f I' ' ' , _ . .. x i - - . u w v v ' ' , . . , f. r z ß; 3; ' , , . , .. f f , I . . .w .. - .u u. 9 syns inte nämnvärt för blotta ögat utan uppfattas närmast som en gråtoning av skrivytan 33. Skrivytan 33 är exempelvis av papper. Skrivanordningen 31 är i form av en penna och används för att skriva vanlig text på skrivytan 33. Pennan är alltså försedd med bläckpatron, eller liknande, som inte visas närmare. Pennan 31 är vidare försedd med en avläsningsenhet 35, exempelvis en kamera, som avläser positionskoden på skrivytan 33, och en processor (visas ej) som är ansluten till avläsningsenheten 35 och som är inrättad att lagra och analysera data som genereras av avläsningsenheten 35. De genererade data representerar det som skrivs, dvs olika tecken såsom bokstäver, figurer, etc., på skrivytan 33.
Rent faktiskt anger data de positioner som pennan 31 avläser när användaren skriver med den. Genom att skrivanordningen 31 samtidigt detekterar början och slut av varje stroke, dvs isättning respektive upplyftning av pennan 31, utgör de lagrade data samtidigt en representation av de tecken som har skrivits.
I skrivanordningen 31 ingår vidare en sändtagare 37 för trådlös överföring av information över korta avstånd.
Förutom radio är exempelvis IR-ljus och trådförbindelse tänkbara alternativa tekniker för överföringen.
Skrivanordningen är därigenom inrättad att vidarebefordra positionsdata för de avlästa positionerna, företrädesvis trådlöst med hjälp av kortdistansradio, till en annan anordning 39, företrädesvis en server som företrädesvis nås via en PC, PDA eller liknande, eller via en mobiltelefon. Därigenom kan de skrivna tecknen enkelt skickas till exempelvis en elektronisk anordning som innefattar en display på vilken de kan visas. När data redigeras är det således möjligt att redigera data som har lagrats lokalt i pennan 31 och/eller redigera data som redan har skickats till en annan anordning.
Låt oss för enkelhets skull anta att en användare av pennan 31 har skrivit ordet ”ANDRA”, som visas i figur 2a. Användaren kommer på att en redigering behöver göras. lO 15 20 25 30 35 - . « ~ I n 519 621 ' t' .ev lO Antag att den önskade redigeringen är en borttagning, vilket är en vanlig operation. Antag att det är den sista bokstaven i ordet som ska tas bort. I denna utföringsform av uppfinningen är skrivytan 51 försedd med ett antal 55, 57, angivna operationerna är endast exempel och mänga andra operationsrutor 53, 59 som visas i figur 5. De operationer är tänkbara. En av operationsrutorna, 53, är märkt med "radera". Användaren sätter nu pennan i radera- rutan 53 för att initiera redigeringen. Pennans 31 processor detekterar att pennan 31 är placerad i en operationsruta och identifierar själva markeringsstroket 21 som det stroke vilket följer efter initieringen. Det är föredraget att användaren först anger att en redigering ska utföras och sedan utför markeringen, men den omvända ordningen och andra varianter ligger inom ramen för uppfinningen.
Användarens nästa åtgärd är att markera bokstaven som ska tas bort genom att rita ett vàgigt streck 21, se fig 2b, sätt att markera förut över bokstaven. Det är användarens personliga skrivna tecken. Principiellt är uppfinningen på intet sätt beroende av hur denna markering görs. Det är en styrka hos uppfinningen att användaren inte mäste följa strikta regler för hur markeringen ska göras. I praktiken finns det dock ett fätal grundvillkor som användaren behöver känna till för att en redigering ska beröra just den önskade delen av det skrivna, vilket kommer att förklaras närmare nedan.
Dock är det ytterst lättförstäeliga och enkelt tillämpbara villkor.
Nu vidtar bestämningen av ett konvext hölje som ska omsluta markeringsstroket 21. För att underlätta processorns arbete approximeras det konvexa höljet, kallas nedan även enbart höljet, med ett antal plan som bildar en polygon. Antalet plan varierar kraftigt med tillämpningen men som exempel kan nämnas att 50-60 plan fungerar väl i den tillämpning vid skrivning pä positionskodat papper som har beskrivits ovan. Planen är lO l5 20 25 30 35 . ... u Hf ,~ .n 1 . .V- : i' I in n .. , . . 2 - ~:;. , .. . .. . - ~ ' , , 1, ,. . .1 . . . - '_ ”f h , , , » f , f * -_f I . . , ~ »fi r- *" *' ll företrädesvis vridna kring en gemensam axel så att vinkeln mellan två godtyckliga, vinkelmässigt intill varandra belägna plan är densamma för alla plan. Med andra ord är vinklarna för planens normaler jämnt fördelade över ett helt varv. Initialt är planen belägna såsom visas i figur 1, där varje plan är representerat med en linje ll i x-y-planet, varvid höljet i princip inte har någon utsträckning eftersom samtliga plan ll har en gemensam skärningspunkt. Av tydlighetsskäl har antalet plan i figurerna valts litet och betydligt mindre än vad som är lämpligt i många verkliga tillämpningar, varför en relativt onoggrann approximation av det minimala konvexa höljet erhålls. I praktiken väljs dock antalet plan tillräckligt stort för att önskvärd överensstämmelse med det teoretiska minimala höljet ska uppnås. I vart fall àstadkoms därmed ett väsentligen minimalt hölje.
Såsom visas i figur 2f är den naturliga elektroniska representationen av ett inläst tecken en följd av positioner, som åskådliggörs med punkter i figuren, eftersom någon form av sampling sker och samplingsfrekvensen inte är oändlig. För enkelhets skull kommer begreppet punkt nedan att användas som ekvivalent för position. Metoden för att bestämma det konvexa höljet, eller om man så vill det konvexa höljets utsträckning, arbetar på markeringsstroket 21 punkt för punkt. I enlighet med vad som har beskrivits ovan jämförs varje punkts läge med läget för var och en av planen ll.
Om punkten ligger pà utsidan om planet parallellförflyttas planet sä att punkten kommer att hamna i planet. I figur 2c visas resultatet efter att samtliga punkter i markeringsstroket 21 har behandlats. I figur 2d har det av höljet omslutna området förtydligats med ett rutmönster, som inte existerar vid en verklig användning av sättet enligt uppfinningen.
Under hänvisning till flödesschemat i figur 7 i kombination med figur 6 kommer en utföringsform av bestämningen av det konvexa höljet nu att beskrivas lO 15 20 25 30 35 519 621 ¶ffü%}å,{§» 12 applicerad på ett enkelt fall. Denna bestämning utförs med fördel som en procedur i ett datorprogram. Som visas i figur 6 finns det fyra plan, som definierar det konvexa höljet, och tre positioner, som antas vara sampel av ett markeringsstroke. Positionerna åskådliggörs för tydlighets skull med väl synliga punkter 61, 62 och 63. I verkligheten har punkterna 61-63 definitionsmässigt ingen utsträckning. Punkterna 61, 62, 63 antas har tillkommit i nämnd ordning när markeringsstroket utfördes.
Bestämningen av det konvexa höljet inleds, box 701, med att de fyra planen PO, P1, P2, Planen PO-P3 fördelas därvid i vinkelhänseende ekvidistant utmed ett P3 initieras. varv kring z-axeln. För att tydligt visa principen för metoden har planen placerats med vinklarna PO: 45 grader, P1: 135 grader, P2: 225 grader och P3: Motsvarande vinklar för planens normaler NO-N3 är NO: 315 N1: N2: 135 grader och N3: Normalerna är intressanta för det är deras värden som 315 grader. grader, 45 grader, 225 grader. beräkningarna utförs pà. För att öka förståelsen är de inbördes parallella planen PO och P2 respektive P1 och P3 något inbördes förskjutna i normalriktningen. I verkligheten sammanfaller naturligtvis planen PO och P2 respektive planen P1 och P3.
Sedan identifieras, box 703, den första positionen i markeringsstroket, dvs punkt 61, och samtliga plan PO-P3 flyttas, box 705, så att de inrymmer den första punkten 61, se figur 6a. Denna förflyttning utförs närmare bestämt på följande sätt.
I enlighet med planekvationen Ax+By+Cz+D=O är C=O för samtliga plan PO-P3. När planen PO-P3 initieras väljs den första positionen i markeringsstroket som gemensam punkt, varvid D bestäms. Låt oss här för enkelhets skull anta att den utvalda punkten 61 ligger i origo i x-y- planet. Det medför att D=O. Normalerna NO-N3 definieras som enhetsnormaler, varför vi erhåller följande kombinationer av A och B samt följande planekvationer: Po; A=-1, B=1 => -x+y=o,- lO 15 20 25 30 35 - : v ; -ø 519 621 13 _l¿ A=l, B=1 => X+y=O; E_¿ A=l, B=-l => X-y=O; OCh 2_¿ A=-l, B=-l => -X-y=O.
I figurerna 6a-6c har ett rutmönster lagts in för att på ett enkelt sätt definiera och visa positionerna för punkterna 61-63. Koordinaterna (X, y) för punkterna 61-63 är följande: 6l=(0,0); 62=(2, 1); och 63=(4, -l).
Nästa steg i bestämningen av det konvexa höljet innebär att nästa position, om den finns väljs ut för behandling, box 707 och box 709. I detta fall finns en nästa position i form av punkten 62. En räknare, K, nollstàlls, box 711. Läget för punkten 62 står nu i tur att relateras till varje plan. Som lägeskriterium, box 713, används definitionen att en punkt ligger till vänster om ett plan och därmed utanför det konvexa höljet som spänns upp av planen PO-P3 om punktens koordinater införda i planets ekvation ger ett negativt resultat.
Planet flyttas då så att resultatet inte längre blir box 715. så att resultatet blir noll.
För punkt 62 första planet PO blir -x+y=-2+1=-1. negativt, I detta enkla exempel flyttas planet sker följande. Planekvationen för det Planet behöver således flyttas. Det innebär att ett nytt D bestäms enligt: -x+y+D=O => D=x-y=2-1=1. Ny ekvation för PO blir således -x+y+1=O. Planets PO nya läge framgår av figur 6b. Räknaren inkrementeras, box 717, och en kontroll görs om det nya värdet, K=1, är lika med antalet plan, dvs 4.
Om så är fallet sker ett hopp tillbaka till steg 707 och en kontroll görs huruvida det finns någon ytterligare position att behandla.
Om däremot K<4 så utförs motsvarande beräkningar för det andra planet P1 som utfördes för det första planet PO. Beräkningarna ger: x+y=2+1=3, vilket medför att planets P1 läge är oförändrat. För det tredje planet P2 erhålls: x-y=2-1=1, vilket medför oförändrat läge.
Slutligen erhålls för det fjärde planet P3: -x-y=-2-1=-3 => nytt D=3, dvs ny planekvation -x-y+3=0. lO 15 20 25 30 35 ...- . .,~- *1-1 :v f.. 1 1* ", , I I* 'l l ' ' 1 > e * . u . - ~ ' V *m , .. . i - 1 _ 1 , . - n fl = ^ . .. ¿ _ _ V _. _. . .- 14 Efter behandlingen av den andra punkten 62 har höljets utsträckning ökat och definieras av en rektangel vars hörn utgörs av skärningspunkterna mellan PO och P3; PO och Pl; Pl och P2 respektive P2 och P3. De tvà punkterna 61 och 62 är placerade i diagonalt motstäende hörn av rektangeln, närmare bestämt i skärningspunkterna mellan Pl och P2 respektive mellan P0 och P3.
Därnäst behandlas, fràn och med steg 707, den tredje -1). planet PO erhålls: -x+y+1=-4-l+l=-4. Återigen behöver punkten 63, vars koordinater är (4, För det första detta plan flyttas. Ny ekvation blir: -x+y+5=O. Lägena för övriga plan består. Märk dock särskilt att ekvationen för det fjärde planet P3 blir -x-y+3=-4+l+3=0, dvs den tredje punkten 63 ligger i det fjärde planet efter den ovan beskrivna förflyttningen. Det resulterande konvexa höljet är en ytterligare utvidgad rektangel där ny hörnpunkt istället för den andra punkten 62 är den tredje punkten 63, säsom visas i figur 6c.
Betrakta äter det mer komplexa exemplet i fig. 2c/2d. När det konvexa höljet har bestämts blir nästa steg att identifiera de övriga data, utöver själva markeringstrokets 21 data, så att det kan fastställas vilka data som redigeringen ska avse. Eftersom höljets rand, dvs polygonen, nu är definierad kan nämnda övriga data bestämmas genom att processorn jämför positionerna pä skrivytan för de lagrade stroken med positionerna för polygonens sidor. Jämförelsen gär företrädesvis till pà liknande sätt som när markeringsstrokets 21 punkter jämfördes med planens ll lägen, såsom även beskrevs närmare ovan i anslutning till fig. 6a-c. De tidigare avlästa och lagrade stroken som har utförts pà den aktuella skrivytan, närmare bestämt företrädesvis den yta pà vilken den första positionen i markeringsstroket befinner sig, behandlas således position för position och jämförs med planens lägen. Den datamängd som mäste behandlas är således med fördel begränsad till den sida pá vilken markeringen görs. Ytterligare begränsningar av lO 15 20 25 30 35 ~ 519 621 *Vf 15 datamängden kan komma ifråga. För en sådan begränsning finns i sig kända metoder att tillgå. Som exempel kan nämnas så kallade ”divide and conquer”-algoritmer. Till skillnad från vid bestämningen av höljet flyttas givetvis inte planen. Om en position ligger innanför samtliga plan så ligger punkten inom höljet, dvs i det rutmönstrade området i figur 2d. När samtliga punkter i de för behandling utvalda stroken har behandlats har data som representerar åtminstone en del av ett tecken, och i detta fall ett helt tecken, som ligger inom höljet identifierats. Den angivna operationen, här radering, utförs sedan på dessa identifierade data, varefter de lagrade data i detta fall representerar de i figur 2e visade, återstående tecknen. På skrivytan ser det naturligtvis fortfarande ut som i figur 2b. Användaren kan nu välja att antingen låta texten vara eller skriva något nytt över markeringen.
Det finns åtminstone två olika alternativ för att bestämma vilka data som användaren egentligen avser med sin markering. En aspekt är att exakt det som ligger inom höljet är det som operationen ska utföras på. Ett annat betraktelsesätt är att användaren avser endast hela stroke. Även om endast ett parti av ett stroke, i extremfallet en enda position, ligger inom höljet och resten utanför så antar man att användaren avser att göra något med hela stroket. Det sistnämnda synsättet åskàdliggörs i figur 4. Användaren har bara dragit ett streck 41 över bokstaven som ska raderas. Höljets utsträckning blir i detta fall högst begränsad och sträcker sig obetydligt utanför själva strecket 41.
Merparten av bokstaven kommer därför att ligga utanför höljet. Med tolkningen att hela stroket är aktuellt att hantera blir slutresultatet detsamma som ovan, dvs återstoden av texten blir den som visas i figur 2e. Så länge användaren får veta förutsättningarna för hur en markering tolkas är det enkelt för användaren att utföra 10 15 20 25 30 35 519 621 . . . ; . » 1 . .u 16 en markering så att denne är säker pà vad som verkligen blir redigerat.
Många olika operationer är möjliga, exempelvis de som beskrivs i sökandens internationella patentansökan PCT/SEOl/00585. I figur 5 ges exempel på nägra operationer. Den randade, làngsträckta operationsrutan 59 àskàdliggör en färgskala som kan finnas förtryckt pà ytan 51. Operationen färgval, skulle kunna åstadkommas antingen genom ett tryck med pennan 31 i rutan 59 eller i två steg med ett första tryck i rutan ”färg” 55 för att indikera typen av operation följt av ett tryck i rutan 59 för att välja färgnyansen. Denna färgvalsoperation är tänkt för val av visningsfärg för markerade tecken när de visas pà nämnda andra anordnings 39 skärm. Ytterligare exempel är andra formateringar av de markerade tecknen, respektive operationen att sända data, dvs att sända just de genom markeringen utvalda data.
Alternativa utföringsformer Ovanstående beskrivning utgör bara ej begränsande exempel pà hur uppfinningen kan realiseras. Många modifieringar är möjliga inom ramen för uppfinningen sàsom den definieras i de åtföljande patentkraven.
Ett exempel pà en alternativ utföringsform är en tillämpning pà en annan typ av utrustning för handskrivningen, nämligen en handdator eller liknande elektronisk anordning där användaren skriver direkt pà en skärm, exempelvis en LCD-skärm eller en tryckkänslig skärm, och det skrivna lagras enbart elektroniskt. I detta fall finns en äterkopplingsmöjlighet som gör att användaren direkt kan se resultatet av en redigering.
Ytterligare exempel pà andra typer av skrivutrustning är digitala white boards, digitala blädderblock, och digitala anteckningsböcker. Andra möjligheter ges även vad gäller skrivanordningens positionsbestämning. Metoden enligt uppfinningen utförs dock pà samma sätt som i fallet med penna och papper. 10 . . - . . . - . . H 519 621 .
.H H 17 Ovan har enbart tvàdimensionella tillämpningar beskrivits närmare. Uppfinningen avser även tredimensionella tillämpningar. Sättet utförs principiellt ekvivalent. Ett tillämpningsexempel är i en anordning för virtuell verklighet där en handburen enhet kan användas för att sàväl skapa tredimensionella alster som redigera desamma genom att man för omkring handen i luften.
Skillnader förekommer pà detaljnivá. Exempelvis när approximationen med plan används som beskrivning av det konvexa höljet innehåller planekvationen en variabel z- normal. Med andra ord är dä även C skilt från noll i planekvationen Ax+By+Cz+D=O.

Claims (23)

10 15 20 25 30 35 519 621 . . . ; . . l8 PATENTKRAV
1. Sätt att redigera genom handskrivning genererade data, innefattande stegen att: - detektera en initiering av en redigering; - identifiera ett markeringsstroke som markerar data som ska redigeras; - bestämma ett väsentligen minimalt konvext hölje som omsluter markeringsstroket; - identifiera de övriga data, utöver själva markeringsstrokets data, som är belägna inom det konvexa höljet; och - utföra en redigeringsoperation på nämnda inom det konvexa höljet belägna data.
2. Sätt enligt krav 1, varvid steget att detektera en initiering av en redigering utförs före steget att identifiera ett markeringsstroke och varvid markeringsstroket är det stroke som utförs i anslutning till initieringen.
3. Sätt enligt krav 1, varvid steget att detektera en initiering av en redigering utförs efter steget att identifiera ett markeringsstroke och varvid markeringsstroket är det sista stroke som utförs före initieringen.
4. Sätt enligt nàgot av kraven l-3, varvid steget att bestämma ett konvext hölje innefattar steget att ändra det konvexa höljets utsträckning fràn ett utgångsläge sà att det precis omsluter markeringsstroket.
5. Sätt enligt krav 4, varvid steget att ändra det konvexa höljets utsträckning utförs så att det konvexa höljet i utgångsläget har en minsta utsträckning som sedan utvidgas till ett erforderligt stort omràde.
6. Sätt enligt krav 4 eller 5, varvid det konvexa höljet approximeras med ett konvext hölje som består av ett flertal plan som skär varandra.
7. Sätt enligt krav 6, varvid planen är arrangerade sà att de är inbördes vridna kring en gemensam axel i nu , + lO 15 20 25 30 35 « » - . »f 519 621 19 rummet och deras vridningsvinklar är jämnt fördelade över ett varv.
8. Sätt enligt krav 6 eller 7, varvid markeringsstroket definieras som innefattande en eller flera positioner och varvid steget att ändra det konvexa höljets utsträckning för varje position innefattar stegen att: - relatera positionens läge till varje plan, ett plan i taget; och - flytta planet, om positionen enligt ett lägeskriterium ligger på utsidan om planet och därmed utanför det konvexa höljet, så att positionen ligger i eller på insidan om planet och därmed inom det konvexa höljet.
9. Sätt enligt krav 8, varvid lägeskriteriet bestäms med utgångspunkt i planekvationen Ax+By+D=O, varvid en position definieras ligga till höger om ett plan när dess X- och y-koordinater införda i Ax+By+D ger en positiv summa och till vänster om planet vid en negativ summa och varvid endera sidan om planet bestäms utgöra insidan.
10. Sätt enligt något av föregående krav, varvid steget att identifiera de övriga data, utöver själva markeringsstrokets data, som är belägna inom det konvexa höljet innefattar steget att söka efter nämnda övriga data bland data för ett eller flera förut utförda stroke, och varvid steget att utföra en redigeringsoperation innefattar steget att redigera nämnda övriga data.
11. ll. Sätt enligt något av kraven 1-9, varvid steget att identifiera de övriga data, utöver själva markeringsstrokets data, som är belägna innanför det konvexa höljet innefattar steget att söka efter nämnda övriga data bland data för ett eller flera förut utförda stroke, och varvid steget att utföra en operation innefattar steget att redigera data för hela det/de stroke som nämnda övriga data utgör åtminstone en del av. 10 l5 20 25 30 35 519 621 20
12. Sätt enligt krav 11, varvid steget att redigera data för nämnda hela stroke är villkorat av ett bestämt utförande av markeringsstroket.
13. Sätt enligt något av föregående krav, varvid steget att utföra en redigeringsoperation innefattar åtminstone någon av åtgärderna i en grupp av åtgärder som innefattar radera,
14. kopiera och formatera. Sätt enligt krav 13, varvid gruppen vidare innefattar åtgärden sända data.
15. Sätt enligt något av föregående krav, varvid det markeringsstroket omslutande konvexa höljet är polygonformigt.
16. Sätt enligt något av föregående krav, varvid steget att detektera en initiering av en redigering innefattar steget att detektera placering av en handskrivanordning inom ett initieringsområde på en yta.
17. genom handskrivning genererade data representerar tecken Sätt enligt något av föregående krav, varvid de som är handskrivna på en yta vilken är försedd med en positionskod, som kodar ett flertal positioner på ytan, varvid positionskoden är detekterbar medelst en anordning för sådan detektering.
18. innefattar en handskrivenhet, varvid ytan innefattar ett Sätt enligt krav 17, varvid nämnda anordning initieringsparti och varvid steget att detektera en initiering innefattar steget att detektera ett nedslag av anordningens handskrivenhet inom initieringspartiet.
19. Sätt att redigera data som representerar tecken vilka har registrerats vid skrivning med en handskrivanordning på en yta vilken är försedd med en positionskod, som kodar ett flertal positioner på ytan, varvid handskrivanordningen innefattar en detektor för detektering av positionskoden, k ä n n e t e c k n a d av stegen att: - detektera en initiering av en redigering; lO l5 20 25 30 35 - - « » n 519 621 21 - identifiera ett markeringsstroke, som inbegriper minst en kodad position och som markerar data vilka ska redigeras; - bestämma ett konvext hölje som omsluter markeringsstroket; - identifiera de övriga data, utöver själva markeringsstrokets data, som är belägna inom det konvexa höljet, vilka övriga data inbegriper minst en kodad position; - utföra en redigeringsoperation pà nämnda inom det konvexa höljet belägna data.
20. Sätt enligt krav 19, varvid steget att bestämma ett konvext hölje innefattar stegen att: - definiera ett utgàngshölje med minimal utsträckning; och - för varje kodad position som markeringsstroket inbegriper bestämma om positionen är belägen inom det konvexa höljet eller ej och för den händelse positionen ligger utanför höljet utvidga höljet sä att det inrymmer positionen.
21. Sätt enligt krav 20, varvid det konvexa höljet approximeras med ett konvext hölje som bestàr av ett flertal plan som skär varandra.
22. Sätt enligt krav 21, varvid steget att bestämma ett konvext hölje för varje position i markeringsstroket innefattar stegen att: - relatera positionens läge till varje plan, ett plan i taget; och - flytta planet, om positionen enligt ett lägeskriterium ligger pà utsidan om planet och därmed utanför det konvexa höljet, så att positionen ligger i eller pä insidan om planet och därmed inom det konvexa höljet.
23. Datorprogram för redigering av genom handskrivning genererade data, vilket datorprogram är lagrat pà ett datorläsbart minnesmedium och innefattar instruktioner för att bringa datorn att: 1 | - . , - 519 621 . . . « v , 22 - detektera en initiering av en redigering; - identifiera ett markeringsstroke som markerar data som ska redigeras; - bestämma ett väsentligen minimalt konvext hölje 5 som omsluter markeringsstroket; - identifiera de övriga data, utöver själva markeringsstrokets data, som är belägna inom det konvexa höljet; och - utföra en redigeringsoperation på nämnda inom det 10 ikonvexa höljet belägna data. 15 fi -m-
SE0102502A 2001-07-13 2001-07-13 Sätt att redigera data SE519621C2 (sv)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SE0102502A SE519621C2 (sv) 2001-07-13 2001-07-13 Sätt att redigera data
PCT/SE2002/001350 WO2003007145A1 (en) 2001-07-13 2002-07-05 Editing data generated by handwriting
US10/193,175 US7246321B2 (en) 2001-07-13 2002-07-12 Editing data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE0102502A SE519621C2 (sv) 2001-07-13 2001-07-13 Sätt att redigera data

Publications (3)

Publication Number Publication Date
SE0102502D0 SE0102502D0 (sv) 2001-07-13
SE0102502L SE0102502L (sv) 2003-01-14
SE519621C2 true SE519621C2 (sv) 2003-03-18

Family

ID=20284838

Family Applications (1)

Application Number Title Priority Date Filing Date
SE0102502A SE519621C2 (sv) 2001-07-13 2001-07-13 Sätt att redigera data

Country Status (2)

Country Link
SE (1) SE519621C2 (sv)
WO (1) WO2003007145A1 (sv)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200613813A (en) * 2004-05-05 2006-05-01 Koninkl Philips Electronics Nv Display device
CN112419453A (zh) * 2020-11-19 2021-02-26 山东亚华电子股份有限公司 一种基于Android系统的手写方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953735A (en) * 1991-03-20 1999-09-14 Forcier; Mitchell D. Script character processing method and system with bit-mapped document editing
US5481278A (en) * 1992-10-21 1996-01-02 Sharp Kabushiki Kaisha Information processing apparatus
JPH06266490A (ja) * 1993-03-12 1994-09-22 Toshiba Corp 情報入力装置および情報入力における位置認識システム
US5991441A (en) * 1995-06-07 1999-11-23 Wang Laboratories, Inc. Real time handwriting recognition system
US6161116A (en) * 1997-09-23 2000-12-12 Saltzman; Lawrence A. Ideogrammatic character editor method and apparatus
US6384815B1 (en) * 1999-02-24 2002-05-07 Hewlett-Packard Company Automatic highlighting tool for document composing and editing software
CN1206584C (zh) * 1999-08-30 2005-06-15 阿诺托知识产权许可贸易公司 记事本

Also Published As

Publication number Publication date
SE0102502D0 (sv) 2001-07-13
WO2003007145A1 (en) 2003-01-23
SE0102502L (sv) 2003-01-14

Similar Documents

Publication Publication Date Title
US7246321B2 (en) Editing data
US7167165B2 (en) Temporary lines for writing
JP7134169B2 (ja) 手書き図式のコネクタの管理用システムおよび方法
AU2010219367B2 (en) Ink collection and rendering
CN108475325B (zh) 用于识别手写图连接符的系统、方法及计算机可读介质
US20030210817A1 (en) Preprocessing of multi-line rotated electronic ink
SE514377C2 (sv) Teckenigenkänning
EP0701720A1 (en) Method and apparatus for grouping and manipulating electronic representations of handwriting, printing and drawings
JP6010253B2 (ja) 電子機器、方法およびプログラム
SE516109C2 (sv) Förfarande, system och datorprogram för dokumenthantering med hjälp av positionskodningsmönster
US10346681B2 (en) Method and computing device for optically recognizing mathematical expressions
JP7388645B2 (ja) グラフィックオブジェクトを選択するための方法及び対応するデバイス
US20040085358A1 (en) Glow highlighting as an ink attribute
US7427984B2 (en) Point erasing
Bogacz et al. Cuneiform character similarity using graph representations
SE519621C2 (sv) Sätt att redigera data
JPH0812668B2 (ja) 手書き校正方法
WO2014174665A1 (ja) システムおよび筆跡検索方法
Robertson et al. Live paper: video augmentation to simulate interactive paper
JP3139902B2 (ja) 図形認識方法及び装置
CN112215933A (zh) 一种基于笔式交互及语音交互的三维立体几何绘制系统
US6970877B2 (en) Reducing and controlling sizes of prototype-based recognizers
Shankar et al. Sketching in three dimensions: A beautification scheme
JPH09319828A (ja) オンライン文字認識装置
KR20160099218A (ko) 디스플레이 장치 및 디스플레이 방법

Legal Events

Date Code Title Description
NUG Patent has lapsed