DHWR APIs Document

Introduction

본 문서는 SELVAS AI의 필기인식 솔루션인 DioPen의 인식엔진(DHWR)의 API 가이드이다.
DHWR은 표준 C언어 기반의 라이브러리로 터치 스크린에 기반한 임베디드 플랫폼에 적용되고 있다.

Setting

Touch Event

필기 입력기 구현을 위해서는 다음과 같은 터치 이벤트 사양이 요구된다.

  • Touch Down : 펜을 터치 디바이스상에 처음 대는 순간 발생하는 이벤트.
  • Touch Move : 펜을 터치 디바이스에서 떼지 않은 상태로 있을 경우 발생하는 이벤트.
  • Touch Up : 펜을 터치 디바이스 상에서 떼는 순간 발생하는 이벤트. Touch Down이 발생한 경우라면 항상 Touch Up이 발생하여야 한다. 즉, 사용자가 필기 도중 터치 패드 영역을 벗어난 경우에도 드라이버에서는 Touch Up 이벤트를 발생 시켜야 한다.

Sampling Rate

'Sampling Rate’란 터치 디바이스에서 터치 이벤트를 체크하는 시간(or 양)을 말한다.
필기 입력기 적용을 위해서는 보통 10~40mSec(초당 25~100개의 터치이벤트) 정도로 조정한다.
유의할 점은 Sampling Rate가 40mSec를 넘게 되면 필기한 모양이 자연스럽지 못하고 인식률도 떨어지게 된다. 대개의 경우 10~20mSec를 권장한다.

Delay time

인식 대기 시간은 필기 입력이 끝났다고 판단하는데 걸리는 시간이다.
즉, 터치 디바이스에서 펜을 뗀 후 일정 시간 동안 필기 입력이 없으면 사용자의 입력이 끝났다고 판단하고 인식 엔진을 호출하게 된다.
인식 대기 시간은 설정 메뉴를 두어 사용자로 하여 적당한 값을 선택할 수 있도록 할 수도 있으며, 일반적으로 300~500mSec의 값을 사용한다.
인식 대상 문자를 지정하는 경우 대상 문자의 종류에 따라 차등 적용할 수도 있다.(예, 한글 - 400mSec, 영숫자 - 200mSec)
물론, 인식 대기 시간을 활용하지 않고 특정 버튼을 두어 시간에 관계없이 버튼을 클릭하면 바로 인식 엔진을 호출하게끔 구현할 수도 있다.

Porting

포팅에 필요한 파일들은 다음과 같다.

  • dhwr.h - main API function 등이 선언되어 있다.
  • dhwr_define.h - 각종 definition
  • dhwr_gesture.h - gesture 관련 definition
  • dhwr_ink.h - ink 관련 definition
  • dhwr_result.h - result 관련 definition
  • dhwr_setting.h - setting 관련 definition
  • libdhwr.so, libdhwr-base.so, libdhwr-core.so : 필기인식 엔진 Main 라이브러리
  • llibdhwr-xxxx.so : 동적으로 로드 되는 Sub 라이브러리, 파일의 path를 DHWRSetExternalLibraryPath()의 파라미터로 설정해야 한다.
  • xx_XX.hdb : 각 언어의 인식을 위한 리소스 파일, 파일의 path를 DHWRSetExternalResourcePath()의 파라미터로 설정해야 한다.
  • dhwr.key : License를 위한 key 파일로써, key파일이 없으면 필기인식 엔진은 동작하지 않는다. 파일명을 포함한 path를 DHWRCreate()의 파라미터로 설정해야 한다.

Link

SELVAS AI http://www.selvasai.com/