KR101312830B1 - 임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법 - Google Patents
임베딩된 상호작용 코드 지원 표면 유형 식별을 위한 이미지 처리 시스템 및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/17—Image acquisition using hand-held instruments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
- G06V10/19—Image 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
컴퓨터 사용자는 퍼스널 컴퓨터와 상호작용하는 방법으로서 마우스 및 키보드를 사용하는 것에 익숙해져 있다. 퍼스널 컴퓨터가 필기된 문서보다 다수의 이점을 제공하지만, 대부분의 사용자는 인쇄된 종이를 사용하여 어떤 기능을 계속 수행한다. 이들 기능 중 어떤 것은 필기된 문서를 읽는 것 및 그에 주석을 첨부하는 것을 포함한다. 주석 첨부의 경우에, 주석 첨부가 사용자에 의해 인쇄된 문서 상에 행해지기 때문에 인쇄된 문서가 더 중요한 의미를 갖는다. 그렇지만, 인쇄된 문서가 주석을 갖는 데 있어서의 어려움들 중 하나는 그 주석이 나중에 다시 문서의 전자 형태에 입력되어야만 한다는 것이다. 이렇게 하려면 최초의 사용자 또는 다른 사용자가 주석을 다 훑어보고 이를 퍼스널 컴퓨터에 입력해야만 한다. 어떤 경우에, 사용자는 주석 및 원래의 텍스트를 스캔하고, 그에 의해 새 문서를 생성한다. 이들 다수의 단계는 인쇄된 문서와 그 문서의 전자 버전 간의 상호작용을 반복하여 처리하기 어렵게 만든다. 게다가, 스캔된 이미지는 종종 수정가능하지 않다. 주석을 원래의 텍스트와 분리할 방법이 없을 수 있다. 이것으로 인해 주석을 사용하는 것이 어렵게 된다. 그에 따라, 주석을 처리하는 개선된 방법이 요망된다.
필기된 정보를 캡처하는 한가지 기법은 필기 동안에 위치가 결정될 수 있는 이미지 캡처 펜(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)에 대한 가상 펜 선단 위치가 고정되어 있다는 것이다.
여기서, 및 는 위치(204)에서 캡처된 패턴의 2가지 배향의 회전 및 스케일이다. 게다가, 캡처된 이미지를 종이 상의 대응하는 실제 이미지와 정합시킴으로써 를 세분할 수 있다. "세분한다(refine)"는 것은 재귀적 방법(recursive method)이라고 하는 일종의 최적화 알고리즘에 의해 변환 의 보다 정밀한 추정을 얻는 것을 의미한다. 재귀적 방법은 행렬 를 초기값으로서 취급한다. 세분된 추정은 S와 P 간의 변환을 더 정밀하게 기술한다.
다음에, 캘리브레이션(calibration)에 의해 가상 펜 선단의 위치를 결정할 수 있다.
펜 선단(202)을 종이 상의 고정된 위치 에 놓는다. 그 다음에, 펜을 기울여, 카메라(203)가 서로 다른 펜 자세(pen pose)에서의 일련의 이미지를 캡처할 수 있게 해준다. 캡처된 각각의 이미지에 대해, 변환 을 획득할 수 있다. 이 변환으로부터, 가상 펜 선단의 위치 를 구할 수 있다.
이다.
각각의 이미지에서 구해진 을 평균함으로써, 가상 펜 선단 의 위치가 결정될 수 있다. 을 사용하여, 의 더 정확한 추정을 얻을 수 있다. 몇번의 반복 이후에, 가상 펜 선단의 정확한 위치 가 결정될 수 있다.
어레이의 인코딩
1차원 시퀀스를 폴딩(folding)함으로써 2차원 어레이가 구성될 수 있다. 충분히 큰 비트 수를 포함하는 2차원 어레이의 임의의 부분이 전체적인 2차원 어레이에서의 그의 위치를 결정하는데 사용될 수 있다. 그렇지만, 하나의 캡처된 이미지 또는 몇개의 캡처된 이미지로부터 위치를 결정할 필요가 있을 수 있다. 캡처된 이미지 부분이 2차원 어레이에서의 2개 이상의 위치와 연관될 가능성을 최소화하기 위해, 어레이를 생성하는 데 반복하지 않는 시퀀스가 사용될 수 있다. 생성된 시퀀스의 한 특성은 이 시퀀스가 특정의 길이(예를 들어, 윈도우 크기)에 걸쳐 반복하지 않는다는 것이다. 이하에서는 1차원 시퀀스를 생성하고 이어서 이 시퀀스를 어레이로 폴딩하는 것에 대해 기술한다.
시퀀스 구성
숫자들의 시퀀스가 인코딩 시스템의 시작점으로서 사용될 수 있다. 예를 들어, 시퀀스(또한 m-시퀀스라고도 함)는 필드 내의 q-요소 세트로 표현될 수 있다. 여기서, 이며, n≥1이고 p는 소수이다. 시퀀스 또는 m-시퀀스는 다항식 나눗셈(polynomial division)(이에 한정되지 않음)을 비롯한 다양한 서로 다른 기법에 의해 생성될 수 있다. 다항식 나눗셈을 사용하여, 시퀀스는 다음과 같이 정의될 수 있다.
여기서, 는 (qn개의 요소를 갖는) 필드 내의 차수(degree) n의 원시 다항식이다. 는 필드 내의 차수 (단, 임)의 영이 아닌 다항식이다. 2 단계, 첫째, 2개의 다항식을 나누는 것(필드 의 요소가 얻어짐), 및 둘째, 나머지를 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)와 다항식 간의 관계가 설정된다. 를 순환적으로만 변경하는 것은 시퀀스를 시프트시키며, 모든 순환 시프트는 다항식 에 대응한다. 결과 시퀀스의 특성들 중 하나는 시퀀스가 의 주기를 가지며, 주기 내에서 폭(또는 길이) n에 걸쳐, 임의의 부분이 시퀀스 내에서 단 한번만 존재한다. 이것을 "윈도우 속성(window property)"이라고 한다. 주기 는 또한 시퀀스의 길이라고도 하며, n는 시퀀스의 차수(order)라고 한다. 우리의 구현에서, q는 2로서 선택된다.
상기한 프로세스는 윈도우 특성을 갖는 시퀀스를 생성하는 데 사용될 수 있 는 다양한 프로세스 중 하나에 불과하다.
어레이 구성
(카메라에 의해 일부분이 캡처될 수 있는) 이미지를 생성하는 데 사용될 수 있는 어레이(또는 m-어레이)는 1차원 시퀀스 또는 m-시퀀스의 확장이다. A를 주기 (m1, m2)의 어레이라고 하자, 즉 라고 하자. 윈도우가 주기 A를 시프트될 때, 영이 아닌 행렬들 모두가 에 걸쳐 한번만 나타난다. 이 속성은 각각의 윈도우가 고유하다는 점에서 "윈도우 속성(window property)"이라고도 한다. 이어서, 윈도우는 주기 (m1, m2)(m1 및 m2는 어레이에 존재하는 수평 및 수직 비트 수임) 및 차수 (n1, n2)의 어레이로서 표현될 수 있다.
이진 어레이(또는 m-어레이)는 이 시퀀스를 폴딩함으로써 구성될 수 있다. 한가지 방법은 시퀀스를 획득하고 이어서 이를 m1 x m2 크기로 폴딩하는 것이며, 여기서 어레이의 길이는 이다. 다른 대안으로서, 커버하고자 하는 공간의 미리 정해진 크기(예를 들어, 한 장의 종이, 30장의 종이 또는 컴퓨터 모니터의 크기)로 시작하고, 영역 (m1 x m2)을 결정하며, 이어서 이 크기를 사용하여 (단, 임)로 한다.
다양한 서로 다른 폴딩 기법이 사용될 수 있다. 예를 들어, 도 3a 내지 도 3c는 3가지 서로 다른 시퀀스를 보여준다. 이들 각각은 도 3d에 나타낸 어레이로 폴딩될 수 있다. 3가지 서로 다른 폴딩 방법이 도 3d에 오버레이(overlay)로서 또 도 3e 및 도 3f에 래스터 경로(raster path)로서 도시되어 있다. 우리는 도 3d에 도시된 폴딩 방법을 채택한다.
도 3d에 도시된 폴딩 방법을 생성하기 위해, 길이 L 및 차수 n의 시퀀스 를 생성한다. 그 다음에, 어레이의 각각의 비트가 수학식 1로 나타낸 바와 같이 계산되게 함으로써 크기 의 어레이 (단, 이고 임)가 시퀀스 로부터 생성된다.
이 폴딩 방법은 다른 대안으로서 어레이의 대각선 상에 시퀀스를 배치하고 모서리(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는 이하의 비트 표현을 갖는 것으로 볼 수 있다.
디코딩
사람이 도 2a의 펜으로 쓸 때 또는 인코딩된 패턴 가까이로 펜을 이동시킬 때, 카메라가 이미지를 캡처한다. 예를 들어, 펜(201)이 종이에 대해 눌러지고 펜(201)이 종이 상의 문서를 가로질러 갈 때 펜(201)은 압력 센서를 이용할 수 있다. 이어서, 이미지가 처리되어 인코딩된 이미지의 전체 표현에 대한 캡처된 이미지의 배향을 결정하고 캡처된 이미지를 구성하는 비트를 추출한다.
인코딩된 영역 전체에 대한 캡처된 이미지의 배향의 결정을 위해, 도 5a 내지 도 5d에 도시된 4개의 인식가능한 모서리 전부가 그래픽 패턴(403)에 존재할 수 있는 것은 아니라는 것을 알 수 있다. 실제로, 정확한 배향의 경우, 도 5a에 도시된 유형의 모서리가 그래픽 패턴(403)에 존재할 수 없다. 따라서, 도 5a에 도시된 유형의 모서리가 없는 배향이 올바른 배향이다.
계속하여 도 6을 참조하면, 이미지(601)에 의해 실제로 표현되는 위치에 관하여 해석될 수 있도록 카메라(601)에 의해 캡처되는 이미지가 분석되고 그의 배향 이 결정될 수 있다. 먼저, 픽셀이 수평 및 수직으로 일렬로 정렬되도록 이미지를 회전시키는 데 필요한 각도 를 결정하기 위해 이미지(601)가 검토된다. 유의할 점은 하부의 격자를 회전하여 수평 및 수직이 아닌 배열(non-horizontal and vertical arrangement)(예를 들어, 45°)로 하는 것을 비롯한 대안의 격자 정렬이 가능하다는 것이다. 수평 및 수직이 아닌 배열을 사용하면 사용자로부터 시각적 혼란(visual distraction)을 제거하는 잠재적인 이점을 제공할 수 있는데, 그 이유는 사용자가 다른 것들보다 수평 및 수직 패턴을 알아채는 경향이 있을 수 있기 때문이다. 간단함을 위해, 격자의 배향(하부의 격자의 수평 및 수직 또 임의의 다른 회전)을 총괄하여 미리 정해진 격자 배향(predefined grid orientation)이라고 한다.
그 다음에, 이미지(601)는 어느 모서리가 없는지를 결정하기 위해 분석된다. 디코딩(603) 준비가 된 이미지에 대해 이미지(601)를 회전시키는 데 필요한 양 은 + 회전량 {어느 모서리가 없는지에 의해 정의됨})으로 도시되어 있다. 이 회전량은 도 7에 방정식으로 나타내어져 있다. 다시 도 6을 참조하면, 각도 가 먼저 픽셀의 수평 및 수직(또는 다른 미리 정해진 격자 배향) 배열에 도달하기 위해 픽셀의 레이아웃에 의해 결정되고 이미지가 602에 나타낸 바와 같이 회전된다. 그 다음에 누락된 모서리를 결정하기 위해 분석이 행해지고 디코딩을 위한 이미지를 설정하기 위해 이미지(602)가 이미지(603)까지 회전된다. 여기에서, 이미지(603)가 올바른 배향을 가지도록 이미지가 반시계방향으로 90°회전되고 디코딩 을 위해 사용될 수 있다.
누락된 모서리를 고려하기 위해 이미지(601)의 회전 이전 또는 이후에 회전각 이 적용될 수 있다는 것을 잘 알 것이다. 또한, 캡처된 이미지에서의 노이즈를 고려함으로써 4가지 모서리 모두가 존재할 수 있다는 것을 잘 알 것이다. 각각의 유형의 모서리의 수를 카운트할 수 있고 누락된 모서리 유형으로서 가장 적은 수를 갖는 유형을 선택할 수 있다.
마지막으로, 이미지(603) 내의 코드가 판독되고 이미지(403)를 생성하는 데 사용되는 원래의 비트 스트림과 상관된다. 이 상관은 다수의 방식으로 수행될 수 있다. 예를 들어, 이는 복원된 비트 스트림이 원래의 비트 스트림 내의 다른 비트 스트림 프래그먼트 전부와 비교되는 재귀적 방법으로 수행될 수 있다. 둘째, 예를 들어, 2개의 비트 스트림 간의 해밍 거리를 사용함으로써 복원된 비트 스트림과 원래의 비트 스트림 간에 통계적 분석이 수행될 수 있다. 원래의 비트 스트림 내에서 복원된 비트 스트림의 위치를 결정하기 위해 다양한 방법이 사용될 수 있다는 것을 잘 알 것이다.
논의하게 되는 바와 같이, EIC 패턴 분석은 이미지(603)로부터 복원된 비트를 획득한다. 복원된 비트를 가졌으면, 원래의 어레이(예를 들어, 도 4b에 도시된 것) 내에서 캡처된 이미지를 찾아낼 필요가 있다. 전체 어레이 내에서 비트 세그먼트의 위치를 결정하는 프로세스는 다수의 항목들로 복잡하다. 첫째, 캡처될 실제 비트가 모호하게 될 수 있다(예를 들어, 카메라는 원래의 코드를 모호하게 하는 필기를 갖는 이미지를 캡처할 수 있다). 둘째, 먼지, 자국, 반사, 기타 등등도 캡처된 이미지에서 에러를 야기할 수 있다. 이들 에러는 로컬화 프로세스(localization process)를 더 어렵게 만든다. 이 점에서, 이미지 캡처 시스템은 이미지로부터 추출된 비순차적 비트로 기능해야만 할 지도 모른다. 이하는 이미지로부터의 비순차적 비트로 동작하는 방법을 나타낸 것이다.
시퀀스(또는 m-시퀀스) 가 멱급수 (단, n은 m-시퀀스의 차수)에 대응하는 것으로 하고, 캡처된 이미지가 K 비트의 를 포함하며, 여기서 K≥n이고 윗첨자 t는 행렬 또는 벡터의 전치(transpose)를 나타낸다. K 비트의 위치 s는 b0가 시퀀스의 시작으로 천이되도록 하는 의 순환 시프트(cyclic shift)의 횟수일 뿐이다. 이어서, 이 시프트된 시퀀스 는 멱급수 , 즉 에 대응하며, 여기서 T는 순환 시프트 연산자(cyclic shift operator)이다. 우리는 이 s를 간접적으로 구한다. 다항식 모듈로(polynomial module) 는 필드(field)를 형성한다. 이 보장된다. 따라서, 을 구할 수 있고 이어서 s에 대해 풀 수 있다.
여기서, 이고, 은 0-시프트에서 (n-1) 시프트까지의 의 순환 시프트로 이루어진다. 이제, 을 구하기 위해 에서의 부족한 K 비트만이 이용가능하다. 에서 bi와 b0 간의 인덱스 차이를 ki(단, 임)라고 하면, 의 첫번째 및 (ki+1)번째 요소(단, 임)는 정확히 이다. 의 첫번째 및 (ki+1)번째 열(단, 임)을 선택함으로써, 이하의 이진 선형 방정식이 형성된다.
을 알고 있는 경우, 이도록 하는 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 알고리즘을 사용할 수 있다.
행렬 (n x L의 크기를 가짐, 여기서 L = 2n -1)가 클 수 있기 때문에, 행렬 전체를 저장하는 것을 피해야 한다. 사실, 이상의 프로세스에서 알 수 있는 바와 같이, 인덱스 차이 ki를 갖는 추출된 비트가 주어진 경우, 의 첫번째 및 (ki+1)번째 열만이 계산과 관련이 있다. 캡처된 이미지의 크기가 주어진 경우, 이러한 ki의 선택은 아주 제한된 것이다. 따라서, 계산에 관여될 수 있는 그 열들만을 구하면 된다. 이러한 열들의 총 수는 L보다 훨씬 더 작다(단, L = 2n-1은 m-시퀀스의 길이임).
에러 정정
에 에러가 존재하는 경우, 의 해가 더 복잡해진다. 에러 정정을 갖는 종래의 디코딩 방법이 즉시 적용될 수 없는데, 그 이유는 캡처된 비트와 연관된 행 렬 이 캡처된 이미지마다 변할 수 있기 때문이다.
우리는 확률적(stochastic) 방법을 채택한다. 에 있는 에러 비트의 수 가 K와 비교하여 비교적 작다고 가정하면, 의 K 비트로부터 올바른 n 비트를 선택하고 의 대응하는 부행렬 이 비퇴화(non-degenerate)일 확률이 높다.
선택된 n 비트가 모두 올바른 경우, 및 간의 해밍 거리 또는 과 연관된 에러 비트의 수가 최소로 되어야만 하며, 여기서 은 수학식 4를 통해 계산된다. 이 프로세스를 몇번 반복하면, 최소의 에러 비트가 얻어지는 올바른 이 구해질 수 있는 가능성이 있다.
최소 수의 에러 비트와 연관되어 있는 이 단지 하나만 있는 경우, 이는 올바른 해로 간주된다. 그렇지 않은 경우, 최소 수의 에러 비트와 연관되어 있는 이 2개 이상 있는 경우, 가 에 의해 발생된 코드의 에러 정정 능력을 초과할 확률이 높고 디코딩 프로세스는 실패한다. 이어서, 시스템은 계속하여 그 다음 캡처된 이미지를 처리할 수 있다. 다른 구현에서, 펜의 이전의 위치들에 관한 정보가 고려될 수 있다. 즉, 각각의 캡처된 이미지에 대해, 펜이 그 다음에 예상될 수 있는 목적지 영역이 식별될 수 있다. 예를 들어, 사용자가 카메라에 의한 2개의 이미지 캡처 사이에서 펜을 들지 않은 경우, 제2 이미지 캡처에 의해 결정되는 펜의 위치가 제1 위치로부터 그다시 멀리 떨어져 있지 않을 것이다. 로부터 계산된 위치 s가 로컬 제약조건을 만족시키는지, 즉 그 위치가 지정된 목적지 영역 내에 있는지를 알아보기 위해, 최소 수의 에러 비트와 연관되어 있는 각각의 이 검사될 수 있다.
위치 s가 로컬 제약조건을 만족시키는 경우, 어레이 내의 추출된 비트의 X, Y 위치가 반환된다. 그렇지 않은 경우, 디코딩 프로세스가 실패한다.
도 8은 캡처된 이미지의 시퀀스(또는 m-시퀀스)에서의 위치를 결정하는 데 사용될 수 있는 프로세스를 나타낸 것이다. 먼저, 단계(801)에서, 캡처된 이미지와 관련된 데이터 스트림이 수신된다. 단계(802)에서, 대응하는 열이 로부터 추출되고 행렬 이 구성된다.
단계(803)에서, 행렬 으로부터 n개의 독립적인 열 벡터가 랜덤하게 선택되고, 벡터 이 수학식 4를 풂으로써 결정된다. 단계(804)에서 이 프로세스는 Q번(예를 들어, 100번) 수행된다. 루프 횟수의 결정은 섹션 루프 횟수 계산에서 논의된다.
단계(805)에서, 이 그의 연관된 에러 비트 수에 따라 정렬(sort)된다. 이 정렬은 기술 분야에 공지된 다양한 정렬 알고리즘을 사용하여 행해질 수 있다. 예를 들어, 선택 정렬 알고리즘(selection sorting algorithm)이 사용될 수 있다. 선택 정렬 알고리즘은 횟수 Q가 크기 않을 때 유익하다. 그렇지만, Q가 커지면, 더 많은 수의 항목을 더 효율적으로 처리하는 다른 정렬 알고리즘(예를 들어, 병합 정렬(merge sort))이 사용될 수 있다.
이어서, 시스템은 단계(806)에서 다수의 이 최소 수의 에러 비트와 연관되 어 있는지를 검사함으로써 에러 정정이 성공적으로 수행되었는지를 결정한다. '예'인 경우, 단계(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)에서, 패턴이 추출된다. 여기서, 패턴의 배향 및 각도 를 구하기 위해 다양한 라인들 상의 픽셀들이 추출될 수 있다.
그 다음에, 단계(1004)에서 아래에 있는 격자선을 결정하기 위해 수신된 이미지가 분석된다. 단계(1005)에서 격자선이 구해지면, 단계(1006)에서 패턴으로부터 코드가 추출된다. 단계(1007)에서 코드가 디코딩되고, 단계(1008)에서 펜 선단의 위치가 결정된다. 단계(1005)에서 격자선이 발견되지 않은 경우, 단계(1009)에서 에러가 반환된다.
향상된 디코딩 및 에러 정정 알고리즘의 개요
도 12에 나타낸 본 발명의 일 실시예에서, 캡처된 이미지(캡처된 어레이에 대응함)로부터의 추출된 비트(1201) 및 목적지 영역이 주어지면, m-어레이 디코딩 및 에러 정정 프로세스의 변형이 X,Y 위치를 디코딩한다. 도 12는 이 향상된 방법의 프로세스(1200)의 흐름도를 나타낸 것이다. 프로세스(1200)는 2개의 컴포넌트(1251, 1253)를 포함한다.
● 한번 디코딩( Decode Once ). 컴포넌트(1251)는 3개의 부분을 포함한다.
● 스마트 비트 선택을 갖는 디코딩( Decoding with Smart Bit Selection ). 컴포넌트(1253)는 4개의 부분을 포함한다.
본 발명의 실시예는 비트를 선택하고 루프 반복 횟수를 조정하며 프로세스(1200)에 제공되는 로컬 제약조건에 따라 X,Y 위치(위치 좌표)를 결정하기 위해 신중한 전략을 이용한다. 컴포넌트(1251, 1253) 둘다에서, 단계(1205, 1219)("한번 디코딩")는 수학식 4를 이용하여 을 계산한다.
도 12는 본 발명의 실시예들에 따라 캡처된 이미지로부터 추출된 비트(1201)를 디코딩하는 프로세스(1200)의 흐름도를 나타낸 것이다. 프로세스(1200)는 컴포넌트(1251, 1253)를 포함한다. 컴포넌트(1251)는 캡처된 이미지(캡처된 어레이에 대응함)와 연관되어 있는 추출된 비트(1201)(K 비트를 포함함)를 획득한다. 단계(1203)에서, 추출된 비트(1201)로부터 n 비트가 랜덤하게 선택된다. 단계(1205)에서, 프로세스(1200)는 한번 디코딩하고 을 계산한다. 단계(1207)에서, 프로세스(1200)는 에 대해 에러 비트가 검출되는지를 결정한다. 단계(1207)에서 에러 비트가 없는 것으로 결정하는 경우, 단계(1209)에서 캡처된 어레이의 위치의 X,Y 좌표가 결정된다. 단계(1211)에서, X,Y 좌표가 로컬 제약조건을 만족시키는 경우, 즉 좌표가 목적지 영역 내에 있는 경우, 단계(1213)에서 프로세스(1200)는 X,Y 위치를 (다른 프로세스 또는 사용자 인터페이스 등에) 제공한다. 그렇지 않은 경우, 단계(1215)가 실패 표시를 제공한다.
단계(1207)가 에서 에러 비트를 검출하는 경우, 에러 비트로 디코딩하기 위해 컴포넌트(1253)가 실행된다. 단계(1217)는 추출된 비트(1201)로부터 다른 일련의 n 비트(단계(1203)에서 선택된 n 비트와 적어도 1 비트 서로 다름)를 선택한다. 단계(1221, 1223)는 추출된 비트를 디코딩하는 데 필요한 반복 횟수(루프 횟수)를 결정한다. 단계(1225)는 단계(1210)에서 획득된 어느 후보가 로컬 제약조건을 만족시키는지를 테스트함으로써 캡처된 어레이의 위치를 결정한다. 단계(1217- 1225)에 대해 더 상세히 논의한다.
스마트 비트 선택
단계(1203)는 추출된 비트(1201)(K 비트를 가짐)로부터 n 비트를 랜덤하게 선택하고, 에 대해 푼다. 수학식 5를 사용하여, 디코딩된 비트가 계산될 수 있다. 라고 하고, 여기서 는 의 k번째 비트이고, 및 이며, 즉 B1은 디코딩된 결과가 원래의 비트와 동일한 비트이고, 는 디코딩된 결과가 원래의 비트와 다른 비트이며, 및 는 이들 비트의 대응하는 인덱스이다. 임의의 n개의 독립적인 비트가 B1으로부터 선택될 때 동일한 가 획득된다는 것을 잘 알 것이다. 따라서, 그 다음 n 비트가 주의깊게 선택되지 않으면, 선택된 비트가 B1의 서브셋이고 따라서 동일한 가 획득될 수 있다.
이러한 상황을 피하기 위해, 단계(1217)는 이하의 절차에 따라 그 다음 n 비트를 선택한다.
단계 1을 반복한다. 그 다음 n 비트를 선택할 때, 모든 여기서 x는 현재의 루프 횟수임)에 대해, 적어도 하나의 비트가 로부터 선택된다. 이 반복은 이러한 비트 서브셋이 선택될 수 없을 때 또는 루프 횟수에 도달될 때 종료한다.
루프 횟수 계산
에러 정정 컴포넌트(1253)에서, 각각의 루프 이후에 요구되는 반복 횟수(루프 횟수)가 조정된다. 루프 횟수는 예상된 에러율에 의해 결정된다. 선택된 n 비트 전부가 정확하지 않을 예상된 에러율 은 다음과 같다.
여기서, 는 루프 횟수를 나타내고 상수로 초기화되며, K는 캡처된 어레이로부터 추출된 비트의 수이고, 는 프로세스(1200)의 반복 동안에 일어나는 에러 비트의 최소수를 나타내며, n은 m-어레이의 차수이고, 는 K 비트로부터 n 비트가 선택되는 조합의 수를 나타낸다.
루프 횟수를 조정하면 에러 정정을 위해 필요한 프로세스(1253)의 반복 횟수를 상당히 감소시킬 수 있다.
로컬 제약조건을 갖는 X,Y 위치를 결정
단계(1209, 1255)에서, 디코딩된 위치는 목적지 영역 내에 있어야만 한다. 이 목적지 영역은 알고리즘에의 입력이고, 이는 다양한 크기를 갖고 다양한 장소에 있거나 서로 다른 응용에 따라 간단히 m-어레이 전체가 될 수 있다. 보통, 이는 애플리케이션에 의해 예측된다. 예를 들어, 이전의 위치가 결정된 경우, 기록 속도를 고려하여, 현재의 펜 선단의 목적지 영역은 이전의 위치에 가까울 것이다. 그렇지만, 펜을 든 경우, 그의 다음 위치는 어느 곳이나 될 수 있다. 따라서, 이 경우에, 목적지 영역은 m-어레이 전체가 된다. 정확한 X,Y 위치는 이하의 단계들에 의해 결정된다.
여기서 L은 m-어레이의 길이이다.
단계(1224)는 에러 비트수의 올림차순으로 를 정렬한다. 단계(1225, 1211, 1212)는 이어서 대응하는 X,Y 위치가 목적지 영역 내에 있는 첫번째 를 구한다. 단계(1225, 1221, 1212)는 최종적으로 결과로서 (단계(1213)를 통해) X,Y 위치를 반환하거나, (단계(1215)를 통해) 디코딩 절차가 실패했다는 표시를 반환한다.
향상된 디코딩 및 에러 정정 프로세스의 예시적인 예
예시적인 예는 컴포넌트(1251, 1253)에 의해 수행되는 프로세스(1200)를 나타낸 것이다. n=3이고, K=5이며, 이 차수 n=3의 m-시퀀스인 것으로 가정하자. 그러면, 다음과 같이 된다.
또한 추출된 비트 (단, K=5)가 실제로 m-시퀀스의 s번째, (s+1)번째, (s+3)번째, (s+4)번째 및 (s+6)번째 비트인 것으로 가정하자(이들 수는 실제로 m-어레이 길이 의 모듈러스(modulus)이다). 따라서,
는 의 0번째, 1번째, 3번째, 4번째 및 6번째 열로 이루어져 있다. m-어레이의 의 X,Y 위치를 일의적으로 결정하는 수 s는 를 충족시킬 것으로 예상되는 를 푼 후에 계산될 수 있다. 내의 가능한 에러 비트로 인해, 가 완전히 충족되지 않을 수 있다.
그 다음에, 디코딩된 비트가 계산된다.
여기서 는 n x K 행렬이고, 는 1 x n 벡터이며 따라서 은 1 x K 벡터이다. 가 와 동일한 경우, 즉 에러 비트가 검출되지 않은 경우, 단계(1209)는 X,Y 위치를 결정하고 단계(1211)는 디코딩된 위치가 목적지 영역 내에 있는지를 결정한다. 영역 내에 있는 경우, 디코딩이 성공적이며, 단계(1213)가 수행된다. 그렇지 않은 경우, 단계(1215)로 나타낸 바와 같이 디코딩이 실패한다. 가 와 다른 경우, 내의 에러 비트가 검출되고, 컴포넌트(1253)가 수행된다. 단계(1217)는 세트 B1, 말하자면 을 결정하며, 여기서 디코딩된 비트는 원래의 비트와 동일하다. 따라서, (도 13의 비트 배열(1351)에 대응함) 이다. 루프 횟수 가 상수, 예를 들어, 100으로 초기화되며, 이는 응용에 따라 변할 수 있다. 에 대응하는 에러 비트 수가 1이라는 것에 유의한다. 이어서, 단계(1221)는 수학식 7에 따라 루프 횟수 를 갱신한다, 즉 이다.
그 다음에, 단계(1217)는 로부터 다른 n=3 비트를 선택한다. 비트들 모두가 B1, 말하자면 에 속하는 경우, 단계(1219)는 다시 를 결정한다. 이러한 반복을 피하기 위해, 단계(1217)는, 예를 들어, 으로부터 한 비트 를 선택할 수 있고 B1으로부터 나머지 2 비트 를 선택할 수 있다.
단계(1219)는 를 계산한다. 와 가 동일하도록 세트 B2, 예를 들어, 를 구한다. 그러면, (도 13의 비트 배열(1353) 에 대응함)이다. 단계(1221)는 수학식 7에 따라 루프 횟수 를 갱신한다. 와 연관된 에러 비트의 수가 2라는 것에 유의한다. 수학식 7에 대입하면, 이다.
다른 반복이 수행될 필요가 있기 때문에, 단계(1217)는 로부터 다른 n=3 비트를 선택한다. 선택된 비트가 모두 B1 또는 B2 중 어느 한쪽에 속하는 것은 아니다. 따라서, 단계(1217)는, 예를 들어, 로부터 1 비트 , 로부터 1 비트 , 그리고 나머지 1 비트 를 선택할 수 있다.
의 해를 구하는 것, 비트 선택 및 루프 횟수 조정은 임의의 새로운 n=3 비트 모두가 임의의 이전의 에 속하지는 않도록 이들을 선택할 수 없을 때까지 또는 최대 루프 횟수 에 도달될 때까지 계속된다.
프로세스(1200)가 5개의 (에러 비트 수가 각각 1, 2, 4, 3, 2에 대응함)를 계산하는 것으로 가정하자. (실제로, 이 예에서, 에러 비트 수가 2를 넘을 수 없지만, 예시적인 예는 알고리즘을 설명하기 위해 더 큰 에러 비트 수를 보여주고 있다.) 단계(1224)는 들, 예를 들어, 를 선택하며, 이들의 대응하는 에러 비트 수는 수학식 8에 나타낸 보다 작다.
단계(1224)는 선택된 벡터들 를 이들의 에러 비트 수의 올림차 순, 즉 으로 정렬한다. 정렬된 후보 리스트로부터, 단계(1225, 1211, 1212)는 첫번째 벡터 , 예를 들어, 를 구하고, 이의 대응하는 위치는 목적지 영역 내에 있다. 이어서, 단계(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 심볼 어레이에서이 격자선으로부터 이미지로의 투시 변환을 기술하는 호모그라피 행렬 이 얻어진다.
격자선이 결정되었으면, 격자선 상의 흑색 도트가 식별된다. 흑색 도트의 위치들은 어느 격자셀이 EIC 심볼에 대응하고 어느 방향이 EIC 심볼의 올바른 배향인지를 결정하는 데 도움이 된다.
이미지에서 캡처된 EIC 심볼이 펜 회전으로 인해 회전될 수 있다. EIC 심볼이 올바른 배향에 있는 경우(즉, EIC 심볼 어레이에서 EIC 심볼과 동일하게 배향되어 있는 경우), 이미지에서의 캡처된 EIC 심볼의 세그먼트가 EIC 심볼 어레이에 대해 정합될 수 있다, 즉 EIC 심볼로부터 추출된 비트가 m-어레이에 대해 정합될 수 있다. 어느 격자셀이 EIC 심볼에 대응하는지 및 심볼의 올바른 배향을 알게 되면, 이미지에서의 캡처된 EIC 심볼이 인식된다. 이제 격자선 및 이미지의 대응하는 EIC 심볼을 포함하는 EIC 심볼 어레이의 충분히 큰 섹션을 생각해보자.
특정의 EIC 심볼 디자인 및 이미지에서의 EIC 심볼의 식별된 올바른 배향이 주어진 경우, (격자선 및 이미지의 대응하는 EIC 심볼을 포함하는) EIC 심볼 어레이의 섹션으로부터 격자로의 변환이 달성될 수 있다. 이전의 단계로부터, 격자로부터 이미지로의 투시 변환을 기술하는 호모그라피 행렬 을 알게 된다.
호모그라피 행렬 는 이미지를 포함하는 EIC 심볼 어레이의 섹션 내의 모든 점의 이미지 좌표계에서의 점으로의 변환을 규정한다. 호모그라피 행렬 은 이미지 좌표계에서의 모든 점의 이미지를 포함하는 EIC 심볼 어레이의 섹션에서의 점으로의 변환을 규정한다.
이미지를 포함하는 EIC 심볼 어레이의 섹션에서의 인식된 EIC 심볼로부터, EIC 비트가 추출된다. 각각의 m-어레이에 대해, 비트 스트림이 추출된다. 임의의 비트가 m-어레이에서의 위치가 디코딩되는 비트로서 선택될 수 있다. 본 발명의 일 실시예에 따르면, 편의상, 이미지를 포함하는 EIC 심볼 어레이의 섹션의 좌측 상부 모서리를 디코딩할 위치로서 선택한다. 비트들 중 어떤 것은 알고 있고(인식된 심볼로부터 추출된 비트), 어떤 것은 모르고 있다(추출될 수 없는 비트 또는 EIC 심볼이 이미지에서 캡처되지 않음). 추출된 비트의 수가 m-어레이의 차수보다 크다면, 디코딩이 행해질 수 있다.
EIC 디코딩은 를 풀어서 위치 벡터 를 구하며, 여기서 는 추출된 비트의 벡터이고, 은 m-시퀀스를 순환 시프트하여 얻어진 계수 행렬이다. 방정식에서의 t가 전치(transpose)를 나타낸다는 것에 유의한다. m-시퀀스에서의 추출된 비트의 위치는 이산 대수(discrete logarithm)에 의해 로부터 얻어질 수 있다. m-어레이에서의 추출된 비트의 위치는 m-어레이가 m-시퀀스로부터 어떻게 생성되는지에 기초하여 구해진다.
메타데이터를 나타내는 m-어레이로부터 획득된 위치는 메타데이터를 계산하는 데 사용된다. 메타데이터는 X,Y 위치를 표현하는 것과 동일한 m-어레이를 사용하여 인코딩될 수 있지만 메타데이터의 값에 따라 시프트될 수 있다. 따라서, X,Y 위치 및 메타데이터를 각각 나타내는 2개의 m-어레이로부터 얻어진 위치가 서로 다르다. 그렇지만, 이 2개의 위치 간의 차이(또는 거리)가 동일하고, 메타데이터의 값이다. 문서 ID 등의 전역적 메타데이터를 인코딩하는 데 다수의 m-어레이가 사용되는 경우, 문서 ID를 얻기 위해 다수의 m-어레이 각각으로부터의 메타데이터의 값이 결합될 수 있다.
X,Y 위치를 나타내는 m-어레이로부터 구한 위치가 EIC 심볼 어레이에서의 좌표이다.
잉크 스트로크를 복원하기 위해, EIC 심볼 에러에에서의 펜 선단의 위치를 찾아낸다. 이것을 하기 위해, 이미지 센서 평면 상에서의 실제 펜 선단의 이미지인 "가상 펜 선단(virtual pen tip)"의 개념을 사용한다. 이미지 센서 평면 상에서의 가상 펜 선단의 위치가 캘리브레이션을 통해 얻어질 수 있다. 이미지 센서 평면 상에서의 가상 펜 선단의 위치는 이미지 좌표계에서의 펜 선단의 위치이다. 따라서, 호모그라피 행렬 을 사용하여, 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의 그레이 레벨 분포보다 더 균일하다는 것이 명백하다. 이 특징을 나타내기 위해 벡터 를 정의한다. 의 계산은 2 단계를 필요로 한다.
첫번째 단계는 이미지의 수평 및 수직 투영을 생성하는 것이다. 이미지 I의 수평 및 수직 투영 벡터 및 를 및 로서 계산하며, 여기서 I(x,y)는 이미지에서의 픽셀 (x,y)의 그레이 레벨이고, w 및 h는 각각 이미지의 폭 및 높이이다.
선형 분류자(linear classifier)
기지의 유형의 2 x N(N은 N > 1000 등의 비교적 큰 수이어야만 함)개 이미지(N개의 이미지는 종이로부터 캡처되고 나머지 N개는 디스플레이 표면으로부터 캡처됨)가 주어진 경우, 은 종이로부터 캡처된 이미지의 특징 벡터이고 은 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터인 것으로 가정한다. 2가지 유형의 벡터를 분리시키기 위해 Fisher 선형 분류자 등의 선형 분류자가 사용될 수 있다, 즉 최적의 가중치 W 및 문턱값 은 및 에 기초하여 계산될 수 있다. W 및 는 캡처된 이미지의 유형을 실시간으로 결정하는 데 사용될 수 있다.
미지의 유형을 갖는 이미지의 경우, 특징 벡터가 V일 때, 인 경우 그 이미지가 종이로부터 캡처된 이미지인 것으로 식별되고, 그렇지 않은 경우, 그 이미지가 디스플레이 표면으로부터 캡처된 이미지인 것으로 식별된다.
적당한 선형 분류자에 대한 더 많은 정보를 위해서는, 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)는 다음과 같다.
이미지 I가 위에 제공된 이 라플라스 연산자로 필터링되는 것으로 가정하며, 필터링된 이미지 I1는 x=0 또는 x=w-l 또는 y=0 또는 y=h-l인 경우 I1(x,y)=0이고, 그렇지 않은 경우에는
이다.
이미지 I1으로부터 2개의 숫자 N+ 및 N-를 카운트한다. N+는 I1에서의 플러스 픽셀의 수이고, N-는 I1에서의 마이너스 픽셀의 수이다.
도 13의 반전과 같은 이미지의 경우(즉, 디스플레이 표면으로부터 캡처된 이미지의 경우), N+ < N-인 반면, 인쇄된 문서로부터 캡처된 도 14와 같은 이미지의 경우, N+> N-이다. 이 정보에 기초하여, 이미지가 디스플레이 표면으로부터 또는 인쇄된 문서로부터 캡처되었는지를 결정할 수 있다.
디스플레이 표면으로부터 캡처된 이미지의 전처리
디스플레이 표면으로부터 캡처된 이미지가 먼저 역전(reverse)된다(즉, 픽셀의 그레이 레벨 값이 반전(invert)된다). 이미지 I가 I'으로 역전되는 것으로 가정하면, 이다.
역전된 이미지는 이어서 인쇄된 종이 문서로부터 캡처된 이미지에 대한 전처리 알고리즘과 유사한 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)는 다음과 같이 추정된다.
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)는 다음과 같이 추정된다.
여기서, 이고, s는 블록의 크기(일 실시예에서, s=16)이며, 이고, 이며, 이고, 이며, 이고, 이며, 이고, 이다. 는 이미지 센서의 높이이다. 예시된 예에서, =100이다.
다시 말하면, 몇몇 픽셀은 4개의 인접한 블록들(1901) 간에 똑같이 분포될 수 있는 임의의 구역 밖에서 이미지 경계를 따라 있다. 경계 구역에 있는 이들 픽셀의 경우, 이들의 조명 분포값을 결정하는 데 상기 방정식들이 여전히 적용될 수 있으며, 다만 보간 대신에 외삽이 사용된다. 도 23에 다른 구역들이 그래픽으로 나타내어져 있다. 이어서, 이미지(1701) 전체에 대한 조명 분포값(2401)이 도 24에 도시되어 있다.
영역 조명 분포 결정 모듈(1505)이 각각의 영역에 대한 조명 분포값을 결정하였으면, 단계(1609)에서 영역 조명 정규화 모듈(1507)이 각각의 영역에 대한 정규화된 조명값을 결정한다. 보다 상세하게는, 영역 조명 정규화 모듈(1507)은 그 영역의 조명 분포값에 대한 그 영역의 원래의 조명값을 나눔으로써 각각의 영역에 대한 정규화된 조명값을 결정한다. 그 다음에, 단계(1611)에서, 영역 조명 정규화 모듈(1507)은 각각의 영역에 대한 정규화된 조명값을 균일한 조명 레벨 G0로 곱함으로써 각각의 영역에 대한 조정된 정규화된 조명값을 획득한다. 예시된 예에서, 균일한 조명 레벨의 값 G0는 200이지만, 본 발명의 대안의 실시예들은 균일한 조명 레벨 G0의 다른 값을 이용할 수 있다. 균일한 조명 레벨 G0은 이상적인 경우(이상적인 이미지 센서를 갖는 균일한 조명)에 비어있는 영역에서의 캡처된 이미지의 추정된 그레이 레벨을 나타낸다. 이에 따라, 이상적인 경우에, 비어있는 영역으로부터의 캡처된 이미지의 모든 픽셀들의 그레이 레벨은 균일한 조명 레벨 G0과 같아야만 한다.
마지막으로, 단계(1613)에서, 영역 조명 정규화 모듈(1507)은 그의 조정된 정규화된 조명값과 최대 조명값 중 더 작은 것인 각각의 픽셀에 새로운 조명값을 할당함으로써 각각의 픽셀에 대한 최종적인 정규화된 조명값을 선택한다. 이에 따 라, 예시된 예에서, 각각의 픽셀에 대한 최종적인 정규화된 조명값은 다음과 같은 그레이 레벨 G(x,y)에 의해 결정된다.
여기서, 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)에 대해,
여기서, G(x,y)는 픽셀 (x,y)의 그레이 레벨이다. 유의할 점은 G(x,y)가 조명 정규화된 그레이 레벨이라는 것이다.
그 다음에, 단계(2703)에서, 고-콘트라스트 구역 결정 모듈(2603)은 각각의 픽셀의 평균된 조명 레벨을 사용하여 이미지에서 고-콘트라스트 구역들을 식별한다. 상세하게는, 각각의 픽셀에 대해, 고-콘트라스트 구역 결정 모듈(2603)은 픽셀을 둘러싸고 있는 17x17 픽셀 이웃에서의 최대 및 최소 평균된 그레이 레벨 값을 식별한다. 즉, 모든 픽셀 (x.y)에 대해,
상기한 결정이 예시된 예에서 사용되는 이미지의 특정 수의 픽셀에 기초한다는 것을 잘 알 것이다. 다른 크기의 이미지를 처리하는 데 사용되는 본 발명의 실시예들에 대해 다른 픽셀 좌표값을 사용하는 유사한 결정이 이용된다. 그 다음에, 고-콘트라스트 구역 결정 모듈(2603)은 고-콘트라스트 구역을 다음과 같이 정의한다.
여기서, 는 미리 정해진 문턱값이다. 의 값은 경험적으로 결정된다. 예시된 예에서, = 140이지만, 본 발명의 다른 실시예들이, 예를 들어, 카메라/펜 장치에 의해 제공되는 콘트라스트 품질에 따라 다른 문턱값을 이용할 수 있다는 것을 잘 알 것이다. 도 28은 상기한 기술을 사용하여 이미지(2501)에서 식별된 고-콘트라스트 영역(2801)을 나타낸 것이다.
그 다음에, 단계(2705)에서, 컨텐츠 조명 문턱값 결정 모듈(2605)은 이미지의 다른 영역들로부터 문서 컨텐츠를 나타내는 영역을 분리시키는 문턱값을 결정한다. 문턱값을 결정하기 위해, 컨텐츠 조명 문턱값 결정 모듈(2605)은 고-콘트라스트 구역에 대한 그레이-레벨 히스토그램을 생성한다. 이러한 히스토그램(2901)의 일례가 도 29에 도시되어 있다. 동 도면에서 알 수 있는 바와 같이, 이 히스토그램(2901)의 X-축은 고-콘트라스트 구역 내의 픽셀들의 평균된 그레이 레벨에 대응한다. 이어서, Y-축은 그 그레이 레벨에 있는 픽셀들의 수에 대응한다. 히스토그램으로부터, 더 어두운 픽셀을 회색 및 백색 픽셀로부터 분리하기 위한 문턱값 이 식별될 수 있다. 더 어두운 픽셀들을 회색 및 백색 픽셀들과 구별하기 위해 문턱값을 선택하는 임의의 적당한 기법이 이용될 수 있다. 문턱값 을 구하기 위한 한가지 적당한 기법은, 예를 들어, N. Otsu의 "그레이 레벨 히스토그램으로부터의 문턱값 선택 방법(A Threshold Selection Method from Gray-Level Histogram)," IEEE Transactions on Systems, Man, and Cybernetics, 9(1), pp. 62-66(1979년)에 기술되어 있다.
문턱값 이 결정되었으면, 단계(2707)에서 컨텐츠 식별 모듈(2607)은 이 문턱값 을 사용하여 컨텐츠를 나타내는 이미지의 영역들을 식별한다. 먼저, 가 주어지면, 보다 더 어두운 이미지 내의 픽셀들이 문서 컨텐츠를 나타내는 이미지로서 식별되고 문서 컨텐츠 마스크에 1의 값을 할당받는다. 따라서, 모든 픽셀 (x,y)에 대해, 이면, 이고, 그렇지 않으면 이다.
도 30에 나타낸 바와 같이, 2개의 픽셀이 바로 아래에, 위에, 서로의 옆에 있는 경우에 이들은 이웃들이다. 따라서, 마스크는 컨텐츠를 나타내는 이웃하는 영역들의 구역 을 식별해준다. 예시된 예에서, 구역 가 20개보다 적은 픽셀을 포함하고 있는 경우, 이는 문서 컨텐츠 마스크로부터 제거된다. 즉, 각각의 픽셀 에 대해, 이다. 이것은 실제로 문서 컨텐츠를 나타내기에는 너무 작은 구역들을 제거한다.
그 다음에, 단계(2709)에서, 패턴 조명 문턱값 결정 모듈(2609)은 위치 패턴 을 나타내는 영역을 이미지의 나머지 영역들(즉, 비컨텐츠 영역들)로부터 분리하기 위한 제2 문턱값을 결정한다. 처음에, 패턴 조명 문턱값 결정 모듈(2609)은 이미지를 8x8 픽셀 블록들로 세그먼트화한다. 흑백 이미지의 경우, 패턴 조명 문턱값 결정 모듈(2609)은 이어서 도 31의 히스토그램(2001)과 같은, 각각의 8x8 픽셀 블록에 대한 그레이 레벨 값 히스토그램을 생성한다. 동 도면에서 알 수 있는 바와 같이, X-축은 블록 내의 비문서 컨텐츠 픽셀들의 조명-정규화된 그레이 레벨, 즉 인 픽셀들에 대응한다. Y-축은 이어서 그 그레이 레벨에 있는 비문서 컨텐츠 픽셀의 수에 대응한다.
이 히스토그램으로부터, 위치 패턴 영역을 나머지 배경 영역과 구별하기 위한 제2 문턱값 이 식별된다. 제2 문턱값 은, 펜/카메라 장치 내의 카메라 센서의 크기 및 코드 심볼의 크기에 기초하여, 코드 심볼에서의 흑색 도트의 비(ratio)와 거의 같도록 경험적으로 결정된다. 예시된 예에서, 제2 문턱값 는 픽셀의 11%가 보다 더 어둡도록 선택된다.
제2 문턱값 이 결정되면, 단계(2711)에서 패턴 식별 모듈(2611)은 위치 패턴을 나타내는 이미지의 영역들을 식별한다. 보다 상세하게는, 블록 내의 모든 픽셀 (x,y)에 대해, 이고 인 경우, 패턴 식별 모듈(2611)은 을 할당하고, 그렇지 않은 경우 이다.
하부 픽셀들(즉, 이미지의 하부 경계를 따라 있는 4x128 픽셀 구역)의 경우, 바로 위에 있는 4x128 픽셀 영역이 8x8 픽셀 블록을 형성하는 데 사용될 수 있다. 이들 하부 블록들 각각 내에서, 이상에서 상세히 기술한 동일한 방법을 사용하여 제2 문턱값이 결정된다. 그렇지만, 하부 구역 내의 그 픽셀들 만이 문턱값과 비교되는데, 그 이유는 바로 위에 있는 구역으로부터 "빌려온" 픽셀들이 그의 원래의 블록들에 대해 설정된 제2 문턱값을 사용하여 이미 분석되었기 때문이다. 이 문턱값보다 더 어두운 그 하부 픽셀들은 위치 패턴을 나타내는 것으로 식별된다.
그 각자의 제2 문턱값보다 낮은 그레이 레벨을 갖는 픽셀들이 식별된 후에, 문서 컨텐츠를 나타내는 픽셀들에 인접한 그 식별된 픽셀들이 위치 패턴 마스크로부터 제거된다. 즉, 각각의 픽셀 (x,y)에 대해, 이고 (x,y)의 8개의 이웃들 중의 픽셀이 문서 컨텐츠를 나타내는 것으로 식별된 경우(즉, 이도록 하는 i, j(단, i=-1,0,1이고, j=-1,0,1임)가 존재하는 경우), 이다. 이와 같이, 위치 패턴을 이루고 있는 픽셀들은 이미지 내의 다른 픽셀들과 정확하게 구별될 수 있다. 게다가, 위치 패턴을 이미지의 나머지와 명확하게 구별하는 새 이미지가 생성될 수 있다.
도 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)
- 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 처리하는 프로세서와 메모리를 구비하는 시스템으로서,상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별하는 표면 유형 식별 모듈(surface-type-identification module) - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어지는 그룹으로부터 선택되고, 상기 표면 유형 식별 모듈은 상기 특정의 이미지가 캡처된 표면의 유형을 특징 벡터에 기초하여 식별하는 특징-기반(feature-based) 표면 유형 식별 모듈을 포함하며, 상기 특징-기반 표면 유형 식별 모듈은 인쇄된 문서로부터 캡처된 이미지의 특징 벡터와 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터간의 구별을 위해 선형 분류자(linear classifier)를 사용하여 상기 특정의 이미지가 캡처된 표면의 유형을 식별함 - ;상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면 제1 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 디스플레이 표면 전처리 모듈(display-surface-preprocessing module);상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면 제2 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 인쇄 문서 전처리 모듈(printed document preprocessing module); 및상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보를 출력하는 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)을 포함하는, 이미지 처리 시스템.
- 제1항에 있어서,상기 표면 유형 식별 모듈은 상기 특정의 이미지를 필터링하기 위해 라플라스 연산자를 사용하는 라플라스 필터 모듈을 포함하는, 이미지 처리 시스템.
- 제1항에 있어서,상기 위치 정보는 상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 m-어레이 위치를 규정하는 것인, 이미지 처리 시스템.
- 제1항에 있어서,상기 위치 정보를 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지에 대한 표면 메타데이터 및 x-y 위치 정보에 매핑하는 표면 정보 매핑 모듈을 더 포함하는, 이미지 처리 시스템.
- 제1항에 있어서,상기 위치 정보를 인쇄된 문서로부터 캡처된 적어도 하나의 이미지에 대한 문서 메타데이터 및 x-y 위치 정보에 매핑하는 임베딩된 상호작용 코드 문서 매핑 모듈을 더 포함하는, 이미지 처리 시스템.
- 제1항에 있어서,상기 선형 분류자는 피셔(Fisher) 선형 분류자인, 이미지 처리 시스템.
- 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 처리하는 프로세서와 메모리를 구비하는 시스템으로서,상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별하는 표면 유형 식별 모듈(surface-type-identification module) - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어지는 그룹으로부터 선택됨 - ;상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면 상기 특정의 이미지를 역전(reversing)시키는 제1 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 디스플레이 표면 전처리 모듈(display-surface-preprocessing module);상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면 제2 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 인쇄 문서 전처리 모듈(printed document preprocessing module); 및상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보를 출력하는 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)을 포함하고,상기 표면 유형 식별 모듈은 그레이 레벨 분포가 상기 특정의 이미지에 대해 얼마나 균일한지를 규정하는 특징 벡터를 생성하는 특징 벡터 생성 모듈을 포함하며,상기 특징 벡터 생성 모듈에 의한 상기 특징 벡터의 생성은 상기 특정의 이미지의 수평 투사 벡터 및 수직 투사 벡터를 계산하는 것을 포함하고, 상기 수평 투사 벡터 및 상기 수직 투사 벡터는,
- 제7항에 있어서,상기 특징 벡터 생성 모듈에 의한 상기 특징 벡터의 생성은 상기 수평 투사 벡터에서의 수평 피크 폭 및 상기 수직 투사 벡터에서의 수직 피크 폭을 정의하는 것을 포함하는, 이미지 처리 시스템.
- 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 처리하는 프로세서와 메모리를 구비하는 시스템으로서,상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지를 입력으로 받고, 특정의 이미지에 대해, 그 이미지가 캡처된 표면의 유형을 식별하는 표면 유형 식별 모듈(surface-type-identification module) - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어지는 그룹으로부터 선택됨 - ;상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면 상기 특정의 이미지를 역전(reversing)시키는 제1 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하는 컴퓨터-실행 가능한 명령을 포함하는 디스플레이 표면 전처리 모듈(display-surface-preprocessing module) - ;상기 메모리에 저장되며, 상기 프로세서에 의해 실행될 때, 상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면 제2 전처리 알고리즘에 따라 상기 특정의 이미지를 전처리하고 컴퓨터-실행 가능한 명령을 포함하는 인쇄 문서 전처리 모듈(printed document preprocessing module); 및상기 인쇄된 문서로부터 캡처된 적어도 하나의 이미지 및 상기 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 적어도 하나의 이미지 중 적어도 하나에 대한 위치 정보를 출력하는 임베딩된 상호작용 코드 처리 모듈(embedded-interaction-code-processing module)을 포함하고,상기 표면 유형 식별 모듈은 상기 특정의 이미지가 캡처된 표면의 유형을 필터링된 이미지에 기초하여 식별하는 라플라스 필터 기반 표면 유형 식별 모듈을 포함하며,I가 상기 특정의 이미지이고, I1이 상기 필터링된 이미지이며, 상기 I1은,그렇지 않은 경우,
- 제10항에 있어서,상기 라플라스 필터 기반 표면 유형 식별 모듈은 I1 내의 플러스 픽셀의 수와 I1 내의 마이너스 픽셀의 수를 카운팅하는 것에 적어도 부분적으로 기초하여 상기 특정의 이미지가 캡처된 표면의 유형을 식별하는, 이미지 처리 시스템
- 제11항에 있어서,상기 라플라스 필터 기반 표면 유형 식별 모듈은, I1 내의 플러스 픽셀의 수가 I1 내의 마이너스 픽셀의 수보다 클 때, 상기 특정의 이미지가 캡처된 상기 표면 유형을 인쇄된 문서로서 식별하는, 이미지 처리 시스템.
- 제11항에 있어서,상기 라플라스 필터 기반 표면 유형 식별 모듈은, I1 내의 플러스 픽셀의 수가 I1 내의 마이너스 픽셀의 수보다 작을 때, 상기 특정의 이미지가 캡처된 상기 표면 유형을 인쇄된 문서 이외의 디스플레이 표면으로서 식별하는, 이미지 처리 시스템.
- 이미지가 캡처된 표면 유형에 기초하여, 상기 이미지를 전처리하는 프로세서와 메모리를 구비하는 컴퓨터에서 수행되는 방법으로서,캡처된 이미지를 수신하는 단계;상기 이미지가 캡처된 표면 유형을 식별하는 단계 - 상기 식별하는 단계는 특정의 이미지가 캡처된 표면의 유형을 특징 벡터에 기초하여 식별하는 특징-기반 표면 유형 식별 모듈을 시동하는(invoke) 단계를 포함하고, 상기 특징-기반 표면 유형 식별 모듈은 인쇄된 문서로부터 캡처된 이미지의 특징 벡터와 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터간의 구별을 위해 선형 분류자(linear classifier)를 사용하여 상기 특정의 이미지가 캡처된 표면의 유형을 식별함 - ;상기 특정의 이미지가 인쇄된 문서로부터 캡처된 것으로 식별되면, 메모리에 저장된 명령을 프로세서에서 실행함으로써, 제1 전처리 알고리즘에 따라 캡처된 이미지를 전처리하는 단계;상기 특정의 이미지가 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 것으로 식별되면, 상기 메모리에 저장된 명령을 상기 프로세서에서 실행함으로써, 제2 전처리 알고리즘에 따라 캡처된 이미지를 전처리하는 단계; 및상기 캡처된 이미지에 대한 위치 정보를 출력하는 단계를 포함하는, 이미지 처리 방법.
- 제14항에 있어서,상기 선형 분류자는 피셔(Fisher) 선형 분류자인, 이미지 처리 방법.
- 명령을 저장하는 비-신호형 컴퓨터 판독가능 저장 매체로서,상기 명령은 프로세서에 의해 실행될 때,이미지-캡처 펜(pen)으로부터 캡처된 이미지를 수신하는 단계, 및상기 이미지가 캡처된 표면의 유형을 식별하는 단계 - 상기 표면의 유형은 인쇄된 문서 및 인쇄된 문서 이외의 디스플레이 표면으로 이루어진 그룹으로부터 선택되고, 상기 식별하는 단계는 인쇄된 문서로부터 캡처된 이미지의 특징 벡터와 인쇄된 문서 이외의 디스플레이 표면으로부터 캡처된 이미지의 특징 벡터간의 구별을 위해 선형 분류자를 사용하여 캡처된 이미지가 캡처된 표면의 유형을 특징 벡터에 기초하여 식별하는 특징-기반 표면 유형 식별 모듈을 시동하는 단계를 포함함 - 를 포함하는 방법을 수행하는, 비-신호형 컴퓨터 판독가능 저장 매체.
- 제16항에 있어서,상기 선형 분류자는 피셔(Fisher) 선형 분류자인, 비-신호형 컴퓨터 판독가능 저장 매체.
- 삭제
- 삭제
- 삭제
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)
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)
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)
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 |
-
2005
- 2005-08-17 US US11/205,448 patent/US7817816B2/en not_active Expired - Fee Related
-
2006
- 2006-08-16 CN CN2006800299623A patent/CN101243462B/zh not_active Expired - Fee Related
- 2006-08-16 WO PCT/US2006/032226 patent/WO2007022394A1/en active Application Filing
- 2006-08-16 EP EP06801784A patent/EP1915724A4/en not_active Withdrawn
- 2006-08-16 KR KR1020087003674A patent/KR101312830B1/ko not_active IP Right Cessation
Patent Citations (4)
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 |