KR101434963B1 - 디지털 잉크 데이터 매칭방법 및 매칭장치 - Google Patents

디지털 잉크 데이터 매칭방법 및 매칭장치 Download PDF

Info

Publication number
KR101434963B1
KR101434963B1 KR1020130061755A KR20130061755A KR101434963B1 KR 101434963 B1 KR101434963 B1 KR 101434963B1 KR 1020130061755 A KR1020130061755 A KR 1020130061755A KR 20130061755 A KR20130061755 A KR 20130061755A KR 101434963 B1 KR101434963 B1 KR 101434963B1
Authority
KR
South Korea
Prior art keywords
feature information
strokes
candidate
information
feature
Prior art date
Application number
KR1020130061755A
Other languages
English (en)
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 주식회사 디오텍
Priority to KR1020130061755A priority Critical patent/KR101434963B1/ko
Application granted granted Critical
Publication of KR101434963B1 publication Critical patent/KR101434963B1/ko

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Abstract

본 발명은 디지털 잉크 데이터 매칭방법 및 매칭장치에 관한 것으로서, 본 발명에 따른 디지털 잉크 데이터 매칭방법은 디지털 잉크 데이터 (digital ink data) 간 매칭을 수행하기 위한 방법으로서, 질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크 (stroke) 로부터 제 1 특징정보를 획득하는 단계, 대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득하는 단계, 제 1 특징정보를 제 2 특징정보와 비교하는 단계, 제 1 특징정보와 제 2 특징정보 간의 비교 결과에 기초하여, 제 2 특징정보 중에서 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하는 단계, 후보 특징정보를 기초로 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하는 단계, 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하는 단계, 후보 스트로크로부터 제 4 특징정보를 획득하는 단계, 제 3 특징정보를 제 4 특징정보와 비교하는 단계 및 제 3 특징정보와 제 4 특징정보 간의 비교 결과에 기초하여, 후보 스트로크 중에서 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정하는 단계를 포함하는 것을 특징으로 하고, 디지털 잉크 데이터를 텍스트 데이터로 변환하지 않고, 디지털 잉크 데이터 간의 매칭을 수행할 수 있는 효과가 있다.

Description

디지털 잉크 데이터 매칭방법 및 매칭장치{METHOD AND APPARATUS FOR MATCHING DIGITAL INK DATA}
본 발명은 디지털 잉크 데이터 매칭방법 및 매칭장치에 관한 것으로서, 보다 상세하게는 복수회의 정제를 거친 후보군에 대해 매칭을 수행함으로써, 디지털 잉크 데이터 간 매칭을 수행하는 방법 및 그 장치에 관한 것이다.
전자기기의 주 입력장치로 사용되는 키보드나 마우스는 휴대하기가 어려워, 전자기기의 휴대화 추세에 부응하지 못하는 문제가 있었다. 이러한 문제를 해결하기 위해, 사용자의 음성이나 접촉 등을 인식할 수 있는 기술에 대한 연구가 꾸준히 진행되고 있으며, 그 중 사용자의 접촉을 인식하는 터치 인식 기술은 사용자에게 직관적인 인터페이스를 제공할 수 있단 점에서 주목을 받고 있다.
터치 인식 기술은 단순히 사용자의 접촉만을 감지하는 기술부터 사용자의 필기를 인식하는 기술까지 그 스펙트럼이 매우 다양하다. 여기서, 필기 인식 기술은 손가락 또는 스타일러스 (stylus) 등을 통한 디지털 잉크 데이터의 패턴을 인식하는 기술을 의미하며, 실제 종이 위에 펜을 이용하여 기록하는 듯한 사용자 경험 (UX; User Experience) 을 제공해줄 수 있어, 그 연구가 꾸준히 진행되고 있다.
그러나, 필기 인식 기술은 아직 사용자에게 쉽게 보급되지 못하고 있는데, 그 이유로, 키보드와 같은 입력 장치에 비해, 디지털 잉크 데이터의 처리 속도나 필기 인식의 정확성이 저하되는 점 등을 들 수 있다. 입력된 데이터의 처리 속도나 필기 인식 정확성의 저하는, 일반적으로, 디지털 잉크 데이터의 패턴을 인식하여 문자를 표현하는 방식 중 하나인 아스키 (ASCII) 코드 등의 텍스트 데이터로 변환하는 과정에서 발생한다.
따라서, 상기의 약점을 극복하기 위해, 디지털 잉크 데이터를 텍스트 데이터로 변환하는 과정을 거치지 않고, 디지털 잉크 데이터의 입력 궤적을 검출한 그대로 데이터화하여 활용할 수 있는 기술이 요구되었다.
본 발명이 해결하고자 하는 과제는 디지털 잉크 데이터 간의 매칭을 수행할 수 있는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 디지털 잉크 데이터 간의 매칭을 수행함에 있어, 매칭 속도를 개선할 수 있는 방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 또 다른 과제는 디지털 잉크 데이터 간의 매칭을 수행함에 있어, 매칭의 정확성을 개선할 수 있는 방법 및 장치를 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭방법은 디지털 잉크 데이터 (digital ink data) 간 매칭을 수행하기 위한 방법으로서, 질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크 (stroke) 로부터 제 1 특징정보를 획득하는 단계, 대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득하는 단계, 제 1 특징정보를 제 2 특징정보와 비교하는 단계, 제 1 특징정보와 제 2 특징정보 간의 비교 결과에 기초하여, 제 2 특징정보 중에서 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하는 단계, 후보 특징정보를 기초로 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하는 단계, 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하는 단계, 후보 스트로크로부터 제 4 특징정보를 획득하는 단계, 제 3 특징정보를 제 4 특징정보와 비교하는 단계 및 제 3 특징정보와 제 4 특징정보 간의 비교 결과에 기초하여, 후보 스트로크 중에서 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 제 1 스트로크 또는 제 2 스트로크를 전처리 (preprocessing) 하는 단계를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 1 또는 제 2 특징정보는 일련의 제 1 스트로크 또는 일련의 제 2 스트로크의 스트로크 진행 방향에 기초한 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 3 특징정보를 획득하는 단계는, 일련의 제 1 스트로크의 형태 문맥 특징 (Shape Context Feature), 탄젠트 각도 특징 (Tangent Angle Feature), 일반화된 형태 문맥 특징 (Generalized Shape Context Feature), 정규화된 도함수 특징들 (Normalized Derivative Features), 곡률 특징 (Curvature Feature) 중 어느 하나를 이용하여 제 3 특징정보를 획득하는 단계를 포함하고, 제 4 특징정보를 획득하는 단계는, 후보 스트로크의 형태 문맥 특징, 탄젠트 각도 특징, 일반화된 형태 문맥 특징, 정규화된 도함수 특징들, 곡률 특징 중 어느 하나를 이용하여 제 4 특징정보를 획득하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 1 및 제 2 특징정보의 획득 방식과 제 3 및 제 4 특징정보의 획득 방식이 서로 상이한 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 1 또는 제 2 특징정보는, 제 1 또는 제 2 특징정보에 대한 엔그램 (N-gram) 정보를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 2 특징정보의 인덱스 (index) 를 생성하는 단계를 더 포함하고, 후보 특징정보를 결정하는 단계는, 제 1 특징정보와 제 2 특징정보 간 비교의 결과에 기초하여, 제 2 특징정보 중에서 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보의 인덱스를 획득하는 단계를 포함하고, 후보 스트로크를 결정하는 단계는, 후보 특징정보의 인덱스를 기초로 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 후보 특징정보는 제 1 특징정보와 미리 결정된 비율 이상 일치하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 3 특징정보와 제 4 특징정보 간 비교는 제 3 특징정보와 제 4 특징정보 간 탄력 매칭 (elastic matching) 을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 1 특징정보를 제 2 특징정보와 비교하는 단계는, 제 1 특징정보를 제 2 특징정보의 전체에 걸쳐 제 2 특징정보와 비교하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 후보 스트로크는 복수의 후보 스트로크를 포함하고, 후보 스트로크로부터 제 4 특징정보를 획득하는 단계는, 복수의 후보 스트로크로부터 각각 제 4 특징정보를 획득하는 단계를 포함하고, 제 3 특징정보를 제 4 특징정보와 비교하는 단계는, 제 3 특징정보를 각각 획득된 제 4 특징정보와 각각 비교하는 단계를 포함하는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 컴퓨터 판독가능매체는 디지털 잉크 데이터 간 매칭을 수행하기 위한 컴퓨터 판독가능매체로서, 질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크 (stroke) 로부터 제 1 특징정보를 획득하고, 대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득하고, 제 1 특징정보를 제 2 특징정보와 비교하고, 제 1 특징정보와 제 2 특징정보 간의 비교 결과에 기초하여, 제 2 특징정보 중에서 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하고, 후보 특징정보를 기초로 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하고, 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하고, 후보 스트로크로부터 제 4 특징정보를 획득하고, 제 3 특징정보를 제 4 특징정보와 비교하고, 제 3 특징정보와 제 4 특징정보 간의 비교 결과에 기초하여, 후보 스트로크 중에서 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정하게 하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 제 1 또는 제 2 특징정보는 일련의 제 1 스트로크 또는 일련의 제 2 스트로크의 스트로크 진행 방향에 기초한 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 3 특징정보를 획득하게 하는 명령어들의 세트는, 일련의 제 1 스트로크의 형태 문맥 특징, 탄젠트 각도 특징, 일반화된 형태 문맥 특징, 정규화된 도함수 특징들, 곡률 특징 중 어느 하나를 이용하여 제 3 특징정보를 획득하게 하는 명령어들의 세트를 포함하고, 제 4 특징정보를 획득하게 하는 명령어들의 세트는, 후보 스트로크의 형태 문맥 특징, 탄젠트 각도 특징, 일반화된 형태 문맥 특징, 정규화된 도함수 특징들, 곡률 특징 중 어느 하나를 이용하여 제 4 특징정보를 획득하게 하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 1 및 제 2 특징정보의 획득 방식과 제 3 및 제 4 특징정보의 획득 방식이 서로 상이한 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 3 특징정보와 제 4 특징정보 간 비교는 제 3 특징정보와 제 4 특징정보 간 탄력 매칭 (elastic matching) 을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 제 1 특징정보를 제 2 특징정보와 비교하게 하는 명령어들의 세트는, 제 1 특징정보를 제 2 특징정보의 전체에 걸쳐 제 2 특징정보와 비교하게 하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 후보 스트로크는 복수의 후보 스트로크를 포함하고, 후보 스트로크로부터 제 4 특징정보를 획득하게 하는 명령어들의 세트는, 복수의 후보 스트로크로부터 각각 제 4 특징정보를 획득하게 하는 명령어들의 세트를 포함하고, 제 3 특징정보를 제 4 특징정보와 비교하게 하는 명령어들의 세트는, 제 3 특징정보를 각각 획득된 제 4 특징정보와 각각 비교하게 하는 명령어들의 세트를 포함하는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치는 디지털 잉크 데이터 간 매칭을 수행하기 위한 장치로서, 질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크로부터 제 1 특징정보를 획득하고, 대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득하는 제 1 차 특징정보 획득부, 제 1 특징정보를 제 2 특징정보와 비교하는 제 1 차 비교부, 제 1 특징정보와 제 2 특징정보 간의 비교 결과에 기초하여, 제 2 특징정보 중에서 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하는 후보 특징정보 결정부, 후보 특징정보를 기초로 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하는 후보 스트로크 결정부, 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하고, 후보 스트로크로부터 제 4 특징정보를 획득하는 제 2 차 특징정보 획득부, 제 3 특징정보를 제 4 특징정보와 비교하는 제 2 차 비교부 및 제 3 특징정보와 제 4 특징정보 간의 비교 결과에 기초하여, 후보 스트로크 중에서 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정하는 결정부를 포함하는 것을 특징으로 한다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 디지털 잉크 데이터를 텍스트 데이터로 변환하지 않고, 디지털 잉크 데이터 간의 매칭을 수행할 수 있는 효과가 있다.
본 발명은 디지털 잉크 데이터 간의 매칭을 수행함으로써, 문자나 숫자 외에도 도형, 수식 등에 대해서도 매칭을 수행할 수 있는 효과가 있다.
본 발명은 디지털 잉크 데이터 간의 매칭을 수행함으로써, 언어의 종류에 구애받지 않고 매칭을 수행할 수 있는 효과가 있다.
본 발명은 디지털 잉크 데이터 간의 매칭을 수행함으로써, 각 사용자에게 개인화된 매칭을 수행할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 스트로크의 개념도이다.
도 2는 디지털 잉크 데이터를 텍스트 데이터로 변환하여, 휴대용 단말기 상에서 질의어 검색이 수행되는 모습의 개략도이다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치를 통해 질의어 검색이 수행되는 모습의 개략도이다.
도 4는 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치의 블록도이다.
도 5a 및 도 5b는 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭방법의 개념도들이다.
도 6은 스트로크로부터 특징정보를 획득하는 일 방식을 설명하기 위한 도면이다.
도 7은 스트로크로부터 특징정보를 획득하는 일 방식을 설명하기 위한 도면이다.
도 8은 특징정보에 대한 엔그램 (N-gram) 정보를 설명하기 위한 개념도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
비록 제 1, 제 2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서 이하에서 언급되는 제 1 구성요소는 본 발명의 기술적 사상 내에서 제 2 구성요소일 수도 있음은 물론이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
본 명세서에 있어서 디지털 잉크 데이터 (digital ink data) 란, 사용자가 디지타이저 (digitizer) 또는 터치 스크린 디스플레이와 같은 입력장치 상에 손 또는 스타일러스 등의 입력수단을 이용해 수기 (手記, handwriting) 하는 과정에서 생성되는 데이터를 의미하며, 입력에 따른 스트로크를 기초로 생성된다.
여기서, 입력장치는 반드시 디지타이저나 터치 스크린 디스플레이에 한정되는 것은 아니며, 입력장치가 마우스인 경우에도 드래그 앤 드랍 (drag and drop) 과 같은 방식에 의해서도 디지털 잉크 데이터가 생성될 수도 있다.
본 명세서에 있어서 질의 디지털 잉크 데이터란, 단말기상에, 질의어 검색, 질의어 자동 완성, 필기 감정 등의 기능의 활용을 위해 입력된 데이터를 의미한다.
본 명세서에 있어서 대상 디지털 잉크 데이터란, 질의 디지털 잉크 데이터의 비교 대상이 되는 데이터를 의미한다. 대상 디지털 잉크 데이터는 질의 디지털 잉크 데이터가 입력되기 전에 이미 저장되어 있을 수 있다. 대상 디지털 잉크 데이터는 하나의 문서에 걸쳐서 존재할 수 있으나, 복수의 문서나 복수의 DB에 걸쳐서 존재할 수도 있다.
본 명세서에 있어서 스트로크 (stroke) 란, 공간 상의 좌표에 의해 정의되는 일련의 점들의 집합으로 구성된다. 스트로크는, 사용자가 입력을 인가한 때부터 입력이 해제 (release) 된 때까지 입력의 이동 경로를 따라 시간 순서로 정렬된 일련의 점들의 집합일 수 있으나, 반드시 이에 한정되는 것은 아니다.
스트로크는 점들이 나타내는 특징에 따라 구분될 수도 있는데, 예를 들어, 입력을 인가한 때부터 입력이 해제된 때까지 입력의 이동 경로를 따라 정렬된 일련의 점들 중 그 변화율의 부호가 바뀌는 변곡점을 기준으로 구분될 수 있다. 스트로크를 보다 구체적으로 설명하기 위해, 도 1을 참조한다.
도 1은 스트로크의 개념도이다. 설명의 편의를 위해 스트로크를 하나의 획으로써 표시한다.
도 1에 도시된 바와 같이 일련의 점 (·) 들의 집합으로 구성된, ‘ㅇ’ (st1), ‘ㅣ’ (st2), ‘ㄱ’ (st3), ‘ㅡ’ (st4), ‘ㄴ’ (st5), ‘ㅡ’ (st6), ‘ㅣ’ (st7), ‘ㄱ’ (st8), ‘ㅡ’ (st9) 가 스트로크에 해당할 수 있다.
본 명세서에 있어서 특징정보란, 스트로크에 기초한 정보를 의미한다. 즉, 2개의 스트로크 간에 서로 특징정보가 일치하면, 스트로크 역시 서로 일치함을 의미할 수 있으며, 나아가, 일련의 스트로크가 서로 일치하는 경우, 대상 디지털 잉크 데이터 중에서 질의 디지털 잉크 데이터의 적어도 일부와 일치하는 부분이 있는지 결정될 수 있다.
특징정보는 다양한 방식을 통해 스트로크로부터 획득될 수 있다. 예컨대, 스트로크 단위로 좌표 성분의 1차원 DCT (Discrete cosine transform) 또는 FFT (Fast Fourier transform) 성분을 추출하여 특징정보로서 사용할 수 있다. 또한, 스트로크 진행 방향에 기초하여 특징정보가 획득될 수 있으며, 스트로크 진행 방향에 기초하여 특징정보를 획득하는 방식과 관련하여서는 도 6에서 후술한다.
한편, 특징정보는 스트로크를 구성하는 일련의 점들에 기초하여 획득될 수도 있다. 스트로크를 구성하는 점들에 기초하여 특징정보를 획득하는 경우, 인접하는 점들의 개수에 따라 연산량이 증가하나, 스트로크 진행 방향에 기초하여 특징정보를 획득하는 경우보다 스트로크의 특징이 더 면밀하게 반영될 수 있는 효과가 있다. 스트로크를 구성하는 일련의 점들에 기초하여 특징정보를 획득하는 방식과 관련하여서는 도 7에서 후술한다.
디지털 잉크 데이터의 처리 속도나 필기 인식 정확성의 저하는, 일반적으로, 디지털 잉크 데이터의 패턴을 인식하여, 문자를 표현하는 방식 중 하나인 아스키 (ASCII) 코드 등의 텍스트 데이터로 변환하는 과정에서 발생한다. 디지털 잉크 데이터를 텍스트 데이터로 변환하여 처리하는 과정을 도 2를 참조하여 설명한다.
도 2는 디지털 잉크 데이터를 텍스트 데이터로 변환하여, 휴대용 단말기 상에서 질의어 검색이 수행되는 모습의 개략도이다.
도 2를 참조하면, 휴대용 단말기 (100) 는 입력패드 (110) 를 통해 디지털 잉크 데이터가 입력받는 장치로서, 질의어 검색을 위한 질의 디지털 잉크 데이터 (112) 를 입력받을 수 있다.
휴대용 단말기 (100) 에 대상 디지털 잉크 데이터 (101) 는 입력된 그대로 표시될 수 있으나, 대상 디지털 잉크 데이터 (101) 내에서 질의어 검색 등의 작업이 수행되는 위해서는, 대상 디지털 잉크 데이터 (101) 가 텍스트 데이터 (105) 로 변환되는 과정이 선행되어야 한다.
또한, 도 2에 도시된 바와 같이, 검색란 (120) 에 질의 디지털 잉크 데이터 (112) 를 입력하여 질의어 검색 등의 작업이 수행되기 위해서는, 해당 질의 디지털 잉크 데이터 (112) 역시 텍스트 데이터로 변환되는 과정이 선행되어야 한다.
그러나, 디지털 잉크 데이터는 사용자의 입력 습관 등에 따라 사용자가 의도하지 않은 텍스트 데이터로 변환될 수 있다. 사용자가 의도한 바와 다르게 변환된 텍스트 데이터 내에서 질의어 검색을 수행하는 경우, 사용자가 원하는 바와 다른 검색 결과가 출력될 수 있다.
또한, 디지털 잉크 데이터를 텍스트 데이터로 변환하여 활용하는 방식은 디지털 잉크 데이터의 패턴을 인식하는 과정 및 인식된 패턴에 기초하여 해당 디지털 잉크 데이터를 텍스트 데이터로 변환하는 과정에서 딜레이 (delay) 가 발생하여, 디지털 잉크 데이터를 처리하는 속도를 저하시키는 원인이 되기도 한다. 게다가, 디지털 잉크 데이터는 기확보된 통계 데이터에 기초하여 텍스트 데이터로 변환되기 때문에, 통계 데이터도 함께 저장하고 있어야 한다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭방법 및 매칭장치를 통해, 디지털 잉크 데이터 간에 비교되고, 이러한 디지털 잉크 데이터 간의 비교 결과에 기초하여, 질의어 검색, 질의어 자동 완성, 필기 감정 등의 기능이 구현될 수 있다. 디지털 잉크 데이터를 텍스트 데이터로 변환하지 않더라도, 디지털 잉크 데이터 간에 비교하는 구성과 관련하여 도 3a 및 도 3b을 참조하여 설명한다.
도 3a 및 도 3b는 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치를 통해 질의어 검색이 수행되는 모습의 개략도이다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치는 휴대용 단말기나 컴퓨터 등으로 구현되어, 사용자로부터 직접 입력받아, 대상 디지털 잉크 데이터와 사용자에 의해 입력된 질의 디지털 잉크 데이터를 비교할 수 있다.
도 3a를 참조하면, 디지털 잉크 데이터 매칭장치는 입력패드 (110) 를 통해 디지털 잉크 데이터를 입력받는 휴대용 단말기 (100) 로 구현될 수 있다.
휴대용 단말기 (100) 인 디지털 잉크 데이터 매칭장치에 대상 디지털 잉크 데이터 (101) 는 텍스트 데이터로 변환되지 않고, 그대로 휴대용 단말기 (100) 에 표시될 수 있다.
여기서 휴대용 단말기 (100) 에는, 대상 디지털 잉크 데이터 (101) 의 특징정보가 저장되고, 휴대용 단말기 (100) 는 해당 특징정보를 이용하여 질의어 검색 등의 작업을 수행할 수 있다
따라서, 도 3b에 도시된 바와 같이, 검색란 (120) 에 입력된 질의 디지털 잉크 데이터 (122) 가 텍스트 데이터로 변환되지 않더라도, 대상 디지털 잉크 데이터 (101) 와 질의 디지털 잉크 데이터 (122) 의 특징정보를 이용하여, 질의어 검색 등의 기능이 휴대용 단말기 (100) 에서 수행될 수 있다.
한편, 검색 결과에 대한 알림 (121) 과 대상 디지털 잉크 데이터 (101) 중 검색된 결과들 (102a, 102b, 102c, 102d) 이 하이라이트 되어 휴대용 단말기 (100) 에 표시될 수 있다.
이와 같이, 디지털 잉크 데이터가 텍스트 데이터로 변환될 필요가 없으므로, 사용자의 입력 습관에 따라 디지털 잉크 데이터가 사용자의 의도와 다르게 변환되는 문제가 발생할 여지가 없는 것은 물론, 한 사용자에 의해 생성된 디지털 잉크 데이터 내에서 질의어 검색 등의 작업이 수행되는 경우, 디지털 잉크 데이터의 특징정보를 비교하여 검색이 수행됨으로써, 검색의 정확성을 향상시킬 수 있는 효과가 있다. 이와 같이 디지털 잉크 데이터 간에 비교를 수행할 수 있는, 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치에 관하여 도 4를 참조하여 설명한다.
도 4는 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치의 블록도이다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치 (200) 는 제 1 차 특징정보 획득부 (210), 제 1 차 비교부 (220), 후보 특징정보 결정부 (230), 후보 스트로크 결정부 (240), 제 2차 특징정보 획득부 (250), 제 2 차 비교부 (260) 및 결정부 (270) 를 포함한다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치 (200) 는 디지털 잉크 데이터 간에 비교를 수행하기 위한 장치로서, 휴대용 단말기, 컴퓨터, 서버 또는 다수의 컴퓨터로 구성된 분산 컴퓨팅 시스템으로 구현될 수 있다.
디지털 잉크 데이터 매칭장치 (200) 는 대상 디지털 잉크 데이터와 사용자에 의해 입력된 질의 디지털 잉크 데이터를 비교하기 위한 장치로서, 구체적으로, 질의 디지털 잉크 데이터와 대상 디지털 잉크 데이터로부터 개략적인 (rough) 방식으로 획득된 특징정보를 이용하여 대상 디지털 잉크 데이터 중 후보군을 생성한 후, 질의 디지털 잉크 데이터와 후보군으로부터 면밀한 방식으로 재획득된 특징정보를 이용하여 디지털 잉크 데이터 간에 비교를 수행하기 위한 장치이다.
만약, 디지털 잉크 데이터 매칭장치 (200) 가, 질의 디지털 잉크 데이터와 대상 디지털 잉크 데이터 전체로부터 면밀한 방식으로 획득된 특징정보를 이용하여 매칭을 수행하게 되면, 매칭 결과의 정확도는 향상될 수 있으나, 매칭 과정에서의 연산량이 증가하는 문제가 있다.
따라서, 디지털 잉크 데이터 매칭장치 (200) 가, 질의 디지털 잉크 데이터와 대상 디지털 잉크 데이터로부터 개략적인 방식으로 획득된 특징정보를 이용하여, 대상 디지털 잉크 데이터 중에서 후보군을 먼저 생성함으로써, 이후 매칭 과정에서의 연산량을 감소시킬 수 있다.
디지털 잉크 데이터 매칭장치 (200) 를 통해, 디지털 잉크 데이터 간에 비교가 수행되고, 이러한 디지털 잉크 데이터 간의 비교 결과에 기초하여, 질의어 검색, 질의어 자동 완성, 필기 감정 등의 기능이 단말기상에서 구현될 수 있다.
제 1 차 특징정보 획득부 (210) 는 질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크로부터 제 1 특징정보를 획득하고, 대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득한다. 설명의 편의를 위해 도 5a를 참조하여 설명한다.
도 5a는 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭방법의 개념도이다.
여기서, 일련의 제 1 스트로크는 사용자에 의해 입력된 질의 디지털 잉크 데이터를 구성하는 일련의 스트로크를 의미하는데, 도 5a를 참조하면, 질의 디지털 잉크 데이터인 ‘이름’ (112) 을 구성하는 ‘ㅇ’, ‘ㅣ’, 'ㄱ’, ‘ㅡ’, ‘ㄴ’, ‘ㅡ’, ‘ㅣ’, ‘ㄱ’, ‘ㅡ’ 가 일련의 제 1 스트로크 (113) 일 수 있다.
한편, 제 2 스트로크 (103) 는 대상 디지털 잉크 데이터 (101) 를 구성하는 일련의 스트로크를 의미한다.
전술한 바와 같이, 특징정보는 다양한 방식을 통해 스트로크로부터 획득될 수 있으며, 이후 과정에서의 연산량을 감소시키기 위해, 제 1 특징정보 (114) 및 제 2 특징정보 (104) 는 일련의 제 1 스트로크 (113) 및 일련의 제 2 스트로크 (103) 로부터 개략적인 방식으로 획득될 수 있다. 스트로크로부터 특징정보를 획득하는 구체적인 구성과 관련하여서는 도 6에서 후술한다.
제 1 특징정보 (114) 제 2 특징정보 (104) 는 설명의 편의상 도 5a에서 숫자로 표현되었으나, 제 1 특징정보 (114) 제 2 특징정보 (104) 는 문자, 숫자, 기호, 패턴 등으로 구성될 수 있다.
다시 도 4를 참조하면, 제 1 차 비교부 (220) 는, 제 1 차 특징정보 획득부 (210) 를 통해 획득된 제 1 제 특징정보와 제 2 특징정보를 비교한다.
여기서, 제 1 특징정보는 제 2 특징정보의 전체에 걸쳐서 제 2 특징정보와 비교될 수 있다.
제 1 특징정보가 제 2 특징정보와 비교됨으로써, 제 2 특징정보 중에서, 제 1 특징정보의 적어도 일부와 일치하는 부분이 있는지 결정될 수 있다.
한편, 제 1 차 특징정보 획득부 (210) 를 통해 획득된 제 1 특징정보와 제 2 특징정보 간의 비교 방식으로서, 정적 매칭 (static matching), 코사인 유사성 (cosine similarity) 비교, 탄력 매칭 (elastic matching) 등이 이용될 수 있다.
여기서 탄력 매칭이란, 시간 순서대로 수집된 일 정보가 시간축 또는 진행축을 따라 비선형적으로 신장되거나 수축됨으로써 왜곡된 경우, 해당 정보와 타 정보의 최적의 정렬 (optimal alignment) 을 찾는 것을 의미하며, 탄력 매칭을 수행하여, 양 정보의 유사성을 찾을 수 있다. 이?, 탄력 매칭 알고리즘으로서, DTW (Dynamic Time Warping) 등이 이용될 수 있다.
예를 들어, ‘이름을 불러’란 질의어를, ‘이름을 크게 불러’란 문장과 탄력 매칭을 수행하는 경우, ‘이름을 불러’가 ‘이름을 ㅡㅡㅡ불러’로 신장되면, ‘이름을 크게 불러’와 최적의 정렬을 이룬다고 볼 수 있다.
한편, ‘이름을 불러’란 질의어를, ‘이름을 부드럽게 불러’란 문장과 탄력 매칭을 수행하는 경우, ‘이름을 불러’가 ‘이름을 ㅡㅡㅡㅡㅡ불러’로 신장되면, ‘이름을 부드럽게 불러’ 와 최적의 정렬을 이룬다고 볼 수 있다.
따라서, ‘이름을 불러’란 질의어와 ‘이름을 크게 불러’는, ‘이름을 불러’란 질의어와 ‘이름을 부드럽게 불러’보다 더 일치하는 것으로 결정될 수 있으며, 다양한 조건들에 의해 각 정보 간의 일치 정도가 계량화될 수도 있다.
예컨대, 전술한 바와 같이, 질의어 내에 삽입되거나 치환된 정보가 적거나, 질의어가 신장된 전체 길이 대비 일치하는 부분이 차지하는 비율이 높을수록, 각 정보 간의 일치 정도가 더 높은 수치로 계량화될 수 있다.
후보 특징정보 결정부 (230) 는, 제 1 차 비교부 (220) 를 통한 비교 결과에 기초하여, 제 2 특징정보 중에서, 제 1 특징정보의 적어도 일부와 일치하는 특징정보를 결정한다. 설명의 편의를 위해 계속 도 5a를 참조하여 설명한다.
도 5a를 참조하면, 후보 특징정보 결정부 (230) 는, 제 2 특징정보 (104) 중에서 제 1 특징정보 (114) 의 적어도 일부와 일치하는 후보 특징정보 (104a, 104b, 104c, 104d, 104e, 104f) 를 결정할 수 있다.
한편, 후보 특징정보 결정부 (230) 는, 제 2 특징정보 중에서 제 1 특징정보와 미리 결정된 범위 이상 일치하는 부분을 후보 특징정보로 결정하도록 구현될 수 있다.
후보 특징정보 결정부 (230) 는 전술한 기준들에 한정되지 않고, 다양한 기준들에 기초하여 제 2 특징정보 중에서 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하도록 구현될 수 있다.
도 5a를 참조하면, 제 2 특징정보 (104) 중에서 후보 특징정보 (104a, 104b, 104c, 104d, 104e, 104f) 가 결정됨으로써, 일련의 제 2 스트로크 (103) 중에서, 일련의 제 1 스트로크 (113) 와 일치하는 부분이 있는지 결정될 수 있다.
한편, 제 1 특징정보 및 제 2 특징정보가 제 1 스트로크 및 제 2 스트로크로부터 개략적인 방식으로 획득된 경우, 특징정보가 서로 일치하더라도, 스트로크 역시 반드시 서로 일치한다고 보기 어려울 수 있다. 스트로크가 서로 불일치하더라도, 특징정보의 획득 방식에 따라 동일한 특징정보가 획득될 수 있기 때문이다.
그러나, 후보 특징정보를 기초로, 일련의 제 2 스트로크 중에서 후보 스트로크가 결정된 후, 결정된 후보 스트로크와 일련의 제 1 스트로크로부터 재획득됨으로써, 이후, 재획득된 특징정보 간 비교 결과의 정확성이 향상될 수 있다.
다시 도 4를 참조하면, 스트로크 결정부 (240) 는, 후보 특징정보를 기초로 일련의 제 2 스트로크 중에서, 후보 스트로크를 결정한다. 설명의 편의를 위해 계속 도 5a를 참조하여 설명한다.
도 5a에 도시된 바와 같이, 후보 특징정보 (104a, 104b, 104c, 104d, 104e, 104f) 를 기초로 일련의 제 2 스트로크 (103) 중에서 후보 스트로크 (103a, 103b, 103c, 103d, 103e, 103f) 가 결정될 수 있다.
한편, 후보 특징정보 (104a, 104b, 104c, 104d, 104e, 104f) 가 제 1 특징정보 (114) 와 상당 부분 일치하더라도, 후보 스트로크 (103a, 103b, 103c, 103d, 103e, 103f) 중에는 일련의 제 1 스트로크 (113) 와 불일치하는 부분 (‘이 되’ (103c), ‘이 빛’ (103e) ) 이 있을 수 있다.
이러한 경우에, 후보 특징정보 (104a, 104b, 104c, 104d, 104e, 104f) 와 제 1 특징정보 (114) 간의 비교가 수행되면, 그 비교 결과로 인해, 실제 제 1 스트로크 (113) 와 후보 스트로크 (103a, 103b, 103c, 103d, 103e, 103f) 간의 일치 여부가 왜곡될 수 있는 문제가 있다.
그러나, 후보 스트로크 및 제 1 스트로크로부터 면밀한 방식으로 특징정보가 재획득되고, 면밀한 방식으로 재획득된 특징정보 간에 비교됨으로써, 비교 결과의 정확도가 향상될 수 있다.
다시 도 4를 참조하면, 제 2 차 특징정보 획득부 (250) 는, 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하고, 후보 스트로크로부터 제 4 특징정보를 획득한다. 설명의 편의를 위해 도 5b를 참조하여 설명한다.
도 5b는 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭방법의 개념도이다.
전술한 바와 같이, 특징정보는 다양한 방식을 통해 스트로크로부터 획득될 수 있으나, 비교 결과의 정확도를 향상시킬 수 있도록, 일련의 제 1 스트로크 (113) 및 후보 스트로크 (103a, 103b, 103c, 103d, 103e, 103f) 로부터 면밀한 방식으로 제 3 특징정보 (116) 및 제 4 특징정보 (106a, 106b, 106c, 106d, 106e, 106f) 가 재획득될 수 있다. 스트로크로부터 특징정보를 획득하는 구체적인 구성과 관련하여서는 도 7에서 후술한다.
여기서, 제 3 특징정보 (116) 및 제 4 특징정보 (106a, 106b, 106c, 106d, 106e, 106f) 는 설명의 편의상, 도 5b에서 숫자로 표현되었으나, 제 3 특징정보 (116) 및 제 4 특징정보 (106a, 106b, 106c, 106d, 106e, 106f) 는 문자, 숫자, 기호, 패턴 등으로 구성될 수도 있다.
다시 도 4를 참조하면, 제 2 차 비교부 (260) 는, 제 2 차 특징정보 획득부 (250) 를 통해 재획득된 제 3 특징정보와 제 4 특징정보 간의 비교를 수행한다.
도 5b를 참조하면, 제 3 특징정보 (116) 는 각각의 제 4 특징정보 (106a, 106b, 106c, 106d, 106e, 106f) 와 각각 비교되어, 이후, 후보 스트로크 (103a, 103b, 103c, 103d, 103e, 103f) 중 일련의 제 1 스트로크 (113) 와 일치하는 부분이 있는지 결정될 수 있다.
한편, 본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭방법은, 제 3 특징정보와 제 4 특징정보가 비교된 후, 다시 제 4 특징정보 중에서 후보 특징정보를 결정한 후, 후보 스트로크를 결정하는 방식으로도 구현될 수도 있다. 즉, 최종적으로 후보 스트로크 중에서 일련의 제 1 스트로크와 일치하는지 결정하기에 앞서, 연산량을 최대한 줄이면서 연산의 효율을 향상시킬 수 있도록, 복수의 비교에 걸쳐서 후보 스트로크를 결정할 수 있고, 여기서 나중에 수행되는 비교는 먼저 수행되는 비교보다 더 면밀한 방식으로 획득된 특징정보를 이용하도록 구현될 수 있다.
한편, 제 2 차 특징정보 획득부 (250) 를 통해 재획득된 제 3 특징정보와 제 4 특징정보 간의 비교 방식으로서, 정적 매칭, 코사인 유사성 비교, 탄력 매칭 등이 이용될 수 있다.
한편, 제 3 특징정보와 제 4 특징정보는 문자, 숫자, 기호, 패턴 등으로 구성될 수 있으므로, 제 3 특징정보와 제 4 특징정보 간의 탄력 매칭은 전술한 예와 같은 문자의 배열 간이 아닌, 문자, 숫자, 기호, 패턴 등의 배열 간의 최적의 정렬을 찾는 것을 의미할 수 있다.
후보 특징정보를 기초로, 일련의 제 2 스트로크 중에서 후보 스트로크가 결정된 후, 결정된 후보 스트로크와 일련의 제 1 스트로크로부터 면밀한 방식으로 특징정보가 재획득됨으로써, 이후, 면밀한 방식으로 재획득된 특징정보 간의 비교 결과의 정확성이 향상될 수 있다.
다시 도 4를 참조하면, 결정부 (270) 는, 제 2 차 비교부 (260) 를 통한 비교 결과에 기초하여, 후보 스트로크 중에서 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정한다. 설명의 편의를 위해 도 5b를 참조하여 설명한다.
도 5b를 참조하면, 결정부 (270) 는, 제 4 특징정보 (106a, 106b, 106c, 106d, 106e, 106f) 중 제 3 특징정보 (116) 와 일치하는 부분 (106a, 106b, 106d, 106f) 을 기초로, 후보 스트로크 (103a, 103b, 103c, 103d, 103e, 103f) 중 일련의 제 1 스트로크 (113) 와 일치하는 부분 (103a, 103b, 103d, 103f) 또는 일련의 제 1 스트로크 (113) 와 가장 일치하는 부분을 결정할 수 있다.
한편, 결정부 (270) 는, 제 4 특징정보 중에서 제 3 특징정보와 미리 결정된 범위 이상 일치하는 부분을 기초로, 후보 스트로크 중 일련의 제 1 스트로크와 일치하는 부분을 결정하도록 구현될 수 있다.
또한, 결정부 (270) 는, 제 4 특징정보 중에서 제 3 특징정보와 일치하는 부분이 많을수록 각 후보 스트로크에 점수를 부여하고, 제 4 특징정보 중에서 제 3 특징정보에 포함되지 않는 정보를 포함할수록 각 후보 스트로크의 점수를 차감하여, 점수가 가장 높은 후보 스트로크를 일련의 제 1 스트로크와 일치하는 것으로 결정하도록 구현될 수도 있다.
결정부 (270) 는 전술한 기준들에 한정되지 않고, 다양한 기준들에 기초하여 후보 스트로크 중 일련의 제 1 스트로크와 일치하는 부분을 결정하도록 구현될 수 있고, 각 후보 스트로크에 점수를 부여하는 기준 역시 다양하게 구현될 수 있다. 예컨대, 제3 특징정보 및 제4 특징정보가 후술하는 엔그램 (N-gram) 정보로 구성된 경우, 제3 특징정보에 대한 각 엔그램 정보마다 가중치가 주어질 수 있다. 즉, 제3 특징정보에 대한 엔그램 정보 중 선두의 엔그램 정보와 제4 특징정보에 대한 엔그램 정보가 일치할수록 후보 스트로크에 더 많은 점수가 부여되도록 구현될 수 있다.
도 5b를 참조하면, 후보 스트로크 (103a, 103b, 103c, 103d, 103e, 103f) 각각과 일련의 제 1 스트로크 (113) 간의 일치 여부가 결정됨으로써, 대상 디지털 잉크 데이터 내에서 질의 디지털 잉크 데이터가 일치하는 부분이 있는지 여부가 결정될 수 있어, 단말기상에서 디지털 잉크 데이터를 이용한 다양한 기능이 구현될 수 있다.
예컨대, 대상 디지털 잉크 데이터 내에서 질의 디지털 잉크 데이터와 동일한 부분을 검색하는 기능, 대상 디지털 잉크 데이터를 기반으로 하여, 질의 디지털 잉크 데이터를 자동으로 완성하는 기능, 질의 디지털 잉크 데이터를 대상 디지털 잉크 데이터와 비교하여 필적을 감정하는 기능 등이 구현될 수 있다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치 (200) 는 다른 단말기로부터 질의 디지털 잉크 데이터를 전송받아, 대상 디지털 잉크 데이터와 질의 디지털 잉크 데이터 간에 비교를 수행하고, 비교 결과를 해당 단말기로 전송할 수 있는 서버 등으로 구현될 수 있다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치 (200) 는 휴대용 단말기나 컴퓨터 등으로 구현되어, 사용자로부터 직접 입력받아, 대상 디지털 잉크 데이터와 사용자에 의해 입력된 질의 디지털 잉크 데이터 간에 비교를 수행할 수 있다.
이와 같이, 디지털 잉크 데이터 매칭장치 (200) 가 직접 입력받도록 구현되는 경우에는, 디지털 잉크 데이터 매칭장치 (200) 는 입력부를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치 (200) 에 있어서, 입력부는 사용자로부터 입력을 받아, 스트로크를 구성하는 점들에 대한 정보, 예컨대, 점들에 대한 좌표나 그 생성 순서, 생성 시간 등에 대한 정보를 생성한다. 입력부는 디지타이저나 터치 스크린 디스플레이 등과 같은 입력장치일 수 있다.
본 발명에 따른 디지털 잉크 데이터 매칭장치 (200) 는 스트로크에 대해 일관적인 작업을 수행할 수 있도록, 스트로크를 전처리 (pre-processing) 하는 전처리부를 더 포함할 수 있다.
스트로크는 일련의 점들의 집합으로 구성되기 때문에, 사용자의 입력 습관이나 환경 등에 영향을 받기 쉽다. 예컨대, 사용자가 빠른 속도로 입력하는 경우, 전술한 입력부가 입력된 모든 점들에 대한 정보를 생성하지 못할 수 있다. 또한, 줄이 비뚤어지거나, 중간의 스트로크를 지우고 다시 써서 스트로크의 생성 순서가 역전된 경우 등의 문제가 발생할 수 있다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치 (200) 에 있어서, 전처리부는, 전술한 바와 같은 문제를 해결하기 위해, 스트로크를 전처리한다. 전처리에는 스트로크를 구성하는 점들의 간격을 일정하게 하는 재샘플링 (resampling), 비뚤어진 줄에 대한 경사의 보정, 역전된 스트로크 생성 순서의 재정렬 (reordering), 복수의 줄을 각각의 줄로 분리 (line segmentation) 하는 과정 등이 포함될 수 있다.
도 6은 스트로크로부터 특징정보를 획득하는 일 방식을 설명하기 위한 도면이다.
전술한 바와 같이, 특징정보는 다양한 방식을 통해 일련의 스트로크로부터 획득될 수 있고, 이후 비교 과정에서의 연산량을 감소시키기 위해, 개략적인 방식으로 획득될 수도 있다. 개략적인 방식 중 하나로서, 스트로크 진행 방향에 기초하여, 일련의 스트로크로부터 특징정보가 획득될 수 있다.
스트로크 진행 방향에 기초하여, 일련의 스트로크로부터 특징정보를 획득하는 방식에 대해, 도 6을 참조하여 설명한다.
도 6의 (a) 를 참조하면, 스트로크의 진행 방향에 기초하여 스트로크로부터 특징정보가 획득될 수 있다. 예컨대, 스트로크의 진행 방향이, 스트로크의 기준 방향 (D1) 으로부터 시계방향으로 0도 내지 45도 범위 내에 위치하면, 1의 특징정보가 획득되고, 스트로크의 기준 방향 (D1) 으로부터 시계방향으로 45도 내지 90도 범위 내에 위치하면, 2의 특징정보가 획득되는 식으로, 45도 단위로 서로 다른 특징정보가 획득되도록 구현될 수 있다. 여기서, 스트로크의 기준 방향 (D1) 이나, 그로부터의 각도는 다양한 방식으로 구현될 수 있다.
여기서, 스트로크의 진행 방향은, 스트로크를 구성하는 한 점으로부터 바로 그 다음 점에 대한 방향 또는 스트로크를 구성하는 한 점으로부터 바로 그 이전 점에 대한 방향 등으로 정의될 수 있으나, 반드시 바로 그 이전이나 다음으로 한정되지는 않으며, 다양한 방식, 예컨대 해당 점에서의 접선 방향 등으로 정의될 수 있다.
도 6의 (b) 를 참조하면, 특징정보가 스트로크를 구성하는 각 점으로부터 획득되는 경우, 하나의 스트로크로부터 획득된 특징정보 내에 중복 정보가 존재할 수 있다. 이러한 중복 정보를 제거하여 특징정보의 정보 크기를 감소시킴으로써, 이후 특징정보의 비교에 있어 연산량을 감소시킬 수 있다.
도 6의 (c) 에 도시된 바와 같이, 하나의 스트로크에 대한 특징정보 중에서 중복 정보가 제거될 수 있다.
한편, 특징정보의 정보 크기를 더욱 감소시키기 위해, 도 6의 (a) 내지 (c) 과정을 거쳐 중복 정보가 제거된 후, 스트로크의 기준 방향 (D2) 을 달리하는 도 6의 (d) 내지 (f) 과정까지 거쳐 특징정보가 획득될 수도 있다. 도 6의 (d) 내지 (f) 과정은 도 6의 (a) 내지 (c) 과정과 실질적으로 동일한 바, 중복 설명은 생략한다.
도 6의 (d) 내지 (f) 를 참조하면, 스트로크의 기준 방향 (D1, D2) 이 상이함에 따라 중복 정보가 생성될 수 있고, 이와 같이 생성된 중복 정보를 제거하여, 특징정보의 정보 크기를 더욱 감소시킴으로써, 이후 특징정보의 비교에 있어 연산량을 감소시킬 수 있다.
한편, 동일한 사용자라 하더라도, 입력 환경 등에 따라 각 스트로크 간의 연결 여부가 상이할 수 있다. 사용자에겐 같은 글자로 인식될 수 있더라도, 서로 연결된 스트로크와 서로 분리된 스트로크로부터 획득된 특징정보가 상이할 수 있으므로, 각 스트로크를 서로 연결하는 가상 스트로크로부터 특징정보가 획득될 수도 있다.
도 6의 (g) 에 도시된 바와 같이, 각 스트로크가 서로 연결된 ‘름’은, 각 스트로크가 서로 분리된 ‘름’과 스트로크 수의 차이가 있으므로, 양 스트로크로부터 획득된 특징정보 역시 상이할 수 있다.
따라서, 각 스트로크의 연결 여부에 따라 특징정보가 서로 달라지는 것을 억제하기 위해, 각각의 스트로크를 잇는 가상 스트로크로부터 특징정보가 획득될 수도 있다.
한편, 가상 스트로크가 모든 스트로크의 양단을 연결시키도록 구현될 수도 있으나, 띄어쓰기를 하거나, 한글이나 한자 등은 한 문자에 복수의 자음과 모음이 포함될 수 있는 점을 고려할 때, 도 6의 (g) 에 도시된 바와 같이, 하나의 음절 내에서만 각각의 스트로크를 잇도록 구현될 수 있다.
제 1 차 특징정보 획득부 (210, 도 4 참조) 를 통해, 상기한 방식이 이용되어, 제 1 특징정보 및 제 2 특징정보가 일련의 제 1 스트로크 및 일련의 제 2 스트로크로부터 획득될 수 있고, 상기한 방식뿐만 아니라, 이에 한정되지 않고 다른 방식이 이용될 수도 있다.
도 7은 스트로크로부터 특징정보를 획득하는 일 방식을 설명하기 위한 도면이다.
전술한 바와 같이, 특징정보는 다양한 방식을 통해 일련의 스트로크로부터 획득될 수 있고, 이후 비교 결과의 정확도를 향상시키기 위해, 면밀한 방식으로도 획득될 수도 있다. 면밀한 방식 중 하나로서, 일련의 스트로크의 형태 문맥 특징 (Shape Context Feature), 탄젠트 각도 특징 (Tangent Angle Feature), 일반화된 형태 문맥 특징 (Generalized Shape Context Feature), 정규화된 도함수 특징들 (Normalized Derivative Features), 곡률 특징 (Curvature Feature) 중 어느 하나를 이용하여 특징정보가 획득될 수 있다.
형태 문맥 특징을 설명하기 위해, 도 7을 참조한다.
일 스트로크 내의 한 점 (pi) 에서 다른 모든 점으로 향하는 벡터는, 전체 형태에 대한 그 한 점의 상대적인 배치를 나타낼 수 있다.
형태 문맥이란, 한 점 (pi) 에서 모든 점의 벡터 분포에 대한 히스토그램 (hi(k), 수학식 1 참조) 을 고려한 방법이다.
Figure 112013048233839-pat00001
여기서, 한 점 (pi) 으로부터 다른 점들과의 거리 (dk) 는, 평균 거리에 의해 정규화 (normalization) 될 수 있다.
상기 수학식 1에서 bin은 도 7의 (b) 에 도시된 바와 같이, 로그-폴라 (log-polar) 공간에서 정의되어, 먼 샘플보다 가까운 샘플의 위치에 더 민감하다. 도 7의 (b) 을 참조하면, 4 r-bin과 10 θ-bin에 의해 40 bin이 로그-폴라 공간에서 정의된다
탄젠트 각도 특징은, 각 점에서의 탄젠트 각도를 고려한 방법이다.
일반화된 형태 문맥 특징은, 형태 문맥 특징에서 더 나아가, 각 점에서의 각도 방향을 더 고려한 방법이다.
정규화된 도함수 특징들은, 각 점의 x-y좌표에서의 도함수를 고려한 방법을 의미한다.
각 점에서의 정규화된 도함수는 하기의 수학식 2 및 3에 의해 계산될 수 있다. 먼저, (xi,yi) 좌표에 위치한 한 점 (pi) 에서의 1차 도함수는 수학식 2에 의해 계산될 수 있다. 여기서 r은 인접한 점의 개수를 의미하며, 하기의 수학식 2 에서 r=2이나, 반드시 이에 한정될 필요는 없다.
Figure 112013048233839-pat00002
이어서, (xi,yi) 좌표에 위치한 한 점 (pi) 에서의 정규화된 1차 도함수는 수학식 3에 의해 계산될 수 있다.
Figure 112013048233839-pat00003
한편, (xi,yi) 좌표에 위치한 한 점 (pi) 에서의 정규화된 2차 도함수는 상기 수학식 3에서 xi 및 yi가 (xi,yi)의 1차 도함수로 치환되면 계산될 수 있다.
곡률 특징은, 일 점에서의 곡률을 고려한 방법이다.
각 점에서의 곡률은 상기 1차 및 2차 도함수를 이용하여 하기 수학식 4에 의해 계산될 수 있다.
Figure 112013048233839-pat00004
제 2 차 특징정보 획득부 (210, 도 4 참조) 를 통해, 상기한 방식들이 이용되어, 제 3 특징정보 및 제 4 특징정보가, 일련의 제 1 스트로크 및 후보 스트로크로부터 획득될 수 있고, 상기한 방식들뿐만 아니라, 이에 한정되지 않고 다른 방식이 이용될 수도 있다.
도 8은 특징정보에 대한 엔그램 (N-gram) 정보를 설명하기 위한 개념도이다.
엔그램 정보란, 어떤 정보를 인접한 N개 단위로 절단한 정보를 의미한다. 예를 들어, ‘과학기술정보’의 음절에 대한 2-그램 정보는, ‘과학’, ‘학기’, ‘기술’, ‘술정’, ‘정보’일 수 있다. 만약, ‘과학기술정보’란 단어에서 ‘기술’이란 단어를 검색하는 경우, ‘과학기술정보’ 가 하나의 단어로 인식되어, ‘기술’이란 단어가 검색되지 않을 수 있다.
이러한 문제는, 일련의 스트로크로부터 획득된 특징정보를 비교하는 경우에도 발생할 수 있다. 따라서, 특징정보에 대한 엔그램 정보를 이용하여, 특징정보 간의 비교가 수행될 수 있다.
도 8에 도시된 바와 같이, 특징정보인 ‘521624’에 대한 1-그램 정보는 해당 특징정보를 1개 단위로 절단한 정보이며, 2-그램 정보는 해당 특징정보를 2개 단위로 절단한 정보이며, 3-그램 정보는 해당 특징정보를 3개 단위로 절단한 정보이며, 4-그램 정보는 해당 특징정보를 4개 단위로 절단한 정보이다.
한편, 띄어쓰기를 하거나, 한글이나 한자 등은 한 문자에 복수의 자음과 모음이 포함될 수 있는 점을 고려할 때, 특징정보 전체에 대한 엔그램 정보를 서로 비교하는 것은 비효율적일 수 있으므로, 엔그램 정보는 특징정보의 특정 구간 단위로 절단될 수도 있다.
예를 들면, ‘이름’의 엔그램 정보는, ‘이름’에 대한 특징정보 전체를 N개 단위로 절단하지 않고, ‘이’에 대한 특징정보 및 ‘름’에 대한 특징정보를 각각 N개 단위로 절단한 정보일 수 있다.
제 1 또는 제 2 특징정보가, 제 1 또는 제 2 특징정보에 대한 엔그램 정보를 포함하는 경우, 제 1 차 비교부 (220, 도 4 참조) 는 제 1 특징정보에 대한 엔그램 정보를 제 2 특징정보에 대한 엔그램 정보와 비교할 수 있다.
예컨대, 제 2 특징정보에 대한 엔그램 정보 중에서 제 1 특징정보에 대한 엔그램 정보와 일치하는 부분이 분산되어 있는 경우, 분산되어 있는 제 2 특징정보의 엔그램 정보 중에서 후보 특징정보의 특정은 제 1 특징정보에 대한 엔그램 정보 중 최선두의 엔그램 정보를 기준으로 이루어지도록 구현될 수 있다.
도 8을 참조하면, 제 1 특징정보에 대한 엔그램 정보가 ‘5216’, ‘2162’, ‘1624’인 경우, 제 2 특징정보에 대한 엔그램 정보 중에서 ‘5216’으로 시작하여, ‘2162’ 또는 ‘1624’로 끝나는 부분까지가 후보 특징정보로 결정될 수 있다. 만약 ‘5216’으로 시작하였으나, ‘2162’ 또는 ‘1624’로 끝나기 전에 다시 ‘5216’이 나온 경우, 후의 ‘5216’으로 시작하여, ‘2162’ 또는 ‘1624’로 끝나는 부분까지가 후보 특징정보로 결정될 수 있다.
상기 예시에서, 후보 특징정보 결정에 있어 ‘5216’으로 시작하여 ‘2162’ 또는 ‘1624’로 끝나는 부분까지 삽입되거나 치환된 정보가 많을수록 제 1 특징정보에 대한 엔그램 정보와 덜 일치하는 것으로 결정될 수 있다.
제 3 또는 제 4 특징정보가, 제 3 또는 제 4 특징정보에 대한 엔그램 정보를 포함하는 경우, 제 2 차 비교부 (260, 도 4 참조) 는 제 3 특징정보에 대한 엔그램 정보를 제 4 특징정보에 대한 엔그램 정보와 비교할 수 있고, 제 3 특징정보에 대한 엔그램 정보와 제 4 특징정보에 대한 엔그램 정보의 비교는 제 1 특징정보에 대한 엔그램 정보와 제 2 특징정보에 대한 엔그램 정보의 비교와 실질적으로 동일하므로, 중복 설명은 생략한다.
한편, 엔그램 정보와 같이, 특징정보를 해싱 (hashing) 하여, 더 짧은 길이의 정보로 변환할 수도 있다. 해싱은 각 정보들을 인덱싱 (indexing) 하고 검색하는데 사용될 수 있다.
본 발명의 일 실시예에 따른 디지털 잉크 데이터 매칭장치 (200, 도 4 참조) 는 인덱스 생성부를 더 포함할 수 있고, 여기서 인덱스 생성부는, 제 2 특징정보의 인덱스를 생성한다.
제 2 특징정보의 인덱스는, 제 2 스트로크 각각의 저장 위치에 관한 정보를 포함한다. 따라서, 제 2 특징정보 중 후보 특징정보가 결정되면, 결정된 후보 특징정보를 통해 후보 스트로크의 저장 위치가 식별될 수 있다.
후보 특징정보 결정부 (230, 도 4 참조) 는, 제 1 특징정보와 제 2 특징정보 간의 비교 결과에 기초하여, 제 2 특징정보 중에서 후보 특징정보의 인덱스를 결정할 수 있다.
이어서, 후보 스트로크 결정부 (240, 도 4 참조) 는, 후보 특징정보의 인덱스를 기초로 일련의 제 2 스트로크 중 후보 스트로크를 결정할 수 있다.
한편, 인덱스는 제 2 특징정보의 엔그램 정보에 대응되어 생성될 수도 있다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
본 명세서에서, 각 블록은 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링 되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상으로 실시예를 들어 본 발명을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형 실시될 수 있다. 따라서 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 휴대용 단말기
101: 대상 디지털 잉크 데이터
102a, 102b, 102c, 102d: 검색된 결과
103: 제 2 스트로크
103a, 103b, 103c, 103d, 103e, 103f: 후보 스트로크
104: 제 2 특징정보
104a, 104b, 104c, 104d, 104e, 104f: 후보 특징정보
105: 텍스트 데이터
106a, 106b, 106c, 106d, 106e, 106f: 제 4 특징정보
110: 입력패드
111: 토글키
112: 질의 디지털 잉크 데이터
113: 제 1 스트로크
114: 제 1 특징정보
116: 제 3 특징정보
120: 검색란
200: 디지털 잉크 데이터 매칭장치
210: 제 1 차 특징정보 획득부
220: 제 1 차 비교부
230: 후보 특징정보 결정부
240: 후보 스트로크 결정부
250: 제 2 차 특징정보 획득부
260: 제 2 차 비교부
270: 결정부
c: 커서
st1 내지 st9: 스트로크
D1, D2: 스트로크의 기준 방향

Claims (19)

  1. 디지털 잉크 데이터 (digital ink data) 간 매칭을 수행하기 위한 방법으로서,
    질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크 (stroke) 로부터 제 1 특징정보를 획득하는 단계;
    대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득하는 단계;
    상기 제 1 특징정보를 상기 제 2 특징정보와 비교하는 단계;
    상기 제 1 특징정보와 상기 제 2 특징정보 간의 비교 결과에 기초하여, 상기 제 2 특징정보 중에서 상기 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하는 단계;
    상기 후보 특징정보를 기초로 상기 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하는 단계;
    상기 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하는 단계;
    상기 후보 스트로크로부터 제 4 특징정보를 획득하는 단계;
    상기 제 3 특징정보를 상기 제 4 특징정보와 비교하는 단계; 및
    상기 제 3 특징정보와 상기 제 4 특징정보 간의 비교 결과에 기초하여, 상기 후보 스트로크 중에서 상기 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정하는 단계를 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  2. 제 1 항에 있어서,
    상기 제 1 스트로크 또는 상기 제 2 스트로크를 전처리 (preprocessing) 하는 단계를 더 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  3. 제 1 항에 있어서,
    상기 제 1 또는 상기 제 2 특징정보는 상기 일련의 제 1 스트로크 또는 상기 일련의 제 2 스트로크의 스트로크 진행 방향에 기초한 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  4. 제 1 항에 있어서,
    상기 제 3 특징정보를 획득하는 단계는,
    상기 일련의 제 1 스트로크의 형태 문맥 특징 (Shape Context Feature), 탄젠트 각도 특징 (Tangent Angle Feature), 일반화된 형태 문맥 특징 (Generalized Shape Context Feature), 정규화된 도함수 특징들 (Normalized Derivative Features), 곡률 특징 (Curvature Feature) 중 어느 하나를 이용하여 상기 제 3 특징정보를 획득하는 단계를 포함하고,
    상기 제 4 특징정보를 획득하는 단계는,
    상기 후보 스트로크의 형태 문맥 특징, 탄젠트 각도 특징, 일반화된 형태 문맥 특징, 정규화된 도함수 특징들, 곡률 특징 중 어느 하나를 이용하여 상기 제 4 특징정보를 획득하는 단계를 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  5. 제 1 항에 있어서,
    상기 제 1 및 상기 제 2 특징정보의 획득 방식과 상기 제 3 및 제 4 특징정보의 획득 방식이 서로 상이한 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  6. 제 1 항에 있어서,
    상기 제 1 또는 상기 제 2 특징정보는, 상기 제 1 또는 상기 제 2 특징정보에 대한 엔그램 (N-gram) 정보를 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  7. 제 1 항에 있어서,
    상기 제 2 특징정보의 인덱스 (index) 를 생성하는 단계를 더 포함하고,
    상기 후보 특징정보를 결정하는 단계는,
    상기 제 1 특징정보와 상기 제 2 특징정보 간 비교의 결과에 기초하여, 상기 제 2 특징정보 중에서 상기 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보의 인덱스를 획득하는 단계를 포함하고,
    상기 후보 스트로크를 결정하는 단계는,
    상기 후보 특징정보의 인덱스를 기초로 상기 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하는 단계를 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  8. 제 1 항에 있어서,
    상기 후보 특징정보는 상기 제 1 특징정보와 미리 결정된 비율 이상 일치하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  9. 제 1 항에 있어서,
    상기 상기 제 3 특징정보와 상기 제 4 특징정보 간 비교는 상기 상기 제 3 특징정보와 상기 제 4 특징정보 간 탄력 매칭 (elastic matching) 을 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  10. 제 1 항에 있어서,
    상기 제 1 특징정보를 상기 제 2 특징정보와 비교하는 단계는,
    상기 제 1 특징정보를 상기 제 2 특징정보의 전체에 걸쳐 상기 제 2 특징정보와 비교하는 단계를 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  11. 제 1 항에 있어서,
    상기 후보 스트로크는 복수의 후보 스트로크를 포함하고,
    상기 후보 스트로크로부터 제 4 특징정보를 획득하는 단계는,
    상기 복수의 후보 스트로크로부터 각각 제 4 특징정보를 획득하는 단계를 포함하고,
    상기 제 3 특징정보를 상기 제 4 특징정보와 비교하는 단계는,
    상기 제 3 특징정보를 각각 획득된 상기 제 4 특징정보와 각각 비교하는 단계를 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭방법.
  12. 디지털 잉크 데이터 간 매칭을 수행하기 위한 컴퓨터 판독가능매체로서,
    질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크 (stroke) 로부터 제 1 특징정보를 획득하고,
    대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득하고,
    상기 제 1 특징정보를 상기 제 2 특징정보와 비교하고,
    상기 제 1 특징정보와 상기 제 2 특징정보 간의 비교 결과에 기초하여, 상기 제 2 특징정보 중에서 상기 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하고,
    상기 후보 특징정보를 기초로 상기 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하고,
    상기 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하고,
    상기 후보 스트로크로부터 제 4 특징정보를 획득하고,
    상기 제 3 특징정보를 상기 제 4 특징정보와 비교하고,
    상기 제 3 특징정보와 상기 제 4 특징정보 간의 비교 결과에 기초하여, 상기 후보 스트로크 중에서 상기 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정하게 하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  13. 제 12 항에 있어서,
    상기 제 1 또는 상기 제 2 특징정보는 상기 일련의 제 1 스트로크 또는 상기 일련의 제 2 스트로크의 스트로크 진행 방향에 기초한 것을 특징으로 하는, 컴퓨터 판독가능매체.
  14. 제 12 항에 있어서,
    상기 제 3 특징정보를 획득하게 하는 명령어들의 세트는,
    상기 일련의 제 1 스트로크의 형태 문맥 특징, 탄젠트 각도 특징, 일반화된 형태 문맥 특징, 정규화된 도함수 특징들, 곡률 특징 중 어느 하나를 이용하여 상기 제 3 특징정보를 획득하게 하는 명령어들의 세트를 포함하고,
    상기 제 4 특징정보를 획득하게 하는 명령어들의 세트는,
    상기 후보 스트로크의 형태 문맥 특징, 탄젠트 각도 특징, 일반화된 형태 문맥 특징, 정규화된 도함수 특징들, 곡률 특징 중 어느 하나를 이용하여 상기 제 4 특징정보를 획득하게 하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  15. 제 12 항에 있어서,
    상기 제 1 및 상기 제 2 특징정보의 획득 방식과 상기 제 3 및 제 4 특징정보의 획득 방식이 서로 상이한 것을 특징으로 하는, 컴퓨터 판독가능매체.
  16. 제 12 항에 있어서,
    상기 상기 제 3 특징정보와 상기 제 4 특징정보 간 비교는 상기 상기 제 3 특징정보와 상기 제 4 특징정보 간 탄력 매칭 (elastic matching) 을 포함하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  17. 제 12 항에 있어서,
    상기 제 1 특징정보를 상기 제 2 특징정보와 비교하게 하는 명령어들의 세트는,
    상기 제 1 특징정보를 상기 제 2 특징정보의 전체에 걸쳐 상기 제 2 특징정보와 비교하게 하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  18. 제 12 항에 있어서,
    상기 후보 스트로크는 복수의 후보 스트로크를 포함하고,
    상기 후보 스트로크로부터 제 4 특징정보를 획득하게 하는 명령어들의 세트는,
    상기 복수의 후보 스트로크로부터 각각 제 4 특징정보를 획득하게 하는 명령어들의 세트를 포함하고,
    상기 제 3 특징정보를 상기 제 4 특징정보와 비교하게 하는 명령어들의 세트는,
    상기 제 3 특징정보를 각각 획득된 상기 제 4 특징정보와 각각 비교하게 하는 명령어들의 세트를 포함하는 것을 특징으로 하는, 컴퓨터 판독가능매체.
  19. 디지털 잉크 데이터 간 매칭을 수행하기 위한 장치로서,
    질의 디지털 잉크 데이터에 포함된 일련의 제 1 스트로크로부터 제 1 특징정보를 획득하고, 대상 디지털 잉크 데이터에 포함된 일련의 제 2 스트로크로부터 제 2 특징정보를 획득하는 제 1 차 특징정보 획득부;
    상기 제 1 특징정보를 상기 제 2 특징정보와 비교하는 제 1 차 비교부;
    상기 제 1 특징정보와 상기 제 2 특징정보 간의 비교 결과에 기초하여, 상기 제 2 특징정보 중에서 상기 제 1 특징정보의 적어도 일부와 일치하는 후보 특징정보를 결정하는 후보 특징정보 결정부;
    상기 후보 특징정보를 기초로 상기 일련의 제 2 스트로크 중에서 후보 스트로크를 결정하는 후보 스트로크 결정부;
    상기 일련의 제 1 스트로크로부터 제 3 특징정보를 획득하고, 상기 후보 스트로크로부터 제 4 특징정보를 획득하는 제 2 차 특징정보 획득부;
    상기 제 3 특징정보를 상기 제 4 특징정보와 비교하는 제 2 차 비교부; 및
    상기 제 3 특징정보와 상기 제 4 특징정보 간의 비교 결과에 기초하여, 상기 후보 스트로크 중에서 상기 일련의 제 1 스트로크의 적어도 일부와 일치하는 부분이 있는지 결정하는 결정부를 포함하는 것을 특징으로 하는, 디지털 잉크 데이터 매칭장치.
KR1020130061755A 2013-05-30 2013-05-30 디지털 잉크 데이터 매칭방법 및 매칭장치 KR101434963B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130061755A KR101434963B1 (ko) 2013-05-30 2013-05-30 디지털 잉크 데이터 매칭방법 및 매칭장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130061755A KR101434963B1 (ko) 2013-05-30 2013-05-30 디지털 잉크 데이터 매칭방법 및 매칭장치

Publications (1)

Publication Number Publication Date
KR101434963B1 true KR101434963B1 (ko) 2014-08-28

Family

ID=51751466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130061755A KR101434963B1 (ko) 2013-05-30 2013-05-30 디지털 잉크 데이터 매칭방법 및 매칭장치

Country Status (1)

Country Link
KR (1) KR101434963B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10214267A (ja) * 1997-01-29 1998-08-11 Sharp Corp 手書き文字記号処理装置および手書き文字記号処理装置の制御プログラムを記録した媒体
KR20050081555A (ko) * 2004-02-14 2005-08-19 삼성전자주식회사 디지털 잉크 질의 검색 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10214267A (ja) * 1997-01-29 1998-08-11 Sharp Corp 手書き文字記号処理装置および手書き文字記号処理装置の制御プログラムを記録した媒体
KR20050081555A (ko) * 2004-02-14 2005-08-19 삼성전자주식회사 디지털 잉크 질의 검색 장치 및 방법

Similar Documents

Publication Publication Date Title
US7778464B2 (en) Apparatus and method for searching for digital ink query
US7706615B2 (en) Information processing method and information processing device
CN102449640B (zh) 识别手写单词
TWI321294B (en) Method and device for determining at least one recognition candidate for a handwritten pattern
US10007859B2 (en) System and method for superimposed handwriting recognition technology
JP7105695B2 (ja) デジタルインク対話性のためのシステムおよび方法
US11430239B2 (en) Handwritten text recognition
JP2007317022A (ja) 手書文字処理装置及び手書文字処理方法
US9286527B2 (en) Segmentation of an input by cut point classification
EP1854047A1 (en) Segmentation-based recognition
JP4817297B2 (ja) 文字検索装置
CN114365075A (zh) 用于选择图形对象的方法和对应装置
US9384304B2 (en) Document search apparatus, document search method, and program product
US20150186738A1 (en) Text Recognition Based on Recognition Units
US7580573B2 (en) Segmentation-based recognition
US9224038B2 (en) Partial overlap and delayed stroke input recognition
KR101434963B1 (ko) 디지털 잉크 데이터 매칭방법 및 매칭장치
US10127478B2 (en) Electronic apparatus and method
WO2014174665A1 (ja) システムおよび筆跡検索方法
WO2016031016A1 (ja) 電子機器、方法及びプログラム
EP3295292B1 (en) System and method for superimposed handwriting recognition technology
KR20160073146A (ko) 혼동행렬을 이용한 필기인식 단어 보정 방법 및 장치
KR101488670B1 (ko) 텍스트와 디지털 잉크를 포함하는 대용량 문서의 교차 검색 시스템 및 방법
JP5911981B2 (ja) 文書検索装置、方法およびプログラム
JP2020013460A (ja) 情報処理装置、文字認識方法、および文字認識プログラム

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170803

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180725

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190812

Year of fee payment: 6