KR101119310B1 - 데이터의 코딩 및 디코딩 - Google Patents

데이터의 코딩 및 디코딩 Download PDF

Info

Publication number
KR101119310B1
KR101119310B1 KR1020077001974A KR20077001974A KR101119310B1 KR 101119310 B1 KR101119310 B1 KR 101119310B1 KR 1020077001974 A KR1020077001974 A KR 1020077001974A KR 20077001974 A KR20077001974 A KR 20077001974A KR 101119310 B1 KR101119310 B1 KR 101119310B1
Authority
KR
South Korea
Prior art keywords
data
layer
location
information
information code
Prior art date
Application number
KR1020077001974A
Other languages
English (en)
Other versions
KR20070036150A (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 KR20070036150A publication Critical patent/KR20070036150A/ko
Application granted granted Critical
Publication of KR101119310B1 publication Critical patent/KR101119310B1/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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K17/00Methods or arrangements for effecting co-operative working between equipments covered by two or more of main groups G06K1/00 - G06K15/00, e.g. automatic card files incorporating conveying and reading operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns

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)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Error Detection And Correction (AREA)
  • Image Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

정보 코드는 위치 정보를 코딩하기 위한 위치층 및 임의의 비위치 데이터를 코딩하기 위한 데이터층을 포함한다. 위치층 및 데이터층은 윈도우 시퀀스의 순환적으로 시프팅된 인스턴스들에 의해 형성될 수도 있다. 정보 코드를 갖는 제품, 정보 코드를 코딩 및 디코딩하는 방법, 및 정보 코드를 디코딩하는 장치가 개시된다.

Description

데이터의 코딩 및 디코딩{CODING AND DECODING OF DATA}
본 발명은 일반적으로 임의의 비위치 데이터의 저장을 위한 정보 코드에 관한 것이다. 특히, 본 발명은 데이터 저장 방법, 데이터 저장 제품, 데이터 디코딩 방법, 및 데이터 디코딩 장치에 관한 것이다.
임의의 데이터가 예컨대, 1차원 또는 2차원 바코드인 코드 수단에 의해 컴팩트한 방식으로 베이스에 저장될 수 있다는 것은 공지되었다.
본 출원의 양수인에게 양도된 WO 제01/71653호는 데이터의 저장을 위한 코드를 개시한다. 코드는 적어도 미리 결정된 길이의 임의의 서브시퀀스가 수의 시퀀스(number sequence)에서 단지 한번 나타나는 특징을 갖는 수의 시퀀스에 의해 구성된다. 이러한 특성을 갖는 수의 시퀀스는 이하에서 윈도우 시퀀스로 불린다.
WO 제01/71653호에 개시된 코드는 행렬의 행에 윈도우 시퀀스의 부분을 정렬함으로써 형성된다. 각각의 시퀀스 부분은 윈도우 시퀀스에서 잘 한정된 부분을 갖는다. 데이터는 인접한 시퀀스 부분의 윈도우 시퀀스 부분에서의 차이에 의해 코딩된다. 윈도우 시퀀스 부분에서 차이점은 또한 코드가 판독되려고 의도된 방향에서 윈도우 시퀀스의 형태로 룰러(ruler)를 또한 코딩한다. 이러한 룰러는 올바른 순서로 코드로부터 판독된 데이터를 정렬시키고 완전한 메시지가 레코딩되는 것을 가능하게 한다.
전술한 사항에서 명백하듯이, 코드에 저장된 메시지는 사용자 유닛으로 코드의 일부 영역의 다수의 이미지를 기록하고, 다수의 이미지에 데이터 및 룰러 정보를 디코딩하고, 데이터를 올바른 순서로 오더링하여 메시지를 재구성하기 위해 룰러 정보를 이용함으로써 재캡쳐링될 수 있다. 코드 행렬이 수평 축을 따라 스캐닝되려고 한다는 것을 가정하면, 스캐닝은 수직 축을 따라 행렬에서 소정의 레벨로 실행될 수 있으며, 디코딩된 정보는 모든 레벨에서 동일하다.
본 발명의 일 목적은 임의의 비위치 데이터를 베이스 상에 코딩된 형태로 저장하기 위해 택일적 코드를 제공하는 것이다.
이러한 목적은 독립항에 청구된 대로, 데이터를 저장하는 방법, 데이터 저장 제품, 데이터 디코딩 방법, 및 데이터 디코딩 장치에 의해 전적으로 또는 부분적으로 달성된다.
본 발명의 일 특징에 따라, 데이터를 저장하는 방법은 위치층에서 위치 정보를 코딩하는 단계, 별개의 데이터층에서 임의의 비위치 데이터를 코딩하는 단계, 및 위치층 및 데이터층을 베이스 상에 정렬될 정보 코드로 결합하는 단계를 포함한다.
위치 정보 및 데이터를 상이한 코드층에 분리하여 위치시킴으로써, 많은 장점이 얻어질 수 있다. 후술되는 바와 같이, 위치층은 위치 정보만이 아니라 다른 정보를 코딩하기 위해 사용될 수 있다. 예컨대, 이는 유사한 위치 코드 코딩 정보로부터 정보 코드를 두 층으로 분리하는 표시자를 코딩하기 위해 사용될 수도 있다. 이는 또한 위치층에서 소정의 위치에서 디코딩 가능한 정보 코드 파라미터를 코딩하기 위해 사용될 수 있다. 더욱이, 데이터는 다른 방식으로 예컨대, WO 제01/71653호에서보다 더욱 높은 데이터 밀도로 코딩될 수도 있다. 대체로, 최종 정보 코드는 더욱 양호하게 구성되며 상이한 종류의 정보를 코딩하기 위해 더욱 용이하게 적용될 수 있다.
위치층 및 데이터층은 상이한 방식으로 결합될 수도 있다. 층들은 서로 그리고 공통 코드 엘리먼트에 의해 코딩된 상이한 층들로부터의 중첩된 엘리먼트들 상에 겹쳐질 수도 있다. 층들은 상이한 층들로부터의 엘리먼트가 서로로부터 대체되고 중첩하지 않도록 서로 인터리빙될 수 있다.
정보 코드는 상이한 방식으로 베이스 상에 정렬될 수 있다. 이는 예컨대, 가시적 또는 비가시적 프린트 잉크로 베이스 상에 프린트되거나, 베이스의 상이한 부분에 대한 상이한 자기적, 화학적, 위치적, 또는 다른 특성을 할당함으로써 베이스에 적용될 수도 있다.
위치층에 의해 코딩된 위치 정보는 1차원 또는 2차원일 수 있으며, 후자는 선택적으로 데이터의 더욱 정교한 코딩을 가능하게 하고 더 높은 데이터 밀도를 가능하게 한다. 2차원 위치 정보는 한편으로는 위치 코드의 의도된 스캐닝 방향으로 위치를 결정하고, 다른 한편으로는 이에 직각으로 위치를 결정하게 할 수 있다. 스캐닝 방향에서의 위치의 인식으로, 정보 코드는 거의 또는 실질적으로 중첩 없이 다수의 이미지에 의해 기록 또는 판독될 수 있다. 더욱이, 기록된 정보의 완료는 용이하게 체크될 수 있다. 이미지 콘텐츠의 어떠한 상관도 실행될 필요가 없지만, 위치 정보는 올바른 순서로 데이터를 정렬하기 위해 사용된다. 의도된 스캐닝 방향에 직각인 방향의 위치의 인식은 데이터가 앞서 알려진 코드와는 상이한 방식으로 코딩되게 한다.
위치 정보는 상이한 방식으로 코딩될 수도 있다. 위치 코드는 예컨대, 타일(tile) 타입일 수도 있는데, 여기서, 베이스는 개별, 비중첩 부분 영역으로 분리되며, 이들 각각은 위치를 한정한다. 이러한 타입의 위치 코드는 예컨대, Sekendur의 US 제5,852,434호에 개시된다. 위치 코드는 플로팅 타입일 수도 있는데, 여기서, 위치를 코딩하기 위해 필요한 최소 크기와 동일한 크기를 갖는 베이스 상의 임의의 부분 영역이 위치를 한정한다. 따라서, 플로팅 타입의 위치 코딩에서, 부분적으로 중첩하는 부분 영역은 상이한 위치를 한정한다. 일반적으로, 플로팅 타입의 위치 코드에서 위치를 한정하는 각각의 부분 영역은 다수의 간단한 심볼을 포함하는 반면, 타일 타입의 위치 코드에서 위치를 한정하는 부분 영역은 다수의 단순 심볼 또는 하나의 더욱 복잡한 심볼을 포함할 수 있다.
플로팅 타입의 위치 코드는 하나 이상의 윈도우 시퀀스에 의해 실현될 수 있다. 플로팅 타입의위치 코드의 예는 예컨대, 본 출원인의 양수인에게 양도된 US 제6,570,104호, US 제6,663,008호, US 제6,674,427호, US 제6,667,695호, 및 Wang의 US 제2004/0085287호, Burns의 US 제5,442,147호에서 찾을 수 있다.
데이터층의 데이터는 코드의 타일 또는 플로팅 타입으로 코딩될 수 있다. 후자의 경우, 이는 예컨대, 하나 이상의 윈도우 시퀀스에 의해 코딩될 수 있다.
위치 정보 및/또는 데이터는 예컨대, 행렬로 랩핑된(wrapped) 단일의 긴 윈도우 시퀀스에 의해, 또는 행렬로 배열된 짧은 윈도우 시퀀스의 다수의 완전한 또는 부분 인스턴스에 의해 코딩될 수 있다.
위치층 및 데이터층은 예컨대, 윈도우 시퀀스의 순환적으로 시프팅된 인스턴스의 매트릭스를 형성함으로써 제공될 수 있으며, 여기서 순환 시프트의 크기는 위치 정보 또는 코딩될 데이터에 의존한다.
제1 위치층 및 제2 데이터층을 갖는 정보 코드는 정보 코드의 제1 위치층에 의해 배타적으로 사용될 특정한 좌표 영역을 보존함으로써 제1 및 제2 위치층을 갖는 유사한 외관의 위치 코드와 구별될 수 있다.
윈도우 시퀀스의 순환적으로 시프팅된 인스턴스가 위치층에서 사용될 때, 인접한 인스턴스들 사이의 순환 시프트 또는 상대적인 순환 시프트는 위치 코드에 의해 사용되지 않는 순환 시프트 또는 상대적 순환 시프트 각각의 특정한 세트에 한정될 수 있다.
글로벌 정보 코드 파라미터는 또한 위치 층으로 코딩될 수도 있다. 글로벌이란 파라미터가 위치층의 소정의 위치에서 디코딩될 수 있으며 위치층에서 모두 동일한 것을 의미한다. 이는 다른 종류의 정보와 독립적이며, 따라서 디코딩 유닛에 의해 즉시 해석될 수 있다. 글로벌 정보 코드 파라미터는 예컨대, 정보 코드의 순환 시프트 또는 상대적인 순환 시프트에서 코딩될 수도 있다.
본 발명의 추가 특징에 따라, 제품은 베이스 및 베이스 상의 정보 코드를 포함하며, 상기 정보 코드는 위치 정보를 코딩하는 위치층 및 임의의 비위치 데이터를 코딩하는 데이터층을 포함한다.
제품은 정보 코드가 적용될 수 있는 베이스를 포함하는 소정의 제품일 수 있다. 상이한 제품의 예는 상세한 설명에서 소개된다.
본 발명의 다른 특징에 따라, 정보 코드로부터 데이터를 디코딩하는 방법은, 정보 코드의 부분 영역의 표현을 수신하는 단계, 부분 영역의 정보 코드를 부분 영역 위치층 및 부분 영역 데이터층으로 분리하는 단계, 부분 영역 위치층으로부터 위치 정보를 디코딩하는 단계 및 부분 영역 데이터층으로부터 임의의 비위치 데이터를 디코딩하는 단계를 포함한다.
본 발명의 또다른 특징에 따라, 정보 코드를 디코딩하는 장치는 프로세서를 포함하는데, 이는 정보의 부분 영역의 표현을 수신하고, 부분 영역의 정보 코드를 부분 영역 위치층 및 부분 영역 데이터층으로 분리하고, 부분 영역 위치층으로부터 위치 정보를 디코딩하고, 부분 영역 데이터층으로부터 임의의 비위치 데이터를 디코딩한다.
본 제품, 디코딩 방법 및 디코딩 장치의 장점은 코딩 방법의 설명 및 이하의 상세한 설명으로부터 명백하다.
본 발명은 첨부한 개략적인 도면을 참조하여 더욱 구체적으로 설명될 것이다.
도1은 정보 코드가 사용될 수 있는 시스템을 도시한다.
도2는 정보 코드로 결합된 위치층 및 데이터층을 도시한다.
도3은 정보 코드의 엘리먼트가 어떻게 그래픽적으로 코딩될 수 있는지의 예를 나타낸다.
도4는 정보 코드가 어떻게 구성될 수 있는지를 나타낸다.
도5는 정보 코드를 디코딩하는데 사용될 수 있는 사용자 유닛을 도시한다.
도6은 정보 코드의 부분 영역의 이미지가 어떻게 프로세싱되는지를 설명한 흐름도이다.
도7은 어떻게 메시지가 정보 코드로부터 디코딩될 수 있는지를 설명하는 흐름도이다.
도8은 정보 코드가 어떻게 코딩되는지를 설명한 흐름도이다.
도1은 정보 코드가 사용될 수 있는 정보 관리 시스템의 예를 개략적으로 도시한다. 시스템은 제품(1), 펜 모양 사용자 유닛(2), 이동 전화(3), 개인용 컴퓨터(PC), 원격 유닛(5) 및 로컬 유닛(6)을 포함한다.
제품(1)에는 정보 코드(7) 및 위치 코드(8)가 제공된다. 정보 코드(7) 및 위치 코드(8) 각각의 작은 부분이 개략적으로 확대되어 도시된다. 다른 제품들은 정보 코드(7)만을 포함할 수도 있다.
정보 코드는 1차원 정보 코드이며, 이는 베이스 상에 1차원으로, 이 경우 베이스 상에 수평방향으로 데이터를 저장한다. 정보 코드에 저장된 데이터는 좌에서 우로, 또는 우에서 좌로 수평 방향으로 전체 정보 코드 위를 사용자 유닛(2)이 이동함으로써 기록된다. 이론상으로, 어떠한 추가의 정보도 수직 방향으로 사용자 유닛(2)을 이동시킴으로써 얻어지지 않는다. 그러나 실질적으로, 추가 정보는, 예컨대, 정보 코드가 베이스 상에서 완전하게 재생성되지 않거나, 또는 만일 사용자 유닛에 의한 정보 코드의 이미지가 미완 또는 불완전한 경우, 정보 코드에서 상이한 수직 위치의 동일한 데이터를 탐색하는 사용자 유닛에 의해 획득된다.
도5를 참조하여 이하에서 더욱 상세하게 설명될 사용자 유닛(2)은 정보 코드(7)를 기록 및 디코딩할 수 있다. 이는 또한 위치 코드(8)로부터 위치 정보를 기록 및 디코딩할 수 있다. 사용자 유닛(2)은 디코딩된 정보를 내부적으로 프로세싱하고 디코딩된 정보에 응답하여 사용자에게 피드백을 제공한다. 이는 또한 이동 전화(3), PC(4), 또는 로컬 유닛(6)과 같은 로컬 유닛들이 레코딩된 정보의 프로세싱의 적어도 일부를 처리하고 디코딩된 정보에 대해 응답하도록 이들과 통신할 수 있다. 로컬 유닛들은 레코딩/디코딩 정보의 전달을 위해 인터넷상의 서버와 같은 원격 유닛(5)과의 통신 인터페이스로서 동작할 수도 있다.
정보 코드(7)는 상이한 목적을 위해 제공될 수 있다. 이는 예컨대, 위치 코드(8)에 의해 기록된 수기된 정보가 전송될 주소를 한정한다. 또는 이는 위치 코드(8)가 제공된 영역의 레이아웃의 설명을 포함할 수도 있다. 이러한 영역은 예컨대, 사용자에 의해 채워질 형태를 구성할 수도 있으며, 정보 코드(7)는 상이한 영역의 형태로부터 정보를 번역 및/또는 프로세싱하는 방법에 대해 사용자 유닛(2)으로 명령을 제공한다. 정보 코드(7)는 만일 예컨대, 제품의 모든 샘플들에 모든 제품상의 동일한 위치를 코딩하는 동일한 위치 코드(8)("복사된 위치 코드"라고도 불림)가 제공되면, 제품의 특정한 샘플의 유일한 식별을 제공할 수도 있다.
정보 코드(7)와 위치 코드(8)를 정확하게 디코딩하기 위해, 사용자 유닛(2)은 바람직하게 코드들 사이에서 구별될 수 있다. 코드 그 자체에서 코드의 종류를 나타내는 한 방법이 후술된다. 그러나 우선, 정보 코드(7)가 구성되는 방법의 예가 도 2를 참조하여 설명될 것이다.
도2에 개략적으로 도시된 바와 같이, 정보 코드(7)는 두 개의 개별 층 ? 위치층(20) 및 데이터층(21) ? 으로 구성된다.
위치층(20)은 2차원으로 유일하고 절대적인 위치를 코딩한다. 데이터층(21)은 데이터를 코딩한다. 정보 코드(7)에서, 위치층(20) 및 데이터층은 서로(21) 겹쳐져서, 정보 코드의 각각의 엘리먼트는 위치층(20) 및 데이터층(21)으로부터 대응하는 엘리먼트의 조합을 구성한다. 정보 코드의 엘리먼트는 그래픽적인 심볼로 코딩된다.
정보 코드가 디코딩될 때, 위치층(20) 및 데이터층(21)은 분리되고 층들은 개별적으로 디코딩된다. 그러나 위치 정보는 데이터층(21)을 디코딩할 때 사용된다.
이러한 종류의 정보 코드(7)는 윈도우 시퀀스에 의해 구성될 수 있는데, 이는 상기 시퀀스에 미리 결정된 길이의 임의의 서브시퀀스가 단지 한번 나타나는 특성을 갖는다.
수학의 분야에서, 전술한 특성을 갖는 최대 길이의 시퀀스는 드루부인 시퀀스(DeBruijn Sequence)로 알려져 있다. 가변 길이를 갖는 이러한 시퀀스를 생성하는 방법은 공지되어 있다.
"윈도우 시퀀스"라는 표현이 전술한 특성을 갖는 소정의 시퀀스에 대한 이러한 애플리케이션에 사용될 것이다. 시퀀스는 시퀀스(윈도우) 길이와 관련하여 최대 길이일 필요는 없다. 이는 또한 전술한 특성을 갖는 시퀀스를 나타냄으로써 획득되는 시퀀스에 대해 사용될 것이다. 이러한 시퀀스는 주기적일 것이며, 반복된 시퀀스 사이의 전이에 포함하는 각각의 주기에서 전술한 특성을 갖는다.
도2의 예에서, 위치층(20)은 길이 n의 윈도우 시퀀스의 인스턴스에 의해 구축되며, 상기 인스턴스는 도2에서 x축과 평행한 행 상에서 진행한다. 데이터층(21)은 동일한 윈도우 시퀀스의 인스턴스에 의해 구축되며, 상기 인스턴스는 y축과 평행한 열에서 진행한다. 의도된 스캐닝 방향은 x축을 따른다. 택일적으로 위치층(20)의 윈도우 시퀀스의 인스턴스가 y축을 따라 진행할 수도 있으며 데이터층의 윈도우 시퀀스의 인스턴스가 x축을 따라 진행할 수도 있음은 말할 나위도 없다. 예컨대, 윈도우 시퀀스들 사이에서 다른 각을 갖는 다른 배열이 사용될 수도 있다.
윈도우 시퀀스의 인스턴스가 전체 윈도우 시퀀스 기간으로 시작하지 않지만, 이들의 단지 일부로 시작할 수도 있다. 윈도우 시퀀스 인스턴스가 시작하는 위치 또는 인덱스는 인스턴스의 순환 시프트 또는 단지 시프트로 불려진다. 만일 행 또는 열이 전체 윈도우 시퀀스 주기로 시작하면, 순환 시프트는 0이다.
두 인접한 행들 또는 열들의 두 인스턴스의 시프트들 사이의 상이한 모듈로 n은 상대적인 순환 시프트(Δi) 또는 상대적인 시프트를 한정한다.
도2에서, 윈도우 시퀀스의 인스턴스는 위치층(20) 및 데이터층(21)에서 바(23)로 개략적으로 도시된다. 위치층(20)의 두 상대적인 시프트(Δi 및 Δi+1) 및 데이터층(21)의 두 시프트(si 및 si+1)가 또한 암시된다. 도2는 스케일링되지 않음이 강조되어야 한다.
위치층(20)은 n*n 유일한 절대적 위치를 갖는 위치 표면을 한정할 수도 있는데, 이는 윈도우 시퀀스의 인스턴스들 및 이들의 상대적인 시프트에 의해 코딩된다. 위치 표면은 임의의 길이 또는 폭의 위치층(20)을 생성하기 위해 반복될 수 있다. 위치 정보 외에, 위치층(20)은 글로벌 정보 코드 파라미터를 코딩할 수도 있으며, 이는 위치층이 위치 표면에 따라 변화하지 않고 위치층(21)으로부터 소정의 위치로 디코딩될 수 있기 때문이다.
데이터층(20)은 윈도우 시퀀스의 인스턴스의 순환 시프트(si)에 의해 데이터를 코딩한다. 이는 또한 후술될 바와 같이, 정보의 시작과 종료를 나타내는 구분 영역을 또한 코딩한다.
정보 코드(7)를 생성하는데 사용되는 윈도우 시퀀스는 소정의 베이스를 가질 수 있지만, 바람직하게 4와 같은 또는 더 작은 소형의 베이스이어서, 낮은 복잡도를 갖는 심볼로 그래픽적으로 코딩될 수 있다. 이러한 예에서, 베이스는 2이다. 따라서, 위치층(21) 및 데이터층(20) 각각은 이진 행렬로 구성된다. 이러한 두 이진 행렬이 겹쳐지면, 결합된 행렬의 각각의 위치는 두 개의 관련된 비트들 ? 위치층으로부터 하나 그리고 데이터층으로부터 하나 ? 을 가질 것이다. 이러한 두 비트는 4개의 상이한 값을 나타내는 4개의 상이한 상태를 갖는 심볼의 도움으로 제품의 표면 상에 코딩될 수 있다.
도3은 공칭 위치(32) 또는 래스터 포인트와 관련하여 이들의 각각의 위치에 의존하는 4개의 상이한 값들(0-3)을 추정할 수 있는 단순한 그래픽적 심볼 또는 마크(31)에 의해 코딩된 정보 코드의 작은 부분을 나타낸다. 도3에 도시된 바와 같이, 각각의 심볼(31)은 도트(dot)의 형태를 가지며, 공칭 위치(32)와 관련하여 4개의 상이한 방향 중 하나에 거리(33)를 두고 배치된다. 공칭 위치(23)는 바람직하게 비가시적 또는 실질적인 래스터 또는 격자에서 래스터 라인(34)들 사이의 교차부이다. 격자 간격(35)은 일반적으로 0.3mm일 수 있다. 심볼의 값은 변위의 방향에 의해 결정된다. 각각의 심볼 값(0-3)은 위치층(20)에서 위치의 코딩에 기여하는 1비트 및 데이터층에서 데이터의 코딩에 기여하는 1비트로, 즉 비트 쌍 (0,0), (0,1), (1,0) 및 (1,1)로 변환될 수 있다. 이는 정보 코드가 위치층 및 데이터층으로 어떻게 구성되는 지의 일례이다.
길이 n=63이고 윈도우 6인 이하의 이진 윈도우 시퀀스는 정보 코드를 생성하는데 사용된다:
Figure 112007007934655-pct00001
메인 시퀀스(M)로도 불리는 이러한 시퀀스는 63×63 위치 표면을 코딩하는데 사용될 수 있다. 이는 63개의 상이한 위치에서 시작하기 위해 순환적으로 시프팅될 수 있기 때문에, 상이한 순환 시프트를 갖는다.
위치층(20)은 이하의 등식에 따라 메인 시퀀스(M)의 인스턴스를 시프팅함으로써 생성된다.
Figure 112007007934655-pct00002
여기서 R은 길이 63의 삼진 [0,1,2] 윈도우 시퀀스이며,
Figure 112010040360154-pct00003
는 길이 7의 삼진 [-1,0,1] 시퀀스인데, 이는 전술한 글로벌 정보 코드 파라미터를 코딩하고, i는 위치층의 행 번호를 나타내는 인덱스이다.
또한 Ri의 합은 제로 모듈로 63이며,
Figure 112007007934655-pct00004
의 합은 행(j)이 모든 j에 대해 행(j+63)과 동일한 것을 보장하기 위해 제로 모듈로 7이어야 한다.
시퀀스(R)는 길이 63 및 윈도우 4를 갖는 윈도우 시퀀스이다. 이하의 시퀀스는 이러한 예에 사용된다.
Figure 112007007934655-pct00005
시퀀스(R)는 스캐닝 방향과 수직한 y축의 방향으로 진행한다. 이는 룰러 시퀀스로 불리는데, 정보 코드가 어떤 레벨에서 스캐닝되는지를 검출할 수 있기 때문이다. 이는 차례로 데이터층의 순환 시프트에서 데이터의 코딩을 가능하게 한다. 이러한 코딩은 상대적인 시프트에서 데이터의 코딩과 비교하여 유리한데, 이는 하나의 시프트에서의 에러가 그 시프트에 의해 코딩된 데이터에만 영향을 미치기 때문이다.
시퀀스(
Figure 112007007934655-pct00006
)는 합계가 제로 모듈로 7로인 알파벳 [-1,0,1]로부터의 소정의 7 심볼 시퀀스이다. 395개의 이러한 시퀀스가 존재한다. 일례는 이하의 시퀀스이 다.
1, 1, -1, 0, 1, -1, -1
따라서, 다른 동일한 정보 코드를 구별하는 많은 방법이 존재한다. 글로벌 파라미터는 일반적으로 정보 코드를 디코딩하기 위해 시작할 때 즉시 이용가능할 수 있는 정보를 코딩하는데 일반적으로 사용될 수 있다. 예컨대, 어떤 인코딩 원리가 데이터층의 데이터 뒤에 있는지를 마크하는 것이 사용될 수도 있다(예컨대, 도트 코드가 전체 메시지 또는 짧은 인스턴트 메시지의 시리즈로서 고려되는지, 순환 리던던시 체크(CRC)에 의해 보호된 데이터인지, 에러 보정 코드가 존재할 경우, 어떤 타입의 에러 보정 코드(ECC)에 데이터가 내장되어 있는지 등). 추가에 예로서, 정보 코드의 방향(수평 또는 수직)은 글로벌 파라미터에서 코딩될 수도 있어서, 사용자는 어떤 방향으로 정보 코드가 스캐닝되는지에 대한 즉각적인 피드백을 획득할 수 있다.
위치층(20)을 코딩하기 위해 전술한 등식(1)과 R 및
Figure 112007007934655-pct00007
시퀀스를 이용할 때, 위치층(20)의 인스턴스 사이의 모든 순환 시프트는 간격 [-4,4]에 속할 것이다. 위치층의 모든 순환적 시프트가 이러한 간격에 있다는 사실은 이하에 추가로 설명되듯이 정보 코드를 다른 유사한 코드로부터 식별하는데 사용될 수 있다.
데이터층(21)은 y축에 평행하게 진행하는 메인 시퀀스의 인스턴스의 순환 시프트(si)에 의해 실제 데이터 메시지(D)를 코딩한다.
데이터 코딩은 많은 다양한 방식으로 실행될 수도 있다. 각각의 메인 시퀀스는 63개의 상이한 순환 시프트를 갖는다. 따라서, 순환 시프트는 예컨대, 63개의 상이한 캐릭터 또는 다른 데이터의 피스를 코딩하는데 사용될 수 있다. 그러나 이하에 추가로 후술되듯이 데이터(D)와 시프트(si) 사이에서 상이한 전환 또는 맵핑을 실행하는 것이 가능하다. 데이터(D)는 예컨대, 에러를 프린트 및/또는 판독하기 위해 더욱 내성적으로 되도록 ECC(에러 보정 코드)에 내장될 수도 있다.
데이터층(21)은 데이터만을 코딩할 수 있지만, 이는 또한 정보 코드의 시작 및/또는 종료를 나타내는 하나 이상의 구분 영역을 코딩할 수도 있다. 구분 영역을 갖는 장점은, 사용자 유닛이 두 개의 상이한 타입의 코드로부터 불완전 정보 또는 정보를 기록할 때, 정보 코드에 대한 백그라운드 또는 다른 코드로부터의 전환에서 혼동을 방지할 수 있다는 것이다.
구분 영역은 예컨대, 실제 정보 코드의 그래픽 코딩과 상이한 그래픽 코딩에 의해 상이한 방식으로 표시될 수 있다. 이들은 구분 영역의 인코딩을 위해 보유된 특정한 순환 시프트에 의해 표시될 수도 있다. 이러한 예에서, 순환 시프트(10 및 11)는 각각 시작 및 종료 영역의 인코딩을 위해 보유된다.
더욱이 정보 코드에 의해 코딩된 메시지 데이터(D)는 예정된 길이의 블록으로 분할될 수 있다. 블록으로의 분할은 순환 시프트로의 데이터의 맵핑에 유용할 수 있다. 이는 또한 언제 데이터가 디코딩 모듈로부터 다른 모듈 또는 외부 유닛으로 전송될 지를 결정하는 것은 용이할 수 있다.
모든 블록은 메시지 데이터를 코딩할 수 있다. 하나 이상의 블록은 메시지를 위한 헤더와 같은 다른 데이터를 코딩하기 위해 사용될 수도 있다. 헤더는 예컨대, CRC(순환 리던던시 체크), ECC, 메시지의 길이를 나타내는 길이 정보, 메시지가 어떤 종류의 데이터를 포함하는지를 나타내는 메시지 타입 ID, 또는 디코딩 프로세스를 일반적으로 간략화할 수 있는 메시지에 대한 다른 정보를 포함할 수 있다.
정보 코드는 고정된 수의 데이터 블록을 갖는 예정된 길이를 갖거나, 선택가능한 길이를 가질 수 있다.
이제, 인코딩 예가 설명될 것이다. L 바이트의 원 데이터 메시지(D)를 고려한다. CRC를 포함하는 헤더(2바이트), 완전한 메시지 모듈로 5의 길이(L)(1바이트), 및 콘텐츠 타입(1바이트)이, 길이 제로 모듈로 5를 획득하기 위해 제로로 패딩된 메시지(D)에 첨부된다. 메시지 데이터(D)는 7 순환 시프트를 각각 이용함으로써 인코딩된 5 바이트의 블록으로 분할된다. 이는 617〉2565이므로 동작한다. 맵핑은 베이스의 변화로 인해 다음과 같이 행해진다.
Figure 112011087066913-pct00008
여기서, ai〈 256, bi〈 61이며, ai 및 bi는 음수가 아니다.
완전한 메시지 스트링이 도4에 도시된다. 구분 영역은 각각 적어도 8개의 순환 시프트이며, 블록(0-5)은 각각 7개의 연속한 시프트를 포함한다. 데이터층(21)의 윈도우 시퀀스의 인스턴스의 실제 시프트는 12 모듈로 63을 더한 메시지 스트링에 대응하는 위치에서 시프트에 따라 선택되며, 그로 인해, 구분 영역에 대해 보유된 시프트(10 및 11)를 방지한다. 또한, 심미적인 이유로, 시프트는 10x 모듈로 63의 양만큼 추가로 시프팅되는데, x는 시프트의 x-위치이다. 위치층(20)은 제1 블록의 제1 시프트(헤더 블록)가 x-위치 제로가 되도록 데이터층(21)에 정렬되며, 그로 인해 블록의 시작 및 종료가 용이하게 결정될 수 있다.
정보 코드는 단독으로 또는 다른 코드들과 조합하여 사용될 수 있다. 전술한 바와 같이, 예컨대, 수기의 전자 기록을 가능하게 하는 위치 코드와 조합하여 사용될 수 있다.
전술한 정보 코드는 US 제6,667,695호에 설명된 바와 같이, 예컨대, 위치 코드와 함께 사용될 수 있다. 이러한 위치 코드는 두 위치층에 의해 구성되는데, 하나는 x 좌표를 코딩하고 다른 하나는 y 좌표를 코딩한다. x 위치층은, y 축과 평행한 열에서 전술한 메인 시퀀스 M일 수 있는 윈도우 시퀀스의 인스턴스를 정렬함으로써 생성된다. 인스턴스는 인스턴스들 사이의 상대적인 시프트가 x축을 따르는 윈도우 시퀀스 진행을 형성하도록 순환적으로 시프팅된다. y 위치층은 대응하는 방식으로 생성되지만, 윈도우 시퀀스의 인스턴스는 x축과 평행한 행에서 진행한다. 또한, y 위치층의 윈도우 시퀀스 인스턴스는 y 축을 따라 진행하는 윈도우 시퀀스를 생성하기 위해 순환적으로 시프팅된다. x 및 y 위치층은 위치 코드의 각각의 엘리먼트가 두 층으로부터의 정보를 포함하도록 서로 겹쳐진다. 위치 코드는, 네 방향 중 하나에서 격자점으로부터 옮겨진 도트인, 정보 코드의 전술한 실시예에서 사용된 바와 같이 동일한 심볼에 의해 그래픽적으로 코딩될 수 있다. 이러한 위치 코드에서, 소정의 6*6 심볼 세트는 유일한 절대적 위치를 한정할 것이다.
위치 코드는 소위 "플로팅 타입"이다. 이는 예정된 수의 심볼 ? 여기서는 6*6 심볼 ? 을 포함하는 소정의 임의의 부분 영역이 위치를 한정하고, 임의의 부분 영역에서 적어도 일부의 심볼이 하나의 위치 이상의 코딩에 기여한다는 것을 의미한다. 다른 시점으로 말하면, 만일 임의의 부분 영역이 격자 공간을 상, 하, 좌, 우로 이동하면, 새로운 위치가 결과로 임의의 부분 영역에서 심볼에 의해 한정될 것이다.
위치 코드는 x 위치층 또는 y 위치층에서 어떠한 순환 시프트도 정보 코드의 위치층에 대해 사용된 간격 [-4,4]에 속하지 않는 방식으로 형성된다. 따라서, 정보 코드 및 위치 코드는 순환 시프트에 의해 구별될 수 있다.
정보 코드는 대체로 한정된 수의 애플리케이션에 대해 사용될 수 있는데, 이들 중 단지 일부가 명세서에 설명된다.
정보 코드는 예컨대, 음성 스트링을 코딩하기 위해 사용될 수 있는데, 이는 사용자 유닛에 의해 디코딩되고, 사용자 유닛(2) 또는 다른 인접한 유닛에서 스피커에 의해 사용자에게 전달된 연설로 합성될 수 있다. 정보는 정보 코드를 스캐닝하는 사용자가 아닌 다른 사용자에 의해 청취될 원격 유닛으로 전송될 수 있다.
정보 코드는 음악 또는 일련의 톤을 코딩할 수 있다. 이러한 경우, 정보 코드는 예컨대, 음악 시트의 톤 상에서 겹쳐질 수 있어서, 사용자가 사용자 유닛으로 톤을 뒤따름으로써 정보 코드를 스캐닝할 때, 대응하는 톤들은 정보가 전송되는 사용자 유닛 또는 다른 유닛으로부터의 출력이다.
또다른 애플리케이션이 어린이를 위한 게임을 생성하기 위해 정보 코드를 이용할 것이다. 정보 코드는 예컨대, 사용자 유닛에 의해 뒤따를 미로로서 배열될 수도 있다. 만일 미로가 올바른 방식으로 뒤따르면, 사용자는 미로를 가로지를 때 얻어진 메시지의 형태로 피드백을 획득할 것이다. 사용자는 또한 미로에서 잘못된 회전을 했을 때 피드백을 획득할 것이다.
더욱이, 정보 코드는 예컨대, 내부 업데이트, 사용자 유닛이 상호작용하는 형태 또는 다른 문서의 배치에 대한 정보, 사용자 유닛에 의해 주어질 피드백에 대한 정보 등과 같이 사용자 유닛에 정보를 다운로딩하기 위해 사용될 수 있다.
정보 코드는 위치 코드에 의해 기록된 정보가 전송될 어드레스를 나타내기 위해 사용될 수 있다. 예컨대, 문서의 내용의 수령을 확인하기 위해 사용자에 의해 서명될 문서상의 서명 영역을 구성할 수 있다. 사용자가 위치층에서 위치 정보에 의해 기록된 전자적으로 기록된 서명을 문서에 서명하면, 데이터층에 코딩된 어드레스로 자동으로 전송된다.
도5는 도1의 펜 모양 사용자 유닛(2)의 실시예를 개략적으로 도시하는데, 이는 도1의 제품(1)에 정보 코드(7)를 디코딩하는데 사용될 수 있으며, 도1의 제품 상에 위치 코드(8)로부터 수기된 정보를 기록하기에 적합하다.
펜(2)은 이미지가 기록되는 윈도우 또는 개구부(204)를 한정하는 펜형 케이싱 또는 쉘(202)을 가진다. 케이싱은 카메라 시스템, 전자 시스템 및 전력 공급원을 포함한다.
카메라 시스템(206)은 적어도 하나의 조명 소스, 렌즈 장치 및 광 이미지 판독기(미도시)를 포함한다. 바람직하게 LED 또는 레이저 다이오드인 광원은 적외선 방사에 의해 윈도우(204)를 통해 관측될 수 있는 영역의 일부를 조명한다. 관측된 영역의 이미지는 렌즈 장치에 의해 이미지 판독기상에 투영된다. 이미지 판독기는 일반적으로 약 70-100Hz인 고정된 레이트로 2차원 CCD 또는 CMOS 검출기일 수도 있다.
센서 장치에 대한 전력 공급기는 바람직하게 배터리(208)인데, 택일적으로 메인 전원(미도시)으로 대체되거나 보충될 수 있다.
전자 시스템은 메모리 블록(212)에 접속된 제어 유닛(210)을 포함한다. 제어 유닛(210)은 전자 펜의 다양한 기능을 제어하며, CPU(중앙 처리 장치), DSP(디지털 신호 처리기) 또는 FPGA(필드 프로그램 가능한 게이트 어레이)와 같은 소정의 다른 프로그램 가능한 논리 장치 또는 택일적으로 ASIC(주문형 집적회로), 개별 아날로그 및 디지털 소자, 또는 이들의 조합으로 구현될 수 있다. 메모리 블록(212)은 바람직하게 활동 메모리(예컨대, RAM) 및 프로그램 코드 및 영구 저장 메모리(예컨대, 플래시 메모리와 같은 비휘발성 메모리)와 같은 상이한 타입의 메모리를 포함한다. 관련 소프트웨어는 메모리 블록(212)에 저장되며, 제어 유닛(210)에 의해 실행된다. 따라서, 정보 코드 및 위치 코드를 디코딩하는 소프트웨어는 메모리 블록(212)에 저장되고 제어 유닛(210)에 의해 실행될 수도 있다.
케이싱(202)은 또한 사용자가 표면에 배치될 일반 안료 기재 마킹 잉크에 의해 표면에 물리적으로 기록 또는 드로잉하게 하는 펜 포인트(214)를 포함한다. 펜 포인트(214)의 마킹 잉크는 전자 펜에서 광전자 검출과 간섭을 방지하기 위해 조명 방사에 적절하게 투명하다. 접촉 센서(216)는 펜이 적용되거나(펜 다운) 그리고/또는 들어 올려질(펜 업) 때를 검출하기 위해, 그리고 선택적으로 애플리케이션 힘의 결정을 허용하기 위해 펜 포인트(214)에 동작가능하게 접촉된다. 접촉 센서(216)의 출력에 기초하여, 카메라 시스템(206)은 펜 다운과 펜 업 사이의 이미지를 캡쳐하기 위해 제어된다.
전자 시스템은 컴퓨터, 모바일 전화, PDA, 네트워크 서버 등과 같은 근접 또는 원격 장치에 데이터의 통신을 위해 통신 인터페이스(218)를 더 포함한다. 따라서, 통신 인터페이스(218)는 유선 또는 무선 단거리 통신(예컨대, USB, RS232, 무선 송신, 적외선 송신, 초음파 송신, 유도성 결합 등)을 위한 컴포넌트, 및/또는 일반적으로 컴퓨터, 전화 또는 위성 통신 네트워크를 통해 유선 또는 무선 원격 통신을 위한 컴포넌트를 제공할 수 있다.
펜은 사용자 피드백을 위해 선택적으로 활성화된 MMI(인간-기계 인터페이스)를 포함한다. MMI는 디스플레이, 표시 램프, 진동자, 스피커 등을 포함할 수 있다.
게다가, 펜은 활성 및/또는 제어를 위한 하나 이상의 버튼을 포함할 수 있다.
사용자 유닛(2)의 전술한 실시예는 단지 예일 뿐이다. 사용자 유닛(2)은 의도된 기능에 따라 다른 형상 및 다른 구성 요소를 포함할 수 있다.
전술한 사용자 유닛(2)의 실시예는 위치 코드 상에서 움직이는 동안 펜의 위치를 연속하여 기록함으로써 도1의 제품(1) 상의 위치 코드(8)에 행해진 펜 스트로크를 전자적으로 기록하기 위해, 그리고 정보 코드(7)로부터 정보를 기록하기 위해 사용된다.
사용자 유닛(2)이 정보 코드(7)를 기록하기 위해서만 사용된다면, 사용자 유닛(2)은 상이하게 설계될 수도 있다. 이는 예컨대, 펜 포인트를 가질 필요가 없다.
사용자 유닛이 정보 코드(7)를 기록하기 위해 사용되면, 사용자는 이를 임의의 높이에서 정보 코드의 x 축을 따라 이동한다. 이동 동안, 사용자 유닛은 정보 코드의 부분 영역의 이미지를 기록한다. 부분 영역은 정보 코드의 전체 높이를 커버할 필요가 없고 그 일부를 커버하면 된다. 스캐닝 속도에 종속하여, 이미지는 스캐닝 방향에서 다소 겹쳐진 콘텐츠를 가질 것이다. 그러나 위치층으로 인해, 실질적으로 어떠한 중첩도 요구되지 않지만, 데이터층에서 윈도우 시퀀스의 모든 인스턴스의 일부는 데이터 메시지가 전체적으로 다시 캡쳐링되도록 기록될 필요가 있다.
다음으로, 하나의 이미지에서 보여진 정보 코드의 일부의 디코딩이 어떻게 실행될 지의 예가 도6을 참조하여 설명될 것이다.
디코딩은 사용자 유닛(2)에서 특히 디코딩 모듈에서 실행될 수도 있으며, 이는 정보 코드의 이미지를 수신(단계(600))한다. 이미지는 정보 코드의 부분 영역의 표현이다. 이는 예컨대, 10×10 심볼 또는 도트를 포함한다.
다음 단계(602)에서, 이미지는 상이한 도트의 값들을 결정하기 위해 프로세싱된다. 이러한 프로세싱은 x 좌표층에 대응하는 데이터층 및 y 좌표층에 대응하는 위치층을 갖는 전술한 US 제6,667,695호에 개시된 위치 코드와 관련한 대응하는 방식으로 실행될 수 있다. 따라서, 이에 대해서는 상세하게 설명하지 않을 것이다. 프로세싱이 도트의 국부화, 상관 관계 결정 및 격자의 결정을 포함할 수 있고, 두 오프셋 확률 행렬(OPM:Offset Probability Matrices)을 초래할 수 있다는 것으로 충분한데, 하나는 위치층의 이미지화된 부분에 대응하고, 다른 하나는 데이터층의 이미지화된 부분에 대응한다. OPM.s는 각각의 도트 및 각각의 값에 대해, 도트가 그 값을 표현하는 확률을 나타낸다. 이러한 단계가 어떻게 행해지는지에 대한 더욱 구체적인 설명은 예컨대, US 제2003/0053699호, US 제2003/0189664호, US 제2003/0118233호, US 제2002/0044138호, US 제6,667,695호, US 제6,732,927호, US 제2003/0122855호, US 제2003/0128194호에서 발견할 수 있으며, 이들 모두는 본 발명의 양수인에게 양도되었다.
정보 코드의 이미지는 메인 시퀀스의 코딩된 서브 시퀀스를 포함한다. 길이 6인 각각의 서브 시퀀스는 메인 시퀀스에 예정된 위치를 갖는다. 이러한 위치는 서브 시퀀스의 시퀀스 값을 구성한다. OPM.s가 구축될 때, 이미지에서 보여지는 상이한 서브 시퀀스들의 시퀀스 값은 메인 시퀀스에 대한 테이블 룩-업 또는 상관에 의해 결정될 수 있다. 시퀀스 값은 만일 올바른 회전으로부터 0, 90, 180, 270도 회전되면 사용자 유닛(2)에게 동일하게 보여지는 정보 코드의 회전을 결정하는데 사용될 수 있다. 특히, 회전은 모든 네 개의 회전(0, 90, 180 및 270도)에서 위치층 및 데이터층으로부터 8비트 서브 시퀀스를 고찰하고, 메인 시퀀스(M)에서 어떠한 8비트 서브 시퀀스도 반전 또는 역전으로 보이지 않는 사실을 이용함으로써 결정될 수도 있다. 회전이 이러한 타입의 코드에 대해 어떻게 결정될 수 있는지에 대한 더욱 상세한 설명은 US 제6,732,927호에서 알 수 있다.
사용자가 사용자 유닛을 정보 코드상에서 거의 직선을 따라 이동하는 것으로 간주되기 때문에, 회전은 모든 이미지에 대해 결정될 수도 있지만 이것이 반드시 필요한 것은 아니다. 따라서, 회전을 결정하는 단계는 도6의 흐름도에 포함되지 않는다.
일단 올바른 회전이 결정되면, 어떤 층이 위치층이고 어떤 층이 데이터층인지가 명확하다는 것을 알 수 있을 것이다.
시퀀스 값이 결정되면, 사용자 유닛은 시퀀스 값들의 차를 결정함으로써 위치층의, 이미지에서 보여지는, 서브 시퀀스들 사이의 상대적인 순환 시프트를 결정한다. 위치층의 메인 시퀀스의 두 인접한 인스턴스에서 대응하는 수평 위치로부터 취해진 길이 6의 두 서브 시퀀스의 두 시퀀스 값들 사이의 차는 두 인접한 인스턴스의 순환 시프트 사이의 차, 즉 상대적인 순환 시프트와 동일하다는 것을 나타낸다.
이하의 단계(606)에서, 위치층의 하나 이상의 상대적인 순환 시프트가 위치 코드에 사용된 상대적인 순환 시프트의 그룹 또는 정보 코드에 사용된 상대적인 순환 시프트의 그룹에 속하는 지가 체크된다. 상대적인 시프트의 예정된 수가 제1 그룹에 속한다면, 코드는 위치 코드이며, 위치 코드에 대해 사용된 디코딩 알고리즘에 따라 디코딩이 진행(단계 (608))한다. 그렇지 않으면, 코드는 정보 코드이며, 프로세싱은 단계(610)로 진행하는데, 여기서 디코딩된 상대적인 순환 시프트에 대응하는 룰러 값(Ri) 및 글로벌 정보 코드 값(
Figure 112007007934655-pct00009
)은 등식(1)에 따라 결정된다.
7개의 글로벌 정보 코드 값(
Figure 112007007934655-pct00010
)은 글로벌 정보 코드 파라미터를 한정하며, 이는 제1 이미지에서 정보 코드가 디코딩되자마자 사용자 유닛에 의해 사용될 수 있다.
4개의 룰러값(Ri)은 y 좌표를 함께 한정하는데, 이는 룰러 시퀀스가 윈도우4를 갖는 윈도우 시퀀스이기 때문이며, 결론적으로 룰러 시퀀스의 길이4의 서브 시퀀스가 알려지자마자, 룰러 시퀀스(R)에서의 위치, 결국 y축을 따르는 위치가 알려진다. 일단 y 좌표가 구축되면, x 좌표는 x 좌표에서 진행하는 메인 시퀀스의 길이6의 서브 시퀀스로부터 결정될 수 있는데, 이는 상이한 행(상이한 y 좌표)의 메인 시퀀스의 시프트가 알려지기 때문이다(단계(612)).
다음으로, 단계(614)에서, 데이터 층으로부터 데이터가 결정된다. y 좌표가 알려지기 때문에, 데이터층의 이미지화된 부분 영역에서 상이한 서브 시퀀스의 시프트가 결정될 수 있다. 시프트는 타임 스탬핑될 수 있고, 대응하는 x 위치에 따라 사용자 유닛의 메모리에 데이터 구조에 저장될 수 있다(단계(616)). 만일 시프트가 10 또는 11이면, 구분 영역이 검출되었음을 나타내는 신호가 도7에 도시된 프로세스와 같이 다른 모듈 또는 프로세스로 출력될 수도 있다.
사용자 유닛이 이미지에서 모든 정보 또는 수용가능한 품질의 이미지의 해당 부분의 적어도 모든 정보를 디코딩하려고 하는 것을 주목해야 한다.
다음 이미지가 대응하는 방식으로 프로세싱된다. 그러나 다음 이미지는 전술한 이미지와 부분적인 중첩으로 기록될 수도 있으며, 그 크기는 사용자가 정보 코드 상에서 사용자 유닛을 얼마나 신속하게 이동시키는지에 달려있다. 따라서, x 축의 소정의 위치에 대해, 시프트는 이미 저장되었을 수도 있다. 중첩은 이미 저장된 시프트의 올바름을 체크하기 위해 사용될 수 있다. 또한, 이미지의 품질은 상이할 수도 있다. 최상 품질의 이미지로부터 얻어진 시프트가 선택될 수 있다. 만일 몇몇 이미지가 콘텐츠를 중첩하면, 주요한 선택이 어떤 시프트가 데이터 구조에 최종적으로 저장되는지를 결정하는데 사용될 수 있다.
도7에서, 전체 정보 코드의 디코딩이 개략적으로 도시된다. 우선 단계(700)에서, 사용자 유닛이 정보 코드 위로 이동하고 각각의 이미지의 정보 코드가 전술한 바와 같이 도6을 참조하여 설명되는 동안, 정보 이미지는 사용자 유닛(2)에 의해 기록된다.
다음으로, 단계(702)에서, 정보 코드의 시작과 종료를 마킹하는 두 구분 영역이 검출되었는지가 체크된다. 만일 그렇지 않다면, 체크가 반복된다.
정보 코드의 두 구분 영역이 검출되면, 정보 코드의 모든 블록이 연속하여 기록되었는지가 체크된다(단계(704)). 타임 스탬프는 이러한 목적을 위해 사용될 수 있다. 만일 하나 이상의 블록을 누락하면, 에러 신호가 출력된다(단계(706)). 블록은 예컨대, 정보 코드가 사용자 유닛이 의도한 것보다 더 빠른 스캐닝 속도로 스캐닝되면 누락될 수도 있다. 만일 모든 블록이 올바르게 기록되면, 프로세스는 단계(708)로 진행하며, 여기서, 기록된 시프트는 헤더 데이터 및 메시지 데이터(D)로 변환되며, 헤더 데이터는 메시지 데이터(D)의 디코딩을 위해 사용된다. 다음 단계(710)에서, CRC가 체크된다. 올바르지 않다면, 에러 신호가 출력된다(단계(712)). 그렇지 않다면, 가능하게는 ECC가 사용된 경우 언패킹된 후, 디코딩된 메시지 데이터(D)가 사용자에 대한 추가의 프로세싱 및 피드백을 위해 사용자 유닛의 다른 모듈로 보고될 수도 있다.
디코딩 프로세스의 전술한 예는 메시지 데이터(D)가 보고되기 전에 전체로서 정보 코드가 디코딩되는 것으로 간주한다. 정보 코드의 다른 타입에서, 각각의 데이터 블록에서 메시지 데이터는 블록이 전체적으로 수신되자마자 보고된다. 사용되는 것을 보고하는 메시지 데이터의 종류는 예컨대, 글로벌 정보 코드 파라미터에 의해 지시된다.
정보 코드의 디코딩은 사용자 유닛에서 발생하거나 정보 코드의 이미지가 전송되는 다른 유닛에서 발생할 수 있다. 이는 이러한 목적을 위해 의도된 소프트웨어 또는 하드웨어 또는 이들의 조합으로 행해질 수도 있다. 디코딩 소프트웨어는 컴퓨터 판독가능 매체 상에 또는 내부적으로 컴퓨터 메모리에, 예컨대, 사용자 유닛(2)에서 메모리 블록(212)에 저장될 수 있다. 이는 또한 전자 캐리어 신호 상에서 운반될 수도 있다.
정보 코드의 코딩이 개략적으로 도8의 흐름도로 도시된다.
우선 정보 코드에 대한 글로벌 정보 코드 파라미터가 단계(800)에서 선택된다.
다음으로, 단계(802)에서, 위치층(20)은 등식(1)에 따라 메인 시퀀스의 인스턴스를 시프팅함으로써 예정된 메인 시퀀스(M) 및 예정된 룰러 시퀀스(R)의 도움으로 코딩된다.
이어 데이터층(21)이 코딩된다. 이 단계(804)는 등식(2)에 따른 7 순환 시 프트의 블록으로 5바이트 데이터의 그룹을 변환시키고 제1 예정된 시프트를 갖는 인스턴스로 시작 영역을 형성하기 위해 메인 시퀀스의 인스턴스를 시프팅하는 것을 포함하며, 인스턴스를 갖는 헤드 블록은 헤더 데이터에 따라 시프트를 가지며, 인스턴스를 갖는 메시지 블록은 메시지 데이터에 따라 시프트를 가지며, 인스턴스를 갖는 정지 영역은 제2 예정된 시프트를 갖는다.
끝으로, 위치층(20) 및 데이터층(21)은 예컨대, 옮겨진 도트에 의해 코딩된 정보 코드(7)에 결합된다(단계(806)). 다른 타입의 그래픽적 심볼이 상이한 값을 코딩하기 위해 상이하게 회전되는 인스턴스 슬래시, 또는 상이한 값을 코딩하기 위해 상이한 형태, 크기 또는 컬러를 갖는 다른 마크에서와 같이 사용될 수 있다. 더욱 복잡한 심볼은 예컨대, 정보 코드가 플로팅 타입이 아닌 경우 사용될 수 있다.
정보 코드는 직접 또는 추후에, 프린터에 의해 조절되고 예컨대 종이 위에 출력될 수 있는 형태로 포맷된다. 이는 또한 다른 방식으로 베이스에 적용될 수 있다.
정보 코드의 코딩은 소프트웨어 또는 하드웨어 또는 소정의 이들의 조합에서 실행될 수 있다. 디코딩 소프트웨어에 대해 전술한 사항은 코딩 소프트웨어에 적용된다.
전술한 내용은 정보 코드의 실시예를 기술한 것이며, 이에 따라 메인 시퀀스의 인스턴스가 위치층 및 데이터층에서 상이한 방향으로 진행한다. 그러나 동일한 방향으로 진행하는 인스턴스를 고려할 수 있다. 이러한 실시예에 따라, 데이터는 데이터층의 윈도우 시퀀스의 인스턴스들 사이의 상대적인 순환 시프트들로 코딩된다. 또한, 룰러 시퀀스는 위치층의 윈도우 시퀀스의 인스턴스들 사이에서 순환 시프트들로 코딩될 것이다. 이러한 실시예에서, 정보 코드의 올바른 회전은 x 및 y 방향에서 정보 코드에 관해 결정될 수 있으며, 어떤 방향으로 메인 시퀀스의 인스턴스가 통계적 베이스로 진행하는지를 설정한다.
전술한 실시예에서, 위치층은 주기적인 63*63 위치 표면을 코딩한다. 정보 코드의 판독 방향에서 실질적으로 끝이 없을 수 있는 위치 표면을 생성하는 한 방법은 위치 표면의 상이한 주기를 구별하기 위해 추가의 위치 정보를 제공하기 위해 각각의 데이터 블록에서 하나 이상의 비트를 보유하는 것이다. 데이터 블록이 추가의 위치 정보를 포함하는 표시는 글로벌 정보 코드 파라미터에 코딩될 수 있다. 정보 코드가 판독 방향에서 비주기적 위치 정보를 포함하면, 정보 코드의 다수의 스캐닝이 허용될 수 있어서, 첫 번째 스캔에서 누락된 일부 정보가 다음 스캔에서 기록될 수 있다.
또한, 주기적 위치 표면의 경우, 다수의 스캐닝이 허용될 수 있다. 각각의 정보의 위치는 주기적인 63*63 위치 표면을 갖는 전술한 예에서 알려진 모듈로 63이다. 만일 일부 정보에 대한 택일적 위치가 존재하면, 올바른 위치는 매칭에 의해 결정될 수 있다.
전술한 실시예에서, 위치층의 상대적인 시프트는 의도된 스캐닝 방향에 수직인 위치를 나타내는 룰러 시퀀스(R) 및 글로벌 정보 파라미터 시퀀스(
Figure 112007007934655-pct00011
)를 코딩한다. 다른 실시예에서, 위치층의 상대적인 시프트는 단지 룰러 시퀀스만을 코딩할 수 있다. 또 다른 실시예에서, 상대적인 시프트는 비위치 정보만을 코딩할 수 있다. 이러한 경우, 데이터층의 데이터는 상대적인 시프트로 코딩될 수 있다.

Claims (27)

  1. 데이터를 저장하는 방법으로서,
    위치층에 제 1 차원 및 제 2 차원에 관한 위치 정보를 코딩하는 단계;
    별개의 데이터층에 임의의 비위치 데이터를 코딩하는 단계; 및
    상기 위치층 및 상기 데이터층을 베이스 상에 배열될 정보 코드로 결합시키는 단계
    를 포함하고,
    상기 위치 정보 및 상기 데이터는 모두 윈도우 시퀀스들을 사용함으로써 코딩되고, 각각의 윈도우 시퀀스는 미리 결정된 길이의 임의의 서브시퀀스가 상기 윈도우 시퀀스에서 단지 한 번만 나타나도록 하는 속성을 가지며, 상기 위치층 및 상기 데이터층은 서로 중첩되고, 상기 위치층 및 상기 데이터층으로부터의 중첩 엘리먼트들은 공통의 코드 엘리먼트에 의해 코딩되는,
    데이터를 저장하는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 데이터를 저장하는 방법은 윈도우 시퀀스의 순환적으로 시프팅된 인스턴스들의 행렬을 형성함으로써 상기 데이터층에 상기 데이터를 코딩하는 단계를 더 포함하고, 순환 시프트들의 크기는 코딩될 상기 데이터에 의존하는,
    데이터를 저장하는 방법.
  4. 제3항에 있어서,
    상기 인스턴스들의 상기 순환 시프트들에 상기 데이터를 코딩하는 단계를 더 포함하는,
    데이터를 저장하는 방법.
  5. 제1항에 있어서,
    상기 데이터를 저장하는 방법은 윈도우 시퀀스의 순환적으로 시프팅된 인스턴스들의 행렬을 형성함으로써 상기 위치층에 상기 위치 정보를 코딩하는 단계를 더 포함하고, 순환 시프트들의 크기는 코딩될 상기 위치 정보에 의존하는,
    데이터를 저장하는 방법.
  6. 제5항에 있어서,
    제 1 차원과 관련한 위치 정보는 상기 인스턴스들 사이의 상대적인 순환 시프트들로 코딩되는,
    데이터를 저장하는 방법.
  7. 제5항에 있어서,
    위치층 행렬의 상기 인스턴스들 사이의 상대적인 순환 시프트들로 룰러 윈도우 시퀀스를 코딩함으로써, 제 1 차원에 관한 위치 정보를 코딩하는 단계를 더 포함하는,
    데이터를 저장하는 방법.
  8. 제5항에 있어서,
    상기 인스턴스들 사이의 상대적인 순환 시프트들이 위치층 행렬을 형성하는데 사용되는 상기 윈도우 시퀀스의 상기 인스턴스들의 모든 가능한 상대적인 순환 시프트들의 미리결정된 서브세트에 속하도록, 상기 위치층 행렬에서 상기 윈도우 시퀀스의 상기 인스턴스들을 순환적으로 시프팅하는 단계를 더 포함하는,
    데이터를 저장하는 방법.
  9. 제1항 및 제3항 내지 제8항 중 어느 한 항에 있어서,
    상기 위치층 어디에서도 디코딩이 가능하도록 상기 위치층에 글로벌 정보 코드 파라미터를 코딩하는 단계를 더 포함하는,
    데이터를 저장하는 방법.
  10. 제5항에 있어서,
    상기 위치층 어디에서도 디코딩이 가능하도록 위치층 행렬에서 상기 윈도우 시퀀스의 상기 인스턴스들 사이의 상대적인 순환 시프트들로 글로벌 정보 코드 파라미터를 코딩하는 단계를 더 포함하는,
    데이터를 저장하는 방법.
  11. 제1항 및 제3항 내지 제8항 중 어느 한 항에 있어서,
    미리결정된 크기의 데이터층 블록들에서 상기 데이터층에 데이터를 코딩하는 단계를 더 포함하는,
    데이터를 저장하는 방법.
  12. 제3항에 있어서,
    미리결정된 고정 순환 시프트 만큼 구분 영역 내의 상기 윈도우 시퀀스의 상기 인스턴스들을 순환적으로 시프팅함으로써 상기 데이터층에 적어도 하나의 구분 영역을 코딩하는 단계를 더 포함하는,
    데이터를 저장하는 방법.
  13. 제1항 및 제3항 내지 제8항 중 어느 한 항에 있어서,
    상기 정보 코드는 1차원 정보 코드인,
    데이터를 저장하는 방법.
  14. 삭제
  15. 컴퓨터로 하여금 청구항 제1항 및 제3항 내지 제8항 중 어느 한 항에 따른 방법을 실행하게 하기 위한 프로그램 명령들을 포함하는 컴퓨터 프로그램을 저장하는,
    컴퓨터 판독가능 매체.
  16. 베이스 및 상기 베이스 상에 배열된 정보 코드를 포함하는 제품 으로서,
    상기 정보 코드는:
    제 1 차원 및 제 2 차원에 관한 위치 정보를 코딩하는 위치층; 및
    임의의 비위치 데이터를 코딩하는 별개의 데이터층
    을 포함하고,
    상기 위치 정보 및 상기 데이터는 모두 윈도우 시퀀스들을 사용함으로써 코딩되고, 각각의 윈도우 시퀀스는 미리 결정된 길이의 임의의 서브시퀀스가 상기 윈도우 시퀀스에서 단지 한 번만 나타나도록 하는 속성을 가지며, 상기 위치층 및 상기 데이터층은 서로 중첩되고, 상기 위치층 및 상기 데이터층으로부터의 중첩 엘리먼트들은 공통의 코드 엘리먼트에 의해 코딩되는,
    제품.
  17. 제16항에 있어서,
    상기 정보 코드는 윈도우 시퀀스의 순환적으로 시프팅된 인스턴스들에 의해 형성되는 적어도 하나의 행렬을 포함하고, 인접한 인스턴스들 사이의 상대적인 순환 시프트들은 상기 정보 코드의 상기 인스턴스들의 모든 가능한 상대적인 순환 시프트들의 제1 서브세트에 배타적으로 속하며,
    상기 제품은, 상기 정보 코드와 분리되고 윈도우 시퀀스의 순환적으로 시프팅된 인스턴스들에 의해 형성된 적어도 하나의 행렬을 포함하는 위치 코드를 더 포함하고, 이웃한 인스턴스들 사이의 상기 상대적인 순환 시프트들은 상기 위치 코드의 상기 윈도우 시퀀스의 상기 인스턴스들의 모든 가능한 상대적인 순환 시프트들의 제2 서브세트에 배타적으로 속하며, 상기 제1 및 제2 서브세트는 상호 배타적인,
    제품.
  18. 정보 코드를 디코딩하는 방법으로서,
    상기 정보 코드는 2개의 차원들에 관한 위치 정보를 코딩하는 위치층 및 임의의 비위치 데이터를 코딩하는 데이터층을 포함하고, 상기 위치 정보 및 상기 데이터는 모두 윈도우 시퀀스들을 사용함으로써 코딩되고, 각각의 윈도우 시퀀스는 미리 결정된 길이의 임의의 서브시퀀스가 상기 윈도우 시퀀스에서 단지 한 번만 나타나도록 하는 속성을 가지며, 상기 위치층 및 상기 데이터층은 서로 중첩되고, 상기 위치층 및 상기 데이터층으로부터의 중첩 엘리먼트들은 공통의 코드 엘리먼트에 의해 코딩되며,
    상기 디코딩하는 방법은:
    상기 정보 코드의 부분 영역의 표현을 수신하는 단계;
    상기 부분 영역에서의 상기 정보 코드를 부분 영역 위치층 및 부분 영역 데이터층으로 분리시키는 단계;
    상기 부분 영역 위치층으로부터의 2개의 차원들에 관한 위치 정보를 디코딩하는 단계; 및
    상기 부분 영역 데이터층으로부터 임의의 비위치 데이터를 디코딩하는 단계
    를 포함하는,
    정보 코드를 디코딩하는 방법.
  19. 제18항에 있어서,
    상기 데이터는 상기 부분 영역 위치층으로부터의 위치 정보를 이용함으로써 상기 부분 영역 데이터층으로부터 디코딩되는,
    정보 코드를 디코딩하는 방법.
  20. 제18항에 있어서,
    상기 데이터층은 윈도우 시퀀스의 인스턴스들의 행렬을 포함하고, 상기 인스턴스들은 순환적으로 시프팅되며,
    상기 방법은, 상기 부분 영역 데이터층과 관련된 상기 윈도우 시퀀스의 인스턴스들의 순환 시프트들을 결정함으로써 상기 데이터를 디코딩하는 단계를 더 포함하는,
    정보 코드를 디코딩하는 방법.
  21. 제20항에 있어서,
    상기 순환 시프트들은 상기 부분 영역 위치층으로부터의 위치 정보에 의해서 결정되는,
    정보 코드를 디코딩하는 방법.
  22. 제18항 내지 제21항 중 어느 한 항에 있어서,
    상기 부분 영역 위치층으로부터 디코딩된 상기 위치 정보와 관련한 상기 부분 영역 데이터층으로부터 상기 디코딩된 데이터를 저장하는 단계를 더 포함하는,
    정보 코드를 디코딩하는 방법.
  23. 제20항 또는 제21항에 있어서,
    상기 부분 영역 데이터층과 관련한 상기 윈도우 시퀀스의 인스턴스들이 구분 영역을 나타내는 예정된 순환 시프트를 가짐을 검출함으로써, 상기 수신된 부분 영역이 상기 구분 영역을 포함함을 결정하는 단계를 더 포함하는,
    정보 코드를 디코딩하는 방법.
  24. 제18항 내지 제21항 중 어느 한 항에 있어서,
    상기 위치층은 윈도우 시퀀스의 인스턴스들의 행렬을 포함하고, 상기 인스턴스들은 순환적으로 시프팅되며,
    상기 방법은, 상기 부분 영역 위치층과 관련한 상기 윈도우 시퀀스의 인스턴스들 사이의 상대적인 순환 시프트들을 결정함으로써 제1 방향과 관련한 상기 위치 정보를 디코딩하는 단계를 더 포함하는,
    정보 코드를 디코딩하는 방법.
  25. 제18항 내지 제21항 중 어느 한 항에 있어서,
    상기 위치층은 윈도우 시퀀스의 인스턴스들의 행렬을 포함하고, 상기 인스턴스들은 순환적으로 시프팅되며,
    상기 방법은, 상기 부분 영역 위치층과 관련한 상기 윈도우 시퀀스의 인스턴스들 사이의 상대적인 순환 시프트들을 결정함으로써 글로벌 정보 코드 파라미터를 디코딩하는 단계를 더 포함하는,
    정보 코드를 디코딩하는 방법.
  26. 컴퓨터로 하여금 제18항 내지 제21항 중 어느 한 항에 따른 방법을 실행하게 하기 위한 프로그램 명령들을 포함하는 컴퓨터 프로그램을 저장하는,
    컴퓨터 판독가능 매체.
  27. 정보 코드를 디코딩하기 위한 장치로서,
    상기 정보 코드는 2개의 차원들에 관한 위치 정보를 코딩하는 위치층 및 임의의 비위치 데이터를 코딩하는 데이터층을 포함하고, 상기 위치 정보 및 상기 데이터는 모두 윈도우 시퀀스들을 사용함으로써 코딩되고, 각각의 윈도우 시퀀스는 미리 결정된 길이의 임의의 서브시퀀스가 상기 윈도우 시퀀스에서 단지 한 번만 나타나도록 하는 속성을 가지며, 상기 위치층 및 상기 데이터층은 서로 중첩되고, 상기 위치층 및 상기 데이터층으로부터의 중첩 엘리먼트들은 공통의 코드 엘리먼트에 의해 코딩되며,
    상기 디코딩하기 위한 장치는, 상기 정보 코드의 부분 영역의 표현을 수신하고, 상기 부분 영역에서의 상기 정보 코드를 부분 영역 위치층 및 부분 영역 데이터층으로 분리시키며, 상기 부분 영역 위치층으로부터의 2개의 차원들에 관한 위치 정보를 디코딩하고, 그리고 상기 부분 영역 데이터층으로부터의 임의의 비위치 데이터를 디코딩하도록 배열되는 프로세서를 포함하는,
    정보 코드를 디코딩하기 위한 장치.
KR1020077001974A 2004-06-28 2005-06-23 데이터의 코딩 및 디코딩 KR101119310B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US58286104P 2004-06-28 2004-06-28
SE0401647A SE0401647D0 (sv) 2004-06-28 2004-06-28 Coding and decoding of data
SE0401647-3 2004-06-28
US60/582,861 2004-06-28
PCT/SE2005/000992 WO2006001769A1 (en) 2004-06-28 2005-06-23 Coding and decoding of data

Publications (2)

Publication Number Publication Date
KR20070036150A KR20070036150A (ko) 2007-04-02
KR101119310B1 true KR101119310B1 (ko) 2012-03-15

Family

ID=32733677

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077001974A KR101119310B1 (ko) 2004-06-28 2005-06-23 데이터의 코딩 및 디코딩

Country Status (6)

Country Link
US (1) US7950588B2 (ko)
EP (1) EP1766560A1 (ko)
KR (1) KR101119310B1 (ko)
CN (1) CN100573566C (ko)
SE (1) SE0401647D0 (ko)
WO (1) WO2006001769A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE0401687D0 (sv) 2004-06-30 2004-06-30 Anoto Ab Information management
EP2130110B1 (en) 2007-03-23 2014-10-08 Anoto AB Printing of a position-coding pattern
US8301177B2 (en) 2009-03-03 2012-10-30 Intel Corporation Efficient paging operation for femtocell deployment
US10620754B2 (en) 2010-11-22 2020-04-14 3M Innovative Properties Company Touch-sensitive device with electrodes having location pattern included therein
DE102011112232A1 (de) * 2011-09-01 2013-03-07 Heidelberger Druckmaschinen Aktiengesellschaft Verfahren und Vorrichtung zur Erzeugung eines Barcodes auf einem Substrat
US11452153B2 (en) 2012-05-01 2022-09-20 Lisnr, Inc. Pairing and gateway connection using sonic tones
EP3358811A1 (en) 2012-05-01 2018-08-08 Lisnr, Inc. Systems and methods for content delivery and management
EP2759873B1 (en) 2013-01-28 2019-06-26 Samsung Display Co., Ltd. Display device
EP2951675B1 (en) * 2013-01-30 2020-07-08 Hewlett-Packard Development Company, L.P. Method of writing data to a data-bearing medium and method of recovering said data
WO2015034510A1 (en) * 2013-09-06 2015-03-12 Hewlett-Packard Development Company, L.P. Data bearing medium
BR112017007814A2 (pt) 2014-10-15 2017-12-19 Lisnr Inc tons de sinalização inaudíveis
CN107016428A (zh) 2016-01-28 2017-08-04 阿里巴巴集团控股有限公司 一种二维码的初始化方法及装置
US11233582B2 (en) * 2016-03-25 2022-01-25 Lisnr, Inc. Local tone generation
CN108664963A (zh) * 2017-04-02 2018-10-16 田雪松 基于编码标记的编解码方法
CN108665037A (zh) * 2017-04-02 2018-10-16 田雪松 数据编码方法及装置
CN107122067B (zh) * 2017-05-04 2020-09-08 网易(杭州)网络有限公司 物理介质表面位置编解码的方法、装置和可读存储介质
US11189295B2 (en) 2017-09-28 2021-11-30 Lisnr, Inc. High bandwidth sonic tone generation
US10826623B2 (en) 2017-12-19 2020-11-03 Lisnr, Inc. Phase shift keyed signaling tone

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511762A (ja) * 1999-10-01 2003-03-25 アノト・アクティエボラーク 位置決定−演算
JP2004094907A (ja) * 2002-07-10 2004-03-25 Ricoh Co Ltd 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ131399A0 (en) 1999-06-30 1999-07-22 Silverbrook Research Pty Ltd A method and apparatus (NPAGE02)
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
JPH01288046A (ja) 1988-05-14 1989-11-20 Pioneer Electron Corp 電話番号のバーコードフォーマット
US5319181A (en) * 1992-03-16 1994-06-07 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code using CCD/CMD camera
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
JP2669575B2 (ja) 1991-04-19 1997-10-29 インターナショナル・ビジネス・マシーンズ・コーポレイション データ入力方法及び装置
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
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 自己クロッキング図形記号コード
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
EP0996083B1 (en) 1992-09-28 2003-03-26 Olympus Optical Co., Ltd. Information reproducing system for optically reading a dot code from a recording medium
US5416312A (en) * 1992-11-20 1995-05-16 Cherloc Document bearing an image or a text and provided with an indexing frame, and associated document analysis system
US5291243A (en) 1993-02-05 1994-03-01 Xerox Corporation System for electronically printing plural-color tamper-resistant documents
JP3262297B2 (ja) 1993-04-27 2002-03-04 株式会社ワコム 光学式座標入力装置
US5696403A (en) 1993-10-25 1997-12-09 Lsi Logic Corporation System having input-output drive reduction
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
JP3599776B2 (ja) 1994-05-16 2004-12-08 オリンパス株式会社 情報記録システム及び情報記録媒体
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
JPH1091746A (ja) 1996-09-10 1998-04-10 Toppan Printing Co Ltd コピー防止コードおよび印刷物
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
WO1999050736A1 (en) 1998-04-01 1999-10-07 Xerox Corporation Paper indexing of recordings
US6330976B1 (en) 1998-04-01 2001-12-18 Xerox Corporation Marking medium area with encoded identifier for producing action through network
US6571025B2 (en) 1998-05-18 2003-05-27 Olympus Optical Co., Ltd. Handheld code reader with optimal optical reading distance
AUPQ439299A0 (en) 1999-12-01 1999-12-23 Silverbrook Research Pty Ltd Interface system
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
JP4785310B2 (ja) 1999-05-28 2011-10-05 アノト アクティエボラーク 情報の記録に用いられる製品
SE516522C2 (sv) 1999-05-28 2002-01-22 Anoto Ab Positionsbestämning
DE60044458D1 (de) 1999-05-28 2010-07-08 Anoto Ab Positionsbestimmung
JP2003503905A (ja) * 1999-06-28 2003-01-28 アノト・アクティエボラーク 情報の記録
WO2001016691A1 (en) 1999-08-30 2001-03-08 Anoto Ab Notepad
ATE529820T1 (de) 1999-12-23 2011-11-15 Anoto Ab Informationsverwaltungssystem
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
SE518962C2 (sv) * 2000-03-21 2002-12-10 Anoto Ab Produkt och metod för att koda data till ett matrisformat kodningsmönster
US7072529B2 (en) 2000-03-21 2006-07-04 Anoto Ab Systems and methods for information storage
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
KR100824110B1 (ko) 2000-04-05 2008-04-21 아노토 아베 정보 조합 방법 및 시스템
US7050653B2 (en) 2000-04-05 2006-05-23 Anoto Ab Identification of virtual raster pattern
WO2001075783A1 (en) 2000-04-05 2001-10-11 Anoto Ab Identification of a virtual raster pattern
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
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
US6732927B2 (en) 2001-06-26 2004-05-11 Anoto Ab Method and device for data decoding
US7110604B2 (en) 2001-06-26 2006-09-19 Anoto Ab Processing of digital images
US7175095B2 (en) 2001-09-13 2007-02-13 Anoto Ab Coding pattern
SE520045C2 (sv) 2001-09-13 2003-05-13 Anoto Ab Kodningsmönster
US7457476B2 (en) 2001-10-03 2008-11-25 Anoto Ab Optical sensor device and a method of controlling its exposure time
US7145556B2 (en) 2001-10-29 2006-12-05 Anoto Ab Method and device for decoding a position-coding pattern
US7283676B2 (en) 2001-11-20 2007-10-16 Anoto Ab Method and device for identifying objects in digital images
SE520682C2 (sv) 2001-12-06 2003-08-12 Anoto Ab Rekonstruering av ett virtuellt raster
SE520748C2 (sv) 2001-12-27 2003-08-19 Anoto Ab Aktivering av produkter med inbäddad funktionalitet i ett informationshanteringssystem
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
WO2003107265A1 (en) 2002-06-18 2003-12-24 Anoto Ab Position-coding pattern
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
US7116840B2 (en) 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
SE0203853D0 (sv) 2002-12-23 2002-12-23 Anoto Ab Informationskod
WO2004104818A1 (en) * 2003-05-26 2004-12-02 Anoto Ip Lic Hb Method for compressinga digital representation containing a page-describing code, which is sent from a computer to a printer
JP4556705B2 (ja) * 2005-02-28 2010-10-06 富士ゼロックス株式会社 2次元座標同定装置、画像形成装置及び2次元座標同定方法
JP2008544365A (ja) 2005-06-17 2008-12-04 アノト アクティエボラーク 位置符号化されたベースのオンデマンド生成
KR101236809B1 (ko) 2005-06-17 2013-02-25 아노토 아베 위치 및 정보 코드를 결합하는 방법 및 시스템
JP4586677B2 (ja) * 2005-08-24 2010-11-24 富士ゼロックス株式会社 画像形成装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003511762A (ja) * 1999-10-01 2003-03-25 アノト・アクティエボラーク 位置決定−演算
JP2004094907A (ja) * 2002-07-10 2004-03-25 Ricoh Co Ltd 2次元コードパターン、2次元コードパターンを担持するパターン担持媒体、2次元コードパターンの生成方法、2次元コード読取装置および読取方法

Also Published As

Publication number Publication date
WO2006001769A1 (en) 2006-01-05
US7950588B2 (en) 2011-05-31
KR20070036150A (ko) 2007-04-02
SE0401647D0 (sv) 2004-06-28
CN101006455A (zh) 2007-07-25
CN100573566C (zh) 2009-12-23
US20070272750A1 (en) 2007-11-29
EP1766560A1 (en) 2007-03-28

Similar Documents

Publication Publication Date Title
KR101119310B1 (ko) 데이터의 코딩 및 디코딩
KR101236809B1 (ko) 위치 및 정보 코드를 결합하는 방법 및 시스템
JP5848464B2 (ja) 二次元コード、二次元コードの作成システムおよび解析プログラム
US7422154B2 (en) Apparatus and methods relating to image coding
CN100430873C (zh) 信息管理***及相关方法和用途
JP5048045B2 (ja) 位置コードを達成し且つ位置コードをデコーディングするための方法
JP4707395B2 (ja) 冗長な情報を含む情報コード
JP2007226678A (ja) 同定機能付き印刷物、画像生成装置、画像処理装置及びその方法
KR20130139225A (ko) 광학 펜을 이용한 절대 위치와 기타 정보용 도트 코드 패턴, 도트 코드 프린팅 방법, 및 도트 코드 읽는 방법
WO2006135329A1 (en) On demand generation of position-coded bases
JP4996461B2 (ja) データのコーディングおよび復号化
JP2012063957A (ja) 画像処理装置、識別装置、電子筆記具及びプログラム
JP2008504598A5 (ko)
JP2008299508A (ja) 位置検出装置及びプログラム
JP4985436B2 (ja) 位置検出装置及びプログラム
EP1269396B1 (en) Apparatus and methods relating to images
JP2012065124A (ja) 画像処理装置、識別装置及びプログラム
TWI401607B (zh) 編碼與解碼方法及裝置
CN108665037A (zh) 数据编码方法及装置
JP5098441B2 (ja) 画像処理装置及びプログラム
JP2008299442A (ja) 画像処理装置及びプログラム
CN108664865A (zh) 位置解码方法及装置
JP2008301120A (ja) 画像処理装置、画像生成装置、及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150123

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160129

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170126

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181113

Year of fee payment: 7

R401 Registration of restoration