KR20050072705A - 고속 이미지 매치를 이용한 로컬 위치 결정 - Google Patents

고속 이미지 매치를 이용한 로컬 위치 결정 Download PDF

Info

Publication number
KR20050072705A
KR20050072705A KR1020050001566A KR20050001566A KR20050072705A KR 20050072705 A KR20050072705 A KR 20050072705A KR 1020050001566 A KR1020050001566 A KR 1020050001566A KR 20050001566 A KR20050001566 A KR 20050001566A KR 20050072705 A KR20050072705 A KR 20050072705A
Authority
KR
South Korea
Prior art keywords
image
document
images
segment
pen
Prior art date
Application number
KR1020050001566A
Other languages
English (en)
Other versions
KR100942122B1 (ko
Inventor
왕지안
첸리용
왕퀴앙
마시아오슈
당잉농
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20050072705A publication Critical patent/KR20050072705A/ko
Application granted granted Critical
Publication of KR100942122B1 publication Critical patent/KR100942122B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/0304Detection arrangements using opto-electronic means
    • G06F3/0317Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface
    • G06F3/0321Detection arrangements using opto-electronic means in co-operation with a patterned surface, e.g. absolute position or relative movement detection for an optical mouse or pen positioned with respect to a coded surface by optically sensing the absolute position with respect to a regularly patterned surface forming a passive digitiser, e.g. pen optically detecting position indicative tags printed on a paper sheet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0354Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
    • G06F3/03545Pens or stylus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/14Image acquisition
    • G06V30/142Image acquisition using hand-held instruments; Constructional details of the instruments
    • G06V30/1423Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Character Input (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Character Discrimination (AREA)
  • Image Input (AREA)

Abstract

캡처된 이미지에 대응하는 문서의 부분을 결정하기 위한 효율적인 기법이 개시되어 있다. 사용자가 펜을 사용하여 문서 내에 스트로크를 생성하면, 펜에 설치된 카메라에 의해 문서의 이미지들이 캡처된다. 이미지들의 일부의 위치는, 예를 들면, 이미지에 의해 캡처되는 문서 상의 패턴의 분석이나 또는 이미지와 문서와의 픽셀 단위 비교로부터 결정되겠지만, 다른 이미지들의 위치는 이미지들의 시퀀스를 스트로크의 형상에 대응하는 그룹들로 분할(segment)함으로써 결정될 것이다. 그 후 세그먼트 내의 위치 지정된 이미지들에 관한 정보가 세그먼트 내의 위치 지정되지 않은 이미지들의 위치를 결정하기 위해 사용될 수 있다. 예를 들면, 이전의 위치 지정된 이미지의 위치 및 펜의 최대 속도 또는 가속도에 기초하여 위치 지정되지 않은 이미지에 대한 문서 검색 영역이 설정될 수 있다. 위치 지정되지 않은 이미지의 회전 및 스케일은 위치 지정된 이미지의 회전 및 스케일로서 추정되고, 위치 지정되지 않은 이미지는 그 회전 및 스케일을 이용하여 와핑된다. 그 후 와핑된 위치 지정되지 않은 이미지와 문서 검색 영역간의 픽셀 단위 비교가 행해질 수 있다. 또한, 와핑된 위치 지정되지 않은 이미지가 성공적으로 매칭되면, 이미지의 변환 파라미터들이 더 정교해질 수 있다.

Description

고속 이미지 매치를 이용한 로컬 위치 결정{LOCAL LOCALIZATION USING FAST IMAGE MATCH}
본 발명은 이미지로 캡처된 문서의 일부의 위치를 결정하는 것과 관련된다. 본 발명의 다양한 형태들은 특히, 문서의 이미지들을 캡처링함으로써 문서 상의 마크의 위치를 식별하는데 적용할 수 있다.
컴퓨터 상에 저장된 전자 문서들이 기록된 문서들 이상의 많은 장점들을 가지고 있지만, 많은 사용자들은 전자 문서들의 인쇄 버전으로 몇몇 업무를 수행하고 있다. 이들 업무는, 예를 들어, 문서의 판독 및 주석 달기(annotating)를 포함한다. 주석에 있어서, 문서의 페이퍼 버전은, 주석이 통상적으로 사용자에 의해 인쇄된 문서 상에 직접 기록되기 때문에 특히 중요하다고 생각된다. 그러나, 문서의 인쇄된 버전을 직접 주석다는 데 있어서의 문제점들 중 하나는 이후에 이 주석을 전자 형태로 변환하는 어려움에 있다. 이상적으로, 전자적으로 저장된 주석은, 수기록된(handwritten) 주석이 문서의 페이퍼 버전과 일치(correspondence)하는 것과 같은 방식으로 문서의 전자 번전과 일치하여야 한다.
이러한 일치는 일반적으로 최초 또는 다른 사용자가 주석을 달아나가고 개인적으로 이를 컴퓨터에 입력할 것을 요구한다. 몇몇 경우에, 사용자는 종이 문서 상에 기록된 주석을 전자적으로 스캔할 수 있어, 새로운 전자 문서를 생성한다. 이들 여러 단계들은 문서의 인쇄된 버전과 문서의 전자 버전 사이의 일치(reconciliation)를 반복하여 처리하는 것을 어렵게 한다. 또한, 스캔된 이미지들은 종종 편집되지 않을 수 있다. 따라서, 문서의 원문에서 주석을 분리할 방법이 없을 수 있다. 이것은 주석의 사용을 어렵게 한다.
이 문제를 처리하기 위해서, 펜이 개발되어 인쇄된 문서 상에 기록된 주석을 펜으로 캡처한다. 이런 타입의 펜은, 사용자가 주석을 기록함에 따라 인쇄된 문서의 이미지를 캡처하는 카메라를 포함한다. 그러나, 이런 타입의 펜의 몇몇 예들은 카메라에 보이지 않는 잉크를 사용할 수 있다. 예를 들면, 이 펜은 논카본(non-carbon) 잉크 및 카메라용 적외선 조명을 사용할 수 있는데, 이는, 카메라가 잉크로 기록된 주석을 "보지" 못하다록 한다. 이런 타입의 펜을 사용하여, 펜은 주석을 기록하는 동안 펜에 의해 캡처된 이미지들에서 문서 상의 주석을 형성하는 펜 팁의 움직임을 추정할 것이다. 그러나, 이미지들을 원본 전자 문서와 관련시키기 위해서는, 문서와 관련된 이미지들의 위치가 결정되어야 한다. 따라서, 이런 타입의 펜은 종종 페이퍼 상의 다른 위치들을 유일하게 식별하는 병렬 포트턴을 포함하는 페이퍼와 함께 사용된다. 이 패턴을 분석함으로써, 이미지를 수신하는 컴퓨터는 페이커의 어느 부분(따라서 인쇄된 문서의 어느 부분)이 이미지 내에 캡처되었는지를 결정할 수 있다.
이렇게 패턴화된 페이퍼 또는 다른 매체의 사용은, 페이퍼 문서 상의 기록된 주석이 전자 형태(form)로 변환되게 하고 문서의 전자 버전과 적절히 관련되게 하지만, 이 기술을 항상 신뢰할 수 있는 것은 아니다. 예를 들면, 페이퍼 상의 텍스트를 포함하는 문서는 패턴 영역을 가릴 수 있다. 펜이 이들 영역들 중 하나의 이미지를 캡처한다면, 컴퓨터는 이 이미지에 의해 캡처된 문서 부분의 위치를 정확하게 결정하는데 이 패턴을 사용할 수 없을 것이다. 대신에, 컴퓨터는 이 이미지 내에 캡처된 문서 부분의 위치를 식별하기 위해서 대체 기술을 사용하여야 한다. 예를 들어, 컴퓨터는 전자 문서와 캡처된 이미지의 픽셀 단위 비교를 실행할 수 있다.
픽셀 단위 비교는 일반적으로 캡처된 이미지 내의 문서의 일부를 식별할 것이지만, 이 기술은 높은 처리 부하를 갖는다. 이 기술을 실행하기 위해서는, 캡처된 이미지가 픽셀 단위 문서 이미지를 와핑하고 일치시킬 수 있도록, 예를 들어, 캡처된 이미지와 문서 이미지 사이의 이를테면, 회전(rotation) 및 스케일(scale)의 변환이 먼저 추정되어야 한다. 이 변환이 공지되지 않으면, 모든 가능한 회전들 및 스케일들이 고려되어야 한다. 부가적으로, 이미지 내의 기준 픽셀이 선택된다. 와핑된 이미지 내의 모든 픽셀들은, 이후에 이미지 기준 픽셀이 전자 문서 내의 제1 위치와 비교되도록 전자 문서 내의 대응 픽셀과 이후에 비교된다. 이 비교는, 기준 픽셀이 전자 문서 내의 각 위치에서 최종적으로 비교되도록 반복되어야 한다. 이미지 픽셀들과 전자 문서 간의 최고 일치와의 비교는 전자 문서에 대한 기준 픽셀의 위치를 식별하여, 이미지 내에 캡처된 문서의 일부를 식별한다. 따라서, 전체 문서를 가지고 이미지의 픽셀 단위의 비교를 수행해야 하는 것 없이 캡처된 이미지 내의 문서 일분의 위치를 컴퓨터가 결정할 수 있는 기술을 제공하는 것이 바람직하다.
유리하게, 본 발명의 다양한 실시예들은 캡처된 이미지에 대응하는 문서의 일부를 결정하기 위한 효율적인 기술을 제공한다. 본 발명의 다양한 실시예들에 따르면, 사용자가 문서 내의 스트로크를 생성하는데 펜을 사용할 경우, 펜에 탑재된 카메라는 일련의 이미지들을 캡처한다. 몇몇 이미지들의 위치는, 예를 들면, 이미지에 의해 캡처된 문서상의 패턴 또는 이미지와 문서와의 픽셀 단위 비교의 분석으로부터 결정될 것이다. 그러나, 다른 이미지들의 위치는 다른 기술들을 사용하여 결정될 필요가 있을 것이다.
이들 위치 지정되지 않은 이미지들의 위치를 효율적으로 결정하기 위해서, 이미지들의 전체 시퀀스는 스트로크의 형태에 따른 그룹들로 분할된다. 이러한 방식으로, 스트로크의 상대적으로 선형부에 대응하는 이미지들이 함께 그룹화될 것이다. 또한, 세그먼트 내의 모든 이미지들이 통상적으로 가까워질 것이기 때문에, 세그먼트 내에 위치 지정된 이미지들에 대한 정보는 세그먼트 내의 위치 지정되지 않은 이미지들의 위치를 결정하는 데 사용될 수 있다. 예를 들면, 위치 지정되지 않은 이미지에 대한 문서 검색 영역은 미리 위치 지정된 이미지의 위치 및 펜의 최대 또는 실제 속도에 기초하여 설정될 수 있다. 부가적으로, 위치 지정된 이미지의 회전 및 스케일(원근 변환(perspective transform)으로서 보다 정교해질 수 있는 유사 변환)은, 펜 포즈가 짧은 시간동안 크게 변화할 것이라 예상되지 않기 때문에, 위치 지정되지 않은 이미지의 회전 및 스케일의 추정으로서 사용될 수 있다. 이 추정된 회전 및 스케일은 문서 이미지의 방향(orientation) 및 스케일을 일치히키도록 위치 지정되지 않은 이미지를 와핑하는데 사용될 수 있다. 픽셀 단위 비교는 이후에, 와핑된 위치 지정되지 않은 이미지와 문서 검색 영역 사이에서 행해질 수 있다.
오퍼레이팅 환경
도 1은 본 발명의 다양한 양상들을 구현하는데 사용될 수 있는 종래의 범용 디지털 컴퓨팅 환경의 예의 기능적 블럭도를 도시한다. 도 1에서, 컴퓨터(100)는 프로세싱 유닛(100), 시스템 메모리(120), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트들이 프로세싱 유닛(110)에 결합된 시스템 버스(130)를 포함한다. 시스템 버스(130)는, 메모리 버스 또는 메모리 컨트롤러, 주변 버스, 및 다양한 버스 아키텍처들 중 임의의 아키텍처를 사용하는 로컬 버스를 포함하는 여러 타입의 버스 구조들 중 임의의 구조일 수 있다. 시스템 메모리(120)는 판독 전용 메모리(ROM)(140) 및 랜덤 액세스 메모리(RAM)(150)를 포함한다.
시동(start up)중에서와 같이, 컴퓨터(100) 내의 구성 요소들 사이의 정보를 전달하는 것을 도와주는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS; 160)이 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)와 같은 다른 인터페이스에 의해 접속될 수 있다. 또한, 이들 디바이스들은 (도시되지 않은) 적절한 인터페이스를 통해 시스템 버스(130)와 직접 결합될 수 있다. 모니터(107) 또는 다른 타입의 디스플레이 디바이스도, 비디오 어댑터(108)와 같은 인터페이스를 통해 시스템 버스(130)에 접속된다. 모니터 외에, 개인 컴퓨터들은 통상적으로, 스피커 및 프린터와 같은 (도시되지 않은) 주변 출력 디바이스들을 포함한다. 바람직한 실시예에서, 펜 디지타이저(165) 및 첨부한 펜 또는 스타일러스(166)는 수기 입력(freehand input)을 디지털적으로 캡처하기 위해서 제공된다. 펜 디지타이저(165)와 직렬 포트 사이의 직접 접속이 도시되었다고 해도, 실제로, 펜 디지타이저(165)는 공지된 바와 같이, 병렬 포트 또는 다른 인터페이스 및 시스템 버스(130)를 통해 프로세싱 유닛(110)과 결합될 수 있다. 또한, 디지타이저(165)가 모니터(107)와 떨어져 도시된다고 해도, 디지타이저의 사용가능한 입력 영역이 모니터(107)의 디스플레이 영역과 함께 넓어지는 것이 바람직하다. 또한, 디지타이저(165)는 모니터(107) 내에 일체되거나, 모니터(107)를 오버레이하거나 그렇지 않으면 모니터에 추가된 분리형 디바이스로서 존재할 수 있다.
컴퓨터(100)는 원격 컴퓨터(109) 등의 하나 또는 그 이상의 원격 컴퓨터들로의 논리 접속들을 사용하여 네트워크화된 환경에서 작동할 수 있다. 원격 컴퓨터(109)는 서버, 라우터, 네트워크 PC, 동등 장치 또는 그밖의 공통 네트워크 노드가 될 수 있고, 메모리 저장 장치(111)만이 도 1에 예시되기는 하였지만, 컴퓨터(100)에 대하여 앞서 설명한 구성 요소들의 다수 또는 모두를 전형적으로는 포함한다. 도 1에 도시된 논리 접속들은 근거리 통신망(LAN)(112) 및 광역 통신망(WAN)(113)을 포함한다. 이런 네트워킹 환경은 사무실, 한 기업체에 깔린 컴퓨터 네트워크, 인트라넷, 및 인터넷에서는 공통적인 것이다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(100)는 네트워크 인터페이스 또는 어댑터(114)를 통해서 근거리 통신망(112)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 개인용 컴퓨터(100)는 인터넷 등의 광역 통신망(113) 상에서 통신을 확립하기 위한 모뎀(115) 또는 그밖의 수단을 전형적으로는 포함한다. 내부에 또는 외부에 장착될 수 있는 모뎀(115)은 직렬 포트 인터페이스(106)을 통해서 시스템 버스(130)에 접속된다. 네트워크화된 환경에서, 개인용 컴퓨터(100)에 대해 서술된프로그램 모듈들 또는 이것의 일부분들이 원격 메모리 저장 장치에 저장될 수 있다.
도시된 네트워크 접속들이 예시적인 것이고, 컴퓨터들 간의 통신 링크를 확립하기 위한 그밖의 기술들이 사용될 수 있다. TCP/IP, Ethernet, FTP, HTTP, 블루투스(Bluetooth), IEEE 802.11x 등의 여러 공지된 프로토콜 중의 임의의 것의 존재가 가정되고, 본 시스템은 사용자가 웹 기반 서버로부터 웹 페이지들을 검색하도록 허용해 주는 클라이언트 서버 컨피규레이션 하에서 작동할 수 있다. 여러가지의 종래의 웹 브라우저 중의 임의의 것이 웹 페이지 상에서 데이터를 디스플레이하고 조작하는 데에 사용될 수 있다.
이미지 캡처링 장치
본 발명의 여러 실시예들이 일련의 이미지들로 캡처된 문서의 부분들의 위치들을 결정하는 데에 사용될 수 있다. 앞서 지적한 대로, 이미지 내에 캡처된 문서의 한 부분의 위치의 결정은, 종이, 디스플레이 스크린, 또는 문서를 디스플레이하는 그밖의 매체와 사용자의 상호작용의 위치를 확인하는 데에 사용될 수 있다. 본 발명의 몇몇 실시예에 따르면, 이 이미지들은 종이 위에 잉크로 쓰는 데에 사용되는 잉크 펜에 의해 획득될 수 있다. 본 발명의 그밖의 실시예에서는, 이 펜은 문서를 디스플레이하는 디지타이저의 표면 위에 전자적 잉크로 '필기' 하는 데에 쓰이는 스타일러스일 수 있다.
도 2a 및 도 2b는 본 발명의 여러 실시예에 따라서 채택될 수 있는 펜(201)의 예시적 예를 보여준다. 펜(201)은 팁(202) 및 카메라(203)를 포함한다. 팁(202)은 잉크 통을 포함할 수도 있고 안 할 수도 있다. 카메라(203)는 표면(207)으로부터 이미지(204)를 캡처한다. 펜(201)은, 파선 박스(206)로 표시되듯이, 추가의 센서들 및/또는 프로세서들을 포함할 수 있다. 이런 센서들 및/또는 프로세서들(206)은 (예로, 블루투스 또는 그밖의 무선 프로토콜들을 통해) 또다른 펜(201) 및/또는 개인용 컴퓨터에 정보를 전송하는 능력을 구비하기도 한다.
도 2b는 카메라(203)에 의해 보여지는 이미지를 나타낸다. 일 예시적 예에서, 카메라(203)에 의해 캡처된 이미지의 해상도는 N×N 픽셀(여기서, 예로 N=32) 이다. 그에 따라, 도 2b는 가로 32픽셀이고 세로 32픽셀인 예시적 이미지를 도시하였다. N의 크기는 조정가능한데, 여기서 N의 값이 높을수록 더 높은 해상도를 제공하게 된다. 또한, 카메라(203)에 의해 캡처되는 이미지가 여기서는 예시적인 목적을 위해 정방형으로 도시되었지만, 카메라의 시계(field of view)는 공지된 대로 그밖의 형태를 취할 수 있다.
카메라(203)에 의해 캡처된 이미지들은 이미지 프레임 시퀀스 {Ii}로서 정의될 수 있는데, 여기서, Ii 는 샘플링 시간 ti 에서 펜(201)으로 캡처된 것이다. 샘플링 레이트는 시스템 구성 및 성능 요구에 좌우되어 크거나 작을 수 있다. 캡처된 이미지 프레임의 크기는 시스템 구성 및 성능 요구에 좌우되어 크거나 작을 수 있다. 또한, 카메라(203)에 의해 캡처된 이미지가 프로세싱 시스템에 의해 직접적으로 사용될거나 또는 전 필터링(pre-filtering)을 겪을 수 있다는 점을 알아야 한다. 이런 전 필터링은 펜(201)에서 일어나거나 또는 펜(201)의 외부에서 (예를 들어, 개인용 컴퓨터에서) 일어날 수 있다.
도 2a는 위치(204)로부터의 패턴 이미지(210)가 그 위에 형성되는 이미지 평면(209)을 도시하였다. 객체 평면(207) 상의 패턴으로부터 수신된 광은 렌즈(208)에 의해 초점이 맞춰진다. 본 발명의 여러 실시예들에 따르면, 렌즈(208)는 단일 렌즈 또는 다중부(multi-part) 렌즈 시스템일 수 있는데, 여기서는 단순화를 기하기 위해 단일 렌즈인 것으로 표시되었다. 이미지 캡처 센서(211)는 이미지(210)를 캡처한다.
이미지 센서(211)는 이미지(210)를 캡처하는 데에 충분한 정도로 큰 규모일 수 있다. 대안적으로, 이미지 센서(211)는 위치(212)에서 펜 팁(202)의 이미지를 캡처하는 데에 충분한 만큼 큰 규모일 수 있다. 참조할 때는, 위치(212)에서의 이미지는 '가상 펜 팁' 으로서 지칭될 것이다. 이미지 센서(211)에 관한 가상 펜 팁 위치는, 펜 팁, 렌즈들(208) 및 이미지 센서(211) 사이의 일정한 관계로 인해 고정된다는 점을 주의하라.
앞서 지적한 대로, 펜(201)은 종이 상에 인쇄된 문서 등의 매체와 함께 전형적으로는 사용되고, 매체 상의 위치들을 식별하기 위한 패턴을 디스플레이한다. 유리하게는, 이 패턴은 카메라(203)에 의해 캡처된 이미지(210)를 매체의 외관에 대응하는 형태로 변환하는 데에 사용된다. 예를 들어, 이하의 변환 함수 F S→P 는 카메라(203)에 의해 캡처된 이미지(210)가 종이 조각 상에서 실제 이미지가 되도록 변환시킨다:
L paper = F S→P (L sensor )
필기 동안에 펜 팁 및 종이는 동일 평면 상에 있다. 그에 따라, 가상 펜 팁으로부터 실제 펜으로의 변환도 F S→P 이다:
L pentip = F S→P (L virtual-pentip )
이 변환 F S→P 은 유사(affine) 변환이라고 추정될 수 있다. 이는 F S→P 의 추정치로서 다음과 같이 단순화된다:
여기서, θ x , θ y , s x , s y 는 위치(204)에서 캡처된 패턴의 두개의 방향의 회전량 및 스케일에 해당된다. 더나아가, 캡처된 이미지를 종이 위의 대응하는 실제 이미지와 매칭시킴으로써 F' S→P 를 정교화할 수 있다. '정교화(refine)'는, 반복(recursive) 방법이라고 불리우는 최적화 알고리즘의 한 종류에 의해 변환 F S→P 에 대한 더 정확한 추정치를 획득하는 것을 의미한다. 이 반복 방법은 매트릭스 F' S→P 를 초기치로서 취급한다. 이 정교화 추정치는 S 와 P 사이의 변환을 더 정확하게 기술한다.
가상 펜 팁의 위치는 교정(claibration)에 의해 추가적으로 정밀하게 결정될 수 있다. 가상 펜 팁의 위치를 교정하기 위해서, 사용자는 종이 위의 고정 위치 L pentip 상에 펜 팁(202)을 배치시킨다. 다음으로, 사용자는 펜을 기울여서 카메라(203)가 다른 펜 포즈들에 대해 일련의 이미지를 캡처하도록 하여 준다. 각각의 캡처된 이미지에 대해, 변환 F S→P 이 획득된다. 이 변환으로부터, 가상 펜 팁 L virtual- pentip 의 위치를 획득할 수 있다:
L virtual- pentip = F P→S (L pentip )
여기서, L pentip 은 (0,0)으로 초기화되고,
F P→S = (F S→P )-1 이다.
각각의 이미지로부터 획득된 L virtual- pentip 를 평균화함으로써, 가상 펜 팁의 위치 L virtual- pentip 는 결정될 수 있다. L virtual- pentip 에 의해서, L pentip 의 더 정확한 추정치를 얻을 수 있다. 몇 번의 반복 후에, 가상 펜 팁의 정확한 위치 L pentip 가 결정될 수 있다.
매체 상의 위치들을 식별하기 위한 패턴
앞서 지적한 대로, 본 발명의 여러 실시예들은 캡처된 이미지에 대응하는 문서의 부분을 결정하는 데에 사용될 수 있는데, 여기서 이 문서를 디스플레이하는 매체는 매체 상의 다른 위치들을 식별하기 위한 패턴을 또한 포함한다. 따라서, 이 패턴은 디스플레이된 형태의 인코딩된 데이터 스트림인 것으로 간주될 수 있다. 이 패턴을 디스플레이하는 매체는 인쇄된 종이(또는 그밖의 물리적 매체)일 수 있거나, 또는 인코딩된 데이터 스트림을 또다른 이미지 또는 이미지 세트들과 관계되어 투사하는 디스플레이일 수 있다. 예를 들어, 인코딩된 데이터 스트림은 종이 상의 물리적 이미지 또는 디스플레이된 이미지 위에 겹치는 이미지로서 표현될 수 있거나, 또는 (펜에 의해 캡처되는 임의의 이미지 부분이 디스플레이 스크린 상에 위치할 수 있도록) 디스플레이 스크린과 결합된 또는 이 스크린을 오버레이하는 물리적 인코딩된 패턴이 될 수 있다.
도 3a는 제1 비트 및 제2 비트를 매체 상에서의 위치들을 식별하기 위한 패턴이 되도록 인코딩하는 인코딩 기법의 한 예를 도시하였다. 제1 비트(301)(예를 들어, "1" 값을 가짐)는 흑 잉크 열(column)에 의해 대표된다. 제2 비트(302)(예를 들어 "0" 값을 가짐)는 흑 잉크 행(row)에 의해 대표된다. 그러나, 임의의 색의 잉크가 여러 비트들을 표현하기 위해 사용될 수 있음을 알아야 한다. 선택된 잉크 색에 대한 유일한 요구 조건은 이미지 캡처링 시스템이 구별할 수 있도록 매체의 배경에 대해 상당한 정도의 콘트라스트를 제공해야 한다는 점이다. 본 예에서, 도3a의 비트들은 3×3 도트 매트릭스로 표현된다. 이 매트릭스의 크기는 매체의 이미지들을 캡처하기 위해 사용되고 있는 이미지 캡처 시스템의 크기 및 해상도에 기초하여 임의의 바라는 크기가 되도록 변경될 수 있다.
0 과 1 값을 갖는 비트들에 대한 대안 예가 도 3c 내지 도 3e에 도시되었다. 도 3c 내지 도 3e의 샘플 인코딩들에 의한 1 또는 0 에 대한 표현은 별다른 차이를 낳지 않고 스위칭될 수 있음을 알아야 한다. 도 3c는 인터리빙된 배치에서 두개의 행 또는 열을 점유하는 비트 표현들을 도시하였다. 도3d는 대시(dash) 형태로 열 및 행을 갖는 대안적 픽셀 배치를 도시하였다. 최종적으로, 도 3e는 불규칙 간격 포맷(예로, 두개의 흑 도트 후에 공백 도트가 뒤따라 옴)을 갖는 열 및 행의 픽셀 표현을 도시하였다.
하부에 있는 그리드(grid)가 비 수평 및 비 수직 배치로 회전되는 것(예로, 패턴의 정확한 방향이 45°인 경우)을 포함하여 대안 그리드 배치들이 가능하다는 것을 주의해야 한다. 비 수평 및 수직 배치를 사용하면, 사용자의 시각 혼선을 제거는 이득을 얻을 수 있는데, 이는 사용자들이 그밖의 것보다 먼저 수평 및 수직 패턴들을 주목하는 경향이 있기 때문이다. 그러나, 단순화를 기하기 위해, 그리드의 방향(밑에 놓인 그리드의 수평, 수직 및 임의의 다른 소망 방향)은 소정 그리드 방향으로 총칭적으로 지칭된다.
도 3a를 다시 참조하면, 만일 비트가 3 × 3 소자 매트릭스에 의해 표현되고 촬상 시스템이 3 × 3 영역에서 하나의 흑색 열과 두개의 백색 열을 검출하였다면, 이 영역은 0의 값(대안적으로는 1의 값)인 것으로 검출된다. 만일 3 × 3 영역이 흑 행과 두개의 백색 열을 갖는 것으로 검출되었다면, 이 영역은 1의 값(대안적으로는 0의 값)을 갖는 것으로 검출된다. 그에 따라, 만일 도 2b의 이미지(210)의 크기가 32 × 32 픽셀이고 각각의 인코딩 단위 크기가 3 × 3 픽셀이라면, 캡처되고 인코딩된 단위들의 수는 대략 100 단위가 되어야 한다. 만일 인코딩된 단위 크기가 5×5 라면 캡처되고 인코딩된 단위들의 수는 대략 36이 되어야 한다.
도 3a에 도시된 대로, 하나 이상의 픽셀 또는 도트가 일 비트를 나타내는 데에 사용될 수 있다. 일 비트를 나타내기 위해 단일 픽셀(또는 도트)를 사용하는 것은 신뢰성이 없다. 먼지, 종이의 주름, 비평탄 표면 등이 데이터 단위들에 대해 단일 소자로 표현한 것을 판독하는 데에 어려움을 일으킨다. 그러나, 비트를 표현하기 위해 다중 소자들을 사용하더라도, 타이핑된 문서 텍스트와 같은, 매체 상에 패턴을 가지면 디스플레이된 그밖의 텍스트는 여전히 패턴 내의 하나 또는 그 이상의 비트를 흐려 보이게 할 수 있다.
도 3b의 그래픽 패턴(303)을 생성하기 위해 비트 스트림이 이용된다. 그래픽 패턴(303)은 12 로우과 18 컬럼을 포함한다. 더 구체적으로, 로우와 컬럼은 비트 표현(301, 302)을 이용하여, 그래픽 패턴(303)으로 변환되는 비트 스트림에 의해 형성된다. 따라서, 도 3b의 패턴(303)은 다음과 같은 비트 표현을 갖는 것으로 도시될 수 있다.
도 3b의 그래픽 패턴(303)을 생성하기 위해 다양한 비트 스트림들이 이용될 수 있다. 예를 들어, 1들과 0들의 랜덤 또는 수도-랜덤(pseudo-random) 시퀀스가 이용될 수 있다. 비트 시퀀스는 로우들로, 컬럼들로, 대각선으로, 혹은 임의의 다른 형식적 순서화에 따라 배열될 수 있다. 예를 들어, 상기 매트릭스는, 좌로부터 우로 그런 다음 아래로 진행한다면, 다음과 같은 비트 스트림에 의해 형성될 수 있다.
0100 0111 0110 0100 1000 1110 0111 0100 1100
상기 매트릭스는, 위에서부터 아래로 그런 다음 우로 진행한다면, 다음과 같은 비트 스트림에 의해 형성될 수 있다.
0101 1100 0011 0010 0110 1001 1001 1110 0010
상기 매트릭스는, 대각선으로 덮어 싼다면, 다음과 같은 비트 스트림에 의해 형성될 수 있다.
0110 0000 0101 0101 1000 0011 1111 1010 1010
도 3b는 또한, 이미지(303) 중의 픽셀 블럭들의 확대도들을 포함한다. 확대도(304-211)들은 5×5 픽셀 블럭들을 나타낸다. 픽셀 블럭(304)은 화이트 로우들 사이에 다크 로우를 나타낸다. 픽셀 블럭(305)은 화이트 컬럼들 사이에 다크 컬럼을 나타낸다. 픽셀 블럭(306)은 좌하 코너를 나타낸다. 픽셀 블럭(307)은 화이트 우상 코너를 나타낸다. 픽셀 블럭(308)은 좌측에 절반의 다크 로우와 함께 다크 컬럼을 나타낸다. 픽셀 블럭(309)은 다크 로우와 함께 다크 로우 위의 절반의 다크 컬럼을 나타낸다. 픽셀 블럭(310)은 절반의 다크 로우를 나타낸다. 픽셀 블럭(311)은 절반의 다크 컬럼을 나타낸다. 픽셀 블럭들의 조합을 분석하면, 픽셀들의 모든 조합들은, 픽셀 블럭들(304-311)에서 발견되는 이미지 세그먼트들에 의해 형성될 수 있음을 알 수 있다. 도 3b에 도시된 패턴의 타입은 "미로(maze)" 타입이라고 일컬어질 수 있는데, 라인 세그먼트들이 미로에 의해 모든 사면에서 완전히 봉해지는 영역이 없이 미로를 형성하기 때문이다.
더 이상이 없이도, 도 3f-3i에 도시된 픽셀들의 4 "코너" 조합들 각각은 이미지(303)에 도시된 미로 패턴에서 찾을 수 있을 것으로 기대된다. 그러나, 도 3b에 도시된 바와 같이, 오직 3가지 타입의 코너들이 8개 픽셀 블럭들(304-311) 내에 실제로 존재한다. 이 예에서, 도 3f에 도시된 바와 같은 픽셀들의 코너 조합은 없다. 이러한 방식으로 이미지 세그먼트들(301, 302)을 선택하여 코너 타입을 제거함으로써, 캡처된 이미지의 방향을, 없는 타입의 코너에 기초하여, 결정할 수 있다.
예를 들어, 도 4에 도시된 바와 같이, 카메라(203)에 의해 캡처된 이미지(401)는, 이미지(401)에 의해 실제로 표현된 위치와 관련하여 해석되도록 분석될 수 있으며, 그의 방향(orientation)이 결정될 수 있다. 첫째, 이미지(401)는 검토되어, 이미지(401)의 어느 픽셀들이 미로 패턴을 형성하는지를 결정하고, 픽셀들의 패턴이 수평적으로 그리고 수직적으로 정렬되도록 이미지를 회전시키는데 필요한 각도 θ를 결정할 수 있다. 상술한 바와 같이, 비수평적 및 비수직적 배열(예를 들면, 패턴의 정확한 방향은 45도임)로 하부의 그리드를 회전시키는 것을 포함하여, 대안적인 그리드 배열들이 본 발명의 다른 실시예들에 따라 가능하다.
그 다음, 이미지(401)는 어느 코너가 빠졌는지를 결정하기 위해 분석된다. 이미지(401)를 디코딩(403)을 위해 준비된 이미지로 회전시키는데 필요한 회전량은 o=(θ+ {어느 코너가 빠졌는지에 의해 결정되는} 회전량)로 도시되어 있다. 회전량은 도 5의 방정식에 의해 도시되어 있다. 도 4를 다시 참조하면, 각도 θ는, 픽셀들의 (수평 및 수직)(혹은 달리 정의된 그리드 방향) 배열에 도달하는 픽셀들의 레이아웃에 의해 먼저 결정되고, 이미지가 402로 도시된 바와 같이 회전되어진다. 그런 다음 분석이 수행되어 빠진 코너를 결정하고, 디코딩을 위해 이미지를 셋업하기 위하여 이미지(403)로 회전되어지는 이미지(402)를 결정한다. 여기서, 이미지는 시계 반대 방향으로 90도 회전되고, 이미지(403)는 정확한 방향을 가지며 디코딩에 이용될 수 있다.
회전 각도 θ는, 빠진 코너를 설명하기 위해 이미지(401)의 회전 전후에 적용될 수 있는 것으로 이해되어야 한다. 캡처된 이미지 내의 노이즈를 고려하면, 모든 4가지 타입의 코너들이 존재할 수 있음을 알아야 한다. 따라서, 본 발명의 다양한 실시예들에 있어서, 각각의 타입의 코너들의 개수가 카운트될 수 있고, 최소 개수의 코너들을 갖는 타입이 빠진 코너 타입인 것으로 결정될 수 있다.
최종적으로, 이미지(403) 내의 코드가 판독되고, 이미지(303)를 생성하기 위해 이용되는 원시 비트 스트림과 연관된다. 연관은 다수의 방식들에 의해 행해질 수 있다. 예를 들어, 복원된 비트 스트림이 원시 비트 스트림 내의 모든 다른 비트 스트림 프레그먼트들과 비교되는 재귀적 방식에 의해 수행될 수 있다. 둘째로, 예를 들면, 복원된 비트 스트림과 원시 비트 스트림 사이의 해밍 거리를 이용함으로써, 복원된 비트 스트림과 원시 비트 스트림 간에 통계적 분석이 행해질 수 있다. 원시 비트 스트림에서 복원된 비트 스트림의 위치를 결정하기 위해 다양한 방법들이 이용될 수 있을 것으로 생각된다.
앞선 설명으로부터, 상술한 미로 패턴은 정보를, 예를 들면 종이나 디지타이저의 디스플레이 등과 같은, 매체의 표면 상에 인코드하기 위해 이용될 수 있음을 알 것이다. 그런 다음, 이 정보는 펜(201)의 카메라(203)에 의해 하나 이상의 이미지들로 캡처되고, 디코드될 수 있다. 매체의 표면 상에 인코드될 수 있는 특별히 유용한 타입의 정보는 위치 정보이다. 비트 스트림의 부분들이 매체 상에서 반복되지 않으면, 컴퓨터(101)는 특별한 비트 부분을 포함하는 문서 부분을 결정할 수 있다.
패턴의 전체 부분이 이미지로 캡처되면, 컴퓨터(101)는, 상술한 바와 같이, 이미지로 캡처된 문서 부분을 결정할 수 있을 것이다. 그러나, 어떤 상황에서는, 패턴의 일부분이 애매할 수 있다. 예를 들어, 매체가, 예를 들면 타이프라이트된 텍스트를 포함한 문서라면, 텍스트는 패턴 내의 하나 이상의 비트들에서 분분적으로 모호할 수 있다. 상기 예(각각의 비트는 3×3 픽셀들의 매트릭스로 구성되고, 카메라(203)의 해상도는 32×32임)에서, 컴퓨터(101)는, 이미지로부터 60개 이상의 비트들이 식별될 수 있다면, 이미지에서 캡처된 문서 부분의 위치를 매우 용이하게 결정할 수 있을 것이다. 그렇지만, 이미지에서 단지 36 내지 60개의 비트들만이 식별될 수 있다고 해도, 컴퓨터(101)는 여전히 이미지에서 캡처된 문서 부분의 위치를 결정할 수 있다. 또한, 이미지로부터 35개 이하의 비트들이 식별될 수 있다면, 컴퓨터(101)는 이미지에서 캡처된 문서 부분을 결정할 수 없을 것이다.
스트로크를 이용하여 캡처된 이미지들
본 발명의 예시된 실시예에 있어서, 앞서 상세히 설명한 바와 같이, 문서 상에 스트로크를 형성하는 잉크는 카메라(203)에 보여지지 않는다. 그 대신, 카메라(203)는, 펜이 움직여 스트로크를 형성하기 때문에 단지 문서의 이미지들을 캡처한다. 실제 펜 팁의 위치, 및 그에 따른 스트로크의 위치는, 이미지들의 중심의 위치를 캘리브레이션 파라미터로 보상함으로써 추정된다. 따라서, 도 6은 펜(201)을 이용하여 문서 상에 형성될 수 있는 스트로크에 대응하는 스트로크 경로(601)의 예를 도시한다. 스트로크 경로(601)는 스트로크의 형상을 따르나, 스트로크로부터 오프셋에 있다. 사용자가 펜(201)을 움직여 스트로크를 형성함에 따라, 카메라(203)는 스트로크 경로(601)를 따라 문서의 이미지를 주기적으로 캡처한다. 따라서, 도 7에 도시된 바와 같이, 카메라(203)는, 각각의 이미지의 중심이 스트로크 경로(601) 상에 들어오는, 문서의 일련의 이미지들(701A-701X)을 캡처할 것이다. 그러므로, 각각의 이미지들(701A-701X)의 중심은 실제 스트로크 경로(601) 상에 들어온다. 도 8은 이러한 이미지들(701A-701X) 각각의 중심들인 일련의 포인트들(801A-801X)을 예시한다. 그러나, 본 발명의 다른 실시예들은 다른 구성들을 채택할 수 있음을 이해해야 할 것이다. 예를 들어, 본 발명의 대안적인 실시예에서는, 캡처된 이미지의 중심은 펜(201)의 실제 팁(202)에 대응할 수 있다.
앞서 살펴본 바와 같이, 문서는 문서의 다양한 위치들을 식별하는 비트 정보를 포함하는 패턴을 포함할 것이다. 따라서, 각각의 이미지(701A-701X)는 이 패턴의 부분을 포함할 수 있다. 어떤 경우에는, 캡처된 이미지가 예를 들면 컴퓨터(101)와 같은 컴퓨터가 이미지의 위치를 결정하기에(즉, 이미지에서 캡처된 문서 부분의 위치를 결정하기에) 충분한 패턴을 포함할 것이다. 대안적으로, 하나 이상의 이미지들의 위치가, 예를 들면 이미지를 문서 혹은 문서의 선택된 영역과 픽셀 단위 비교를 수행함으로써, 구해질 수 있다.
반면에, 앞서 살펴본 바와 같이, 이미지로부터 불충분한 개수의 비트들이 식별되면, 컴퓨터(101)는 이미지에서 문서의 어느 위치가 캡처되었는지를 결정할 수 없다. 그 대신, 컴퓨터(101)는, 이미지에서 문서의 어느 위치가 캡처되었는지를 결정하기 위해, 대안적인 기술을 채택해야 한다. 문서가 전자적 형태로 저장되어 있고, 문서 이미지에 대하여 캡처된 이미지의 회전 및 스케일이 추정될 수 있다면, 컴퓨터(101)는 회전되고 스케일된 이미지와 전자적 문서 내의 모든 위치와의 픽셀 단위 비교를 수행할 수 있다. 이 기술은 매우 많은 양의 비교 프로세스들을 필요로 할 수 있다. 예를 들어, 한 페이지의 전자 문서는 1410×2019 픽셀들을 포함할 수 있어서, 2,889,090 (1410×2019)회의 비교가 필요하다. 또한, 각각의 비교 프로세스는 많은 개수의 픽셀들을 비교한다. 예를 들어, 캡처된 이미지는 32×32 픽셀들을 포함할 수 있으며, 각각의 비교는 1024 (32×32) 픽셀들을 비교한다. 또한, 캡처된 이미지의 회전 및 스케일이 추정될 수 없다면, 모든 가능한 회전 및 스케일이 고려되어야 한다. 따라서, 이 기술은 매우 많은 양의 프로세서 오버헤드를 수반하고 시간-소모적이다. 그 대신에, 하기에서 보다 상세히 논의되는 바와 같이, 컴퓨터(101)는, 본 발명의 다양한 실시예들에 따라 로컬 고속 이미지 매치를 수행함으로써, 이미지의 위치를 보다 효과적으로 그리고 보다 빠르게 결정할 수 있다.
도 9는 본 발명의 다양한 실시예들에 따른 로컬 고속 이미지 매치를 수행하기 위해 채택될 수 있는 툴(901)을 예시한다. 툴(901)은 이미지 수신 모듈(903), 세그먼테이션 모듈(905), 세그먼트 완성 모듈(907), 및 결과 프루닝 모듈(909)을 포함한다. 하기에서 보다 상세히 논의되는 바와 같이, 이미지 수신 모듈(903)은, 물리적 매체 상에 디스플레이된 문서의 일부의 이미지, 즉 각각의 이미지의 중심이 실제 잉크 스트로크로부터 오프셋에 있는 스트로크 경로(601)에 들어오는 이미지를 수신한다. 그런 다음, 세그먼테이션 모듈(905)은 각각의 이미지를 분석하여, 스트로크의 형상에 대응한 이미지들의 시퀀스를 분할한다. 일단 세그먼트들이 결정되면, 세그먼트 완성 모듈(907)은 세그먼트 내의 각각의 이미지의 위치를 결정함으로써 각각의 세그먼트를 "완성한다". 그런 다음, 결과 프루닝 모듈(909)은, 세그먼트 완성 모듈(907)에 의해 에러로 결정되었던 위치 지정 결과들을 제거한다. 위치 지정되지 않은 이미지들에 대응한 문서 부분들을 결정하는 한가지 방법이, 도 10a 내지 10c에 도시된 순서도에 설명되어 있으며, 하기에서 더 상세히 논의될 것이다.
이미지 세그먼테이션
스트로크 경로를 따라 캡처된 이미지들이 분석될 때, 컴퓨터(201)는 먼저, 예를 들면 상술한 미로 패턴과 같은 문서 내에 제공된 패턴을 이용하여 각각의 이미지의 위치를 정하려고 시도할 것이다. 패턴을 디코딩함으로써, 성공적으로 위치가 정해지는 이미지가 없다면, 제1 이미지와 문서(또는, 문서의 가능성 있는 대응 영역들이 식별되었다면, 그 가능성 있는 대응하는 영역들) 사이에 픽셀 단위 비교가 행해진다. 제1 이미지가 그러한 비교에 의해 성공적으로 위치 지정될 수 있다면, 나머지 프레임들은 하기에서 보다 상세히 논의될 로컬 위치 결정(local localization) 프로세스를 이용하여 분석된다. 제1 이미지가 성공적으로 위치 지정될 수 없다면, 그 다음 프레임이 픽셀 단위 비교를 이용하여 분석된다. 이 프로세스는 이미지가 성공적으로 위치 지정될 때까지, 혹은 모든 이미지들이 위치 지정될 수 없다고 판정될 때까지 계속된다. 어떤 이미지도 위치 지정될 수 없다면, 그 스트로크는 잃어버리게 된다(즉, 스트로크의 위치가 결정될 수 없다). 위치 지정된 이미지들의 중심은 이제부터 "시작" 포인트들로 일컬을 것인데, 그 이유는 이들 포인트들이 스트로크 경로(601)를 따라 위치되지 않은 이미지들의 위치를 결정하기 위한 기준선이기 때문이다. 따라서, 패턴을 이용하여 또는 픽셀 단위 비교에 의해, 성공적으로 위치 지정된 각각의 프레임의 중심은 시작 포인트이다.
도 8을 다시 참조하면, 이 도면은 다양한 포인트(801A) 내지 포인트(801X)를 도시하고, 이들 포인트들의 각각은 이미지(701A) 내지 이미지(701X) 각각의 중심이다. 이 도면에서, 원으로 도시된 포인트들은 시작 포인트들이다. 그러므로, 포인트들(801A, 801C, 801F, 801I, 801K, 801O, 801Q, 801T, 및 801X)은 시작 포인트들이다. 별표로 나타내진 포인트들은 아직 위치 지정되지 않은 이미지들의 중심들이다(즉,문서의 미식별된 부분을 캡처링한 이미지들). 그러므로, 포인트들(801B, 801D, 801E, 801G, 801H, 801J, 801L, 801M, 801N, 801P, 801R, 801S, 801U, 801V, 801W, 및 801X)은 위치 지정되지 않은 포인트들이다.
도 10a의 참조에서, 단계(1001)에서, 이미지들의 시퀀스(또는 프레임들)는 분할된다. 더 구체적으로, 이미지들의 시퀀스는 그룹들로 분리되어, 각각의 그룹은 스트로크 경로(601)의 비교적 선형 부분에 대응한다. 아래 더 상세히 논의되는 바와 같이, 이 세그먼테이션은 세그먼트의 위치 지정되지 않은 이미지들의 위치가 그 세그먼트의 위치 지정된 이미지들의 위치로부터 정확하게 보간되도록 한다. 스트로크에 대한 세그먼트들을 결정하기 위해, 세그먼테이션 모듈(903)은 스트로크에 대한 주요 시작 포인트들을 식별한다. 주요 시작 포인트들은 스트로크가 방향을 변경하는 위치 또는 근접 위치들에서 발생하는 포인트들이다. 추가로, 스트로크의 제1 및 최종 포인트들은 주요 시작 포인트들로서 고려될 것이다.
스트로크 경로(601)에 대한 이미지(701A) 내지 이미지(701X)의 시퀀스를 분할하는 일 처리가 도 11 및 도 12에 그래프로 도시된다. 제1 시작 포인트(801A) 및 최종 시작 포인트(801X)는, 상술된 바와 같이, 주요 시작 포인트들(pivotal start points)로서 고려된다. 그러므로, 주요 시작 포인트(801A) 및 포인트(801X)는 그들 사이의 스트로크 경로(601)의 단일 세그먼트를 정의한다. 스트로크 경로(601)에 대한 추가 주요 시작 포인트들을 결정하기 위해, 도 11에 도시된 바와 같이, 세그먼테이션 모듈(903)은 제1 주요 시작 포인트(801A)와 최종 주요 시작 포인트(801X) 간의 라인(1101)을 생성한다. 그 다음, 라인(1101)으로부터 가장 먼 시작 포인트(801O)는(아래 설명되는 바와 같이, 0.5 픽셀과 같이, 임계치보다 먼 거리를 가짐) 주요 시작 포인트로서 식별된다. 그러므로, 세그먼테이션 모듈(903)은, 주요 시작 포인트로서, 라인(1101)으로부터 거리 d1에 위치된 시작 포인트(801O)를 지시한다. 시작 포인트(801O)를 정의하는 것은 이미지(701A) 내지 이미지(701X)의 시퀀스를 2개의 세그먼트들로 분리한다. 제1 세그먼트, SEG1는 주요 시작 포인트(801A)와 주요 시작 포인트(801O) 간의 스트로크 경로(601)의 일부에 대응하고, 제2 세그먼트, SEG2는 주요 시작 포인트(801O)와 주요 시작 포인트(801X) 간의 스트로크 경로(601)의 일부에 대응한다.
세그먼테이션 모듈(903)은 각각의 세그먼트를 더 작은 세그먼트들로 분할하기를 각각의 세그먼트가 비교적 곧은 스트로크의 부분에 대응할 때까지 계속한다. 예를 들어, 스트로크 경로(601)로, 세그먼테이션 모듈(903)은 제1 세그먼트 SEG1을 더 작은 세그먼트들로 분리할 것이다. 더 구체적으로, 세그먼테이션 모듈은 세그먼트 SEG1의 종단 포인트들 간에(즉, 주요 시작 포인트(801A)와 주요 시작 포인트(801O) 간에) 라인(1201)을 생성할 것이다. 그 다음, 세그먼테이션 모듈(903)은 라인(1201)으로부터 가장 먼 시작 포인트를 식별한다. 그러므로, 세그먼테이션 모듈(903)은, 주요 시작 포인트로서, 라인(1201)으로부터 거리 d2에 위치된 시작 포인트(801F)를 지정한다. 시작 포인트(801F)를 정의하는 것은 이미지(701A) 내지 이미지(701O)의 세그먼트를 2개의 세그먼트들로 분리한다. 제1 세그먼트, SEG1A는 주요 시작 포인트(801A)와 주요 시작 포인트(801F) 간에 스트로크 경로(601)의 일부에 대응하고, 제2 세그먼트, SEG1B는 주요 시작 포인트(801F)와 주요 시작 포인트(801O) 간의 스트로크 경로(601)의 일부에 대응한다.
세그먼테이션 모듈(903)은 이미지들의 각각의 세그먼트가 거의 선형인 스트로크의 부분에 대응할 때까지 각각의 이미지들의 세그먼트의 분할을 계속한다. 예를 들어, 세그먼테이션 모듈(903)이 세그먼트를 형성하는 2개의 주요 시작 포인트들 간에 라인을 생성하고, 라인으로부터 임계 거리보다 먼 시작 포인트들이 없으면, 세그먼테이션 모듈은 세그먼트를 더 분할하지 않을 것이다. 본 발명의 일부 실시예들에서, 예를 들어, 임계치는 문서에서 개별 위치들을 정의하기 위해(즉, 직교좌표계를 사용함) 채택된 0.5 유닛(즉, 픽셀)의 거리일 수 있다. 물론, 더 높은 임계치가 사용되어, 이미지들의 세그먼트들이 덜 선형인(less linear) 스트로크의 부분들에 대응하도록 할 수 있다. 더 낮은 임계치가 또한 사용되어, 이미지들의 세그먼트들이 더 선형인 스트로크의 부분들에 대응하도록 할 수 있다.
일단 세그먼테이션 모듈(903)이 스트로크의 모든 주요 시작 포인트들을 정의하면, 그것은 주요 시작 포인트들에 대한 위치 및 원근 변환을 정교화한다. 더 구체적으로, 세그먼테이션 모듈(903)은 주요 시작 포인트(801)에 대응하는 각각의 이미지(701)와 문서의 전자 버전을 비교하여, 주요 시작 포인트(801)의 위치 및 원근 변환을 더 정확히 결정한다. 예를 들어, 1997년 9월 1일에 발행되고 2001년 10월에 갱신된, Heung-Yeung Shum과 Richard Szeliski에 의한, "파노라믹 이미지 모자이크(Panoramic Image Mosaics)", 마이크로소프트 리서치 기술 보고서 MSR-TR-97-23, 에 기재된 기술과 같은 임의의 바람직한 공지된 기술을 사용하여 채용될 수 있다. 주요 시작 포인트들을 정교화하는 것은 이미지들의 시퀀스를 세그먼트들로 분할하는 처리를 완수한다.
주요 시작 포인트(801)(및 그들의 연계된 이미지들(701))의 위치를 더 정확히 결정하는 것에 추가하여, 주요 시작 포인트(801)를 정교화하는 것은 이미지들과 그들의 문서의 대응하는 부분들을 매치시키기 위해 사용되는 변환 파라미터들의 정확성을 세스멘테이션 모듈(903)이 증가시키도록 한다. 상술된 바와 같이, 펜(201)의 경사(tilting) 및 회전(rotation)은 카메라에 의해 찍힌 이미지들이 문서의 실제 외관과 관련하여 회전되고 크기조절되도록 한다. 문서의 일부와 이미지를 정확하게 비교하기 위해, 이미지는 펜(201)의 경사와 회전에 의한 회전 및 크기의 변경을 보완하기 위해 와핑(warping)되어야 한다. 예를 들어, 도 13은 원본 이미지(1301)를 도시한다. 그 다음, 이미지가 와핑 변환 파라미터들에 따라 와핑된 후에, 도 14는 동일 이미지(1401)를 도시한다.
주요 시작 포인트들을 문서의 전자 버전과 더 정확하게 비교하여, 세그먼테이션 모듈(903)은 문서와 매치시키도록 이미지를 더 정확히 와핑하기 위해 변환 파라미터들을 수정할 수 있다. 본 발명의 다양한 실시예들에서, 세그먼테이션 모듈(903)은 변환 파라미터들의 단일 세트를 수정하여 시퀀스의 모든 캡처링된 이미지들에 적용할 수 있다. 그러나, 본 발명의 다른 실시예들에서, 세그먼테이션 모듈(903)은 각각의 주요 시작 포인트에 대해 변환 파라미터들의 특정 세트를 생성한다. 아래 더 상세히 기재되는 바와 같이, 각각의 주요 시작 포인트에 대한 변환 파라미터들의 특정 세트를 갖는 것은 인근의 위치 지정되지 않은 포인트들이 더 정확히 보간되도록 한다. 펜(201)의 경사 및 회전이 전체 스트로크의 거리에 대해 매우 다양할 수 있는 한편, 펜(201)의 경사 및 회전은 통상적으로 스트로크의 단일 세그먼트의 짧은 거리에 대해 그다지 다양하지는 않을 것이다. 따라서, 각각의 주요 시작 포인트에 대한 변환 파라미터들은 주요 시작 포인트에 따른 이미지의 바로 전 또는 바로 후에 캡처링된 이미지들을 더 정확하게 와핑하기 위해 사용될 수 있다.
세그먼테이션 모듈(903)이 이미지(701A) 내지 이미지(701X)를 분할한 후에, 세그먼트 완성 모듈(907)은 이미지들의 각각의 세그먼트를 처리하여 각각의 세그먼트에 위치 지정되지 않은 이미지들의 위치를 결정한다. 그러므로, 단계(1003)에서, 세그먼트 완성 모듈(907)은 제1 세그먼트의 이미지들을 수신한다. 다음, 단계(1003)에서, 세그먼트 완성 모듈(907)은 세그먼트가 완성되었는지를 결정한다. 세그먼트 완성 모듈(907)은 세그먼트가 주요 시작 포인트가 아닌 적어도 한 개의 시작 포인트를 포함하면 세그먼트가 완성됨을 결정할 것이다. 즉, 주요 시작 포인트 이외의, 세그먼트의 적어도 한 개의 포인트의 위치가 이미지에 캡처링된 패턴으로부터 또는 다른 기술에 의해 미리 결정되면, 세그먼트는 완성된다. 이 상황에서, 세그먼트는 충분히 선형이어서 세그먼트의 모든 이미지들의 위치는 선형 보간법에 의해 결정될 수 있다. 추가로, 세그먼트 완성 모듈(907)은 세그먼트의 모든 위치 지정되지 않은 이미지가 문서의 대응하는 부분에 매치된 후에 세그먼트는 완성됨을 결정할 것이다.
세그먼트가 완성되지 않으면, 단계(1007)에서, 세그먼트 완성 모듈(907)은 세그먼트의 제1 미처리(즉, 위치 지정되지 않은) 이미지를 수신한다. (각각의 세그먼트의 제1 이미지는 공지된 위치를 갖는 주요 시작 포인트일 것임) 단계(1008)에서, 아래 상세히 기재되는 바와 같이, 세그먼트 완성 모듈(907)은 문서와의 비교를 위해 이미지를 와핑한다. 그 다음, 단계(1009)에서, 세그먼트 완성 모듈(907)은 미처리된 이미지에 대해 검색 영역을 결정한다. 세그먼트의 초기 미처리된 이미지에 대한 검색 영역은 펜(201)의 최대 추정 속도에 기초하여 결정된다. 보통 숙련의 당업자들이라면, 펜(201)으로 필기하는 사용자는 문서를 디스플레이하는 물리적 매체에 따라 최대 속도로 펜(201)을 움직일 수만 있다는 것을 알 것이다. 특정 타입의 펜(201)과 물리적 매체에 대한 최대 속도는, 예를 들어, 실험에 의해 결정될 수 있다.
그러므로, 제1 미처리된 이미지에 대한 검색 영역의 중심은 세그먼트의 제1 주요 시작 포인트에 대응하는 이미지 캡처와 세그먼트의 제1 미처리된 이미지의 캡처 사이의 시간 간격에 의해 곱해진 펜(201)의 최대 속도에 제한된 검색 영역의 반지름으로, 세그먼트의 제1 주요 시작 포인트일 수 있다. 본 발명의 다양한 실시예들에서, 미처리된 이미지는, 상술된 바와 같이, 세그먼트의 제1 주요 시작 포인트의 변환 파라미터들을 사용하여 비교를 위해 와핑될 것이다. 그러나, 본 발명의 또 다른 실시예들에서, 미처리된 이미지는 그 이전 이미지가 주요 시작 포인트였는지에 상관없이, 세그먼트에 미리 위치 지정된 이미지의 변환 파라미터들을 사용하여, 비교를 위해 와핑될 수 있다. 미처리된 이미지가 와핑된 후에, 그 다음, 세그먼트 완성 모듈(907)은 와핑된 제1 미처리된 이미지와 문서의 검색 영역의 각 픽셀 단위 비교를 행하여, 제1 미처리된 이미지에 캡처링된 문서의 부분을 결정할 수 있다. 예를 들어, 각 픽셀 간의 비교는 제1 미처리된 이미지와 검색 영역에서 문서의 각각의 부분 간에 상관치를 결정할 수 있다.
세그먼트 완성 모듈(907)은 미처리된 이미지가 가장 높은 상관치를 발생시키는 문서의 부분에 대응함을 결정할 것이다. 그 방식으로 미처리된 이미지를 정확히 위치 지정하여, 세그먼트 완성 모듈(907)은 또한 미처리된 이미지에 대응하는 포인트의 위치를 결정할 것이다. 제1 미처리된 이미지에 대한 위치 지정된 포인트와 제1 주요 시작 포인트 간의 거리는 펜(201)이 실제로 이동되는 속도를 지시할 것이다. 미처리된 이미지의 결정된 위치에 기초하여, 세그먼트 완성 모듈(907)은 또한, 상술된 바와 같이, 다음 미처리된 이미지의 와핑에의 사용을 위해 캡처링된 이미지들을 정교화하여(즉, 원근 변환을 얻기 위해 캡처링된 이미지와 문서 이미지를 매치시킴으로서) 변환 파라미터들을 갱신할 수 있다. 일단 펜(201)의 실제 이동 속도가 결정되고 변환 파라미터들이 갱신되면, 미처리된 이미지는 처리된 것으로 고려될 것이다.
단계(1015)에서, 세그먼트 완성 모듈(907)은 세그먼트에 추가의 미처리된 이미지들이 있는지를 판정한다. 만약 있으면, 세그먼트 완성 모듈(907)은 현재 미처리된 이미지를 수신하여 단계(1007)를 반복한다. 그 다음, 단계(1009)에서, 세그먼트 완성 모듈(907)은 현재 미처리된 이미지에 대한 검색 영역을 결정한다. 세그먼트의 제2 및 각각의 후속의 미처리된 이미지로, 검색 영역은 이전에 미처리된 이미지의 위치를 파악하여 결정되는 펜(201)의 실제 속도에 기초하여 결정될 것이다. 예를 들어, 검색 영역의 중심은 이전에 미처리된 이미지에 대응하는 포인트에 위치될 수 있다. 그 다음, 세그먼트 완성 모듈(907)은 이전에 미처리된 이미지에 대한 포인트의 위치로부터 계산된 실제 펜 속도에 기초하여 검색 영역의 반지름을 결정할 수 있다. 더 구체적으로, 검색 영역의 반지름은 이전 미처리된 이미지의 위치로부터 계산된 실제 펜 속도와 캡처링된 이미지들 간의 시간 간격을 곱하여 결정될 수 있다.
보통 숙련의 당업자라면, 펜(210)을 갖고 쓰는 사용자는 단지 최대 가속도 값에 의해 펜(201)의 속도를 변경할 수만 있다는 것을 이해할 것이다. 이 최대 가속도 값은, 예를 들어, 실험에 의해 계산될 수 있고, 이전의 위치 지정된 이미지들 간의 실제 가속도에 기초할 수 있다. 따라서, 본 발명의 일부 실시예들에서, 제2 및 후속의 미처리된 이미지들에 대한 검색 영역의 반지름은 최대 가속도 값에 의해 수정될 수 있다. 예를 들어, 시간 t1, t2, 및 t3에 캡처링되고 포인트 p1, p2, 및 p3에 중심을 갖는 스트로크에 3개의 이미지들 f1, f2, 및 f3이 있을 수 있다. 포인트들 p1 및 p2의 위치가 결정되면, 이들 이미지들의 캡처 간에 펜의 속도는 V = (p2 - p1)/(t2 - t1)이다. 가속도가 -A와 A 간의 값을 가지면, 포인트 p3에 대한 검색 영역은 위치 P=p2+V*(t3-t2) 주위에 집중되었고, 검색 영역의 면적은 [P-A*(t3-t2)*(t3-t2)/2,P+A*(t3-t2)*(t3-t2)/2]이다 .
일단 세그먼트 완성 모듈(907)이 현재의 미처리 이미지에 대한 검색 영역을 결정하면, 세그먼트 완성 모듈(907)은 단계(1011)에서 이전의 처리된 이미지로부터 원근 변환으로 미처리 이미지를 와핑하고 와핑된 미처리 이미지와 문서의 검색 영역과의 픽셀 단위(pixel-by-pixel) 비교를 수행한다. 다시, 최고의 상관값을 생성하는 문서의 부분이 현재의 미처리 이미지에 대한 위치로서 선택된다. 그 후 세그먼트 완성 모듈(907)은 현재의 미처리 이미지에 대한 포인트와 이전의 미처리 이미지에 대한 포인트 사이의 거리에 기초하여 펜(201)에 대한 새로운 속도를 계산한다. 그것은 또한 현재의 미처리 이미지의 식별된 위치에 기초하여 변환 파라미터를 갱신하여, 이미지를 처리한다. 그 후 세그먼트 완성 모듈(907)은 단계(1015)를 반복하여, 현재의 세그먼트에 남아 있는 위치 지정되지 않은 이미지들이 있는지 여부를 결정한다.
세그먼트 완성 모듈(907)은 현재의 세그먼트에 위치 지정되지 않은 이미지들이 더 이상 없을 때까지 단계들(1007 및 1015)을 반복한다. 다음으로, 단계(1017)에서, 세그먼트 완성 모듈(907)은 이미지들의 시퀀스 내에 세그먼트들이 더 있는지 여부를 결정한다. 만일 세그먼트들이 더 있다면, 세그먼트 완성 모듈(907)은 이미지들의 시퀀스 내의 모든 세그먼트들이 완성될 때까지 단계들(1003 내지 1015)을 반복한다.
모든 세그먼트들이 완성된 후에, 스트로크 내의 각각의 이미지는 문서 내에 위치 지정될 것이다. 예를 들어, 부정확한 초기 변환 파라미터 및 모션 블러(motion blur)와 같은 몇몇 요인들이 위치 지정된 이미지들의 하나 이상에 대한 잘못된 위치 결과들을 초래할 수 있다. 따라서, 본 발명의 각종 실시예들은 단계(1019)에서 결과 프루닝 모듈(909)을 이용하여 결과들로부터 잘못된 위치들을 제거(prune)할 수 있다.
결과 프루닝 모듈(909)은, 예를 들면, 이미지들의 시퀀스에 대한 각각의 시작 포인트들의 위치를 유지할 수 있다. 다음으로, 결과 프루닝 모듈(909)은 전체 스트로크 경로에 대한 각 포인트를 통하여 한 스텝씩 나아가면서, 처음 포인트부터 마지막 포인트까지 순서대로 각 포인트를 분석한다. 더 구체적으로, 이전의 포인트로부터 현재의 포인트까지 및 현재의 포인트로부터 다음 포인트까지의 속도가 계산된다. 또한 이 2개의 속도 값들로부터 가속도가 계산된다. 만일 속도 값 또는 가속도가 최대치를 초과하면, 현재의 포인트의 위치는 잘못된 것으로 간주되어 결과들로부터 제거된다.
본 발명의 각종 실시예들에서, 결과 프루닝 모듈(909)은 각 포인트의 분석을 반복할 수 있지만, 대신에 마지막 포인트로부터 처음 포인트까지 역순으로 각 포인트를 분석할 수 있다. 따라서, 다음 포인트로부터 현재의 포인트까지 및 현재의 포인트로부터 이전의 포인트까지의 속도가 계산된다. 또한 이 2개의 속도 값들로부터 가속도가 계산된다. 만일 속도 값 또는 가속도가 최대치를 초과하면, 현재의 포인트의 위치는 잘못된 것으로 간주되어 결과들로부터 제거된다. 모든 잘못된 포인트들이 제거된 후에, 제거된 포인트들의 위치는 보간법(interpolation)을 이용하여 결정될 수 있다.
<결론>
이상 본 발명을 수행하는 현재 선호되는 양태들을 포함하는 특정 예들과 관련하여 본 발명을 설명하였지만, 숙련된 당업자라면 첨부된 청구항들에 제시된 것과 같은 발명의 의미 및 범위 내에 드는 상술한 시스템들 및 기술들의 변형예들 및 대체예들이 많이 있다는 것을 알 것이다.
본 발명은 이미지로 캡처된 문서의 일부의 위치를 결정하는 것으로, 특히, 문서의 이미지들을 캡처링함으로써 문서 상의 마크의 위치를 식별하는데 적용할 수 있다. 캡처된 이미지에 대응하는 문서의 부분을 결정하기 위한 효율적인 기법이 개시되어 있다
도 1은 본 발명의 실시예들에 관련하여 사용될 수 있는 컴퓨터의 일반적 설명을 도시한 도면.
도 2a는 본 발명의 다양한 실시예들에 따른 펜의 예를 예시한 도면이며, 도 2b는 본 발명의 다양한 실시예들에 의해 얻어질 수 있는 이미지의 해상도를 예시하는 도면.
도 3a 내지 3i는 본 발명의 실시예들에 따라 인코딩 시스템의 다양한 예들을 도시한 도면.
도 4는 문서의 일부에서 캡처된 이미지의 회전을 결정하기 위해서 인코딩 패턴을 채용할 수 있는 방법을 그래픽적으로 예시하는 도면.
도 5는 문서의 일부에서 캡처된 이미지의 회전을 결정하기 위해서 사용될 수 있는 공식들을 예시하는 도면.
도 6은 문서 내에 만들어진 스트로크(stroke)를 예시하는 도면.
도 7은 도 6에 도시한 문서에서 스트로크가 만들어짐에 따라 캡처된 이미지들을 예시하는 도면.
도 8은 도 7에 도시한 각각의 캡처된 이미지에 대한 기준 포인트들을 예시하는 도면.
도 9는 본 발명의 다양한 실시예들에 따른 문서의 일부에 캡처된 이미지를 매치하는데 사용될 수 있는 툴을 예시하는 도면.
도 10a 내지 10c는 본 발명의 다양한 실시예들에 따른 문서의 일부에 캡처된 이미지를 매치시키는 방법을 설명하는 순서도를 예시한 도면.
도 11 및 도 12는 도 6에 도시한 스트로크에 대한 주요(pivotal) 기준 포인트들의 결정을 예시하는 도면.
도 13 및 도 14는 캡처된 이미지가 와핑될 수 있는 방법의 예를 예시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
903 : 이미지 수신 모듈
905 : 세그먼테이션 모듈
907 : 세그먼트 완성 모듈
909 : 결과 프루닝 모듈

Claims (10)

  1. 스트로크의 이미지들의 위치들을 결정하는 방법으로서,
    문서 내의 스트로크의 복수의 이미지들을 하나 이상의 세그먼트들로 그룹화하는 단계 - 각각의 세그먼트는 상기 문서 내의 제1의 알려진 위치에 대응하는 제1 위치 지정된 이미지(first located image)와 상기 문서 내의 제2의 알려진 위치에 대응하는 최종 위치 지정된 이미지(last located image)를 가짐 - 와;
    각각의 세그먼트가 완성(finish)되었는지 또는 미완성되었는지를 결정하는 단계 - 각각의 완성된 세그먼트는 상기 문서 내의 제3의 알려진 위치에 대응하는 제3 위치 지정된 이미지를 적어도 포함함 - 와;
    각각의 미완성된 세그먼트를 완성하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서, 세그먼트가 상기 문서 내의 제3의 알려진 위치에 대응하는 제3 위치 지정된 이미지를 적어도 포함한다면 그 세그먼트가 완성된 것으로 결정하는 단계를 더 포함하고, 상기 제3의 알려진 위치는 상기 복수의 이미지들을 하나 이상의 세그먼트들로 그룹화하기 전에 알려진 것인 방법.
  3. 제1항에 있어서, 각각의 미완성된 세그먼트를 완성하는 단계는, 적어도 하나의 미완성된 세그먼트 내의 각각의 이미지에 대응하는 상기 문서 내의 위치를 식별하는 단계를 포함하는 방법.
  4. 제3항에 있어서, 현재의 이미지에 대응하는 상기 문서 내의 위치를 식별하는 단계는,
    스트로크를 형성하기 위해 이용된 펜의 움직임(movement) 및 이전의 이미지에 대응하는 상기 문서 내의 위치에 기초하여 상기 문서 내의 검색 영역을 결정하는 단계와,
    상기 현재의 이미지를 상기 문서 내의 상기 검색 영역과 비교하는 단계
    를 포함하는 방법.
  5. 제4항에 있어서, 상기 펜의 움직임은 상기 펜의 최대 속도인 방법.
  6. 제4항에 있어서, 상기 펜의 움직임은 2 이상의 이전의 이미지들에 대응하는 상기 문서 내의 위치들로부터 결정된 상기 펜의 실제 속도인 방법.
  7. 제4항에 있어서, 상기 펜의 움직임은 상기 펜의 최대 가속도인 방법.
  8. 제1항에 있어서, 각각의 세그먼트는 상기 스트로크의 비교적 선형인 부분에 대응하는 방법.
  9. 제1항에 있어서,
    상기 복수의 이미지들 각각에 대응하는 상기 문서 내의 위치들을 분석하는 단계와;
    하나 이상의 잘못된 위치들을 제거(prune)하는 단계
    를 더 포함하는 방법.
  10. 제9항에 있어서, 상기 복수의 이미지들 각각에 대응하는 상기 문서 내의 위치들을 분석하는 단계는 상기 복수의 이미지들이 세그먼트들로 그룹화되기 전에 식별된 위치들이 잘못되지 않은 것을 명시하는 단계를 포함하는 방법.
KR1020050001566A 2004-01-07 2005-01-07 고속 이미지 매치를 이용한 로컬 위치 결정 KR100942122B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/752,081 US7529410B2 (en) 2004-01-07 2004-01-07 Local localization using fast image match
US10/752,081 2004-01-07

Publications (2)

Publication Number Publication Date
KR20050072705A true KR20050072705A (ko) 2005-07-12
KR100942122B1 KR100942122B1 (ko) 2010-02-16

Family

ID=34592556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050001566A KR100942122B1 (ko) 2004-01-07 2005-01-07 고속 이미지 매치를 이용한 로컬 위치 결정

Country Status (13)

Country Link
US (1) US7529410B2 (ko)
EP (1) EP1553522A3 (ko)
JP (1) JP4652823B2 (ko)
KR (1) KR100942122B1 (ko)
CN (1) CN100576234C (ko)
AU (1) AU2004242566B2 (ko)
BR (1) BRPI0500014A (ko)
CA (1) CA2491770A1 (ko)
MX (1) MXPA05000419A (ko)
MY (1) MY144958A (ko)
RU (1) RU2369901C2 (ko)
TW (1) TWI355614B (ko)
ZA (1) ZA200500094B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388824B1 (ko) * 2006-07-24 2014-04-23 쓰리엠 이노베이티브 프로퍼티즈 컴파니 고속 마스킹된 정규 교차 상관에 의한 템플릿 정합을 사용한 문서 인증

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7133563B2 (en) 2002-10-31 2006-11-07 Microsoft Corporation Passive embedded interaction code
US7797369B2 (en) * 2003-12-16 2010-09-14 Seiko Epson Corporation System and method for controlling a transmission of image data to a display device
GB0417075D0 (en) * 2004-07-30 2004-09-01 Hewlett Packard Development Co Calibrating digital pens
US7826074B1 (en) 2005-02-25 2010-11-02 Microsoft Corporation Fast embedded interaction code printing with custom postscript commands
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
US7817816B2 (en) 2005-08-17 2010-10-19 Microsoft Corporation Embedded interaction code enabled surface type identification
US20070216711A1 (en) * 2006-03-14 2007-09-20 Microsoft Corporation Microsoft Patent Group Abstracting transform representations in a graphics API
JP4989308B2 (ja) * 2007-05-16 2012-08-01 キヤノン株式会社 画像処理装置及び画像検索方法
TWI403940B (zh) * 2008-12-03 2013-08-01 Au Optronics Corp 光感式觸控板之觸碰偵測方法及運用此方法之觸控式電子裝置
US8483518B2 (en) 2010-02-19 2013-07-09 Microsoft Corporation Image-based CAPTCHA exploiting context in object recognition
JP2012103776A (ja) * 2010-11-08 2012-05-31 Fuji Xerox Co Ltd 軌跡情報処理装置、軌跡情報処理システム及びプログラム
US20120272302A1 (en) * 2011-04-21 2012-10-25 Microsoft Corporation Human User Verification
WO2013090494A1 (en) 2011-12-16 2013-06-20 3M Innovative Properties Company Optical digitizer system with position-unique photoluminescent indicia
CN103377471B (zh) * 2012-04-16 2016-08-03 株式会社理光 物体定位方法和装置、最优摄像机对确定方法和装置
RU2582853C2 (ru) * 2012-06-29 2016-04-27 Общество с ограниченной ответственностью "Системы Компьютерного зрения" Устройство для определения расстояния и скоростей объектов на основе стереоподхода
JP6064211B2 (ja) * 2012-09-04 2017-01-25 パナソニックIpマネジメント株式会社 手書き入力システム
US8692212B1 (en) 2012-10-29 2014-04-08 3M Innovative Properties Company Optical digitizer system with position-unique photoluminescent indicia
US9958954B2 (en) 2012-12-13 2018-05-01 3M Innovative Properties Company System and methods for calibrating a digitizer system
JP6125333B2 (ja) * 2013-05-31 2017-05-10 株式会社東芝 検索装置、方法及びプログラム
EP3056524B1 (en) * 2014-10-13 2021-09-22 LG Chem, Ltd. Ethylene/1-butene copolymer having excellent processibility and environmental stress cracking resistance
CN106056605B (zh) * 2016-05-26 2018-09-18 西安空间无线电技术研究所 一种基于图像匹配的在轨高精度图像定位方法
CN108525304B (zh) * 2018-04-16 2021-06-22 网易(杭州)网络有限公司 一种图像分析方法、装置、存储介质及电子装置
CN110119216A (zh) * 2019-06-12 2019-08-13 卓阅科技(深圳)有限公司 智能笔及教学设备
CN113434715B (zh) 2020-03-23 2024-06-21 瑞昱半导体股份有限公司 用于针对图像进行搜索的方法以及图像处理电路

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6472293A (en) * 1987-09-14 1989-03-17 Sanyo Electric Co Handwritten character and graphic recognizing method
JPH06290301A (ja) * 1993-04-01 1994-10-18 Olympus Optical Co Ltd 文字/図形認識装置
JP3139902B2 (ja) * 1993-12-22 2001-03-05 株式会社東芝 図形認識方法及び装置
US5577135A (en) * 1994-03-01 1996-11-19 Apple Computer, Inc. Handwriting signal processing front-end for handwriting recognizers
JP2939119B2 (ja) * 1994-05-16 1999-08-25 シャープ株式会社 手書き文字入力表示装置および方法
TW397951B (en) * 1995-06-05 2000-07-11 Motorola Inc Method and microprocessor for preprocessing handwriting having characters composed of a preponderance of straight line segments
US6686910B2 (en) * 1996-04-22 2004-02-03 O'donnell, Jr. Francis E. Combined writing instrument and digital documentor apparatus and method of use
AU2351299A (en) * 1998-01-28 1999-08-16 California Institute Of Technology Camera-based handwriting tracking
US6864880B2 (en) * 2000-03-21 2005-03-08 Anoto Ab Device and method for communication
SE0000940L (sv) * 2000-03-21 2001-09-22 Anoto Ab Anordning och förfarande för kommunikation
US20020163511A1 (en) * 2000-11-29 2002-11-07 Sekendur Oral Faith Optical position determination on any surface
JP2002222425A (ja) * 2001-01-29 2002-08-09 Canon Inc 情報処理装置及び方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101388824B1 (ko) * 2006-07-24 2014-04-23 쓰리엠 이노베이티브 프로퍼티즈 컴파니 고속 마스킹된 정규 교차 상관에 의한 템플릿 정합을 사용한 문서 인증

Also Published As

Publication number Publication date
BRPI0500014A (pt) 2005-08-09
TWI355614B (en) 2012-01-01
EP1553522A2 (en) 2005-07-13
JP4652823B2 (ja) 2011-03-16
US7529410B2 (en) 2009-05-05
RU2369901C2 (ru) 2009-10-10
MY144958A (en) 2011-11-30
TW200532585A (en) 2005-10-01
EP1553522A3 (en) 2011-09-28
MXPA05000419A (es) 2006-02-08
AU2004242566B2 (en) 2010-03-04
CN1655178A (zh) 2005-08-17
US20050147281A1 (en) 2005-07-07
KR100942122B1 (ko) 2010-02-16
CA2491770A1 (en) 2005-07-07
AU2004242566A1 (en) 2005-07-21
CN100576234C (zh) 2009-12-30
JP2005327246A (ja) 2005-11-24
ZA200500094B (en) 2006-09-27
RU2004139199A (ru) 2006-06-10

Similar Documents

Publication Publication Date Title
KR100942122B1 (ko) 고속 이미지 매치를 이용한 로컬 위치 결정
KR101114196B1 (ko) 고속 이미지 매칭에 의한 글로벌 국소화
KR101026580B1 (ko) 문서의 이미지를 인코딩하기 위한 시스템 및 데이터 스트림을 패턴으로서 인코딩하기 위한 방법
RU2360303C2 (ru) Анализ изображения позиционно кодированного документа и нанесение метки
JP4750425B2 (ja) カメラ−ペン先のマッピングおよび較正
KR101064845B1 (ko) 문서 이미지 인코딩 시스템, 코드북 생성 시스템 및 방법, 코드북 탐색 시스템, 및 정보 인코딩 방법
JP2005235185A (ja) m配列デコーディングおよび高速画像照合によるストロークの位置測定
CN100377049C (zh) 一种确定带有捕捉信息的摄像机的笔的路径的方法和系统

Legal Events

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

Payment date: 20130121

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee