KR20080018951A - 위치 및 정보 코드를 결합하는 방법 및 시스템 - Google Patents
위치 및 정보 코드를 결합하는 방법 및 시스템 Download PDFInfo
- Publication number
- KR20080018951A KR20080018951A KR1020087001268A KR20087001268A KR20080018951A KR 20080018951 A KR20080018951 A KR 20080018951A KR 1020087001268 A KR1020087001268 A KR 1020087001268A KR 20087001268 A KR20087001268 A KR 20087001268A KR 20080018951 A KR20080018951 A KR 20080018951A
- Authority
- KR
- South Korea
- Prior art keywords
- coding
- code
- information
- location
- marks
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 72
- 238000012545 processing Methods 0.000 claims description 20
- 238000006073 displacement reaction Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 description 24
- 230000015654 memory Effects 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000012937 correction Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 6
- 239000000976 ink Substances 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000001965 increasing effect Effects 0.000 description 5
- ORMNNUPLFAPCFD-DVLYDCSHSA-M phenethicillin potassium Chemical compound [K+].N([C@@H]1C(N2[C@H](C(C)(C)S[C@@H]21)C([O-])=O)=O)C(=O)C(C)OC1=CC=CC=C1 ORMNNUPLFAPCFD-DVLYDCSHSA-M 0.000 description 5
- 238000007639 printing Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000005855 radiation Effects 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000011248 coating agent Substances 0.000 description 1
- 238000000576 coating method Methods 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 239000000049 pigment Substances 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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/06009—Record 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/06037—Record 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/0304—Detection arrangements using opto-electronic means
- G06F3/0317—Detection 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/0321—Detection 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing 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/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
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)
- Character Discrimination (AREA)
Abstract
베이스 상에 적용될 수 있는 결합된 위치 및 정보 코드는, 다수의 코딩 마크를 포함하고 다수의 위치들을 코딩하는 위치 코드를 포함한다. 위치 코드 내의 각각의 위치는 미리 결정된 수의 코딩 마크에 의해 코딩된다. 코딩 마크들의 그룹은 위치 코드에서 정의된다. 각 그룹 내의 코딩 마크의 수는 코딩 마크의 미리 결정된 수보다 크다. 각 그룹 내의 적어도 일부의 코딩 마크는 정보 아이템을 코딩하는데 사용된다. 결합된 코드를 디코딩할 때, 결합된 코드의 일부 영역들은 영상화된다. 위치는 각각의 영상화된 일부 영역으로부터 디코딩되지만, 정보 아이템은 적어도 2개의 일부 영역으로부터 디코딩되어야만 한다.
Description
본원은 2005년 6월 17일에 출원된 스웨덴 특허 출원 제 0501400-6호, 및 2005년 6월 17일에 출원된 미국 가특허 출원 제 60/691233호의 우선권을 주장하며, 이들은 본원에 참조로써 통합된다.
본 발명은 일반적으로 정보의 코딩 및 디코딩에 관한 것이며, 보다 구체적으로는 결합된 정보 및 위치 코드의 코딩 및 디코딩에 관한 것이며, 이는 펜 스트로크의 전자식 기록, 및 예를 들어 펜 스트로크의 처리에 사용될 추가 정보의 동시 기록을 가능하게 한다.
수기 정보(handwritten information)를 관리하는 정보 관리 시스템이 예를 들어 US 2003/0061188, US 2003/046256 및 US 2002/0091711에 공지된다. 이러한 시스템에서 전자식 펜은 베이스 상의 다수의 절대 위치(absolute position)를 코딩한 위치 코드가 제공된 베이스 상에서 생성된 펜 스트로크들을 기록한다. 펜은 펜의 팁(tip)에서의 위치 코드를 이미징하고 코딩된 위치들을 디코딩함으로써 펜 스트로크들을 기록하여, 펜 움직임을 반영하는 일련의 위치들이 얻어진다.
각각의 베이스 상의 위치 코드는 상당히 더 많은 절대 위치 코드들의 서브셋 이다. 따라서 다른 베이스들에 전체 위치 코드의 각가지 서브셋들이 제공될 수 있다. 또한 다른 프로세싱 규칙(processing rule)들이 위치 코드의 여러 서브셋들과 관련될 수 있으며, 따라서 기록된 정보의 처리가 베이스 - 정보가 상기 베이스로부터 기록됨 - 에 따라 좌우되는 정보 관리 시스템을 생성한다.
상기 정보 관리 시스템에 제시된 위치 코드는 매우 많은 수의 실질적으로 유사한 형상을 갖는 단순 심볼(simple symbol)들을 포함한다. 위치 코드는 기록된 펜 스트로크들의 프로세싱에 관한 어떠한 정보도 포함하지 않는다. 이는 오로지 위치 정보만을 코딩한다. 적응성과 인쇄 가능성의 견지에서, 이러한 접근 방법은 매우 이익이 된다. 그러나 시스템 내의 다른 유닛들이 전체 위치 코드의 각가지 서브셋들에 관련된 프로세싱 및 라우팅 정보를 소유하고, 이러한 유닛들이 필요할 때 이용 가능할 것이 요구될 수 있다. 대안적으로, 사용자가 프로세싱 및 라우팅 정보를 제공하는 것이 필요할 수 있다.
상기 참조된 타입의 정보 관리 시스템에서, 펜은 전체 위치 코드의 일부(subdivision)에 관한 정보 및 위치 코드의 각가지 서브셋에 관련된 프로세싱 규칙을 저장할 수 있다. 게다가 펜에 저장된 정보가 전송될 중계 서버(intermediary server)는 어드레스들을 구비한 위치 코드들의 서브셋들을 각가지 어플리케이션 서버에 링크하는 데이터베이스를 포함할 수 있으며, 이러한 어플리케이션 서버들은 각가지 베이스들로부터 기록된 펜 스트로크들의 의도된 수신자(recipient)일 수 있다. 마지막으로, 여러 어플리케이션 서버들은 다양한 베이스들에 관한 정보를 저장할 수 있어, 이들이 의도된 방식으로 수신된 정보를 처리 하는 것을 가능하게 한다.
일부 상황에서는, 프로세싱 및/또는 라우팅 정보가 베이스 내에 내장될 수 있어, 시스템의 다른 부분들은 이러한 데이터를 저장할 필요가 없는 것이 바람직할 것이다.
US 6,864,880은 쓰기 영역(writing area) 및 어드레스 영역(address area)을 구비한 생성물을 개시하며, 쓰기 영역에는 수기 정보를 기록하기 위한 위치-코딩 패턴이 제공되며, 어드레스 영역에는 수기 정보가 전송될 어드레스를 코딩하는 어드레스-코딩 패턴이 제공된다.
US 2003/0066896은 추가 정보의 코딩을 위해 마크(mark)들의 제 2 독립 파라미터를 변경함으로써 추가 정보가 위치 코드로 코딩될 수 있는 것을 개시하며, 이는 위치 정보의 코딩을 위해 변하는 제 1 파라미터를 구비한 다수의 마크를 포함한다. 제 1 파라미터는 예를 들어 마크의 로케이션(location)일 수 있으며, 제 2 파라미터는 마크의 크기일 수 있다. 위치 코드는 추가 정보의 코딩을 위해 셀들로 나뉜다. 각각의 셀은 미리 정해진 수의 마크를 포함한다. 제안된 셀 크기는 2*2 마크이다. 이러한 셀 크기로, 펜은 항상 이의 시야(field of view) 내에서 적어도 하나의 완전한 셀을 볼 수 있을 것이다. 그러나 이러한 셀 크기는 예를 들어 명백한 처리 및/또는 라우팅 정보를 코딩하기에 충분하지 않을 수 있다. 예를 들면, 인터넷 프로토콜 버전 4는 32비트 어드레싱 방식을 사용한다. 다른 결점은 시스템이 추가 정보를 코딩하는 사용되는 제 2 독립 파라미터들의 검출을 위한 알고리즘을 추가로 필요로 한다는 것일 수 있다.
본 발명의 일 목적은 상기 지시된 하나 이상의 문제점들을 전체적으로 또는 부분적으로 극복하는 것이다.
이 목적은 청구항 1 내지 청구항 10 각각에 따른 결합된 코드를 생성하기 위한 방법 및 장치, 청구항 11 내지 청구항 18 각각에 따른 결합된 코드를 디코딩하기 위한 방법 및 장치, 뿐만 아니라 청구항 19 내지 청구항 21 각각에 따른 결합된 코드를 생성하기 위한 방법 및 장치, 및 청구항 22 및 청구항 23 각각에 따른 결합된 코드를 디코딩하기 위한 방법 및 장치에 의해 달성된다.
본 발명의 일 측면에 따라서, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법은, 위치 코드의 전자식 표시를 생성하는 단계 - 상기 위치 코드는 다수의 코딩 마크(coding mark)를 포함하고 다수의 위치를 코딩하며, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크에 의해 코딩됨 - ; 위치 코드 내에 코딩 마크들의 그룹을 정하는 단계 - 각각의 그룹은 상기 미리 결정된 수의 코딩 마크보다 더 많은 수의 코딩 마크를 포함함 - ; 및 코딩 마크들의 각각의 그룹 내의 적어도 일부의 코딩 마크들을 사용함으로써 코딩 마크들의 상기 그룹들에 정보 아이템을 코딩하는 단계를 포함한다.
본 방법은 펜이 이의 시야 내의 정보 아이템을 코딩하는 모든 코딩 마크들을 보아야만 하는 것이 아니라는 사실을 기반으로 한다. 펜 사용자가 베이스 상에서 그 또는 그녀의 쓰기가 완료되었을 때 펜이 모든 코딩 마크들을 보면 충분하다. 따라서 예를 들어 펜이 시야 내의 마크들을 코딩한 정보 아이템의 일부를 보면서 펜이 베이스 위를 움직이는 방식으로, 정보 아이템이 베이스 상에서 반복적으로 코딩된다면, 펜은 정보 결국 아이템을 코딩한 모든 코딩 마크들을 볼 것이며, 그 후 이를 디코딩 할 수 있을 것이다.
정보 아이템은 2 이상의 엘리먼트를 포함할 수 있다. 베이스 상의 펜에 의한 쓰기 동안 펜이 모든 정보 아이템 엘리먼트를 볼 가능성은, 각가지 그룹들 내에서 순서를 코딩함으로써 증가될 수 있으며, 엘리먼트들은 코딩 마크들의 그룹들 내에서 상기 순서로 상이하게 나타난다. 미리 정해진 순열 규칙(permutation rule)은 예를 들어 연속하는 그룹들 사이에서 정보 엘리먼트의 순열을 만드는데 사용될 수 있다. 각가지 그룹들 내에서 정보 엘리먼트들의 코딩을 변경하기 위한 다른 방식도 고려될 수 있다.
결합된 코드를 생성하기 위한 방법은, 베이스를 제공하기 위한 방법의 일부일 수 있으며, 이는 펜 스트로크들의 전자식 기록 및 처리를 위한 디지털 펜과 함께 사용되는 것으로 의도된다.
본 발명의 다른 측면에 따라서, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치는, 위치 코드의 전자식 표시를 생성하기 위한 수단 - 상기 위치 코드는 다수의 코딩 마크(coding mark)를 포함하고 다수의 위치를 코딩하며, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크에 의해 코딩됨 - ; 위치 코드 내에 코딩 마크들의 그룹을 정하기 위한 수단 - 각각의 그룹은 상기 미리 결정된 수의 코딩 마크보다 더 많은 수의 코딩 마크를 포함함 - ; 및 코딩 마크들의 각각의 그룹 내의 적어도 일부의 코딩 마크들을 사용함으로써 코딩 마크들의 상기 그룹들에 정보 아이템을 코딩하기 위한 수단을 포함한다.
본 장치는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 구현된 코딩 모듈을 구비한 범용 컴퓨터 또는 서버, 프린터, 또는 임의의 다른 전용 장치(specifically adapted apparatus)일 수 있다. 생성하기 위한 수단, 정의하기 위한 수단 및 코딩하기 위한 수단은, 예를 들어 각각은 프로세서 또는 전용 하드웨어 회로 소자에 의해 실행될 수 있는 명령어들의 세트에 의해 구현될 수 있다.
본 발명의 추가 측면에 따라서, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법이 제공되며, 상기 코드는 다수의 코딩 마크를 포함하고, 상기 코딩 마크들은 다수의 위치를 코딩하며, 각각의 위치는 미리 결정된 수의 코딩 마크들 및 정보 아이템에 의해 코딩되는데, 상기 방법은 결합된 코드의 각가지 부분들에 대한 일련의 전자식 표시들을 수신하는 단계 - 각각의 표시는 상기 정보 아이템을 코딩하는 코딩 마크들의 서브셋, 뿐만 아니라 적어도 상기 미리 결정된 수의 코딩 마크를 포함함 - ; 전자식 표시들의 각각의 하나로부터 위치를 결정하는 단계; 및 전자식 표시들의 적어도 2개로부터 코딩 마크들을 사용하여 정보 아이템을 디코딩하는 단계를 포함한다.
디코딩 처리에서, 각각의 전자식 표시는 이에 따라서 위치를 생성하며, 여기서 둘 이상의 전자식 표시가 정보 아이템을 얻기 위해서 요구된다. 전자식 표시는 결합된 코드의 일부에 대한 임의의 적절한 전자식 표시일 수 있다. 이는 예를 들어 결합된 코드의 일부에 대한 로 이미지 또는 이미지 콘텐츠의 다소 처리된 버전에 상응할 수 있다.
본 발명의 또 다른 측면에 따라서, 결합된 위치 및 정보 코드를 디코딩하기 위한 장치가 제공되며, 상기 코드는 다수의 코딩 마크를 포함하고, 상기 코딩 마크들은 다수의 위치들을 코딩하며, 각각의 위치는 미리 결정된 수의 코딩 마크 및 정보 아이템에 의해 코딩되는데, 상기 장치는, 결합된 코드의 각가지 부분들에 대한 일련의 전자식 표시들을 수신하기 위한 수단 - 각각의 표시는 상기 정보 아이템을 코딩하는 코딩 마크들의 서브셋, 뿐만 아니라 적어도 상기 미리 결정된 수의 코딩 마크를 포함함 - ; 전자식 표시들의 각각의 하나로부터 위치를 결정하기 위한 수단; 및 전자식 표시들의 적어도 2개로부터 코딩 마크들을 사용하여 정보 아이템을 디코딩하기 위한 수단을 구비하는 디코딩 모듈을 포함한다.
본 장치는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 구현된 디코딩 모듈을 구비한 범용 컴퓨터 또는 서버, 디지털 펜, 또는 임의의 다른 전용 장치일 수 있다. 결정하기 위한 수단, 디코딩하기 위한 수단은, 예를 들어 각각은 프로세서 또는 전용 하드웨어 회로 소자에 의해 실행될 수 있는 명령어들의 세트에 의해 구현될 수 있다. 수신하기 위한 수단은 내부 또는 외부 모듈 또는 디바이스와의 인터페이스일 수 있다.
본 발명의 또 다른 측면에 따라서, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법은, 위치 코드의 전자식 표시를 생성하는 단계 - 상기 위치 코드는 다수의 위치를 코딩하며, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크에 의해 코딩됨 - ; 및 결합된 코드를 생성하기 위해서 위치 코드 상에 정보 코드의 전자식 표시를 중첩(overlay)시키는 단계 - 상기 정보 코드는 미리 결정된 수의 코딩 마크를 사용하여 적어도 하나의 정보 아이템을 코딩함 - 을 포함하며, 위치 및 정보 아이템 모두는 격자(grid)에 의해 정의된 개별 공칭(nominal) 위치들로부터 코딩 마크들을 변위(displace)시킴으로써 코딩된다.
결합된 코드가 사용자에 의해 발견되어 두 개의 독립 파라미터들이 정보 아이템 및 위치를 코딩하는데 사용되었을 때보다 더욱 동종의 형상을 가질 수 있다.
마지막으로 언급된 방법은 이 방법의 여러 단계들을 수행하기 위한 수단을 구비한 코딩 모듈을 포함하는 장치에서 수행될 수 있다. 장치는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 구현된 코딩 모듈을 구비한 범용 컴퓨터 또는 서버, 프린터, 또는 임의의 다른 전용 장치일 수 있다. 생성하기 위한 수단, 중첩하기 위한 수단은, 예를 들어 각각은 프로세서 또는 전용 하드웨어 회로 소자에 의해 실행될 수 있는 명령어들의 세트에 의해 구현될 수 있다.
본 발명의 또 다른 측면에 따라서, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법은, 상기 결합된 위치 및 정보 코드의 일부에 대한 전자식 표시를 수신하는 단계; 적어도 하나의 위치-코딩 마크 - 상기 적어도 하나의 위치-코딩 마크는 위치의 코딩에 기여함 - 를 상기 전자식 표시 내에 배치(localize)시키는 단계; 상기 적어도 하나의 위치-코딩 마크의 공칭 위치로부터 변위의 방향을 결정하는 단계; 적어도 하나의 정보-코딩 마크 - 상기 적어도 하나의 정보-코딩 마크는 정보 아이템의 코딩에 기여함 - 를 상기 전자식 표시 내에 배치시키는 단계; 및 상기 적어도 하나의 정보-코딩 마크의 공칭 위치로부터 변위량을 결정하는 단계를 포함한다.
이러한 디코딩 방법은 이 디코딩 방법의 단계들을 수행하기 위한 수단을 구비한 디코딩 모듈을 포함하는 장치에서 수행될 수 있다. 장치는 소프트웨어, 펌웨어, 하드웨어 또는 이들의 임의의 조합으로 구현된 디코딩 모듈을 구비한 임의의 범용 컴퓨터 또는 서버, 디지털 펜, 또는 임의의 다른 전용 장치일 수 있다. 배치하기 위한 수단, 결정하기 위한 수단은, 예를 들어 각각은 프로세서 또는 전용 하드웨어 회로 소자에 의해 실행될 수 있는 명령어들의 세트에 의해 구현될 수 있다. 수신하기 위한 수단은 내부 또는 외부 모듈 또는 디바이스와의 인터페이스일 수 있다.
이제 본 발명은 예시적인 방식으로 더욱 상세히 설명될 것이며, 도면 번호가 첨부한 개념적인 도면들에 구비된다.
도 1은 본 발명이 사용될 수 있는 시스템의 개념적인 개요도이다.
도 2는 정보 코드의 실시예에 대한 개념적인 도시이다.
도 3은 위치 코드의 실시예에서 코딩 심볼의 4가지 상이한 로케이션(location)을 도시한다.
도 4는 일부의 위치 코드의 실시예에 대한 개념적인 도시이다.
도 5는 결합된 코드의 실시예에서 코딩 심볼들의 상이한 변위들을 개념적으로 도시한다.
도 6은 결합된 코드의 셀의 예시를 개념적으로 도시한다.
도 7은 결합된 코드의 일 실시예에서 정보 아이템들의 엘리먼트들이 어떻게 순열로 만들어질 수 있는지를 도시한다.
도 8은 결합된 코드의 기록 및 디코딩에 사용될 수 있는 디지털 펜의 실시예를 개념적으로 도시한다.
도 1은 결합된 코드를 갖는 베이스가 사용될 수 있는 시스템의 예시를 도시한다.
사람(X)이 문서를 작성하였고, 이 문서가 그의 컴퓨터(10)의 메모리에 저장되었다고 가정하자. X는 사람(Y)이 문서의 내용을 검토하길 원한다. X는 프린터(2)를 사용하여 문서(1)를 인쇄한다. 베이스를 인쇄되기에 적합한 임의의 물질로 베이스가 구성될 수 있다. 위치 코드(3)가 인쇄 처리에서 문서의 내용 위에 중첩될 수 있으며, 위치 코드(3)의 일부는 도면에서 확대된 형태로 개념적으로 도시된다. 위치 코드(3)는 Y가 디지털 펜(5)을 사용하여 그에 의해 만들어진 주석(annotation; 4)들을 전자적으로 기록하는 것을 가능하게 하며, 디지털 펜은 문서 위의 위치 코드를 기록한다.
이제 Y의 펜(5)에 저장된 주석들이 X의 컴퓨터(10)에 다시 전송되어 X의 검토를 위해 원래 문서에 통합될 수 있다면 유익할 것이다. 이를 달성하기 위해서, Y의 펜(5) 또는 Y의 펜이 전자적으로 기록된 주석들(4)을 전송할 다른 유닛은 주석들이 송신될 어드레스를 알아야할 필요가 있다. 이러한 문제를 해결하기 위한 한 가지 방법은, X의 문서의 위치 코드(3)에 의해 코딩된 위치들과 X의 컴퓨터의 네트워크 어드레스 사이의 관련(association)을 저장할 중개 서버를 갖는 것일 것이다. 그러나 이러한 해결방법은 중개 서버가 이용가능하고 위치 코드의 어떤 서브셋이 X의 문서에 인쇄되었고 주석들을 전송할 어드레스에 관한 정보를 알고 있어야 한다는 것을 필요로 한다.
다른 방법은 문서의 개별 영역에 X의 컴퓨터의 네트워크 어드레스에 대한 표시를 인쇄하여 그것이 Y의 펜에 의해 기록될 수 있도록 하는 것일 것이다. 네트워크 어드레스는 코딩되거나 명확한 형태로 인쇄될 수 있다.
보다 유연한 해결방법은 X의 문서에 인쇄된 위치 코드(3) 위에 필요한 어드레스 정보를 코딩한 정보 코드를 중첩하는 것일 것이다. 이 방법에서, Y의 펜(5)은 주석들(4)을 기록하면서 어드레스 정보를 캡쳐할 수 있으며, 예를 들어 인터넷 또는 공중 통신 시스템과 같은 네트워크(β)를 통해, 이메일, SMS, 팩스, HTTP, 또는 FTP와 같은 이미 존재하는 일반적인 메시징 개념을 이용하여, 주석들을 직접 X의 컴퓨터(10)에 송신하도록 어드레스 정보를 사용할 수 있다.
도 1에 도시된 시스템은 단지 시스템의 예시이며, 여기서 베이스에 내장된 명확한 주소 또는 라우팅 정보에 대한 아이디어가 유용할 수 있다. 이러한 아이디어를 갖는 많은 다른 어플리케이션 및 변형들을 생각할 수 있다.
도 2는 예시적인 정보 코드의 소정의 기본 원리를 도시하며, 정보 코드는 결합된 코드를 생성하기 위해서 X의 문서(1)의 위치 코드(3)와 같이, 베이스의 위치 코드에 중첩되거나, 이와 통합되거나, 이에 내장될 수 있다. 정보 코드는 종이와 같은 베이스(1)의 표면을 타일링(tiling)한 다수의 셀(6)로 구성될 수 있다. 셀들은 위치 코드(도 2에서 미도시)와 관련하여 고정된 위치들을 가지며, 따라서 결합 된 코드 위로 움직이는 디지털 펜에 의해 보이는 현재 셀의 셀 좌표들은, 셀들의 크기가 공지되었다면, 위치 코드로부터 결정될 수 있다. 각각의 셀은 각각의 셀 내의 다수의 코딩 심볼들에 의해서 동일한 조각(piece)의 정보를 코딩할 수 있다. 따라서 각각의 셀은 정보 아이템의 한 인스턴스(instance)를 코딩한다. 정보 아이템은 다수의 정보 아이템 엘리먼트로 구성될 수 있다. 도 2에 도시된 예시에서, 정보 아이템은 셀들(6) 내에서 1-12로 넘버링된 12개의 엘리먼트로 구성된다. 각각의 엘리먼트는 하나 이상의 코딩 심볼 또는 마크로 코딩될 수 있다. 정보 아이템은 예를 들어 이진 데이터로 구성될 수 있으며, 이들의 각각의 비트는 정보 코드의 하나의 코딩 심볼로 코딩된다. 따라서 각각의 정보 아이템 엘리먼트는 하나 이상의 데이터 비트를 표현할 수 있다.
펜의 현재 위치가 위치 코드를 이용하여 결정되었으면, 펜에 의해 보이는 현재 셀은 셀 크기를 이용하여 결정될 수 있다. 또한 펜에 의해 보이는 각각의 정보 아이템 코딩 심볼의 수 및 상응하는 정보 아이템 엘리먼트 수는, 위치 코드, 셀 크기 및 정보 아이템이 코딩 심볼들에 의해 어떻게 코딩되었는지에 대한 정보를 이용하여 결정될 수 있다.
사용자는 문서(1)에 하나 이상의 펜 스트로크(7)를 만들 수 있다. 펜 스트로크는 시공간적으로 관련된 위치들의 시퀀스로써 기록될 수 있다. 펜에는 예를 들어 접촉 검출기가 제공될 수 있으며, 접촉 검출기는 펜을 베이스에 내려놓을 때와 그 후 베이스로부터 올릴 때를 검출한다. "펜-다운"과 그 후의 "펜-업" 사이에 기록된 위치들은 펜 스트로크로써 정의될 수 있다.
펜 스트로크(7)가 만들어질 때, 디지털 펜은 통상적으로 다수의 셀(6)을 횡단하며 움직인다. 그러나 펜의 시야는 펜이 단일 이미지에 하나의 완성된 정보 코드 셀을 기록할 정도로 충분히 크지는 않다. 도 2의 예시에서, 펜 스트로크(7) 동안 펜에 의해 캡쳐된 각각의 이미지(8)는 단지 몇 개의 정보 엘리먼트들을 포함할 것이다. 그러나 펜이 움직일수록, 여러 셀들 내의 여러 정보 엘리먼트들을 포함하는 추가 이미지(8)들이 캡쳐될 것이며, 종국에는 정보 아이템들의 모든 엘리먼트들(1-12)이 기록될 것이다. 그 후 펜은 정보 코드의 셀들에서 반복적으로 코딩된 정보 아이템을 디코딩하기 위해서 여러 셀들로부터 수집된 엘리먼트들에 관한 정보를 사용할 것이다.
정보 코드로 이루어진 셀들에서 코딩된 정보 아이템은, 셀 내의 이용 가능한 정보 공간에 의해 코딩될 수 있는 임의의 정보일 수 있다. 이는 비-위치(non-positional) 데이터일 수 있다. 예를 들면, 이는 문서가 송신될 예컨대 문서 작성자의 이메일 어드레스 또는 URL과 같은 어드레스 표시, 또는 정보를 올바르게 처리하기 위해 베이스로부터 정보를 수신하는 어플리케이션을 돕는 베이스의 레이아웃에 관한 정보, 또는 베이스로부터 기록된 펜 스트로크들을 암호화하는데 사용될 수 있는 예컨대 암호 키와 같은 암호화 정보, 또는 베이스의 취급을 특정 펜들로 제한하는데 사용될 수 있는 액세스 정보 아이템일 수 있다.
정보 코드가 중첩되는 위치 코드는 표면의 절대 위치들을 코딩한 임의의 종류의 위치 코드일 수 있다. 각각의 위치는 단일 심볼로 코딩될 수 있으며, 이는 위치 코드에 의해 코딩된 위치들의 수에 따라 다소 복잡할 수 있다. 대안적으로 각각의 위치는 둘 이상의 덜 복잡한 심볼에 의해 코딩될 수 있다. 가장 단순한 심볼들이 위치 코드들에서 사용될 수 있으며, 여기서 각각의 심볼은 단지 두 가지의 가능한 값들 중 하나를 코딩한다. 이 경우에 심볼은 단지 2가지의 구별 가능한 상태를 가져야만 한다.
또한 위치 코드는 베이스를 타일링 하여, 각각의 위치가 그 위치를 코딩하기 위해서만 독점적으로 사용되는 하나 이상의 심볼들에 의해서 코딩되도록 할 수 있다. 대안적으로 위치 코드는 "플로팅(floating)"되어 위치 코드의 미리 정해진 크기의 임의의 부분 영역이 위치를 정의하도록 할 수 있다. 이 경우 위치를 코딩하는데 사용된 적어도 일부의 심볼들은 다른 위치의 코딩에도 기여한다.
이하에서 결합된 코드에서 사용될 수 있는 특정 위치 코드의 예시적인 설명이 뒤따르며, 이는 위치 지시들 및 정보의 하나 이상의 되풀이하는(recurrent) 조각들 모두를 코딩한다. 위치 코드는 US 6,667,695에서 설명된 종류일 수 있으며, 이는 본원에 참조로써 통합되며, 이에 대한 참조가 추가적인 상세한 설명을 위해 만들어질 수 있다.
위치 코드는 넘버 시퀀스(number sequence)를 기초로 하며, 이는 이하에서 상이한 넘버 시퀀스로써 언급된다. 이러한 상이한 넘버 시퀀스는, 만약 하나가 예를 들어 5개의 상이한 넘버를 갖는 부분적인 시퀀스와 같이 미리 정해진 길이의 임의의 부분적인 시퀀스를 취한다면, 이러한 부분적인 시퀀스는 항상 상이한 넘버 시퀀스 내의 분명하게 결정된 로케이션(location)을 갖는다는 성질을 갖는다. 즉, 그것은 상이한 넘버 시퀀스로 오직 한번 나타나며, 이에 따라서 위치 결정에 사용 될 수 있다. 이러한 성질을 갖는 시퀀스는 때로는 De Bruijn(드브루인) 시퀀스로 불린다. 보다 구체적으로, 상이한 넘버 시퀀스는 위치 코드의 x축 뿐만 아니라 y축을 따라서 "연속된다(run)."
베이스 상에 적용되는 한, 실제 위치 코드는 간단한 그래픽 심볼 또는 마크(22)들로 구성되며, 심볼 또는 마크(22)들은 공칭 위치(22) 또는 래스터 포인트에 대한 이들의 각각의 위치에 따라 4가지 상이한 값들(0-3)을 가정할 수 있다. 도 3에 도시된 것과 같이, 각각의 심볼(22)은 점 모양을 가지며, 공칭 위치(23)에 대한 4가지 상이한 방향 중 한 방향으로 거리(24)만큼 변위된다. 공칭 위치(23)는 가시적인 또는 비가시적인 또는 가상의 래스터 또는 격자에서 래스터 라인들(21) 사이의 교차점에 위치한다. 심볼에 의해 코딩된 값들은 변위의 방향에 의해 결정된다. 각각의 심볼 값(0-3)은 x 좌표를 코딩하는데 사용되는 일 비트와 y 좌표를 코딩하는데 사용되는 일 비트로 변환될 수 있으며, 즉 (0,0), (0,1), (1,0), 및 (1,1)과 같이 한 쌍의 비트로 변환 될 수 있다. 따라서 코딩은 x 방향과 y 방향으로 개별적으로 이루어지지만, 그래픽 코딩은 x 비트와 y비트에 공통적인 심볼로 이뤄진다.
코딩은 예를 들어 다음과 같이 이뤄질 수 있다는 것이 언급되어야만 한다.
변위 | 비트 쌍(x,y) |
우측 | 0,1 |
상측 | 0,0 |
좌측 | 1,0 |
하측 | 1,1 |
변위(24)는 2개의 인접한 래스터 라인들(21)간의 거리의 약 1/8 이상 내지 약 1/4 이하, 바람직하게는 약 1/6인 것이 적당하다.
각각의 위치는 6 * 6 심볼들에 의해 코딩되며, 이는 위치에 대해 x 좌표용 6 * 6 비트 매트릭스와 y 좌표용 6 * 6 비트 매트릭스로 변환될 수 있다. x 비트 매트릭스가 고려되면, 이는 각각 6 비트의 6 컬럼(column)으로 분할될 수 있다. 컬럼 내의 비트들의 각각의 시퀀스는 63-비트-길이 주기적 메인 넘버 시퀀스 내에서 부분적인 시퀀스를 구성하며, 63-비트-길이 주기적 메인 넘버 시퀀스는, 6 비트 길이를 갖는 부분적인 시퀀스가 선택된 경우, 이는 메인 넘버 시퀀스에서 분명하게 결정된 공간을 갖는다는 성질을 갖는다. 따라서 6개의 컬럼들은 메인 넘버 시퀀스 내에서 6개의 공간에 상응하는 6개의 위치 넘버 또는 시퀀스 값으로 변환될 수 있다. 이러한 6개의 위치 넘버들 사이에서, 5개의 상이한 넘버들은 이웃하는 쌍으로 형성될 수 있으며, 이들은 상이한 넘버 시퀀스의 부분적인 시퀀스를 구성하고, 따라서 동일한 메인 넘버 시퀀스에서 분명하게 결정된 공간, 즉 결과적으로 x 축을 따라 분명하게 결정된 공간을 갖는다. 특정 x 좌표에 대해서, 위치 넘버들은 y 좌표에 따라서 변할 것이다. 다른 한편으로, 상이한 넘버들은 y 좌표에 관계없이 동일할 것이며, 이는 위치 넘버들이 항상 메인 넘버 시퀀스에 따라서 변하기 때문이며, 메인 넘버 시퀀스는 전체 위치-코딩 패턴에서 컬럼에 있어서 주기적으로 반복된다.
결과적으로, y 비트 매트릭스의 6개의 로우(row)는 메인 넘버 시퀀스에서 6개의 위치 넘버들을 정의한다. 이러한 6개의 위치 넘버들은 5개의 상이한 넘버들을 정의하며, 상이한 넘버들은 상이한 넘버 시퀀스의 부분적인 시퀀스를 구성하고 따라서 y 축을 따라서 분명하게 결정된 공간을 갖는다.
도 4는 4 * 4 심볼들을 구비한 상술된 특정 위치 코드의 매우 작은 일부를 도시한다. 레스터 라인들(21)은 단지 예시의 목적으로 도면에서 도시된다. 일반적으로 래스터는 가상이다.
디지털 펜이 위치 코드 상에서 사용될 때, 이는 위치 코드의 상이한 부분들의 이미지들을 캡처할 수 있다. 이미지들은 6 * 6 심볼들 보다 상당히 더 많이 포함할 수 있다. 따라서 위치 코드는 더 많은 수의 심볼들이 이미지에서 가시적이라면 6 * 6 심볼들의 상이한 세트들을 기초로 디코딩될 수 있다. 주위(surrounding) 심볼들도 특히 에러 검출 및/또는 정정을 위해 디코딩에서 사용될 수 있다. 그러나 심지어 디지털 펜의 시야가 위치의 디코딩에서 엄격히 요구되는 것보다 더 많은 수의 심볼들을 포함한다면, 기록된 이미지에서 유용한 심볼들의 수는 예를 들어 이미지 왜곡과 같은 것으로 인해 상당히 더 적을 수 있다는 것에 주의해야만 한다.
상술된 예시적인 위치 코드는 소위 "플로팅 타입"으로 이루어져 있다. 이는 미리 결정된 수의 심볼, 여기서는 6 * 6 심볼들을 포함하는 어떠한 임의의 부분 영역이 위치를 정의할 것이며, 임의의 부분 영역 내의 적어도 일부의 심볼들이 하나 이상의 위치의 코딩에 기여한다는 것을 의미한다. 다르게 말하자면, 임의의 부분 영역이 위로, 아래로, 왼쪽으로, 또는 오른쪽으로 심볼 거리만큼 이동된다면, 새로운 위치는 이렇게 이동된 임의의 부분 영역 내의 심볼들에 의해 정의될 것이다. 따라서 유일한 x,y 좌표는 위치-코딩 패턴 내의 각각의 코딩 심볼에 대해서 결정될 수 있다.
상술된 예시적인 위치 코드는 매우 많은 수의 유일한 절대 위치들을 코딩할 수 있다. 위치들은 거대한 가상 표면을 공동으로 정의하는 것으로 생각될 수 있다. 베이스 상에 코딩된 위치들은 가상 표면 상의 위치들이며, 위치 좌표의 원점은 가상 표면의 원점이다.
가상 표면 또는 전체 위치 코드는 상이한 크기의 페이지들로 논리적으로 세분될 수 있다. 가상 표면의 세분할에 관한 지식을 갖는 임의의 유닛, 예를 들어 디지털 펜 또는 컴퓨터는, 이에 따라서 베이스에서 상응하는 페이지의 지시로 기록된 가상 표면성의 위치 및 상기 페이지 상의 국부 위치를 변환할 수 있다.
또한 상이한 베이스들에게는 전체 위치 코드의 상이한 서브셋들이 제공될 수 있다.
상술된 위치 코드는 단지 예시라는 것이 강조되어야 한다. 다른 종류의 위치 코드들, 예를 들어 더 적은 위치들을 코딩하고 베이스 상에 원점을 갖는 위치 코드들도 결합된 코드를 생성하는데 사용될 수 있다.
다음으로 정보 코드의 실시예가 도 5-7을 참조로 보다 상세히 설명될 것이다.
일반적으로, 정보 코드는 위치 코드 위에 중첩될 수 있는데, 이는 위치 코드 상에 겹쳐 놓임(superimpose)으로써 이루어지거나, 위치 코드에 중간 삽입(interleave)됨으로써 이뤄지며, 겹쳐 놓인 경우에는 정보의 조각은 코딩 위치들을 위한 위치 코드에서도 사용되는 심볼들에 의해 코딩되고, 중간 삽입된 경우에는 위치 코드와 정보 코드는 각각 위치들과 정보의 코딩을 위한 개별 심볼들을 사용한다. 중간 삽입과 겹쳐 놓음의 결합도 고려될 수 있다. 그 경우에, 결합된 코드에 서 일부의 심볼들은 위치 코딩뿐만 아니라 정보 코딩을 위해 사용되며, 일부는 위치 코딩만을 위해서, 일부는 정보 코딩만을 위해서 사용된다.
정보 코드는 베이스 상의 전체적인 범위의 위치 코드에 대해서이거나 이들의 단지 일부에 대해서만 위치 코드 상에 중첩될 수도 있다.
정보 코드와 위치 코드는 베이스 상에 그래픽적으로 상이하게 또는 동일하게 코딩될 수 있다. 만약 개별적인 심볼들이 위치 코드와 정보 코드를 위해 사용된다면, 코드들이 중간 삽입될 때와 같이 정보 코드 심볼들과 위치 코드 심볼들의 그래픽적인 표시는 각각 서로에 대해 독립적으로 만들어질 수 있다. 양 코드들은 심볼들의 상이한 값들을 코딩하기 위해서 동일한 그래픽 파라미터들, 예를 들어 상이한 크기의 도트(dot)들을 사용할 수 있다. 또는 코드들은 상이한 파라미터들을 사용할 수 있다. 정보 코드는 예를 들어 상이한 값들을 코딩하도록 상이하게 회전된 슬래쉬(slash)들을 사용할 수 있으며, 반면에 위치 코드는 상이한 값들을 코딩하기 위해서 상이한 모양의 도트들을 사용할 수 있다.
만약 정보 코드와 위치 코드가 일부 심볼들을 공유한다면, 심볼들 중 하나 그리고 동일한 파라미터는 정보 코드 값과 위치 코드 값을 코딩하는데 사용될 수 있다. 대안적으로 상이한 파라미터들이 사용될 수 있다. 제 1 경우에서, 위치 코드 값과 정보 코드 값의 상이한 결합들은, 예를 들어 심볼들의 상이한 크기들로 또는 삼블들의 상이한 방향으로의 변위들로 코딩될 수 있다. 제 2 경우에, 위치 코드 값은, 예를 들어 도트의 변위 방향으로 코딩될 수 있으며, 또한 정보 코드 값은 도트의 상이한 컬러 또는 명도(color intensity)들에 의해 코딩될 수 있다.
결합된 위치 및 정보 코드의 심볼들은 미리 결정된 규칙에 따라서 그룹으로 나뉠 수 있다. 각각의 그룹은 위치 코드에 속하는 미리 결정된 수의 심볼들, 및 정보 코드에 속하는 미리 결정된 수의 심볼들을 포함한다. 그룹들은, 정보 코드의 특정 코딩 심볼을 이용한 심볼 위치를 상호 관련시키는 알고리즘 방식, 즉, 위치 코드에 의해 결정된 것과 같은 베이스 상의 위치가 존재한다면, 임의의 고려될 수 있는 방식으로 형성될 수 있다. 심볼들은 예를 들어 도 2에서와 같이 결합된 코드들을 타일링하는 셀들로 나뉠 수 있다. 셀은 결합된 코드 내의 연접 영역(coherent area)로 정의될 수 있으며, 이 안에서 모든 정보 코딩 심볼들은 정보 아이템 중 하나 그리고 동일한 인스턴스를 코딩한다. 셀들의 크기와 모양은 여러 베이스들 사이에서 변할 수 있으며, 정보 코드로 코딩되기 위해 정보의 조각에 좌우된다. 그룹들은 예를 들어 정보 코드에 속하는 32, 64, 128, 256 또는 1024 개의 심볼들을 포함할 수 있다.
정보 코드의 특정 코딩 심볼들을 이용한 심볼 로케이션을 상호 관련시키는 알고리즘 방식에 대한 대안으로써, 셀들은, 예를 들어 베이스 상의 추가 마크들에 의해서, 또는 위치 코드 및/또는 정보 코드에 속하는 마크들의 특정 특성에 의해서 베이스 상에 그래픽으로 마킹될 수 있으며, 따라서 셀들의 경계는 광학적으로 검출될 수 있다.
상기에 지시된 것과 같이, 심볼들의 각각의 그룹은 펜의 시야 내의 펜에 의해 보일 수 있는 것보다 더 많은 수의 심볼들을 포함할 수 있다.
모든 그룹들은 정보의 동일한 조각, 또는 정보의 가능한 적은 수의 상이한 조각들을 코딩할 수 있다. 후자의 경우에, 디코딩 디바이스는 어떤 그룹들이 정보의 제 1 조각을 코딩하였고, 어떤 그룹들이 정보의 제 2 조각을 코딩하였는지 등을 구별할 수 있을 필요가 있다.
아래에서 베이스, 예를 들어 종이 상에 적용될 수 있는 결합된 코드의 특정 구현의 예시가 도 5를 참조로 설명되며, 이는 결합된 코드의 작은 부분을 개념적으로 도시한다. 도 5 내의 모든 심볼들(22)은 위치 코딩을 위해 사용되며, 따라서 위치 코드에 속한다. 더구나 이들은 각각의 공칭 위치(23)에서 4가지 방향중 하나로 모두 오프셋되어 있으며, 공칭 위치(23)는 래스터 라인들 또는 격자 라인들(21)의 교차점으로 정의된다.
정보 코드는 위치 코드 상에 겹쳐 놓여 있어, 정보 코드는 위치들을 코딩하기 위해서도 사용되는 심볼들을 이용한다. 이러한 예시에서, 좌상단 코너에서 시작하는 위치 코드(예를 들어 여기서 (x + y ≡ 0 모듈로(modulo) 2) 내의 모든 다른 심볼들은 정보 코드로 사용된다. 도 5에서 도트들(22i)은 정보 코드와 위치 코드 모두에 속하며, 반면에 도트들(22p)은 오직 위치 코드에만 속한다. 위치들은 위치 코드에 속하는 코딩 심볼들의 변위 방향에 있어서의 변화로써 코딩된다. 변위의 크기(24p)는 모든 4개의 방향에 있어서 동일하다. 정보 아이템은 정보 코드에 속하는 코딩 심볼들의 변위 길이에 있어서의 변화로써 코딩된다. 이러한 예시에서, 각각의 정보 코딩 심볼은 "0"으로 코딩하기 위한 공칭 위치로부터 오프셋 통상 거리(24p)이거나, "1"로 코딩하기 위한 공칭 위치로부터 2배의 통산 거리(24i) 중 하나이다.
도 6은 결합된 코드의 셀의 예시를 개략적으로 도시한다. 도 6의 셀은 위치 코드의 16 * 16개의 코딩 심볼들을 포함한다. 모든 다른 심볼은 도 5의 예시에서와 같이 정보를 코딩하는데 사용된다. 도 6의 모든 눈(square)은 위치 코드의 코딩 심볼에 대응한다. 넘버링된 눈들은 정보 코드에도 속하는 코딩 심볼들에 대응한다. 이러한 경우에, 정보 아이템은 최대 128 비트의 데이터로 구성될 수 있으며, 각각의 비트는 하나의 정보 코딩 심볼에 의해 코딩된다. 보다 구체적으로, 정보 아이템은 다수의 정보 아이템 엘리먼트로 구성될 수 있다. 이들의 각각은 하나 이상의 코딩 심볼에 의해 코딩될 수 있다.
심볼들의 일부는, 예를 들어 BCH(127,99,9)와 같은 산업 표준 이진 BCH 코드를 사용하여, 오류 정정(error correction)을 위해 사용될 수 있으며, BCH(127,99,9)는 127 비트는 정보 코딩을 위해 사용되고, 이 중 99 비트는 데이터용으로 사용되고, 28 비트는 오류 정정용으로 사용되어, 4개의 비트 오류 또는 8개의 누락 비트를 정정하는 것을 가능하게 한다. 1비트는 사용하지 않고 남아있다. 다른 에러 정정 방식도 물론 고려될 수 있다.
정보 비트들의 시퀀스는 정보 코드의 모든 셀들에 있어서 동일할 수 있다. 그러나 시퀀스 또한 베이스 상의 펜 스트로크들의 기록 동안에 모든 정보 아이템 엘리먼트들을 캐칭(catching)할 확률을 증가시키기 위해서 셀들 간에 순열이 만들어질 수 있다. 도 6의 정보 비트들(1...128)에 대한 순열 함수는 다음의 형태를 갖는다.
P(xi, yi, bit_number) = permuted__bit_number
여기서 xi 및 yi는 셀 좌표들을 나타내는 정수이며, bit_number는 셀 내의 비트의 연속적인 넘버를 나타내기 위한 1-128 사이의 정수이다. xi는 x/xsize의 정수부로써 계산될 수 있으며, 여기서 xsize는 심볼들의 수로써 표현되는 x-방향의 셀 크기이며, x는 전체 위치 코드에서 현재 코딩 심볼의 x-좌표이고, yi는 y/ysize의 정수로써 상응하는 방식으로 계산될 수 있고, 여기서 ysize는 심볼들의 수로써 표현되는 y-방향의 셀 크기이고, y는 전체 위치 코드에서 현재 코딩 심볼의 y-좌표이다. Bit_number는 Bit_number = x mod xsize + C * y mod ysize로써 계산될 수 있으며, 여기서 C는 x-방향의 정보 코드 엘리먼트들의 수와 동일한 상수이며, 이 예시에서는 8이다. Permuted_bit_number도 정보 아이템 엘리먼트의 수를 나타내는 1 내지 128 사이의 수일 것이다. 따라서 본 예시에서 함수(P)는 1...128 위로 1...128의 일대일 매핑이다.
당업자는 정보 비트 시퀀스의 다소 복잡한 순열을 초래하는 여러 함수들(P)을 고려할 수 있다.
도 7은 다음의 순열 함수로부터 야기되는 순열을 개념적으로 도시한다.
P(xi, yi, bit_number) = (bit_number+xi+yi) mod 128 + 1
도 7은 6개의 예시적인 정보 코드 셀을 도시한다. 각각의 셀의 셀 좌표는 각각의 셀 안에 표시된다. 도 7로부터 명백하겠지만, 순열 함수는 어떤 한 셀이 우측으로 또는 아래로 이동될 때 정보 비트 시퀀스를 한 스텝 앞으로 시프트 시킨다.
상술된 예시에서, 128개의 이진 비트들은 정보 코드 셀로 코딩될 수 있다. 따라서, 임의의 오류 정정을 포함하여 128 비트로 표현될 수 있는 임의의 종류의 정보는 도 6의 예시적인 정보 코드 셀로 코딩될 수 있다. 예를 들어 모든 다른 코딩 심볼을 대신한 모든 코딩 심볼과 같은, 정보 코드 셀의 코딩 심볼들의 더 큰 부분을 사용함으로써, 정보 코딩 밀도는 셀 크기를 증가시키지 않고 증가될 수 있다. 대안적으로 또는 보완적으로, 셀 크기는 증가될 수도 있다. 그러나 이는 정보 아이템이 캡쳐되기 전에 더 많은 펜 스트로크들이 베이스 상에서 만들어질 필요가 있도록 한다.
상술된 순열들은 단지 여러 종류의 펜 스트로크들 동안에 정보 아이템들의 모든 엘리먼트들이 보일 가능성을 증가시키기 위해서 정보 아이템들의 코딩이 셀들 사이에서 어떻게 변할 수 있는지에 대한 예시일 뿐이다. 다른 종류의 변화는 모든 셀에서 완전한 정보 아이템을 코딩함으로써가 아니라 하나 이상의 정보 아이템 엘리먼트들을 생략하거나, 또는 하나 이상의 셀에서 한번 보다 많은 하나 이상의 엘리먼트를 코딩함으로써 달성된다. 정보 아이템의 코딩을 변화시키는 이러한 여러 가지 방법들도 결합된 코드들에서 사용될 수 있으며, 여기서 셀은 위치의 코딩에 필요한 동일한 수 또는 그 이하의 코딩 심볼을 포함하는 것이 실현된다.
다음에는 결합된 코드가 어떻게 생성되는지에 대한 예시를 설명할 것이다. 이 예시에서, 정보 아이템은 오류 정정 없이 128 비트로 구성되고, 순열 함수(P)는 상기 지시된 것이라고 가정한다.
결합된 코드는 장치의 코딩 모듈에서 생성될 수 있으며, 장치는 소정의 적절한 타입의 프로세서, 여러 종류의 메모리, 데이터 프로세싱에 통상적으로 사용되는 기타 유닛들을 포함할 수 있다. 장치는 범용 컴퓨터, 프린터, 다른 표준 디바이스 또는 전용 디바이스일 수 있다. 장치는 사용자에 대해서 로컬 또는 원격에 위치될 수 있다.
코드 생성의 제 1 단계에서, 코딩 모듈의 코딩 프로세스는 베이스 상에 제공될 위치 코드를 생성한다. 이러한 목적을 위해서, 코딩 모듈은, 예를 들어 위치 코드 내에 포함될 컬럼과 로우의 수와 같은, 입력 신호로써 생성될 위치 코드의 크기에 대한 지시, 및 예를 들어 특정 x,y 좌표 쌍으로부터 시작하는, 사용될 좌표 영역을 수신할 수 있다. 입력은 예를 들어 사용자 또는 시스템에서 시발될 수 있다.
입력을 기초로, 코딩 프로세스는 위치 코드의 모든 코딩 심볼들을 나타내는 매트릭스 또는 다른 데이터 구조를 생성할 수 있다. 다음으로, 각각의 엘리먼트와 값을 관련시키는 매트릭스 내의 모든 엘리먼트들을 통해 다음 단계로 나아갈 수 있으며, 상기 값은 관련 위치를 코딩하기 위해서 베이스 상에 적용될 때 상응하는 코딩 심볼이 가지게 되는 그래픽 상태를 나타낸다. 이러한 예시에서, 값은 심볼이 변위될 방향을 나타낸다.
특정 위치를 코딩하는 코딩 심볼의 변위 값들이 어떻게 계산될 수 있는지에 대한 보다 상세한 예시는 US 6,667,695에서 발견될 수 있다.
위치 코드 생성 단계의 출력은 그래픽 생태 값들을 갖는 매트릭스 일 수 있으며, 이는 위치 코드의 전자적 표시의 한 예시이다. 위치 코드 데이터는 예를 들어 리스트와 같은 여러 데이터 구조들로 체계화될 수 있다.
다음 단계에서, 정보 아이템은 사용자에 의하거나 또는 시스템의 다른 부분으로부터의 코팅 모듈로의 입력일 수 있다. 정보 아이템은 예를 들어 정적이고 모든 무선에 대해 사용될 수 있거나, 이는 위치 코드의 어떤 서브셋이 사용되는 지에 따라서 변화될 수 있거나, 또는 이는 사용자에 의해 결정되듯이 자유롭게 변할 수도 있다. 정보 아이템 데이터의 이진 포맷으로의 변환과 에러 정정 비트들의 계산도 이 단계에서 수행될 수 있다.
정보 아이템의 코딩 시작 전에, 셀 크기는 정의될 필요가 있을 것이다. 이는 예를 들어 사용자 선택 또는 코딩될 정보 아이템을 기초로 이뤄질 수 있다. 셀 크기도 미리 결정될 수 있으며, 관련 코딩 프로세스에 의해 생성된 모든 결합된 코드들과 동일한 것일 수 있다.
정보 코드를 위치 코드 상에 중첩시키고, 정보 아이템을 위치 코드의 코딩 심볼들로 코딩하기 위해서, 위치 코드 매트릭스 내의 모든 포인트들은 코딩 프로세스에 의해서 위쪽으로 루프(loop)될 수 있다. 보다 구체적으로, 코딩 프로세스는 위치 코드 내의 어떤 심볼들이 정보 코드를 위해 사용되어야만 하는지를 결정하기 위해서 미리 결정된 알고리즘을 사용할 수 있다. 이러한 예시에서, 코딩 프로세스는 도 5와 관련하여 상술되었던 것과 같이, 체스-판 방식으로 정보 코딩을 만들기 위해서 위치 코드 매트릭스 내의 모든 다른 심볼을 건너뛴다.
각각의 정보 코딩 심볼에 대해서, 위치 코드의 좌표들은 상숭될 것과 같이 xi, yi 및 bit_number를 계산하는 데에도 사용될 수 있다. 그리고 순열 함수 P(xi, yi, bit_number)는 어떤 정보 아이템 엘리먼트가 현재 정보 코딩 심볼에 의 해 인코딩될 지를 결정하는데 사용될 수 있다. 만약 정보 아이템 엘리먼트의 이진 값이 1이라면, 코딩 심볼의 그래픽 상태 값은 오프셋이 위치 코딩에 사용된 것보다 2배 더 커야 함을 지시하도록 수정될 수 있다. 만약 이와 다르게 정보 아이템 엘리먼트의 이진 값이 0이라면, 코딩 심볼의 그래픽 상태 값은 그 코딩 심볼을 인쇄할 때 정상 오프셋이 사용됨을 지시하도록 수정되지 않은 채로 남는다. 따라서 이 단계는 셀들이 위치 코드 내에서 정의되고, 정보 아이템이 셀들 내에서 코딩된다는 것을 의미한다.
마지막 단계에서, 프린트 파일은 그래프 상태 매트릭스 및 베이스 상에 인쇄될 결합된 코드로부터 생성될 수 있다. 프린트 파일도 문서, 폼(form), 이미지 또는 결합된 코드와 함께 임의의 다른 종류의 정보를 인쇄하기 위한 프린터에 대한 명령어들을 포함할 수 있다.
한편으로 결합된 코드, 및 다른 한편으로 임의의 다른 정보는 동일한 잉크 또는 개별 잉크를 사용하여 베이스 상에 인쇄될 수 있으며, 여기서 다른 정보를 인쇄하는데 사용된 잉크는 디지털 펜에 대해 투명하다. 동일한 잉크가 결합된 코드와 다른 정보 모두에 대해 사용되었을 때, 만약 다른 정보가 결합된 코드 상에 중첩된다면 결합된 코드는 부분적으로 분명하지 않을 수 있으며, 특정 설명(account)이 디코딩 프로세스에서 이러한 사실에 대해 이뤄져야만 할 수 있다.
인코딩 프로세스의 상기 설명은 단지 예시적인 목적으로서 만들어졌다는 것이 강조되어야만 한다. 당업자는 결합된 코드의 생성을 구현하기 위해 다른 및/또는 더 효율적인 프로세스들을 고려할 수 있을 것이다.
또한 상기 예시는 정보 아이템이 이진 데이터로 구성되고, 각각의 정보 코딩 심볼이 정보의 일 비트를 코딩하는 경우에 관한 것이다. 당업자는 각각의 정보 아이템 코딩 심볼이 일 이상의 데이터 비트를 코딩하는 경우나 또는 각각의 정보 아이템 엘리먼트가 하나 이상의 코딩 심볼에 의해 코딩되는 경우에 대해서 상기 예시를 쉽게 수정할 수 있다.
결합된 코드를 디코딩하기 위한 방법의 예시를 설명하기 전에, 디지털 펜의 예시가 설명될 것이며, 이는 결합된 코드의 기록 및/또는 디코딩을 위해 사용될 수 있다. 이러한 목적을 위해서, 도 8은 디지털 펜(200)의 실시예를 개념적으로 도시한다. 펜(200)은 윈도우 또는 개구부(204)를 형성한 펜-모양의 케이스 또는 외관(202)을 구비하며, 윈도우 또는 개구부(204)를 통해 이미지들이 기록된다. 케이스는 카메라 시스템, 전자 시스템 및 전원 공급부를 포함한다.
카메라 시스템(206)은 적어도 하나의 조명 광원, 렌즈 장치 및 광학적 이미지 리더(도면에서는 미도시)를 포함한다. 광원, 적절하게는 발광 다이오드(LED) 또는 레이저 다이오드는, 적외선 방사를 이용하여 윈도우(204)를 통해 보일 수 있는 영역의 일부를 조명한다. 보이는 영역의 이미지는 렌즈 장치를 통해 이미지 리더 상에 투영된다. 이미지 리더는 2차원 CCD 또는 CMOS 디텍터(detector)일 수 있으며, 이는 통상적으로 약 70-100 Hz의 유연하거나, 적응성 있거나, 또는 고정된 속도로 이미지들을 캡쳐하도록 트리거링(triggering) 될 수 있다. 대안적으로, 센서는 심볼들의 자기 성질을 검출하기 위한 자기 센서 어레이를 포함할 수 있다. 더 나아가, 센서는 심볼들의 임의의 화학적, 음성, 용량성, 또는 유도성 성질의 이 미지를 형성하도록 설계될 수 있다.
디지털 펜의 전원 공급부는 배터리(208)이며, 이는 대안적으로 주 전원(미도시)로 대체되거나 보완될 수 있다.
전자 시스템은 메모리 블록(212)에 연결된 제어 유닛(210)을 포함한다. 제어 유닛(210)은 펜에서 여러 기능들에 대해 책임지며, CPU("중앙 처리 유닛")과 같은 상용 마이크로프로세서에 의해, DSP("디지털 신호 처리기")에 의해, 또는 FPGA("Field Programmable Gate Array") 또는 대안적으로 ASIC("주문형 반도체"), 독립 아날로그 및 디지털 컴포넌트들, 또는 이들의 소정의 조합과 같은 일부 다른 프로그램가능 논리 디바이스에 의해 구현되는 것이 유리할 수 있다. 메모리 블록(212)은 워킹 메모리(working memory; 예를 들어 RAM) 및 프로그램 코드 및 영구 저장 메모리(비-휘발성 메모리, 예를 들어 플래시 메모리)와 같은 다양한 타입의 메모리를 포함하는 것이 바람직하다. 관련 소프트웨어는 메모리 블록(212)에 저장되며, 제어 유닛(210)에 의해 실행된다. 따라서 결합된 정보 및 위치 코드를 디코딩하기 위한 소프트웨어는 메모리 블록(212)에 저장되고 제어 유닛(210)에 의해 실행될 수 있다.
또한 케이스(202)는 펜촉(214)을 수용하며, 이는 사용자가 이 안에 구비된 통상의 피그먼트-계(pigment-based) 마킹 잉크에 의해 표면에 물리적으로 글씨를 쓰거나 그림을 그릴 수 있도록 한다. 펜촉(214) 내의 마킹 잉크는 전자 펜의 광-전자식 검출과의 간섭을 피하기 위해서 조명 방사에 대해 투명한 것이 적절하다. 접촉 센서(216)는 펜이 쓰이고(펜 다운), 또는 떨어지는 때를 검출하기 위해서, 펜 촉(214)과 동작적으로 연결되며, 인가 힘(application force)의 결정을 선택적으로 허용한다. 접촉 센서92160의 출력을 기초로, 카메라 시스템(206)은 펜 다운과 펜 업 사이에 이미지들을 캡쳐하도록 제어된다.
전자 시스템은 컴퓨터, 이동 전화, PDA, 네트워크 서버 등과 같은 근접 또는 원격 장치로 데이터를 전달하기 위한 통신 인터페이스(218)을 더 포함한다. 따라서 통신 인터페이스(218)는, 유선 또는 무선 단거리 통신을 위한 컴포넌트들(예를 들어, USB, RS232, 무선 송신, 적외선 송신, 초음파 송신, 유도성 커플링 등), 및/또는 통상적으로 컴퓨터, 전화 또는 위성 통신을 통한, 유선 또는 무선 원격 통신을 위한 컴포넌트들을 제공할 수 있다.
또한 펜은 사용자 피드백을 위해 선택적으로 활성화되는 MMI(인간 컴퓨터 간 인터페이스)를 포함할 수 있다. MMI는 디스플레이, 표시 램프, 진동기, 스피커 등을 포함할 수 있다.
또한, 펜은 하나 이상의 버튼(222)을 포함할 수 있으며, 이를 이용하여 펜이 활성화 및/또는 제어될 수 있다.
펜(200)의 상술된 실시예는 단지 예시일 뿐이다. 상기 언급된 컴포넌트들의 서브셋, 및/또는 부분적으로 또는 전체적으로 다른 컴포넌트들, 및/또는 부분적으로 또는 전체적으로 다른 디자인을 구비한 다른 디지털 펜들이 결합된 코드를 기록하는데 사용될 수 있다. 덜 복잡한 디지털 펜은 예를 들어 오직 이미지들을 기록하고, 이들을 추가 프로세싱을 위해 다른 장치로 전송할 수만 있을 수도 있다. 다른 실시예에서, 디지털 펜은 도트들의 로케이션과 같은 코드의 일정한 특징들을 검 출하고, 이들의 정보를 추가 프로세싱을 위해 다른 정치로 전송할 수 있다.
아래에, 결합된 코드를 디코딩하기 위한 방법의 일 예시적인 실시예가 상술된 디지털 펜(200)과 상술된 예시적인 결합된 코드를 참조로 설명될 것이다.
상술된 펜(200)이 결합된 코드와 함께 베이스 상에서 사용될 때, 접촉 센서(216)는 펜촉이 베이스에 대해 가압될 때를 검출하고, 이의 시야 내의 결합된 코드의 부분 영역의 이미지들을 캡쳐하기 위해서 카메라 시스템(206) 트리거링 한다. 카메라는 접촉 센서(216)가 펜이 베이스로부터 떨어지는 것을 검출하기 전까지 이미지들을 캡쳐하는데 기여한다. 카메라 시스템(206)에 의해 캡쳐된 일련의 이미지들은 결합된 코드의 상이한 부분 영역의 일련의 전자식 표시들을 구성한다.
일련의 전자식 표시에서 결합된 코드의 디코딩은 디지털 펜의 디코딩 모듈 또는 전자식 표시들이 펜으로부터 전송된 다른 장치의 디코딩 모듈에서 수행될 수 있다. 전자식 표시들은 캡쳐되어 또는 다소 처리된 형태로 전송될 수 있다. 디코딩은 대안적으로 디지털 펜과 다른 장치 사이에서 분리되어, 디지털 펜은 디코딩의 제 1 부분을 수행하고, 다른 장치는 제 2 부분을 수행할 수 있다.
디코딩 모듈의 디코딩 프로세스의 제 1 단계에서, 위치는 펜에 의해 캡쳐된 이미지들에 대해 결정된다. 상기 예시적인 타입의 위치 코드의 디코딩은, 이미지에서 코딩 심볼들을 배치시키는 단계, 래스터를 코딩 심볼들에 적합(fitting)시키는 단계, 래스터 라인의 교차점에 의해 정의된 공칭 위치들로부터 코딩 심볼들의 변위 방향을 결정하는 단계, 및 코딩 심볼의 변위들을 기초로 위치들을 계산하는 단계를 포함할 수 있다. 위치 디코딩의 각 단계들이 어떻게 이러한 종류의 위치 코드에 대해서 수행될 수 있는지에 대한 보다 상세한 설명에 대해서, 예를 들어 US 6,667,695 및 US 2002/0044138을 참조하며, 이는 본원에 참조로써 통합된다.
또한 위치들은 계산에 의해 위치 코드로부터 필수적으로 결정될 필요가 있지 않다는 것이 언급되어야만 한다. 또한 위치 코드는 펜이 위치할 것으로 예측되는 일정한 영역 내에서 위치 코드의 표시에 대해 캡쳐된 이미지의 코딩 심볼들을 매칭시킴으로써, 또는 상대 위치를 설정하기 위해서 이전에 수신된 전자식 표시에 대해서 수신된 전자 표시의 코딩 심볼들을 매칭시킴으로써 위치를 결정하는데 사용될 수 있다.
이미지에서 코딩 심볼들의 로케이션들이 결정되었고, 이미지에서 코딩 심볼들을 참조하는 x-y 위치가 디코딩되었을 때, 이미지 내에서 보이는 정보 코드의 부분은 디코딩될 수 있다. 디코딩에 대해서, 디코딩 모듈과 관련하여 2개의 메모리 버퍼가 사용된다. 이들의 각각은 정보 코드에서 코딩된 정보의 조각과 같은 크기, 즉 본 예시에서 128 비트를 구비한다. 다음에서, 메모리 버퍼들은 누산(accumulator) 버퍼(acc) 및 제공(contributor) 버퍼(con)로 불린다.
정보 코드에 속하는 이미지 내의 각각의 코딩 심볼에 대해서, 다음의 단계들이 수행된다.
1) 코딩 심볼의 중심과 관련 격자 교차점 사이의 거리(offs)가 계산된다.
2) 정수(xi), 정수(yi) 및 정수(bit_number)는 상기 지시된 것과 동일한 방식으로 계산된다.
3) Permuted_bit_number가 P, xi, yi 및 bit_number를 이용하여 계산된다.
4) 누산 버퍼(ace)는 offs에 의해 갱신된다: acc[permuted_bit_number]+=offs
5) 제공 버퍼(con)는 1에 의해 갱신된다: con[permuted_bit__number]+=1
따라서 누산 버퍼는 정보 코드의 상이한 코드 엘리먼트에 대해 개별 변위들을 누산하고, 제공 버퍼는 정보 코드의 특정 비트가 펜에 의해 얼마나 많은 횟수로 보였는지를 기록한다.
모든 이미지들이 상기 지시된 것과 같이 처리되었을 때, 생성된 오프셋들은 모든 정보 아이템 엘리먼트들에 대해 계산된다: offset[n]=acc[n]/con[n], 여기서 n은 1 내지 128 사이의 인덱스(index)이다. 만약 con이 임의의 정보 아이템 엘리먼트에 대해 0인 값을 갖는다면, 이는 이 정보 아이템 엘리먼트가 이러한 스트로크로부터 사라졌다는 것을 의미한다.
대안으로써, 제공 버퍼는 1이 아니라 정보 코드의 관련 코딩 심볼의 관찰의 신뢰성을 반영하는 값으로 갱신될 수 있다. 이미지의 테두리들에 근접한 코딩 심볼들은 예를 들어 덜 가중될 수 있으며, 이는 이들이 인지 가능한 왜곡에 의해 통상적으로 더 영향을 받기 때문이다.
그 후 임계(threshold)가 적용되고, 비트 값들은 이에 따라서 할당된다:
if offset[n]>threshold_value, then bit[n]=l else bit[n]=Q
만약 결합된 코드를 코딩할 때 오류-정정 메커니즘이 사용되었다면, 이제 디코딩 프로세스도 오류 및/또는 누락 비트들을 탐지하고 정정하기 위해서 동일한 오류-정정 메커니즘을 사용한다.
전자 표시들의 상기 프로세싱은 일련의 위치들을 생성하며, 이는 하나 이상의 펜 스트로크 동안에, 즉 하나 이상의 전자 펜 스트로크에서 베이스 상에서의 펜의 움직임의 전자식 표시를 구성한다. 또한 이는 부분적으로 또는 전체적으로 디코딩된 정보 아이템을 생성한다.
마지막 단계에서, 디코딩 프로세스는 정보 아이템을 전자 펜 스트로크들과 관련시킬 수 있다. 상기 지시된 것과 같이, 위치 코드로부터 얻은 각각의 위치는 페이지 지시 및 그 페이지 상의 국부 위치로 변환될 수 있다. 펜 스트로크는 통상적으로 페이지 지시 및 일련의 국부 위치들로서 표현될 수 있다. 이 방식에서, 펜은 스트로크가 어떤 페이지 상에 쓰이는지를 기록할 수 있다. 정보 아이템이 디코딩되었을 때, 디코딩 프로세스는 정보 아이템이 이미 디코딩되었고 현재 페이지와 관련되는지를 체크할 수 있다. 만약 그렇다면, 디코딩 프로세스는 이미 저장된 정보 아이템과의 비트 단위(bit-for-bit) 일관성을 광학적으로 체크할 수 있다. 만약 현재 정보 아이템의 비트 데이터가 이전 정보 아이템의 비트 데이터와 충분히 유사하다면, 상이한 펜 스트로크들에 대한 비트 데이터는 합해질 수 있다. 이러한 방식에서 정보 아이템의 올바른 디코딩 가능성은 증가될 수 있다. 만약 반대로 디코딩된 정보 아이템들의 비트 데이터가 근본적으로 다르다면, 이는 두개의 상이한 페이지 상에 쓰였다는 것을 지시할 수 있고, 디코딩 프로세스는 적절한 행동(action)을 취할 수 있다.
때로는 다수-페이지 문서 상에 결합된 코드를 사용하는 것을 희망할 수 있다. 만약 디코딩 프로세스가 모든 페이지 상에 동일한 정보 코드를 구비한 동일한 문서에 속하는 다수-페이지 문서의 여러 페이지 상에 만들어진 펜 스트로크들을 형성할 가능성이 있다면, 이는 여러 페이지 상의 모든 펜 스트로크들로부터 정보 아이템에 관한 정보를 수집하고, 그에 따라서 정보 아이템의 올바른 디코딩의 가능성을 증가시키기기 위해서 이러한 사실을 이용할 수 있다. 디코딩 프로세스는 예를 들어 정보에 대한 액세스를 구비할 수 있으며, 이는 페이지의 특정 그룹핑들이 결코 개별 문서들을 표시하지 않는 다는 것을 지시하며, 뿐만 아니라 단지 다수-페이지 문서를 나타낸다. 디코딩 프로세스는, 상기 지시된 것과 같이 여러 페이지들로부터의 펜 스트로크들로부터 디코딩된 정보 비트 데이터를 추가적으로 또는 선택적으로 비교할 수 있으며, 데이터의 유사성을 기초로 연결된 페이지에 관한 가정을 만들 수 있다.
따라서 디코딩 프로세스도 특정 페이지들 상의 정보 코드를 위해 사용된 셀 크기에 관한 정보에 액세스를 구비할 수 있다. 대안적으로 디코딩 프로세스는 여러 셀 크기들에 대해 병렬적으로 디코딩을 수행할 수 있다. 여러 펜 스트로크들로부터 수집된 정보 비트 데이터가 비교될 때, 이는 어떤 셀 크기가 코딩에 사용되었는지에 대해 명백하게 밝혀질 것이다.
다음에서, 결합된 코드에 포함되기에 유용할 수 있는 정보 아이템들에 대한 소정의 추가 예시들이 주어질 것이다.
디지털 펜은 통상적으로 이의 메모리에 저장된 유일한 식별 코드를 갖는다. 이 식별 코드는 베이스의 사용을 제한하기 위해서 베이스 상의 정보 아이템과 같이 코딩될 수 있다. 디지털 펜은 하드웨어 및/또는 소프트웨어를 포함할 수 있으며, 하드웨어 및/또는 소프트웨어는 베이스 상의 결합된 코드로부터 디코딩된 식별 코드를 체크하고, 베이스 상의 식별 코드가 펜에 저장된 것과 일치하는 경우에만 동일한 베이스로부터 기록된 펜 스트로크들의 저장 또는 출력을 허용한다. 이 방식에서, 특정 베이스의 사용은 특정 펜으로 제한될 수 있다. 베이스의 사용은 대안적으로 한 그룹의 디지털 펜들로 제한될 수 있다. 이 경우에, 그 그룹의 펜들은 그룹 식별성을 저장할 수 있으며, 이는 베이스의 사용을 상기 특정 그룹의 펜들로 제한하기 위해서 베이스 상에 코딩된다. 대안적으로, 그 그룹의 펜들의 개별적인 식별 코드들은, 베이스 상에서 결합된 코드에 포함될 적절한 정보 아이템을 생성하기 위해서 예를 들어 수학적 알고리즘에 의해 프로세싱될 수 있다. 개별 식별 코드들은 예를 들어 함께 해시(hash)될 수 있으며, 의도된 그룹의 펜들 외의 펜이 그 베이스를 사용할 수 없도록 한다. 펜의 식별 코드(개별 식별 코드 또는 그룹 식별 코드 중 하나)는, 예를 들어 펜이 컴퓨터에 연결된 스탠드에 위치되거나 결합된 코드의 생성과 관련하여 임의의 다른 적절한 소스로부터 복원될 때, 베이스 상에 인쇄되거나 펜으로부터 복원되기 위해서 결합된 코드를 생성하는 컴퓨터에 저장될 수 있다.
일 실시예에서, 정보 아이템은 현재 베이스에 대해 사용되기 위해서 MMI 모델에 관한 정보를 포함할 수 있다. 디지털 펜은, 예를 들어 여러 페이지에, 예를 들어 위치 코드의 여러 부분들에 사용될 수 있는 상이한 MMI 모델들을 저장할 수 있으며, 정보 아이템은 이러한 MMI 모델중 어느 것이 사용되었는지를 지시할 수 있다. MMI 모델은, 미리 결정된 세트의 좌표들을 기록할 때와 같이, 여러 상황에서 펜에의해 주어지는 상이한 시각적, 청각적 및/또는 촉각적 피드백들을 특성화할 수 있다. 일 실시예에서, 제 1 MMI 모델은 예를 들어 송신 명령어와 관련된 좌표들의 세트가 검출될 때 LED를 통해 펜이 시각적인 피드백을 주어야한다고 특성화할 수 있으며, 제 2 MMI 모델은 펜이 위와 동일한 상황에서 진동해야한다고 특성화할 수 있다.
다른 실시예에서, 정보 아이템은 펜이 기록된 펜 스트로크들을 어떻게 처리할 것인지에 대한 지시를 포함할 수 있다. 정보 아이템은 예를 들어 펜이 펜 스트로크들을 외부 유닛으로 송시하도록 사용자가 자극(prompt)할 때까지 펜이 펜 스트로크들을 저장할 것인지에 대해 지시할 수 있으며, 또는 펜이 펜 스트로크들을 자동적으로 그리고 다소간 즉시 외부 유닛으로 유출(stream)시킬 것인지에 대해 지시할 수 있다. 또는 그 외에 정보 아이템은 펜 스트로크들이 어떤 유닛에 송신될 것인지에 대해 지시하는 어드레스 지시일 수 있으며, 또는 펜 스트로크들이 어떤 디바이스로 예를 들어 이동 전화 또는 PC를 통해 라우팅될 것인지에 대해 지시하는 라우팅 지시일 수 있다. 어드레스 지시 및 라우팅 지시는 문서의 인쇄와 관련하여 사용자에 의해 만들어지는 선택에 따라서 제공될 수 있다.
추가 실시예에서, 정보 아이템은, 펜 스트로크들을 프로세싱할 때 펜 또는 다른 적절한 디바이스에 의해 사용될 데이터, 또는 펜 스트로크들을 프로세싱 할 때 펜 또는 다른 적절한 디바이스에 의해 사용될 알고리즘에 대한 참조를 포함할 수 있다. 데이터는 예를 들어 펜 스트로크들을 수신하는 디바이스에 의해 연주될 멜로디 또는 선율, 또는 현재 페이지가 속하는 다수-페이지 문서에서 페이지들의 수에 관한 정보, 또는 문서 및 이들의 페이지 수에 대한 식별, 또는 문서에 인쇄될 질문에 대한 올바른 답을 포함할 수 있다. 정보 아이템에 포함될 데이터는 문서의 인쇄에 관련하여 사용자에 의해 선택 또는 특성화될 수 있다. 또한 데이터는 예를 들어 펜 또는 그 외에 저장되는 어플리케이션 또는 데이터에 대한 참조를 포함할 수 있다.
예시적인 실시예에 대한 상기 설명에서, 위치 코드는 공칭 위치들로부터 코드 위치들로의 상이한 방향으로 변위되는 코딩 마크들을 사용할 수 있고, 정보 아이템은 공징 위치들로부터 상이한 길이로(예를 들어 단일 또는 2배 오프셋) 코딩 마트들을 변위함으로써 위치 코드에서 코딩될 수 있다는 것이 지시되었다. 이러한 개념은 셀 크기와 상관없이 사용될 수 있다는 것을 알아야만 한다. 따라서 셀들은 위치를 결정하는데 사용되는 것에 비해 더 큰 수 또는 더 작은 수 또는 동일한 수의 코딩 마트들을 포함할 수 있다. 또한 이러한 개념은 코딩 마크들의 외형의 모양 또는 크기 또는 색 또는 다른 파라미터들에 상관없이 사용될 수 있으며, 또한 코딩 마크들이 공칭 위치들로부터 변위될 수 있는 방향의 개수와도 상관없으며, 이러한 방향과도 상관없다. 또한 데이터는 공칭 위치들로부터 2가지 이상의 상이한 거리로 코딩 마크들을 위치시킴으로써 정보 코드 내에 코딩될 수 있다. 이러한 방식에서 더 많은 데이터가 정보 아이템 내에 코딩될 수 있다. 일 실시예에서, 코딩 마크들은 위치들을 코딩하기 위해서 미리 결정된 개수의 여러 방향들 중 한 방향으로 제 1 거리만큼 변위되며, 그 후 그 마크들의 일부의 위치들은 정보 아이템을 코딩하기 위해서 제 2 또는 제 3 위치 중 하나로 변위되도록 수정된다. 상이한 거리 들은 서로 배수가 될 필요는 없다. 다른 실시예에서 코딩 마크들의 일부는 제 1 미리 결정된 개수의 방향들 중 한 방향으로 제 1 거리만큼 변위됨으로써 값들을 코딩하며, 반면에 코딩 마크들의 다른 일부는 제 2 미리 결정된 수의 방향들 중 한 방향으로 제 2 또는 제 3 거리만큼 변위됨으로써 값들을 코딩하며, 여기서 제 1 및 제 2 거리는 동일하거나 또는 상이할 수 있다. 또한 상이한 방향으로 그리고 상이한 길이로 코딩 마크들을 변위시킨다는 개념은, 하나 이상의 코딩 마크가 각각의 공칭 위치와 관련되는 경우, 및/또는 일부 마크들이 이들의 각각의 공칭 위치에 위치되는 경우에, 코드에서 사용될 수 있다. 또한 이러한 개념은 위치들의 수를 증가시키기 위해서 위치 코드에서 사용될 수 있다.
Claims (23)
- 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법으로서,위치 코드의 전자식 표시를 생성하는 단계 - 상기 위치 코드는 다수의 코딩 마크들을 포함하며, 다수의 위치들을 코딩하고, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크들에 의해 코딩됨 - ;상기 위치 코드 내에 코딩 마크들의 그룹들을 정의하는 단계 - 각각의 그룹은 상기 미리 결정된 수의 코딩 마크들보다 더 많은 수의 코딩 마크들을 포함함 - ;코딩 마크들의 각각의 그룹 내의 적어도 일부의 상기 코딩 마크들을 이용함으로써, 코딩 마크들의 상기 그룹들에 정보 아이템을 코딩하는 단계를 포함하는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제1항에 있어서,동일한(one and the same) 정보 아이템은 코딩 마크들의 상기 그룹들에서 반복적으로 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제1항 또는 제2항에 있어서,상기 정보 아이템은 다수의 엘리먼트들을 포함하며, 상기 엘리먼트의 적어도 둘은 각각의 그룹에서 코딩되고, 상기 그룹들은 함께 다수의 횟수로 상기 엘리먼트들의 각각의 하나를 코딩하는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 정보 아이템은 다수의 엘리먼트들을 포함하며, 상기 그룹들의 적어도 둘에 의해 코딩된 상기 엘리먼트들은 상이한, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제1항 내지 제4항 중 어느 한 항에 있어서,상기 정보 아이템은 적어도 두개의 엘리먼트들을 포함하고, 상기 엘리먼트들의 순서는 상기 그룹들 중 적어도 두 그룹에서 상이하게 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제5항에 있어서,상기 적어도 두개의 엘리먼트들의 순서는 연속적인 그룹들 사이에서 미리 정의된 순열(permutation) 규칙에 따라서 순열되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제1항 내지 제6항 중 어느 한 항에 있어서,상기 정보 아이템은 적어도 두개의 엘리먼트들을 포함하며, 상기 적어도 두개의 엘리먼트들의 각각은 하나의 코딩 마크에 의해 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제1항 내지 제7항 중 어느 한 항에 있어서,상기 위치 및 상기 정보 아이템 모두는 격자에 의해 정의된 각각의 공칭 위치들로부터 상기 코딩 심볼들을 변위시킴으로써 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제1항 내지 제8항 중 어느 한 항에 있어서,상기 정보 아이템은, 어드레스 아이템에 대한 지시, 상기 베이스의 레이아웃에 대한 지시, 암호화 아이템 정보에 대한 지시, 및 액세스 정보 아이템에 대한 지시 중 하나인, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치로서,위치 코드의 전자식 표시를 생성하기 위한 수단 - 상기 위치 코드는 다수의 코딩 마크들을 포함하고 다수의 위치들을 코딩하며, 각각의 위치는 미리 결정된 수의 코딩 마크들에 의해 코딩됨 - ;상기 위치 코드 내에 코딩 마크들의 그룹들을 정의하기 위한 수단 - 각각의 그룹은 상기 미리 결정된 수의 코딩 마크들보다 더 많은 수의 코딩 마크들을 포함함 - ;코딩 마크들의 각각의 그룹 내의 적어도 일부의 상기 코딩 마크들을 이용함으로써, 코딩 마크들의 상기 그룹들에 정보 아이템을 코딩하기 위한 수단를 포함하는 코딩 모듈을 포함하는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치.
- 결합된 위치 및 정보 코드를 디코딩하기 위한 방법으로서,상기 결합된 위치 및 정보 코드는 다수의 코딩 마크들을 포함하고, 상기 코딩 마크들은 다수의 위치들 - 각각의 위치는 미리 결정된 수의 코딩 마크들 및 정보 아이템에 의해 코딩됨 - 을 코딩하며,상기 결합된 코드의 서로 다른 부분들에 대한 일련의 전자식 표시들을 수신하는 단계 - 각각의 표시는 상기 정보 아이템을 코딩한 상기 코딩 마크들의 서브셋뿐만 아니라 적어도 상기 미리 결정된 수의 코딩 마크를 포함함 - ;상기 전자식 표시들의 각각의 하나로부터 위치를 결정하는 단계; 및상기 전자식 표시들의 적어도 2개로부터 코딩 마크들을 사용하여 상기 정보 아이템을 디코딩하는 단계를 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 제11항에 있어서,상기 정보 아이템은 적어도 2개의 엘리먼트들을 포함하며, 상기 정보 아이템을 디코딩하는데 사용되는 상기 코딩 마크들의 각각에 대해서, 상기 상응하는 정보 아이템 엘리먼트를 식별하는 단계를 더 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 제12항에 있어서,상기 정보 아이템을 디코딩할 때, 각각의 정보 아이템 엘리먼트에 대한 관찰 결과(observations)들의 수를 기록하는 단계를 더 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 제12항 또는 제13항에 있어서,상기 정보 아이템은 코딩 마크들의 미리 결정된 그룹들에서 코딩되며, 상기 상응하는 정보 아이템의 상기 식별은 순열 규칙 - 상기 순열 규칙은 연속적인 그룹들 사이에서 상기 코딩 마크들의 순열을 정의함 - 을 사용하는 것을 수반하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 제12항 내지 제14항 중 어느 한 항에 있어서,상기 전자식 표시들로부터 결정된 상기 위치들은 상기 상응하는 정보 아이템 엘리먼트들을 식별할 때 사용되는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 제11항 내지 제15항 중 어느 한 항에 있어서,상기 위치를 결정하는 단계 및 상기 정보 아이템을 디코딩 하는 단계 모두, 격자에 의해 정의된 각각의 공칭 위치들로부터의 상기 코딩 심볼들의 변위를 결정하는 단계를 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 제11항 내지 제16항 중 어느 한 항에 있어서,베이스 상에 만들어진 펜 스트로크와 같은 상기 위치들을 프로세싱하는 단계; 및상기 펜 스트로크의 상기 프로세싱을 위한 파라미터와 같은 상기 디코딩된 정보 아이템을 프로세싱하는 단계를 더 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 결합된 위치 및 정보 코드를 디코딩하기 위한 장치로서,상기 결합된 위치 및 정보 코드는 다수의 코딩 마크들을 포함하고, 상기 코딩 마크들은 다수의 위치들 - 각각의 위치는 미리 결정된 수의 코딩 마크들 및 정보 아이템에 의해 코딩됨 - 을 코딩하며,상기 결합된 코드의 서로 다른 부분들에 대한 일련의 전자식 표시들을 수신하기 위한 수단 - 각각의 표시는 상기 정보 아이템을 코딩한 상기 코딩 마크들의 서브셋뿐만 아니라 적어도 상기 미리 결정된 수의 코딩 마크를 포함함 - ;상기 전자식 표시들의 각각의 하나로부터 위치를 결정하기 위한 수단; 및상기 전자식 표시들의 적어도 2개로부터 코딩 마크들을 사용하여 상기 정보 아이템을 디코딩하기 위한 수단를 포함하는 디코딩 모듈을 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 장치.
- 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법으로서,위치 코드의 전자식 표시를 생성하는 단계 - 상기 위치 코드는 다수의 위치들을 코딩하며, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크들에 의해 코딩됨 - ; 및상기 결합된 코드를 생성하기 위해서 상기 위치 코드 상에 정보 코드의 전자식 표시를 중첩시키는 단계 - 상기 정보 코드는 제 2 미리 결정된 수의 코딩 마크들을 이용하여 적어도 하나의 정보 아이템을 코딩함 -를 포함하며, 상기 위치들 및 상기 정보 아이템 모두는 격자에 의해 정의된 각각의 공칭 위치들로부터 코딩 마크들을 변위시킴으로써 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 제19항에 있어서,상기 위치들은 상기 격자에 의해 정의된 각각의 공칭 위치들로부터 여러 방 향으로 상기 위치 코드의 상기 코딩 마크들을 변위시킴으로써 코딩되고, 상기 정보 아이템은 상기 격자에 의해 정의된 각각의 공칭 위치들로부터 여러 길이로 상기 정보 위치 코드의 상기 코딩 마크들을 변위시킴으로써 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
- 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치로서,위치 코드의 전자식 표시를 생성하기 위한 수단 - 상기 위치 코드는 다수의 위치들을 코딩하며, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크들에 의해 코딩됨 - ; 및상기 결합된 코드를 생성하기 위해서 상기 위치 코드 상에 정보 코드의 전자식 표시를 중첩시키기 위한 수단 - 상기 정보 코드는 제 2 미리 결정된 수의 코딩 마크들을 이용하여 적어도 하나의 정보 아이템을 코딩함 -를 포함하는 코딩 모듈을 포함하며, 상기 위치들 및 상기 정보 아이템 모두는 격자에 의해 정의된 각각의 공칭 위치들로부터 코딩 마크들을 변위시킴으로써 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치.
- 결합된 위치 및 정보 코드를 디코딩하기 위한 방법으로서,상기 결합된 위치 및 정보 코드의 일부에 대한 전자식 표시를 수신하는 단계;상기 전자식 표시 내에 위치의 코딩에 기여하는 적어도 하나의 위치-코딩 마 크를 배치(localize)시키는 단계;상기 적어도 하나의 위치-코딩 마크의 공칭 위치로부터의 변위 방향을 결정하는 단계;상기 전자식 표시 내에 정보 아이템의 코딩에 기여하는 적어도 하나의 정보-코딩 마크를 배치시키는 단계; 및상기 적어도 하나의 정보-코딩 마크의 공칭 위치로부터의 변위량을 결정하는 단계를 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
- 결합된 위치 및 정보 코드를 디코딩하기 위한 장치로서,상기 결합된 위치 및 정보 코드의 일부에 대한 전자식 표시를 수신하기 위한 수단;상기 전자식 표시 내에 위치의 코딩에 기여하는 적어도 하나의 위치-코딩 마크를 배치시키기 위한 수단;상기 적어도 하나의 위치-코딩 마크의 공칭 위치로부터의 변위 방향을 결정하기 위한 수단;상기 전자식 표시 내에 정보 아이템의 코딩에 기여하는 적어도 하나의 정보-코딩 마크를 배치시키기 위한 수단; 및상기 적어도 하나의 정보-코딩 마크의 공칭 위치로부터의 변위량을 결정하기 위한 수단을 포함하는 디코딩 모듈을 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 장치.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US69123305P | 2005-06-17 | 2005-06-17 | |
SE0501400 | 2005-06-17 | ||
US60/691,233 | 2005-06-17 | ||
SE0501400-6 | 2005-06-17 | ||
PCT/SE2006/000731 WO2006135328A1 (en) | 2005-06-17 | 2006-06-16 | Method and system for combining a position and information code |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080018951A true KR20080018951A (ko) | 2008-02-28 |
KR101236809B1 KR101236809B1 (ko) | 2013-02-25 |
Family
ID=37532588
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087001268A KR101236809B1 (ko) | 2005-06-17 | 2006-06-16 | 위치 및 정보 코드를 결합하는 방법 및 시스템 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8074891B2 (ko) |
EP (1) | EP1913526A4 (ko) |
JP (1) | JP4982486B2 (ko) |
KR (1) | KR101236809B1 (ko) |
CN (1) | CN101198968B (ko) |
WO (1) | WO2006135328A1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120091027A (ko) * | 2009-09-30 | 2012-08-17 | 시프트 코. 엘티디. | 2차원 코드, 2차원 코드 리더 및 프로그램 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SE0401647D0 (sv) * | 2004-06-28 | 2004-06-28 | Anoto Ab | Coding and decoding of data |
KR101236809B1 (ko) | 2005-06-17 | 2013-02-25 | 아노토 아베 | 위치 및 정보 코드를 결합하는 방법 및 시스템 |
JP4539479B2 (ja) * | 2005-07-27 | 2010-09-08 | 富士ゼロックス株式会社 | 媒体管理システム、画像形成装置、媒体管理方法、及びプログラム |
GB2431269A (en) * | 2005-10-13 | 2007-04-18 | Hewlett Packard Development Co | Detector for generating a model representing a form of markings for a pattern |
US8151180B2 (en) * | 2008-05-02 | 2012-04-03 | Reagan Inventions, Llc | System and method of embedding symbology in alphabetic letters and then linking the letters to a site or sites on the global computer network |
JP2010185692A (ja) * | 2009-02-10 | 2010-08-26 | Hitachi High-Technologies Corp | ディスク表面検査装置、その検査システム及びその検査方法 |
US20110182514A1 (en) * | 2010-01-27 | 2011-07-28 | Silverbrook Research Pty Ltd | Method of decoding coding pattern having self-encoded format |
US20110181916A1 (en) * | 2010-01-27 | 2011-07-28 | Silverbrook Research Pty Ltd | Method of encoding coding pattern to minimize clustering of macrodots |
US20110180611A1 (en) * | 2010-01-27 | 2011-07-28 | Silverbrook Research Pty Ltd | Coding pattern comprising multi-ppm data symbols in a format identified by registration symbols |
US20110180612A1 (en) * | 2010-01-27 | 2011-07-28 | Silverbrook Research Pty Ltd | Coding pattern comprising multi-ppm data symbols with minimal clustering of macrodots |
EP2759873B1 (en) | 2013-01-28 | 2019-06-26 | Samsung Display Co., Ltd. | Display device |
US11409379B2 (en) * | 2013-11-08 | 2022-08-09 | Egalax_Empia Technology Inc. | Stylus and operating method thereof for transmitting electrical signals carrying pressure information |
CN108664964A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 具有编码图案的文件输出方法 |
CN108664963A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 基于编码标记的编解码方法 |
CN108665037A (zh) * | 2017-04-02 | 2018-10-16 | 田雪松 | 数据编码方法及装置 |
CN107103350B (zh) * | 2017-05-04 | 2020-06-09 | 网易(杭州)网络有限公司 | 物理介质表面多维度位置编码方法、装置和可读存储介质 |
CN107122067B (zh) * | 2017-05-04 | 2020-09-08 | 网易(杭州)网络有限公司 | 物理介质表面位置编解码的方法、装置和可读存储介质 |
CN107220689B (zh) * | 2017-05-27 | 2020-03-31 | 网易(杭州)网络有限公司 | 位置编码图案生成方法、装置、设备和可读存储介质 |
CN109978107A (zh) * | 2017-12-27 | 2019-07-05 | 田雪松 | 点阵编码介质及点阵编码识别方法 |
CN114861847B (zh) * | 2021-01-20 | 2023-04-14 | 上海驰亚信息技术有限公司 | 点阵码构建方法、生成读取方法及终端、点阵码系统 |
EP4377775A1 (en) * | 2021-09-17 | 2024-06-05 | Google LLC | Encoding and recognizing positions of a display |
Family Cites Families (80)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5194852A (en) | 1986-12-01 | 1993-03-16 | More Edward S | Electro-optic slate for direct entry and display and/or storage of hand-entered textual and graphic information |
US4939354A (en) | 1988-05-05 | 1990-07-03 | Datacode International, Inc. | Dynamically variable machine readable binary code and method for reading and producing thereof |
US5051736A (en) | 1989-06-28 | 1991-09-24 | International Business Machines Corporation | Optical stylus and passive digitizing tablet data input system |
JPH0381817A (ja) | 1989-08-25 | 1991-04-08 | Hitachi Ltd | 手書入力情報処理装置およびこの手書入力情報処理装置を用いた手書入力情報システム |
US5145518A (en) | 1990-06-27 | 1992-09-08 | Xerox Corporation | Inks containing block copolymer micelles |
US5168147A (en) | 1990-07-31 | 1992-12-01 | Xerox Corporation | Binary image processing for decoding self-clocking glyph shape codes |
US5225900A (en) | 1990-12-31 | 1993-07-06 | Xerox Corporation | Method of storing information within a reproduction system |
WO1992017859A1 (en) | 1991-04-03 | 1992-10-15 | Hewlett Packard Company | Position-sensing apparatus |
US5286286A (en) | 1991-05-16 | 1994-02-15 | Xerox Corporation | Colorless fast-drying ink compositions for printing concealed images detectable by fluorescence |
US5271764A (en) | 1992-02-12 | 1993-12-21 | Xerox Corporation | Ink compositions |
US5208630A (en) | 1991-11-04 | 1993-05-04 | Xerox Corporation | Process for the authentication of documents utilizing encapsulated toners |
US5221833A (en) | 1991-12-27 | 1993-06-22 | Xerox Corporation | Methods and means for reducing bit error rates in reading self-clocking glyph codes |
JPH05334470A (ja) | 1991-12-27 | 1993-12-17 | Xerox Corp | 自己クロッキング図形記号コード |
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 |
US5477012A (en) | 1992-04-03 | 1995-12-19 | Sekendur; Oral F. | Optical position determination |
JPH05290197A (ja) | 1992-04-06 | 1993-11-05 | Teiriyou Sangyo Kk | 二次元コ−ドシンボルマ−クの解読方法 |
US5256193A (en) | 1992-06-25 | 1993-10-26 | Xerox Corporation | Porphyrin chromophore and dendrimer ink composition |
WO1994008314A1 (en) | 1992-09-28 | 1994-04-14 | Olympus Optical Co., Ltd. | Dot code and information recording/reproducing system for recording/reproducing dot code |
US5291243A (en) | 1993-02-05 | 1994-03-01 | Xerox Corporation | System for electronically printing plural-color tamper-resistant documents |
US5515456A (en) | 1993-10-26 | 1996-05-07 | Visual Edge Technology, Inc. | Process for providing digital halftone image with random error diffusion, color correction and enlargement |
US5434371A (en) | 1994-02-01 | 1995-07-18 | A.T. Cross Company | Hand-held electronic writing tool |
US5652412A (en) | 1994-07-11 | 1997-07-29 | Sia Technology Corp. | Pen and paper information recording system |
US5661506A (en) | 1994-11-10 | 1997-08-26 | Sia Technology Corporation | Pen and paper information recording system using an imaging pen |
ATE203121T1 (de) | 1995-04-03 | 2001-07-15 | Matsushita Electric Ind Co Ltd | Aufzeichnungsmedium, datenübertragungsverfahren und -gerät und datenwiedergabeverfahren und - gerät |
JPH0981711A (ja) | 1995-09-20 | 1997-03-28 | Olympus Optical Co Ltd | 情報記録媒体、情報再生システム、及び情報記録システム |
US6081261A (en) | 1995-11-01 | 2000-06-27 | Ricoh Corporation | Manual entry interactive paper and electronic document handling and processing system |
US5913105A (en) | 1995-11-29 | 1999-06-15 | Advanced Micro Devices Inc | Method and system for recognizing scratch patterns on semiconductor wafers |
US6047892A (en) | 1996-12-09 | 2000-04-11 | Symbol Technologies, Inc. | Two-dimensional bar code symbology using implicit version information encoding |
US5937110A (en) | 1996-12-20 | 1999-08-10 | Xerox Corporation | Parallel propagating embedded binary sequences for characterizing objects in N-dimensional address space |
US6327395B1 (en) | 1996-12-20 | 2001-12-04 | Xerox Parc | Glyph address carpet methods and apparatus for providing location information in a multidimensional address space |
JP3956419B2 (ja) | 1997-03-06 | 2007-08-08 | 凸版印刷株式会社 | Idカード作成方法、idカードおよびidカードの情報読取方法 |
JPH10326331A (ja) | 1997-03-24 | 1998-12-08 | Olympus Optical Co Ltd | ドットコードを有する記録媒体及びコード読取装置 |
DE69831783T2 (de) | 1997-06-13 | 2006-06-22 | Lucent Technologies Inc. | Mehrstufige codierung mit zeitdiversity |
US5900943A (en) | 1997-08-29 | 1999-05-04 | Hewlett-Packard Company | Page identification by detection of optical characteristics |
GB2329300B (en) | 1997-09-16 | 2002-07-17 | Nokia Mobile Phones Ltd | Mobile telephone with handwritten data input |
US6201903B1 (en) | 1997-09-30 | 2001-03-13 | Ricoh Company, Ltd. | Method and apparatus for pen-based faxing |
US6518950B1 (en) | 1997-10-07 | 2003-02-11 | Interval Research Corporation | Methods and systems for providing human/computer interfaces |
US6330976B1 (en) | 1998-04-01 | 2001-12-18 | Xerox Corporation | Marking medium area with encoded identifier for producing action through network |
WO1999050787A1 (en) | 1998-04-01 | 1999-10-07 | Xerox Corporation | Cross-network functions via linked hardcopy and electronic documents |
US6571025B2 (en) | 1998-05-18 | 2003-05-27 | Olympus Optical Co., Ltd. | Handheld code reader with optimal optical reading distance |
US6957768B1 (en) | 1999-05-25 | 2005-10-25 | Silverbrook Research Pty Ltd | Computer system control via interface surface |
AUPQ363299A0 (en) | 1999-10-25 | 1999-11-18 | Silverbrook Research Pty Ltd | Paper based information inter face |
AUPQ439299A0 (en) | 1999-12-01 | 1999-12-23 | Silverbrook Research Pty Ltd | Interface system |
US6502756B1 (en) | 1999-05-28 | 2003-01-07 | Anoto Ab | Recording of information |
WO2000073983A1 (en) | 1999-05-28 | 2000-12-07 | Anoto Ab | Position determination |
US7710408B2 (en) | 1999-08-30 | 2010-05-04 | Anoto Ab | Centralized information management based upon position information |
AU7046700A (en) | 1999-08-30 | 2001-03-26 | Anoto Ab | Notepad |
SE517445C2 (sv) * | 1999-10-01 | 2002-06-04 | Anoto Ab | Positionsbestämning på en yta försedd med ett positionskodningsmönster |
KR100341504B1 (ko) | 1999-11-13 | 2002-06-21 | 한탁돈 | 기계로 판독가능한 코드와 그 코드의 인코딩/디코딩 방법및 장치 |
WO2001048685A1 (en) | 1999-12-23 | 2001-07-05 | Anoto Ab | General information management system |
US20030061188A1 (en) * | 1999-12-23 | 2003-03-27 | Linus Wiebe | General information management system |
US6603464B1 (en) | 2000-03-03 | 2003-08-05 | Michael Irl Rabin | Apparatus and method for record keeping and information distribution |
US20030141375A1 (en) | 2000-03-09 | 2003-07-31 | Spectra Systems Corporation | Information bearing marking used with a digitally watermarked background |
SE0000951L (sv) | 2000-03-21 | 2001-09-22 | Anoto Ab | Anordning och förfarande för rumslig förhållandebestämning |
US6864880B2 (en) | 2000-03-21 | 2005-03-08 | Anoto Ab | Device and method for communication |
AU2001246996A1 (en) | 2000-04-05 | 2001-10-15 | Anoto Ab | Method and system for information association |
ATE472778T1 (de) | 2000-04-05 | 2010-07-15 | Anoto Ab | Identifizierung eines virtuellen rastermusters |
US6586688B2 (en) * | 2000-04-05 | 2003-07-01 | Anoto Ab | Information-related devices and methods |
SE516310C2 (sv) | 2000-04-05 | 2001-12-17 | Anoto Ab | Produkt med två kodningsmönster, innefattande rasterpunkter; samt förfarande, datorprogram och anordning för att avläsa kodningsmönstren |
US20020163511A1 (en) * | 2000-11-29 | 2002-11-07 | Sekendur Oral Faith | Optical position determination on any surface |
WO2002064380A1 (fr) | 2001-02-15 | 2002-08-22 | Mitsubishi Pencil Kabushikikaisha | Instrument pour ecrire |
SE523378C2 (sv) | 2001-05-29 | 2004-04-13 | Ibusiness Ab | System och förfarande för samtidig signering av en urkund i pappersform och digital form |
US6667695B2 (en) | 2001-06-25 | 2003-12-23 | Anoto Ab | Position code |
SE519277C2 (sv) * | 2001-06-25 | 2003-02-11 | Anoto Ab | Anordning och förfarande för positionskodning och för avkodning av en positionskod |
SE523700C2 (sv) * | 2001-06-26 | 2004-05-11 | Anoto Ab | Förfarande, anordning och minnesmedium för positionsbestämning |
SE520045C2 (sv) | 2001-09-13 | 2003-05-13 | Anoto Ab | Kodningsmönster |
US7175095B2 (en) | 2001-09-13 | 2007-02-13 | Anoto Ab | Coding pattern |
SE520682C2 (sv) | 2001-12-06 | 2003-08-12 | Anoto Ab | Rekonstruering av ett virtuellt raster |
US6898334B2 (en) | 2002-01-17 | 2005-05-24 | Hewlett-Packard Development Company, L.P. | System and method for using printed documents |
US6708881B2 (en) | 2002-01-30 | 2004-03-23 | Rf Saw Components, Inc. | Reader for a high information capacity SAW identification tag and method of use thereof |
JP4198456B2 (ja) | 2002-07-10 | 2008-12-17 | 株式会社リコー | 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法 |
US6959866B2 (en) | 2002-05-30 | 2005-11-01 | Ricoh Company, Ltd. | 2-Dimensional code pattern, 2-dimensional code pattern supporting medium, 2-dimensional code pattern generating method, and 2-dimensional code reading apparatus and method |
ATE416413T1 (de) | 2002-06-18 | 2008-12-15 | Anoto Ab | Positionscodierungsmuster |
SE523931C2 (sv) | 2002-10-24 | 2004-06-01 | Anoto Ab | Arrangemang och sätt i ett informations hanteringssystem som omfattar behovsstyrd generering av positionskodade underlag |
SE0203853D0 (sv) | 2002-12-23 | 2002-12-23 | Anoto Ab | Informationskod |
MXPA05009931A (es) | 2003-03-17 | 2005-11-08 | Yoshida Kenji | Metodo de entrada/salida de informacion utilizando el patron de puntos. |
EP1631898A1 (en) * | 2003-05-26 | 2006-03-08 | Anoto IP Lic HB | Method for compressinga digital representation containing a page-describing code, which is sent from a computer to a printer |
WO2006135329A1 (en) | 2005-06-17 | 2006-12-21 | Anoto Ab | On demand generation of position-coded bases |
KR101236809B1 (ko) | 2005-06-17 | 2013-02-25 | 아노토 아베 | 위치 및 정보 코드를 결합하는 방법 및 시스템 |
-
2006
- 2006-06-16 KR KR1020087001268A patent/KR101236809B1/ko active IP Right Grant
- 2006-06-16 EP EP06747923.8A patent/EP1913526A4/en not_active Withdrawn
- 2006-06-16 JP JP2008516791A patent/JP4982486B2/ja active Active
- 2006-06-16 CN CN2006800217680A patent/CN101198968B/zh not_active Expired - Fee Related
- 2006-06-16 WO PCT/SE2006/000731 patent/WO2006135328A1/en active Application Filing
- 2006-06-16 US US11/922,693 patent/US8074891B2/en not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20120091027A (ko) * | 2009-09-30 | 2012-08-17 | 시프트 코. 엘티디. | 2차원 코드, 2차원 코드 리더 및 프로그램 |
Also Published As
Publication number | Publication date |
---|---|
WO2006135328A1 (en) | 2006-12-21 |
US8074891B2 (en) | 2011-12-13 |
KR101236809B1 (ko) | 2013-02-25 |
JP4982486B2 (ja) | 2012-07-25 |
US20090078475A1 (en) | 2009-03-26 |
CN101198968A (zh) | 2008-06-11 |
JP2008547079A (ja) | 2008-12-25 |
CN101198968B (zh) | 2010-05-19 |
EP1913526A1 (en) | 2008-04-23 |
EP1913526A4 (en) | 2014-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101236809B1 (ko) | 위치 및 정보 코드를 결합하는 방법 및 시스템 | |
KR101119310B1 (ko) | 데이터의 코딩 및 디코딩 | |
KR100745298B1 (ko) | 달력 | |
JP4966464B2 (ja) | 集中型情報管理 | |
KR101251695B1 (ko) | 임베딩된 상호작용 코드 지원 디스플레이 | |
MXPA02006340A (es) | Sistema de administracion de informacion general. | |
US20100073330A1 (en) | Methods and Devices Relating To Transfer of Non-Pen Stroke Data | |
US20090127006A1 (en) | Information Management in an Electronic Pen Arrangement | |
EP1697880A1 (en) | Method, apparatus, computer program and storage medium for recording a movement of a user unit | |
US20080235282A1 (en) | Personal Computing Apparatus and a Method Therein | |
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 | |
JP5084087B2 (ja) | 手書きコマンド | |
CN108664869A (zh) | 点阵识别系统 | |
JP4934669B2 (ja) | 非ペンストロークデータの転送に関する方法および装置 | |
JP2005173672A (ja) | 用紙、電子ペンおよびプログラム | |
JP4996461B2 (ja) | データのコーディングおよび復号化 | |
TWI401607B (zh) | 編碼與解碼方法及裝置 | |
JP2008504598A5 (ko) | ||
CN108664870A (zh) | 用于点阵识别的介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160129 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170126 Year of fee payment: 5 |