Advanced
W3C based Interoperable Multimodal Communicator
W3C based Interoperable Multimodal Communicator
Journal of Broadcast Engineering. 2015. Jan, 20(1): 140-152
Copyright © 2015, The Korean Society of Broadcast Engineers
  • Received : October 07, 2014
  • Accepted : January 08, 2015
  • Published : January 30, 2015
Download
PDF
e-PUB
PubReader
PPT
Export by style
Share
Article
Author
Metrics
Cited by
TagCloud
About the Authors
대민 박
대혁 권
진혁 최
인재 이
해철 최
choihc@hanbat.ac.kr

Abstract
최근 사용자와 컴퓨터간의 양방향 상호작용을 가능하게 하는 HCI(Human Computer Interaction) 연구를 위해 인간의 의사소통 체계와 유사한 인터페이스 기술들이 개발되고 있다. 이러한 인간과의 의사소통 과정에서 사용되는 커뮤니케이션 채널을 모달리티라고 부르며, 다양한 단말기 및 서비스 환경에 따라 최적의 사용자 인터페이스를 제공하기 위해서 두 개 이상의 모달리티를 활용하는 멀티모달 인터페이스가 활발히 연구되고 있다. 하지만, 멀티모달 인터페이스를 사용하기에는 각각의 모달리티가 갖는 정보 형식이 서로 상이하기 때문에 상호 연동이 어려우며 상호 보완적인 성능을 발휘하는데 한계가 있다. 이에 따라 본 논문은 W3C(World Wide Web Consortium)의 EMMA(Extensible Multimodal Annotation Markup language)와 MMI(Multimodal Interaction Framework)표준에 기반하여 복수의 모달리티를 상호연동할 수 있는 멀티모달 커뮤니케이터를 제안한다. 멀티모달 커뮤니케이터는 W3C 표준에 포함된 MC(Modality Component), IM(Interaction Manager), PC(Presentation Component)로 구성되며 국제 표준에 기반하여 설계하였기 때문에 다양한 모달리티의 수용 및 확장이 용이하다. 실험에서는 시선 추적과 동작 인식 모달리티를 이용하여 지도 탐색 시나리오에 멀티모달 커뮤니케이터를 적용한 사례를 제시한다.
Keywords
Ⅰ. 서 론
HCI(Human Computer Interface)는 사용자와 컴퓨터간의 상호작용을 위한 인터페이스를 연구하는 분야이며, 이 상호작용은 사용자와 컴퓨터 사이에 있는 사용자 인터페이스에서 발현되는 작동을 의미한다. 현재 HCI 기술은 사용자와 컴퓨터간의 정보 전달 인터페이스를 위해서 키보드나 마우스와 같은 위치 기반 디바이스 혹은 포인팅 디바이스들을 이용한 방법들이 주로 이용되고 있다. 하지만 이러한 방법들은 기계적이며 자연스럽지 못하다. 이를 개선시키고자 최근 HCI 기술은 인간 친화적인 상호작용을 지원할 수 있도록 인간의 의사소통 체계와 유사한 특징을 갖는 인터페이스가 연구되고 있다. 아직은 인간의 의사소통 체계를 따르기에 많은 어려움이 존재하지만, 자연 언어 인식, 움직임 인식 기술 등의 발달로 그 실현 가능성을 높이고 있는 추세이다. 이러한 인간과의 의사소통 과정에서 사용되는 커뮤니케이션 채널을 모달리티라고 부른다 [1] . 모달리티는 상호작용 과정에서 사용되는 커뮤니케이션 채널, 인간 또는 기계가 정보를 주고받는 채널, 기기와 대화하는 환경 등을 지칭한다. 이러한 인간 친화적인 모달리티를 HCI에 이용하기 위해서는 사용자의 입력정보를 획득하기 위한 기기가 필요하다. 그 예로는 보편적으로 활용할 수 있는 카메라에서부터 인간의 시선을 추적하기 위해 특수 제작된 시선추적기, 손동작인식을 위한 장치 등이 있다 [2] .
최근 다양한 단말기 및 서비스 사용 환경에 따라 사용자에게 최적의 인터페이스를 제공하기 위하여 두 개 이상의 모달리티를 활용하는 방법들이 연구되고 있으며, 이를 멀티모달 인터페이스(Multimodal Interface)라고 한다. 멀티모달 인터페이스는 인간의 제스처, 시선, 손의 움직임, 행동의 패턴, 음성, 물리적인 위치 등 인간 친화적이며, 사용자의 자연스러운 행동에 대한 정보를 해석하고 부호화하는 인지기반 기술에 근거한다. 또한, 동시에 다수의 모달리티의 입출력을 허용하고, 모달리티들의 조합과 입력신호들의 통합해석 등을 통해 인간과 기계간의 상호 의사를 교환할 수 있는 채널을 제공한다.
다양한 시스템 및 서비스 환경에서 개별적으로 개발된 모달리티들을 함께 이용하는 경우, 모달리티 기기마다 다른 데이터 포맷 및 구조를 가질 수 있다. 이로 인해 모달리티간 정보형식과 입력신호에 대한 해석이 상이하고 모달리티간 상호 연동에 한계가 있으므로 상호 보완적인 성능을 발휘하기에 문제점이 있다. 또한, 두 가지 이상의 모달리티를 활용하여 연동 가능하도록 시스템을 구성했더라도 추후 새로운 모달리티를 추가하기에 어려움이 생길 수 있다. 이에 따라 모달리티간 효율적인 상호연동을 제공하기 위하여 W3C(World Wide Web Consortium) Multimodal Interaction 워킹 그룹은 EMMA(Extensible Multimodal Annotation markup language)와 MMI(Multimodal Interaction Framework)의 표준을 제정하였다. EMMA는 멀티모달 상호작용을 통해 웹(Web)에 접근할 수 있도록 스피치, 언어텍스트 등을 포함한 다양한 입력 신호에 대한 해석을 통일된 입력 형식으로 정의하고 그 해석을 위한 주석에 초점을 맞추고 있다. MMI는 멀티모달 인터페이스를 이용하여 응용 서비스를 구현하기 위한 요소들의 프레임워크를 정의하고 있다. 이는 입력, 출력, 인터랙션 관리기, 세션, 시스템 환경, 응용 서비스 요소 등을 포함한다.
앞서 설명한 복수 모달리티를 활용할 때 발생할 수 있는 상호연동성, 활용성, 확장성 등에 대한 문제점을 해결하기 위하여 본 논문은 W3C의 표준에 기반한 멀티모달 커뮤니케이터 프레임워크를 제안한다. 이 멀티모달 커뮤니케이터에는 MMI에서 정의한 요소인 MC(Modality Component), IM(Interaction Manager), PC(Presentation Component)를 포함한다. 제안하는 멀티모달 커뮤니케이터는 표준을 기반으로 설계함으로써 다양한 모달리티를 연동시키기가 용이하며, 각각의 모달리티가 갖는 정보를 통합하고 이용함으로써 사용자 의도 판정에 대한 불명확도를 감소시키는 효과를 기대할 수 있고, 모달리티들의 상호연동 형태로 다양한 조합의 사용자 명령을 지원함으로써 정보 전달율을 증가시킬 수 있다. 또한, 상기 멀티 모달의 확장성 문제를 해결하기 위하여, IM의 유연적 작업 결정 엔진(FDE, Flexible Decision Engine)을 설계하였다. 이는 복수의 모달리티로부터 입력된 데이터를 조합하여 사용자에게 제공할 Task를 결정하는 것을 시스템 내부에서 고정화 시키지 않고, 외부에서 정의된 테이블을 시스템에 설정하는 방식을 취한다. 또한 사용자가 테이블을 유연하게 사용하고 정의할 수 있도록 유연적 작업 결정 엔진 테이블(FDET, Flexible Decision Engine Table)을 설계하였다. 이러한 방식으로 제안 커뮤니케이터는 복수 모달리티 정보를 조합하여 다양한 task를 실행하도록 명령할 수 있는 인터페이스를 제공한다.
본 논문의 구성은 다음과 같다. 2장에서는 모달리티 관련 기술들을 소개하고, 3장에서는 멀티모달 커뮤니케이터에 대한 시스템 구조에 대해 설명한다. 4장에서는 3장에서 설명한 내용을 기반으로 시선 추적기와 손동작 인식기를 활용한 멀티모달 커뮤니케이터 구현에 대해 기술하고, 마지막으로 5 장에서 결론을 내린다.
Ⅱ. 관련 기술
본장에서는모달리티에관련된기술들과, W3C의EMMA, MMI에 대하여 소개한다.
- 1. 커뮤니케이터 관련 기술
사용자와 컴퓨터의 상호작용을 위해서는 사용자로부터 받은 정보를 효과적으로 표현하기 위한 매체가 필요하다. 이를 위하여 XML기반의 스크립터들이 개발되었다. 이를 스크립팅(Scripting)기술이라고 부르며, 그 예는 표 1 과 같다. 다음으로 AUI(Attentive User Interface)라는 기술이 있으며 이는 인간 친화적인 상호작용을 지원할 수 있도록 하는 인터페이스로 과거 문자를 기본으로 한 조작환경 CUI(Character User Interface)에서 현재 아이콘을 바탕으로 마우스를 이용하는 GUI(Graphic User Interface)와는 다르게 사용자에게 친환경적인 편의성을 제공할 수 있다. 이는 사용자의 의도를 인식하는 인터페이스이며, 사람의 언어적, 비언어적인 대화채널을 인지하는 오감 인터페이스 기술과 사용자의 움직임을 인식하는 상황인지 인터페이스의 컨텍스트 정보를 활용하여 사용자의 의도를 파악한다. 이러한 기술 중 하나는 사용자의 눈동자 움직임을 이용하여 기기가 움직임에 반응하는 것이다. 이를 이용한 예로 사용자가 디스플레이기기를 이용하여 비디오를 시청할 때 사용자의 눈동자가 사라지면 비디오가 일시 정지되는 방식이 있다. 결론적으로 사람과 컴퓨터간의 AUI 인터페이스는 포인터와 메뉴, 아이콘을 이용하는 GUI 사용자 인터페이스에서 시각, 음성, 움직임을 이용하여 사용자에게 자연친화적인 AUI 사용자 인터페이스로 발전하고 있다 [9] [10] .
상호작용을 위한 언어Table 1. Languages for Interaction
PPT Slide
Lager Image
상호작용을 위한 언어 Table 1. Languages for Interaction
- 2. W3C
W3C의 Multimodal Interaction Working Group은 멀티모달의 발전을 촉진시키며, 모달리티 재사용성의 증가, 분산 응용 프로그램에 적합한 환경구축, 유지보수 용이 등을 목적으로 한다. 또한 웹 기반의 다양한 모달리티를 수용할 수 있는 표준과 개방형 아키텍쳐 멀티모달 프로그램을 쉽게 개발하는 과정을 만들기 위하여 표준을 제정하고 있다. W3C에는 MMI, EMMA, 잉크 마크업 언어의 총 세 가지 표준이 있으며, 본 논문에서 제안하는 멀티모달 커뮤니케이터는 MMI와 EMMA 표준에 기반하여 설계한다. 그 이유는 MMI는 멀티모달 인터페이스를 이용한 응용서비스의 구현 요소를 포함하고, EMMA는 멀티모달 인터페이스를 이용할 때 단일 모달리티들의 입력요소를 공통적으로 표현할 수 있기 때문이다.
- 2.1 MMI(Multimodal Interaction Framework)[11]
표 2 는 MMI가 포함하는 5개의 요소를 보여준다. MMI 표준은 표 2 에 나와 있는 MC, IM, PC에 초점을 맞추고 있고, Fusion 및 Fission 요소는 그 기능 및 목적만 기술할 뿐 표준화의 범위에 포함하고 있지 않다. 이는 Fusion 및 Fission 요소를 독립적인 MC와 IM으로 대체하여 개념화할 수 있기 때문이다. 또한, IM에 대해서도 구현을 위한 구체적인 내용은 표준에서 제시하고 있지 않다. 다만, IM의 개발을 위한 언어로 SCXML(State Chart eXtensible markup language)을 제시하고 있다. SCXML은 기존의 상태 다이어그램을 표현할 수 있는 XML 언어들을 통합하고 대체하기 위한 목적으로 개발되었으며, 복잡한 시스템의 상태를 표현하는데 유용하다. 표준 구성요소 중 가장 중요한 원칙은 캡슐화이다. MMI에서는 이 캡슐화를 라이프 사이클(Life Cycle) 이벤트로 정의한다. 캡슐화의 이유는 각각 다른 환경에서 만들어진 모달리티를 독립적으로 하나의 시스템에서 동작시키기 위함이다. 그림 1 은 라이프 사이클의 흐름을 보여준다. 라이프 사이클 이벤트는 Request와 Response의 조합으로 정의된다. 시작 및 중지와 같은 요청과 응답의 이벤트를 포함하는 Generic Control Event와 처리 결과와 구성요소 파라미터를 설정하는 이벤트로 이루어져 있다. MMI는 라이프 사이클에 관해 다음 8개의 권장 사항을 제시한다.
MMI 요소Table 2. MMI Components
PPT Slide
Lager Image
MMI 요소 Table 2. MMI Components
PPT Slide
Lager Image
라이프 사이클 이벤트 Fig. 1. Life Cycle Event
  • ① MC는 MMI 라이프 사이클을 따라야 한다.
  • ② MC는 외부적으로 제어가 가능해야 한다.
  • ③ MC가 캡쳐 또는 프로세싱하거나 미디어를 다룰 경우 허용되는 미디어 포맷을 지정해야 한다.
  • ④ 이벤트 전송계층에서 MC와 IM사이의 사용에 대한 프로토콜을 지정해야 한다.
  • ⑤ 인간의 언어를 지정해야 한다. 단, 특정 언어의 경우 지원되는 언어를 나열해야 한다.
  • ⑥ 지원 언어를 지정해야 한다.
  • ⑦ EMMA 형식을 따라야 한다.
  • ⑧ 오류코드와 그 의미를 지정해야 한다.
- 2.2. EMMA(Extensible Multimodal Annotation)[12]
EMMA는 W3C Multimodal Interaction 워킹 그룹 표준으로, 멀티모달 상호작용을 통해 웹(Web)에 접근할 수 있도록 음성, 자연언어, 텍스트 등을 포함한 다양한 입력 신호에 대한 의미론적 해석을 제공한다. 특히 대화 형식의 입력 과정을 통해 수집된 정보와 달리 수집 정보를 통일된 입력 형식으로 정의하고 그 해석을 위한 주석에 초점을 맞추고 있다. 이에 따라 EMMA 표준에는 구체적으로 다음을 기술한다. 첫 번째로 사용자 입력에 대한 의미론적인 표준, 두번째로는 사용자 입력의 구체적인 애플리케이션에 대한 의미를 표현하기 위한 표준, 세 번째로 독립적인 모달리티 프레임워크 정의, 마지막으로 입력에 대한 메타데이터를 정의한다. EMMA에서 정의하는 데이터 종류 및 특징은 다음과 같다. Instance Data는 EMMA 문서의 소비주체에게 전달될 입력 정보, 특정 애플리케이션의 마크업을 의미하며, 실행시간에 입력 프로세서들에 의해 구성한다. Data Model은 Instance의 구조와 내용에 관한 제약을 표시하고, Metadata는 Instance에 포함된 데이터와 관련된 주석을 표시한다.
Ⅲ. 멀티모달 커뮤니케이터
본 장에서는 W3C의 EMMA, MMI 표준에 기반한 멀티모달 커뮤니케이터의 전체 시스템 구조 및 XML 구조를 설명하고, 마지막으로 멀티모달의 확장성을 높이기 위한 IM의 유연적 작업 결정 엔진에 대하여 설명한다.
- 1. 전체 시스템 구조
멀티모달 커뮤니케이터의 전체적인 시스템 구조는 그림 2 와 같으며 표 3 은 시스템 구성요소를 보여준다. 그림 2 의 모듈은 사용자 인터페이스 입력을 위한 모달리티 정보 입력 모듈인 MDI와 모달리티 입력데이터를 캡슐화시키기 위한 MC, 모달리티의 정보를 통합시키는 IM, 사용자가 원하는 작업을 실행시켜주는 PC를 보여준다. 모듈간 정보 전달을 위한 매체와 관련하여, MDI와 MC 및 MC와 IM의 통신은 미리 정의된 패킷에 기반한다. 이와 달리 IM과 PC는 W3C 표준에 기반하여 EMMA 형식의 XML로 정보를 표현하여 전달한다. 각각의 모듈들에 대한 설명은 아래 기술한다.
PPT Slide
Lager Image
멀티모달 커뮤니케이터 전체 시스템 구조 Fig. 2. Multimodal Communicator System Structure
시스템 구성요소Table 3. System Component
PPT Slide
Lager Image
시스템 구성요소 Table 3. System Component
- 1.1 Modality Data Input(MDI)
MDI는 모달리티로부터 사용자의 입력을 받기 위한 모듈로 그림 2 의 MDI 1, MDI 2 등 다수의 모달리티로 구성될 수 있다. 각 MDI는 모달리티 입력, 시각화(Visualization), 송신(Transmission)으로 구성된다. 먼저 시각화는 모달리티의 입력 데이터를 시각화하는 과정으로 이는 사용자에게 데이터의 분석 결과를 쉽게 이해할 수 있도록 시각적으로 표현하고 전달하는 역할을 한다. 송신은 모달리티가 받은 사용자의 행동 데이터를 패킷화하여 MC에 전송하는 역할을 한다. 상기의 송신 처리방법은 소켓 통신의 클라이언트로 구현될 수 있다.
- 1.2. Modality Component(MC)
MC는 MDI에 대한 입력데이터를 W3C 표준에 맞추어 캡슐화 시키기 위한 모듈로서 W3C의 라이프 사이클에 기반하여 IM과 통신한다. 그림 2 의 우측상단은 MC의 모달리티 입력 처리 모듈 구조를 보여준다. 그림에서 보이는 수신(Reception)은 모달리티에서 송신된 데이터를 수신하는 역할을 한다. 패킷생성(Packet Creation)은 수신 데이터를 패킷으로 재생성하는 역할을 한다. 마지막으로 MC와 IM은 라이프 사이클에 따라 Request와 Response를 주고받는다. 표 3 을 보면 MC의 출력 데이터 형식은 사용자 정의 패킷이고, Data에서 라이프 사이클 ID는 현재 연결 및 전송 상태에 대한 ID, Modality ID는 현재 연결된 모달리티들에 대한 ID, TimeStamp는 현재 모달리티에서 전송되는 값에 대한 시간, Length Field는 현재 데이터 필드의 길이 값이며, 마지막으로 Data Field는 데이터를 가지고 있는 공간으로 정의한다.
- 1.3 Interaction Manager(IM)
IM은 MDI로부터 입력 받은 정보를 하나로 통합하여 사용자의 의도를 해석하고 사용자에게 전달할 정보 혹은 시스템이 수행해야 할 일을 결정한다. IM은 그림 2 의 우측하단과 같이 라이프 싸이클, 패킷 파싱(Packet Parsing), 유연적 결정 엔진(FDE, Flexible Decision Engine), 유연적 결정 엔진 테이블(FDET, Flexible Decision Engine Table), XML 생성(XML Generation), 송신(Transmit)으로 구성된다. 수행과정은 다음과 같다. 라이플 사이클은 상기 MC와 라이프 사이클에 따라 Request 및 Response를 수행한다. FDE는 서로 다른 모달리티 별로 전달된 정보를 통합적으로 의미 해석하여 사용자의 의도를 파악하고, 통합된 정보에 해당하는 수행 작업을 결정한다. FDET는 FDE가 수행작업을 결정하기 전 사용자에 의해 정의된 테이블이다. 송신은 PC에 XML을 송신하는 작업을 수행한다.
- 1.4 Presentation Component(PC)
PC는 사용자의 의도에 따라 정보를 사용자에게 전달하거나 사용자가 원하는 작업을 수행한다. 이는 수신(Receive), XML 파싱(XML Parsing), 출력(Output)으로 구성된다. 수신은 IM으로부터 송신된 XML을 수신 처리한다. XML 파싱은 XML 문서의 Instance 데이터만 추출하는 파싱 작업을 수행한다. 출력은 사용자가 모달리티를 이용하여 수행되는 어플리케이션의 출력을 수행한다.
- 1.5 XML 구조
제안방법은 라이프 사이클 표준에 기반한 통신을 지원하여, IM이 다양한 환경의 PC와 통신을 수행할 수 있도록 한다. 이를 위하여 IM에서는 PC로 데이터를 전송할 때 표준에 맞는 XML을 생성하여 전송하게 된다. 그림 3 은 송수신하는 XML의 예제를 보여준다. 소스에서 emma:emma는 현재 XML의 emma 버전을 포함한 기본 정보 표기이다.
PPT Slide
Lager Image
XML 구조 Fig. 3. XML Structure
emma:interpretation는 IM의 작업명령을 수행하기 위한 데이터 집합요소를 가진다. interpretation id는 PC에서 수행해야할 작업이 표기된다. XML의 생성 및 전송은 전체 시스템에서 설명한 바와 같이 IM에서 PC로 명령을 전달할 경우 EMMA 표준을 따르는 XML을 그림 3 과 같이 생성하여 전송한다.
- 2. IM의 유연적 작업 결정 엔진
IM 유연적 작업 결정 엔진(FDE)은 앞서 기술한 바와 같이 복수의 모달리티로부터 입력 받은 정보를 하나로 통합하여 사용자의 의도를 해석하고 사용자에게 전달할 정보 혹은 시스템이 수행해야 할 일을 결정한다. 이로써 멀티모달리티의 확장성을 높여, 다양한 MC를 지원할 수 있으며, 각각의 패턴 및 작업을 지원할 수 있다. IM의 작업 명령을 유연한 체계로 구성하기 위하여 사용자가 자유롭게 IM을 변동 및 구동할 수 있도록 작업 명령에 대한 정보를 table로 입력할 수 있게 지원한다.
- 2.1. 구조
IM이 작업을 수행하기 전 사용자가 임의로 정의할 수 있는 테이블(FDET)을 만들어 사용자가 원하는 모달리티의 입력 값과 출력 값을 설정할 수 있다. FDET 설정을 완료한 이후에 MC로부터 데이터가 입력되면 사용자가 정의한 값에 따라 유연적 작업 결정 엔진을 통하여 작업이 결정된 이후 해당 작업을 PC로 전달한다. 우선 IM이 동작할 시에 FDET를 로드하여 FDE를 설정한다. FDET는 IM에서 복수의 모달리티로부터 입력받은 정보를 유연적 작업 결정하여 PC로 전달할 명령을 결정하는 작업에 대하여 사용자가 정의 가능하도록 구성된 테이블이다. FDET를 어떻게 정의하느냐에 따라서 MC의 정보의 처리 방법과 PC로의 명령의 종류가 달라질 수 있다. FDET가 초기화되면 Decision Engine은 그림 4 와 같은 작업들을 통해 MC로부터 데이터를 받거나 PC로 task를 전달하는 기능을 수행하게 된다.
PPT Slide
Lager Image
IM의 Decision Function(IMCDF) Fig. 4. Decision Function(IMCDF) of IM
- 2.2 IM의 Common Decision Function(CDF)
CDF는 FDE에서 Task를 결정할 때 복수 모달리티의 데이터를 어떻게 처리할 것인지에 대한 방법을 정의하는 함수이다. FDET에서 데이터 처리 방법을 용이하게 설계할 수 있도록 공통적으로 활용될 수 있는 함수로 CDF를 구성한다. 제안 방법은 그림 4 와 같이 IM에서 작업 할당을 위한 공통 함수로서 3가지를 정의하였다. 이는 Internal save 함수, Combine 함수, Bypass 함수이다. 각 함수에 대한 설명으로 먼저 Internal save 함수는 MC로부터 입력된 데이터를 추후 Task 할당을 위한 정보로 활용하기 위해 IM 내부에 저장하는 역할을 한다. Combine 함수는 MC로부터 입력되는 패턴(ID) 및 데이터와 IM의 내부저장 데이터를 조합하여 작업을 할당할 수 있다. 내부저장 값은 이전에 입력된 동일 혹은 다른 모달리티로부터의 데이터를 Internal save 함수가 저장했던 값이다. 마지막으로 Bypass 함수는 MC 입력을 단순하게 PC로 전달하는 역할을 한다. 표 4 는 FDET의 정의 방법을 보여준다. 표에서 ID는 개별 모달리티의 패턴 정보를 유일하게 정의한다. 각 모달리티는 보내려는 정보의 패턴에 따라 ID를 정의하고 필요하다면 데이터를 함께 전송한다. 즉 ID는 MC의 패턴별로 정의하므로, 하나의 모달리티가 IM으로 전송하는 ID의 종류는 하나 이상이다. FID는 현재 패턴(ID)의 입력에 대해 어떤 CDF를 사용할 것인지 대해 지정할 수 있다. Read_Write_Param는 현재 ID의 FID가 무엇인지에 따라 다음 두 가지 중 하나로 활용된다. 첫 번째는 현재 ID의 FID가 internal save인 경우이다. 이 경우에서는 현재 ID와 함께 입력된 MC의 데이터를 추후 다른 ID가 입력되었을 때 활용하기 위해서 ID로 구분된 IM의 특정 내부 저장 공간에 MC가 현재 ID와 함께 전송하는 데이터를 저장시킨다. 이를 위하여 Read_Write_Param는 내부 저장소에 기억시킬 정보의 개수를 정의한다. IM의 FDE은 이 정보의 개수를 이용하여 저장 공간의 생성 및 초기화를 수행할 수 있다. 두 번째는 현재 ID의 FID가 Combine인 경우이다. 현재 ID가 입력되었을 때 이미 IM에 저장된 데이터를 활용하기 위해서 IM의 저장 공간에 접근 할 데이터의 위치를 알 수 있는 ID 값을 Read_Write_Param에 정의한다. 마지막으로 Action은 PC로 명령하는 정보를 정의한다.
IM Flexible decision table의 예 및 IM의 처리Table 4. An example of flexible decision table and processing o integration Manager
PPT Slide
Lager Image
IM Flexible decision table의 예 및 IM의 처리 Table 4. An example of flexible decision table and processing o integration Manager
Ⅳ. 실험
- 1. 구현 시스템
제안하는 멀티모달 커뮤티케이터의 타당성을 검증하기 위해서, 시선 추적기(Gaze Tracking Module, GTM)와 키넥트 동작 인식기(Kinect Gesture Recognition Module, KGRM)를 모달리티로 활용하였으며, MC와 IM은 표준에 기반하여 구현하였고, 마지막으로 PC는 네이버 맵 API를 이용하여 자체적으로 개발한 맵 브라우저를 사용하였다.
- 1.1 멀티모달리티
멀티모달리티는 사람의 시선정보를 이용한 시선추적기와 손 모양을 인식하는 손동작 인식기가 이용되었다. 시선을 인식하기 위한 모듈은 Eye tech사의 VT2XL을 사용하였고, 손 모양을 인식하는 사용자 인터페이스(KGI)는 Microsoft사의 Kinect Xbox 360을 사용하였다. 그림 5 는 사용된 기기를 보여준다. 기기들로부터 획득한 모달리티 데이터를 MC로 보내주기 위하여 GTI는 시선추적 데이터를 화면의 좌표데이터와 현재 시간을 출력으로 보내주고 KGI는 손의 상태에 따른 출력을 전송한다. 손의 상태는 손동작 인식기에 손이 인식되는 경우의 시점부터 손의 상태에 대한 값을 출력으로 보내준다. 출력 정보는 손의 인식과 불인식 경우와 각 상태에 따른 현재시간을 전송한다. 그림 6 에서 (a), (b)는 KGI와 GTI의 상태창을 보여주며, (a)에서 우측의 메시지 박스는 KGI에 의한 손 인식 상태를 보여주며, Connect와 Disconnect 버튼을 통해 MC와 연결하거나 연결을 끊을 수 있다. GTI 또한 KGI와 같이 버튼을 통해 MC와 연결할 수 있으며, (b)의 아래 메시지 박스에는 추적된 시선의 좌표값을 초당 13개씩 보여준다.
PPT Slide
Lager Image
Eye tech VT2XL, Microsoft Xbox36 Fig. 5. Eye tech VT2XL, Microsoft Xbox36
PPT Slide
Lager Image
멀티모달 커뮤니케이터 (a) 손동작 인식기(KGI), (b) 시선 추적기(GTI), (c) MC(Modality Component), (d) IM(Interaction Manager) Fig. 6. Multimodal Communicator (a) KGI, (b) GTI, (c) MC(Modality Component), (d) IM(Interaction Manager)
- 1.2 Modality Component(MC)
MC는 상기의 모달리티의 출력을 W3C 표준에 맞추어 캡슐화를 시키고 IM과 통신을 위한 시스템이다. 그림 6 의(c)는 MC의 구동 소프트웨어를 보여준다. 그림에서 보이는 Connection B/W modality and MC는 복수의 모달리티와 연결하기 위한 MC의 IP 주소이며, 각각의 모달리티는 MC와 연결하기 위해 이 IP 주소를 이용한다. 라이프사이클은 MC와 IM의 연결 상태를 보여주며, MC와 IM이 연결될 경우 앞서 설명한 MMI의 라이프 사이클 이벤트가 구동된다. Messages from Modalities는 현재 각각의 모달리티에서 입력되는 정보를 통합하여 출력시켜 보여주고, 이 정보는 IM 유연적 작업 결정 부분에서 해석할 수 있다. 모달리티 부분은 현재의 각 모달리티에서 시간에 따라 어떠한 모달리티의 정보가 들어왔는지 확인할 수 있다.
- 1.3 Interaction Manager(IM)
IM은 MC로부터 받은 정보를 하나로 통합하여 PC가 수행할 Task를 결정하고, 이를 PC에 통보하는 과정을 수행한다. 그림 6 의 (d)는 IM의 구동 소프트웨어를 보여주며, Message from MC 는 MC에서 보내준 정보를 통합하여 출력시켜주는 부분이다. 이 정보는 다시 PC로 전송하여 사용자의 의도에 맞게 PC에서 수행된다. 라이프사이클은 MC와 마찬가지로 IM과 MC간의 통신상태를 보여준다.
- 1.4 Presentation Component(PC)
PC는 IM으로부터 온 정보를 사용자에게 전달하거나 사용자가 원하는 작업을 수행하도록 한다. 그림 7 의 PC 화면에 보이는 상태창은 네이버 맵 API를 이용하여 제작한 PC용 맵 브라우저이다.
PPT Slide
Lager Image
기본 클릭 기능 Fig. 7. Click Functiona
- 2. 시스템 동작
상기 설명한 멀티모달 커뮤니케이터를 이용하여 사용자가 PC의 맵 브라우저를 동작시키는 과정을 설명한다. 동작 과정은 시선과 제스처 2개의 모달리티를 이용하여 기본 클릭 기능 및 맵 브라우저의 확대, 축소, 이동, 사진보기 기능을 지원한다. 표 5 는 템 동작시 상기 설명한 FDET의 실제 예시를 보여준다. ID 값에 따라 0이면 internal save, 1이면 combine, 2면 bypass를 의미한다. Read_Write_Param는 FID에 따라서 IM의 내부 저장공간을 읽거나 쓸 때 사용하기 위한 정보이다. FID가 internal save인 경우에는 ID로 계산된 메모리 시작 위치와 FDET에서 정의한 저장할 데이터의 개수를 이용하여 MC부터 입력된 데이터를 저장한다. FID가 combine인 경우에는 두 가지 이상의 모달리티에서 전달된 정보들 혹은 하나의 모달리티에서 상이한 시간에 전달된 정보들을 조합하여 하나의 Task를 만들어내는 역할을 수행한다. Internal save의 예로는 MC로부터 ID가 0인 값이 전달된 때이다. 이때 FDET에 의해 FID 2인 function을 호출해야하므로 internal save 함수가 호출된다. 또한 Read_Write_Param이 2로 정의되어 있으므로 ID로 계산된 IM 내부 저장공간에 2개의 변수를 저장할 공간을 확보하고 MC로부터 전달된 2 개의 데이터를 저장한다. Combine의 예로는 MC로부터 ID가 1인 데이터를 전송받았을 경우이다. 이 때 IM의 내부 저장공간에 저장되어있는 x, y 시선좌표 값과 더불어 “click”이라는 Task가 PC로 전송한다. 이러한 정보는 EMMA 형식에 맞춘 XML로 생성하여 PC로 전달한다.
IM Flexible decision table의 실제 예 및 IM의 처리Table 5. An practical example of flexible decision table and processing of Integration Manager
PPT Slide
Lager Image
IM Flexible decision table의 실제 예 및 IM의 처리 Table 5. An practical example of flexible decision table and processing of Integration Manager
그림 7 은 시선 위치와 손의 움직임정보를 받아 클릭 기능을 수행하는 모습이다. PC 화면에서 사용자의 시선이 맵브라우저에 고정되고, 그림 8 처럼 손의 움직임이 인식된 후 사라질 때 클릭이벤트가 발생한다. 이와 같이 두 개의 모달리티를 조합하여 더 자연스러운 인터페이스를 사용자에게 제공할 수 있다.
PPT Slide
Lager Image
맵브라우저 확대, 축소 기능 Fig. 8. Map browser Zoom in, out Function
그림 8 은 확대, 축소 기능을 보여주며, 이 기능은 다음 2 가지 방법으로 구동할 수 있다. 우선 그림 9 에서 사용한 클릭 이벤트를 이용하여 모니터의 +, - 버튼을 이용하는 방법이다. 즉 사용자는 시선으로 +, - 버튼을 지정하고 한 손을 들었다 내림으로써 지도의 확대/축소를 명령할 수 있다. 다른방법은 사용자가 확대/축소를 원하는 지도의 위치를 약 1초간 응시한 이후에 두 손을 벌림 혹은 좁힘으로써 그 폭만큼 바로 확대, 축소하는 것이다. 두 손 사이의 거리계산은 IM에서 시간별로 두 손의 거리를 저장하고 약 1초의 시간 동안 두 손의 거리가 일정한 비율에 증가, 감소할 경우 수행한다. 이와 같이 시선으로 지도 위치를 지정하고 두 손을 벌리거나 좁힘으로써 지도의 확대 혹은 축소를 수행함으로써 복수의 모달리티를 이용하여 인간 친화적인 인터페이스를 실현하였다.
PPT Slide
Lager Image
맵브라우저 이동 기능 Fig. 9. Map browser Move Function
그림 9 는 지도의 이동 기능을 보여준다. 동작 과정은 그림 7 에서 사용한 클릭 이벤트를 이용하여 이동버튼을 누르면 맵 중간에 4 방향의 버튼이 출현한다. 움직이고자 하는 버튼에 시선을 두고 손의 움직임을 이용하여 이동을 수행한다. 그림 10 은 추가 부가정보 보기 기능을 보여준다. 동작과정은 그림 7 에서 사용한 클릭 이벤트와 같이 맵에 있는 사진(Mark)을 응시하고 손을 움직이면 추가 부가정보가 화면에 나타난다.
PPT Slide
Lager Image
맵브라우저 사진보기 기능 Fig. 10. Map browser Photo view Function
상기 동작과정은 인간의 시선추적과 손동작인식을 이용한 멀티 모달리티를 활용하였다. 현재의 보편적 인터페이스는 키보드나 마우스와 같은 기계적 입력 수단이 필요하고, 공간적으로 제한된 상황에서는 사용하기에 불편하다는 단점이 있다. 이와 달리 제안한 멀티모달 커뮤니케이터는 인간 친화적인 인터페이스를 지원함으로써 상기 단점을 극복할 수 있었으며, 단일 모달리티를 사용할 경우에 생기는 불정확성과 정보 전달의 오류를 복수의 모달리티를 사용함으로써 정확한 정보 전달과 다양한 명령을 수행할 수 있었다. 또한, 시스템을 용이하게 제어할 수 있는 편의를 사용자에게 제공할 수 있다. 또한 기존 MMI 표준은 상호작용을 위해 개략적인 구조만을 제시하고 있다. 이러한 표준은 넓은 확장성을 제공한다는 장점이 있는 반면, 다양한 모달리티를 어떻게 조합하여 사용할 것인가에 대한 구체성 부분이 취약하다. 이러한 단점을 극복하고자 본 논문에서는 멀티모달 커뮤니케이터에 IM의 FDET를 제안하였다. IM의 FDET를 활용하면 미리 정의된 복수 모달리티의 입력과 콘텐츠 소비 기기로의 출력을 다양하게 조합할 수 있을 뿐아니라 향후 출현할 새로운 기기를 활용한 조합을 위한 확장도 용이하다.
Ⅴ. 결 론
복수의 모달리티를 활용하면 더욱 인간 친화적인 인터페이스를 제공할 수 있다. 하지만, 모달리티를 개발하는 회사마다 다른 포맷을 제공하기 때문에 모달리티간의 정보형식과 입력 신호에 대한 해석이 상이하고 상호연동성에 문제가 생긴다. 따라서 본 논문에서는 W3C 표준에 기반한 멀티모달 커뮤니케이터를 제안하였다. 이는 복수의 모달리티를 상호 연동시키기 위한 프레임워크를 제시하며, 복수의 모달리티로부터 획득된 정보를 유연적으로 조합하기 위한 FDE를 포함한다. FDE는 복수의 모달리티로부터 입력된 데이터를 조합하여 사용자의 명령을 지원함으로써 정보 전달율을 증가시킬 수 있으며, 또한 사용자에게 복수의 모달리티 입력에 의해 수행되는 작업을 시스템에 고정화 시키지 않고 사용자가 유연하게 정의할 수 있다는 장점이 있다. 향후 제안 멀티모달 커퓨니케이터는 다수 모달리티에서의 추가 검증 및 다양한 서비스 시나리오의 확장 연구가 필요하며, 이는 서비스 및 콘텐츠의 양과 질의 향상뿐만 아니라 더 손쉽고 편리한 사용자 인터페이스를 제공할 수 있을 것이다.
BIO
박 대 민
- 2012년 2월 : 한밭대학교 멀티미디어공학과 학사 졸업
- 2013년 3월 ~ 현재 : 한밭대학교 멀티미디어공학과 석사 과정
- ORCID : http://orcid.org/0000-0003-1207-1589
- 주관심분야 : 비디오 부호화, 영상처리, 패턴 인식
권 대 혁
- 2012년 2월 : 한밭대학교 멀티미디어공학과 학사 졸업
- 2014년 2월 : 한밭대학교 멀티미디어공학과 석사 졸업
- 2014년 3월 ~ 현재 : 한밭대학교 멀티미디어공학과 박사과정
- ORCID: http://orcid.org/0000-0003-2771-1921
- 주관심분야 : 비디오 부호화, 영상처리, 패턴 인식
최 진 혁
- 2012년 2월 : 한밭대학교 멀티미디어공학과 학사 졸업
- 2013년 3월 ~ 현재 : 한밭대학교 멀티미디어공학과 석사과정
- ORCID: http://orcid.org/0000-0002-0221-8092
- 주관심분야 : 비디오 부호화, 영상처리, 패턴 인식
이 인 재
- 1999년 2월 : 성균관대학교 전자공학과 (공학사)
- 2001년 2월 : 성균관대학교 전기전자및컴퓨터공학부 (공학석사)
- 2001년 1월 ~ 현재 : 한국전자통신연구원 선임연구원
- ORCID: http://orcid.org/0000-0002-3088-0147
- 주관심분야 : 리치미디어, 영상처리, 컴퓨터비전, UI/UX
최 해 철
- 1997년 2월 : 경북대학교 전자공학과 학사
- 1999년 2월 : 한국과학기술원 전기및전자공학과 (공학석사)
- 2004년 8월 : 한국과학기술원 전기및전자공학과 (공학박사)
- 2004년 9월 ~ 2010년 2월 : 한국전자통신연구원(ETRI) 방송미디어연구부 선임연구원
- 2010년 3월 ~ 현재 : 한밭대학교 정보통신공학과 조교수
- ORCID: http://orcid.org/0000-0002-7594-0828
- 주관심분야 : 영상통신, 비디오 부호화, 패턴 인식
References
Lim J. , Park P. 2006 “Design of dataglove based multimodal interface for 3D object manipulation in virtual environment,” Journal of Human-Computer Interaction 2 (2)
Han G. , Baek A. , Choi H. 2014 “MPEG-U based Advanced User Interaction Interface System Using Hand Posture Recognition,” Journal of Broadcast Engineering 19 (1)    DOI : 10.5909/JBE.2014.19.1.83
Barnett J. , Akolkar R. , Auburn R-J. , Bodell M. , Burnett DC. , Carter J. , McGlashan S. , Lager T. , Helbing M. , Hosn R. , Raman T-V. , Reifenrath K. , Rosenthal N. 2012 “State chart XML (SCXML): state machine notation for control abstraction,” World Wide Web Consortium (W3C) http://www.w3.org/TR/scxml/
Glashan S. , Burnett D-C. , Carter J. , Danielsen P. , Ferrans J. , Hunt A. , Lucas B. , Porter B. , Rehor K. , Tryphonas S. 2012 “Voice Extensible Markup Language (VoiceXML 2.0),” World Wide Web Consortium(W3C) http://w3.org/TR/voicexml20/
Kopp S. , Krenn B. , Marsella S. , Marshall A. , Pelachaud C. , Pirker H. , Thorisson K-R. , Vilhjalmsson H. 2006 “Towards a common framework for multimodal generation: The behavior markup language,” Proc. International Conference on Intelligent Virtual Agent (IVAA) Marina del Rey, California
Heylen D. , Kopp S. , Marsella S. , Pelachaud C. , Vilhjalmsson H. 2008 “The next step towards a functional markup language,” Proc. Intelligent International Conference on Virtual Agents (IVAA) Tokyo
Scherer S. , Marsella S. , Stratou G. , Xu Y. , Morbini F. , Egan A. , Rizzo A. , Morency L-P. 2012 “Perception markup language: towards a standardized representation of perceived nonverbal behaviors,” Lecture Notes in Computer Science. Springer Berlin Heidelberg 455 - 463
Araki M. , Tachibana K. 2006 “Multimodal dialog description language for Rapid system development,” Proc. 7th SIGdial workshop on discourse and dialogue Sydney
Vertegaal R. 2003 “Attentive User Interfaces,” Communications of the ACM 46 (3) 33 -    DOI : 10.1145/636772.636794
Johnston M , Ehlen P. , Gibbon D. , Liu Z. 2008 “The Multimodal Presentation Dashboard,” Proc. the NAACL-HLT 2007 Workshop: Bridging the Gap: Academic and Industrial Research in Dialog Technologies
Michael B. , Michael J. , Sunil K. , Stephen P. , Keith W. 2003 “W3C Multimodal Interaction Framework,” W3C NOTE
Paolo B. , Daniel C. , Burnett C. Jerry , Dahl Deborah A. , McCobb Gerry , Dave R. 2009 “EMMA: Extensible MultiModal Annotation markup language,” W3C Recommendation