KR20060129266A - 사용자 유닛의 이동을 기록하기 위한 방법, 장치, 컴퓨터프로그램 및 저장 매체 - Google Patents

사용자 유닛의 이동을 기록하기 위한 방법, 장치, 컴퓨터프로그램 및 저장 매체 Download PDF

Info

Publication number
KR20060129266A
KR20060129266A KR1020067014385A KR20067014385A KR20060129266A KR 20060129266 A KR20060129266 A KR 20060129266A KR 1020067014385 A KR1020067014385 A KR 1020067014385A KR 20067014385 A KR20067014385 A KR 20067014385A KR 20060129266 A KR20060129266 A KR 20060129266A
Authority
KR
South Korea
Prior art keywords
image
images
user unit
code
determining
Prior art date
Application number
KR1020067014385A
Other languages
English (en)
Inventor
안드레아스 브죄르클룬트
토르비외른 가르덴포르스
토마스 에드쇠
Original Assignee
아노토 아베
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
Priority claimed from SE0303370A external-priority patent/SE0303370D0/xx
Application filed by 아노토 아베 filed Critical 아노토 아베
Publication of KR20060129266A publication Critical patent/KR20060129266A/ko

Links

Images

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/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)

Abstract

위치 코드는 사용자 유닛을 이용하여 베이스 상에 필기되는 동안 이미지들의 시퀀스를 포착함으로써 기록된다. 위치 코드는 베이스 상에서 사용자 유닛의 이동을 반영하는 절대 위치의 시퀀스로 디코딩될 수 있다. 만약 예컨대 베이스 상에서 다른 그래픽에 의해 명료하지 않아서 임의의 이미지의 위치 코드가 충분하게 기록되지 않았다면, 시퀀스 내의 다른 이미지에 대한 이미지의 공간적 관계가 결정된다. 만약 이미지 시퀀스의 다른 이미지의 위치 코드가 절대 위치로 디코딩될 수 있다면, 위치 코드가 디코딩될 수 없는 이미지의 절대 위치는 공간적 관계를 이용함으로써 결정될 수 있다. 이러한 방식으로, 사용자 유닛의 이동은 베이스 상에서 동일한 인쇄 잉크가 위치 코드와 다른 그래픽에 모두 사용된 경우인, 위치코드가 불명료한 경우에도 기록될 수 있다.

Description

사용자 유닛의 이동을 기록하기 위한 방법, 장치, 컴퓨터 프로그램 및 저장 매체{METHOD, APPARATUS, COMPUTER PROGRAM AND STORAGE MEDIUM FOR RECORDING A MOVEMENT OF A USER UNIT}
본 출원은 2003년 12월 16일자로 출원된 스웨덴 특허출원 0303370-1 및 미국 분할특허출원 60/529627을 우선권으로 주장하며, 상기 특허출원들은 본 명세서에 참조로 포함된다.
본 발명은 이동의 기록, 특히 위치 코드가 제공된 베이스 위의 사용자 유닛의 이동을 기록하기 위한 방법에 관한 것이다. 이동의 기록은 예컨대 수기된(handwritten) 정보를 전기적으로 기록하기 위해 수행될 수 있다.
또한 본 발명은 이동을 기록하는데 사용될 수 있는 장치, 컴퓨터 프로그램 및 저장 매체에 관한 것이다.
수기를 하는데 사용되는 펜의 이동을 결정함으로써 수기를 디지털화하는 것은 공지되어 있다. 예컨대 이동은 펜에 장착된 하나 이상의 가속도계에 의해 결정될 수 있다. 또 다른 대안은 위치 코드가 구비된 베이스를 사용하고 베이스 상에서 핀의 이동 동안 펜의 첨단에서 국지적인 위치 코드를 기록하는 센서를 펜에 제공하는 것이다. 다음에 펜 내부에 또는 외부에 배치된 프로세싱 유닛은 위치 코드 를 일련의 위치 지표, 예컨대 베이스 상에서의 펜의 이동을 반영한 좌표로 디코딩할 수 있다.
WO 01/26033, US 5,477,012, WO 00/73983 및 WO 92/17859는 수기를 기록하는데 사용될 수 있는 위치 코드의 상이한 예를 개시한다.
특히, WO 01/75779는 폼 상에 기록된 정보의 디지털 기록을 가능하게 하는 위치 코드가 제공된 폼을 개시한다. 위치 코드에 부가하여, 베이스에는 엔트리 필드 내에 채워지는 정보를 나타내는 텍스트 및 엔트리 필드 주위의 프레임과 같은 폼 레이아웃이 제공된다.
WO 01/75779에 따르면, 폼 레이아웃은 위치 코드와 동시에 또는 상이하게 베이스 상에 인쇄될 수 있다. 위치 코드의 판독을 방해하지 않게 하기 위하여, 상이한 인쇄 잉크가 폼 레이아웃과 위치 코드에 사용된다. 폼 레이아웃을 위한 인쇄 잉크는 펜의 센서를 위해 보이지 않을 수 있다. 인쇄 코드와 폼 레이아웃이 동일한 인쇄 잉크로 인쇄된다면, 폼 레이아웃은 인쇄 코드를 부분적으로 보이지 않게 할 수 있고, 이는 폼 레이아웃에 인접한 영역 또는 폼 레이아웃에 의해 보이지 않는 영역에 있는 위치 코드를 디코딩할 수 없게 한다.
그러나, 상이한 인쇄 잉크를 사용하는 것은 실용적이지 않다. 만약 펜이 단색 프린터, 예컨대 단색 레이저 프린터를 이용하여 빈 종이에 인쇄된 폼 상에 사용된다면 보다 실용적일 것이다.
본 발명의 목적은 예컨대 위치 코드가 완전히 또는 부분적으로 다른 그래픽에 의해 분명하지 않기 때문에 위치 코드가 충분치 않게 기록될 때, 위치 코드가 제공된 베이 상에 사용자 유닛의 이동을 결정을 가능하게 하는 것이다.
본 발명의 또 다른 목적은 위치 코드 및 동일한 인쇄 잉크로 인쇄된 다른 그래픽이 제공된 베이스 상에서 사용자 유닛의 이동의 결정을 가능하게 하는 것이다.
이러한 본 발명의 하나 이상의 목적들은 독립항들에 따른 방법, 장치, 컴퓨터 프로그램 및 저장 매체에 의해 적어도 부분적으로 달성된다.
제 1 태양에 따르면, 본 발명은 베이스 상에서 사용자 유닛의 이동동안 얻어진 위치 코드의 일련의 이미지에서 적어도 하나의 이미지의 위치 코드에 기초하여 사용자 유닛의 절대 위치를 결정하는 단계; 상기 시퀀스에서 제 1 및 제 2 이미지 사이의 공간적 관계를 결정하는 단계; 및 제 1 이미지와 제 2 이미지 사이의 제 1-언급된 공간적 관계에 기초하여 사용자 유닛의 또 다른 절대 위치를 결정하는 단계를 포함하는, 위치 코드가 제공된 베이스 상에서 사용자 유닛의 이동을 기록하는 방법이다.
따라서 위치 코드는 사용자 유닛의 이동을 결정하기 위해 기록된 시퀀스에서 모든 이미지를 디코딩할 필요가 없다. 만약 사용자 유닛의 절대 위치가 특정 이미지에 대해 결정될 수 없다면, 사용자 유닛의 위치는 대안으로서 시퀀스 내의 두 개의 이미지 사이의 공간적 관계에 기초하여 결정되고 이전에 또는 이후에 절대 위치를 결정한다.
따라서 적어도 하나의 이미지 내의 위치 코드에 기초하여 사용자 유닛의 절대 위치를 결정하고 제 1 이미지 및 제 2 이미지 사이의 공간적 관계를 결정하는 단계들은 임의의 순서로 수행될 수 있다.
제 1 또는 제 2 이미지는 사용자 유닛의 제 1 언급된- 절대 위치가 결정되는 이미지와 동일한 이미지일 수 있다.
제 2 또는 제 1 이미지는 사용자 유닛의 다른 절대 위치가 결정되는 이미지와 동일한 이미지일 수 있다.
사용자 유닛의 제 1 - 언급된 절대 위치는 이미지 내의 위치 코드를 디코딩함으로써 결정될 수 있다. 또한 다른 방법이 하기 설명에 개시된 것처럼 사용될 수 있다.
사용자 유닛의 제 1 - 언급된 절대 위치를 결정할 때, 만약 이미지들 중 하나의 위치 코드가 절대 위치를 디코딩하기에 충분치 않다면 두 개 이상의 이미지의 위치 코드가 사용될 수 있다.
상기에서 자명하게 나타나듯이, 이미지들은 사용자 유닛의 위치를 결정하기 위해 항상 하나씩 처리되는 것은 아니며, 여러번에 걸쳐 여러 이미지들로부터의 정보에 기초하여 위치가 결정된다. 위치를 디코딩하기 위해 하나 이상의 이미지를 사용하는 것은 분산된 디코딩으로 불린다.
따라서, 상기 방법은 위치 코드가 제공된 베이스 상에서 사용자 유닛의 이동을 기록하는 방법으로 설명되며, 이러한 방법은 각각이 적어도 하나의 위치가 디코딩되도록 충분히 큰 위치 코드의 부분 영역에 대응하는 일련의 이미지를 기록하는 단계 및 사용자 유닛 위치를 결정하기 위해 하나 이상의 이미지로부터의 정보를 사용하는 단계를 포함한다.
본 발명은 이미지의 위치 코드가 하나 또는 또 다른 이유로 인해 디코딩될 수 없는 모든 상황에 사용될 수 있다. 따라서 위치 코드를 디코딩할 수 없는 이유는 위치 코드가 부분적으로 다른 그래픽 정보에 의해 불분명하게 되는 것을 필요로 하지 않는다. 또한 본 발명은 예컨대 위치 코드가 변형되거나 다른 이유로 베이스 상에서 정확하지 않아 절대 위치의 디코딩이 불가능할 때 또는 위치 코드가 베이스 상에서 부분적으로 존재하지 않을 때 사용될 수 있다.
필요한 경우, 본 발명은 모든 이미지의 위치 코드가 절대 이미지로 디코딩될 수 없을 때 사용될 수 있다. 예컨대, 분산된 디코딩이 모든 이미지의 위치 코드의 디코딩에 비해 수행하기에 보다 빠르고 및/또는 보다 용이하고 및/또는 보다 안전한 상황이 존재할 수 있다.
이런 분야에서 절대 위치는 다른 위치를 참조하지 않고 한정된 위치, 예컨대 하나 이상의 절대 좌표에 의해 한정된 위치로서 해석된다.
제 1 및 제 2 이미지는 시퀀스 내의 임의 쌍의 이미지일 수 있다. 제 1 이미지는 시퀀스 내의 제 2 이미지 이전에 또는 이후에 위치할 수 있다. 시퀀스는 중첩된 내용을 갖는 이미지만을, 또는 중첩되는 내용을 갖는 일부 이미지와 중첩된 이미지를 갖지않는 일부 이미지를, 또는 중첩된 내용을 갖지 않는 이미지만을 포함할 수 있다. 시퀀스의 이미지는 기록 동안 베이스로부터 들려지지 않은 사용자 유닛에 의해 기록된다. 또한 사용자 유닛은 기록 동안에 한 번 이상 베이스로부터 들려지고 다시 베이스 위에 놓여질 수 있다.
위치 코드는 하나 이상의 차원(dimension)으로 위치를 한정할 수 있다. 기록되는 이동은 하나 이상의 방향의 이동일 수 있다.
공간적 관계의 결정은 제 1 및 제 2 이미지 사이의 최적의 중첩 위치를 결정하는 것을 포함할 수 있다. 이를 수행하는 방법은 적어도 제 1 및 제 2 이미지의 내용을 상관시키는 것이다. 제 1 및 제 2 이미지들은 부분적으로 중첩할 수 있다. 이 경우 이들 이미지의 내용의 적어도 일부는 이들의 공간적 관계를 설정하기 위해 직접 비교될 수 있다. 반듯이 그럴 필요는 없지만, 이들 이미지는 시퀀스의 연속하는 이미지일 수 있다.
대안적으로, 이미지들은 중첩하지 않고, 일련의 부분적으로 중첩하는 이미지들에 속하여 이들의 공간적 관계가 시퀀스에서 사이에 있는 이미지에 의한 공간적 관계를 연속적으로 결정함으로써 설정될 수 있다.
또 다른 대안으로서, 제 1 및 제 2 이미지는 중첩하는 내용을 갖지 않지만 공간적 관계가 이미지의 내용에 기초하여 결정될 수 있는 내용을 갖는다.
이미지들은 사전처리된 또는 사전처리되지 않은 형태로 상관될 수 있다. 이미지들은 예컨대 그레이스케일(gray scale)로 또는 컬러 색상으로 이진화될 수 있다.
상관은 픽셀-레벨 또는 더 높은 레벨, 예컨대, 이미지 내의 특정 피쳐가 비교되는 피쳐 레벨로 이루어질 수 있다. 각각의 피쳐는 다수의 픽셀로 표현될 수 있다. 각각의 픽쳐는 특정 폼을 가질 수 있다. 베이스 상의 폼 레이아웃의 일부 또는 다른 그래픽 정보는 피쳐로서 사용될 수 있다. 또한 사용자로부터 잉크로 만들어진 수기는 피쳐 상관을 위해 사용될 수 있다.
통상적으로 위치 코드는 각각이 소정의 값, 예컨대 이진 값을 코딩하는 다수의 심볼 또는 마크로 이루어진다. 따라서 두 개의 이미지들 간의 공간적 관계는 심볼값들 또는 심볼 그룹에 대해 결정된 값들의 상관에 기초하여 결정될 수 있다.
예컨대 공간적 관계는 하나 또는 두 깨 또는 그 이상의 방향으로 제 1 및 제 2 이미지들 간의 오프셋을 나타내는 벡터로서 표현되거나 저장될 수 있다.
제 2 태양에 따르면, 본 발명은 제 1 태양에 따른 방법을 수행하도록 적응된 제어 유닛을 포함한 장치에 관한 것이다.
프로세싱 유닛은 예컨대 적절하게 프로그래밍된 프로세서에 의해, ASIC(Application-Specific Integrated Circuit) 또는 FPGA(Field Programmable Gate Array)와 같은 특수하게 적응된 하드웨어에 의해, 디지털 또는 아날로그 회로 또는 이들의 조합에 의해 구현될 수 있다. 프로세싱 유닛은 위치 코드 또는 또 다른 유닛을 이미지화하는 센서로서 동일한 유닛 내에 위치할 수 있다.
제 3 태양에 따르면, 본 발명은 컴퓨터에서 실행될 때 컴퓨터가 제 1 태양에 따른 방법을 수행하게 하는 프로그램 코드를 포함한 컴퓨터 프로그램에 관한 것이다.
컴퓨터 프로그램은 RAM, SRAM, DRAM, SDRAM, ROM, PROM, EPROM, EEPROM, 등과 같은 저장 매체, 광학 디스크; 자기 디스크 또는 테이프; 또는 기타 상업적으로 이용가능한 저장 매체의 형태로 저장되고 분산될 수 있다. 또한 저장 매체는 전파 신호일 수 있다.
본 발명의 다른 목적, 특징 및 장점은 하기 본 발명의 상세한 설명과 청구항 및 도면에 개시되어 있다.
물론, 본 발명의 상이한 실시예의 특징은 하나 및 동일한 실시예와 조합될 수 있다.
대체로, 청구항에 사용된 모든 용어는 다른 방식으로 명시적으로 정의하지 않는한 기술 분야에서 일반적으로 통용되는 의미로서 해석된다. "단수로 기재된 [부재, 장치, 부품, 수단, 단계 등]에 대한 모든 용어는 명시적으로 다르게 언급하지 않는 한, 상기 부재, 장치, 부품, 수단, 단계 등의 적어도 하나의 예를 언급하는 것으로 해석된다. 본 명세서에 개시된 방법의 단계들은 명시적으로 다르게 언급하지 않는 한 개시된 순서대로 정확하게 수행될 필요는 없다.
본 발명은 첨부된 도면을 참조하여 보다 상세하게 설명될 것이다.
도 1은 분산된 디코딩이 사용될 수 있는 시스템의 개략도이다.
도 2는 이미지의 시퀀스가 위치 코드가 구비된 베이스로부터 어떻게 기록되는지를 개략적으로 나타낸다.
도 3은 위치 코드 내의 마크의 이상적인 4개의 위치를 도시한다.
도 4는 사용자 유닛의 이동을 기록하는데 사용될 수 있는 위치 코드를 개략적으로 나타낸다.
도 5는 분산된 디코딩이 수행될 수 있는 사용자 유닛을 개략적으로 도시한다.
도 6은 도 5에 도시된 사용자 유닛의 전자회로부와 이미지 센서의 개략적인 블록도이다.
도 7A와 7B는 위치 코드를 부분적으로 불명료하게 하는 폼 레이아웃을 가진 폼의 두 개의 이미지를 도시한다.
도 8A와 8B는 이진화를 포함한 사전처리 이후의 도 7A 및 7B의 이미지를 도시한다.
도 9A와 9B는 도트 위치설정, 래스터 맞춤 및 투사 보정 이후의 도 8A 및 8B의 이미지를 도시한다.
도 10A와 10B는 도 9A와 9B의 이미지로부터 생성된 두 개의 도트값 매트릭스를 도시한다.
도 11은 전체 디코딩 프로세스의 일 예를 나타내는 흐름도이다.
도 12는 본 발명에 따른 분산된 디코딩이 어떻게 구현될 수 있는지를 도시하는 흐름도이다.
도 13은 도 10A 및 10B의 도트값 매트릭스의 상관 결과를 도시한다.
도 1은 본 발명이 사용될 수 있는 정보 관리 시스템을 도시한다. 상기 시스템은 종이 시트 형태의 베이스(1), 펜-스타일 사용자 유닛(2) 형태의 이동을 기록하기 위한 장치, 및 외부 유닛(3)을 포함한다. 종이 시트는 폼을 형성한다. 전체 종이 시트에는 작은 부분만이 확대되어 개략적으로 도시된 위치 코드(4), 및 채워질 텍스트(6), 박스(7) 및 이미지(8)를 포함하는 폼 레이아웃(5)을 포함한다. 이러한 예에서, 위치 코드와 폼 레이아웃(5)은 동일한 인쇄 잉크로 인쇄되거나 사용 자 유닛에 대해 모두 가시적인 상이한 인쇄 잉크로 인쇄된다. 이는 위치 코드가 폼 레이아웃에 의해 불명료하게 되는 연역 내에 기록될 수 없게 할 수 있다.
사용자 유닛(2)은 일반적인 펜과 동일한 방식으로 종이 시트(1)에 기록하고 동시에 이동을 기록함으로써 디지털 형태로 필기된 것을 기록하는데 사용될 수 있다. 이를 위해, 사용자 유닛(2)은 필기 동안 사용자 유닛(2)의 첨단에서 위치 코드의 이미지를 연속적으로 기록한다. 만약 각각의 이미지의 위치 코드가 절대 위치로 디코딩된다면, 이러한 디코딩된 위치의 결과 시퀀스는 베이스 상의 사용자 유닛(2)의 이동과 이로써 무엇이 베이스(1) 상에 필기되었는지와 어디에 필기되었는지에 대한 정확한 디지털 표현을 구성한다.
위치 디코딩은 사용자 유닛(2)내에서 및/또는 기록된 이미지가 자동적으로(온라인으로) 전송되거나 사용자가 명령하였을 때 전송되는 외부 유닛(3)에서 수행된다. 외부 유닛(3)은 PC, 이동전화, PDA(Personal Digital Assistant), 인터넷 상의 서버 또는 위치 디코딩을 수행하는 능력을 가진 기타 유닛일 수 있다. 디지털로 기록된 정보가 종이 시트 상의 사용자 유닛을 올바르게 반영하기 위해서는, 위치 디코딩이 가능한한 올바르고 완전하게 이루어지는 것이 중요하다.
하기에서 보다 상세히 설명될 위치 코드(4)는 미리 설정된 규칙에 따라 배치되거나 설계된 기호 또는 마크로 이루어진다. 만약 위치 코드의 일부 영역이 올바르게 이미지화되고, 상기 일부 영역이 미리 설정된 최소 크기를 갖는다면, 전체 위치 코드의 일부 영역의 위치는 이미지화된 일부 영역과 미리 설정된 디코딩 알고리즘 내의 하나 이상의 심볼에 의해 명료하게 결정될 수 있다. 위치는 좌표계 또는 또 다른 좌표시스템의 좌표 쌍으로서 얻어질 수 있다.
디코딩은 일부 영역의 위치 코드가 와전하고 올바르게 이미지화되는 한 올바르게 작동할 수 있다. 그러나, 실제 상황에서, 사용자 유닛(2)은 예컨대 불량한 조명 조건 또는 이미징 시스템의 결함으로 인해 종종 위치 코드를 완전하고 올바르게 이미지화할 수 없다. 또한 위치 코드가 베이스 상에서 매우 정확하게 재생되지 않고 베이스에 적용될 때 어느 정도 변형된다면 문제가 발생할 수 있다.
만약 위치 코드가 잔류 정보를 갖고 있다면 제한된 수의 심볼에 영향을 미치는 오류가 소정의 조건하에서 보정될 수 있다.
또한, WO 03/038741은 디코딩 오류의 경우에 일부 영역으로부터 결정된 정보가 어떻게 위치 코드가 이전의 성공적으로 디코딩된 위치와 인접한 매칭 영역을 이루는지에 대한 정보와 비교하거나 매칭하는, 위치 디코딩 방법을 개시한다. 알려진 매칭 영역의 최적의 매칭 부분이 선택되고, 해당 위치가 디코딩된 위치로서 결정된다.
그러나, 만약 위치 코드가 위치 코드와 동일한 종류의 인쇄 잉크로 인쇄된 폼 레이아웃에 의해 부분적으로 또는 완전해 불명확해짐으로 인해 위치 코드의 너무 큰 부분이 변형되거나 유실된다면, 위치 코드의 공지된 구성에 대한 오류 보정 또는 매칭은 너무 많은 심볼이 유실되거나 부정확하기 때문에 불가능할 것이다. 대신에 분산된 디코딩은 도 2를 참조로 하기에서 설명한 것처럼 사용될 수 있다.
도 2는 도 1의 베이스(1)의 작은 부분을 개략적으로 도시하며, 명료하게 하기 위하여 베이스 상에 위치 코드와 폼 레이아웃을 도시하지 않았다. 펜 스트로크 가 베이스 상에서 이루어질 때, 사용자 유닛(2)은 사용자 유닛의 첨단에서 국부적으로 베이스의 이미지를 동시에 기록한다. 도 2는 이러한 4개의 이미지(A-D)가 기록되는 위치의 예를 개략적으로 도시한다. 여기서 이미지는 일련의 부분적으로 중첩하는 이미지를 형성한다. 이상적으로, 본 예에서, 각각의 이미지의 위치 코드는 예컨대 한 쌍의 좌표 형태로 절대 위치 지표로 디코딩된다. 그러나, 만약 위치 코드가 불명료하다면, 이는 불가능할 수 있다. 예컨대, 절대 위치가 이미지(A)의 위치 코드로부터 디코딩될 수 없다고 가정한다. 그러면, 이미지(A)로부터의 정보는 저장된다. 만약 위치가 이미지(B)에 대해 결정될 수 없다면, 이미지 A와 B 사이의 최적의 중첩 위치가 결정된다. 다음에 이미지(A)의 위치 코드와 이미지(B)의 위치 코드가 함께 절대 위치로 디코딩될 수 있는 지를 검사한다. 단독으로 얻어진 이미지(A)와 이미지(B)의 위치 코드가 각각의 이미지의 너무 큰 범위로의 불명료함으로 인해 디코딩될 수 없더라도, 두 개의 이미지로부터의 결합된 위치 코드는 절대 위치로 디코딩될 수 있다. 이는 음영 영역(H)이 이미지 A와 B의 일부를 덮는, 도 2에 개략적으로 도시되어 있다. 만약 그렇다면, 이미지(A)와 이미지(B)를 기록할 때 사용자 유닛의 절대 위치는 두 개의 이미지 사이의 공간적 관계가 설정된 이후에 결정될 수 있다.
만약 절대 위치가 이미지 A와 B의 조합으로부터 디코딩될 ㅜ 없다면, 이들 이미지들 사이의 공간적 관계는 예컨대, 2차원, 예컨대 이미지 A와 B 사이의 수평 및 수직 방향의 오프셋을 반영한 벡터(V)로서 저장된다. 상기 처리는 이미지 또는 이미지들의 조합이 위치 코드가 충분히 완전하고 올바르게 이미지화되어 절대 위치 가 디코딩된 것을 발견할 때까지 반복된다. 예컨대, 절대 위치는 이미지(C) 내의 위치 코드로부터 디코딩될 수 있다. 만약 이미지 B와 C 사이의 오프셋이 결정된다면, 이미지 A와 B의 절대 위치는 시퀀스의 후속 이미지의 절대 위치로부터 오프셋을 연속적으로 차감함으로써 결정될 수 있다. 만약 다시 절대 위치가 이미지(D)의 위치 코드로부터 디코딩될 수 없다면, 이미지 C와 D 사이의 오프셋이 결정되고 이미지(D)의 절대 위치는 이미지(C)의 위치 코드로부터 디코딩된 절대 위치에 오프셋을 더함으로써 결정된다.
분산된 디코딩을 더 상세히 설명하기 이전에, 이러한 예에서 사용된 위치 코드와 사용자 유닛은 도 3과 4, 그리고 도 5와 6을 각각 참조하여 보다 상세히 설명될 것이다. 위치 코드에 대한 보다 포괄적인 설명은 WO 03/001440에 개시되어 있다.
위치 코드는 하기에서 상이한 숫자의 시퀀스로서 불리는 숫자 시퀀스에 기초한다. 이러한 상이한 숫자의 시퀀스는 미리 설정된 길이의 임의의 부분 시퀀스, 예컨대 5개의 상이한 숫자의 부분 시퀀스를 취하는 경우 이러한 부분 시퀀스가 상이한 숫자의 시퀀스의 명료하게 결정된 위치를 항상 갖는 특성이 있다. 즉, 일단 상이한 숫자의 시퀀스가 나타나면 위치 결정을 위해 사용될 수 있다. 이러한 특성을 갖는 시퀀스는 종종 드브뤼잉(DeBruijn) 시퀀스로 불린다. 특히, 상이한 숫자의 시퀀스는 위치 코드의 x축 뿐만 아니라 y축을 따라 "진행"한다.
실제 위치 코드는 공칭 위치(23) 또는 래스터 포인트와 관련하여 각각의 위치에 따라, 4개의 상이한 값, 0-3으로 추정할 수 있는 간단한 그래픽 심볼 또는 마 크(22)로 이루어진다. 도 3에 도시된 바와 같이, 각각의 심볼(22)은 도트 형상을 가지며 공칭 위치(23)에 대해 4개의 상이한 방향 중 하나의 방향으로 소정의 거리(24)로 배치되어 있다. 공칭 위치(23)는 가시적인 또는 비가시적인 래스터 라인들(21) 또는 가상의 래스터 또는 격자 사이의 교차이다. 심볼의 값은 변위 방향에 의해 결정된다. 각각의 심볼값, 0-3은 x 좌표를 코딩하기 위해 사용된 1 비트와 y 좌표를 코딩하기 위해 사용되는 1 비트, 즉 비트 (0,0), (0,1), (1,0), (1,1)의 쌍으로 변환될 수 있다. 따라서, 코딩은 x 방향 및 y 방향으로 개별적으로 이루어지지만 그래픽 코딩은 x 비트와 y 비트에 공통일 심볼에 의해 이루어진다.
상기 코딩은 예컨대 하기와 같이 될 수 있다:
변위 비트 쌍(x,y)
오른쪽 0,1
위쪽 0,0
왼쪽 1,0
아래쪽 1,1
거리(24)는 두 개의 래스터 라인(21) 사이의 거리의 약 1/8보다 작지 않고 약 1/4보다, 바람직하게는 약 1/6보다 크지 않은 게 적합하다. 예컨대 거리는 약 300 마이크로미터 또는 254 마이크로미터일 수 있다. 254 마이크로미터의 거리는 100dpi(인치 당 도트)의 배수인 해상도를 갖는 프린터와 스캐너에 적합하다. 위치 코드의 모든 심볼은 하나의 동일한 인쇄 잉크로 인쇄되어 위치 코드가 단색이다.
각각의 위치는 6*6 심볼로 코딩되어 위치에 대해 x 좌표에 대한 6*6 비트 매트릭스 및 y 좌표에 대한 6*6 비트 매트릭스로 변환될 수 있다. 만약 x 비트 매트릭스가 고려된다면, 이는 각각 6 비트의 6 컬럼으로 분할될 수 있다. 하나의 컬럼의 비트들의 각각의 시퀀스는 63-비트-길이의 순환 주된 숫자(main number) 시퀀 스의 부분 시퀀스를 구성하며, 상기 63-비트-길이의 순환 주된 숫자(main number) 시퀀스는 6 비트의 길이를 갖는 부분 시퀀스가 선택된 경우 주된 숫자의 시퀀스의 명료하게 결정된 장소(place)를 갖는 특성이 있다. 따라서 6 컬럼은 주된 숫자의 시퀀스의 6 장소에 대응하는 6 위치 숫자 또는 시퀀스 값으로 변환될 수 있다. 이들 6 위치 숫자들 사이에서, 5 개의 상이한 숫자는 상이한 숫자의 시퀀스의 부분 시퀀스를 구성하고 이로써 동일한 시퀀스에서 명료하게 결정된 장소 및 x 축을 따라 명료하게 결정된 장소를 갖는, 이웃하는 쌍들로 형성될 수 있다. 임의의 x 좌표에 있어서, 위치 숫자는 y 좌표를 따라 변한다. 한편, 상이한 숫자는 위치 숫자가 항상 전체 위치-코딩 패턴의 컬럼에서 주기적으로 반복하는 주된 숫자 시퀀스에 따라 바뀌기 때문에, y 좌표를 따라 독립적으로 바뀐다.
따라서, y 비트 매트릭스의 6 로우(row)는 주된 숫자 시퀀스의 6 위치 숫자를 한정한다. 이들 6 위치 숫자는 상이한 숫자의 시퀀스의 부분 시퀀스를 구성하고 이로써 y 축을 따라 명료하게 결정된 장소를 갖는 5 개의 상이한 숫자를 한정한다.
도 4는 4*4 심볼을 갖는 위치 코드의 매우 작은 부분을 도시한다. 래스터 라인(21)은 단지 예시를 위해 도면에 도시되었다. 대체로, 래스터는 가상이다.
위치 코드가 사용될 때, 위치 코드의 상이한 부분의 이미지는 상기 설명한 것처럼 기록된다. 이미지는 6*6 심볼보다 현저히 많이 포함할 수 있다. 따라서 위치 코드는 많은 수의 심볼이 이미지 내에서 보이는 경우 6*6 심볼의 상이한 세트에 기초하여 디코딩될 수 있다. 또한 주위 심볼은 디코딩에, 특히 오류 검출 및/ 또는 보정을 위해 사용될 수 있다. 위치 코드는 소위 "플로팅 타입"이다. 미리 설정된 수의 심볼, 여기서는 6*6 심볼을 포함하는 임의의 부분 영역은 하나의 위치를 한정하고 임의의 부분 영역의 심볼들 중 적어도 일부는 하나 이상의 위치를 코딩하는데 기여한다. 다시 말하면, 만약 임의의 부분 영역이 심볼 거리를 위, 아래, 외쪽 또는 오른쪽으로 이동시킨다면, 새로운 위치는 이동된 임의의 부분 영역의 심볼에 의해 정의될 것이다.
하기에서, 도 1의 사용자 유닛(2)이 어떻게 구현되는지에 대한 예가 도 5와 6을 참조하여 설명된다. 이 예에서, 사용자 유닛(2)은 펜과 거의 동일한 모양을 갖는 케이싱 또는 쉘(2011)을 포함한다. 케이싱의 짧은 측부에는 이미지가 기록되는 개구부 또는 윈도우(2012)가 존재한다.
케이싱은 필수적으로 카메라 시스템, 전자 시스템 및 전력 공급원을 포함한다.
카메라 시스템(2014)은 적어도 하나의 조명 광 소스, 렌즈 및/또는 거울 장치 및 광학 이미지 판독기 또는 이미지 센서(도시안됨)를 포함한다. 적절히 발광 다이오드 또는 레이저 다이오드인 광 소스는 적외선 복사를 이용하여 윈도우(2012)를 통해 조망할 수 있는 영역의 일부를 조명한다. 조망된 영역의 이미지는 렌즈 장치를 이용하여 이미지 센서 상에 투사된다. 이미지 센서는 CCD(Charge Coupled Device) 또는 CMOS(Complementary Metal-Oxide Semiconductor) 센서와 같은 광-감지 영역 센서일 수 있으며, 센서는 고정된 비율, 통상적으로 약 70-100 Hz에서 2차원 이미지를 기록하도록 트리거될 수 있다. 센서는 적외선 광에 감응할 수 있다. 센서와 조명 광 소스는 동기화된 방식으로 트리거될 수 있다.
대체로, 이미지 센서는 심볼의 이미지가 흑색 및 백색으로, 그레이스케일 또는 컬러로 얻어지도록 위치 코드를 이미지화하기에 적합한 임의 종류의 센서로 대체될 수 있다. 이러한 센서는 임의의 적절한 파장 범위에서 전자기 복사에 감응하는 고체-상태 단일- 또는 다중-칩 소자일 수 있다. 예컨대, 센서는 CCD 부재, CMOS 부재, 또는 CID(Charge Injection Device) 부재를 포함할 수 있다. 대안적으로, 센서는 마크의 자기 특성을 검출하기 위한 자기 센서 어레이를 포함할 수 있다. 또한, 센서는 마크의 화학적, 음향적, 자기적, 용량적 또는 유도적 특성의 이미지를 형성하도록 설계될 수 있다.
사용자 유닛을 위한 전력 공급원은 배터리(2015)일 수 있다. 전력 공급원은 대안으로서 또는 보조로서 외부 전력 공급원(도시안됨)으로부터 케이블을 통해 얻어질 수 있다.
전자 시스템은 제어 유닛(2016)과 제어 유닛이 연결된 메모리 블록(2013)을 포함한다. 제어 유닛은 사용자 유닛의 상이한 기능, 예컨대 센서로부터 이미지의 즉각적인 판독 및 이들 이미지에 기초한 위치 디코딩의 수행에 반응할 수 있다. 제어 유닛(2016)은 CPU("Central Processing Unit")과 같은 상업적으로 이용가능한 마이크로프로세서, DSP("Digital Signal Processor") 또는 FPGA("Field Programmable Gate Array") 또는 대안적으로 ASIC("Application-Specific Integrated Circuit"), 이산 아날로그 및 디지털 부품, 또는 이들의 조합과 같은 기타 프로그램가능한 로지컬 장치에 의해 구현될 수 있다. 메모리 블록(2013)은 작업 메모리(예컨대, RAM)와 프로그램 코드 및 유지 저장 메모리(비휘발성 메모리, 예컨대 플래시 메모리)와 같은 상이한 타입의 메모리를 포함한다. 관련 소프트웨어는 메모리 블록(2013) 내에 저장되고, 사용자 유닛의 작동을 위한 사용자 유닛의 제어 시스템을 제공하기 위해 제어 유닛(2016)에 의해 실행된다.
또한 케이싱(2011)은 사용자가 일반적인 안료-기반 마킹 잉크를 이용하여 표면 상에 물리적으로 필기하거나 그려서 표면 위에 기록되도록 펜 포인트(2017)를 갖는다. 펜 포인트(2017)의 마킹 잉크는 사용자 유닛의 광-전자 검출과의 간섭을 피하기 위해 조명 복사에 적절히 투명하다. 접촉 센서(2021)는 펜이 제공되고(펜의 하강) 및/또는 들려질 때(펜의 상승)를 검출하고 선택적으로 제공되는 힘(application force)을 결정하기 위해 펜 포인트(2017)에 작동가능하게 연결된다. 접촉 센서(2017)의 출력에 기초하여, 카메라 시스템(2014)은 펜의 하강 및 상승 사이의 이미지를 포착하도록 제어된다. 일시적으로 연접한 위치의 결과적인 시퀀스는 펜 스트로크의 전자적 표현을 형성한다.
펜 포인트(2017)는 사용자가 사용하거나 사용하지 않는 경우에 조절할 수 있도록 연장 및 수축가능하다. 어떤 경우에는, 사용자 유닛은 펜 포인트를 전혀 필요로 하지 않는다.
전자 시스템은 컴퓨터, 이동 전화, PDA, 네트워크 서버 등과 같은 인근에 또는 원근에 있는 장치에 데이터를 제공하기 위해 통신 인터페이스(2019)를 포함한다. 따라서 통신 인터페이스(2019)는 유선 또는 무선 근거리 통신(예컨대, USB, RS232, 무선 통신, 적외선 통신, 초음파 통신, 유도성 결합 등)을 위한 부품, 및/ 또는 통상적으로 컴퓨터, 전화 또는 위성 통신 네트워크를 통한 유선 또는 무선 원격 통신을 위한 부품을 제공할 수 있다.
또한 펜은 사용자 피드백을 위해 선택적으로 작동되는 MMI 2020(Man Machine Interface)를 포함할 수 있다. MMI는 디스플레이, 지시 램프 또는 LED, 진동기, 스피커 등을 포함할 수 있다.
또한, 펜은 작동 및/또는 제어하기 위한 하나 이상의 버튼(2018)을 포함할 수 있다.
사용자 유닛은 상이한 물리적 케이싱으로 분할될 수 있다. 센서 및 위치 코드의 이미지를 포착하고 이들을 전송하는데 필요한 기타 부품들은 제 1 케이싱에 위치하지만, 위치 디코딩을 수행하는데 필요한 부품들은 제 2 케이싱에 위치할 수 있다.
도 6은 도 5에 도시된 제어 유닛(2016), 메모리 블록(2013) 및 사용자 유닛의 이미지 센서의 예에 대한 개략적인 블록도이다. ASIC(700)은 전자 회로부의 주 제어기로서 CPU(720)를 포함한다. CPU(720)는 온-칩 데이터 버스(760)를 통해 메모리(730)에 접근한다. 이미지 센서는 CMOS 영역 센서(750)로서 구현되며, 이는 ASIC(700)의 데이터 버스(760)에 접속되고 100 Hz의 주파수에서 96×96-비트, 256-레벨 그레이스케일 디지털 이미지를 생성할 수 있다. ASIC(700) 상의 이미지 프리프로세서(710)는 이미지 센서(750)로부터 수신한 이미지를 선처리하고 디코딩하기 전에 선처리된 이미지를 메모리(730)에 저장할 수 있다. CPU(720)는 선처리된 이미지의 위치 코드를 위치로 디코딩한다. 매칭 유닛(740)은 기록된 이미지들 간의 공간적 관계를 결정할 때 및/또는 제한된 영역의 위치 코드에 대해 이미 알려진 정보를 이용하여 이미지의 위치 코드 정보를 매치시킬 때 CPU(720)를 보조할 수 있다.
하기에서, 디코딩 프로세스는 도 7-13을 참조하여 보다 상세하게 설명된다.
도 7-10은 개략적으로 그리고 예시적으로 어떻게 한 쌍의 이미지가 처리될 수 있는지를 도시한다. 이미지들은 실질적으로 시퀀스에서 처리되고 이는 도 11과 12의 흐름도에 자명하게 나타나 있다.
도 1의 베이스(1) 상에 사용자 유닛(2)을 이용하여 필기하는 동안, 사용자 유닛(2)의 이미지 센서(2014)는 도 11의 단계(1110)에서 베이스의 이미지를 포착한다. 각각의 포착된 이미지의 크기는 위치를 결정하는데 필요한 부분 영역과 적어도 동일하며, 대체로는 더 크다.
도 7A와 7B는 다수의 도트와 폼 레이아웃이 구비된 위치 코드를 갖는 베이스로부터 연속적으로 포착된 두 개의 예시적인 이미지를 도시하며, 이들 이미지의 폼 레이아웃은 문자 또는 문자의 일부를 포함한다. 이미지가 중첩하는 내용을 가지며 이미지가 그레이스케일 이미지로서 얻어진다는 것은 자명하다.
단계(1120)에서 각각의 포착된 이미지는 후속 단계(1130)를 위해 적절한 입력을 형성하기 위해 선처리되며, 후속 단계(1130)에서 도트는 국부화되고, 가상 래스터는 도트에 맞춰지며 투시화(perspective)는 보정된다. 이와 관련하여, 도트를 갖는 투사-보정된 래스터는 변위되어 래스터 포인트가 센서 좌표 시스템의 시점(origin)에 위치할 수 있다.
단계(1120과 1130)은 필터링, 이진화 또는 스레숄딩(thresholding), 및 퓨리에 변환의 이용과 같은 당업계에 공지된 기술을 이용하여 수행될 수 있다. 래스터는 예컨대 WO 01/26034, WO 01/75783 또는 WO 03/0490236에 개시된 바와 같이 결정될 수 있다.
도 8A와 8B는 선처리 이후의 도 7A와 7B의 이미지를 도시한다. 이미지는 이제 2진 형태이다. 위치 코드가 도 7A와 7B에서 폼 레이아웃에 대응하는 이미지의 부분들에서 유실된 것이 자명하게 나타나 있다. 또한 이진화된 이미지는 위치 코드에 분명히 부속되지 않은 픽셀 형태를 포함한다.
도 9A와 9B는 단계(1130) 이후, 즉 도트(22)가 국부적으로 위치하고 가상 래스터(21)가 이에 맞춰진 후의 도 7A와 7B의 이미지를 도시한다. 또한, 투시화는 래스터(21)가 정방형 래스터가 되도록 보정되었다.
투시화는 반드시 보정될 필요는 없다. 또한 도트값은 보정되지 않은 투시화를 갖는 이미지로부터 투시화 정보를 고려하여 디코딩될 수 있다. 결과는 만약 투시화가 보정되고 투시화-보정된 도트 매트릭스로부터 도트값이 디코딩된다면 보다 우수해질 것이다.
래스터 라인의 교차부는 도트에 대한 공칭 위치(23)를 구성한다. 만약 위치 코드가 완료되고 올바르게 이미지화된다면, 각각의 공칭 위치(23)는 하나의 관련된 도트를 가지며, 이는 어느 값을 코딩하는 가에 따라 공칭 위치(23)로부터 4개의 방향 중 하나로 변위된다. 그러나 도 9A와 9B에서, 공칭 위치(23) 중 일부는 관련된 도트를 갖지 않으며 다른 공칭 위치는 하나 이상의 관련된 도트를 갖는다. 이는 예컨대 분명하지 않은 폼 레이아웃으로 인해 이미지화를 불완전하게 하고, 선처리를 불완전하게 하며 및/또는 도트 국부화를 불완전하게 한다.
후속 단계(1140)에서 도트값은 각각의 공칭 포인트(23)에 대해 결정된다. 이를 위해 다양한 방법이 사용될 수 있다.
예컨대, 만약 공칭 포인트(23)가 단지 하나의 관련 도트만을 갖는다면, 도 3에 도시된 4개의 이상적인 변위 위치중 임의의 위치 주위의 소정의 "안전(safe)" 구역 내에 놓여있는지를 조사할 수 있다. 이러한 "안전" 구역은 예컨대 4개의 이상적인 변위 위치 중 각각 하나에서 중심을 가지며 미리 한정된 반경을 갖는 원형 영역에 의해 한정된다. 따라서, 만약 도트가 이러한 "안전" 구역 내에 놓이는 것으로 밝혀지면, 도트는 "안전" 구역의 중심을 형성하는 이상적인 변위 위치에 의해 표현되는 값을 갖도록 유지된다.
만약 도트값이 예컨대 포인트와 관련된 도트가 없거나 두 개의 도트가 이상적인 위치로부터 동일하게 멀리 위치하기 때문에 공칭 포인트에 대해 결정할 수 없다면, 위치는 "-"로 마킹된다.
대안으로서, 각각의 공칭 위치에 대해 관련 도트(들)이 네 개의 상이한 가증한 도트값을 갖는 것으로 가정하는 확률은 예컨대 WO 03/001441에 개시된 바와 같이 결정될 수 있다. 다음에, 확률 임계값은 만약 소정의 도트가 예컨대 임계치인 0.8을 초과하는 확률에서 도트값 0-3을 인코딩한다면, 도트가 해당 도트값에 할당되고, 그렇지 않으면 "-"가 할당되도록 적용된다.
도 9A와 9B에서 도트의 도트값 결정은 도 10A와 10B에 도시된 도트값 매트릭 스를 형성하며, 여기서 0-3은 도트값을 나타내며 "-"는 도트값이 해당 공칭 위치에 대해 결정되지 않다는 것을 나타낸다.
도 10A와 10B의 각각의 도트값 매트릭스는 도트값 0-3을 비트 쌍 0,0; 0,1; 1,0; 1,1로 변환함으로써 두 개의 비트 매트릭스 - 하나의 x 매트릭스와 하나의 y 매트릭스 - 로 분리될 수 있으며, 여기서 예컨대 WO 01/26033에 개시된 것처럼 제 1 비트는 x 좌표의 결정을 위한 x 매트릭스에 사용되고 제 2 비트는 y 좌표의 결정을 위해 y 매트릭스에 사용된다.
마지막으로, 도 10A와 10B의 도트값 매트릭스를 절대 위치로 실제 디코딩하는 것은 단계(1150)에서 수행된다. 이러한 단계를 수행하는 방법은 도 12의 흐름도를 참조하여 보다 상세히 개시된다.
먼저, 단계(1200)에서, 새로운 이미지는 위치 정보의 디코딩을 위해 검색된다. 새로운 이미지는 두 개의 비트 매트릭스가 얻어지도록 상기 설명한 것처럼 처리된 포착된 이미지이다. 설명을 간단하게 하기 위해, 이들 두 개의 매트릭스는 새로운 이미지(New Image)로 불린다. 단계(1205)에서, 새로운 이미지의 위치 코드를 절대 위치로 디코딩할 수 있는지를 결정한다. 만약 위치 코드가 예컨대 베이스 상에서 부분적으로 또는 완전히 불명료하기 때문에 충분하지 않게 기록되었다면, 새로운 이미지는 절대 위치가 디코딩될 수 있기에 충분한 정보를 포함하지 않을 수 있다.
만약 위치 코드가 디코딩될 수 없다면, 이전의 이미지와 관련한 새로운 이미지의 공간적 관계 또는 상대 위치가 상관을 이용하여 단계(1210)에서 결정된다. 만약 새로운 이미지가 제 1 이미지이기 때문에 이전의 이미지가 없다면, 프로세스는 단순히 다음 단계로 진행한다.
후속 단계, 단계(1215)에서, 이전 이미지에 대한 절대 위치가 공지되었는지, 즉 결정되었는지를 검사한다. 만약 그렇다면, 단계(1225)에서 절대 위치는 단계(1210)에서 결정된 상대 위치를 이용하여 새로운 이미지에 대해 결정되고, 새로운 이미지의 절대 위치로서 저장된다. 만약 절대 위치가 공지되어 있지 않다면, 단계(1220)에서 상대 위치는 새로운 이미지의 상대 위치로서 저장되고, 프로세스는 새로운 이미지가 이전의 이미지로 설정된 단계(1270)으로 진행한다. 그러나, 만약 이전의 이미지가 존재하지 않는다면, 단계(1225)에서 공지된 절대 위치가 분명히 존재하지 않고 단계(1220)에서 상대 위치가 저장되지 않으며 따라서 프로세스도 단계(1270)으로 진행하지 않는다.
단계(1270) 이후에, 프로세스는 단계(1200)에서 새로운 이미지로 다시 시작한다.
한편, 단계(1205)에서 위치 코드가 절대 위치로 디코딩될 수 있다는 것이 결정된다면, 단계(1230)에서 디코딩이 새로운 이미지에 대해 수행된다. 후속 단계(1235)에서, 만약의 경우, 절대 위치가 이전의 이미지에 대해 공지되었는지를 검사한다.
상기에서 나타난 바와 같이, 이전 이미지의 절대 위치는 이전 이미지의 위치 코드의 디코딩으로부터 공지되거나 상대 위치에 기초한 계산에 의해 공지될 수 있다.
만약 절대 위치가 공지되었다면, 디코딩된 절대 위치는 단계(1240)에서 새로운 이미지의 절대 위치로서 저장되고, 프로세스는 단계(1270)로 진행하며, 그 후에 단계(1200)에서 다시 시작한다.
만약 대안으로서, 절대 위치가 공지되어 있지 않다면, 단계(1245)에서 새로운 이미지는 단계(1210)에서와 동일한 방식으로 이전 이미지와 상관한다. 그 후에, 저장된 관련 절대 위치가 없는 모든 이전 이미지에 대한 절대 위치는 단계(1250)에서 저장된 상대 위치(들)을 이용하여 계산될 수 있다.
상기로부터 펜 스트로크 초기에 위치 코드가 일련의 이미지에서 충분치않게 기록되었다면, 마지막에 절대 위치가 디코딩될 때 뒤로 돌아가서 이전 이미지의 절대 위치를 결정할 수 있다.
그러나, 일단 절대 위치가 하나의 이미지에 대해 결정되었다면, 공간적 관계가 결정될 수 있는 모든 이미지의 절대 위치는 이미지 내의 위치 코드를 디코딩하거나 이전 이미지의 위치 코드와 함께 적어도 그 내용의 일부를 비교함으로써 직접 결정될 수 있다.
만약 절대 위치가 두 개의 이미지에 대해 결정되고 이들 사이의 이미지에 대한 위치를 결정하는 것이 불가능하다면, 이들 두 개의 이미지의 절대위치는 예컨대 보간(interpolation)에 의해 사이에 있는 이미지의 위치를 측정하는데 사용될 수 있다.
단계(1210과 1245)에서 상관은 상이한 방식으로 수행될 수 있다. 한가지 방법은 어느 중첩 위치가 가장 높은 수의 도트값/이진 값에 해당하는지를 검사함으로 써 x 및/또는 y 비트 매트릭스의 이진 값 또는 도트값 매트릭스의 도트값을 상관시키는 것이다. 이러한 대안 방법의 장점은 이전 이미지가 비교적 적은 방식으로 저장된다는 것이다.
또 다른 대안 방법은 보다 높은 레벨에서 상관을 수행하는 것이다. 이미 설명한 바와 같이, 6*6 심볼의 부분 영역의 컬럼 내의 비트들의 각각의 시퀀스는 만약 6 비트의 길이를 갖는 부분 시퀀스가 선택된 경우 주된 숫자의 시퀀스에서 명료하게 결정된 장소를 갖는 특성을 갖는 63-비트-길이의 순환 주된 숫자의 시퀀스에서 부분 시퀀스를 구성한다. 따라서 6 컬럼은 주된 숫자의 시퀀스의 6 장소에 대응하는 6 포지션 숫자 또는 시퀀스 값들로 변환될 수 있다. 따라서, 충분히 완전한 x 매트릭스의 컬럼은 시퀀스 값들로 디코딩될 수 있고 상관은 시퀀스 값에 기초하여 수행될 수 있다. 대응하는 방식으로, y 매트릭스의 로우(row)는 시퀀스 값들로 디코딩되고 상관은 이들 시퀀스 값을 이용하여 수행된다. 분명히, 그룹 심볼값으로 디코딩될 다른 그룹의 심볼들도 상관을 위해 사용될 수 있다.
또 다른 대안 방법은 이전 이미지와 새로운 이미지를 도트값 매트릭스 또는 이진 값 매트릭스로 변환하기 이전에 선처리되고 이진화된 형태로 상관시키는 것이다. 이러한 비교는 상이한 중첩 위치의 중첩 픽셀들의 수에 기초한 스코어를 계산함으로써 공지된 방식으로 수행된다. 픽셀-방식(pixel-wise) 상관을 위해 사용될 수 있는 방법의 예가 예컨대 WO 98/20446과 WO 99/36879에 개시되어 있다.
또 다른 대안 방법은 이미지들이 예컨대 그레이스케일 형태로 선처리되기 전에 나타날 때 이미지들을 상관시키는 것이다.
또 다른 대안 방법은 이미지들의 뚜렷한 특징들, 예컨대 도 7A와 7B의 폼 레이아웃을 이용하여 이미지들을 상관시키는 것이다.
그레이스케일과 특징 상관을 위한 적절한 상관 기술은 당업자에게 잘 공지되어 있으며 예컨대, 잔차제곱합(Sum of Square Errors)과 절대차합(Sum of Absolute Differences)을 포함한다.
만약 사용자 유닛이 사용자 유닛의 이미지 센서에 가시적인 필기용 잉크를 출력하는 펜 포인트를 포함한다면, 상관은 이미지에 나타나는 수필에 기초하여 수행될 수 있다.
만약 이전 이미지와 다음 이미지가 도트값에 기초하여 상관된다면, 하기 상관 공식 f(u,v)이 사용된다:
Figure 112006050809507-PCT00001
여기서 I(a,b)는 등가 공식이고 a=b라면 1로 평가되고 그렇지 않다면 0으로 평가되며, im1은 이전 이미지, im2는 새로운 이미지, width는 이미지의 폭, height는 이미지의 높이, u와 v는 중첩 위치를 나타내는 변환 벡터, x와 y는 픽셀 좌표이다.
도 13은 도 10A와 10B의 도트값 매트릭스의 상관 결과를 나타내는 도표이다. 도표에서, u와 v는 변환 벡터의 요소이고 z는 상관 측정치를 나타낸다. 도표의 피크는 새로운 이미지가 이전 이미지에 대해 벡터(3,0)으로 변환된 것을 나타낸다. 그러나, 이전 이미지와 새로운 이미지 사이의 공간적 관계가 결정될 때, 센서 좌표 시스템의 시점에서 래스터 포인트를 갖기 위하여 투시화-보정된 래스터의 가능한 변위는 고려되어야 한다.
본 발명은 래스터의 공칭 위치로부터 변위되는 도트들을 포함한 특정 위치 코드의 예를 이용하여 설명되었다.
그러나, 분산된 디코딩은 다른 타입의 위치 코드와 함께 동일하게 적용될 수 있다. 예컨대, US 5,477,012의 위치 코드와 유사한 하나 이상의 복합 심볼을 갖는 각각의 위치를 코딩하는 위치 코드, 비-플로팅 방식으로 다수의 심볼을 갖는 각각의 위치를 코딩하는 다른 위치 코드, 또는 WO 00/73983과 유사한 플로팅 타입의 다른 위치 코드, 또는 기타 위치 코드에 사용될 수 있다.
본 발명은 중첩하는 이미지의 시퀀스를 이용하여 예시되었다. 상기 설명한 바와 같이, 이미지들의 시퀀스의 두 개의 이미지들 간의 공간적 관계는 중첩하는 내용이 없더라도 종종 결정될 수 있다. 대신에 공간적 관계는 이미지들의 내용에 기초하여 결정될 수 있다. 상기 예에 사용된 위치 코드는 컬럼 및 로우에서 반복되는 순환적인 주된 숫자 시리즈에 기초한다. 예컨대, 만약 사용자 유닛이 위치 코드 상에서 수평방향으로 이동하고 두 개의 중첩하지 않는 이미지가 차례로 포착되고, 이미지들 간의 거리가 두 개의 가능한 방향 중 임의의 방향으로 순환적인 주된 숫자 시리즈의 길이 절반보다 작거나 같다면, 공간적 관계는 이미지들의 내용의 비교와 순환적인 주된 숫자 시리즈에 대한 정보로부터 결정될 수 있다. 물론 이것은 예일 뿐이다.
도 12의 흐름도를 참조하여 설명한 디코딩 예는 확대될 수 있다. 상관 단계(1210) 이후에, 예컨대 검사는 새로운 이미지와 이전 이미지의 결합된 위치 코드가 절대 위치로 디코딩될 수 있는지에 대해 수행될 수 있다. 만약 그렇지 않다면, 프로세스는 단계(1215)로 도시된 것처럼 계속된다. 그러나, 만약 절대 위치가 코딩될 수 있다면, 새로운 이미지의 절대 위치는 결정되고 저장된다. 만약 절대 위치가 이전 이미지에 대해 알려져 있지 않다면, 절대 위치는 역시 결정되고 저장된다. 다음에 새로운 이미지는 단계(1270)에서 이전 이미지로 설정된다.
상기 언급한 바와 같이, 이미지는 여러 상이한 위치의 결정을 가능하게 하는 여러 심볼 세트를 포함할 수 있다. 그러나, 이미지가 기록되었을 때 이미지 또는 사용자 유닛의 위치는 항상 사용자 유닛 센서의 좌표 시스템에서 특정 기준 포인트, 예컨대 상부 좌측 구석과 관련하여 정의된다. 따라서 절대 위치가 이미지에 대해 저장된다는 것을 상기에서 나타낸 경우 저장된 기준 포인트의 절대 위치가 된다. 만약 센서 좌표 시스템의 또 다른 포인트의 절대 위치가 결정되었다면, 기준 포인트의 절대 위치는 용이하게 계산될 수 있다.
상기 예에서, 이전 이미지와 새로운 이미지로부터의 정보가 사용된다. 그러나, 시퀀스의 추가 이미지가 분산된 디코딩을 수행할 때 결합하여 저장되고 사용될 수 있다.
어떤 공간적 관계를 사용하지 않고도 하나 이상의 이미지로부터 절대 위치를 결정하는 것은 도트 세트의 디코딩된 값으로부터 절대 위치를 계산함으로써 수행될 수 있으며, 이는 예컨대 US 6,674,427과 US 6,667,695에 개시되어 있고, 상기 특허 들은 본 명세서에 참조로 포함된다. 또한 절대 위치는 사용자 유닛의 공지된 절대 위치로부터 사용자 유닛의 다음 위치를 예측하고, 위치 코드가 예측된 위치의 이웃과 어떻게 구성되는지에 대한 정보를 이용하여 사용자 유닛의 예측 위치를 매칭함으로써 결정될 수 있으며, 이는 WO 04/097723에 개시되어 있고, 상기 특허는 본 명세서에 참조로 포함된다.
도 12의 예에서, 제 1 및 제 2 이미지의 공간적 관계는 제 1 이미지의 절대 위치가 공지되지 않은 경우에만 결정된다. 그러나, 변화에 따라서, 두 개의 연속하는 이미지들 간의 공간적 관계가 항상 결정되며, 정보는 필요할 때 사용된다. 공간적 관계를 결정하는지 또는 아닌지에 대한 특정한 결정은 취해질 필요가 없다.
분산된 디코딩의 목적은 이미지 시퀀스의 각각의 이미지에 대한 하나의 위치를 얻는 것이다. 그러나, 절대 위치가 위치 코드로부터 디코딩될 수 없고 또 다른 이미지에 대한 공간적 관계가 설정될 수 없는 이미지가 존재할 수 있다. 이러한 이미지의 경우에, 위치는 예컨대 보간 또는 외간(extrapolation)에 의해 결정될 수 있다. 그 외에 이러한 이미지에 대해 임의의 위치를 기록하지 않도록 결정될 수 있다. 또한 이미지에 대한 임의의 위치를 기록하지 않도록 결정하는 다른 상황이 존재할 수 있다.
따라서 사용자 유닛의 연속적인 이동이 베이스 상의 위치 코드의 이미지 시퀀스를 이용하여 기록된다. 일부 이미지의 경우에 위치 코드는 직접 사용자 유닛의 절대 위치로 디코딩되고, 다른 이미지의 경우에 이전 또는 후속 이미지에 대한 공간적 관계가 결정되고 이로부터 사용자 유닛의 위치가 결정된다.

Claims (14)

  1. 위치 코드가 제공된 베이스 상에서 사용자 유닛의 이동을 기록하는 방법으로서,
    상기 베이스 상에서 상기 사용자 유닛의 이동 동안 얻어진 상기 위치 코드의 이미지들의 시퀀스에서 적어도 하나의 이미지의 위치 코드에 기초하여 상기 사용자 유닛의 절대 위치를 결정하는 단계;
    상기 시퀀스에서 제 1 및 제 2 이미지 간의 공간적 관계를 결정하는 단계; 및
    상기 제 1 -언급된 절대 위치 및 상기 제 1 이미지와 제 2 이미지 간의 공간적 관계에 기초하여 상기 사용자 유닛의 또 다른 절대 위치를 결정하는 단계
    를 포함하는 사용자 유닛의 이동을 기록하는 방법.
  2. 제 1 항에 있어서, 상기 사용자 유닛의 제 1 - 언급된 절대 위치를 결정하는 단계는 상기 적어도 하나의 이미지의 위치 코드를 디코딩하는 단계를 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  3. 제 1 항에 있어서, 사용자 유닛의 제 1 - 언급된 절대 위치를 결정하는 단계는 상기 시퀀스의 적어도 두 개의 이미지들로부터 위치 코드를 디코딩하는 단계를 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서, 상기 공간적 관계를 결정하는 단계는 상기 제 1 및 제 2 이미지들의 내용을 상관시키는 단계를 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서, 상기 공간적 관계를 결정하는 단계는 상기 제 1 및 제 2 이미지들의 특징들을 상관시키는 단계를 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서, 상기 공간적 관계를 결정하는 단계는 상기 제 1 및 제 2 이미지들의 위치 코드 정보를 상관시키는 단계를 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  7. 제 6 항에 있어서, 상기 베이스 상의 위치 코드는 다수의 심볼들 - 상기 심볼들 각각은 심볼값을 나타냄 - 을 포함하며, 상기 공간적 관계를 결정하는 단계는 상기 제 1 및 제 2 이미지들의 심볼값들을 결정하고 상관시키는 단계를 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  8. 제 6 항에 있어서, 상기 베이스 상의 위치 코드는 그룹 심볼값을 코딩하는 적어도 하나의 심볼 그룹을 포함하며, 상기 공간적 관계를 결정하는 단계는 적어도 상기 제 1 및 제 2 이미지들의 그룹 심볼값들을 결정하고 상관시키는 단계를 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  9. 제 1 항 내지 제 8 항 중 어느 한 항에 있어서, 상기 베이스에는 상기 위치 코드에 추가하여 상기 위치 코드를 부분적으로 불명료하게 하는 그래픽 정보가 제공되는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  10. 제 1 항 내지 제 9 항 중 어느 한 항에 있어서, 상기 위치 코드는 다수의 심볼들을 포함하며, 상기 심볼들 각각은 규칙적인 래스터에서 래스터 라인들의 교차부에 의해 한정된 공칭 위치와 관련하여 변위되는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  11. 제 1 항 내지 제 10 항 중 어느 한 항에 있어서, 상기 이미지들의 시퀀스는 중첩하는 내용을 갖는 이미지들을 포함하는 것을 특징으로 하는 사용자 유닛의 이동을 기록하는 방법.
  12. 제 1 항 내지 제 11 항 중 어느 한 항에 따른 방법을 수행하는 제어 유닛을 포함하는, 위치 코드가 제공된 베이스 상에서 사용자 유닛의 이동을 기록하기 위한 장치.
  13. 컴퓨터에서 실행될 때, 상기 컴퓨터가 제 1 항 내지 제 11 항 중 어느 한 항에 따른 방법을 수행하게 하는 프로그램 코드를 포함하는, 컴퓨터 프로그램.
  14. 컴퓨터에서 실행될 때, 상기 컴퓨터가 제 1 항 내지 제 11 항 중 어느 한 항에 따른 방법을 수행하게 하는 컴퓨터 프로그램이 저장된, 컴퓨터-판독가능한 저장 매체.
KR1020067014385A 2003-12-16 2004-12-16 사용자 유닛의 이동을 기록하기 위한 방법, 장치, 컴퓨터프로그램 및 저장 매체 KR20060129266A (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US52962703P 2003-12-16 2003-12-16
US60/529627 2003-12-16
SE0303370A SE0303370D0 (sv) 2003-12-16 2003-12-16 Method, apparatus, computer program and storage medium for recording a movement of a user unit
SE0303370-1 2003-12-16

Publications (1)

Publication Number Publication Date
KR20060129266A true KR20060129266A (ko) 2006-12-15

Family

ID=34703494

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067014385A KR20060129266A (ko) 2003-12-16 2004-12-16 사용자 유닛의 이동을 기록하기 위한 방법, 장치, 컴퓨터프로그램 및 저장 매체

Country Status (2)

Country Link
KR (1) KR20060129266A (ko)
DE (1) DE602004026631D1 (ko)

Also Published As

Publication number Publication date
DE602004026631D1 (de) 2010-05-27

Similar Documents

Publication Publication Date Title
EP1697880B1 (en) Method, apparatus, computer program and storage medium for recording a movement of a user unit
EP1866735B1 (en) Combined detection of position-coding pattern and bar codes
US7249716B2 (en) Position-coding pattern
JP5848464B2 (ja) 二次元コード、二次元コードの作成システムおよび解析プログラム
EP1620828B1 (en) Methods, apparatus, computer program and storage medium for position decoding
WO2014077184A1 (ja) 二次元コード
JP4198456B2 (ja) 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法
JP5791826B2 (ja) 二次元コード
US20080018951A1 (en) Image processing apparatus and control method thereof
JP2008287362A (ja) 電子筆記具、コンピュータシステム、プログラム
JP2021119465A (ja) 改善されたマトリックス記号エラー修正方法
US9576230B2 (en) Dot code pattern for absolute position and other information using an optical pen, process of printing the dot code, process of reading the dot code
JP2007048217A (ja) 手書き情報入力装置
US8599401B2 (en) Image processing device, image processing system, and computer readable medium
JP2006127081A (ja) 情報表示装置、位置指示装置および位置検出システム
US20020021835A1 (en) Method and device for recording of information
CN108664869A (zh) 点阵识别系统
JP2005222157A (ja) 2次元コード,2次元コードの形成装置及び形成方法並びに2次元コードの読取装置及び読取方法
KR20060129266A (ko) 사용자 유닛의 이동을 기록하기 위한 방법, 장치, 컴퓨터프로그램 및 저장 매체
JP2014081681A (ja) 情報処理装置、プログラム及び情報処理システム
JP4397866B2 (ja) 2次元パターン読み取り装置、2次元パターン読み取り方法
TW390072B (en) Method for obtaining relative and absolute errors in longitudinal and latitudinal amplification ratio from a scanner
EP1303830B1 (en) Method and device for recording of information
JP2009175931A (ja) 画像処理装置、ペン・デバイスおよびプログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid