KR101312830B1 - 임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법 - Google Patents

임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법 Download PDF

Info

Publication number
KR101312830B1
KR101312830B1 KR1020087003674A KR20087003674A KR101312830B1 KR 101312830 B1 KR101312830 B1 KR 101312830B1 KR 1020087003674 A KR1020087003674 A KR 1020087003674A KR 20087003674 A KR20087003674 A KR 20087003674A KR 101312830 B1 KR101312830 B1 KR 101312830B1
Authority
KR
South Korea
Prior art keywords
image
captured
printed document
type
document
Prior art date
Application number
KR1020087003674A
Other languages
English (en)
Other versions
KR20080044838A (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 KR20080044838A publication Critical patent/KR20080044838A/ko
Application granted granted Critical
Publication of KR101312830B1 publication Critical patent/KR101312830B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/17Image acquisition using hand-held instruments
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/19Image acquisition by sensing codes defining pattern positions

Landscapes

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

Abstract

인쇄된 문서로부터 캡처된 적어도 하나의 이미지(3203) 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지(3202)가 처리된다. 표면 유형 식별 모듈(surface-type-identification module)(3204)은 양쪽 유형의 이미지 둘다를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별한다. 디스플레이 표면 전처리 모듈(display-surface-preprocessing module)(3210)은 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 임베딩된 상호작용 코드 이미지(embedded-interaction-code image)(3206)를 전처리한다. 인쇄된 문서 전처리 모듈(printed document preprocessing module)(3212)은 인쇄된 문서로부터 캡처된 적어도 하나의 임베딩된 상호작용 코드 이미지(3206)를 전처리한다. 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)(3214)은 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보(3216)를 출력한다.
표면 유형 식별, 임베딩된 상호작용 코드, EIC 문서, 인코딩 공간

Description

임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법{EMBEDDED INTERACTION CODE ENABLED SURFACE TYPE IDENTIFICATION}
컴퓨터 사용자는 퍼스널 컴퓨터와 상호작용하는 방법으로서 마우스 및 키보드를 사용하는 것에 익숙해져 있다. 퍼스널 컴퓨터가 필기된 문서보다 다수의 이점을 제공하지만, 대부분의 사용자는 인쇄된 종이를 사용하여 어떤 기능을 계속 수행한다. 이들 기능 중 어떤 것은 필기된 문서를 읽는 것 및 그에 주석을 첨부하는 것을 포함한다. 주석 첨부의 경우에, 주석 첨부가 사용자에 의해 인쇄된 문서 상에 행해지기 때문에 인쇄된 문서가 더 중요한 의미를 갖는다. 그렇지만, 인쇄된 문서가 주석을 갖는 데 있어서의 어려움들 중 하나는 그 주석이 나중에 다시 문서의 전자 형태에 입력되어야만 한다는 것이다. 이렇게 하려면 최초의 사용자 또는 다른 사용자가 주석을 다 훑어보고 이를 퍼스널 컴퓨터에 입력해야만 한다. 어떤 경우에, 사용자는 주석 및 원래의 텍스트를 스캔하고, 그에 의해 새 문서를 생성한다. 이들 다수의 단계는 인쇄된 문서와 그 문서의 전자 버전 간의 상호작용을 반복하여 처리하기 어렵게 만든다. 게다가, 스캔된 이미지는 종종 수정가능하지 않다. 주석을 원래의 텍스트와 분리할 방법이 없을 수 있다. 이것으로 인해 주석을 사용하는 것이 어렵게 된다. 그에 따라, 주석을 처리하는 개선된 방법이 요망된다.
필기된 정보를 캡처하는 한가지 기법은 필기 동안에 위치가 결정될 수 있는 이미지 캡처 펜(image capturing pen)을 사용하는 것이다. 이 기능을 제공하는 한 이미지 캡처 펜은 Anoto Inc.의 Anoto 펜이다. 이 펜은 미리 정해진 패턴으로 인코딩된 종이의 이미지를 캡처하기 위해 카메라를 사용하여 동작한다. 이미지 패턴의 일례가 도 11에 도시되어 있다. 이 패턴이 종이(또는 다른 위치적으로 인코딩된 매체) 상에서의 펜의 위치를 결정하기 위해 Anoto 펜에 의해 사용된다.
이 요약은 이하에서 상세한 설명에 더 기술되는 개념들 중 선택된 것을 간단화된 형태로 소개하기 위해 제공된 것이다. 이 요약은 청구된 발명 대상의 주요 특징들 또는 필수적인 특징들을 확인하기 위한 것이 아니며 또한 청구된 발명 대상의 범위를 결정하는 보조 수단으로 사용하기 위한 것도 아니다.
인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지가 처리된다. 표면 유형 식별 모듈(surface-type-identification module)은 양쪽 유형의 이미지 둘다를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별한다. 디스플레이 표면 전처리 모듈(display-surface-preprocessing module)은 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 임베딩된 상호작용 코드 이미지(embedded-interaction-code image)를 전처리한다. 인쇄된 문서 전처리 모듈(printed document preprocessing module)은 인쇄된 문서로부터 캡처된 적어도 하나의 임베딩된 상호작용 코드 이미지를 전처리한다. 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)은 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보를 출력한다.
도 1은 본 발명의 실시예들과 관련하여 사용될 수 있는 컴퓨터의 전반적인 설명을 나타낸 도면.
도 2a 및 도 2b는 본 발명의 실시예들에 따른 이미지 캡처 시스템 및 대응하는 캡처된 이미지를 나타낸 도면.
도 3a 내지 도 3f는 본 발명의 실시예들에 따른 다양한 시퀀스(sequence) 및 폴딩(folding) 기법을 나타낸 도면.
도 4a 내지 도 4e는 본 발명의 실시예들에 따른 다양한 인코딩 시스템을 나타낸 도면.
도 5a 내지 도 5d는 도 4a 및 도 4b에 따른 인코딩 시스템과 관련된 4가지 가능한 결과 코너를 나타낸 도면.
도 6은 본 발명의 실시예들에 따른 캡처된 이미지 일부분의 회전을 나타낸 도면.
도 7은 도 4a 내지 도 4e의 코딩 시스템과 관련하여 사용되는 다양한 회전각을 나타낸 도면.
도 8은 본 발명의 실시예들에 따른 캡처된 어레이의 위치를 결정하는 프로세스를 나타낸 도면.
도 9는 본 발명의 실시예들에 따른 캡처된 이미지의 위치를 결정하는 방법을 나타낸 도면.
도 10은 본 발명의 실시예들에 따른 캡처된 이미지의 위치를 결정하는 다른 방법을 나타낸 도면.
도 11은 종래 기술에 따른 문서에서 공간을 인코딩하는 것을 나타낸 도면.
도 12는 본 발명의 실시예들에 따른 캡처된 이미지로부터 추출된 비트를 디코딩하는 흐름도.
도 13은 디스플레이 스크린으로부터 캡처된 이미지의 반전된 버전을 나타낸 도면.
도 14는 인쇄된 EIC 문서로부터 캡처된 통상적인 이미지를 나타낸 도면.
도 15는 본 발명의 다양한 실시예에 따른 이미지의 조명을 정규화하는 데 사용될 수 있는 이미지 조명 정규화의 일례를 나타낸 도면.
도 16a 및 도 16b는 도 15에 나타낸 이미지 조명 정규화 모듈의 동작을 기술하는 플로우차트.
도 17은 도 15에 나타낸 이미지 조명 정규화 모듈에 의해 처리될 수 있는 이미지의 일례를 나타낸 도면.
도 18은 이미지의 상부로부터 시작하여 이미지를 블록들로 세그먼트화(segmentation)하는 것을 나타낸 도면.
도 19는 이미지의 하부로부터 시작하여 이미지를 블록들로 세그먼트화하는 것을 나타낸 도면.
도 20은 블록의 조명을 추정하기 위해 본 발명의 다양한 실시예들에 의해 이용될 수 있는 일종의 히스토그램의 일례를 나타낸 도면.
도 21은 도 16a 및 도 16b에 기술된 동작을 사용하여 획득되는 조명값 정보를 나타낸 도면.
도 22 및 도 23은 본 발명의 다양한 실시예들에 따라 조명값 정보를 결정하는 데 보간이 사용되는 서로 다른 구역들을 나타낸 도면.
도 24는 도 16a 및 도 16b에 기술된 동작을 사용하여 도 6에 도시된 이미지에 대해 획득된 조명 분포값을 나타낸 도면.
도 25는 도 16a 및 도 16b에 기술된 동작을 사용하여 처리된 후에 도 6에 도시된 이미지가 어떻게 보이는지를 나타낸 도면.
도 26은 본 발명의 다양한 실시예들에 따른, 위치 패턴을 문서 이미지 내의 컨텐츠와 구별하는 패턴 결정 시스템을 나타낸 도면.
도 27a 및 도 27b는 도 26에 도시된 패턴 결정 시스템의 동작을 기술하는 플로우차트.
도 28은 도 27a 및 도 27b에 기술된 동작을 사용하여 식별되는 하이-콘트라스트(high-contrast) 영역을 나타낸 도면.
도 29는 본 발명의 다양한 예들에 따라 컨텐츠 조명 문턱값을 결정하는 데 사용되는 그레이-레벨 히스토그램의 일례를 나타낸 도면.
도 30은 이웃하는 픽셀들 간의 관계를 나타낸 도면.
도 31은 도 16a, 도 16b, 도 27a 및 도 27b에 기술된 동작을 사용하여 처리 된 이미지를 나타낸 도면.
도 32는 본 발명의 실시예들에 따른, 인쇄된 문서로부터 캡처된 EIC 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 EIC 이미지를 처리하는 시스템을 나타낸 도면.
도 33은 도 32의 표면 유형 식별 모듈의 일 실시예를 나타낸 도면.
도 34는 도 32의 표면 유형 식별 모듈의 대안의 실시예를 나타낸 도면.
도 35는 본 발명의 실시예들에 따른, 인쇄된 문서로부터 캡처된 EIC 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 EIC 이미지를 처리하는 단계들을 나타낸 도면.
도 36은 도 35의 표면 유형 식별 단계의 일 실시예를 나타낸 도면.
도 37은 도 35의 표면 유형 식별 단계의 대안의 실시예를 나타낸 도면.
도 38은 본 발명의 실시예들에 따른 임베딩된 상호작용 코드 지원 디스플레이를 나타낸 도면.
상기한 요약은 물론 이하의 상세한 설명은 청구된 발명과 관련하여 제한이 아닌 예로서 포함되어 있는 첨부 도면과 관련하여 읽을 때 더 잘 이해될 것이다.
이하는 읽는 사람을 위해 부제목으로 나누어져 있다. 부제목은 용어, 범용 컴퓨터, 이미지 캡처 펜, 어레이의 인코딩, 디코딩, 에러 정정, 위치 결정, 및 임베딩된 상호작용 코드 지원 표면 유형 식별을 포함한다.
용어
펜 - 잉크를 저장하는 기능을 포함하거나 포함하지 않을 수 있는 임의의 필기 도구. 어떤 예에서, 잉크 기능(ink capability)을 갖지 않는 스타일러스는 본 발명의 실시예들에 따른 펜으로서 사용될 수 있다.
카메라 - 종이 또는 임의의 다른 매체로부터 이미지를 캡처하는 이미지 캡처 시스템.
범용 컴퓨터
도 1은 본 발명의 다양한 측면들을 구현하는 데 사용될 수 있는 종래의 범용 디지털 컴퓨팅 환경의 일례의 기능 블록도이다. 도 1에서, 컴퓨터(100)는 처리 장치(110), 시스템 메모리(120), 및 시스템 메모리를 비롯한 다양한 시스템 컴포넌트를 처리 장치(110)에 연결시키는 시스템 버스(130)를 포함한다. 시스템 버스(130)는 메모리 버스 또는 메모리 컨트롤러, 주변 장치 버스 및 다양한 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스를 비롯한 몇가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(120)는 판독 전용 메모리(ROM)(140) 및 랜덤 액세스 메모리(RAM)(150)를 포함한다.
시동 중과 같은 때에 컴퓨터(100) 내의 구성요소들 간의 정보의 전송을 돕는 기본적인 루틴들을 포함하는 기본 입출력 시스템(BIOS)은 ROM(140)에 저장되어 있다. 컴퓨터(100)는 또한 하드 디스크(도시 생략)로부터 판독하고 그에 기록하는 하드 디스크 드라이브(170), 이동식 자기 디스크(190)로부터 판독하거나 그에 기록하는 자기 디스크 드라이브(180), 및 CD ROM 또는 기타 광학 매체 등의 이동식 광 디스크(192)로부터 판독하거나 그에 기록하는 광 디스크 드라이브(191)를 포함한 다. 하드 디스크 드라이브(170), 자기 디스크 드라이브(180) 및 광 디스크 드라이브(191)는 하드 디스크 드라이브 인터페이스(192), 자기 디스크 드라이브 인터페이스(193) 및 광 디스크 드라이브 인터페이스(194)에 의해 시스템 버스(130)에 각각 접속되어 있다. 이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 퍼스널 컴퓨터(100)에 대한 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터의 비휘발성 저장을 제공한다. 당업자라면, 자기 카세트, 플래쉬 메모리 카드, 디지털 비디오 디스크, 베르누이 카트리지, RAM, ROM, 기타 등등의, 컴퓨터에 의해 액세스가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독가능 매체도 역시 예시적인 운영 환경에서 사용될 수 있다는 것을 잘 알 것이다.
운영 체제(195), 하나 이상의 애플리케이션 프로그램(196), 기타 프로그램 모듈(197), 및 프로그램 데이터(198)를 비롯한 다수의 프로그램 모듈이 하드 디스크 드라이브(170), 자기 디스크(190), 광 디스크(192), ROM(140) 또는 RAM(150) 상에 저장될 수 있다. 사용자는 키보드(101) 및 포인팅 장치(102) 등의 입력 장치들을 통해 컴퓨터(100)에 명령 및 정보를 입력할 수 있다. 다른 입력 장치들(도시 생략)은 마이크, 조이스틱, 게임 패드, 위성 안테나, 스캐너, 기타 등등을 포함할 수 있다. 이들 및 다른 입력 장치들은 종종 시스템 버스에 연결되어 있는 직렬 포트 인터페이스(106)를 통해 처리 장치(110)에 접속되어 있지만, 병렬 포트, 게임 포트 또는 USB(universal serial bus) 등의 다른 인터페이스에 의해 접속될 수 있다. 게다가, 이들 장치는 적절한 인터페이스(도시 생략)를 통해 시스템 버스(130)에 직접 연결될 수 있다. 모니터(107) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(108) 등의 인터페이스를 통해 시스템 버스(130)에 접속된다. 모니터에 부가하여, 퍼스널 컴퓨터는 통상적으로 스피커 및 프린터 등의 다른 주변 출력 장치(도시 생략)를 포함한다. 양호한 실시예에서, 필기 입력을 디지털적으로 캡처하기 위해 펜 디지타이저(165) 및 부속 펜 또는 스타일러스(166)가 제공되어 있다. 펜 디지타이저(165)와 직렬 포트 간의 직접 접속이 도시되어 있지만, 실제로는, 펜 디지타이저(165)는, 공지된 바와 같이, 처리 장치(110)에 직접, 병렬 포트 또는 다른 인터페이스 및 시스템 버스(130)를 통해 연결될 수 있다. 게다가, 디지타이저(165)가 모니터(107)로부터 떨어져 도시되어 있지만, 디지타이저(165)의 사용가능한 입력 영역이 모니터(107)의 디스플레이 영역과 공존하는 것이 더 바람직하다. 게다가, 디지타이저(165)는 모니터(107)에 통합될 수 있거나 모니터(107)를 덮고 있거나(overlay)다른 방식으로 부착되어 있는 별도의 장치로서 존재할 수 있다.
컴퓨터(100)는 원격 컴퓨터(109) 등의 하나 이상의 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(109)는 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 통상의 네트워크 노드일 수 있으며, 통상적으로 컴퓨터(100)와 관련하여 상기한 구성요소들의 대부분 또는 그 전부를 포함하지만, 도 1에는 메모리 저장 장치(111)만이 도시되어 있다. 도 1에 도시된 논리적 접속은 근거리 통신망(LAN)(112) 및 원거리 통신망(WAN)(113)을 포함한다. 이러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(100)는 네트워크 인터페이스 또는 어댑터(114)를 통해 로컬 네트워크(112)에 접속되어 있다. WAN 네트워킹 환경에서 사용될 때, 퍼스널 컴퓨터(100)는 통상적으로 인터넷 등의 원거리 통신망(113)을 통해 통신을 설정하기 위한 모뎀(115) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(115)은 직렬 포트 인터페이스(106)를 통해 시스템 버스(130)에 접속되어 있다. 네트워크화된 환경에서, 퍼스널 컴퓨터(100) 또는 그의 일부분과 관련하여 나타낸 프로그램 모듈들은 원격 메모리 저장 장치에 저장될 수 있다.
도시된 네트워크 접속이 예시적인 것이며 컴퓨터들 간에 통신 링크를 설정하는 기타 기술들이 사용될 수 있다는 것을 잘 알 것이다. TCP/IP, 이더넷, FTP, HTTP, 블루투스, IEEE 802.11x, 기타 등등의 다양한 공지의 프로토콜 중 임의의 것이 존재하는 것으로 가정되며, 이 시스템은 사용자가 웹-기반 서버로부터 웹 페이지를 검색할 수 있게 해주기 위해 클라이언트-서버 구성으로 동작될 수 있다. 다양한 종래의 웹 브라우저 중 임의의 것이 웹 페이지 상에 데이터를 디스플레이하고 그 데이터를 조작하는 데 사용될 수 있다.
이미지 캡처 펜
본 발명의 측면들은 인코딩된 데이터 스트림을 이 인코딩된 데이터 스트림을 나타내는 디스플레이된 형태로 위치시키는 것을 포함한다. (예를 들어, 도 4b에서 논의되는 바와 같이, 인코딩된 데이터 스트림은 그래픽 패턴을 생성하는 데 사용된다.) 디스플레이된 형태는 인쇄된 종이(또는 다른 물리적 매체)일 수 있거나 다른 이미지 또는 일련의 이미지와 관련하여 인코딩된 데이터 스트림을 투사하는 디스플레이일 수 있다. 예를 들어, 인코딩된 데이터 스트림은 종이 상의 물리적 그래픽 이미지 또는 디스플레이된 이미지를 덮고 있는 그래픽 이미지로서 표현될 수 있거나(예를 들어, 문서의 텍스트를 나타냄), 디스플레이 스크린 상의 물리적(수정가능하지 않은) 그래픽 이미지일 수 있다(따라서, 펜에 의해 캡처된 임의의 이미지 부분이 디스플레이 스크린 상에서 위치 확인 가능하다).
이와 같이 캡처된 이미지의 위치를 결정하는 것은 종이, 매체, 또는 디스플레이 스크린과의 사용자 상호작용의 위치를 결정하는 데 사용될 수 있다. 본 발명의 어떤 측면들에서, 펜은 종이에 쓰는 잉크 펜일 수 있다. 다른 측면에서, 펜은 사용자가 컴퓨터 디스플레이의 표면 상에 쓰는 경우 스타일러스일 수 있다. 임의의 상호작용이 문서 상의 인코딩된 이미지의 정보와 함께 시스템으로 다시 제공될 수 있거나 컴퓨터 스크린 상에 디스플레이된 문서를 지원할 수 있다. 펜 또는 스타일러스가 문서를 가로질러갈 때 펜 또는 스타일러스에 있는 카메라로 이미지를 반복하여 캡처함으로써, 시스템은 사용자에 의해 제어되고 있는 스타일러스의 움직임을 추적할 수 있다. 디스플레이된 또는 인쇄된 이미지는 비어있는 또는 컨텐츠가 많은 종이와 연관된 워터마크일 수 있거나, 스크린을 덮고 있거나 스크린에 내장된 고정된 코딩(fixed coding) 또는 디스플레이된 이미지와 연관된 워터마크일 수 있다.
도 2a 및 도 2b는 카메라(203)를 갖는 펜(201)의 예시적인 일례를 나타낸 것이다. 펜(201)은 잉크 저장소를 포함하거나 포함하지 않을 수 있는 선 단(tip)(202)을 포함한다. 카메라(203)는 표면(207)으로부터 이미지(204)를 캡처한다. 펜(201)은 점선 박스(206)로 나타낸 바와 같이 부가적인 센서 및/또는 프로세서를 더 포함할 수 있다. 이들 센서 및/또는 프로세서(206)는 또한 다른 펜(201) 및/또는 퍼스널 컴퓨터로 (예를 들어, 블루투스 또는 다른 무선 프로토콜을 통해) 정보를 전송하는 기능을 포함할 수 있다.
도 2b는 카메라(203)가 보는 이미지를 나타낸 것이다. 한 예시적인 예에서, 카메라(203)의 시야(즉, 카메라의 이미지 센서의 해상도)는 32x32 픽셀이다(여기서, N=32). 이 실시예에서, 캡처된 이미지(32 픽셀 x 32 픽셀)는 카메라(203)에 의해 캡처된 표면 평면의 대략 5mm x 5mm의 영역에 대응한다. 그에 따라, 도 2b는 32 픽셀 길이 x 32 픽셀 폭의 시야를 나타낸 것이다. N의 크기는 조정가능하며, 따라서 더 큰 N은 더 높은 이미지 해상에 대응한다. 또한, 카메라(203)의 시야가 예시를 위해 정사각형으로 도시되어 있지만, 이 시야는 공지된 바와 같이 다른 형상을 포함할 수 있다.
카메라(203)에 의해 캡처된 이미지는 이미지 프레임 시퀀스 {Ii}로서 정의될 수 있으며, 여기서 Ii는 샘플링 시간 ti에 펜(201)에 의해 캡처된다. 샘플링 레이트는 시스템 구성 및 성능 요건에 따라 크거나 작을 수 있다. 캡처된 이미지 프레임의 크기는 시스템 구성 및 성능 요건에 따라 크거나 작을 수 있다.
카메라(203)에 의해 캡처된 이미지는 처리 시스템에 의해 직접 사용될 수 있거나 프리-필터링(pre-filtering)을 거칠 수 있다. 이 프리-필터링은 펜(201)에서 일어날 수 있거나 펜(201)의 외부에서(예를 들어, 퍼스널 컴퓨터에서) 일어날 수 있다.
도 2b의 이미지 크기는 32x32 픽셀이다. 각각의 인코딩 단위 크기가 3x3 픽셀인 경우, 캡처된 인코딩된 단위의 수는 대략 100 단위이다. 인코딩 단위 크기가 5x5 픽셀인 경우, 캡처된 인코딩 단위의 수는 대략 36이다.
도 2a는 또한 장소(204)로부터의 패턴의 이미지(210)가 형성되어 있는 이미지 평면(209)를 나타내고 있다. 물체 평면(207) 상의 패턴으로부터 수광되는 광이 렌즈(208)에 의해 집속된다. 렌즈(208)는 단일 렌즈(single lens) 또는 다중-부분 렌즈(multi-part lens) 시스템일 수 있지만, 여기에서는 간단함을 위해 단일 렌즈로 나타내어져 있다. 이미지 캡처 센서(211)는 이미지(210)를 캡처한다.
이미지 센서(211)는 이미지(210)를 캡처하기에 충분할 정도로 클 수 있다. 다른 대안으로서, 이미지 센서(211)는 위치(212)에 있는 펜 선단(202)의 이미지를 캡처하기에 충분히 클 수 있다. 참조를 위해, 위치(212)에 있는 이미지는 가상 펜 선단(virtual pen tip)이라고 한다. 유의할 점은 펜 선단, 렌즈(208), 및 이미지 센서(211) 간의 일정한 관계로 인해 이미지 센서(211)에 대한 가상 펜 선단 위치가 고정되어 있다는 것이다.
이하의 변환
Figure 112008011428941-pct00001
은 카메라에 의해 캡처된 이미지에서의 위치 좌표를 종이 상의 실제 이미지에서의 위치 좌표로 변환한다.
Figure 112008011428941-pct00002
필기 동안에, 펜 선단 및 종이는 동일한 평면 상에 있다. 그에 따라, 가상 펜 선단으로부터 실제 펜 선단으로의 변환도
Figure 112008011428941-pct00003
이다.
Figure 112008011428941-pct00004
변환
Figure 112008011428941-pct00005
은 어파인 변환으로서 추정될 수 있으며, 이는
Figure 112008011428941-pct00006
를 다음과 같이 근사화한다.
Figure 112008011428941-pct00007
여기서,
Figure 112008011428941-pct00008
Figure 112008011428941-pct00009
는 위치(204)에서 캡처된 패턴의 2가지 배향의 회전 및 스케일이다. 게다가, 캡처된 이미지를 종이 상의 대응하는 실제 이미지와 정합시킴으로써
Figure 112008011428941-pct00010
를 세분할 수 있다. "세분한다(refine)"는 것은 재귀적 방법(recursive method)이라고 하는 일종의 최적화 알고리즘에 의해 변환
Figure 112008011428941-pct00011
의 보다 정밀한 추정을 얻는 것을 의미한다. 재귀적 방법은 행렬
Figure 112008011428941-pct00012
를 초기값으로서 취급한다. 세분된 추정은 S와 P 간의 변환을 더 정밀하게 기술한다.
다음에, 캘리브레이션(calibration)에 의해 가상 펜 선단의 위치를 결정할 수 있다.
펜 선단(202)을 종이 상의 고정된 위치
Figure 112008011428941-pct00013
에 놓는다. 그 다음에, 펜을 기울여, 카메라(203)가 서로 다른 펜 자세(pen pose)에서의 일련의 이미지를 캡처할 수 있게 해준다. 캡처된 각각의 이미지에 대해, 변환
Figure 112008011428941-pct00014
을 획득할 수 있다. 이 변환으로부터, 가상 펜 선단의 위치
Figure 112008011428941-pct00015
를 구할 수 있다.
Figure 112008011428941-pct00016
여기서,
Figure 112008011428941-pct00017
은 (0,0)으로 초기화되고,
Figure 112008011428941-pct00018
이다.
각각의 이미지에서 구해진
Figure 112008011428941-pct00019
을 평균함으로써, 가상 펜 선단
Figure 112008011428941-pct00020
의 위치가 결정될 수 있다.
Figure 112008011428941-pct00021
을 사용하여,
Figure 112008011428941-pct00022
의 더 정확한 추정을 얻을 수 있다. 몇번의 반복 이후에, 가상 펜 선단의 정확한 위치
Figure 112008011428941-pct00023
가 결정될 수 있다.
이제 가상 펜 팁의 위치
Figure 112008011428941-pct00024
를 안다. 또한, 캡처된 이미지로부터 변환
Figure 112008011428941-pct00025
을 구할 수 있다. 마지막으로, 이 정보를 사용하여 실제 펜 선단의 위치
Figure 112008011428941-pct00026
를 결정할 수 있다.
Figure 112008011428941-pct00027
어레이의 인코딩
1차원 시퀀스를 폴딩(folding)함으로써 2차원 어레이가 구성될 수 있다. 충분히 큰 비트 수를 포함하는 2차원 어레이의 임의의 부분이 전체적인 2차원 어레이에서의 그의 위치를 결정하는데 사용될 수 있다. 그렇지만, 하나의 캡처된 이미지 또는 몇개의 캡처된 이미지로부터 위치를 결정할 필요가 있을 수 있다. 캡처된 이미지 부분이 2차원 어레이에서의 2개 이상의 위치와 연관될 가능성을 최소화하기 위해, 어레이를 생성하는 데 반복하지 않는 시퀀스가 사용될 수 있다. 생성된 시퀀스의 한 특성은 이 시퀀스가 특정의 길이(예를 들어, 윈도우 크기)에 걸쳐 반복하지 않는다는 것이다. 이하에서는 1차원 시퀀스를 생성하고 이어서 이 시퀀스를 어레이로 폴딩하는 것에 대해 기술한다.
시퀀스 구성
숫자들의 시퀀스가 인코딩 시스템의 시작점으로서 사용될 수 있다. 예를 들어, 시퀀스(또한 m-시퀀스라고도 함)는 필드
Figure 112008011428941-pct00028
내의 q-요소 세트로 표현될 수 있다. 여기서,
Figure 112008011428941-pct00029
이며, n≥1이고 p는 소수이다. 시퀀스 또는 m-시퀀스는 다항식 나눗셈(polynomial division)(이에 한정되지 않음)을 비롯한 다양한 서로 다른 기법에 의해 생성될 수 있다. 다항식 나눗셈을 사용하여, 시퀀스는 다음과 같이 정의될 수 있다.
Figure 112008011428941-pct00030
여기서,
Figure 112008011428941-pct00031
는 (qn개의 요소를 갖는) 필드
Figure 112008011428941-pct00032
내의 차수(degree) n의 원시 다항식이다.
Figure 112008011428941-pct00033
는 필드
Figure 112008011428941-pct00034
내의 차수
Figure 112008011428941-pct00035
(단,
Figure 112008011428941-pct00036
임)의 영이 아닌 다항식이다. 2 단계, 첫째, 2개의 다항식을 나누는 것(필드
Figure 112008011428941-pct00037
의 요소가 얻어짐), 및 둘째, 나머지를 x와 곱하는 것을 갖는 반복적 절차를 사용하여 시퀀스가 생성될 수 있다. 이 계산은 출력이 반복되기 시작할 때 종료한다. 이 프로세스는 Douglas W. Clark 및 Lih-Jyh Weng의 논문 "최대 및 근사-최대 시프트 레지스터 시퀀스: 효율적인 이벤트 카운터 및 용이한 이산 알고리즘(Maximal and Near-Maximal Shift Register Sequences: Efficient Event Counters and Easy Discrete Logarithms)," IEEE Transactions on Computers 43.5 (1994년 5월, 560-568 페이지)에 기술된 선형 피드백 레지스터를 사용하여 구현될 수 있다. 이 환경에서, 시퀀스의 순환 시프트(cyclical shifting)와 다항식
Figure 112008011428941-pct00038
간의 관계가 설정된다.
Figure 112008011428941-pct00039
를 순환적으로만 변경하는 것은 시퀀스를 시프트시키며, 모든 순환 시프트는 다항식
Figure 112008011428941-pct00040
에 대응한다. 결과 시퀀스의 특성들 중 하나는 시퀀스가
Figure 112008011428941-pct00041
의 주기를 가지며, 주기 내에서 폭(또는 길이) n에 걸쳐, 임의의 부분이 시퀀스 내에서 단 한번만 존재한다. 이것을 "윈도우 속성(window property)"이라고 한다. 주기
Figure 112008011428941-pct00042
는 또한 시퀀스의 길이라고도 하며, n는 시퀀스의 차수(order)라고 한다. 우리의 구현에서, q는 2로서 선택된다.
상기한 프로세스는 윈도우 특성을 갖는 시퀀스를 생성하는 데 사용될 수 있 는 다양한 프로세스 중 하나에 불과하다.
어레이 구성
(카메라에 의해 일부분이 캡처될 수 있는) 이미지를 생성하는 데 사용될 수 있는 어레이(또는 m-어레이)는 1차원 시퀀스 또는 m-시퀀스의 확장이다. A를 주기 (m1, m2)의 어레이라고 하자, 즉
Figure 112008011428941-pct00043
라고 하자.
Figure 112008011428941-pct00044
윈도우가 주기 A를 시프트될 때, 영이 아닌
Figure 112008011428941-pct00045
행렬들 모두가
Figure 112008011428941-pct00046
에 걸쳐 한번만 나타난다. 이 속성은 각각의 윈도우가 고유하다는 점에서 "윈도우 속성(window property)"이라고도 한다. 이어서, 윈도우는 주기 (m1, m2)(m1 및 m2는 어레이에 존재하는 수평 및 수직 비트 수임) 및 차수 (n1, n2)의 어레이로서 표현될 수 있다.
이진 어레이(또는 m-어레이)는 이 시퀀스를 폴딩함으로써 구성될 수 있다. 한가지 방법은 시퀀스를 획득하고 이어서 이를 m1 x m2 크기로 폴딩하는 것이며, 여기서 어레이의 길이는
Figure 112008011428941-pct00047
이다. 다른 대안으로서, 커버하고자 하는 공간의 미리 정해진 크기(예를 들어, 한 장의 종이, 30장의 종이 또는 컴퓨터 모니터의 크기)로 시작하고, 영역 (m1 x m2)을 결정하며, 이어서 이 크기를 사용하여
Figure 112008011428941-pct00048
(단,
Figure 112008011428941-pct00049
임)로 한다.
다양한 서로 다른 폴딩 기법이 사용될 수 있다. 예를 들어, 도 3a 내지 도 3c는 3가지 서로 다른 시퀀스를 보여준다. 이들 각각은 도 3d에 나타낸 어레이로 폴딩될 수 있다. 3가지 서로 다른 폴딩 방법이 도 3d에 오버레이(overlay)로서 또 도 3e 및 도 3f에 래스터 경로(raster path)로서 도시되어 있다. 우리는 도 3d에 도시된 폴딩 방법을 채택한다.
도 3d에 도시된 폴딩 방법을 생성하기 위해, 길이 L 및 차수 n의 시퀀스
Figure 112008011428941-pct00050
를 생성한다. 그 다음에, 어레이의 각각의 비트가 수학식 1로 나타낸 바와 같이 계산되게 함으로써 크기
Figure 112008011428941-pct00051
의 어레이
Figure 112008011428941-pct00052
(단,
Figure 112008011428941-pct00053
이고
Figure 112008011428941-pct00054
임)가 시퀀스
Figure 112008011428941-pct00055
로부터 생성된다.
Figure 112008011428941-pct00056
Figure 112008011428941-pct00057
, 단
이 폴딩 방법은 다른 대안으로서 어레이의 대각선 상에 시퀀스를 배치하고 모서리(edge)에 도달할 때 반대쪽 모서리로부터 계속하는 것으로 표현될 수 있다.
도 4a는 도 3d의 어레이를 인코딩하는 데 사용될 수 있는 인코딩 기법의 샘플을 나타낸 것이다. 다른 인코딩 기법들이 사용될 수 있다는 것을 잘 알 것이다. 예를 들어, 대안의 코딩 기법이 도 11에 도시되어 있다.
도 4a를 참조하면, 제1 비트(401)(예를 들어, "1")가 흑색 잉크의 열로 표현된다. 제2 비트(402)(예를 들어, "0")가 흑색 잉크의 행으로 표현된다. 다양한 비트를 표현하기 위해 임의의 컬러 잉크가 사용될 수 있다는 것을 잘 알 것이다. 선택된 잉크의 컬러에서의 유일한 요건은 이미지 캡처 시스템에 의해 구분될 수 있 도록 매체의 배경과 상당한 콘트라스트를 제공한다는 것이다. 도 4a에서의 비트는 3x3 행렬의 셀로 표현된다. 행렬의 크기는 이미지 캡처 시스템의 크기 및 해상도에 기초하여 임의의 크기로 수정될 수 있다. 비트 0 및 1의 대안의 표현이 도 4c 내지 도 4e에 도시되어 있다. 도 4a 내지 도 4e의 샘플 인코딩에 대한 1 또는 0의 표현이 아무런 효과도 없이 전환될 수 있다는 것을 잘 알 것이다. 도 4c는 인터리빙된 구성에서 2개의 행 또는 열을 차지하는 비트 표현을 나타낸 것이다. 도 4d는 점선 형태의 행과 열로 픽셀의 대안의 구성을 나타낸 것이다. 마지막으로, 도 4e는 불규칙적인 간격 형식(예를 들어, 2개의 흑색 점과 그 뒤에 오는 하나의 비어있는 점)의 행 및 열로 픽셀 표현을 나타낸 것이다.
다시 도 4a를 참조하면, 비트가 3x3 행렬로 표현되고 이미징 시스템이 3x3 구역에서 흑색 행과 2개의 백색 행을 검출하는 경우, 0(또는 1)이 검출된다. 흑색 열과 2개의 백색 열을 갖는 이미지가 검출되는 경우, 1(또는 0)이 검출된다.
여기서, 2개 이상의 픽셀 또는 도트가 비트를 표현하는 데 사용된다. 단일의 픽셀(또는 도트)을 사용하여 비트를 표현하는 것은 취약하다. 먼지, 종이에 있는 자국(crease), 평면이 아닌 표면, 기타 등등이 데이터 단위의 단일 비트 표현을 읽는 데 어려움을 야기한다. 그렇지만, 표면 상에 어레이를 그래픽적으로 표현하기 위해 서로 다른 방법이 사용될 수 있다는 것을 잘 알 것이다. 몇몇 방법들이 도 4c 및 도 4e에 도시되어 있다. 다른 방법들도 역시 사용될 수 있다는 것을 잘 알 것이다. 공간-천이된 도트(space-shifted dot)만을 사용하는 한 방법이 도 11에 기술되어 있다.
도 4b의 그래픽 패턴(403)을 생성하기 위해 비트 스트림이 사용된다. 그래픽 패턴(403)은 12개 행 및 18개 열을 포함한다. 이들 행 및 열은 비트 표현(401, 402)을 사용하여 그래픽 표현으로 변환되는 비트 스트림에 의해 형성된다. 도 4b는 이하의 비트 표현을 갖는 것으로 볼 수 있다.
Figure 112008011428941-pct00058
디코딩
사람이 도 2a의 펜으로 쓸 때 또는 인코딩된 패턴 가까이로 펜을 이동시킬 때, 카메라가 이미지를 캡처한다. 예를 들어, 펜(201)이 종이에 대해 눌러지고 펜(201)이 종이 상의 문서를 가로질러 갈 때 펜(201)은 압력 센서를 이용할 수 있다. 이어서, 이미지가 처리되어 인코딩된 이미지의 전체 표현에 대한 캡처된 이미지의 배향을 결정하고 캡처된 이미지를 구성하는 비트를 추출한다.
인코딩된 영역 전체에 대한 캡처된 이미지의 배향의 결정을 위해, 도 5a 내지 도 5d에 도시된 4개의 인식가능한 모서리 전부가 그래픽 패턴(403)에 존재할 수 있는 것은 아니라는 것을 알 수 있다. 실제로, 정확한 배향의 경우, 도 5a에 도시된 유형의 모서리가 그래픽 패턴(403)에 존재할 수 없다. 따라서, 도 5a에 도시된 유형의 모서리가 없는 배향이 올바른 배향이다.
계속하여 도 6을 참조하면, 이미지(601)에 의해 실제로 표현되는 위치에 관하여 해석될 수 있도록 카메라(601)에 의해 캡처되는 이미지가 분석되고 그의 배향 이 결정될 수 있다. 먼저, 픽셀이 수평 및 수직으로 일렬로 정렬되도록 이미지를 회전시키는 데 필요한 각도
Figure 112008011428941-pct00059
를 결정하기 위해 이미지(601)가 검토된다. 유의할 점은 하부의 격자를 회전하여 수평 및 수직이 아닌 배열(non-horizontal and vertical arrangement)(예를 들어, 45°)로 하는 것을 비롯한 대안의 격자 정렬이 가능하다는 것이다. 수평 및 수직이 아닌 배열을 사용하면 사용자로부터 시각적 혼란(visual distraction)을 제거하는 잠재적인 이점을 제공할 수 있는데, 그 이유는 사용자가 다른 것들보다 수평 및 수직 패턴을 알아채는 경향이 있을 수 있기 때문이다. 간단함을 위해, 격자의 배향(하부의 격자의 수평 및 수직 또 임의의 다른 회전)을 총괄하여 미리 정해진 격자 배향(predefined grid orientation)이라고 한다.
그 다음에, 이미지(601)는 어느 모서리가 없는지를 결정하기 위해 분석된다. 디코딩(603) 준비가 된 이미지에 대해 이미지(601)를 회전시키는 데 필요한 양
Figure 112008011428941-pct00060
Figure 112008011428941-pct00061
+ 회전량 {어느 모서리가 없는지에 의해 정의됨})으로 도시되어 있다. 이 회전량은 도 7에 방정식으로 나타내어져 있다. 다시 도 6을 참조하면, 각도
Figure 112008011428941-pct00062
가 먼저 픽셀의 수평 및 수직(또는 다른 미리 정해진 격자 배향) 배열에 도달하기 위해 픽셀의 레이아웃에 의해 결정되고 이미지가 602에 나타낸 바와 같이 회전된다. 그 다음에 누락된 모서리를 결정하기 위해 분석이 행해지고 디코딩을 위한 이미지를 설정하기 위해 이미지(602)가 이미지(603)까지 회전된다. 여기에서, 이미지(603)가 올바른 배향을 가지도록 이미지가 반시계방향으로 90°회전되고 디코딩 을 위해 사용될 수 있다.
누락된 모서리를 고려하기 위해 이미지(601)의 회전 이전 또는 이후에 회전각
Figure 112008011428941-pct00063
이 적용될 수 있다는 것을 잘 알 것이다. 또한, 캡처된 이미지에서의 노이즈를 고려함으로써 4가지 모서리 모두가 존재할 수 있다는 것을 잘 알 것이다. 각각의 유형의 모서리의 수를 카운트할 수 있고 누락된 모서리 유형으로서 가장 적은 수를 갖는 유형을 선택할 수 있다.
마지막으로, 이미지(603) 내의 코드가 판독되고 이미지(403)를 생성하는 데 사용되는 원래의 비트 스트림과 상관된다. 이 상관은 다수의 방식으로 수행될 수 있다. 예를 들어, 이는 복원된 비트 스트림이 원래의 비트 스트림 내의 다른 비트 스트림 프래그먼트 전부와 비교되는 재귀적 방법으로 수행될 수 있다. 둘째, 예를 들어, 2개의 비트 스트림 간의 해밍 거리를 사용함으로써 복원된 비트 스트림과 원래의 비트 스트림 간에 통계적 분석이 수행될 수 있다. 원래의 비트 스트림 내에서 복원된 비트 스트림의 위치를 결정하기 위해 다양한 방법이 사용될 수 있다는 것을 잘 알 것이다.
논의하게 되는 바와 같이, EIC 패턴 분석은 이미지(603)로부터 복원된 비트를 획득한다. 복원된 비트를 가졌으면, 원래의 어레이(예를 들어, 도 4b에 도시된 것) 내에서 캡처된 이미지를 찾아낼 필요가 있다. 전체 어레이 내에서 비트 세그먼트의 위치를 결정하는 프로세스는 다수의 항목들로 복잡하다. 첫째, 캡처될 실제 비트가 모호하게 될 수 있다(예를 들어, 카메라는 원래의 코드를 모호하게 하는 필기를 갖는 이미지를 캡처할 수 있다). 둘째, 먼지, 자국, 반사, 기타 등등도 캡처된 이미지에서 에러를 야기할 수 있다. 이들 에러는 로컬화 프로세스(localization process)를 더 어렵게 만든다. 이 점에서, 이미지 캡처 시스템은 이미지로부터 추출된 비순차적 비트로 기능해야만 할 지도 모른다. 이하는 이미지로부터의 비순차적 비트로 동작하는 방법을 나타낸 것이다.
시퀀스(또는 m-시퀀스)
Figure 112008011428941-pct00064
가 멱급수
Figure 112008011428941-pct00065
(단, n은 m-시퀀스의 차수)에 대응하는 것으로 하고, 캡처된 이미지가 K 비트의
Figure 112008011428941-pct00066
Figure 112008011428941-pct00067
를 포함하며, 여기서 K≥n이고 윗첨자 t는 행렬 또는 벡터의 전치(transpose)를 나타낸다. K 비트의 위치 s는 b0가 시퀀스의 시작으로 천이되도록 하는
Figure 112008011428941-pct00068
의 순환 시프트(cyclic shift)의 횟수일 뿐이다. 이어서, 이 시프트된 시퀀스
Figure 112008011428941-pct00069
는 멱급수
Figure 112008011428941-pct00070
, 즉
Figure 112008011428941-pct00071
에 대응하며, 여기서 T는 순환 시프트 연산자(cyclic shift operator)이다. 우리는 이 s를 간접적으로 구한다. 다항식 모듈로(polynomial module)
Figure 112008011428941-pct00072
는 필드(field)를 형성한다.
Figure 112008011428941-pct00073
이 보장된다. 따라서,
Figure 112008011428941-pct00074
을 구할 수 있고 이어서 s에 대해 풀 수 있다.
관계식
Figure 112008011428941-pct00075
Figure 112008011428941-pct00076
을 의미한다. 이진 선형 방정식으로 쓰면, 수학식 2로 된다.
Figure 112008011428941-pct00077
여기서,
Figure 112008011428941-pct00078
이고,
Figure 112008011428941-pct00079
은 0-시프트에서 (n-1) 시프트까지의
Figure 112008011428941-pct00080
의 순환 시프트로 이루어진다. 이제,
Figure 112008011428941-pct00081
을 구하기 위해
Figure 112008011428941-pct00082
에서의 부족한 K 비트만이 이용가능하다.
Figure 112008011428941-pct00083
에서 bi와 b0 간의 인덱스 차이를 ki(단,
Figure 112008011428941-pct00084
임)라고 하면,
Figure 112008011428941-pct00085
의 첫번째 및 (ki+1)번째 요소(단,
Figure 112008011428941-pct00086
임)는 정확히
Figure 112008011428941-pct00087
이다.
Figure 112008011428941-pct00088
의 첫번째 및 (ki+1)번째 열(단,
Figure 112008011428941-pct00089
임)을 선택함으로써, 이하의 이진 선형 방정식이 형성된다.
Figure 112008011428941-pct00090
여기서,
Figure 112008011428941-pct00091
Figure 112008011428941-pct00092
의 n x K 부행렬(sub-matrix)이다.
Figure 112008011428941-pct00093
가 에러 없는 경우,
Figure 112008011428941-pct00094
에 대한 해는 수학식 4와 같이 표현될 수 있다.
Figure 112008011428941-pct00095
여기서,
Figure 112008011428941-pct00096
Figure 112008011428941-pct00097
의 임의의 비퇴화(non-degenerate) n x n 부행렬이고,
Figure 112008011428941-pct00098
Figure 112008011428941-pct00099
의 대응하는 부벡터(sub-vector)이다.
Figure 112008011428941-pct00100
을 알고 있는 경우,
Figure 112008011428941-pct00101
이도록 하는 s를 구하기 위해 Douglas W. Clark 및 Lih-Jyh Weng의 "최대 및 근사-최대 시프트 레지스터 시퀀스: 효율적인 이벤트 카운터 및 용이한 이산 알고리즘(Maximal and Near-Maximal Shift Register Sequences: Efficient Event Counters and Easy Discrete Logarithms)," IEEE Transactions on Computers 43.5 (1994년 5월, 560-568 페이지)가 주목한 바와 같이 Pohlig-Hellman-Silver 알고리즘을 사용할 수 있다.
행렬
Figure 112008011428941-pct00102
(n x L의 크기를 가짐, 여기서 L = 2n -1)가 클 수 있기 때문에, 행렬
Figure 112008011428941-pct00103
전체를 저장하는 것을 피해야 한다. 사실, 이상의 프로세스에서 알 수 있는 바와 같이, 인덱스 차이 ki를 갖는 추출된 비트가 주어진 경우,
Figure 112008011428941-pct00104
의 첫번째 및 (ki+1)번째 열만이 계산과 관련이 있다. 캡처된 이미지의 크기가 주어진 경우, 이러한 ki의 선택은 아주 제한된 것이다. 따라서, 계산에 관여될 수 있는 그 열들만을 구하면 된다. 이러한 열들의 총 수는 L보다 훨씬 더 작다(단, L = 2n-1은 m-시퀀스의 길이임).
에러 정정
Figure 112008011428941-pct00105
에 에러가 존재하는 경우,
Figure 112008011428941-pct00106
의 해가 더 복잡해진다. 에러 정정을 갖는 종래의 디코딩 방법이 즉시 적용될 수 없는데, 그 이유는 캡처된 비트와 연관된 행 렬
Figure 112008011428941-pct00107
이 캡처된 이미지마다 변할 수 있기 때문이다.
우리는 확률적(stochastic) 방법을 채택한다.
Figure 112008011428941-pct00108
에 있는 에러 비트의 수
Figure 112008011428941-pct00109
가 K와 비교하여 비교적 작다고 가정하면,
Figure 112008011428941-pct00110
의 K 비트로부터 올바른 n 비트를 선택하고 의 대응하는 부행렬
Figure 112008011428941-pct00112
이 비퇴화(non-degenerate)일 확률이 높다.
선택된 n 비트가 모두 올바른 경우,
Figure 112008011428941-pct00113
Figure 112008011428941-pct00114
간의 해밍 거리 또는
Figure 112008011428941-pct00115
과 연관된 에러 비트의 수가 최소로 되어야만 하며, 여기서
Figure 112008011428941-pct00116
은 수학식 4를 통해 계산된다. 이 프로세스를 몇번 반복하면, 최소의 에러 비트가 얻어지는 올바른
Figure 112008011428941-pct00117
이 구해질 수 있는 가능성이 있다.
최소 수의 에러 비트와 연관되어 있는
Figure 112008011428941-pct00118
이 단지 하나만 있는 경우, 이는 올바른 해로 간주된다. 그렇지 않은 경우, 최소 수의 에러 비트와 연관되어 있는
Figure 112008011428941-pct00119
이 2개 이상 있는 경우,
Figure 112008011428941-pct00120
Figure 112008011428941-pct00121
에 의해 발생된 코드의 에러 정정 능력을 초과할 확률이 높고 디코딩 프로세스는 실패한다. 이어서, 시스템은 계속하여 그 다음 캡처된 이미지를 처리할 수 있다. 다른 구현에서, 펜의 이전의 위치들에 관한 정보가 고려될 수 있다. 즉, 각각의 캡처된 이미지에 대해, 펜이 그 다음에 예상될 수 있는 목적지 영역이 식별될 수 있다. 예를 들어, 사용자가 카메라에 의한 2개의 이미지 캡처 사이에서 펜을 들지 않은 경우, 제2 이미지 캡처에 의해 결정되는 펜의 위치가 제1 위치로부터 그다시 멀리 떨어져 있지 않을 것이다.
Figure 112008011428941-pct00122
로부터 계산된 위치 s가 로컬 제약조건을 만족시키는지, 즉 그 위치가 지정된 목적지 영역 내에 있는지를 알아보기 위해, 최소 수의 에러 비트와 연관되어 있는 각각의
Figure 112008011428941-pct00123
이 검사될 수 있다.
위치 s가 로컬 제약조건을 만족시키는 경우, 어레이 내의 추출된 비트의 X, Y 위치가 반환된다. 그렇지 않은 경우, 디코딩 프로세스가 실패한다.
도 8은 캡처된 이미지의 시퀀스(또는 m-시퀀스)에서의 위치를 결정하는 데 사용될 수 있는 프로세스를 나타낸 것이다. 먼저, 단계(801)에서, 캡처된 이미지와 관련된 데이터 스트림이 수신된다. 단계(802)에서, 대응하는 열이
Figure 112008011428941-pct00124
로부터 추출되고 행렬
Figure 112008011428941-pct00125
이 구성된다.
단계(803)에서, 행렬
Figure 112008011428941-pct00126
으로부터 n개의 독립적인 열 벡터가 랜덤하게 선택되고, 벡터
Figure 112008011428941-pct00127
이 수학식 4를 풂으로써 결정된다. 단계(804)에서 이 프로세스는 Q번(예를 들어, 100번) 수행된다. 루프 횟수의 결정은 섹션 루프 횟수 계산에서 논의된다.
단계(805)에서,
Figure 112008011428941-pct00128
이 그의 연관된 에러 비트 수에 따라 정렬(sort)된다. 이 정렬은 기술 분야에 공지된 다양한 정렬 알고리즘을 사용하여 행해질 수 있다. 예를 들어, 선택 정렬 알고리즘(selection sorting algorithm)이 사용될 수 있다. 선택 정렬 알고리즘은 횟수 Q가 크기 않을 때 유익하다. 그렇지만, Q가 커지면, 더 많은 수의 항목을 더 효율적으로 처리하는 다른 정렬 알고리즘(예를 들어, 병합 정렬(merge sort))이 사용될 수 있다.
이어서, 시스템은 단계(806)에서 다수의
Figure 112008011428941-pct00129
이 최소 수의 에러 비트와 연관되 어 있는지를 검사함으로써 에러 정정이 성공적으로 수행되었는지를 결정한다. '예'인 경우, 단계(809)에서 에러가 반환되며, 이는 디코딩 프로세스가 실패하였음을 나타낸다. '아니오'인 경우, 단계(807)에서, 예를 들어, Pohig-Hellman-Silver 알고리즘을 사용하여 시퀀스(또는 m-시퀀스)에서의 추출된 비트의 위치 s가 계산된다.
그 다음에, 어레이에서의 (X,Y) 위치가 x = s mod m1 및 y = s mod m2로서 계산되고, 단계(808)에서, 그 결과가 반환된다.
위치 결정
도 9는 펜 선단의 위치를 결정하는 프로세스를 나타낸 것이다. 입력은 카메라에 의해 캡처된 이미지이고, 출력은 펜 선단의 위치 좌표일 수 있다. 또한, 출력은 캡처된 이미지의 회전 각도 등의 기타 정보를 포함할 수 있다(또는 포함하지 않을 수 있다).
단계(901)에서, 이미지가 카메라로부터 수신된다. 그 다음에, 수신된 이미지가 선택에 따라서는 밝은 픽셀과 어두운 픽셀 간의 콘트라스트, 기타 등등을 조정하기 위해 단계(902)에서 전처리된다(단계(902)의 점선 외곽선으로 나타냄).
그 다음에, 단계(903)에서, 이미지 내의 비트 스트림을 결정하기 위해 이미지가 분석된다.
그 다음에, 단계(904)에서, n 비트가 여러번 비트 스트림으로부터 랜덤하게 선택되고, 원래의 시퀀스(또는 m-시퀀스) 내에서의 수신된 비트 스트림의 위치가 결정된다.
마지막으로, 단계(904)에서 캡처된 이미지의 위치가 결정되었으면, 단계(905)에서 펜 선단의 위치가 결정될 수 있다.
도 10은 단계(903, 904)에 관한 더 많은 상세를 제공하며, 캡처된 이미지 내에서 비트 스트림을 추출하는 방법을 나타낸 것이다. 먼저, 단계(1001)에서 카메라로부터 이미지가 수신된다. 이 이미지는 이어서 선택에 따라서는 단계(1002)에서 이미지 전처리를 거칠 수 있다(단계(1002)의 점선 외곽선으로 나타냄). 단계(1003)에서, 패턴이 추출된다. 여기서, 패턴의 배향 및 각도
Figure 112008011428941-pct00130
를 구하기 위해 다양한 라인들 상의 픽셀들이 추출될 수 있다.
그 다음에, 단계(1004)에서 아래에 있는 격자선을 결정하기 위해 수신된 이미지가 분석된다. 단계(1005)에서 격자선이 구해지면, 단계(1006)에서 패턴으로부터 코드가 추출된다. 단계(1007)에서 코드가 디코딩되고, 단계(1008)에서 펜 선단의 위치가 결정된다. 단계(1005)에서 격자선이 발견되지 않은 경우, 단계(1009)에서 에러가 반환된다.
향상된 디코딩 및 에러 정정 알고리즘의 개요
도 12에 나타낸 본 발명의 일 실시예에서, 캡처된 이미지(캡처된 어레이에 대응함)로부터의 추출된 비트(1201) 및 목적지 영역이 주어지면, m-어레이 디코딩 및 에러 정정 프로세스의 변형이 X,Y 위치를 디코딩한다. 도 12는 이 향상된 방법의 프로세스(1200)의 흐름도를 나타낸 것이다. 프로세스(1200)는 2개의 컴포넌트(1251, 1253)를 포함한다.
한번 디코딩( Decode Once ). 컴포넌트(1251)는 3개의 부분을 포함한다.
Figure 112008011428941-pct00131
랜덤 비트 선택: 추출된 비트(1201)의 서브셋을 랜덤하게 선택한다(단계 1203).
Figure 112008011428941-pct00132
이 서브셋을 디코딩한다(단계 1205).
Figure 112008011428941-pct00133
로컬 제약조건을 갖는 X,Y 위치를 결정한다(단계 1209).
스마트 비트 선택을 갖는 디코딩( Decoding with Smart Bit Selection ). 컴포넌트(1253)는 4개의 부분을 포함한다.
Figure 112008011428941-pct00134
스마트 비트 선택: 추출된 비트의 다른 서브셋을 선택한다(단계 1217).
Figure 112008011428941-pct00135
이 서브셋을 디코딩한다(단계 1219).
Figure 112008011428941-pct00136
단계(1217) 및 단계(1219)의 반복 횟수(루프 횟수)를 조정한다(단계 1221).
Figure 112008011428941-pct00137
로컬 제약조건을 갖는 X,Y 위치를 결정한다(단계 1225).
본 발명의 실시예는 비트를 선택하고 루프 반복 횟수를 조정하며 프로세스(1200)에 제공되는 로컬 제약조건에 따라 X,Y 위치(위치 좌표)를 결정하기 위해 신중한 전략을 이용한다. 컴포넌트(1251, 1253) 둘다에서, 단계(1205, 1219)("한번 디코딩")는 수학식 4를 이용하여
Figure 112008011428941-pct00138
을 계산한다.
Figure 112008011428941-pct00139
가 디코딩된 비트라고 하자, 즉 다음과 같다고 하자.
Figure 112008011428941-pct00140
Figure 112008011428941-pct00141
Figure 112008011428941-pct00142
간의 차이가
Figure 112008011428941-pct00143
과 연관된 에러 비트이다.
도 12는 본 발명의 실시예들에 따라 캡처된 이미지로부터 추출된 비트(1201)를 디코딩하는 프로세스(1200)의 흐름도를 나타낸 것이다. 프로세스(1200)는 컴포넌트(1251, 1253)를 포함한다. 컴포넌트(1251)는 캡처된 이미지(캡처된 어레이에 대응함)와 연관되어 있는 추출된 비트(1201)(K 비트를 포함함)를 획득한다. 단계(1203)에서, 추출된 비트(1201)로부터 n 비트가 랜덤하게 선택된다. 단계(1205)에서, 프로세스(1200)는 한번 디코딩하고
Figure 112008011428941-pct00144
을 계산한다. 단계(1207)에서, 프로세스(1200)는
Figure 112008011428941-pct00145
에 대해 에러 비트가 검출되는지를 결정한다. 단계(1207)에서 에러 비트가 없는 것으로 결정하는 경우, 단계(1209)에서 캡처된 어레이의 위치의 X,Y 좌표가 결정된다. 단계(1211)에서, X,Y 좌표가 로컬 제약조건을 만족시키는 경우, 즉 좌표가 목적지 영역 내에 있는 경우, 단계(1213)에서 프로세스(1200)는 X,Y 위치를 (다른 프로세스 또는 사용자 인터페이스 등에) 제공한다. 그렇지 않은 경우, 단계(1215)가 실패 표시를 제공한다.
단계(1207)가
Figure 112008011428941-pct00146
에서 에러 비트를 검출하는 경우, 에러 비트로 디코딩하기 위해 컴포넌트(1253)가 실행된다. 단계(1217)는 추출된 비트(1201)로부터 다른 일련의 n 비트(단계(1203)에서 선택된 n 비트와 적어도 1 비트 서로 다름)를 선택한다. 단계(1221, 1223)는 추출된 비트를 디코딩하는 데 필요한 반복 횟수(루프 횟수)를 결정한다. 단계(1225)는 단계(1210)에서 획득된 어느 후보가 로컬 제약조건을 만족시키는지를 테스트함으로써 캡처된 어레이의 위치를 결정한다. 단계(1217- 1225)에 대해 더 상세히 논의한다.
스마트 비트 선택
단계(1203)는 추출된 비트(1201)(K 비트를 가짐)로부터 n 비트를 랜덤하게 선택하고,
Figure 112008011428941-pct00147
에 대해 푼다. 수학식 5를 사용하여, 디코딩된 비트가 계산될 수 있다.
Figure 112008011428941-pct00148
라고 하고, 여기서
Figure 112008011428941-pct00149
Figure 112008011428941-pct00150
의 k번째 비트이고,
Figure 112008011428941-pct00151
Figure 112008011428941-pct00152
이며, 즉 B1은 디코딩된 결과가 원래의 비트와 동일한 비트이고,
Figure 112008011428941-pct00153
는 디코딩된 결과가 원래의 비트와 다른 비트이며,
Figure 112008011428941-pct00154
Figure 112008011428941-pct00155
는 이들 비트의 대응하는 인덱스이다. 임의의 n개의 독립적인 비트가 B1으로부터 선택될 때 동일한
Figure 112008011428941-pct00156
가 획득된다는 것을 잘 알 것이다. 따라서, 그 다음 n 비트가 주의깊게 선택되지 않으면, 선택된 비트가 B1의 서브셋이고 따라서 동일한
Figure 112008011428941-pct00157
가 획득될 수 있다.
이러한 상황을 피하기 위해, 단계(1217)는 이하의 절차에 따라 그 다음 n 비트를 선택한다.
비트 배열(1351)에 대응하는 도 13에 나타낸 바와 같이, 적어도 1 비트를
Figure 112008011428941-pct00158
(1303)로부터 선택하고 나머지 비트를 B1(1301) 및
Figure 112008011428941-pct00159
(1303)로부터 랜덤하게 선택한다.
프로세스(1200)는 이어서
Figure 112008011428941-pct00160
를 풀고
Figure 112008011428941-pct00161
를 계산함으로써 B2(1305, 1309) 및
Figure 112008011428941-pct00162
(1307, 1311)를 구한다.
단계 1을 반복한다. 그 다음 n 비트를 선택할 때, 모든
Figure 112008011428941-pct00163
여기서 x는 현재의 루프 횟수임)에 대해, 적어도 하나의 비트가
Figure 112008011428941-pct00164
로부터 선택된다. 이 반복은 이러한 비트 서브셋이 선택될 수 없을 때 또는 루프 횟수에 도달될 때 종료한다.
루프 횟수 계산
에러 정정 컴포넌트(1253)에서, 각각의 루프 이후에 요구되는 반복 횟수(루프 횟수)가 조정된다. 루프 횟수는 예상된 에러율에 의해 결정된다. 선택된 n 비트 전부가 정확하지 않을 예상된 에러율
Figure 112008011428941-pct00165
은 다음과 같다.
Figure 112008011428941-pct00166
여기서,
Figure 112008011428941-pct00167
는 루프 횟수를 나타내고 상수로 초기화되며, K는 캡처된 어레이로부터 추출된 비트의 수이고,
Figure 112008011428941-pct00168
는 프로세스(1200)의 반복 동안에 일어나는 에러 비트의 최소수를 나타내며, n은 m-어레이의 차수이고,
Figure 112008011428941-pct00169
는 K 비트로부터 n 비트가 선택되는 조합의 수를 나타낸다.
이 실시예에서, 우리는
Figure 112008011428941-pct00170
Figure 112008011428941-pct00171
보다 작기를 원한다. 수학식 6과 관련하여, 수학식 7이 얻어진다.
Figure 112008011428941-pct00172
루프 횟수를 조정하면 에러 정정을 위해 필요한 프로세스(1253)의 반복 횟수를 상당히 감소시킬 수 있다.
로컬 제약조건을 갖는 X,Y 위치를 결정
단계(1209, 1255)에서, 디코딩된 위치는 목적지 영역 내에 있어야만 한다. 이 목적지 영역은 알고리즘에의 입력이고, 이는 다양한 크기를 갖고 다양한 장소에 있거나 서로 다른 응용에 따라 간단히 m-어레이 전체가 될 수 있다. 보통, 이는 애플리케이션에 의해 예측된다. 예를 들어, 이전의 위치가 결정된 경우, 기록 속도를 고려하여, 현재의 펜 선단의 목적지 영역은 이전의 위치에 가까울 것이다. 그렇지만, 펜을 든 경우, 그의 다음 위치는 어느 곳이나 될 수 있다. 따라서, 이 경우에, 목적지 영역은 m-어레이 전체가 된다. 정확한 X,Y 위치는 이하의 단계들에 의해 결정된다.
단계(1224)에서, 프로세스(1200)는 대응하는 에러 비트 수가 이하의 식보다 작은
Figure 112008011428941-pct00173
를 선택한다.
Figure 112008011428941-pct00174
여기서,
Figure 112008011428941-pct00175
는 실제 루프 횟수이고,
Figure 112008011428941-pct00176
는 이하의 식으로 계산되는 로컬 제약조건율(Local Constraint Rate)을 나타낸다.
Figure 112008011428941-pct00177
= 목적지 영역의 면적 / L
여기서 L은 m-어레이의 길이이다.
단계(1224)는 에러 비트수의 올림차순으로
Figure 112008011428941-pct00178
를 정렬한다. 단계(1225, 1211, 1212)는 이어서 대응하는 X,Y 위치가 목적지 영역 내에 있는 첫번째
Figure 112008011428941-pct00179
를 구한다. 단계(1225, 1221, 1212)는 최종적으로 결과로서 (단계(1213)를 통해) X,Y 위치를 반환하거나, (단계(1215)를 통해) 디코딩 절차가 실패했다는 표시를 반환한다.
향상된 디코딩 및 에러 정정 프로세스의 예시적인 예
예시적인 예는 컴포넌트(1251, 1253)에 의해 수행되는 프로세스(1200)를 나타낸 것이다. n=3이고, K=5이며,
Figure 112008011428941-pct00180
이 차수 n=3의 m-시퀀스인 것으로 가정하자. 그러면, 다음과 같이 된다.
Figure 112008011428941-pct00181
또한 추출된 비트
Figure 112008011428941-pct00182
(단, K=5)가 실제로 m-시퀀스의 s번째, (s+1)번째, (s+3)번째, (s+4)번째 및 (s+6)번째 비트인 것으로 가정하자(이들 수는 실제로 m-어레이 길이
Figure 112008011428941-pct00183
의 모듈러스(modulus)이다). 따라서,
Figure 112008011428941-pct00184
Figure 112008011428941-pct00185
의 0번째, 1번째, 3번째, 4번째 및 6번째 열로 이루어져 있다. m-어레이의
Figure 112008011428941-pct00186
의 X,Y 위치를 일의적으로 결정하는 수 s는
Figure 112008011428941-pct00187
를 충족시킬 것으로 예상되는
Figure 112008011428941-pct00188
를 푼 후에 계산될 수 있다.
Figure 112008011428941-pct00189
내의 가능한 에러 비트로 인해,
Figure 112008011428941-pct00190
가 완전히 충족되지 않을 수 있다.
프로세스(1200)는 이하의 절차를 이용한다.
Figure 112008011428941-pct00191
로부터 n=3 비트, 말하자면
Figure 112008011428941-pct00192
를 랜덤하게 선택한다.
Figure 112008011428941-pct00193
여기서,
Figure 112008011428941-pct00194
Figure 112008011428941-pct00195
의 0번째, 1번째 및 2번째 열로 이루어져 있다(
Figure 112008011428941-pct00196
이 n x n 행렬이고,
Figure 112008011428941-pct00197
가 1 x n 벡터이며, 따라서
Figure 112008011428941-pct00198
는 선택된 비트의 1 x n 벡터라는 것에 유의한다).
그 다음에, 디코딩된 비트가 계산된다.
Figure 112008011428941-pct00199
여기서
Figure 112008011428941-pct00200
는 n x K 행렬이고,
Figure 112008011428941-pct00201
는 1 x n 벡터이며 따라서
Figure 112008011428941-pct00202
은 1 x K 벡터이다.
Figure 112008011428941-pct00203
Figure 112008011428941-pct00204
와 동일한 경우, 즉 에러 비트가 검출되지 않은 경우, 단계(1209)는 X,Y 위치를 결정하고 단계(1211)는 디코딩된 위치가 목적지 영역 내에 있는지를 결정한다. 영역 내에 있는 경우, 디코딩이 성공적이며, 단계(1213)가 수행된다. 그렇지 않은 경우, 단계(1215)로 나타낸 바와 같이 디코딩이 실패한다.
Figure 112008011428941-pct00205
Figure 112008011428941-pct00206
와 다른 경우,
Figure 112008011428941-pct00207
내의 에러 비트가 검출되고, 컴포넌트(1253)가 수행된다. 단계(1217)는 세트 B1, 말하자면
Figure 112008011428941-pct00208
을 결정하며, 여기서 디코딩된 비트는 원래의 비트와 동일하다. 따라서,
Figure 112008011428941-pct00209
(도 13의 비트 배열(1351)에 대응함) 이다. 루프 횟수
Figure 112008011428941-pct00210
가 상수, 예를 들어, 100으로 초기화되며, 이는 응용에 따라 변할 수 있다.
Figure 112008011428941-pct00211
에 대응하는 에러 비트 수가 1이라는 것에 유의한다. 이어서, 단계(1221)는 수학식 7에 따라 루프 횟수
Figure 112008011428941-pct00212
를 갱신한다, 즉
Figure 112008011428941-pct00213
Figure 112008011428941-pct00214
이다.
그 다음에, 단계(1217)는
Figure 112008011428941-pct00215
로부터 다른 n=3 비트를 선택한다. 비트들 모두가 B1, 말하자면
Figure 112008011428941-pct00216
에 속하는 경우, 단계(1219)는 다시
Figure 112008011428941-pct00217
를 결정한다. 이러한 반복을 피하기 위해, 단계(1217)는, 예를 들어,
Figure 112008011428941-pct00218
으로부터 한 비트
Figure 112008011428941-pct00219
를 선택할 수 있고 B1으로부터 나머지 2 비트
Figure 112008011428941-pct00220
를 선택할 수 있다.
선택된 3 비트가
Figure 112008011428941-pct00221
를 형성한다. 단계(1219)는
Figure 112008011428941-pct00222
에 대해 푼다.
Figure 112008011428941-pct00223
여기서
Figure 112008011428941-pct00224
Figure 112008011428941-pct00225
의 0번째, 1번째 및 4번째 열로 이루어져 있다.
단계(1219)는
Figure 112008011428941-pct00226
를 계산한다.
Figure 112008011428941-pct00227
Figure 112008011428941-pct00228
가 동일하도록 세트 B2, 예를 들어,
Figure 112008011428941-pct00229
를 구한다. 그러면,
Figure 112008011428941-pct00230
(도 13의 비트 배열(1353) 에 대응함)이다. 단계(1221)는 수학식 7에 따라 루프 횟수
Figure 112008011428941-pct00231
를 갱신한다.
Figure 112008011428941-pct00232
와 연관된 에러 비트의 수가 2라는 것에 유의한다. 수학식 7에 대입하면,
Figure 112008011428941-pct00233
Figure 112008011428941-pct00234
이다.
다른 반복이 수행될 필요가 있기 때문에, 단계(1217)는
Figure 112008011428941-pct00235
로부터 다른 n=3 비트를 선택한다. 선택된 비트가 모두 B1 또는 B2 중 어느 한쪽에 속하는 것은 아니다. 따라서, 단계(1217)는, 예를 들어,
Figure 112008011428941-pct00236
로부터 1 비트
Figure 112008011428941-pct00237
,
Figure 112008011428941-pct00238
로부터 1 비트
Figure 112008011428941-pct00239
, 그리고 나머지 1 비트
Figure 112008011428941-pct00240
를 선택할 수 있다.
Figure 112008011428941-pct00241
의 해를 구하는 것, 비트 선택 및 루프 횟수 조정은 임의의 새로운 n=3 비트 모두가 임의의 이전의
Figure 112008011428941-pct00242
에 속하지는 않도록 이들을 선택할 수 없을 때까지 또는 최대 루프 횟수
Figure 112008011428941-pct00243
에 도달될 때까지 계속된다.
프로세스(1200)가 5개의
Figure 112008011428941-pct00244
(에러 비트 수가 각각 1, 2, 4, 3, 2에 대응함)를 계산하는 것으로 가정하자. (실제로, 이 예에서, 에러 비트 수가 2를 넘을 수 없지만, 예시적인 예는 알고리즘을 설명하기 위해 더 큰 에러 비트 수를 보여주고 있다.) 단계(1224)는
Figure 112008011428941-pct00245
들, 예를 들어,
Figure 112008011428941-pct00246
를 선택하며, 이들의 대응하는 에러 비트 수는 수학식 8에 나타낸
Figure 112008011428941-pct00247
보다 작다.
단계(1224)는 선택된 벡터들
Figure 112008011428941-pct00248
를 이들의 에러 비트 수의 올림차 순, 즉
Figure 112008011428941-pct00249
으로 정렬한다. 정렬된 후보 리스트로부터, 단계(1225, 1211, 1212)는 첫번째 벡터
Figure 112008011428941-pct00250
, 예를 들어,
Figure 112008011428941-pct00251
를 구하고, 이의 대응하는 위치는 목적지 영역 내에 있다. 이어서, 단계(1213)는 대응하는 위치를 출력한다. 위치들 중 어느 것도 목적지 영역 내에 있지 않은 경우, 단계(1215)에 나타낸 바와 같이 디코딩 프로세스는 실패한다.
임베딩된 상호작용 코드 지원 표면 유형 식별
임베딩된 상호작용 코드(embedded interaction code, EIC) 기술은 x-y 위치 데이터 및 메타데이터 둘다를, 종이, 화이트보드, 디스플레이 스크린, 기타 등등(이에 한정되지 않음)을 비롯한 다양한 표면에 임베딩하는 것을 가능하게 해주는 일종의 데이터 임베딩 및 인코딩 기술을 말한다. 디스플레이 스크린은 액정 디스플레이(LCD), 유기 발광 장치(OLED, organic light-emitting device), 플라즈마 디스플레이, 기타 등등일 수 있다.
LCD는 액체처럼 흐르고 광을 휘게 하는 막대-형상의 분자(액정)을 사용하는 디스플레이 기술이다. 전원이 공급되지 않을 때, 액정은 광을 2개의 편광 필터를 지나가게 하여 자연 배경색이 나타날 수 있게 해준다. 전원이 공급될 때, 액정은 광의 경로를 변경하여 편광판들 중 하나에서 흡수되도록 하여 교차된 편광판의 어두운 모습이 나타나게 한다.
OLED(Organic Lighti Emitting Diode라고도 함)는 통상적으로 2개의 전기적 접점(전극) 사이에 있는 일련의 유기층으로 이루어져 있는 박막 발광 장치이다. OLED는 소분자량 유기 물질 또는 폴리머-기반 물질을 사용하여 제조될 수 있다. 계층화된 물질로 구성되어 있는 LCD 및 전계 방출 디스플레이(field emission display)와 달리, OLED는 모놀리딕 장치인데, 그 이유는 각각의 층이 서로의 위에 증착되어 단일의 유닛을 생성하기 때문이다.
플라즈마 디스플레이("가스 방전 디스플레이"라고도 함)는 형광체가 발라진 작은 셀들에 이온화된 불활성 가스(통상적으로 크세논과 네온의 혼합물)로 채워져 있는 평판-스크린 기술이다. 3개의 셀이 하나의 픽셀을 이룬다(하나의 셀이 적색 형광체를 가지고, 하나는 녹색, 하나는 청색을 갖는다.). 이들 셀이 x-축 패널 및 y-축 패널 사이에 끼워져 있으며, 셀은 적당한 x 전극 및 y 전극을 충전함으로써 선택된다. 이 충전은 셀 내의 가스가 자외광을 방출하게 하고, 이는 형광체가 컬러를 방출하게 한다. 충전량이 세기를 결정하고, 서로 다른 적색, 녹색 및 청색의 세기의 조합이 필요한 모든 컬러를 생성한다.
카메라가 장착된 디지털 펜이 EIC 패턴 정보를 판독하는 데 사용될 수 있다. 다양한 유형의 표면 내에 EIC-패턴 정보를 임베딩하는 것과 연관된 서로 다른 하드웨어 구현으로 인해, 특정의 유형의 표면으로부터의 캡처된 이미지는 하나 이상의 다른 유형의 표면으로부터 캡처된 이미지들과 상당히 다르게 보일 수 있다.
디지털 펜 사용자는 임의적인 시간에 한 표면 상에서 일하다가 다른 표면 상으로 바꿀 수 있다. 이러한 시나리오를 지원하는 간단한 방법은 서로 다른 유형의 표면에 대해 서로 다른 알고리즘을 설계하고 사용자로 하여금 디지털 펜의 동작 모드를 한 표면에 대한 모드에서 다른 유형의 표면에 대한 다른 모드로 수작업으로 전환하게 하는 것이다. 그렇지만, 더 나은 방법은 사용자가 펜이 사용되고 있는 표면의 유형에 기초하여 펜의 동작 모드를 수작업으로 전환해야 할 필요가 없게 만드는 것이다. 서로 다른 유형의 표면으로부터 캡처된 이미지들로부터 임베딩된 정보를 디코딩하는 다중-모드 알고리즘이 사용될 수 있다. 다중-모드 알고리즘에 의해, 사용자가 펜 동작 모드를 수작업으로 전환할 필요없이, 하나의 디지털 펜이 인쇄된 문서 및 서로 다른 유형의 디스플레이 표면 둘다에서 작동할 수 있게 된다. 이와 같이, 다중-모드 알고리즘은 유익하게도 향상되고 더 일관된 사용자 경험을 제공한다.
도 13 및 도 14의 이미지들 간의 모습의 차이에도 불구하고, 양쪽 이미지 둘다 내의 EIC 패턴 텍스처 자체는 어떤 공통의 특성을 유지한다. 예를 들어, 양쪽 이미지 둘다에서의 EIC 패턴은 2 그룹의 똑같은 간격으로 있는 평행선으로 형성되어 있다.
다중-모드 알고리즘의 실시예는 이미지로부터의 특징들을 사용하여 특정의 이미지가 디스플레이 표면으로부터 캡처되었는지 인쇄된 문서로부터 캡처되었는지를 결정한다. 이 결정에 기초하여, 이미지는 이어서 조명-보상된 이미지 및 유효 EIC 패턴을 얻기 위해 전처리된다. 수행되는 전처리의 유형은 이미지가 디스플레이 표면으로부터 캡처되었는지 인쇄된 문서로부터 캡처되었는지에 달려 있다. 디스플레이 표면으로부터 캡처된 이미지에 대한 전처리 결과 및 인쇄된 문서로부터 캡처된 이미지에 대한 전처리 결과는 공통의 특성을 가지고 있으며, 따라서 유익하게도 동일한 코어 디코딩 알고리즘(core decoding algorithm)에 의해 처리될 수 있 다.
도 32는 본 발명의 실시예들에 따른, 인쇄된 문서로부터 캡처된 EIC 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 EIC 이미지를 처리하는 시스템을 나타낸 것이다. 표면 유형 식별 모듈(3204)은 인쇄된 문서로부터 캡처된 하나 이상의 EIC 이미지(3203) 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 하나 이상의 EIC 이미지(3202)를 입력으로서 받는다. 표면 유형 식별 모듈은 특정의 이미지가 캡처된 표면의 유형(즉, 인쇄된 문서인지 인쇄된 문서 이외의 디스플레이 표면인지)을 식별한다. 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 EIC 이미지(3202) 및 인쇄된 문서로부터 캡처된 EIC 이미지(3203)가 도 32에서 따로 도시되어 있지만, 표면 유형 식별 모듈(3204)에 의해 처리되기 이전에, 특정의 이미지가 캡처된 표면의 유형(즉, 인쇄된 문서인지 인쇄된 문서가 아닌지)은 모른다. 반면에, 디스플레이 표면으로부터 캡처된 EIC 이미지(3206)는 표면 유형 식별 모듈(3204)에 의해 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별된다. 이와 유사하게, 인쇄된 문서로부터 캡처된 EIC 이미지(3208)는 표면 유형 식별 모듈(3204)에 의해 인쇄된 문서로부터 캡처된 것으로 식별된다.
도 33은 표면 유형 식별 모듈(3204)의 일 실시예를 나타낸 것이다. 도 33의 실시예에서, 특징 벡터 발생 모듈(feature-vector generation module)(3302)은 특징-기반 표면 유형 식별 모듈(3206)에 의해 사용되는 특징 벡터(3304)를 생성한다.
도 34는 표면 유형 식별 모듈(3204)의 대안의 실시예를 나타낸 것이다. 도 34의 실시예에서, 라플라스-필터 모듈(LaPlacian-filter module)(3402)은 라플라스 필터 기반 표면 유형 식별 모듈(3206)에 의해 사용되는 필터링된 이미지(3404)를 생성한다.
표면 유형 식별 모듈(3204)이 이미지들이 캡처된 서로 다른 유형의 표면들 간을 구별할 수 있는 방법들에 대해 이하에서 보다 상세히 기술한다.
디스플레이 표면 전처리 모듈(display-surface-preprocessing module)(3210)은 (표면 유형 식별 모듈(3204)에 의해 식별되는) 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 EIC 이미지를 전처리한다. 인쇄된 문서 전처리 모듈(3212)은 (표면 유형 식별 모듈(3204)에 의해 식별되는) 인쇄된 문서로부터 캡처된 EIC 이미지를 전처리한다. 디스플레이 표면 전처리 모듈(3210) 및 인쇄된 문서 전처리 모듈(3212)에 의해 수행되는 전처리는 서로 유사하며 이에 대해 이하에서 더 상세히 기술한다.
전처리된 이미지는 디스플레이 표면 전처리 모듈(3210) 및 인쇄된 문서 전처리 모듈(3212)로부터 EIC 처리 모듈로 전달되고, 이 EIC 처리 모듈은 EIC 패턴 분석, EIC 심볼 인식, 및 EIC 디코딩을 수행하며, 이들에 대해서는 이상에서 보다 상세히 논의되었다. EIC 처리 모듈(3214)에 의해 출력되는 위치 정보(3216)는 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지에 대한 표면 정보 매핑 모듈(3218)에 입력될 수 있거나 인쇄된 문서로부터 캡처된 이미지에 대한 EIC 문서 매핑 모듈(3220)에 입력될 수 있다.
표면 정보 매핑 모듈(3220)은 표면 메타데이터 및 x-y 위치(3222)를 출력한다. 도 38을 참조하면, 본 발명의 실시예들에 따르면, 임베딩된 상호작용 코드-지 원 디스플레이(3800)는 외부 투명층(3808), 선택적인 내부 투명층(3804), 외부 투명층(3808)과 내부 투명층(3804) 사이의 선택적인 적외선 반사층(3802), 외부 투명층(3808)과 적외선 반사층(3802) 사이의 EIC 도트 패턴(3806) 및 선택적으로 외부 투명층(3808)과 적외선 반사층(3802) 또는 내부 투명층(3804) 사이의 투명 접착제(3801)를 포함한다. 외부 투명층(3808) 및 내부 투명층(3804)은 유리, 플라스틱, 또는 필름일 수 있다. EIC 도트 패턴(3806)은 외부 투명층(3808)의 내측면 상에 인쇄되거나 압착될 수 있다. EIC 도트 패턴(3806)은 임베딩된 상호작용 코드-지원 디스플레이(3800)를 식별해주는 인코딩된 표면 식별자를 포함할 수 있다. 인코딩된 표면 식별자는 임베딩된 상호작용 코드-지원 디스플레이(3800)를 일의적으로 식별해준다.
EIC 문서 매핑 모듈(3220)은 문서 메타데이터 및 x-y 위치(3224)를 출력한다. 상기한 바와 같이, 하나 이상의 표면과의 상호작용 동안에 디지털 펜의 위치를 결정하기 위해, 디지털 펜에 의해 이미지들이 캡처된다. 인쇄된 문서 상에 디지털 펜으로 쓴 잉크 스트로크를 복원하기 위해, EIC 시스템은 문서와 관련하여 펜의 위치를 알아낸다. 이것을 하기 위해, X,Y 위치 및 메타데이터가 인코딩되어 디지털 문서에 임베딩된다. X,Y 위치를 표현하기 위해 m-어레이가 사용될 수 있고 메타데이터를 표현하기 위해 다수의 m-어레이가 사용될 수 있다. 이들 다수의 m-어레이는 EIC 심볼로 인코딩될 수 있다. 각각의 EIC 심볼에서, 각각의 m-어레이로부터의 1 비트가 인코딩될 수 있다. EIC 심볼이 X,Y 위치를 나타내는 m-어레이의 비트들 대신에 EIC 심볼 어레이를 형성한다(시각적으로, EIC 심볼의 경사가 EIC 패 턴을 형성한다).
EIC 심볼 어레이는 디지털 문서의 페이지들을 포함하고 있는 대형 맵으로 생각될 수 있다. 이들 페이지에 쓰기 위해 디지털 펜이 사용될 때, 디지털 펜으로 찍은 이미지에서 EIC 심볼 어레이의 작은 세그먼트가 캡처된다. 펜의 위치를 알아내는 것은 따라서 EIC 심볼 어레이 내의 이미지에서 캡처된 (EIC 심볼 어레이의) 세그먼트의 위치를 찾는 것으로 된다. 이것은 획득된 이미지를 분석하는 것으로 행해질 수 있다.
조명을 위해 이미지들이 정규화된다. 이어서, 유효 EIC 패턴이라고도 하는 EIC 도트들의 이미지 및 문서 컨텐츠의 이미지가 식별된다. 유효 EIC 패턴 마스크 및 문서 컨텐츠 마스크는 정규화된 이미지의 어느 구역이 유효 EIC 패턴인지 및 어느 구역이 문서 컨텐츠인지를 규정한다.
이어서, 이미지 내의 유효 EIC 패턴의 특징들이 분석된다. 본 발명의 실시예들에 따르면, 디지털 펜이 평면(EIC 패턴이 인쇄되어 있는 종이 평면 등) 상에서 사용되고 평면에서 이미지(역시 평면인 것으로 가정함)로의 공간 변환이 투시 변환(perspective transform)인 것으로 가정한다. 즉, 이미지 내의 유효 EIC 패턴이 EIC 심볼 어레이에서의 격자선의 투시 변환인 격자선 상에 있어야만 한다. 투시 변환은 먼저 어파인 변환(affine transform)인 것으로 가정된다, 즉 균일한 간격으로 있는 평행선이 균일한 간격으로 평행하게 유지되지만, 수직선들이 더 이상 수직일 수 없다. 어파인 변환의 회전, 스케일링 및 병진은 이미지에서의 유효 EIC 패턴을 분석하는 것으로부터 추정된다. 이어서, 유효 EIC 패턴을 어파인 변환된 격 자선에 맞춤으로써 투시 변환이 달성된다. EIC 심볼 어레이에서이 격자선으로부터 이미지로의 투시 변환을 기술하는 호모그라피 행렬
Figure 112008011428941-pct00252
이 얻어진다.
격자선이 결정되었으면, 격자선 상의 흑색 도트가 식별된다. 흑색 도트의 위치들은 어느 격자셀이 EIC 심볼에 대응하고 어느 방향이 EIC 심볼의 올바른 배향인지를 결정하는 데 도움이 된다.
이미지에서 캡처된 EIC 심볼이 펜 회전으로 인해 회전될 수 있다. EIC 심볼이 올바른 배향에 있는 경우(즉, EIC 심볼 어레이에서 EIC 심볼과 동일하게 배향되어 있는 경우), 이미지에서의 캡처된 EIC 심볼의 세그먼트가 EIC 심볼 어레이에 대해 정합될 수 있다, 즉 EIC 심볼로부터 추출된 비트가 m-어레이에 대해 정합될 수 있다. 어느 격자셀이 EIC 심볼에 대응하는지 및 심볼의 올바른 배향을 알게 되면, 이미지에서의 캡처된 EIC 심볼이 인식된다. 이제 격자선 및 이미지의 대응하는 EIC 심볼을 포함하는 EIC 심볼 어레이의 충분히 큰 섹션을 생각해보자.
특정의 EIC 심볼 디자인 및 이미지에서의 EIC 심볼의 식별된 올바른 배향이 주어진 경우, (격자선 및 이미지의 대응하는 EIC 심볼을 포함하는) EIC 심볼 어레이의 섹션으로부터 격자로의 변환이 달성될 수 있다. 이전의 단계로부터, 격자로부터 이미지로의 투시 변환을 기술하는 호모그라피 행렬
Figure 112008011428941-pct00253
을 알게 된다.
따라서, 변환을 기술하는 호모그라피 행렬
Figure 112008011428941-pct00254
은 다음과 같이 얻어질 수 있다.
Figure 112008011428941-pct00255
호모그라피 행렬
Figure 112008011428941-pct00256
는 이미지를 포함하는 EIC 심볼 어레이의 섹션 내의 모든 점의 이미지 좌표계에서의 점으로의 변환을 규정한다. 호모그라피 행렬
Figure 112008011428941-pct00257
은 이미지 좌표계에서의 모든 점의 이미지를 포함하는 EIC 심볼 어레이의 섹션에서의 점으로의 변환을 규정한다.
이미지를 포함하는 EIC 심볼 어레이의 섹션에서의 인식된 EIC 심볼로부터, EIC 비트가 추출된다. 각각의 m-어레이에 대해, 비트 스트림이 추출된다. 임의의 비트가 m-어레이에서의 위치가 디코딩되는 비트로서 선택될 수 있다. 본 발명의 일 실시예에 따르면, 편의상, 이미지를 포함하는 EIC 심볼 어레이의 섹션의 좌측 상부 모서리를 디코딩할 위치로서 선택한다. 비트들 중 어떤 것은 알고 있고(인식된 심볼로부터 추출된 비트), 어떤 것은 모르고 있다(추출될 수 없는 비트 또는 EIC 심볼이 이미지에서 캡처되지 않음). 추출된 비트의 수가 m-어레이의 차수보다 크다면, 디코딩이 행해질 수 있다.
EIC 디코딩은
Figure 112008011428941-pct00258
를 풀어서 위치 벡터
Figure 112008011428941-pct00259
를 구하며, 여기서
Figure 112008011428941-pct00260
는 추출된 비트의 벡터이고,
Figure 112008011428941-pct00261
은 m-시퀀스를 순환 시프트하여 얻어진 계수 행렬이다. 방정식에서의 t가 전치(transpose)를 나타낸다는 것에 유의한다. m-시퀀스에서의 추출된 비트의 위치는 이산 대수(discrete logarithm)에 의해
Figure 112008011428941-pct00262
로부터 얻어질 수 있다. m-어레이에서의 추출된 비트의 위치는 m-어레이가 m-시퀀스로부터 어떻게 생성되는지에 기초하여 구해진다.
메타데이터를 나타내는 m-어레이로부터 획득된 위치는 메타데이터를 계산하는 데 사용된다. 메타데이터는 X,Y 위치를 표현하는 것과 동일한 m-어레이를 사용하여 인코딩될 수 있지만 메타데이터의 값에 따라 시프트될 수 있다. 따라서, X,Y 위치 및 메타데이터를 각각 나타내는 2개의 m-어레이로부터 얻어진 위치가 서로 다르다. 그렇지만, 이 2개의 위치 간의 차이(또는 거리)가 동일하고, 메타데이터의 값이다. 문서 ID 등의 전역적 메타데이터를 인코딩하는 데 다수의 m-어레이가 사용되는 경우, 문서 ID를 얻기 위해 다수의 m-어레이 각각으로부터의 메타데이터의 값이 결합될 수 있다.
X,Y 위치를 나타내는 m-어레이로부터 구한 위치가 EIC 심볼 어레이에서의 좌표이다.
잉크 스트로크를 복원하기 위해, EIC 심볼 에러에에서의 펜 선단의 위치를 찾아낸다. 이것을 하기 위해, 이미지 센서 평면 상에서의 실제 펜 선단의 이미지인 "가상 펜 선단(virtual pen tip)"의 개념을 사용한다. 이미지 센서 평면 상에서의 가상 펜 선단의 위치가 캘리브레이션을 통해 얻어질 수 있다. 이미지 센서 평면 상에서의 가상 펜 선단의 위치는 이미지 좌표계에서의 펜 선단의 위치이다. 따라서, 호모그라피 행렬
Figure 112008011428941-pct00263
을 사용하여, X',Y' 좌표계에서의 펜 선단의 위치를 구할 수 있다.
X',Y' 좌표계에서의 펜 선단의 위치 및 EIC 심볼 어레이에서의 CX'Y'의 좌표 가 주어지면, 이 둘을 합함으로써 EIC 심볼 어레이에서의 펜 선단의 위치가 구해질 수 있다. 잉크 스트로크에 대해 캡처된 일련의 이미지를 사용하여, 연속적으로 디코딩된 각각의 이미지로부터, EIC 심볼 어레이에서의 펜 선단의 위치가 구해진다. 이들 위치는 필터링되고 보간되며 평활화되어 잉크 스트로크를 생성한다.
문서 ID를 사용하여, 대응하는 디지털 문서가 구해질 수 있다. EIC 심볼 어레이가 문서의 각각의 페이지에 어떻게 할당되는지를 알게 된다. 따라서, 문서 페이지에서의 펜 선단의 위치는 EIC 심볼 어레이에서의 페이지의 좌측 상부 모서리의 위치를 EIC 심볼 어레이에서의 펜 선단의 위치로부터 감산하여 구해질 수 있다. 이와 같이, 잉크 스트로크가 문서 페이지에 연계된다. 인쇄된 문서 상에 디지털 펜으로 쓰여진 잉크 스트로크는 이제 대응하는 전자 문서에서 복원된다.
임베딩된 상호작용 코드 패턴이 디스플레이 스크린의 표면 내에 임베딩될 수 있다. 통상의 잉크젯/레이저젯 프린터가 인쇄된 문서 상에 EIC 패턴을 임베딩하는 데 사용될 수 있다. 도 13은 디스플레이 스크린으로부터 캡처된 이미지의 반전된 버전이다. 도면에서 블랙 쉐이딩의 사용을 금지하는 특허청 규칙을 따르기 위해, 원래의 이미지 대신에, 이 반전된 버전이 도시되어 있다. 또한, 이 규칙을 따르기 위해, 도 13의 흑색 영역으로 나타나는 원래의 캡처된 이미지 내의 과잉 노출된(즉, 백색) 영역이 (백색 타원(1300)을 통해) 수정(redact)되었다. 도 14는 인쇄된 EIC 문서로부터 캡처된 통상적인 이미지를 나타낸 것이다. 디스플레이 스크린으로부터의 원래의 캡처된 이미지와 도 14는 상당히 다르게 보이며, 디스플레이 스크린으로부터 캡처된 원래의 이미지에는 과잉 노출 영역이 있고, 디스플레이 스크 린으로부터 캡처된 원래의 이미지의 배경의 그레이 레벨은 EIC 패턴 픽셀의 그레이 레벨보다 작으며, 도 13에 도시된 반전된 이미지에 대해서는 그 정반대이다.
캡처된 이미지로부터 특징이 추출될 수 있고 이미지 유형(즉, 이미지가 캡처된 표면 유형)과 관련하여 결정을 하기 위해 선형 분류자가 사용될 수 있다.
표면 유형 식별
특징 정의
도 14의 이미지의 그레이 레벨 분포가 도 13의 그레이 레벨 분포보다 더 균일하다는 것이 명백하다. 이 특징을 나타내기 위해 벡터
Figure 112008011428941-pct00264
를 정의한다.
Figure 112008011428941-pct00265
의 계산은 2 단계를 필요로 한다.
첫번째 단계는 이미지의 수평 및 수직 투영을 생성하는 것이다. 이미지 I의 수평 및 수직 투영 벡터
Figure 112008011428941-pct00266
Figure 112008011428941-pct00267
Figure 112008011428941-pct00268
Figure 112008011428941-pct00269
로서 계산하며, 여기서 I(x,y)는 이미지에서의 픽셀 (x,y)의 그레이 레벨이고, w 및 h는 각각 이미지의 폭 및 높이이다.
둘째,
Figure 112008011428941-pct00270
에 대한 투영 피크 "폭"을 구한다. 수평 및 수직 투영 벡터에서 2가지 유형의 이미지의 피크 "폭"인
Figure 112008011428941-pct00271
, 즉 이하의 방정식을 만족시키는
Figure 112008011428941-pct00272
를 정의한다.
Figure 112013035010647-pct00420
Figure 112013035010647-pct00421
여기서
Figure 112008011428941-pct00274
는 전체 이미지의 그레이 레벨 합산이고,
Figure 112008011428941-pct00275
는 상수값이며, 한 구현에서
Figure 112008011428941-pct00276
이고,
Figure 112008011428941-pct00277
Figure 112008011428941-pct00278
는 수직 및 수평 투영 벡터의 중심으로서 다음과 같이 정의된다.
Figure 112008011428941-pct00279
선형 분류자(linear classifier)
기지의 유형의 2 x N(N은 N > 1000 등의 비교적 큰 수이어야만 함)개 이미지(N개의 이미지는 종이로부터 캡처되고 나머지 N개는 디스플레이 표면으로부터 캡처됨)가 주어진 경우,
Figure 112008011428941-pct00280
은 종이로부터 캡처된 이미지의 특징 벡터이고
Figure 112008011428941-pct00281
은 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터인 것으로 가정한다. 2가지 유형의 벡터를 분리시키기 위해 Fisher 선형 분류자 등의 선형 분류자가 사용될 수 있다, 즉 최적의 가중치 W 및 문턱값
Figure 112008011428941-pct00282
Figure 112008011428941-pct00283
Figure 112008011428941-pct00284
에 기초하여 계산될 수 있다. W 및
Figure 112008011428941-pct00285
는 캡처된 이미지의 유형을 실시간으로 결정하는 데 사용될 수 있다.
미지의 유형을 갖는 이미지의 경우, 특징 벡터가 V일 때,
Figure 112008011428941-pct00286
인 경우 그 이미지가 종이로부터 캡처된 이미지인 것으로 식별되고, 그렇지 않은 경우, 그 이미지가 디스플레이 표면으로부터 캡처된 이미지인 것으로 식별된다.
적당한 선형 분류자에 대한 더 많은 정보를 위해서는, R.O. Duda 및 P.E. Hart의 "패턴 분류 및 장면 분석(Pattern Classification and Scene Analysis)" New York: Wiley-Interscience(1973년) 및 b: R.A. Fisher의 "분류 문제에 다수의 대책을 사용(The Use of Multiple Measurements in Taxonomic Problems)" Annals of Eugenics, vol. 7, part II, pp. 179-188(1936년)을 참조하기 바란다.
본 발명의 일 실시예에 따르면, 표면 유형은 이미지를 처리하는 데 라플라스 디렉티브 필터(Laplacian directive filter)를 사용하는 대안의 방식으로 결정될 수 있다.
적당한 라플라스 연산자(Laplacian operator)는 다음과 같다.
Figure 112008011428941-pct00287
이미지 I가 위에 제공된 이 라플라스 연산자로 필터링되는 것으로 가정하며, 필터링된 이미지 I1는 x=0 또는 x=w-l 또는 y=0 또는 y=h-l인 경우 I1(x,y)=0이고, 그렇지 않은 경우에는
Figure 112008011428941-pct00288
이다.
이미지 I1으로부터 2개의 숫자 N+ 및 N-를 카운트한다. N+는 I1에서의 플러스 픽셀의 수이고, N-는 I1에서의 마이너스 픽셀의 수이다.
도 13의 반전과 같은 이미지의 경우(즉, 디스플레이 표면으로부터 캡처된 이미지의 경우), N+ < N-인 반면, 인쇄된 문서로부터 캡처된 도 14와 같은 이미지의 경우, N+> N-이다. 이 정보에 기초하여, 이미지가 디스플레이 표면으로부터 또는 인쇄된 문서로부터 캡처되었는지를 결정할 수 있다.
디스플레이 표면으로부터 캡처된 이미지의 전처리
디스플레이 표면으로부터 캡처된 이미지가 먼저 역전(reverse)된다(즉, 픽셀의 그레이 레벨 값이 반전(invert)된다). 이미지 I가 I'으로 역전되는 것으로 가정하면,
Figure 112008011428941-pct00289
이다.
역전된 이미지는 이어서 인쇄된 종이 문서로부터 캡처된 이미지에 대한 전처리 알고리즘과 유사한 3개의 단계에서 추가적으로 처리되며, 이는 이하에서 더 상세히 논의한다.
조명 정규화(Illumination Nomalization)
도 15는 본 발명의 실시예들에 따른 이미지 조명 정규화 모듈(1500)의 일례를 나타낸 것이다. 이미지 조명 정규화 모듈(1500)은 이미지를, 픽셀 등의 더 작은 영역들의 블록으로 세그먼트화하는 이미지 세그먼트화 모듈(image sementation module)(1501) 및 각각의 블록의 조명을 추정하는 조명 추정 모듈(illumination estimation module)(1503)을 포함한다. 이미지 조명 정규화 모듈(1500)은 또한 영역 조명 분포 결정 모듈(area illumination distribution determination module)(1505)을 갖는다. 이 모듈은 각각의 영역에 대한 조명 분포의 이중 선형 근사화(bilinear fitting)를 수행하며, 이에 대해서는 이하에서 더 상세히 설명할 것이다. 또한, 이미지 조명 정규화 모듈(1500)은 이미지에서의 각각의 영역의 조명을 정규화하는 영역 조명 정규화 모듈(1507)을 포함한다. 이들 모듈 각각의 연산자에 대해서는 도 16a 내지 도 25를 참조하여 더 상세히 설명한다.
이제 도 16a를 참조하면, 단계(1601)에서, 이미지 세그먼트화 모듈(1501)이 카메라/펜 장치로부터 이미지를 수신한다. 도 17은 카메라/펜 장치로부터 수신될 수 있는 원시 이미지(1701)의 일례를 나타낸 것이다. 이 도면에서 알 수 있는 바와 같이, 이미지(1701)는 비교적 어두운 구역들 및 비교적 밝은 구역들을 가지며, 이는 이미지에서의 특징들을 구별하는 것을 어렵게 만든다. 예시된 실시예에서, 이미지는 100x128 픽셀이다(즉, 수직 방향으로 100 픽셀 및 수평 방향으로 128 픽셀). 그렇지만, 이미지 크기가 카메라/펜 장치(101)에 의해 이용되는 카메라에 의해 결정되고 본 발명의 다양한 실시예들이 임의의 크기의 이미지에 이용될 수 있다는 것을 잘 알 것이다.
그 다음에, 단계(1603)에서, 이미지 세그먼트화 모듈(1501)은 이미지(1701)를 영역들의 블록으로 세그먼트화한다. 예시된 예에서, 이미지 조명 정규화 모듈(1500)은 동작이 수행되는 영역으로서 픽셀을 사용한다. 그렇지만, 본 발명의 대안의 실시예들이 영역에 대해 다른 단위를 사용할 수 있다는 것을 잘 알 것이다. 예를 들어, 더 큰 이미지의 경우, 본 발명의 어떤 실시예들은 동작이 수행되는 영역으로서 4개의 인접한 픽셀들의 그룹을 사용할 수 있는 반면, 본 발명의 다른 실시예는 동작이 수행되는 영역으로서 6개, 8개, 9개, 16개 또는 임의의 다른 수의 픽셀의 그룹을 사용할 수 있다.
보다 상세하게는, 이미지 세그먼트화 모듈(1501)은, 도 18에 도시한 바와 같이, 이미지를 이미지(1701)의 상부로부터 시작하는 블록들로 세그먼트화한다. 블록(1801)은 편의상 이후부터 이 도면에 나타낸 바와 같이 인덱스 m,n에 대한 좌표값으로 식별될 수 있다. 예시된 실시예에서, 이미지 세그먼트화 모듈(1501)은 이미지(1701)를 16 픽셀 x 16 픽셀의 블록들(1801)로 세그먼트화한다. 그렇지만, 본 발명의 대안의 실시예들이 원하는 바에 따라 더 작은 또는 더 큰 픽셀 그룹으로 블록을 형성할 수 있다.
예시된 예에서 이미지(1701)가 100 픽셀의 높이를 가지고 블록(1801)이 16x16 픽셀 그룹으로 형성되기 때문에, 픽셀들이 블록(1801)으로 세그먼트화되지 않은 작은 구역(1803)이 이미지(1701)의 하부에 있다. 이하에 제공되는 상세한 설명으로부터 명백한 바와 같이, 이 불일치(discrepancy)는 조명 정규화 프로세스의 정확도를 왜곡시킬 수 있다. 따라서, 도 19에 나타낸 바와 같이, 이미지 세그먼트화 모듈(1501)은 이미지(1701)의 하부로부터 시작하는 블록들(1901)의 제2 세그먼트를 형성한다. 이 블록들(1901)은 도 19에 나타낸 바와 같이 편의상 이후부터 인 덱스(m1, n1)에 대한 좌표값으로 식별될 수 있다. 블록들(1801)에서와 같이, 블록들(1901)은 16x16 픽셀 그룹으로 형성된다.
그 다음에, 단계(1605)에서, 블록 조명 추정 모듈(1503)은 각각의 블록(1801, 1901)에 대한 조명값을 추정한다. 즉, 블록 조명 추정 모듈(1503)은 블록을 이루고 있는 각각의 개별 픽셀의 조명값에 기초하여 각각의 블록(1801, 1901)에 대한 전체적인 대표적인 조명값을 추정한다. 이미지(1701)는 흑백 이미지이고, 따라서 각각의 픽셀에 대한 조명값은 그레이 레벨 값이다. 예시된 예에서, 블록 조명 추정 모듈(1503)은 각각의 그레이 레벨에서의 블록 내의 픽셀의 수의 히스토그램을 생성함으로써 블록(1801 또는 1901)의 조명값을 추정한다.
도 20은 블록(1801 또는 1901)의 조명을 추정하기 위해 본 발명의 다양한 실시예들에 의해 사용될 수 있는 일종의 히스토그램의 일례를 나타낸 것이다. 동 도면에서 알 수 있는 바와 같이, X-축은 블록을 이루고 있는 픽셀들의 그레이 레벨에 대응한다. Y-축은 그레이 레벨을 갖는 픽셀들의 수에 대응한다. 이 히스토그램을 사용하여, 블록 조명 추정 모듈(1503)은 블록에 대한 대표적인 조명값을 추정한다. 예시된 예에서, 블록 조명 추정 모듈(1503)은 블록의 추정된 조명값에 대한 90번째 백분위수(percentile) 조명값을 식별한다. 즉, 블록 조명 추정 모듈(1503)은 블록 내의 픽셀들의 90%가 G90th보다 어두운 그레이 레벨 G90th를 식별하고 이 값을 블록의 조명값으로서 이용한다. 물론, 본 발명의 다른 실시예들은 원하는 바에 따라 블록의 조명값을 추정하기 위해 대안의 백분위수 기준을 이용할 수 있다. 또한, 본 발 명의 어떤 실시예들은 각각의 블록의 전체적인 조명을 결정하기 위해 대안의 기술들을 이용할 수 있다.
또한 예시된 예가 흑백 이미지에 관한 것이지만, 본 발명의 다양한 실시예들이 컬러 이미지를 처리하는 데 사용될 수 있다는 것을 잘 알 것이다. 이들 실시예에서, 블록 조명 추정 모듈(1503)은 이미지 내의 각각의 픽셀의 밝기 레벨에 기초하여 동작할 수 있다.
블록 조명 추정 모듈(1503)이 각각의 블록(1801, 1901)에 대한 조명값을 추정한 후에, 단계(1607)에서 영역 조명 분포 결정 모듈(1505)이 각각의 영역에 대한 조명 분포의 이중 선형 근사를 수행한다. 즉, 영역 조명 분포 결정 모듈(1505)은 영역을 둘러싸고 있는 블록들의 추정된 조명값들을 평균함으로써 영역에 대한 조명 분포값을 결정한다. 예시된 실시예에서, 영역 조명 분포 결정 모듈(1505)은 영역을 둘러싸고 있는 4개의 블록의 추정된 조명값들을 평균하지만, 본 발명의 다른 실시예들은 영역을 둘러싸고 있는 블록들의 다른 그룹의 추정된 조명값을 평균할 수 있다.
상기한 바와 같이, 블록들(1801) 중 어느 것으로도 세그먼트화되지 않는 구역(1803)이 이미지(1701)의 하부에 있다. 그에 따라, 둘러싸고 있는 블록들의 평균 조명값이 세그먼트화되지 않은 영역들의 조명값과 정확하게 관련되지 않게 된다. 따라서, 이들 구역에서의 픽셀들에 대한 조명 분포값이 블록들(1801)보다는 블록들(1901)을 사용하여 결정된다. 그에 따라, 조명 분포값이 2-단계 프로세스로 결정된다. 블록(1801) 내에 주로 있는 픽셀들(즉, 0-87의 y 좌표값을 갖는 픽셀 들)은 블록(1801)의 추정된 조명값을 사용하여 결정되는 반면, 블록(1901) 내에 주로 있는 픽셀들(즉, 88-99의 y 좌표값을 갖는 픽셀들)은 블록(1901)의 추정된 조명값을 사용하여 결정된다.
예시된 실시예에서, 각각의 픽셀 (x,y)(단, y = 0,1,...87임)에 대해, 그 픽셀의 조명 분포 D(x,y)는 다음과 같이 추정된다.
Figure 112008011428941-pct00290
여기서,
Figure 112008011428941-pct00291
이고, s는 블록의 크기이며(예시된 예에서, s=16임),
Figure 112008011428941-pct00292
이고,
Figure 112008011428941-pct00293
이며,
Figure 112008011428941-pct00294
이고,
Figure 112008011428941-pct00295
이며,
Figure 112008011428941-pct00296
이고,
Figure 112008011428941-pct00297
이며,
Figure 112008011428941-pct00298
이고,
Figure 112008011428941-pct00299
이다.
int(x)가 x보다 작거나 같은 가장 큰 정수를 반환하는 함수라는 것에 유의한다. 예를 들어, int(1.8) = 1이고, int(-1,8) = -2이다.
이 프로세스를 사용하여 픽셀의 조명 분포값을 결정하는 데 이용되는 조명값 정보가 도 21에 그래픽으로 나타내어져 있다. 이 이미지로부터 잘 알 것인 바와 같이, 어떤 픽셀들은 4개의 인접한 블록들(1801) 간에 똑같이 분포되어 있을 수 있는 임의의 구역(2101) 밖에 있다. 예를 들어, 예시된 예에서, 0-7 또는 120-127의 x 좌표값을 갖는 픽셀들 및 0-7의 y 좌표값을 갖는 픽셀들은 4개의 인접한 블록들(1801) 간에 똑같이 분포될 수 있는 임의의 구역(2101) 밖에 있다. 경계 구역에 있는 이들 픽셀의 경우, 이들의 조명 분포값을 결정하는 데 상기 방정식들이 여전히 적용될 수 있으며, 다만 보간 대신에 외삽(extrapolation)이 사용된다. 다른 구역들은 도 22에 그래픽으로 나타내어져 있다.
이와 유사하게, 각각의 픽셀 (x,y)(단, y = 988,89,...99)에 대해, 그 픽셀에 대한 조명 분포값 D(x,y)는 다음과 같이 추정된다.
Figure 112008011428941-pct00300
여기서,
Figure 112008011428941-pct00301
이고, s는 블록의 크기(일 실시예에서, s=16)이며,
Figure 112008011428941-pct00302
이고,
Figure 112008011428941-pct00303
이며,
Figure 112008011428941-pct00304
이고,
Figure 112008011428941-pct00305
이며,
Figure 112008011428941-pct00306
이고,
Figure 112008011428941-pct00307
이며,
Figure 112008011428941-pct00308
이고,
Figure 112008011428941-pct00309
이다.
Figure 112008011428941-pct00310
는 이미지 센서의 높이이다. 예시된 예에서,
Figure 112008011428941-pct00311
=100이다.
다시 말하면, 몇몇 픽셀은 4개의 인접한 블록들(1901) 간에 똑같이 분포될 수 있는 임의의 구역 밖에서 이미지 경계를 따라 있다. 경계 구역에 있는 이들 픽셀의 경우, 이들의 조명 분포값을 결정하는 데 상기 방정식들이 여전히 적용될 수 있으며, 다만 보간 대신에 외삽이 사용된다. 도 23에 다른 구역들이 그래픽으로 나타내어져 있다. 이어서, 이미지(1701) 전체에 대한 조명 분포값(2401)이 도 24에 도시되어 있다.
영역 조명 분포 결정 모듈(1505)이 각각의 영역에 대한 조명 분포값을 결정하였으면, 단계(1609)에서 영역 조명 정규화 모듈(1507)이 각각의 영역에 대한 정규화된 조명값을 결정한다. 보다 상세하게는, 영역 조명 정규화 모듈(1507)은 그 영역의 조명 분포값에 대한 그 영역의 원래의 조명값을 나눔으로써 각각의 영역에 대한 정규화된 조명값을 결정한다. 그 다음에, 단계(1611)에서, 영역 조명 정규화 모듈(1507)은 각각의 영역에 대한 정규화된 조명값을 균일한 조명 레벨 G0로 곱함으로써 각각의 영역에 대한 조정된 정규화된 조명값을 획득한다. 예시된 예에서, 균일한 조명 레벨의 값 G0는 200이지만, 본 발명의 대안의 실시예들은 균일한 조명 레벨 G0의 다른 값을 이용할 수 있다. 균일한 조명 레벨 G0은 이상적인 경우(이상적인 이미지 센서를 갖는 균일한 조명)에 비어있는 영역에서의 캡처된 이미지의 추정된 그레이 레벨을 나타낸다. 이에 따라, 이상적인 경우에, 비어있는 영역으로부터의 캡처된 이미지의 모든 픽셀들의 그레이 레벨은 균일한 조명 레벨 G0과 같아야만 한다.
마지막으로, 단계(1613)에서, 영역 조명 정규화 모듈(1507)은 그의 조정된 정규화된 조명값과 최대 조명값 중 더 작은 것인 각각의 픽셀에 새로운 조명값을 할당함으로써 각각의 픽셀에 대한 최종적인 정규화된 조명값을 선택한다. 이에 따 라, 예시된 예에서, 각각의 픽셀에 대한 최종적인 정규화된 조명값은 다음과 같은 그레이 레벨 G(x,y)에 의해 결정된다.
Figure 112008011428941-pct00312
여기서, G0 = 200이고 255가 최대 그레이 레벨(즉, 백색)이다. 그 다음에, 단계(515)에서, 영역 조명 정규화 모듈(1507)은 각각의 픽셀에 대한 최종적인 정규화된 조명값을 사용하여 정규화된 이미지를 출력한다. 도 25는 이상에서 상세히 기술한 방식으로 처리된 후에 이미지(1701)가 어떻게 이미지(2501)처럼 보이는지를 나타낸 것이다.
도 13 및 도 13에 관한 상기 설명으로부터 명백한 바와 같이, 이미지의 과잉 노출 영역에 EIC 패턴이 보이지 않는다. 원래의 캡처된 이미지가 역전된 후에, 과잉 노출 영역이 더 어두운 영역으로 변경되며, 이는 도 14에서 도면에서의 흑색 쉐이딩을 금지하는 특허청 규칙에 따르기 위해 백색 타원으로 덮여 있다. 도 13에서 이 영역을 분리시키는 것은 인쇄된 문서로부터 캡처된 이미지에서의 문서의 컨텐츠 영역을 분리시키는 것과 유사하다. 한 구현은 과잉 노출된 영역을 EIC 패턴이 보이는 영역으로부터 분리시키기 위해 과잉 노출 영역 분리 알고리즘(overexposure-area-separation algorithm)을 사용한다. 과잉 노출 영역 분리 알고리즘은 문서 컨텐츠를 인쇄된 문서로부터 캡처된 이미지에서 EIC 패턴이 보이는 영역으로부터 분리시키는 데 사용되는 이하의 문서 컨텐츠 분리 알고리즘과 실질적으로 동일하다. 이와 유사하게, 한 구현은 유효 EIC 패턴 픽셀을 캡처된 이미지의 나머지로부 터 분리시키기 위해 EIC 패턴 분리 알고리즘을 사용한다. EIC 패턴 분리 알고리즘은 EIC 패턴 픽셀을 인쇄된 문서로부터 캡처된 다른 영역들로부터 분리시키는 데 사용되는 이하의 알고리즘과 실질적으로 동일하다.
패턴 결정
이미지 조명 정규화 모듈(1500)이 펜/카메라 장치에 의해 캡처된 이미지를 정규화한 후에, 패턴 결정 모듈(2600)은 문서 내의 컨텐츠를 나타내는 정규화된 이미지의 영역들을 위치(EIC라고도 함) 패턴을 나타내는 정규화된 이미지의 영역들과 구별한다. 도 26은 위치 패턴을 문서 이미지 내의 컨텐츠와 구별하는 패턴 결정 시스템을 나타낸 것이다. 동 도면에서 알 수 있는 바와 같이, 패턴 결정 모듈(2600)은 영역 평균 필터링 모듈(2601) 및 고-콘트라스트 구역 결정 모듈(2603)을 포함한다. 이하에 더 상세히 설명하는 바와 같이, 영역 평균 필터링 모듈(2601)은 이미지 내의 각각의 영역의 조명에 평균화 필터(averaging filter)를 적용한다. 이어서, 고-콘트라스트 구역 결정 모듈(2603)은 이미지에서의 고-콘트라스트 구역을 식별한다.
패턴 결정 모듈(2600)은 또한 컨텐츠 조명 문턱값 결정 모듈(2605), 컨텐츠 식별 모듈(2607), 패턴 조명 문턱값 결정 모듈(2609), 및 패턴 식별 모듈(2611)을 포함한다. 이하에 더 상세히 기술하는 바와 같이, 컨텐츠 조명 문턱값 결정 모듈(2605)은 컨텐츠를 나타내는 이미지의 영역을 식별하기 위해 컨텐츠 식별 모듈(2607)이 사용하는 제1 조명값 문턱값을 결정한다. 이와 유사하게, 패턴 조명 문턱값 결정 모듈(2609)은 위치 패턴을 나타내는 이미지의 영역을 식별하기 위해 패턴 식별 모듈(2611)이 사용하는 제2 조명값 문턱값을 결정한다.
패턴 결정 모듈(2600)은, 컨텐츠(예를 들어, 인쇄된 텍스트, 화상, 기타) 및 위치 패턴 둘다를 포함하는 문서의 이미지에서, 문서 컨텐츠 및 문서 배경이 서로 다른 밝기 레벨을 갖는 경향이 있다는 사실을 이용한다. 따라서, 흑백 이미지에서, 위치 패턴, 문서 컨텐츠 및 문서 배경을 나타내는 영역들이 통상적으로 서로 다른 그레이 레벨을 가지며, 문서 컨텐츠를 나타내는 영역이 가장 어둡고, 위치 패턴을 나타내는 영역이 두번째로 어두우며, 문서 배경을 나타내는 영역이 가장 덜 어둡다. 이에 따라, 패턴 결정 모듈(2600)은 문턱값 지정에 의해 3개의 서로 다른 영역을 구별할 수 있다.
3개의 밝기 레벨을 분리시키는 적절한 문턱값을 보다 효율적으로 결정하기 위해, 패턴 결정 모듈(2600)은 먼저 고-콘트라스트 구역을 식별한다. 흑백 이미지의 경우, 이들은 인접한 이미지 영역들(예를 들어, 픽셀 등) 간의 그레이 레벨의 차이가 비교적 큰 구역이다. 이에 따라, 문서 컨텐츠를 나타내는 영역을 이미지 내의 다른 영역들과 분리시키기 위한 문턱값이 고-콘트라스트 영역에서 보다 효율적으로 식별될 수 있다. 문턱값이 구해지면, 이 문턱값보다 더 어두운 구역은 문서 컨텐츠를 나타내는 것으로 식별된다. 이어서, 이들 구역은 컨텐츠를 나타내는 영역들로 이루어져 있는 것으로 표시될 수 있다. 예를 들어, 컨텐츠 구역 내의 영역들은 문서 컨텐츠 마스크에 1의 값이 할당될 수 있다.
문서 컨텐츠를 나타내는 구역이 식별된 후에, 나머지 영역들의 밝기 값이 분석될 수 있다. 이어서, 제2 문턱값을 넘는 조명값을 갖는 그 구역들은 위치 패턴 을 나타내는 것으로 식별된다. 이어서, 이들 구역은 위치 패턴을 나타내는 영역들로 이루어져 있는 것으로 표시될 수 있다. 예를 들어, 패턴 구역 내의 영역들은 위치 패턴 마스크에 1의 값이 할당될 수 있다. 이에 따라, 이미지의 나머지와 구별되기 때문에, 위치 패턴을 나타내는 영역들이 보다 정확하게 분석될 수 있다.
패턴 결정 모듈(2600)의 동작에 대해 도 27a 내지 도 31을 참조하여 이제부터 설명한다. 보다 상세하게는, 패턴 결정 모듈(2600)의 동작이 정규화된 이미지(2501)에 적용되는 것으로 기술할 것이다. 따라서, 이 예에서, 이미지는 흑백 이미지이다. 그렇지만, 본 발명의 다양한 실시예들이 컬러 이미지를 처리하는 데 이용될 수 있다는 것을 잘 알 것이다. 이미지 조명 정규화 모듈(1500)과 관련하여 상기한 바와 같이, 이미지가 컬러 이미지인 경우, 패턴 결정 모듈(2600)은 그레이 레벨보다는 밝기 레벨을 사용하여 동작한다. 또한, 패턴 결정 모듈(2600)의 예시된 예는 픽셀을 이 모듈이 동작을 수행하는 면적 단위로서 사용한다. 그렇지만, 이미지 조명 정규화 모듈(1500)과 관련하여 전술한 바와 같이, 본 발명의 다른 예들이 다수의 픽셀들의 그룹 등의 다른 영역에 작용할 수 있다는 것을 유의해야 한다.
처음에, 앞서 살펴본 바와 같이, 컨텐츠를 나타내는 구역을 보다 효율적으로 찾아내기 위해 고 콘트라스트 영역이 식별된다. 그렇지만, 위치 패턴을 포함하는 구역들이 큰 차이 조명 레벨을 가질 수 있기 때문에, 위치 패턴을 둘러싸고 있는 구역들에서의 조명값 차이를 감소시키기 위해 이미지 영역들이 먼저 필터링된다. 보다 상세하게는, 단계(2701)에서, 영역 평균 필터링 모듈(2601)은 평균화 필터를 이미지 내의 각각의 영역에 적용한다. 흑백 이미지의 경우, 이 필터링 동작은 각각의 픽셀의 그레이 레벨를 둘러싸고 있는 8개 픽셀의 그레이 레벨들 및 픽셀 자체의 그레이 레벨의 평균으로 대체시킨다. 즉, 각각의 픽셀 (x,y)에 대해,
Figure 112008011428941-pct00313
여기서, G(x,y)는 픽셀 (x,y)의 그레이 레벨이다. 유의할 점은 G(x,y)가 조명 정규화된 그레이 레벨이라는 것이다.
그 다음에, 단계(2703)에서, 고-콘트라스트 구역 결정 모듈(2603)은 각각의 픽셀의 평균된 조명 레벨을 사용하여 이미지에서 고-콘트라스트 구역들을 식별한다. 상세하게는, 각각의 픽셀에 대해, 고-콘트라스트 구역 결정 모듈(2603)은 픽셀을 둘러싸고 있는 17x17 픽셀 이웃에서의 최대 및 최소 평균된 그레이 레벨 값을 식별한다. 즉, 모든 픽셀 (x.y)에 대해,
Figure 112008011428941-pct00314
Figure 112008011428941-pct00315
상기한 결정이 예시된 예에서 사용되는 이미지의 특정 수의 픽셀에 기초한다는 것을 잘 알 것이다. 다른 크기의 이미지를 처리하는 데 사용되는 본 발명의 실시예들에 대해 다른 픽셀 좌표값을 사용하는 유사한 결정이 이용된다. 그 다음에, 고-콘트라스트 구역 결정 모듈(2603)은 고-콘트라스트 구역을 다음과 같이 정의한다.
Figure 112008011428941-pct00316
여기서,
Figure 112008011428941-pct00317
는 미리 정해진 문턱값이다.
Figure 112008011428941-pct00318
의 값은 경험적으로 결정된다. 예시된 예에서,
Figure 112008011428941-pct00319
= 140이지만, 본 발명의 다른 실시예들이, 예를 들어, 카메라/펜 장치에 의해 제공되는 콘트라스트 품질에 따라 다른 문턱값을 이용할 수 있다는 것을 잘 알 것이다. 도 28은 상기한 기술을 사용하여 이미지(2501)에서 식별된 고-콘트라스트 영역(2801)을 나타낸 것이다.
그 다음에, 단계(2705)에서, 컨텐츠 조명 문턱값 결정 모듈(2605)은 이미지의 다른 영역들로부터 문서 컨텐츠를 나타내는 영역을 분리시키는 문턱값을 결정한다. 문턱값을 결정하기 위해, 컨텐츠 조명 문턱값 결정 모듈(2605)은 고-콘트라스트 구역에 대한 그레이-레벨 히스토그램을 생성한다. 이러한 히스토그램(2901)의 일례가 도 29에 도시되어 있다. 동 도면에서 알 수 있는 바와 같이, 이 히스토그램(2901)의 X-축은 고-콘트라스트 구역 내의 픽셀들의 평균된 그레이 레벨에 대응한다. 이어서, Y-축은 그 그레이 레벨에 있는 픽셀들의 수에 대응한다. 히스토그램으로부터, 더 어두운 픽셀을 회색 및 백색 픽셀로부터 분리하기 위한 문턱값
Figure 112008011428941-pct00320
이 식별될 수 있다. 더 어두운 픽셀들을 회색 및 백색 픽셀들과 구별하기 위해 문턱값을 선택하는 임의의 적당한 기법이 이용될 수 있다. 문턱값
Figure 112008011428941-pct00321
을 구하기 위한 한가지 적당한 기법은, 예를 들어, N. Otsu의 "그레이 레벨 히스토그램으로부터의 문턱값 선택 방법(A Threshold Selection Method from Gray-Level Histogram)," IEEE Transactions on Systems, Man, and Cybernetics, 9(1), pp. 62-66(1979년)에 기술되어 있다.
문턱값
Figure 112008011428941-pct00322
이 결정되었으면, 단계(2707)에서 컨텐츠 식별 모듈(2607)은 이 문턱값
Figure 112008011428941-pct00323
을 사용하여 컨텐츠를 나타내는 이미지의 영역들을 식별한다. 먼저,
Figure 112008011428941-pct00324
가 주어지면,
Figure 112008011428941-pct00325
보다 더 어두운 이미지 내의 픽셀들이 문서 컨텐츠를 나타내는 이미지로서 식별되고 문서 컨텐츠 마스크에 1의 값을 할당받는다. 따라서, 모든 픽셀 (x,y)에 대해,
Figure 112008011428941-pct00326
이면,
Figure 112008011428941-pct00327
이고, 그렇지 않으면
Figure 112008011428941-pct00328
이다.
문서 컨텐츠 마스크가 생성된 후에, 다음과 같이 픽셀
Figure 112008011428941-pct00329
의 그 구역들
Figure 112008011428941-pct00330
가 식별되고, 여기서
Figure 112008011428941-pct00331
이다.
Figure 112008011428941-pct00332
은 이웃들임}
도 30에 나타낸 바와 같이, 2개의 픽셀이 바로 아래에, 위에, 서로의 옆에 있는 경우에 이들은 이웃들이다. 따라서, 마스크는 컨텐츠를 나타내는 이웃하는 영역들의 구역
Figure 112008011428941-pct00333
을 식별해준다. 예시된 예에서, 구역
Figure 112008011428941-pct00334
가 20개보다 적은 픽셀을 포함하고 있는 경우, 이는 문서 컨텐츠 마스크로부터 제거된다. 즉, 각각의 픽셀
Figure 112008011428941-pct00335
에 대해,
Figure 112008011428941-pct00336
이다. 이것은 실제로 문서 컨텐츠를 나타내기에는 너무 작은 구역들을 제거한다.
그 다음에, 단계(2709)에서, 패턴 조명 문턱값 결정 모듈(2609)은 위치 패턴 을 나타내는 영역을 이미지의 나머지 영역들(즉, 비컨텐츠 영역들)로부터 분리하기 위한 제2 문턱값을 결정한다. 처음에, 패턴 조명 문턱값 결정 모듈(2609)은 이미지를 8x8 픽셀 블록들로 세그먼트화한다. 흑백 이미지의 경우, 패턴 조명 문턱값 결정 모듈(2609)은 이어서 도 31의 히스토그램(2001)과 같은, 각각의 8x8 픽셀 블록에 대한 그레이 레벨 값 히스토그램을 생성한다. 동 도면에서 알 수 있는 바와 같이, X-축은 블록 내의 비문서 컨텐츠 픽셀들의 조명-정규화된 그레이 레벨, 즉
Figure 112008011428941-pct00337
인 픽셀들에 대응한다. Y-축은 이어서 그 그레이 레벨에 있는 비문서 컨텐츠 픽셀의 수에 대응한다.
이 히스토그램으로부터, 위치 패턴 영역을 나머지 배경 영역과 구별하기 위한 제2 문턱값
Figure 112008011428941-pct00338
이 식별된다. 제2 문턱값
Figure 112008011428941-pct00339
은, 펜/카메라 장치 내의 카메라 센서의 크기 및 코드 심볼의 크기에 기초하여, 코드 심볼에서의 흑색 도트의 비(ratio)와 거의 같도록 경험적으로 결정된다. 예시된 예에서, 제2 문턱값
Figure 112008011428941-pct00340
는 픽셀의 11%가
Figure 112008011428941-pct00341
보다 더 어둡도록 선택된다.
제2 문턱값
Figure 112008011428941-pct00342
이 결정되면, 단계(2711)에서 패턴 식별 모듈(2611)은 위치 패턴을 나타내는 이미지의 영역들을 식별한다. 보다 상세하게는, 블록 내의 모든 픽셀 (x,y)에 대해,
Figure 112008011428941-pct00343
이고
Figure 112008011428941-pct00344
인 경우, 패턴 식별 모듈(2611)은
Figure 112008011428941-pct00345
을 할당하고, 그렇지 않은 경우
Figure 112008011428941-pct00346
이다.
하부 픽셀들(즉, 이미지의 하부 경계를 따라 있는 4x128 픽셀 구역)의 경우, 바로 위에 있는 4x128 픽셀 영역이 8x8 픽셀 블록을 형성하는 데 사용될 수 있다. 이들 하부 블록들 각각 내에서, 이상에서 상세히 기술한 동일한 방법을 사용하여 제2 문턱값이 결정된다. 그렇지만, 하부 구역 내의 그 픽셀들 만이 문턱값과 비교되는데, 그 이유는 바로 위에 있는 구역으로부터 "빌려온" 픽셀들이 그의 원래의 블록들에 대해 설정된 제2 문턱값을 사용하여 이미 분석되었기 때문이다. 이 문턱값보다 더 어두운 그 하부 픽셀들은 위치 패턴을 나타내는 것으로 식별된다.
그 각자의 제2 문턱값보다 낮은 그레이 레벨을 갖는 픽셀들이 식별된 후에, 문서 컨텐츠를 나타내는 픽셀들에 인접한 그 식별된 픽셀들이 위치 패턴 마스크로부터 제거된다. 즉, 각각의 픽셀 (x,y)에 대해,
Figure 112008011428941-pct00347
이고 (x,y)의 8개의 이웃들 중의 픽셀이 문서 컨텐츠를 나타내는 것으로 식별된 경우(즉,
Figure 112008011428941-pct00348
이도록 하는 i, j(단, i=-1,0,1이고, j=-1,0,1임)가 존재하는 경우),
Figure 112008011428941-pct00349
이다. 이와 같이, 위치 패턴을 이루고 있는 픽셀들은 이미지 내의 다른 픽셀들과 정확하게 구별될 수 있다. 게다가, 위치 패턴을 이미지의 나머지와 명확하게 구별하는 새 이미지가 생성될 수 있다.
도 35는 본 발명의 실시예들에 따른, 인쇄된 문서로부터 캡처된 EIC 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 EIC 이미지를 처리하는 단계들을 나타낸 것이다. 표면 유형 식별 단계(3504)는 인쇄된 문서로부터 캡처된 하나 이상의 EIC 이미지(3503) 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 하나 이상의 EIC 이미지(3502)를 입력으로서 받는다. 표면 유형 식별 단계(3504)는 특정의 이미지가 캡처된 표면의 유형(즉, 인쇄된 문서인지 인쇄된 문서이외의 디스플레이 표면인지)을 식별한다. 디스플레이 표면으로부터 캡처된 EIC 이미지 및 인쇄된 문서로부터 캡처된 EIC 이미지가 도 35에서 따로 도시되어 있지만, 표면 유형 식별 단계(3504)에 의해 처리되기 이전에, 특정의 이미지가 캡처된 표면의 유형(즉, 인쇄된 문서인지 인쇄된 문서가 아닌지)을 모른다. 반면에, 디스플레이 표면으로부터 캡처된 EIC 이미지(3506)는 표면 유형 식별 단계(3504)에 의해 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별된다. 이와 유사하게, 인쇄된 문서로부터 캡처된 EIC 이미지(3508)는 표면 유형 식별 단계(3504)에 의해 인쇄된 문서로부터 캡처된 것으로 식별된다. 표면 유형 식별 단계(3504)가 이미지가 캡처된 서로 다른 유형의 표면을 구별할 수 있는 방법에 대해서는 이상에서 더 상세히 기술되어 있다.
도 36은 표면 유형 식별 단계(3504)의 일 실시예를 나타낸 것이다. 도 36의 실시예에서, 단계(3602)에서 특징 벡터(3602)가 생성된다. 특징 벡터(3602)는 EIC 이미지에 대해 그레이 레벨 분포가 얼마나 균일한지를 규정한다. 단계(3606)에서, 특징 벡터(3602)는 EIC 문서가 캡처된 표면 유형을 식별하는 데 사용된다.
도 37은 표면 유형 식별 단계(3504)의 대안의 실시예를 나타낸 것이다. 도 37의 실시예에서, 단계(3702)에서, EIC 이미지를 필터링하기 위해 라플라스 연산자가 사용된다. 단계(3706)에서, EIC 문서가 캡처된 표면 유형을 식별하기 위해 필 터링된 이미지(3704)가 사용된다.
디스플레이 표면 이미지 전처리 단계(3510)는 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 EIC 이미지(표면 유형 식별 단계(3504)에 의해 식별됨)를 전처리한다. 인쇄된 문서 이미지 전처리 단계(3512)는 인쇄된 문서로부터 캡처된 EIC 이미지(표면 유형 식별 단계(3504)에 의해 식별됨)를 전처리한다. 디스플레이 표면 이미지 전처리 단계(3510) 및 인쇄된 문서 이미지 전처리 단계(3212)에 의해 수행되는 전처리는 서로 유사하며 이상에서 상세히 기술하였다.
전처리된 이미지는 디스플레이 표면 이미지 전처리 단계(3510) 및 인쇄된 문서 이미지 전처리 단계(3512)로부터, 이상에서 더 상세히 기술한 바와 같이 EIC 패턴 분석, EIC 심볼 인식, 및 EIC 디코딩을 수행하는 EIC 정보 처리 단계(3514)로 전달된다. EIC 정보 처리 단계(3514)에 의해 출력되는 위치 정보(3516)는 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지에 대한 디스플레이 표면 정보 매핑 단계(3518)에 입력되거나 인쇄된 문서로부터 캡처된 이미지에 대한 EIC 문서 정보 매핑 단계(3520)에 입력될 수 있다.
EIC 디스플레이 표면 정보 매핑 단계(3518)는 표면 메타데이터 및 x-y 위치(3522)를 출력하고 EIC 문서 정보 매핑 단계(3520)는 문서 메타데이터 및 x-y 위치(3524)를 출력한다.
발명 대상이 구조상 특징 및/또는 방법적 작용과 관련하여 기술되어 있지만, 첨부된 청구 범위에 정의된 발명 대상이 반드시 상기한 특정의 특징 또는 작용으로 한정되는 것이 아니라는 것을 잘 알 것이다. 오히려, 상기한 특정의 특징 및 작용은 청구항들을 구현하는 예시적인 형태로서 개시된 것이다.

Claims (20)

  1. 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 처리하는 프로세서와 메모리를 구비하는 시스템으로서,
    상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별하는 표면 유형 식별 모듈(surface-type-identification module) - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어지는 그룹으로부터 선택되고, 상기 표면 유형 식별 모듈은 상기 특정의 이미지가 캡처된 표면의 유형을 특징 벡터에 기초하여 식별하는 특징-기반(feature-based) 표면 유형 식별 모듈을 포함하며, 상기 특징-기반 표면 유형 식별 모듈은 인쇄된 문서로부터 캡처된 이미지의 특징 벡터와 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터간의 구별을 위해 선형 분류자(linear classifier)를 사용하여 상기 특정의 이미지가 캡처된 표면의 유형을 식별함 - ;
    상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면 제1 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 디스플레이 표면 전처리 모듈(display-surface-preprocessing module);
    상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면 제2 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 인쇄 문서 전처리 모듈(printed document preprocessing module); 및
    상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보를 출력하는 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)을 포함하는, 이미지 처리 시스템.
  2. 제1항에 있어서,
    상기 표면 유형 식별 모듈은 상기 특정의 이미지를 필터링하기 위해 라플라스 연산자를 사용하는 라플라스 필터 모듈을 포함하는, 이미지 처리 시스템.
  3. 제1항에 있어서,
    상기 위치 정보는 상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 m-어레이 위치를 규정하는 것인, 이미지 처리 시스템.
  4. 제1항에 있어서,
    상기 위치 정보를 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지에 대한 표면 메타데이터 및 x-y 위치 정보에 매핑하는 표면 정보 매핑 모듈을 더 포함하는, 이미지 처리 시스템.
  5. 제1항에 있어서,
    상기 위치 정보를 인쇄된 문서로부터 캡처된 적어도 하나의 이미지에 대한 문서 메타데이터 및 x-y 위치 정보에 매핑하는 임베딩된 상호작용 코드 문서 매핑 모듈을 더 포함하는, 이미지 처리 시스템.
  6. 제1항에 있어서,
    상기 선형 분류자는 피셔(Fisher) 선형 분류자인, 이미지 처리 시스템.
  7. 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 처리하는 프로세서와 메모리를 구비하는 시스템으로서,
    상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별하는 표면 유형 식별 모듈(surface-type-identification module) - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어지는 그룹으로부터 선택됨 - ;
    상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면 상기 특정의 이미지를 역전(reversing)시키는 제1 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 디스플레이 표면 전처리 모듈(display-surface-preprocessing module);
    상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면 제2 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 인쇄 문서 전처리 모듈(printed document preprocessing module); 및
    상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보를 출력하는 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)을 포함하고,
    상기 표면 유형 식별 모듈은 그레이 레벨 분포가 상기 특정의 이미지에 대해 얼마나 균일한지를 규정하는 특징 벡터를 생성하는 특징 벡터 생성 모듈을 포함하며,
    상기 특징 벡터 생성 모듈에 의한 상기 특징 벡터의 생성은 상기 특정의 이미지의 수평 투사 벡터 및 수직 투사 벡터를 계산하는 것을 포함하고, 상기 수평 투사 벡터 및 상기 수직 투사 벡터는,
    Figure 112013035010647-pct00416
    Figure 112013035010647-pct00417
    로서 계산되며,
    여기서,
    Figure 112013035010647-pct00418
    는 특정의 이미지 I에서의 픽셀 (x,y)의 그레이 레벨이고, w 및 h는 각각 상기 이미지의 폭 및 높이인, 이미지 처리 시스템.
  8. 제7항에 있어서,
    상기 특징 벡터 생성 모듈에 의한 상기 특징 벡터의 생성은 상기 수평 투사 벡터에서의 수평 피크 폭 및 상기 수직 투사 벡터에서의 수직 피크 폭을 정의하는 것을 포함하는, 이미지 처리 시스템.
  9. 제8항에 있어서,
    상기 수평 피크 폭 및 상기 수직 피크 폭은,
    Figure 112013035010647-pct00422
    Figure 112013035010647-pct00423
    을 만족시키는
    Figure 112013035010647-pct00419
    로 정의되며,
    여기서,
    Figure 112013035010647-pct00356
    는 상기 특정의 이미지의 그레이 레벨의 합산이고,
    Figure 112013035010647-pct00357
    는 상수 값이며,
    Figure 112013035010647-pct00358
    Figure 112013035010647-pct00359
    Figure 112013035010647-pct00360
    로서 정의되는 상기 수직 및 수평 투사 벡터의 중심인, 이미지 처리 시스템.
  10. 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 처리하는 프로세서와 메모리를 구비하는 시스템으로서,
    상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별하는 표면 유형 식별 모듈(surface-type-identification module) - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어지는 그룹으로부터 선택됨 - ;
    상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면 상기 특정의 이미지를 역전(reversing)시키는 제1 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 디스플레이 표면 전처리 모듈(display-surface-preprocessing module) - ;
    상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면 제2 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하고 컴퓨터-실행 가능한 명령을 포함하는 인쇄 문서 전처리 모듈(printed document preprocessing module); 및
    상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보를 출력하는 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)을 포함하고,
    상기 표면 유형 식별 모듈은 상기 특정의 이미지가 캡처된 표면의 유형을 필터링된 이미지에 기초하여 식별하는 라플라스 필터 기반 표면 유형 식별 모듈을 포함하며,
    I가 상기 특정의 이미지이고, I1이 상기 필터링된 이미지이며, 상기 I1은,
    x=0 또는 x=w-l 또는 y=0 또는 y=h-l인 경우
    Figure 112011060861489-pct00361
    이고,
    그렇지 않은 경우,
    Figure 112011060861489-pct00362
    인, 이미지 처리 시스템.
  11. 제10항에 있어서,
    상기 라플라스 필터 기반 표면 유형 식별 모듈은 I1 내의 플러스 픽셀의 수와 I1 내의 마이너스 픽셀의 수를 카운팅하는 것에 적어도 부분적으로 기초하여 상기 특정의 이미지가 캡처된 표면의 유형을 식별하는, 이미지 처리 시스템
  12. 제11항에 있어서,
    상기 라플라스 필터 기반 표면 유형 식별 모듈은, I1 내의 플러스 픽셀의 수가 I1 내의 마이너스 픽셀의 수보다 클 때, 상기 특정의 이미지가 캡처된 상기 표면 유형을 인쇄된 문서로서 식별하는, 이미지 처리 시스템.
  13. 제11항에 있어서,
    상기 라플라스 필터 기반 표면 유형 식별 모듈은, I1 내의 플러스 픽셀의 수가 I1 내의 마이너스 픽셀의 수보다 작을 때, 상기 특정의 이미지가 캡처된 상기 표면 유형을 인쇄된 문서 이외의 디스플레이 표면으로서 식별하는, 이미지 처리 시스템.
  14. 이미지가 캡처된 표면 유형에 기초하여, 상기 이미지를 전처리하는 프로세서와 메모리를 구비하는 컴퓨터에서 수행되는 방법으로서,
    캡처된 이미지를 수신하는 단계;
    상기 이미지가 캡처된 표면 유형을 식별하는 단계 - 상기 식별하는 단계는 특정의 이미지가 캡처된 표면의 유형을 특징 벡터에 기초하여 식별하는 특징-기반 표면 유형 식별 모듈을 시동하는(invoke) 단계를 포함하고, 상기 특징-기반 표면 유형 식별 모듈은 인쇄된 문서로부터 캡처된 이미지의 특징 벡터와 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터간의 구별을 위해 선형 분류자(linear classifier)를 사용하여 상기 특정의 이미지가 캡처된 표면의 유형을 식별함 - ;
    상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면, 메모리에 저장된 명령을 프로세서에서 실행함으로써, 제1 전처리 알고리즘에 따라 캡처된 이미지를 전처리하는 단계;
    상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면, 상기 메모리에 저장된 명령을 상기 프로세서에서 실행함으로써, 제2 전처리 알고리즘에 따라 캡처된 이미지를 전처리하는 단계; 및
    상기 캡처된 이미지에 대한 위치 정보를 출력하는 단계를 포함하는, 이미지 처리 방법.
  15. 제14항에 있어서,
    상기 선형 분류자는 피셔(Fisher) 선형 분류자인, 이미지 처리 방법.
  16. 명령을 저장하는 비-신호형 컴퓨터 판독가능 저장 매체로서,
    상기 명령은 프로세서에 의해 실행될 때,
    이미지-캡처 펜(pen)으로부터 캡처된 이미지를 수신하는 단계, 및
    상기 이미지가 캡처된 표면의 유형을 식별하는 단계 - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어진 그룹으로부터 선택되고, 상기 식별하는 단계는 인쇄된 문서로부터 캡처된 이미지의 특징 벡터와 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터간의 구별을 위해 선형 분류자를 사용하여 캡처된 이미지가 캡처된 표면의 유형을 특징 벡터에 기초하여 식별하는 특징-기반 표면 유형 식별 모듈을 시동하는 단계를 포함함 - 를 포함하는 방법을 수행하는, 비-신호형 컴퓨터 판독가능 저장 매체.
  17. 제16항에 있어서,
    상기 선형 분류자는 피셔(Fisher) 선형 분류자인, 비-신호형 컴퓨터 판독가능 저장 매체.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020087003674A 2005-08-17 2006-08-16 임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법 KR101312830B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/205,448 2005-08-17
US11/205,448 US7817816B2 (en) 2005-08-17 2005-08-17 Embedded interaction code enabled surface type identification
PCT/US2006/032226 WO2007022394A1 (en) 2005-08-17 2006-08-16 Embedded interaction code enabled surface type identification

Publications (2)

Publication Number Publication Date
KR20080044838A KR20080044838A (ko) 2008-05-21
KR101312830B1 true KR101312830B1 (ko) 2013-11-06

Family

ID=37757908

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087003674A KR101312830B1 (ko) 2005-08-17 2006-08-16 임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법

Country Status (5)

Country Link
US (1) US7817816B2 (ko)
EP (1) EP1915724A4 (ko)
KR (1) KR101312830B1 (ko)
CN (1) CN101243462B (ko)
WO (1) WO2007022394A1 (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133563B2 (en) * 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7583842B2 (en) * 2004-01-06 2009-09-01 Microsoft Corporation Enhanced approach of m-array decoding and error correction
US7263224B2 (en) * 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
US7505982B2 (en) * 2004-12-03 2009-03-17 Microsoft Corporation Local metadata embedding solution
US7536051B2 (en) * 2005-02-17 2009-05-19 Microsoft Corporation Digital pen calibration by local linearization
US7607076B2 (en) * 2005-02-18 2009-10-20 Microsoft Corporation Embedded interaction code document
US7532366B1 (en) 2005-02-25 2009-05-12 Microsoft Corporation Embedded interaction code printing with Microsoft Office documents
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
US20060215913A1 (en) * 2005-03-24 2006-09-28 Microsoft Corporation Maze pattern analysis with image matching
US20060242562A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Embedded method for embedded interaction code array
US7421439B2 (en) * 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7400777B2 (en) * 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7729539B2 (en) * 2005-05-31 2010-06-01 Microsoft Corporation Fast error-correcting of embedded interaction codes
US7580576B2 (en) * 2005-06-02 2009-08-25 Microsoft Corporation Stroke localization and binding to electronic document
US7528848B2 (en) * 2005-06-30 2009-05-05 Microsoft Corporation Embedded interaction code decoding for a liquid crystal display
US7619607B2 (en) * 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
KR100841285B1 (ko) * 2006-09-18 2008-06-25 주식회사 펜래버레토리 표면상에 절대 위치 표시 패턴을 갖는 제조물 및 그 절대위치 표시 패턴의 형성 방법
TW201209655A (en) * 2010-08-17 2012-03-01 Acer Inc Touch control system and method
US9019239B2 (en) * 2010-11-29 2015-04-28 Northrop Grumman Systems Corporation Creative design systems and methods
US8619065B2 (en) * 2011-02-11 2013-12-31 Microsoft Corporation Universal stylus device
US8401343B2 (en) * 2011-03-27 2013-03-19 Edwin Braun System and method for defining an augmented reality character in computer generated virtual reality using coded stickers
US9921687B2 (en) * 2012-10-02 2018-03-20 Autodesk, Inc. Always-available input through finger instrumentation
US9300893B2 (en) * 2014-03-24 2016-03-29 Intel Corporation Image matching-based pointing techniques
KR20230118720A (ko) 2022-02-04 2023-08-14 삼성디스플레이 주식회사 표시 장치 및 이를 포함하는 터치 입력 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020024640A1 (en) 2000-08-29 2002-02-28 Olympus Optical Co., Ltd. Image projection display apparatus using plural projectors and projected image compensation apparatus
US20030189664A1 (en) 2001-10-03 2003-10-09 Andreas Olsson Optical sensor device and a method of controlling its exposure time
US20040086181A1 (en) 2002-10-31 2004-05-06 Microsoft Corporation Active embedded interaction code
US20040085286A1 (en) 2002-10-31 2004-05-06 Microsoft Corporation Universal computing device

Family Cites Families (291)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ055999A0 (en) * 1999-05-25 1999-06-17 Silverbrook Research Pty Ltd A method and apparatus (npage01)
US4941124A (en) 1982-01-25 1990-07-10 Skinner Jr James T Text comparator with counter shift register
JPS59205874A (ja) 1983-05-10 1984-11-21 Canon Inc 画像デ−タ圧縮装置
US4742558A (en) * 1984-02-14 1988-05-03 Nippon Telegraph & Telephone Public Corporation Image information retrieval/display apparatus
NL8501460A (nl) * 1985-05-22 1986-12-16 Philips Nv Werkwijze voor het identificeren van voorwerpen die voorzien zijn van een kodeveld met stipkode, inrichting voor het identificeren van zo een stipkode, en produkt voorzien van zo een stipkode.
US4829583A (en) * 1985-06-03 1989-05-09 Sino Business Machines, Inc. Method and apparatus for processing ideographic characters
US4686329A (en) 1985-06-21 1987-08-11 Advanced Robotic Technology, Inc. Absolute position mouse
US4972496A (en) 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
US4924078A (en) * 1987-11-25 1990-05-08 Sant Anselmo Carl Identification symbol, system and method
DE3826442A1 (de) * 1988-08-03 1990-02-08 Royocad Ges Fuer Hard Und Soft Projektionskopf
US5304786A (en) 1990-01-05 1994-04-19 Symbol Technologies, Inc. High density two-dimensional bar code symbol
US5635697A (en) 1989-03-01 1997-06-03 Symbol Technologies, Inc. Method and apparatus for decoding two-dimensional bar code
US5032924A (en) 1989-04-10 1991-07-16 Nilford Laboratories, Inc. System for producing an image from a sequence of pixels
KR930002339B1 (ko) 1989-04-20 1993-03-29 가부시기가이샤 도시바 짧은 직선 벡터의 곡선 세그멘트에 3차 베지어(Bzxier)곡선을 정합시키는 방법
US5153928A (en) 1989-06-09 1992-10-06 Casio Computer Co., Ltd. Method and apparatus for recording/reproducing mesh pattern data
US5051736A (en) 1989-06-28 1991-09-24 International Business Machines Corporation Optical stylus and passive digitizing tablet data input system
US5337361C1 (en) 1990-01-05 2001-05-15 Symbol Technologies Inc Record with encoded data
US5146552A (en) 1990-02-28 1992-09-08 International Business Machines Corporation Method for associating annotation with electronically published material
JPH03269659A (ja) * 1990-03-19 1991-12-02 Nec Corp マイクロプロセッサ
JP3168580B2 (ja) * 1990-04-05 2001-05-21 セイコーエプソン株式会社 ページ記述言語インタープリタ
DE4012608A1 (de) * 1990-04-20 1991-10-24 Roland Man Druckmasch Verfahren und vorrichtung zur bestimmung von passerdifferenzen an druckbildstellen eines mehrfarbenoffsetdruckes
JPH06506080A (ja) 1991-04-03 1994-07-07 ヒューレット・パッカード・カンパニー 位置検知装置
CA2045907C (en) 1991-06-28 1998-12-15 Gerald B. Anderson A method for storing and retrieving annotations and redactions in final form documents
US5247137A (en) 1991-10-25 1993-09-21 Mark Epperson Autonomous computer input device and marking instrument
US5448372A (en) 1991-12-18 1995-09-05 Eastman Kodak Company Storage and retrieval of digitized photographic images
US5294792A (en) * 1991-12-31 1994-03-15 Texas Instruments Incorporated Writing tip position sensing and processing apparatus
JPH0644005A (ja) 1992-01-24 1994-02-18 Seiko Instr Inc 座標入力装置
US5756981A (en) 1992-02-27 1998-05-26 Symbol Technologies, Inc. Optical scanner for reading and decoding one- and-two-dimensional symbologies at variable depths of field including memory efficient high speed image processing means and high accuracy image analysis means
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 二次元コ−ドシンボルマ−クの解読方法
US5243149A (en) 1992-04-10 1993-09-07 International Business Machines Corp. Method and apparatus for improving the paper interface to computing systems
US5280289A (en) * 1992-04-23 1994-01-18 Hughes Aircraft Company Automatic signal thresholding system
US5235654A (en) 1992-04-30 1993-08-10 International Business Machines Corporation Advanced data capture architecture data processing system and method for scanned images of document forms
JP2861647B2 (ja) 1992-07-08 1999-02-24 松下電器産業株式会社 画像生成装置
CA2143633A1 (en) 1992-09-01 1994-03-17 James Oliver Normile Improved vector quantization
US5288986A (en) * 1992-09-17 1994-02-22 Motorola, Inc. Binary code matrix having data and parity bits
ATE195030T1 (de) 1992-09-28 2000-08-15 Olympus Optical Co Aufzeichnungsmedium für punktcode und informations-aufzeichnungssystem
GB9223226D0 (en) 1992-11-05 1992-12-16 Algotronix Ltd Improved configurable cellular array (cal ii)
US5450603A (en) 1992-12-18 1995-09-12 Xerox Corporation SIMD architecture with transfer register or value source circuitry connected to bus
JPH06266490A (ja) * 1993-03-12 1994-09-22 Toshiba Corp 情報入力装置および情報入力における位置認識システム
JP3526067B2 (ja) 1993-03-15 2004-05-10 株式会社東芝 再生装置及び再生方法
US6832724B2 (en) 1993-03-26 2004-12-21 Symbol Technologies, Inc. Electro-optical assembly for image projection, especially in portable instruments
US6655597B1 (en) 2000-06-27 2003-12-02 Symbol Technologies, Inc. Portable instrument for electro-optically reading indicia and for projecting a bit-mapped color image
US5414227A (en) * 1993-04-29 1995-05-09 International Business Machines Corporation Stylus tilt detection apparatus for communication with a remote digitizing display
US5398082A (en) * 1993-05-20 1995-03-14 Hughes-Jvc Technology Corporation Scanned illumination for light valve video projectors
US5335150A (en) 1993-08-31 1994-08-02 Huang Chao C Laser pointer with a constant power output control
US5414538A (en) * 1993-10-07 1995-05-09 Xerox Corporation Image-dependent exposure enhancement
US5394487A (en) * 1993-10-27 1995-02-28 International Business Machines Corporation Forms recognition management system and method
US6243071B1 (en) 1993-11-03 2001-06-05 Apple Computer, Inc. Tool set for navigating through an electronic book
US5822436A (en) 1996-04-25 1998-10-13 Digimarc Corporation Photographic products and methods employing embedded information
DE69425412T2 (de) 1993-11-23 2001-03-08 Ibm Anlage und Verfahren zur automatischen Handschrifterkennung mittels eines benutzerunabhängigen chirographischen Labelalphabets
DE69432114T2 (de) * 1993-11-24 2003-10-30 Canon Kk System zum Identifizieren und Verarbeiten von Formularen
DE69423296T2 (de) * 1993-11-30 2000-11-30 Hewlett Packard Co Anordnung zur Dateneingabe
SG46656A1 (en) 1993-12-01 1998-02-20 Motorola Inc Combined dictionary based and likely character string method of handwriting recognition
US5875264A (en) * 1993-12-03 1999-02-23 Kaman Sciences Corporation Pixel hashing image recognition system
US5726435A (en) * 1994-03-14 1998-03-10 Nippondenso Co., Ltd. Optically readable two-dimensional code and method and apparatus using the same
US5640468A (en) 1994-04-28 1997-06-17 Hsu; Shin-Yi Method for identifying objects and features in an image
GB9408626D0 (en) 1994-04-29 1994-06-22 Electronic Automation Ltd Machine readable binary code
US5897648A (en) * 1994-06-27 1999-04-27 Numonics Corporation Apparatus and method for editing electronic documents
US5652412A (en) 1994-07-11 1997-07-29 Sia Technology Corp. Pen and paper information recording system
US5748808A (en) * 1994-07-13 1998-05-05 Yashima Electric Co., Ltd. Image reproducing method and apparatus capable of storing and reproducing handwriting
EP0693739A3 (en) 1994-07-13 1997-06-11 Yashima Denki Kk Method and apparatus capable of storing and reproducing handwriting
US5774602A (en) 1994-07-13 1998-06-30 Yashima Electric Co., Ltd. Writing device for storing handwriting
US5718457A (en) 1994-07-29 1998-02-17 Elpatronic Ag Method of marking objects with code symbols
US6052481A (en) * 1994-09-02 2000-04-18 Apple Computers, Inc. Automatic method for scoring and clustering prototypes of handwritten stroke-based data
US5727098A (en) * 1994-09-07 1998-03-10 Jacobson; Joseph M. Oscillating fiber optic display and imager
US5661506A (en) 1994-11-10 1997-08-26 Sia Technology Corporation Pen and paper information recording system using an imaging pen
NO954684L (no) * 1994-11-21 1996-05-22 Compaq Computer Corp Apparat og fremgangsmåte for interaktiv lek med en datamaskin
JPH08237407A (ja) 1994-12-09 1996-09-13 Xerox Corp 画像タイルの相対的なアラインメントを見当合わせすると共に透視歪みを修正するための方法
DE69523024T2 (de) 1994-12-16 2002-03-14 Hyundai Electronics America Digitalisierstift und Betriebsverfahren
US5961571A (en) 1994-12-27 1999-10-05 Siemens Corporated Research, Inc Method and apparatus for automatically tracking the location of vehicles
US5939703A (en) 1995-01-03 1999-08-17 Xerox Corporation Distributed dimensional labeling for dimensional characterization of embedded data blocks
US5626620A (en) * 1995-02-21 1997-05-06 Medtronic, Inc. Dual chamber pacing system and method with continual adjustment of the AV escape interval so as to maintain optimized ventricular pacing for treating cardiomyopathy
US6295372B1 (en) * 1995-03-03 2001-09-25 Palm, Inc. Method and apparatus for handwriting input on a pen based palmtop computing device
JP3668275B2 (ja) 1995-03-15 2005-07-06 シャープ株式会社 デジタル情報記録方法、解読方法および解読装置
JPH08255233A (ja) 1995-03-16 1996-10-01 Toshiba Corp バーコード符号化システム
JP3474022B2 (ja) 1995-04-20 2003-12-08 株式会社日立製作所 地図表示装置、地図表示方法、地図表示装置用演算処理部およびナビゲーションシステム
JPH08313215A (ja) * 1995-05-23 1996-11-29 Olympus Optical Co Ltd 2次元距離センサ
JPH0944592A (ja) * 1995-05-23 1997-02-14 Olympus Optical Co Ltd 情報再生システム
US5661291A (en) 1995-06-07 1997-08-26 Hand Held Products, Inc. Audio proof of delivery system and method
US6044165A (en) * 1995-06-15 2000-03-28 California Institute Of Technology Apparatus and method for tracking handwriting from visual input
US5719884A (en) * 1995-07-27 1998-02-17 Hewlett-Packard Company Error correction method and apparatus based on two-dimensional code array with reduced redundancy
US7770013B2 (en) 1995-07-27 2010-08-03 Digimarc Corporation Digital authentication with digital and analog documents
US6081261A (en) 1995-11-01 2000-06-27 Ricoh Corporation Manual entry interactive paper and electronic document handling and processing system
JPH09146691A (ja) 1995-11-17 1997-06-06 Hitachi Ltd 情報処理装置
US6000621A (en) 1995-12-21 1999-12-14 Xerox Corporation Tilings of mono-code and dual-code embedded data pattern strips for robust asynchronous capture
US5902968A (en) 1996-02-20 1999-05-11 Ricoh Company, Ltd. Pen-shaped handwriting input apparatus using accelerometers and gyroscopes and an associated operational device for determining pen movement
US6259827B1 (en) 1996-03-21 2001-07-10 Cognex Corporation Machine vision methods for enhancing the contrast between an object and its background using multiple on-axis images
US6573887B1 (en) 1996-04-22 2003-06-03 O'donnell, Jr. Francis E. Combined writing instrument and digital documentor
US6686910B2 (en) * 1996-04-22 2004-02-03 O'donnell, Jr. Francis E. Combined writing instrument and digital documentor apparatus and method of use
US5890177A (en) * 1996-04-24 1999-03-30 International Business Machines Corporation Method and apparatus for consolidating edits made by multiple editors working on multiple document copies
US5692073A (en) 1996-05-03 1997-11-25 Xerox Corporation Formless forms and paper web using a reference-based mark extraction technique
US6054990A (en) * 1996-07-05 2000-04-25 Tran; Bao Q. Computer system with handwriting annotation
US6014462A (en) * 1996-07-08 2000-01-11 Ricoh Company, Ltd. Image processing apparatus and method for distinguishing alphanumeric symbols on a white background and those on a mesh pattern and individually processing such image data
US6104834A (en) * 1996-08-01 2000-08-15 Ricoh Company Limited Matching CCITT compressed document images
US5765176A (en) 1996-09-06 1998-06-09 Xerox Corporation Performing document image management tasks using an iconic image having embedded encoded information
US5825892A (en) 1996-10-28 1998-10-20 International Business Machines Corporation Protecting images with an image watermark
US6202060B1 (en) * 1996-10-29 2001-03-13 Bao Q. Tran Data management system
US6157935A (en) 1996-12-17 2000-12-05 Tran; Bao Q. Remote data access and management system
US6000614A (en) 1996-12-20 1999-12-14 Denso Corporation Two-dimensional code reading apparatus
US5937110A (en) 1996-12-20 1999-08-10 Xerox Corporation Parallel propagating embedded binary sequences for characterizing objects in N-dimensional address space
US6594406B1 (en) 1996-12-20 2003-07-15 Xerox Corporation Multi-level selection methods and apparatus using context identification for embedded data graphical user interfaces
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
US5995084A (en) 1997-01-17 1999-11-30 Tritech Microelectronics, Ltd. Touchpad pen-input and mouse controller
US6041335A (en) * 1997-02-10 2000-03-21 Merritt; Charles R. Method of annotating a primary image with an image and for transmitting the annotated primary image
US6208894B1 (en) * 1997-02-26 2001-03-27 Alfred E. Mann Foundation For Scientific Research And Advanced Bionics System of implantable devices for monitoring and/or affecting body parameters
US5817992A (en) 1997-03-05 1998-10-06 Rpg Diffusor Systems, Inc. Planar binary amplitude diffusor
JPH10256921A (ja) 1997-03-13 1998-09-25 Olympus Optical Co Ltd ディジタルデータの変調及び復調方法並びにディジタルデータの変調及び復調装置
AUPO799197A0 (en) 1997-07-15 1997-08-07 Silverbrook Research Pty Ltd Image processing method and apparatus (ART01)
JPH10326331A (ja) * 1997-03-24 1998-12-08 Olympus Optical Co Ltd ドットコードを有する記録媒体及びコード読取装置
US5960085A (en) 1997-04-14 1999-09-28 De La Huerga; Carlos Security badge for automated access control and secure data gathering
US6219149B1 (en) * 1997-04-01 2001-04-17 Fuji Xerox Co., Ltd. Print processing apparatus
US6441920B1 (en) 1997-06-04 2002-08-27 Agfa Corporation System and method for output management
JP4363667B2 (ja) * 1997-06-06 2009-11-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 画像のノイズ圧縮方法
US6188392B1 (en) * 1997-06-30 2001-02-13 Intel Corporation Electronic pen device
US5855594A (en) * 1997-08-08 1999-01-05 Cardiac Pacemakers, Inc. Self-calibration system for capture verification in pacing devices
JP3746378B2 (ja) 1997-08-26 2006-02-15 シャープ株式会社 電子メモ処理装置、電子メモ処理方法、および電子メモ処理プログラムを記録したコンピュータ読取り可能な記録媒体
US20030146883A1 (en) 1997-08-28 2003-08-07 Visualabs Inc. 3-D imaging system
US6518950B1 (en) 1997-10-07 2003-02-11 Interval Research Corporation Methods and systems for providing human/computer interfaces
US6181329B1 (en) * 1997-12-23 2001-01-30 Ricoh Company, Ltd. Method and apparatus for tracking a hand-held writing instrument with multiple sensors that are calibrated by placing the writing instrument in predetermined positions with respect to the writing surface
US6230304B1 (en) 1997-12-24 2001-05-08 Magma Design Automation, Inc. Method of designing a constraint-driven integrated circuit layout
US6254253B1 (en) 1998-01-22 2001-07-03 Viewpoint Technology, Inc. Deflectable laser source having movable piezu elements for projecting images
US6249614B1 (en) 1998-03-06 2001-06-19 Alaris, Inc. Video compression and decompression using dynamic quantization and/or encoding
US6729543B1 (en) 1998-03-06 2004-05-04 Audiovelocity, Inc. Page identification system and method
US6000946A (en) 1998-03-09 1999-12-14 Hewlett-Packard Company Collaborative drawing device
US6570997B2 (en) 1998-03-20 2003-05-27 Canon Kabushiki Kaisha Image processing apparatus and method therefor, and storage medium
US6362440B1 (en) 1998-03-27 2002-03-26 International Business Machines Corporation Flexibly interfaceable portable computing device
US6192380B1 (en) * 1998-03-31 2001-02-20 Intel Corporation Automatic web based form fill-in
US6330976B1 (en) 1998-04-01 2001-12-18 Xerox Corporation Marking medium area with encoded identifier for producing action through network
US6070102A (en) * 1998-04-29 2000-05-30 Medtronic, Inc. Audible sound confirmation of programming an implantable medical device
JPH11355547A (ja) 1998-05-22 1999-12-24 Internatl Business Mach Corp <Ibm> 幾何変換特定システム
US6584052B1 (en) 1998-06-02 2003-06-24 Science Applications International Corporation Method and apparatus for controlling the focus of a read/write head for an optical scanner
JP4033582B2 (ja) 1998-06-09 2008-01-16 株式会社リコー 座標入力/検出装置および電子黒板システム
AU5572799A (en) 1998-08-18 2000-03-14 Digital Ink, Inc. Handwriting device with detection sensors for absolute and relative positioning
US6256398B1 (en) 1998-08-22 2001-07-03 Kenneth H. P. Chang Encoding and decoding a message within an image
US6970183B1 (en) 2000-06-14 2005-11-29 E-Watch, Inc. Multimedia surveillance and monitoring system including network configuration
JP3462986B2 (ja) 1998-08-31 2003-11-05 株式会社日立製作所 カメラ付きペン型入力装置
US6108453A (en) 1998-09-16 2000-08-22 Intel Corporation General image enhancement framework
US6278434B1 (en) * 1998-10-07 2001-08-21 Microsoft Corporation Non-square scaling of image data to be mapped to pixel sub-components
US6088482A (en) * 1998-10-22 2000-07-11 Symbol Technologies, Inc. Techniques for reading two dimensional code, including maxicode
JP2000131640A (ja) 1998-10-23 2000-05-12 Sony Corp 画像表示装置
DE19851000C2 (de) 1998-11-05 2001-07-26 Dornier Gmbh Projektionsanordnung
US6532152B1 (en) * 1998-11-16 2003-03-11 Intermec Ip Corp. Ruggedized hand held computer
US6226636B1 (en) 1998-11-20 2001-05-01 Philips Electronics North America Corp. System for retrieving images using a database
US6801659B1 (en) 1999-01-04 2004-10-05 Zi Technology Corporation Ltd. Text input system for ideographic and nonideographic languages
US6278968B1 (en) 1999-01-29 2001-08-21 Sony Corporation Method and apparatus for adaptive speech recognition hypothesis construction and selection in a spoken language translation system
US6529638B1 (en) 1999-02-01 2003-03-04 Sharp Laboratories Of America, Inc. Block boundary artifact reduction for block-based image compression
US6551357B1 (en) * 1999-02-12 2003-04-22 International Business Machines Corporation Method, system, and program for storing and retrieving markings for display to an electronic media file
US6560741B1 (en) 1999-02-24 2003-05-06 Datastrip (Iom) Limited Two-dimensional printed code for storing biometric information and integrated off-line apparatus for reading same
JP2000251012A (ja) 1999-03-01 2000-09-14 Hitachi Ltd 帳票処理方法およびシステム
JP3513420B2 (ja) 1999-03-19 2004-03-31 キヤノン株式会社 座標入力装置及びその制御方法、コンピュータ可読メモリ
US6614422B1 (en) * 1999-11-04 2003-09-02 Canesta, Inc. Method and apparatus for entering data using a virtual input device
US7707082B1 (en) 1999-05-25 2010-04-27 Silverbrook Research Pty Ltd Method and system for bill management
US7088459B1 (en) * 1999-05-25 2006-08-08 Silverbrook Research Pty Ltd Method and system for providing a copy of a printed page
US6832717B1 (en) 1999-05-25 2004-12-21 Silverbrook Research Pty Ltd Computer system interface surface
US6727996B1 (en) * 1999-05-25 2004-04-27 Silverbrook Research Pty Ltd Interactive printer
SE516522C2 (sv) 1999-05-28 2002-01-22 Anoto Ab Positionsbestämning
US6880124B1 (en) * 1999-06-04 2005-04-12 Hewlett-Packard Development Company, L.P. Methods of storing and retrieving information, and methods of document retrieval
US6294775B1 (en) 1999-06-08 2001-09-25 University Of Washington Miniature image acquistion system using a scanning resonant waveguide
WO2001003017A1 (en) 1999-06-30 2001-01-11 Silverbrook Research Pty Ltd Method and system for user registration on terminal
US6847356B1 (en) * 1999-08-13 2005-01-25 Canon Kabushiki Kaisha Coordinate input device and its control method, and computer readable memory
JP3587506B2 (ja) * 1999-08-30 2004-11-10 富士重工業株式会社 ステレオカメラの調整装置
US7225979B2 (en) 1999-09-17 2007-06-05 Silverbrook Research Pty Ltd Methods and systems for object identification and interaction
US6539098B1 (en) 1999-09-24 2003-03-25 Mailcode Inc. Mail processing systems and methods
SE517445C2 (sv) * 1999-10-01 2002-06-04 Anoto Ab Positionsbestämning på en yta försedd med ett positionskodningsmönster
US6874420B2 (en) * 1999-10-22 2005-04-05 Cc1, Inc. System and method for register mark recognition
US6710770B2 (en) * 2000-02-11 2004-03-23 Canesta, Inc. Quasi-three-dimensional method and apparatus to detect and localize interaction of user-object and virtual transfer device
US6935562B2 (en) 1999-12-06 2005-08-30 Xerox Corporation Operations on images having glyph carpets
US6880755B2 (en) * 1999-12-06 2005-04-19 Xerox Coporation Method and apparatus for display of spatially registered information using embedded data
JP2001177712A (ja) * 1999-12-15 2001-06-29 Fuji Xerox Co Ltd 画像処理装置および被画像形成媒体
US6870547B1 (en) * 1999-12-16 2005-03-22 Eastman Kodak Company Method and apparatus for rendering a low-resolution thumbnail image suitable for a low resolution display having a reference back to an original digital negative and an edit list of operations
US7295193B2 (en) 1999-12-23 2007-11-13 Anoto Ab Written command
AU2628301A (en) 2000-01-06 2001-07-16 Zen Optical Technology Llc Pen-based handwritten character recognition and storage system
US6697056B1 (en) * 2000-01-11 2004-02-24 Workonce Wireless Corporation Method and system for form recognition
US6661920B1 (en) 2000-01-19 2003-12-09 Palm Inc. Method and apparatus for multiple simultaneously active data entry mechanisms on a computer system
US6738053B1 (en) 2000-02-16 2004-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Predefined electronic pen applications in specially formatted paper
US6992655B2 (en) * 2000-02-18 2006-01-31 Anoto Ab Input unit arrangement
US6603464B1 (en) 2000-03-03 2003-08-05 Michael Irl Rabin Apparatus and method for record keeping and information distribution
US20020048404A1 (en) * 2000-03-21 2002-04-25 Christer Fahraeus Apparatus and method for determining spatial orientation
US6864880B2 (en) * 2000-03-21 2005-03-08 Anoto Ab Device and method for communication
SE0000949L (sv) * 2000-03-21 2001-09-22 Anoto Ab Positionsinformation
US6999622B2 (en) * 2000-03-31 2006-02-14 Brother Kogyo Kabushiki Kaisha Stroke data editing device
WO2001076120A2 (en) 2000-04-04 2001-10-11 Stick Networks, Inc. Personal communication device for scheduling presentation of digital content
US20060082557A1 (en) * 2000-04-05 2006-04-20 Anoto Ip Lic Hb Combined detection of position-coding pattern and bar codes
US20010038383A1 (en) 2000-04-05 2001-11-08 Petter Ericson Method and apparatus for information management
US20020050982A1 (en) 2000-04-05 2002-05-02 Petter Ericson Data form having a position-coding pattern detectable by an optical sensor
US6522928B2 (en) * 2000-04-27 2003-02-18 Advanced Bionics Corporation Physiologically based adjustment of stimulation parameters to an implantable electronic stimulator to reduce data transmission rate
US6479768B1 (en) 2000-05-17 2002-11-12 Hoton How Precision data acquisition using magnetomechanical transducer
US6751352B1 (en) 2000-05-25 2004-06-15 Hewlett-Packard Development Company, L.P. Method and apparatus for generating and decoding a visually significant barcode
JP2002010058A (ja) 2000-06-20 2002-01-11 Matsushita Electric Ind Co Ltd 電子透かし埋込方法、電子透かし取出方法、記録媒体、画像記録装置及び画像再生装置
US7092122B2 (en) 2000-07-18 2006-08-15 Fuji Photo Film Co., Ltd. Image processing device and method
US20030050803A1 (en) * 2000-07-20 2003-03-13 Marchosky J. Alexander Record system
US6585154B1 (en) 2000-08-03 2003-07-01 Yaakov Ostrover System, method and devices for documents with electronic copies attached thereto
US6650320B1 (en) 2000-08-16 2003-11-18 International Business Machines Corporation Digital pen using visible image and autocorrelation of substrate pattern
US6592039B1 (en) 2000-08-23 2003-07-15 International Business Machines Corporation Digital pen using interferometry for relative and absolute pen position
US7102700B1 (en) 2000-09-02 2006-09-05 Magic Lantern Llc Laser projection system
US20020031622A1 (en) * 2000-09-08 2002-03-14 Ippel Scott C. Plastic substrate for information devices and method for making same
US6834337B1 (en) 2000-09-29 2004-12-21 International Business Machines Corporation System and method for enabling multiple signed independent data elements per register
JP4419305B2 (ja) 2000-09-29 2010-02-24 ブラザー工業株式会社 座標読み取り装置
CA2359260C (en) 2000-10-20 2004-07-20 Samsung Electronics Co., Ltd. Coding apparatus and method for orientation interpolator node
US6580424B1 (en) 2000-10-21 2003-06-17 Microsoft Corporation System and method for interactive room modeling from camera images
US7167164B2 (en) * 2000-11-10 2007-01-23 Anoto Ab Recording and communication of handwritten information
US6856712B2 (en) * 2000-11-27 2005-02-15 University Of Washington Micro-fabricated optical waveguide for use in scanning fiber displays and scanned fiber image acquisition
US20020163511A1 (en) 2000-11-29 2002-11-07 Sekendur Oral Faith Optical position determination on any surface
JP2002240387A (ja) 2000-12-12 2002-08-28 Ricoh Co Ltd 画像形成方法、画像形成装置及び画像情報管理システム
US20040128511A1 (en) 2000-12-20 2004-07-01 Qibin Sun Methods and systems for generating multimedia signature
US6538187B2 (en) * 2001-01-05 2003-03-25 International Business Machines Corporation Method and system for writing common music notation (CMN) using a digital pen
US6968453B2 (en) 2001-01-17 2005-11-22 International Business Machines Corporation Secure integrated device with secure, dynamically-selectable capabilities
US20040032393A1 (en) * 2001-04-04 2004-02-19 Brandenberg Carl Brock Method and apparatus for scheduling presentation of digital content on a personal communication device
AUPR440901A0 (en) 2001-04-12 2001-05-17 Silverbrook Research Pty. Ltd. Error detection and correction
KR100408518B1 (ko) 2001-04-12 2003-12-06 삼성전자주식회사 컴퓨터용 전자펜 데이타 입력장치 및 좌표 측정 방법
US6865325B2 (en) * 2001-04-19 2005-03-08 International Business Machines Corporation Discrete pattern, apparatus, method, and program storage device for generating and implementing the discrete pattern
US7176906B2 (en) * 2001-05-04 2007-02-13 Microsoft Corporation Method of generating digital ink thickness information
DE10123406A1 (de) * 2001-05-15 2002-11-21 Sick Ag Verfahren zum Erfassen von zweidimensionalen Codes
US6517266B2 (en) * 2001-05-15 2003-02-11 Xerox Corporation Systems and methods for hand-held printing on a surface or medium
US6814289B2 (en) 2001-05-30 2004-11-09 Sandia Corporation Self-registering spread-spectrum barcode method
US20030030638A1 (en) * 2001-06-07 2003-02-13 Karl Astrom Method and apparatus for extracting information from a target area within a two-dimensional graphical object in an image
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
US20030001020A1 (en) * 2001-06-27 2003-01-02 Kardach James P. Paper identification information to associate a printed application with an electronic application
DE10132243C2 (de) 2001-07-04 2003-04-30 Fraunhofer Ges Forschung Kabelloses Interaktionssystem für Anwendungen der virtuellen Realität
JP3523618B2 (ja) 2001-08-02 2004-04-26 シャープ株式会社 座標入力システムおよび座標入力システムに用いる座標パターン形成用紙
US20030034961A1 (en) * 2001-08-17 2003-02-20 Chi-Lei Kao Input system and method for coordinate and pattern
US6933933B2 (en) 2001-10-02 2005-08-23 Harris Corporation Pen cartridge that transmits acceleration signal for recreating handwritten signatures and communications
US7145556B2 (en) 2001-10-29 2006-12-05 Anoto Ab Method and device for decoding a position-coding pattern
JP3771831B2 (ja) 2001-11-01 2006-04-26 インターナショナル・ビジネス・マシーンズ・コーポレーション デジタル・コンテンツに付加されるアノテーション情報を共有するためのコンピュータ・システムおよびプログラム
US7003150B2 (en) * 2001-11-05 2006-02-21 Koninklijke Philips Electronics N.V. Homography transfer from point matches
US20030088781A1 (en) 2001-11-06 2003-05-08 Shamrao Andrew Divaker Systems and methods for ensuring security and convenience
US7283676B2 (en) 2001-11-20 2007-10-16 Anoto Ab Method and device for identifying objects in digital images
JP3747175B2 (ja) 2001-11-30 2006-02-22 キヤノン株式会社 印刷制御装置及び方法
SE520682C2 (sv) * 2001-12-06 2003-08-12 Anoto Ab Rekonstruering av ett virtuellt raster
US6744967B2 (en) 2001-12-20 2004-06-01 Scientific-Atlanta, Inc. Program position user interface for personal video recording time shift buffer
US20030117378A1 (en) 2001-12-21 2003-06-26 International Business Machines Corporation Device and system for retrieving and displaying handwritten annotations
US6862371B2 (en) * 2001-12-31 2005-03-01 Hewlett-Packard Development Company, L.P. Method of compressing images of arbitrarily shaped objects
US7024429B2 (en) * 2002-01-31 2006-04-04 Nextpage,Inc. Data replication based upon a non-destructive data model
US7190843B2 (en) 2002-02-01 2007-03-13 Siemens Corporate Research, Inc. Integrated approach to brightness and contrast normalization in appearance-based object detection
US6938222B2 (en) 2002-02-08 2005-08-30 Microsoft Corporation Ink gestures
JP4080919B2 (ja) 2002-03-22 2008-04-23 株式会社リコー プリンタドライバ及びプリンタ、並びに印刷方法
US7123742B2 (en) 2002-04-06 2006-10-17 Chang Kenneth H P Print user interface system and its applications
US20030214553A1 (en) 2002-05-14 2003-11-20 Microsoft Corporation Ink regions in an overlay control
US6831273B2 (en) 2002-07-31 2004-12-14 General Electric Company Ion mobility spectrometers with improved resolution
US6919892B1 (en) 2002-08-14 2005-07-19 Avaworks, Incorporated Photo realistic talking head creation system and method
US6993185B2 (en) * 2002-08-30 2006-01-31 Matsushita Electric Industrial Co., Ltd. Method of texture-based color document segmentation
GB2393149B (en) 2002-09-23 2004-08-18 Sheng Tien Lin Image transmitting ball-point pen
US7142197B2 (en) 2002-10-31 2006-11-28 Microsoft Corporation Universal computing device
US7036938B2 (en) 2002-10-31 2006-05-02 Microsoft Corporation Pen projection display
US7133563B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7262764B2 (en) 2002-10-31 2007-08-28 Microsoft Corporation Universal computing device for surface applications
US7116840B2 (en) 2002-10-31 2006-10-03 Microsoft Corporation Decoding and error correction in 2-D arrays
US7133031B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Optical system design for a universal computing device
US7430497B2 (en) 2002-10-31 2008-09-30 Microsoft Corporation Statistical model for global localization
US20040090429A1 (en) 2002-11-12 2004-05-13 Geaghan Bernard O. Touch sensor and method of making
US20050044164A1 (en) * 2002-12-23 2005-02-24 O'farrell Robert Mobile data and software update system and method
US7840492B2 (en) 2002-12-30 2010-11-23 Pitney Bowes Inc. Personal funds metering system and method
JP2007504576A (ja) 2003-01-17 2007-03-01 アヤラ,フランシスコ,ジェイ 人工知能を開発するためのシステム及び方法
US6975334B1 (en) 2003-03-27 2005-12-13 Systems Paving Method and apparatus for simulating the appearance of paving stone on an existing driveway
US7119816B2 (en) 2003-03-31 2006-10-10 Microsoft Corp. System and method for whiteboard scanning to obtain a high resolution image
JP4277800B2 (ja) 2003-04-25 2009-06-10 沖電気工業株式会社 透かし情報検出方法
US6879731B2 (en) * 2003-04-29 2005-04-12 Microsoft Corporation System and process for generating high dynamic range video
US6960777B2 (en) * 2003-08-23 2005-11-01 Hewlett-Packard Development Company, L.P. Image-forming device sensing mechanism
US20050052700A1 (en) * 2003-09-10 2005-03-10 Andrew Mackenzie Printing digital documents
JP4443181B2 (ja) 2003-10-15 2010-03-31 株式会社日立製作所 コミュニケーションシステム及び方法
CN1303494C (zh) 2003-10-27 2007-03-07 江陵机电股份有限公司 热移除装置及其制造方法
JP2005141477A (ja) * 2003-11-06 2005-06-02 Noritsu Koki Co Ltd 画像鮮鋭化処理方法とこの方法を実施する画像処理装置
US7517041B2 (en) 2003-11-19 2009-04-14 Donald J Palmer Printing and detecting a fixer pattern on a medium
US7111230B2 (en) 2003-12-22 2006-09-19 Pitney Bowes Inc. System and method for annotating documents
US7136054B2 (en) 2004-01-06 2006-11-14 Microsoft Corporation Camera-pen-tip mapping and calibration
US7583842B2 (en) 2004-01-06 2009-09-01 Microsoft Corporation Enhanced approach of m-array decoding and error correction
US7529410B2 (en) 2004-01-07 2009-05-05 Microsoft Corporation Local localization using fast image match
US7263224B2 (en) 2004-01-16 2007-08-28 Microsoft Corporation Strokes localization by m-array decoding and fast image matching
US20060125805A1 (en) 2004-03-17 2006-06-15 James Marggraff Method and system for conducting a transaction using recognized text
US7048198B2 (en) 2004-04-22 2006-05-23 Microsoft Corporation Coded pattern for an optical device and a prepared surface
US7505982B2 (en) * 2004-12-03 2009-03-17 Microsoft Corporation Local metadata embedding solution
US7536051B2 (en) 2005-02-17 2009-05-19 Microsoft Corporation Digital pen calibration by local linearization
US7607076B2 (en) 2005-02-18 2009-10-20 Microsoft Corporation Embedded interaction code document
US7532366B1 (en) 2005-02-25 2009-05-12 Microsoft Corporation Embedded interaction code printing with Microsoft Office documents
US7477784B2 (en) * 2005-03-01 2009-01-13 Microsoft Corporation Spatial transforms from displayed codes
US20060215913A1 (en) 2005-03-24 2006-09-28 Microsoft Corporation Maze pattern analysis with image matching
US7546524B1 (en) 2005-03-30 2009-06-09 Amazon Technologies, Inc. Electronic input device, system, and method using human-comprehensible content to automatically correlate an annotation of a paper document with a digital version of the document
US7403658B2 (en) 2005-04-15 2008-07-22 Microsoft Corporation Direct homography computation by local linearization
US20060242562A1 (en) 2005-04-22 2006-10-26 Microsoft Corporation Embedded method for embedded interaction code array
US7421439B2 (en) 2005-04-22 2008-09-02 Microsoft Corporation Global metadata embedding and decoding
US7542976B2 (en) 2005-04-22 2009-06-02 Microsoft Corporation Local metadata embedding and decoding
US7599560B2 (en) 2005-04-22 2009-10-06 Microsoft Corporation Embedded interaction code recognition
US7720286B2 (en) 2005-05-25 2010-05-18 Advanced Digital Systems, Inc. System and method for associating handwritten information with one or more objects via discontinuous regions of a printed pattern
US7400777B2 (en) 2005-05-25 2008-07-15 Microsoft Corporation Preprocessing for information pattern analysis
US7580576B2 (en) 2005-06-02 2009-08-25 Microsoft Corporation Stroke localization and binding to electronic document
US7528848B2 (en) 2005-06-30 2009-05-05 Microsoft Corporation Embedded interaction code decoding for a liquid crystal display
US7619607B2 (en) 2005-06-30 2009-11-17 Microsoft Corporation Embedding a pattern design onto a liquid crystal display
US7622182B2 (en) 2005-08-17 2009-11-24 Microsoft Corporation Embedded interaction code enabled display

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020024640A1 (en) 2000-08-29 2002-02-28 Olympus Optical Co., Ltd. Image projection display apparatus using plural projectors and projected image compensation apparatus
US20030189664A1 (en) 2001-10-03 2003-10-09 Andreas Olsson Optical sensor device and a method of controlling its exposure time
US20040086181A1 (en) 2002-10-31 2004-05-06 Microsoft Corporation Active embedded interaction code
US20040085286A1 (en) 2002-10-31 2004-05-06 Microsoft Corporation Universal computing device

Also Published As

Publication number Publication date
US20070041654A1 (en) 2007-02-22
KR20080044838A (ko) 2008-05-21
EP1915724A4 (en) 2011-07-27
EP1915724A1 (en) 2008-04-30
CN101243462B (zh) 2012-07-04
WO2007022394A1 (en) 2007-02-22
CN101243462A (zh) 2008-08-13
US7817816B2 (en) 2010-10-19

Similar Documents

Publication Publication Date Title
KR101312830B1 (ko) 임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법
KR101251695B1 (ko) 임베딩된 상호작용 코드 지원 디스플레이
RU2360303C2 (ru) Анализ изображения позиционно кодированного документа и нанесение метки
KR101026580B1 (ko) 문서의 이미지를 인코딩하기 위한 시스템 및 데이터 스트림을 패턴으로서 인코딩하기 위한 방법
US7421439B2 (en) Global metadata embedding and decoding
RU2375740C2 (ru) ОПРЕДЕЛЕНИЕ РАСПОЛОЖЕНИЯ ШТРИХОВ ПОСРЕДСТВОМ ДЕКОДИРОВАНИЯ m-МАССИВА И БЫСТРОГО СРАВНЕНИЯ ИЗОБРАЖЕНИЙ
US7580576B2 (en) Stroke localization and binding to electronic document
KR101122822B1 (ko) m-어레이 디코딩 및 오류 정정에 대한 향상된 접근
US7599560B2 (en) Embedded interaction code recognition
US7542976B2 (en) Local metadata embedding and decoding
US20060242562A1 (en) Embedded method for embedded interaction code array
EP1553482A1 (en) Camera-pen-tip mapping and calibration

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
LAPS Lapse due to unpaid annual fee