KR101236809B1 - 위치 및 정보 코드를 결합하는 방법 및 시스템 - Google Patents

위치 및 정보 코드를 결합하는 방법 및 시스템 Download PDF

Info

Publication number
KR101236809B1
KR101236809B1 KR1020087001268A KR20087001268A KR101236809B1 KR 101236809 B1 KR101236809 B1 KR 101236809B1 KR 1020087001268 A KR1020087001268 A KR 1020087001268A KR 20087001268 A KR20087001268 A KR 20087001268A KR 101236809 B1 KR101236809 B1 KR 101236809B1
Authority
KR
South Korea
Prior art keywords
code
coding
information
location
combined
Prior art date
Application number
KR1020087001268A
Other languages
English (en)
Other versions
KR20080018951A (ko
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
Application filed by 아노토 아베 filed Critical 아노토 아베
Publication of KR20080018951A publication Critical patent/KR20080018951A/ko
Application granted granted Critical
Publication of KR101236809B1 publication Critical patent/KR101236809B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/06009Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
    • G06K19/06037Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Character Discrimination (AREA)

Abstract

베이스 상에 적용될 수 있는 결합된 위치 및 정보 코드는, 다수의 코딩 마크를 포함하고 다수의 위치들을 코딩하는 위치 코드를 포함한다. 위치 코드 내의 각각의 위치는 미리 결정된 수의 코딩 마크에 의해 코딩된다. 코딩 마크들의 그룹은 위치 코드에서 정의된다. 각 그룹 내의 코딩 마크의 수는 코딩 마크의 미리 결정된 수보다 크다. 각 그룹 내의 적어도 일부의 코딩 마크는 정보 아이템을 코딩하는데 사용된다. 결합된 코드를 디코딩할 때, 결합된 코드의 일부 영역들은 영상화된다. 위치는 각각의 영상화된 일부 영역으로부터 디코딩되지만, 정보 아이템은 적어도 2개의 일부 영역으로부터 디코딩되어야만 한다.

Description

위치 및 정보 코드를 결합하는 방법 및 시스템{METHOD AND SYSTEM FOR COMBINING A POSITION AND INFORMATION CODE}
본원은 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개로부터 코딩 마크들을 사용하여 정보 아이템을 디코딩하는 단계를 포함한다.
디코딩 프로세스에서, 각각의 전자식 표시는 이에 따라서 위치를 생성하며, 여기서 둘 이상의 전자식 표시가 정보 아이템을 얻기 위해서 요구된다. 전자식 표시는 결합된 코드의 일부에 대한 임의의 적절한 전자식 표시일 수 있다. 이는 예를 들어 결합된 코드의 일부에 대한 로(raw) 이미지 또는 이미지 콘텐츠의 다소 처리된 버전에 상응할 수 있다.
본 발명의 또 다른 측면에 따라서, 결합된 위치 및 정보 코드를 디코딩하기 위한 장치가 제공되며, 상기 코드는 다수의 코딩 마크를 포함하고, 상기 코딩 마크들은 다수의 위치들 및 정보 아이템을 코딩하며, 각각의 위치는 미리 결정된 수의 코딩 마크에 의해 코딩되는데, 상기 장치는, 결합된 코드의 각가지 부분들에 대한 일련의 전자식 표시들을 수신하기 위한 수단 - 각각의 표시는 적어도 상기 미리 결정된 수의 코딩 마크를 포함하나 상기 정보 아이템을 코딩하는 코딩 마크들의 서브셋만을 포함함 - ; 전자식 표시들의 각각의 하나로부터 위치를 결정하기 위한 수단; 및 전자식 표시들의 적어도 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)을 기록하면서 어드레스 정보를 캡쳐할 수 있으며, 예를 들어 인터넷 또는 공중 통신 시스템과 같은 네트워크(6)를 통해, 이메일, 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)를 기초로 하며, 이는 이하에서 차이 넘버 시퀀스(difference number sequence)로서 지칭된다. 이러한 차이 넘버 시퀀스는, 만약 예를 들어 5개의 차이 넘버를 갖는 부분적인 시퀀스와 같이 미리 정해진 길이의 임의의 부분적인 시퀀스를 취한다면, 이러한 부분적인 시퀀스는 항상 차이 넘버 시퀀스 내에 분명하게 결정된 로케이션(location)을 갖는다는 성질을 갖는다. 즉, 그것은 차이 넘버 시퀀스로 오직 한번 나타나며, 이에 따라서 위치 결정에 사용될 수 있다. 이러한 성질을 갖는 시퀀스는 때로는 DeBruijn(드브루인) 시퀀스로 불린다. 보다 구체적으로, 차이 넘버 시퀀스는 위치 코드의 x축 뿐만 아니라 y축을 따라서 "연속된다(run)."
베이스 상에 적용되는 한, 실제 위치 코드는 간단한 그래픽 심볼 또는 마크(22)들로 구성되며, 심볼 또는 마크(22)들은 공칭 위치(23) 또는 래스터 포인트에 대한 이들의 각각의 위치에 따라 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 좌표는 위치-코딩 패턴 내의 각각의 코딩 심볼에 대해서 결정될 수 있다.
상술된 예시적인 위치 코드는 매우 많은 수의 유일한 절대 위치들을 코딩할 수 있다. 위치들은 거대한 가상 표면을 공동으로 정의하는 것으로 생각될 수 있다. 베이스 상에 코딩된 위치들은 가상 표면 상의 위치들이며, 위치 좌표의 원점은 가상 표면의 원점이다.
가상 표면 또는 전체 위치 코드는 상이한 크기의 페이지들로 논리적으로 세분될 수 있다. 가상 표면의 세분할(subdivision)에 관한 지식을 갖는 임의의 유닛, 예를 들어 디지털 펜 또는 컴퓨터는, 이에 따라서 베이스에서 상응하는 페이지의 지시로 기록된 가상 표면상의 위치 및 상기 페이지 상의 국부 위치를 변환할 수 있다.
또한 상이한 베이스들에는 전체 위치 코드의 상이한 서브셋들이 제공될 수 있다.
상술된 위치 코드는 단지 예시라는 것이 강조되어야 한다. 다른 종류의 위치 코드들, 예를 들어 더 적은 위치들을 코딩하고 베이스 상에 원점을 갖는 위치 코드들도 결합된 코드를 생성하는데 사용될 수 있다.
다음으로 정보 코드의 실시예가 도 5-7을 참조로 보다 상세히 설명될 것이다.
일반적으로, 정보 코드는 위치 코드 위에 중첩될 수 있는데, 이는 위치 코드 상에 겹쳐 놓임(superimpose)으로써 이루어지거나, 위치 코드에 중간 삽입(interleave)됨으로써 이뤄지며, 겹쳐 놓인 경우에는 정보의 조각은 위치들을 코딩하기 위한 위치 코드에서도 사용되는 심볼들에 의해 코딩되고, 중간 삽입된 경우에는 위치 코드와 정보 코드는 각각 위치들과 정보의 코딩을 위한 개별 심볼들을 사용한다. 중간 삽입과 겹쳐 놓음의 결합도 고려될 수 있다. 그 경우에, 결합된 코드에서 일부의 심볼들은 위치 코딩뿐만 아니라 정보 코딩을 위해 사용되며, 일부는 위치 코딩만을 위해서, 일부는 정보 코딩만을 위해서 사용된다.
정보 코드는 베이스 상의 전체적인 범위의 위치 코드에 대해서이거나 이들의 단지 일부에 대해서만 위치 코드 상에 중첩될 수도 있다.
정보 코드와 위치 코드는 베이스 상에 그래픽적으로 상이하게 또는 동일하게 코딩될 수 있다. 만약 코드들이 중간 삽입될 때와 같이 개별적인 심볼들이 위치 코드와 정보 코드를 위해 사용된다면, 정보 코드 심볼들과 위치 코드 심볼들의 그래픽적인 표시는 각각 서로에 대해 독립적으로 만들어질 수 있다. 양 코드들은 심볼들의 상이한 값들을 코딩하기 위해서 동일한 그래픽 파라미터들, 예를 들어 상이한 크기의 도트(dot)들을 사용할 수 있다. 또는 코드들은 상이한 파라미터들을 사용할 수 있다. 정보 코드는 예를 들어 상이한 값들을 코딩하도록 상이하게 회전되는 슬래쉬(slash)들을 사용할 수 있으며, 반면에 위치 코드는 상이한 값들을 코딩하기 위해서 상이한 모양의 도트들을 사용할 수 있다.
만약 정보 코드와 위치 코드가 일부 심볼들을 공유한다면, 심볼들 중 동일한(one and the same) 파라미터는 정보 코드 값과 위치 코드 값을 코딩하는데 사용될 수 있다. 대안적으로 상이한 파라미터들이 사용될 수 있다. 제 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), 이미지 또는 결합된 코드와 함께 임의의 다른 종류의 정보를 인쇄하기 위한 프린터로의 명령들을 포함할 수 있다.
한편으로 결합된 코드, 및 다른 한편으로 임의의 다른 정보는 동일한 잉크 또는 개별 잉크를 사용하여 베이스 상에 인쇄될 수 있으며, 여기서 다른 정보를 인쇄하는데 사용된 잉크는 디지털 펜에 대해 투명하다. 동일한 잉크가 결합된 코드와 다른 정보 모두에 대해 사용되었을 때, 만약 다른 정보가 결합된 코드 상에 중첩된다면 결합된 코드는 부분적으로 분명하지 않을 수(obscured) 있으며, 특정 설명(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)의 결정을 선택적으로 허용한다. 접촉 센서(216)의 출력을 기초로, 카메라 시스템(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
만약 결합된 코드를 코딩할 때 오류-정정 메커니즘이 사용되었다면, 이제 디코딩 프로세스도 오류 및/또는 누락 비트들을 검출하고 정정하기 위해서 동일한 오류-정정 메커니즘을 사용한다.
전자 표시들의 상기 프로세싱은 일련의 위치들을 생성하며, 이는 하나 이상의 펜 스트로크 동안에, 즉 하나 이상의 전자 펜 스트로크에서 베이스 상에서의 펜의 움직임의 전자식 표시를 구성한다. 또한 이는 부분적으로 또는 전체적으로 디코딩된 정보 아이템을 생성한다.
마지막 단계에서, 디코딩 프로세스는 정보 아이템을 전자 펜 스트로크들과 관련시킬 수 있다. 상기 지시된 것과 같이, 위치 코드로부터 얻은 각각의 위치는 페이지 지시 및 그 페이지 상의 국부 위치로 변환될 수 있다. 펜 스트로크는 통상적으로 페이지 지시 및 일련의 국부 위치들로서 표현될 수 있다. 이 방식에서, 펜은 스트로크가 어떤 페이지 상에 쓰이는지를 기록(keep track of)할 수 있다. 정보 아이템이 디코딩되었을 때, 디코딩 프로세스는 정보 아이템이 이미 디코딩되었고 현재 페이지와 관련되는지를 체크할 수 있다. 만약 그렇다면, 디코딩 프로세스는 이미 저장된 정보 아이템과의 비트 단위(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 (31)

  1. 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법으로서,
    위치 코드의 전자식 표시를 생성하는 단계 ― 상기 위치 코드는 다수의 코딩 마크들을 포함하며, 다수의 위치들을 코딩하고, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크들에 의해 코딩됨 ―;
    상기 위치 코드 내에 코딩 마크들의 그룹들을 정의하는 단계 ― 각각의 그룹은 상기 미리 결정된 수의 코딩 마크들보다 더 많은 수의 코딩 마크들을 포함함 ―; 및
    코딩 마크들의 각각의 그룹 내의 상기 코딩 마크들 중 적어도 일부를 이용함으로써, 코딩 마크들의 상기 그룹들에서 정보 아이템을 코딩하는 단계
    를 포함하고,
    동일한(one and the same) 정보 아이템은 코딩 마크들의 상기 그룹들에서 반복적으로 코딩되며,
    상기 정보 아이템은 다수의 엘리먼트들을 포함하고, 상기 엘리먼트 중 적어도 둘은 각각의 그룹에서 코딩되며, 상기 그룹들은 함께 다수의 횟수로 상기 엘리먼트들의 각각의 하나를 코딩하는,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서,
    상기 정보 아이템은 다수의 엘리먼트들을 포함하며, 상기 그룹들 중 적어도 둘에 의해 코딩된 상기 엘리먼트들은 상이한, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  5. 제1항에 있어서,
    상기 정보 아이템은 적어도 두개의 엘리먼트들을 포함하고, 상기 적어도 두개의 엘리먼트들의 순서는 상기 그룹들 중 적어도 두 그룹에서 상이하게 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  6. 제5항에 있어서,
    상기 적어도 두개의 엘리먼트들의 순서는 연속적인 그룹들 사이에서 미리 정의된 순열(permutation) 규칙에 따라서 순열되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  7. 제1항에 있어서,
    상기 정보 아이템은 적어도 두개의 엘리먼트들을 포함하며, 상기 적어도 두개의 엘리먼트들의 각각은 하나의 코딩 마크에 의해 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  8. 제1항에 있어서,
    상기 위치들 및 상기 정보 아이템 모두는 격자에 의해 정의된 각각의 공칭 위치들로부터 상기 코딩 심볼들을 변위시킴으로써 코딩되는, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  9. 제1항에 있어서,
    상기 정보 아이템은, 어드레스 아이템에 대한 지시, 상기 베이스의 레이아웃에 대한 지시, 암호화 아이템 정보에 대한 지시, 및 액세스 정보 아이템에 대한 지시 중 하나인, 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  10. 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치로서,
    위치 코드의 전자식 표시를 생성하기 위한 수단 ― 상기 위치 코드는 다수의 코딩 마크들을 포함하고 다수의 위치들을 코딩하며, 각각의 위치는 미리 결정된 수의 코딩 마크들에 의해 코딩됨 ―;
    상기 위치 코드 내에 코딩 마크들의 그룹들을 정의하기 위한 수단 ― 각각의 그룹은 상기 미리 결정된 수의 코딩 마크들보다 더 많은 수의 코딩 마크들을 포함함 ―; 및
    코딩 마크들의 각각의 그룹 내의 상기 코딩 마크들 중 적어도 일부를 이용함으로써, 코딩 마크들의 상기 그룹들에서 정보 아이템을 코딩하기 위한 수단
    을 포함하는 코딩 모듈을 포함하고,
    동일한 정보 아이템은 코딩 마크들의 상기 그룹들에서 반복적으로 코딩되며,
    상기 정보 아이템은 다수의 엘리먼트들을 포함하고, 상기 엘리먼트 중 적어도 둘은 각각의 그룹에서 코딩되며, 상기 그룹들은 함께 다수의 횟수로 상기 엘리먼트들의 각각의 하나를 코딩하는,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치.
  11. 결합된 위치 및 정보 코드를 디코딩하기 위한 방법으로서,
    상기 결합된 위치 및 정보 코드는 다수의 코딩 마크들을 포함하고, 상기 코딩 마크들은 다수의 위치들 ― 각각의 위치는 미리 결정된 수의 코딩 마크들에 의해 코딩됨 ― 및 정보 아이템을 코딩하며, 상기 방법은:
    상기 결합된 코드의 서로 다른 부분들에 대한 일련의 전자식 표시들을 수신하는 단계 ― 각각의 표시는 적어도 상기 미리 결정된 수의 코딩 마크들을 포함하나 상기 정보 아이템을 코딩하는 상기 코딩 마크들의 서브셋만을 포함함 ― ;
    상기 전자식 표시들의 각각의 하나로부터 위치를 결정하는 단계;
    상기 전자식 표시들 중 적어도 2개로부터 코딩 마크들을 이용하여 상기 정보 아이템을 디코딩하는 단계; 및
    상기 정보 아이템을 디코딩하는데 이용되는 상기 코딩 마크들의 각각에 대해서, 상응하는 정보 아이템 엘리먼트를 식별하는 단계 ― 상기 정보 아이템은 적어도 2개의 엘리먼트들을 포함함 ―
    를 포함하는,
    결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  12. 삭제
  13. 제11항에 있어서,
    상기 정보 아이템을 디코딩할 때, 각각의 정보 아이템 엘리먼트에 대한 관찰 결과(observations)들의 수를 기록(keep track of)하는 단계를 더 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  14. 제11항 또는 제13항에 있어서,
    상기 정보 아이템은 코딩 마크들의 미리 결정된 그룹들에서 코딩되며, 상기 상응하는 정보 아이템 엘리먼트의 식별은 연속적인 그룹들 사이에서 상기 코딩 마크들의 순열을 정의하는 순열 규칙을 이용하는 것을 수반하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  15. 제11항 또는 제13항에 있어서,
    상기 전자식 표시들로부터 결정된 위치들은 상응하는 정보 아이템 엘리먼트들을 식별할 때 이용되는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  16. 제11항 또는 제13항에 있어서,
    상기 위치를 결정하는 단계 및 상기 정보 아이템을 디코딩하는 단계 모두, 격자에 의해 정의된 각각의 공칭 위치들로부터의 상기 코딩 심볼들의 변위를 결정하는 단계를 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  17. 제11항 또는 제13항에 있어서,
    베이스 상에 만들어진 펜 스트로크로서 상기 위치들을 프로세싱하는 단계; 및
    상기 펜 스트로크의 프로세싱을 위한 파라미터로서 상기 디코딩된 정보 아이템을 프로세싱하는 단계
    를 더 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  18. 결합된 위치 및 정보 코드를 디코딩하기 위한 장치로서,
    상기 결합된 위치 및 정보 코드는 다수의 코딩 마크들을 포함하고, 상기 코딩 마크들은 다수의 위치들 ― 각각의 위치는 미리 결정된 수의 코딩 마크들에 의해 코딩됨 ― 및 정보 아이템을 코딩하며, 상기 장치는:
    상기 결합된 코드의 서로 다른 부분들에 대한 일련의 전자식 표시들을 수신하기 위한 수단 ― 각각의 표시는 적어도 상기 미리 결정된 수의 코딩 마크를 포함하나 상기 정보 아이템을 코딩하는 상기 코딩 마크들의 서브셋만을 포함함 ―;
    상기 전자식 표시들의 각각의 하나로부터 위치를 결정하기 위한 수단;
    상기 전자식 표시들 중 적어도 2개로부터 코딩 마크들을 이용하여 상기 정보 아이템을 디코딩하기 위한 수단; 및
    상기 정보 아이템을 디코딩하는데 이용되는 상기 코딩 마크들의 각각에 대해서, 상응하는 정보 아이템 엘리먼트를 식별하기 위한 수단 ― 상기 정보 아이템은 적어도 2개의 엘리먼트들을 포함함 ―
    을 포함하는 디코딩 모듈을 포함하는,
    결합된 위치 및 정보 코드를 디코딩하기 위한 장치.
  19. 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법으로서,
    위치 코드의 전자식 표시를 생성하는 단계 ― 상기 위치 코드는 다수의 위치들을 코딩하며, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크들에 의해 코딩됨 ― ; 및
    상기 결합된 코드를 생성하기 위해서 상기 위치 코드 상에 정보 코드의 전자식 표시를 중첩시키는 단계 ― 상기 정보 코드는 제 2 미리 결정된 수의 코딩 마크들을 이용함으로써 적어도 하나의 정보 아이템을 코딩함 ―
    를 포함하고, 상기 위치들 및 상기 정보 아이템 모두는 격자에 의해 정의된 각각의 공칭 위치들로부터 상기 코딩 마크들을 변위시킴으로써 코딩되며,
    상기 위치들은 상기 격자에 의해 정의된 각각의 공칭 위치들로부터 상이한 방향들로 상기 위치 코드의 코딩 마크들을 변위시킴으로써 코딩되고, 상기 정보 아이템은 상기 격자에 의해 정의된 각각의 공칭 위치들로부터 상이한 정도로 상기 정보 코드의 코딩 마크들을 변위시킴으로써 코딩되는,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  20. 삭제
  21. 베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치로서,
    위치 코드의 전자식 표시를 생성하기 위한 수단 ― 상기 위치 코드는 다수의 위치들을 코딩하며, 각각의 위치는 제 1 미리 결정된 수의 코딩 마크들에 의해 코딩됨 ― ; 및
    상기 결합된 코드를 생성하기 위해서 상기 위치 코드 상에 정보 코드의 전자식 표시를 중첩시키기 위한 수단 ― 상기 정보 코드는 제 2 미리 결정된 수의 코딩 마크들을 이용함으로써 적어도 하나의 정보 아이템을 코딩함 ―
    을 포함하는 코딩 모듈을 포함하고, 상기 위치들 및 상기 정보 아이템 모두는 격자에 의해 정의된 각각의 공칭 위치들로부터 코딩 마크들을 변위시킴으로써 코딩되며,
    상기 위치들은 상기 격자에 의해 정의된 각각의 공칭 위치들로부터 상이한 방향들로 상기 위치 코드의 코딩 마크들을 변위시킴으로써 코딩되고, 상기 정보 아이템은 상기 격자에 의해 정의된 각각의 공칭 위치들로부터 상이한 정도로 상기 정보 코드의 코딩 마크들을 변위시킴으로써 코딩되는,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치.
  22. 결합된 위치 및 정보 코드를 디코딩하기 위한 방법으로서,
    상기 결합된 위치 및 정보 코드의 일부에 대한 전자식 표시를 수신하는 단계;
    상기 전자식 표시 내에 위치의 코딩에 기여하는 적어도 하나의 위치-코딩 마크의 위치를 알아내는(localize) 단계;
    상기 적어도 하나의 위치-코딩 마크의 공칭 위치로부터의 변위 방향을 결정하는 단계;
    상기 전자식 표시 내에 정보 아이템의 코딩에 기여하는 적어도 하나의 정보-코딩 마크의 위치를 알아내는 단계; 및
    상기 적어도 하나의 정보-코딩 마크의 공칭 위치로부터의 변위량을 결정하는 단계
    를 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  23. 결합된 위치 및 정보 코드를 디코딩하기 위한 장치로서,
    상기 결합된 위치 및 정보 코드의 일부에 대한 전자식 표시를 수신하기 위한 수단;
    상기 전자식 표시 내에 위치의 코딩에 기여하는 적어도 하나의 위치-코딩 마크의 위치를 알아내기 위한 수단;
    상기 적어도 하나의 위치-코딩 마크의 공칭 위치로부터의 변위 방향을 결정하기 위한 수단;
    상기 전자식 표시 내에 정보 아이템의 코딩에 기여하는 적어도 하나의 정보-코딩 마크의 위치를 알아내기 위한 수단; 및
    상기 적어도 하나의 정보-코딩 마크의 공칭 위치로부터의 변위량을 결정하기 위한 수단
    을 포함하는 디코딩 모듈을 포함하는, 결합된 위치 및 정보 코드를 디코딩하기 위한 장치.
  24. 제19항에 있어서,
    상기 정보 아이템은 상기 위치들을 코딩하기 위해 이용되는 코딩 마크들을 이용함으로써 코딩되는,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  25. 제21항에 있어서,
    상기 정보 아이템은 상기 위치들을 코딩하기 위해 이용되는 코딩 마크들을 이용함으로써 코딩되는,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치.
  26. 제22항에 있어서,
    상기 정보 아이템은 상기 위치를 코딩하기 위해 이용되는 코딩 마크들을 이용함으로써 코딩되는,
    결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  27. 제23항에 있어서,
    상기 정보 아이템은 상기 위치를 코딩하기 위해 이용되는 코딩 마크들을 이용함으로써 코딩되는,
    결합된 위치 및 정보 코드를 디코딩하기 위한 장치.
  28. 제19항에 있어서,
    상기 위치 코드는 수기의 전자식 캡쳐를 위해 의도된,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 방법.
  29. 제21항에 있어서,
    상기 위치 코드는 수기의 전자식 캡쳐를 위해 의도된,
    베이스 상에 적용될 결합된 위치 및 정보 코드를 생성하기 위한 장치.
  30. 제22항에 있어서,
    상기 코드는 수기의 전자식 캡쳐를 위해 의도된,
    결합된 위치 및 정보 코드를 디코딩하기 위한 방법.
  31. 제23항에 있어서,
    상기 코드는 수기의 전자식 캡쳐를 위해 의도된,
    결합된 위치 및 정보 코드를 디코딩하기 위한 장치.
KR1020087001268A 2005-06-17 2006-06-16 위치 및 정보 코드를 결합하는 방법 및 시스템 KR101236809B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US69123305P 2005-06-17 2005-06-17
SE0501400-6 2005-06-17
SE0501400 2005-06-17
US60/691,233 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 KR20080018951A (ko) 2008-02-28
KR101236809B1 true 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)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0401647D0 (sv) * 2004-06-28 2004-06-28 Anoto Ab Coding and decoding of data
EP1913526A4 (en) 2005-06-17 2014-05-07 Anoto Ab METHOD AND SYSTEM FOR COMBINING A POSITION AND INFORMATION CODE
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 ディスク表面検査装置、その検査システム及びその検査方法
CN102576415B (zh) * 2009-09-30 2015-11-25 株式会社希福特 二维码、二维码阅读器和程序
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
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
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
CN108665037A (zh) * 2017-04-02 2018-10-16 田雪松 数据编码方法及装置
CN108664963A (zh) * 2017-04-02 2018-10-16 田雪松 基于编码标记的编解码方法
CN108664964A (zh) * 2017-04-02 2018-10-16 田雪松 具有编码图案的文件输出方法
CN107122067B (zh) * 2017-05-04 2020-09-08 网易(杭州)网络有限公司 物理介质表面位置编解码的方法、装置和可读存储介质
CN107103350B (zh) * 2017-05-04 2020-06-09 网易(杭州)网络有限公司 物理介质表面多维度位置编码方法、装置和可读存储介质
CN107220689B (zh) * 2017-05-27 2020-03-31 网易(杭州)网络有限公司 位置编码图案生成方法、装置、设备和可读存储介质
CN109978107A (zh) * 2017-12-27 2019-07-05 田雪松 点阵编码介质及点阵编码识别方法
CN117940882A (zh) * 2021-09-17 2024-04-26 谷歌有限责任公司 对显示器的位置进行编码和识别

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066896A1 (en) * 2001-09-13 2003-04-10 Pettersson Mats Peter Coding pattern

Family Cites Families (79)

* Cited by examiner, † Cited by third party
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
JPH06506080A (ja) 1991-04-03 1994-07-07 ヒューレット・パッカード・カンパニー 位置検知装置
US5271764A (en) * 1992-02-12 1993-12-21 Xerox Corporation Ink compositions
US5286286A (en) * 1991-05-16 1994-02-15 Xerox Corporation Colorless fast-drying ink compositions for printing concealed images detectable by fluorescence
US5208630A (en) * 1991-11-04 1993-05-04 Xerox Corporation Process for the authentication of documents utilizing encapsulated toners
US5245165A (en) * 1991-12-27 1993-09-14 Xerox Corporation Self-clocking glyph code for encoding dual bit digital values robustly
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 自己クロッキング図形記号コード
US5477012A (en) * 1992-04-03 1995-12-19 Sekendur; Oral F. Optical position determination
US5852434A (en) * 1992-04-03 1998-12-22 Sekendur; Oral F. Absolute 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
DK0670555T3 (da) * 1992-09-28 2000-09-18 Olympus Optical Co Registreringsmedium med prikkode og informationsregistreringssystem
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
BR9606290A (pt) * 1995-04-03 1997-09-02 Matsushita Electric Ind Co Ltd Meio de gravação aparelho e método para transmissão de dados e aparelho e método para reprodução de dados
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 ドットコードを有する記録媒体及びコード読取装置
WO1998057473A1 (en) * 1997-06-13 1998-12-17 Lucent Technologies, Inc. Multilevel coding with time diversity
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
WO1999050736A1 (en) 1998-04-01 1999-10-07 Xerox Corporation Paper indexing of recordings
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
JP4785310B2 (ja) * 1999-05-28 2011-10-05 アノト アクティエボラーク 情報の記録に用いられる製品
DE60044458D1 (de) 1999-05-28 2010-07-08 Anoto Ab Positionsbestimmung
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 한탁돈 기계로 판독가능한 코드와 그 코드의 인코딩/디코딩 방법및 장치
KR100752817B1 (ko) 1999-12-23 2007-08-29 아노토 아베 일반 정보 관리 시스템
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
WO2001075781A1 (en) 2000-04-05 2001-10-11 Anoto Ab Method and system for information association
ATE472778T1 (de) 2000-04-05 2010-07-15 Anoto Ab Identifizierung eines virtuellen rastermusters
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
US6586688B2 (en) * 2000-04-05 2003-07-01 Anoto Ab Information-related devices and methods
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
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
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
JP4198456B2 (ja) 2002-07-10 2008-12-17 株式会社リコー 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法
DE60325064D1 (de) * 2002-06-18 2009-01-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
CA2519271C (en) * 2003-03-17 2013-05-28 Kenji Yoshida Information input and output method by use of dot pattern
KR101062107B1 (ko) * 2003-05-26 2011-09-02 아노토 아베 컴퓨터에서 프린터로 전송된 페이지-설명 코드를 포함하는 디지털 표현을 압축하기 위한 방법
EP1913526A4 (en) 2005-06-17 2014-05-07 Anoto Ab METHOD AND SYSTEM FOR COMBINING A POSITION AND INFORMATION CODE
US20080235282A1 (en) 2005-06-17 2008-09-25 Petter Ericson Personal Computing Apparatus and a Method Therein

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030066896A1 (en) * 2001-09-13 2003-04-10 Pettersson Mats Peter Coding pattern

Also Published As

Publication number Publication date
CN101198968B (zh) 2010-05-19
EP1913526A4 (en) 2014-05-07
US8074891B2 (en) 2011-12-13
WO2006135328A1 (en) 2006-12-21
CN101198968A (zh) 2008-06-11
JP4982486B2 (ja) 2012-07-25
EP1913526A1 (en) 2008-04-23
KR20080018951A (ko) 2008-02-28
JP2008547079A (ja) 2008-12-25
US20090078475A1 (en) 2009-03-26

Similar Documents

Publication Publication Date Title
KR101236809B1 (ko) 위치 및 정보 코드를 결합하는 방법 및 시스템
KR101119310B1 (ko) 데이터의 코딩 및 디코딩
JP4966464B2 (ja) 集中型情報管理
KR101122822B1 (ko) m-어레이 디코딩 및 오류 정정에 대한 향상된 접근
US20020021284A1 (en) System and method for determining positional information
EP1579379B1 (en) Information code including redundant information providing copy protection
MXPA02006340A (es) Sistema de administracion de informacion general.
US20100073330A1 (en) Methods and Devices Relating To Transfer of Non-Pen Stroke Data
EP1697880A1 (en) Method, apparatus, computer program and storage medium for recording a movement of a user unit
JP2009516261A (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
US20080235282A1 (en) Personal Computing Apparatus and a Method Therein
JP5084087B2 (ja) 手書きコマンド
CN108664869A (zh) 点阵识别系统
JP4934669B2 (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