JP3902959B2 - Information processing apparatus, control method therefor, and program - Google Patents

Information processing apparatus, control method therefor, and program Download PDF

Info

Publication number
JP3902959B2
JP3902959B2 JP2002018938A JP2002018938A JP3902959B2 JP 3902959 B2 JP3902959 B2 JP 3902959B2 JP 2002018938 A JP2002018938 A JP 2002018938A JP 2002018938 A JP2002018938 A JP 2002018938A JP 3902959 B2 JP3902959 B2 JP 3902959B2
Authority
JP
Japan
Prior art keywords
description
modality
processing apparatus
information processing
input
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2002018938A
Other languages
Japanese (ja)
Other versions
JP2003216293A (en
Inventor
誠 廣田
哲夫 小坂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2002018938A priority Critical patent/JP3902959B2/en
Priority to US10/350,223 priority patent/US20030158898A1/en
Publication of JP2003216293A publication Critical patent/JP2003216293A/en
Application granted granted Critical
Publication of JP3902959B2 publication Critical patent/JP3902959B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数種類のモダリティを有し、マークアップ言語に基づいて該複数種類のモダリティを制御する情報処理装置、あるいはマークアップ言語に基づいて、制御対象機器の操作機器として動作する情報処理装置及びその制御方法、プログラムに関するものである。
【0002】
【従来の技術】
HTMLというマークアップ言語で記述されたコンテンツをブラウザを用いて閲覧するWebブラウジングは、いまや世界的に普及した技術である。HTMLは、コンテンツを表示するためのマークアップ言語である。HTMLは、フォームという仕組みを備えており、ボタンやテキストボックスといったGUI部品を備えることができる。これと、WebサーバのCGI(Common Gateway Interface)という機構により、単に閲覧するだけでなく、Webサーバにクライアント(ネットワークにおいてサーバの提供する機能やデータを利用するコンピュータ、およびソフトウェアを意味する。このクライアントとしては、例えば、ネットワークに接続されたコンピュータ、家庭用のパーソナルコンピュータ、およびコンピュータ上で動作するWebブラウザ、ビューワ等が該当する)から情報を送信し、この情報に基づいて、Webサーバが何らかのプログラムを実行し、結果をやはりHTMLの形でクライアントに返信するといったことが可能である。例えば、Webのサーチエンジンは一般にこの方法で実現で実現されている。
【0003】
この仕組みは、Webブラウジングだけでなく、機器制御にも応用可能である。即ち、制御対象機器にWebサーバを搭載し、クライアントである操作機器からのリクエストに対し、自身を制御するためのGUI部品からなるフォームを含んだHTMLファイルを操作機器に送信する。操作機器は、ブラウザでこのHTMLファイルを表示し、ユーザが操作機器上でGUIを操作する。操作機器は、その入力を制御対象機器(例えば、Webサーバ)に送信する。制御対象機器の中では、CGIの機構でこの入力が、制御プログラムに渡され、入力に応じた制御がなされる。
【0004】
一方、近年、PDAや携帯電話、カーナビなどの携帯端末のように、情報機器形態の多様化が進み、パーソナルコンピュータ(以下、PCと呼ぶ)以外のこうした機器からもインターネットに接続できるようになっている。これにともない、WML等のHTMLにかわるマークアップ言語が開発・標準化されている。また、音声認識・合成技術の発達、CTI技術の発達により、電話を介した音声対話によってWebにアクセスすることが可能になり、これにともなって、VoiceXMLなどのマークアップ言語が開発・標準化されている。このように、機器形態に適したマークアップ言語が開発・標準化されている。
【0005】
機器形態の多様化に加え、PCやPDAではGUI、電話機では音声とDTMFといった具合に、UIのモダリティも多様化している。こうした多様化するモダリティをうまく組み合わせて操作性を向上するマルチモーダルユーザインタフェースへの注目が高まっている。
【0006】
【発明が解決しようとする課題】
マルチモーダルユーザインタフェースの記述には、対話記述(ユーザからどんな入力を受け、どんな出力をするか、その入出力がどのような手順で進むかを示す記述)とモダリティ記述(どのようなUI部品を用いてその入出力を行うかを示す記述)が少なくとも必要である。
【0007】
対話記述は、一般に、ユーザ主導、システム主導、混合主導の3タイプに大きく分かれる。ユーザ主導は、ユーザが入出力の手順を選べるもので、例えば、フォームを埋めたり、ボタンを押したりするHTMLベースのWebブラウジングは、これに該当する。
【0008】
一方、システム主導は、システムが入出力手順を決め、ユーザはシステムの指示に従って入力を進めるタイプのものである。例えば、ウイザード形式のインストーラがこれに該当し、また、CTIシステムのようにシステムの音声案内に沿って音声入力したりDTMFによる入力する構成も、このシステム主導の例である。
【0009】
混合主導は、これらのユーザ主導及びシステム主導の双方を合わせたものである。例えば、VoiceXMLは、システム主導と混合主導の記述が可能なように設計されている。より汎用性の高いUI記述を実現するには、ユーザ主導、システム主導、混合主導のいずれかに縛られず、UI開発者が自由に対話戦略を記述できることが望ましいが、既存のHTML、WML、VoiceXMLなどのマークアップ言語では、いずれかのタイプの対話に偏っているという問題がある。
【0010】
モダリティ記述は、クライアントの形態に大きく依存する。PCのような汎用的な機器であれば、豊富なGUIを備え、最近では音声認識・合成技術の発展により、音声UIを備えるものもある。一方、携帯電話は、音声を使うのが最も適している。なぜなら、携帯電話は、小さな液晶画面で簡単なGUI部品をサポートしているものの、ポインティングデバイスもなく、必ずしもそのGUI部品を使いやすいとは言えないからである。また、機器制御を視野に入れると、操作機器としてリモコン(リモートコントローラ)がある。リモコンは、物理ボタンによる操作が一般的である。
【0011】
既存のマークアップ言語を見ると、HTMLは、基本的にGUIをモダリティとして想定している。また、VoiceXMLは音声とDTMFをモダリティとして想定している。いずれも、モダリティ依存なマークアップ言語であり、しかも、複数のモダリティを組み合わせるマルチモーダルユーザインタフェースには向いていない。
【0012】
このような対話記述とモダリティ記述の方法には2種類の方法がある。
【0013】
一つは、ある入力はGUIボタンで、ある出力は音声でといった具合に、対話記述の中にモダリティの入出力形態の記述を明示する方法である。もう一つは、対話記述とモダリティ記述を分離し、対話記述をモダリティ非依存な形で記述する方法である。
【0014】
後者の方法では、ある制御対象機器の操作手順である対話記述をモダリティ非依存な形で行い、これとは分離された形で、いろんなクライアントごとに、そのクライアントに合わせたモダリティ記述を行うことで、一つの制御対象機器をいろんなクライアントから操作できるようになる。対話記述とモダリティ記述を分離した記述が可能なマルチモーダルユーザインタフェースのマークアップ言語としては、CML(特開2001−154852)がある。
【0015】
CMLでは、対話記述自体はモダリティ独立な形で記述しており、モダリティ記述自体やその制御記述を行う枠組みはない。対話記述部分をHTML、WML、VoiceXMLなどの既存マークアップ言語に変換することでモダリティを生成する。あるいは、ブラウザがCMLを直接実行する場合は、ブラウザがその搭載機器のモダリティを既知のものとし、どのモダリティを対話記述内のどの入出力要素に対応づけるかはブラウザに任せる仕様になっている。
【0016】
この場合、UI開発者が、複数のモダリティをどのように組み合わせるかを記述できないため、マルチモーダルユーザインタフェースとしてのメリットを発揮できない。例えば、ボタンAを押しながら発声した場合とボタンBを押しながら発声した場合とで異なる動作をする、といった記述ができない。また、UI開発者がマークアップ言語の記述によってモダリティをカスタマイズしたり、制御したりすることができないという問題がある。例えば、周囲雑音が大きい時には音声入力モダリティはoffにするといった記述ができない。
【0017】
本発明は上記の課題を解決するためになされものであり、より汎用性が高く、かつ拡張が容易なモダリティの制御を実現できる情報処理装置及びその制御方法、プログラムを提供することを目的とする。
【0018】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、 メモリに記憶されるデータに基づいて、当該情報処理装置が実行する処理を制御する制御手段と、
当該情報処理装置が実行する処理の処理手順を示す対話記述と、前記対話記述と独立に分離して構成される当該情報処理装置のモダリティを示すモダリティ記述と、前記モダリティ記述と前記対話記述とを対応付けるバインド記述とを示す記述データを前記メモリに記憶する記憶手段と、
前記制御手段によって、前記メモリに記憶された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド手段と、
前記制御手段によって、当該情報処理装置を前記メモリに記憶された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド手段によって該入出力処理と対応付けられたモダリティとの間で受け渡す制御を実行する実行手段と
を備える。
【0019】
また、好ましくは、記対話記述は、入出力の処理単位である、1つもしくは複数の最小対話要素から構成され、前記最小対話要素は、0個もしくは1個の入力要素と0個もしくは1個以上の出力要素を含む。
【0020】
また、好ましくは、前記最小対話要素は、イベントに関するイベント情報の記述を含む。
【0021】
また、好ましくは、前記最小対話要素は、当該最小対話要素への入力に対するアクションに関するアクション情報の記述を含む。
【0022】
また、好ましくは、前記最小対話要素は、active/inactiveの2つのどちらかの状態を有し、かつ当該最小対話要素は、前記アクション情報として、自身または別の最小対話要素をactivate/deactivateする記述を含む。
【0023】
また、好ましくは、前記出力要素は、その出力内容を示す記述を含む。
【0024】
また、好ましくは、前記モダリティ記述は、前記モダリティのクラスの定義、継承、クラス間の階層関係、前記クラスのインスタンスの定義を示す各記述の内の少なくともいずれかを含む。
【0025】
また、好ましくは、前記モダリティ記述中の各モダリティは、active/inactiveの2つのどちらかの状態を有する。
【0026】
また、好ましくは、前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の入力要素に結び付けるための記述であり、かつ1つの入力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む。
【0027】
また、好ましくは、前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の出力要素に結び付けるための記述であり、かつ1つの出力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む。
【0028】
また、好ましくは、前記バインド記述は、モダリティと出力要素への結び付けを示す記述であるバインド要素中にその出力内容を示す記述と、出力要素に結び付けられたモダリティごとにその出力内容を示す記述の少なくとも一方を含み、前記バインド要素中に記述された出力内容は、その結び付けの対象である出力要素中に記述された出力内容より優先し、また、前記バインド要素中でモダリティごとに記述された出力内容は、該バインド要素中に記述された出力内容より優先する。
【0029】
また、好ましくは、前記バインド記述の各バインド要素は、結び付けの対象であるモダリティをactivate/deactivateする記述を含む。
【0030】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、 メモリに記憶されるデータに基づいて、当該情報処理装置が実行する処理を制御する制御手段と、
前記制御対象機器が実行する処理の処理手順を示す対話記述と独立に分離して構成される、当該情報処理装置のモダリティを示すモダリティ記述及び前記モダリティ記述と前記対話記述とを対応付けるバインド記述を示す記述データを前記メモリに記憶する記憶手段と、
前記制御手段によって、前記メモリに記憶された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド手段と、
前記制御手段によって、前記制御対象機器を前記メモリに記憶された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド手段によって該入出力処理と対応付けられたモダリティとの間で受け渡す制御を実行する実行手段と
を備える。
【0031】
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
複数種類のモダリティを有する情報処理装置を制御する制御方法であって、
当該情報処理装置の処理手順を示す対話記述と、前記対話記述と独立に分離して構成される当該情報処理装置のモダリティを示すモダリティ記述と、前記モダリティ記述と前記対話記述とを対応付けるバインド記述とを示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程と、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程と、
前記制御部によって、当該情報処理装置を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程と
を備える。
【0032】
制御対象機器の操作機器として動作する情報処理装置の制御方法であって、
前記制御対象機器の処理手順を示す対話記述と独立に分離して構成される、当該情報処理装置のモダリティを示すモダリティ記述及び前記モダリティ記述と前記対話記述とを対応付けるバインド記述を示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程と、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程と、
前記制御部によって、前記制御対象機器を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程と
を備える。
【0033】
複数種類のモダリティを有する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
当該情報処理装置の処理手順を示す対話記述と、前記対話記述と独立に分離して構成される当該情報処理装置のモダリティを示すモダリティ記述と、前記モダリティ記述と前記対話記述とを対応付けるバインド記述とを示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程のプログラムコードと、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程のプログラムコードと、
前記制御部によって、当該情報処理装置を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程のプログラムコードと
を備える。
【0034】
制御対象機器の操作機器として動作する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
前記制御対象機器の処理手順を示す対話記述と独立に分離して構成される、当該情報処理装置のモダリティを示すモダリティ記述及び前記モダリティ記述と前記対話記述とを対応付けるバインド記述を示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程のプログラムコードと、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程のプログラムコードと、
前記制御部によって、前記制御対象機器を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程のプログラムコードと
を備える。
【0035】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
情報処理装置が有する複数種類のモダリティの制御をコンピュータに機能させるためのプログラムであって、
前記情報処理装置の対話の内容を示す対話記述からなるプログラムコードと、
前記対話記述と独立に分離して構成される、前記情報処理装置のモダリティを示すモダリティ記述からなるプログラムコードと、
前記モダリティ記述と前記対話記述とを結び付けるバインド記述からなるプログラムコードとを備え、
前記各プログラムコードは、互いに独立に分離して構成される。
【0036】
【発明の実施の形態】
以下、図面を参照して本発明の好適な一実施形態を詳細に説明する。
[実施形態1]
まず、本発明の特徴であるマルチモーダルユーザインタフェースマークアップ言語(以下、MMMLと記述する)の仕様例を説明する。特に、ここでは、コピー機のUIを実現する場合を例に挙げて説明する。
【0037】
3層構造
本発明では、図1に示すように、デバイスに依存するモダリティ記述とUIロジックである対話記述を分離して記述する。特に、モダリティ記述(タグ<modality>〜</modality>で括られる部分)を示すモダリティ層401、対話記述(タグ<dialog>〜</dialog>で括られる部分)を示す対話層403に加え、モダリティと対話を結び付ける記述(タグ<Binds>〜</Binds>で括られる部分)を示すバインド層402の3層構造をとる。
【0038】
このように、モダリティ記述を分離することによって、一つの対話記述(UIロジック)をモダリティの異なる複数の機器で共有することが可能になる。この3層構造の具体例が図1である。
【0039】
図1では、コピー機の操作を示すコピー機モダリティ記述(Copier modalities)、具体的には、コピー機の物理ボタンやLCD上のGUI等による操作に関する記述に加え、携帯電話からでも操作可能にする記述(Mobile phone modalities)の構造を示している。この例のように、コピー機対話記述(Copier Dialog)を1つ構成すれば、機器依存なモダリティ層とバインド層を機器ごとに記述するだけで、さまざまな機器からの操作が可能となる。
【0040】
モダリティのクラスとインスタンス
MMMLにおけるモダリティ層の記述において、各モダリティ、即ち、UI部品を表す語彙を、MMMLの定義語としてすべて事前定義するのは困難であり、また拡張性に欠ける。そこで、一般的に用いられると予想される何種類かのUI部品のクラスをMMML共通語彙として定義し、このクラスを継承することで新規クラスを定義できるようにする。さらに、こうしたクラスのインスタンスの形で、実際のUI記述で用いるUI部品を定義できるようにする。クラスの定義、継承、クラス間の階層関係、インスタンスの定義をXMLで記述する方法として、実施形態1では、RDFスキーマを用いる。RDFスキーマは、Webの標準化団体であるW3C(http://www.w3c.org参照)で標準化されているマークアップ言語(http://www.w3.org/TR/rdf-schema/参照)である。
【0041】
汎用モダリティクラスのスキーマ
一般的に用いられると予想される何種類かGUI部品クラスをMMMLの語彙として、RDFスキーマの形で定義する。このRDFスキーマ(汎用モダリティスキーマ)を図式的に表現した例を、図2に示す。図2のように、RDFスキーマを用いて、UI部品のクラスを階層的に定義できる。例えば、「Button」はサブクラスとして「Physical Button」と「GUI Button」が定義できる。前者は、例えば、コピー機のボタンのようなもの、後者は、例えば、液晶パネルに表示されるボタンである。また、このRDFスキーマのXML表現は、図20A〜図20Eのようになる。
【0042】
操作機器(クライアント)のモダリティスキーマ
MMML共通語彙として定義された一般的なUI部品クラスをベースに、操作機器依存のUI部品クラスやインスタンスを定義するスキーマを記述する。即ち、このモダリティスキーマは、その操作機器において、どのようなモダリティが利用可能かを記述するものであり、その操作機器のメーカが提供することを想定している。例えば、図3のコピー機のUI部品(LCD、物理ボタン、音声入力、音声出力等)に対応するモダリティスキーマの図式例は図4のようになる。また、このモダリティスキーマのXML表現は、図21A及び図21Bのようになる。
【0043】
UI開発者によるモダリティの拡張
図4の汎用モダリティスキーマ(Generic Modalities Schema)に対するコピー機モダリティスキーマ(Copier Modalities Schema)において、細枠のボックスはクラス、太枠のボックスはインスタンスを表す。この図において、「StartButton」や「ResetButton」、「10Key-1」…「10Key-0」は、それぞれコピー機のスタートボタン、リセットボタン、テンキーなどの物理ボタンを意味し、汎用モダリティスキーマ(図2)で定義された物理ボタンクラス「PhysicalButton」のインスタンスとして定義されている。コピー機のUIの開発者は、これらの語彙を直接用いてUIを記述する。
【0044】
一方、「CopierGUIButton」などは、GUIのボタンを表すクラスであり、インスタンスではない。即ち、「GUIのボタンが利用可能」であることを述べているだけであり、具体的にどのようなGUIボタンを配備するかはUI開発者に委ねられている。UI開発者は、機器メーカから提供されたこのような機器のモダリティスキーマを利用して、GUIボタンのインスタンスを定義することで、自由にGUIを構成することができる。例えば、コピー機モダリティスキーマ(Copier Modalities Schema)に対し、UI開発者が新規に定義するモダリティスキーマ(Author-defined Copier Modalities)の図式例は図5のようになる。また、このモダリティスキーマのXML表現は、図22A〜図22Dのようになる。
【0045】
Target 」の概念
汎用モダリティスキーマにおいて、「Target」というクラスを定義する。また、「Target」のサブクラスとして、ディスプレイを表す「Display」やGUIウインドウを表す「Window」といったクラスを定義する。「Target」は、GUI部品等の主にビジュアルなUI部品の「存在場所」となるものである。各モダリティのXML記述において、「target」タグによって、そのモダリティの「存在場所」を記述することができる。
【0046】
例えば、コピー機のLCD上のGUIにおいて、「用紙選択モードボタン」を初期画面上に、「A4ボタン」「B5ボタン」などを「用紙選択サブウインドウ」に配置する場合、「用紙選択モードボタン」の「target」を「LCD」に、「A4ボタン」、「B5ボタン」の「target」を「CopierWindow」にする。「CopierWindow」自体の「target」は「LCD」となる。実際の表示に関しては、XSLやCSS2に任せる。各部品の表示位置は、「target」で指示された「Target」に対する相対位置とする。
【0047】
対話層
これは、具体的な対話記述を行う層であり、モダリティから独立した記述が可能である。MMML記述において、対話層は、タグ<dialog>〜</dialog>の内側に記述する。対話の最小単位はfield(最小対話単位)である。fieldはinput、outputという入出力要素と、filledという要素を持つ。
【0048】
input、outputはそれぞれ、どのような情報を入出力するかを記述するタグであり、属性として、IDを持つ。このIDは、分離して記述されたモダリティとの結び付け(binding)を記述する際に用いられる。これについては、後述する。
【0049】
inputに対応する入力(ユーザの操作)があった場合、直後に記述されたfilledの中身が実行される。各fieldはactive/inactiveの2つのいずれかの状態をとる。更に、自分自身あるいは他のfieldをactivate/deactivateとすることができる。fieldのactivate/deactivateを記述することで、対話の状態遷移を制御することができる。VoiceXMLの場合はシステム主導が基本のため、一つの入力動作が行われるごとに自動的に次に進む。即ち、activeなfieldが順次移動する。
【0050】
これに対し、この対話記述では、各fieldのactive/inactiveの状態は明示的にactivate/deactivateしないかぎり変化することはない。明示的なactivate/deactivateを行うには、filledタグ中のactivateタグやdeactivateタグにより指定する。以下、各節でfield及びfieldが持つ各要素(fieldタグの内部に記述するタグ)の役割を詳説する。
【0051】
field の役割
fieldは、UIの対話における入出力の最小単位(最小対話単位)を表し、そこで受け付けたい入力の種類、その入力に対する動作、あるいは出力したい内容が記述される。入力の種類はinputタグ、入力に対する動作はfilledタグで表される。出力は、outputタグで表される。activeなfieldのみが入出力可能となる。VoiceXMLのfieldのように入力が終了しても、次のfieldに進んだりはしない。「次のfieldに進む」という記述は、次のfieldをactivateし、自分自身をdeactivateすることを明示的に記述することで実現される。
【0052】
Input 要素
属するfieldで受け付けたい入力の種類を記述する。入力の種類はtype属性に記述する。また、属性値としては、以下のようなものをMMMLの共通語彙として事前定義する。
【0053】
「selectMe」
これは、入力があったという事実を受け付けるタイプの入力である。「ボタン」や音声などのモダリティをバインドできる。
【0054】
「selectOne」
これは、選択肢の中から一つを選択するタイプの入力である。例えば、ラジオボタンやプルダウンメニューなどが典型的なモダリティである。selectOneタイプのinputは、選択肢をitemタグによって記述する。各itemに「ボタン」などのモダリティをバインドすることも可能である。
【0055】
「selectMany」
これは、選択肢の中から複数を選択するタイプの入力である。例えば、コンボボックス(ComboBox)などが典型的なモダリティである。selectOneタイプと同様、選択肢をitemタグで記述する。
【0056】
「TextString」
文字列の入力を受け付けるタイプの入力である。例えば、GUIのテキストボックスや音声入力が典型的なモダリティである。
【0057】
Output 要素
属するfieldでの出力を記述する。出力内容は、contentタグで記述することができる。
【0058】
filled 要素
各fieldにおける入力に対するアクション(アクション情報)を記述する。アクションの種類はさまざまである。activate/deactivateタグによって、自分自身あるいは他のfieldを明示的にactive/inactiveにすること、スクリプト記述あるいは何らかの記述方法で、UI以外の内部プログラムとインタラクションする(例えば、「コピースタート」の入力を受けて、実際にコピーを行う処理プログラムを起動するなど)ことなどが、典型的なアクションである。また、入力に対して応答を行うような場合に、outputタグをfilledの中に記述することもできる。
【0059】
fields の役割
fieldをグループ化する。一般にUIロジックは、状態がいくつかのグループにわかれ、グループ単位でactive/inactiveになるといったケースが多いため、fieldsで適当なグループ化をしておくと便利である(例えば、コピー機の初期画面とそれぞれの設定モード)、fieldsがactivate/deactivateされると、これに属する各fieldはすべてactive/inactiveになる。
【0060】
コピー機の対話層例
コピー機UIの対話層の記述例を図6に、そのXML表現を図23A〜図23Cに示す。
【0061】
この例では、コピーの実行(CopyStart)、用紙選択(PaperSize)、片面・両面(PrintSides)指定を行うUIを記述している。この例において、モダリティ記述、即ち、ボタンで入力するのか、音声で入力するのか、あるいは、テキストで表示するのか、音声で通知するのか等の具体的にどんなUI部品を使用するのかについては、一切記述していない(モダリティ独立である)ことに注意されたい。
【0062】
バインド層
モダリティ独立な対話記述ではモダリティが排除されるため、モダリティと対話記述の関連付けを行う必要がある。バインド層はその関連付けを記述する層であり、モダリティ層で定義された各モダリティと、対話層中の各入出力要素とを結び付ける。対応付けの記述は、対応付けるモダリティのID、入出力要素のIDを、URI(Uniform Resource Identifier)で参照する形で行う。バインド層は、タグ<Binds>〜</Binds>の内側に記述する。各バインド要素は、タグ<Binds>〜</Binds>の内側に記述する。対話層の1つの入出力要素に複数のモダリティをバインドすることで、複数モダリティの選択利用や協調利用を用いたマルチモーダルUIを記述することができる。バインド層では、次のようなモダリティ管理に関する記述が可能である。
【0063】
・複数モダリティの組み合わせ方の記述
・出力内容の記述
・モダリティのactivate/deactivateの記述
複数モダリティの組み合わせ方の記述
複数のモダリティを1つの入出力要素にバインドする場合、選択利用や協調利用など、モダリティの組み合わせ方を指示できる。組み合わせ方の指示は、BindType属性で記述する。BindType属性の属性値としては、以下のようなものをMMMLの共通語彙として事前定義する。
【0064】
「Alt」
入出力要素にバインドされた複数のモダリティのいずれか一つが利用可能である。複数モダリティの優先順位は記述された順とする。例えば、コピー機で「A4かB5か」の用紙選択を行う入力要素に、ラジオボタンのモダリティと音声入力のモダリティを「Alt」属性でバインドした場合、これは、ラジオボタンによる選択もしくは音声入力のどちらでも用紙選択ができることを意味する。
【0065】
「Seq」
入出力要素にバインドされた複数のモダリティを順に適用する。例えば、「ボタンAを押した後、発声する」といった入力に対応する。
【0066】
「Coordinated」
入出力要素にバインドされた複数のモダリティを協調させる。例えば、「東京からここまで」と発声しながら、表示された地図上の「大阪」をポインティングデバイスで指示する、といった入力に対応する。どのような協調動作になるかはMMMLを実行するブラウザの仕様に依存するものとし、本発明では規定しない。
【0067】
出力内容の記述
対話層の出力要素をバインドするバインド要素中に、その出力内容を記述することができる。出力内容は、タグ<Binds>〜</Binds>ののすぐ内側に書いてもよいし、バインドする各モダリティ記述の内側に書いてもよい。このようにすることで、モダリティに応じたより適切な出力内容を記述することができる。
【0068】
例えば、音声合成モダリティに対しては、「コピーが完了しました」というメッセージを出力内容にし、報知音再生モダリティに対しては、「ピッ」という音を鳴らすオーディオファイルのファイル名を与えるといった記述ができる。前述の通り、出力内容は、対話層の出力要素内(タグ<output>〜</output>の内側)にも記述可能である。これらの優先順位は、
バインド要素中のモダリティ記述の内側 > バインド要素のすぐ内側 > 対話層の出力要素の内側
となっている。
【0069】
モダリティの activate deactivate の記述
バインドされた各モダリティをactivate/deactivate(有効化/無効化)することが可能である。例えば、周囲雑音が大きい場合に、音声入力モダリティをdeactivateするといった記述が可能である。activate/deactivateは、それぞれ、<activate modality="..."/>タグや<deactivate modality="..."/>タグで記述する。
【0070】
コピー機UIのバインド層記述例
コピー機UIのバインド層記述例を以下の図7〜図9に示す。また、そのXML表現を図24A〜図24Dに示す。
【0071】
次に、以上のような仕様のマークアップ言語に従って動作する機器として、コピー機を例に挙げて説明する。
【0072】
図10は本発明の実施形態1のコピー機の機能構成図である。
【0073】
同図において、101は入出力管理部であり、データ入出力、音声入出力を管理する。102はGUI制御部であり、ユーザからの操作に応じてGUIを制御する。103は音声認識部であり、入力された音声を認識する。104は音声合成部であり、音声出力対象のデータを音声合成する。
【0074】
105はモダリティ管理部であり、マークアップ言語のモダリティ層の記述に従って動作し、モダリティ(UI部品)の管理を行う。
【0075】
106はモダリティ制御部であり、マークアップ言語のバインド層の記述に従って動作し、バインドされたモダリティのactivate/deactivateなどの制御、モダリティを介した入力を対話層の対応する入力要素へ渡す処理、対話層の出力要素に応じて、出力内容をバインドされたモダリティに渡し、これを介した出力を行う。
【0076】
107は対話実行部であり、マークアップ言語の対話層の記述に従って動作し、対話の状態遷移(fieldのactivate/deactivate)や、機器制御に関する指示等のアクションの実行を行う。108は機器制御部であり、対話実行部107から機器制御に関する指示があれば、これを実行する(例えば、「コピーをとる」という指示に従ってコピーを実行する)。
【0077】
このように、モダリティ制御部106は、モダリティ管理部105と対話実行部107間に関する処理の各種制御を行う。
【0078】
109はマルチモーダルユーザインタフェース(MMUI)マークアップ言語である。
【0079】
図11は本発明の実施形態1のコピー機のハードウエア構成を示す構成図である。
【0080】
同図において、201はCPUであり、後述するフローチャートを実現するプログラムに従って動作する。203はRAMであり、上記プログラムの動作に必要な記憶領域や作業領域、データ一時退避領域を提供する。202はROMであり、後述するフローチャートを実現するプログラムや各種データを保持する。204はディスク装置であり、MMUIマークアップ言語109を保持する。
【0081】
205は液晶表示装置(LCD)であり、GUI制御部102によって生成されるアイコンなどのGUI部品を表示する。206はマイクであり、音声認識部103に対する音声入力を行なう。207は物理ボタンであり、上述した図3のスタートボタン、リセットボタン、テンキーなどである。208はスピーカであり、音声合成部104による合成音を出力する。209はバスであり、上記各構成要素を相互に接続する。
【0082】
次に、本発明の実施形態1のコピー機で実行される処理について、図12を用いて説明する。
【0083】
図12は本発明の実施形態1のコピー機で実行される処理を示すフローチャートである。
【0084】
まず、ステップS101で、対話管理部107は、MMUIマークアップ言語109を参照して、機器に対する初期化処理を行う。
【0085】
次に、ステップS102で、モダリティ管理部105は、MMUIマークアップ言語109中のモダリティ層を参照して、入出力管理部101/モダリティ制御部106からの入力に基づいて、モダリティ層で記述されている各種モダリティの状態管理等の処理を実行する。
【0086】
次に、ステップS103で、モダリティ制御部106は、MMUIマークアップ言語109中のバインド層を参照し、モダリティ管理部105/対話実行部107からの入力に基づいて、モダリティとそれに対応する入出力要素間の情報の授受やモダリティのactivate/deactivate等の処理を実行する。
【0087】
次に、ステップS104で、対話実行部107は、MMUIマークアップ言語109中の対話層を参照し、モダリティ制御部106/機器制御部108からの入力に基づいて、モダリティからの入力の受け付け、モダリティへの出力の指示、イベントの受け付け、対話の状態遷移、入力やイベントに対するアクション等の処理を実行する。
【0088】
次に、ステップS105で、機器制御部108は、対話実行部107からの入力に基づいて、機器制御を実行する。
【0089】
尚、図12では、ステップS101〜ステップS105の処理は、特に、入出力管理部101からの入力によって、最終的に機器制御部108で何らかの処理が実行される例を説明することになるが、各ステップの処理内容によって、この逆の処理、つまり、ステップS105〜ステップS101の処理が実行されたり、上記の各ステップが相互に連携して、ステップの順序が前後したり、省略されたりされることに注意されたい。
【0090】
次に、図10のコピー機の具体的な動作例について説明する。ここでは、図5をモダリティ層(図22A〜図22D)、図6を対話層(図23A〜図23C)、図7〜図9をバインド層(図24A〜図24D)とするマークアップ言語に従う動作例について説明する。
【0091】
まず、対話実行部107は、MMUIマークアップ言語109を参照し、図23A〜図23Cのタグ<initial>〜</initial>に記述された初期化処理を実行する。ここでは、「CopierTop」というfieldsのみをactiveにする。この場合、「CopierTop」fieldsに含まれるfieldだけがactive、即ち、入出力可能な状態になり、それ以外のfieldはインタラクションの対象にはならない。
【0092】
これに応じて、モダリティ制御部106は、「CopierTop」fieldsに含まれる各field内の入出力要素にバインドされたモダリティだけをactiveにして、それ以外をinactiveにする。
【0093】
即ち、図7に示されたモダリティだけがactiveになり、それぞれに対応する音声入出力やGUIボタンの押下可能状態になる。一方、図8や図9に示されたモダリティはinactiveになり、対応するGUIボタンは押下不可状態になる。尚、GUIボタンの押下可能状態と押下不可状態は、それぞれの状態が区別されるように異なる表示形態(例えば、押下不可状態はグレー表示、点滅表示等)でGUI上に表示される。図7では、スタートボタンおよび音声入力モダリティが、選択利用モードで、対話層の「CopyStart」fieldの入力要素にバインドされている。
【0094】
従って、スタートボタンが押されるか、あるいはそれに対応する音声入力があれば、この入力要素が入力を受け付け、対話実行部107は、対応するfilled要素に記述された処理を実行する。
【0095】
図7の例では、output要素で何らかの出力を実行した後、機器制御部108に対してコピーを実行する指示を出す。ここでは、output要素自体には、何を出力するかは記述されておらず、バインド要素内に「コピーします」と記述されている。これは、音声合成モダリティにバインドされているので、「コピーします」と合成音で発声することになる。また、このfilled要素には、fieldのactivate/deactivateの記述はないので、各fieldのactive/inactiveの状態変化は起こらず、同じく図7に示されたfieldやモダリティのみがactiveになっている。
【0096】
図7では、用紙サイズ選択モードに入るGUIボタンおよび音声入力モダリティが、選択利用モードで、対話層の「IsPaperSizeMode」fieldの入力要素にバインドされている。従って、このGUIボタンが押されるか、あるいはそれに対応する音声入力があれば、この入力要素が入力を受け付け、対話実行部107は、対応するfilled要素に記述された処理を実行する。filledには、「SelectPaperSizeMode」fieldsをactivateするように記述されているので、このfields内の各fieldがactiveになる。
【0097】
これに応じて、モダリティ制御部106が、これらのfieldの入出力要素にバインドされたモダリティ、即ち、図8に示されたモダリティをactivateするため、例えば、GUIボタンの「ButtonA4」が押下可能になるなどする。
【0098】
以上のような手順で、マークアップ言語に従ったマルチモーダルなユーザインタフェースが実現される。
【0099】
以上説明したように、実施形態1によれば、機器に係る処理をマークアップ言語に基づいて実現する環境において、特に、このマークアップ言語に、
機器の対話記述
機器のモダリティ記述
その対話記述とモダリティ記述を結び付けるバインド記述
を構成する。
【0100】
そして、機器には、マークアップ言語中のモダリティ記述の内容に従って、各モダリティを用いた入出力管理を行うモダリティ管理部と、マークアップ記述言語中のバインド層の記述に従って、各モダリティと結び付けられた入出力要素との間の情報の受け渡しを行うモダリティ制御部、マークアップ言語中の対話記述の内容に従って、モダリティ管理部が管理している各モダリティからの入力の受け付け、各モダリティへの出力の指示を実行する対話実行部を構成する。
【0101】
これにより、機器の各種モダリティの効果的な組み合わせを自由にマークアップ言語で記述できるため、よりユーザビリティの高いマルチモーダルユーザインタフェースを実現することができる。
[実施形態2]
実施形態1では、コピー機の操作をコピー機自身のモダリティを介して行う例について説明した。しかしながら、コピー機とは別のPCや携帯電話などを制御対象機器の操作機器として利用可能にすることもできる。実施形態2では、携帯電話からコピー機を操作するためのマークアップ言語の編集方法とその動作について説明する。
【0102】
まず、図13を参照して、マークアップ言語がどのように編集されるかを説明する。
【0103】
図13は本発明の実施形態2の情報処理システムの構成を示す図である。
【0104】
まず、コピー機自身には、図5〜図9で説明される構成からなるマークアップ言語がすでにインストールされており、コピー機自身のモダリティを介して操作できるのは前述のとおりである。コピー機がどのような入力に対してどのような動作を実行し、どのような出力をするか、どのように対話状態が遷移するかは、コピー機自身の機能であり、コピー機はあくまで図6の対話層の記述に従って動作する。
【0105】
このコピー機を別の機器から操作できるようなマークアップ言語の開発は、その操作機器自体のモダリティ層、およびこのモダリティ層とコピー機自身の対話層をバインドするバインド層を記述することとなる。こうした開発が可能となるように、コピー機メーカは、自社のコピー機メーカ端末1201上で提供するWebサイトなどで、コピー機の対話層を公開する。
【0106】
一方、操作機器とする携帯電話のモダリティ層は、携帯電話固有のものであるので、携帯電話機器メーカがモダリティ層を記述するのが自然である。携帯電話機器メーカは、自社の携帯電話メーカ端末1202上で提供するWebサイトなどで、携帯電話のモダリティ層を公開する。携帯電話のモダリティ層のマークアップ言語記述例を図25に示す。この例では、「0」ボタン(Button0)を定義した例を示している。
【0107】
この携帯電話からコピー機を操作するMMUIを記述するマークアップ言語を開発するUI開発者は、公開されている携帯電話のモダリティ層、コピー機の対話層を参照し、両者をバインドするバインド層を記述する。このバインド層のマークアップ言語記述例を図26に示す。この例は、携帯電話の「0」ボタンを「コピースタート」入力要素にバインドすることを表している。
【0108】
UI開発者は、開発したこのマークアップ言語(バインド層)を、自身のUI開発者端末1204上で提供するWebサイトで公開する。
【0109】
ユーザは、公開されたこのマークアップ言語(バインド層)を自分の携帯電話1205にダウンロードする。
【0110】
このように、本発明のマークアップ言語は、一人のUI開発者がすべてを記述するのではなく、モダリティ層はその操作機器のメーカが、対話層は制御対象機器のメーカが開発し、両者を結び付けようとするUI開発者がバインド層を記述する、といった分業を可能にする。
【0111】
これは、本発明のマークアップ言語が、前述の3層構造からなることによるメリットである。この構成によれば、携帯電話とコピー機の組み合わせに限らず、任意の機器同士を操作機器、制御対象機器とするようなマークアップ言語の開発を容易にできる。例えば、携帯電話のモダリティ層と、エアコンメーカが公開しているエアコンの対話層をバインドするバインド層を開発すれば、携帯電話からエアコンを操作できるようになる。
【0112】
次に、図14を参照して、実施形態2におけるコピー機と携帯電話の動作を説明する。図14中の各構成要素の動作は、基本的に実施形態1で説明した図10の各構成要素の動作と同じであるので、ここでは、コピー機と携帯電話の間のやりとりについて説明する。
【0113】
尚、図14において、コピー機1301の機器制御部1301及び対話実行部1303は、図10の機器制御部108及び対話実行部107に対応する。また、携帯電話1307の入出力管理部1308、音声認識部1310、音声合成部1311、モダリティ管理部1312及びモダリティ制御部1313は、図10の入出力管理部101、音声認識部103、音声合成部104、モダリティ管理部105及びモダリティ制御部106に対応する。更に、図14のMMUIマークアップ言語1306及び1315は、図10のMMUIマークアップ言語109に対応する。加えて、DTMF管理部1309は、携帯電話1307のDTMF管理を行う。通信部1305及び1314は、ネットワーク1315を介して相互に通信を行う。
【0114】
まず、携帯電話1307からコピー機1301に対して操作リクエストを通信部1314を介して送信することで、携帯電話1307とコピー機1301の対話が開始される。コピー機1301の対話実行部1303は、対話層の記述に従って動作する。対話実行部1303は、対話層で記述される各ステップにおいて、今どのfieldがactiveかという情報および、もし出力動作があれば、その出力要素のIDを、通信部1305を介して携帯電話1307に送信する。
【0115】
この送信情報の例を図15に示す。この例は、<ActiveList>〜</ActiveList>に列挙された入力要素が現在activeであり、さらに、「CopyStart_Message」という出力要素に対応した出力を行う旨を表している。
【0116】
携帯電話1307は、この送信情報を通信部1314を介して受信する。モダリティ制御部1313は、その送信情報とMMUIマークアップ言語1315に基づいて、「CopyStart_Message」にバインドされたモダリティを介して出力を行う(例えば、「コピーします」と合成音声で通知する)とともに、<ActiveList>〜</ActiveList>に列挙された入力要素にバインドされたモダリティをactiveにして、それ以外のモダリティをinactiveにする。また、ユーザから携帯電話1307への入力があった場合は、そのモダリティにバインドされた入力要素のIDとその入力内容を携帯電話1307からコピー機1301に送信する。
【0117】
この送信情報の例を図16に示す。この例は、<InputList>〜</InputList>に列挙された入力要素への入力があったことをコピー機1301に通知することを意味している。以上のようにして、携帯電話1307を操作機器としてコピー機を操作することが可能になる。
【0118】
以上説明したように、実施形態2によれば、操作機器及び制御対象機器に係る処理をマークアップ言語に基づいて実現する環境において、特に、このマークアップ言語に、
制御対象機器の対話記述
操作機器のモダリティ記述
その対話記述とモダリティ記述を結び付けるバインド記述
を構成する。
【0119】
そして、操作機器には、マークアップ言語中のモダリティ記述の内容に従って、各モダリティを用いた入出力管理を行うモダリティ管理部と、マークアップ記述言語中のバインド層の記述に従って、各モダリティと結び付けられた入出力要素との間の情報の受け渡しを行うモダリティ制御部を構成する。また、制御対象機器には、マークアップ言語中の対話記述の内容に従って、モダリティ管理部が管理している各モダリティからの入力の受け付け、各モダリティへの出力の指示を実行する対話実行部を構成する。
【0120】
これにより、任意の機器(例えば、PDA、リモコン等)を自動的に、任意の機器(ファクシミリ、プリンタ、スキャナ等のOA機器、電気ポット、冷蔵庫、テレビ等の家電品)を制御対象機器とする操作機器として構成することができる。また、その操作機器をマルチモーダルユーザインタフェースを備えた操作機器として構成することができる。
[実施形態3]
実施形態2では、操作機器(携帯電話)と制御対象機器(コピー機)が別の場合、対話層が制御対象機器側だけにある例を説明した。実施形態3では、操作機器側に制御対象機器の対話層とは別に、操作機器固有の対話層を記述できる例について説明する。
【0121】
例えば、図17のようなリモコンからエアコンを操作するUIをマークアップ言語で記述する場合を考える。エアコンの対話層の中に、風量を「微風」、「普通」、「強風」から選択するfieldが定義されていて、このfieldの入力要素(「selectOne」タイプ)に適当なモダリティをバインドするとする。
【0122】
操作機器が、十分な種類のGUI部品を備えている場合は、例えば、ラジオボタンやプルダウンメニューをこの入力要素にバインドすればいい。しかし、リモコンのボタンA1602をバインドする場合、ボタンA1602を繰り返し押すことで風量を切り替えるように記述するしかない。しかし、ボタン押下の意味、即ち、対応する風量が押すたびに変わるので、単純にバインドすることはできない。
【0123】
このような場合に、本発明のマークアップ言語は、制御対象(実施形態3では、エアコン)の対話層とは別に、操作機器(実施形態3では、リモコン)固有の対話層を記述することができる。本例の場合のリモコン固有のリモコン対話層と、エアコン対話層へのバインドの図式例を図18に示す。この例は、ボタンA1602というモダリティが、エアコンの対話層の風量設定入力要素と同時に、リモコン固有の対話層の入力要素にバインドされている。後者の入力要素を持つfieldのfilled要素の中に入力値を切り替える記述をすることで、ボタンAを押すたびに、エアコンの対話層の風量設定入力要素へ入力する値を切り替えることができる。また、図18の構成のXML表現は、図27A及び図27Bのようになる。
[実施形態4]
上記実施形態では、ユーザの操作(入出力)だけを扱っていた。しかし、機器制御を考える場合、イベントの処理も重要な要素となる。本発明のマークアップ言語は、イベントの受け付け、イベント処理やイベントの種類等のイベントに関する情報(イベント情報)の記述も可能であり、ここではその実施形態について説明する。イベントの受け付けは、対話層のfieldタグの内側のcatchタグによって記述する。
【0124】

Figure 0003902959
上記例の「CopyComplete」のようなイベント名は、機器に応じて事前に定義され、MMMLのブラウザは、これらの語彙を知っているものとする。
【0125】
イベントは、操作機器(クライアント)に関するイベントと制御対象(サーバー)に関するイベントに分けて考える必要がある。例えば、コピー機をPCからネットワーク経由で操作するケースを考える。この場合、「コピーが完了した」というイベントは、制御対象であるコピー機に関するイベントであり、コピー機の対話層に記述すべきものである。
【0126】
一方、PCの「サウンドデバイスがoffされた」というイベントは、操作機器であるPCの中で閉じたイベントであり、コピー機の対話層には無関係なイベントである。このような場合、PCの中で閉じたイベントの記述は、コピー機の対話層とは別のPC固有の対話層を構成し、その中にイベントをキャッチするfieldを設ければよい。図19に、イベント情報を含む記述例を示す。
[実施形態5]
上記実施形態1では、上述の各機器で実行される動作を実現するプログラムをROMに保持する場合について説明したが、これに限定されるものではなく、任意の記憶媒体を用いて実現してもよい。また、同様の動作を実現する回路で実現してもよい。
【0127】
以上、実施形態例を詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0128】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0129】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0130】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0131】
プログラムを供給するための記録媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM、DVD−R)などがある。
【0132】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0133】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0134】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0135】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【0136】
【発明の効果】
以上説明したように、本発明によれば、より汎用性が高く、かつ拡張が容易なモダリティの制御を実現できる情報処理装置及びその制御方法、プログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の実施形態1のマークアップ言語の構造を示す図である。
【図2】本発明の実施形態1の汎用モダリティのスキーマ記述を図式化した図である。
【図3】本発明の実施形態1のコピー機のUIの構成例を示す図である。
【図4】本発明の実施形態1のコピー機のモダリティのスキーマ記述を図式化した図である。
【図5】本発明の実施形態1のUI開発者によるコピー機のモダリティのスキーマ記述を図式化した図である。
【図6】本発明の実施形態1のコピー機の対話層を図式化した図である。
【図7】本発明の実施形態1のバインド層の記述の一部を図式化した図である。
【図8】本発明の実施形態1のバインド層の記述の一部を図式化した図である。
【図9】本発明の実施形態1のバインド層の記述の一部を図式化した図である。
【図10】本発明の実施形態1のコピー機の機能構成図である。
【図11】本発明の実施形態1のコピー機のハードウエア構成を示す構成図である。
【図12】本発明の実施形態1のコピー機で実行される処理を示すフローチャートエである。
【図13】本発明の実施形態2の情報処理システムの構成図である。
【図14】本発明の実施形態2の情報処理システムの機能構成図である。
【図15】本発明の実施形態2のコピー機から携帯電話に送信する情報例を示す図である。
【図16】本発明の実施形態2の携帯電話からコピー機に送信する情報例を示す図である。
【図17】本発明の実施形態3のエアコンを操作するリモコンの例を示す図である。
【図18】本発明の実施形態3の操作機器固有の対話層を図式化した図である。
【図19】本発明の実施形態4のイベント情報の記述を図式化した図である。
【図20A】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図20B】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図20C】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図20D】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図20E】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図21A】本発明の実施形態1のコピー機のモダリティスキーマのXML表現例を示す図である。
【図21B】本発明の実施形態1のコピー機のモダリティスキーマのXML表現例を示す図である。
【図22A】本発明の実施形態1のUI開発者が新規定義するコピー機の対話層のXML表現例を示す図である。
【図22B】本発明の実施形態1のUI開発者が新規定義するコピー機の対話層のXML表現例を示す図である。
【図22C】本発明の実施形態1のUI開発者が新規定義するコピー機の対話層のXML表現例を示す図である。
【図22D】本発明の実施形態1のUI開発者が新規定義するコピー機の対話層のXML表現例を示す図である。
【図23A】本発明の実施形態1のコピー機の対話層のXML表現例を示す図である。
【図23B】本発明の実施形態1のコピー機の対話層のXML表現例を示す図である。
【図23C】本発明の実施形態1のコピー機の対話層のXML表現例を示す図である。
【図24A】本発明の実施形態1のコピー機のバインド層のXML表現例を示す図である。
【図24B】本発明の実施形態1のコピー機のバインド層のXML表現例を示す図である。
【図24C】本発明の実施形態1のコピー機のバインド層のXML表現例を示す図である。
【図24D】本発明の実施形態1のコピー機のバインド層のXML表現例を示す図である。
【図25】本発明の実施形態2の携帯電話のモダリティスキーマのXML表現例を示す図である。
【図26】本発明の実施形態2の携帯電話のモダリティとコピー機の対話記述の入出力要素をバインドするバインド層のXML表現例を示す図である。
【図27A】本発明の実施形態3の操作機器固有の対話層のXML表現例を示す図である。
【図27B】本発明の実施形態3の操作機器固有の対話層のXML表現例を示す図である。
【符号の説明】
101 入出力管理部
102 GUI制御部
103 音声認識部
104 音声合成部
105 モダリティ管理部
106 モダリティ制御部
107 対話実行部
108 機器制御部
109 MMUIマークアップ言語[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing apparatus that has a plurality of types of modalities and controls the plurality of types of modalities based on a markup language, or an information processing apparatus that operates as an operation device for a control target device based on a markup language And its control method and program.
[0002]
[Prior art]
Web browsing for browsing content written in a markup language called HTML using a browser is now a technology that has become popular worldwide. HTML is a markup language for displaying content. HTML has a mechanism called a form, and can have GUI parts such as buttons and text boxes. With this and a mechanism called CGI (Common Gateway Interface) of the Web server, it means not only browsing but also a client (a computer and software using functions and data provided by the server in the network. This client. For example, a computer connected to a network, a home personal computer, and a Web browser or viewer operating on the computer). Can be executed, and the result can also be returned to the client in the form of HTML. For example, a Web search engine is generally realized by this method.
[0003]
This mechanism can be applied not only to Web browsing but also to device control. That is, a Web server is mounted on the control target device, and an HTML file including a form including a GUI component for controlling itself is transmitted to the operation device in response to a request from the operation device as a client. The operating device displays this HTML file on the browser, and the user operates the GUI on the operating device. The operating device transmits the input to a control target device (for example, a Web server). In the device to be controlled, this input is transferred to the control program by the CGI mechanism, and control according to the input is performed.
[0004]
On the other hand, in recent years, the form of information devices has been diversified, such as PDAs, mobile phones, car navigation systems and other portable terminals, and it has become possible to connect to the Internet from such devices other than personal computers (hereinafter referred to as PCs). Yes. Along with this, markup languages replacing HTML such as WML have been developed and standardized. In addition, with the development of speech recognition / synthesis technology and the development of CTI technology, it becomes possible to access the Web by voice conversation via the telephone. With this, markup languages such as VoiceXML have been developed and standardized. Yes. Thus, a markup language suitable for a device form has been developed and standardized.
[0005]
In addition to diversification of device forms, UI modalities are diversified, such as GUIs for PCs and PDAs, and voice and DTMF for telephones. There is a growing interest in multimodal user interfaces that combine these diversified modalities to improve operability.
[0006]
[Problems to be solved by the invention]
The description of the multi-modal user interface includes a dialog description (description showing what input is received from the user, what output is made, and in what procedure the input / output proceeds) and a modality description (what UI components are included). At least a description indicating whether to use that input / output).
[0007]
Dialog description is generally divided into three types: user-driven, system-driven, and mixed-driven. The user initiative allows the user to select an input / output procedure. For example, HTML-based Web browsing in which a form is filled or a button is pressed corresponds to this.
[0008]
On the other hand, the system initiative is a type in which the system determines input / output procedures, and the user proceeds with input according to instructions from the system. For example, a wizard-type installer corresponds to this, and a configuration in which voice input is performed along the voice guidance of the system or input by DTMF as in the CTI system is an example of this system initiative.
[0009]
Mixed initiative is a combination of both user initiative and system initiative. For example, VoiceXML is designed to allow system-driven and mixed-driven descriptions. In order to realize a more versatile UI description, it is desirable that UI developers can freely describe dialog strategies without being restricted by user-driven, system-driven, or mixed-driven, but existing HTML, WML, VoiceXML In such markup languages, there is a problem that it is biased toward either type of dialogue.
[0010]
The modality description is highly dependent on the client configuration. A general-purpose device such as a PC has abundant GUIs, and recently, some have a speech UI due to the development of speech recognition / synthesis technology. On the other hand, it is best to use voice for mobile phones. This is because a mobile phone supports a simple GUI component on a small liquid crystal screen, but does not have a pointing device and cannot always be said to be easy to use. In view of device control, there is a remote controller as an operation device. The remote control is generally operated by physical buttons.
[0011]
Looking at existing markup languages, HTML basically assumes GUI as a modality. VoiceXML assumes voice and DTMF as modalities. Both are modality-dependent markup languages and are not suitable for multimodal user interfaces that combine multiple modalities.
[0012]
There are two kinds of methods for such dialog description and modality description.
[0013]
One is a method of clearly describing the modality input / output form in the dialog description, such as a certain input is a GUI button and a certain output is a voice. The other is a method of separating the dialog description and the modality description and describing the dialog description in a modality-independent manner.
[0014]
In the latter method, a dialog description, which is an operation procedure of a device to be controlled, is performed in a modality-independent manner, and in a form separated from this, for each client, a modality description adapted to the client is performed. , It becomes possible to operate one control target device from various clients. There is CML (Japanese Patent Laid-Open No. 2001-154852) as a markup language of a multimodal user interface capable of separately describing dialog description and modality description.
[0015]
In CML, the dialog description itself is described in a modality independent form, and there is no framework for performing the modality description itself and its control description. A modality is generated by converting the dialog description part into an existing markup language such as HTML, WML, VoiceXML or the like. Alternatively, when the browser directly executes CML, the browser is assumed to have a known modality of the mounted device, and the specification is left to the browser which modality is associated with which input / output element in the dialog description.
[0016]
In this case, since a UI developer cannot describe how to combine a plurality of modalities, the advantage as a multimodal user interface cannot be exhibited. For example, it cannot be described that the operation is different between when the button A is pressed and when the button B is pressed and when the button B is pressed. In addition, there is a problem that the UI developer cannot customize or control the modality by describing the markup language. For example, it cannot be described that the voice input modality is turned off when the ambient noise is large.
[0017]
The present invention has been made to solve the above-described problems, and an object thereof is to provide an information processing apparatus, a control method thereof, and a program that can realize modality control that is more versatile and easy to expand. .
[0018]
[Means for Solving the Problems]
  In order to achieve the above object, an information processing apparatus according to the present invention comprises the following arrangement. That is, a control unit that controls processing executed by the information processing device based on data stored in the memory;
  A dialog description indicating a processing procedure of the process executed by the information processing apparatus, a modality description indicating a modality of the information processing apparatus configured separately from the dialog description, the modality description, and the dialog description. Storage means for storing description data indicating a binding description to be associated in the memory;
  Binding means for associating the input / output process included in the processing procedure indicated in the dialog description in the description data stored in the memory by the control means with the modality included in the modality description according to the bind description;
  When the control unit controls the information processing apparatus based on the dialog description in the description data stored in the memory, the data required by the input / output process corresponds to the input / output process by the bind unit. Execution means for executing control to and from the attached modality;
  Is provided.
[0019]
Preferably, the written description is composed of one or a plurality of minimum dialog elements which are input / output processing units, and the minimum dialog elements include zero or one input element and zero or one. The above output elements are included.
[0020]
Preferably, the minimum interaction element includes a description of event information related to the event.
[0021]
Preferably, the minimum interaction element includes a description of action information regarding an action for an input to the minimum interaction element.
[0022]
Preferably, the minimum interaction element has one of two states of active / inactive, and the minimum interaction element is a description for activating / deactivating itself or another minimum interaction element as the action information. including.
[0023]
Preferably, the output element includes a description indicating the output content.
[0024]
Preferably, the modality description includes at least one of definitions indicating class definition of the modality, inheritance, a hierarchical relationship between classes, and definitions of instances of the class.
[0025]
Preferably, each modality in the modality description has one of two states of active / inactive.
[0026]
Preferably, the binding description is a description for binding one or more modalities to one or more input elements, and when binding a plurality of modalities to one input element, Includes a description of how to combine modalities.
[0027]
Preferably, the binding description is a description for binding one or more modalities to one or more output elements, and when binding a plurality of modalities to one output element, Includes a description of how to combine modalities.
[0028]
Preferably, the bind description includes a description indicating the output contents in a bind element which is a description indicating a connection between the modality and the output element, and a description indicating the output contents for each modality linked to the output element. The output content described in the bind element including at least one has priority over the output content described in the output element that is the target of the binding, and the output described for each modality in the bind element The content takes precedence over the output content described in the bind element.
[0029]
Preferably, each binding element of the binding description includes a description for activating / deactivating a modality that is a binding target.
[0030]
  In order to achieve the above object, an information processing apparatus according to the present invention comprises the following arrangement. That is, a control unit that controls processing executed by the information processing device based on data stored in the memory;
  The modality description indicating the modality of the information processing apparatus and the bind description that associates the modality description with the dialog description, which are configured separately from the dialog description indicating the processing procedure of the process executed by the control target device. Storage means for storing descriptive data in the memory;
  Binding means for associating the input / output process included in the processing procedure indicated in the dialog description in the description data stored in the memory by the control means with the modality included in the modality description according to the bind description;
  When the control unit controls the control target device based on the dialog description in the description data stored in the memory, the data required by the input / output process corresponds to the input / output process by the bind unit. Execution means for executing control to and from the attached modality;
  Is provided.
[0031]
  In order to achieve the above object, a method for controlling an information processing apparatus according to the present invention comprises the following arrangement. That is,
  A control method for controlling an information processing apparatus having a plurality of types of modalities,
  A dialog description indicating a processing procedure of the information processing apparatus; a modality description indicating a modality of the information processing apparatus configured separately from the dialog description; and a bind description that associates the modality description with the dialog description. A reading step of reading the description data from a memory storing the description data by a control unit that controls processing executed by the information processing apparatus;
  A binding step of associating the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory by the control unit with the modality included in the modality description according to the bind description;
  When the control unit controls the information processing apparatus based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the bind step. A control process for controlling the transfer to and from the associated modality;
  Is provided.
[0032]
  A method of controlling an information processing apparatus that operates as an operation device of a control target device,
  Stores description data indicating the modality description indicating the modality of the information processing apparatus and the binding description for associating the modality description and the dialog description, which are configured separately from the dialog description indicating the processing procedure of the control target device. Reading out the description data from the memory to be read by a control unit that controls processing executed by the information processing apparatus;
  A binding step of associating the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory by the control unit with the modality included in the modality description according to the bind description;
  When the control unit controls the control target device based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the binding step. A control process for controlling the transfer to and from the associated modality;
  Is provided.
[0033]
  Control of information processing equipment with multiple modalities in a computerfunctionA program for
  A dialog description indicating a processing procedure of the information processing apparatus; a modality description indicating a modality of the information processing apparatus configured separately from the dialog description; and a bind description that associates the modality description with the dialog description. A program code for a reading process of reading the description data from a memory storing the description data by a control unit that controls processing executed by the information processing apparatus;
  A program of a binding step in which the control unit associates the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory with the modality included in the modality description according to the bind description. Code,
  When the control unit controls the information processing apparatus based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the bind step. Program code of a control process that controls to pass to and from the associated modality;
  Is provided.
[0034]
  A program for causing a computer to control the control of an information processing device that operates as an operation device of a control target device,
  Stores description data indicating the modality description indicating the modality of the information processing apparatus and the binding description for associating the modality description and the dialog description, which are configured separately from the dialog description indicating the processing procedure of the control target device. Reading the program data from the memory by the control unit that controls the processing executed by the information processing apparatus;
  A program of a binding step in which the control unit associates the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory with the modality included in the modality description according to the bind description. Code,
  When the control unit controls the control target device based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the binding step. Program code of a control process that controls to pass to and from the associated modality;
  Is provided.
[0035]
In order to achieve the above object, a program according to the present invention comprises the following arrangement. That is,
A program for causing a computer to control a plurality of types of modalities possessed by an information processing apparatus,
A program code comprising a dialog description indicating the content of the dialog of the information processing apparatus;
A program code comprising a modality description indicating a modality of the information processing apparatus, which is configured separately from the dialog description;
Program code comprising a bind description that links the modality description and the dialog description;
Each of the program codes is configured separately from each other.
[0036]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the drawings.
[Embodiment 1]
First, a specification example of a multimodal user interface markup language (hereinafter referred to as MMML), which is a feature of the present invention, will be described. In particular, here, a case where a UI of a copier is realized will be described as an example.
[0037]
Three-layer structure
In the present invention, as shown in FIG. 1, a modality description depending on a device and a dialog description which is UI logic are described separately. In particular, in addition to a modality layer 401 indicating a modality description (portion enclosed by tags <modality> to </ modality>), an interaction layer 403 indicating an interaction description (portion enclosed by tags <dialog> to </ dialog>), It has a three-layer structure of a bind layer 402 that indicates a description (portion enclosed by tags <Binds> to </ Binds>) that links a modality and a dialogue.
[0038]
Thus, by separating the modality description, it is possible to share one dialog description (UI logic) among a plurality of devices having different modalities. A specific example of this three-layer structure is shown in FIG.
[0039]
In FIG. 1, a copy machine modality description (Copier modalities) showing the operation of the copy machine, specifically, a description about an operation by a physical button of the copy machine, a GUI on the LCD, etc., and also enabling operation from a mobile phone. The structure of the description (Mobile phone modalities) is shown. As shown in this example, if one copier dialogue description (Copier Dialog) is configured, it is possible to perform operations from various devices only by describing a device-dependent modality layer and a bind layer for each device.
[0040]
Modality classes and instances
In the description of the modality layer in MMML, it is difficult to predefine all vocabularies representing modalities, that is, UI parts, as MMML definition words, and lack of extensibility. Therefore, several types of UI component classes that are expected to be generally used are defined as MMML common vocabulary, and a new class can be defined by inheriting this class. Furthermore, UI parts used in actual UI descriptions can be defined in the form of instances of such classes. In the first embodiment, an RDF schema is used as a method for describing class definition, inheritance, hierarchical relationships between classes, and instance definitions in XML. The RDF schema is a markup language (see http://www.w3.org/TR/rdf-schema/) that is standardized by the W3C (see http://www.w3c.org), a Web standards organization. It is.
[0041]
Generic modality class schema
Several types of GUI component classes that are expected to be commonly used are defined as MMML vocabulary in the form of an RDF schema. An example in which this RDF schema (general-purpose modality schema) is schematically represented is shown in FIG. As shown in FIG. 2, UI component classes can be hierarchically defined using the RDF schema. For example, “Button” can define “Physical Button” and “GUI Button” as subclasses. The former is, for example, a button of a copier, and the latter is, for example, a button displayed on a liquid crystal panel. Also, the XML representation of this RDF schema is as shown in FIGS. 20A to 20E.
[0042]
Modality schema of operation device (client)
Based on a general UI part class defined as an MMML common vocabulary, a schema that defines a UI part class and an instance dependent on an operation device is described. That is, this modality schema describes what modalities can be used in the operating device, and is assumed to be provided by the manufacturer of the operating device. For example, FIG. 4 shows a schematic example of the modality schema corresponding to the UI parts (LCD, physical buttons, voice input, voice output, etc.) of the copier in FIG. The XML representation of this modality schema is as shown in FIGS. 21A and 21B.
[0043]
Modality extension by UI developers
In the copier modality schema for the generic modality schema shown in FIG. 4, a thin box represents a class, and a thick box represents an instance. In this figure, "StartButton", "ResetButton", "10Key-1" ... "10Key-0" mean physical buttons such as a copy machine start button, reset button, and numeric keypad, respectively. ) Is defined as an instance of the physical button class “PhysicalButton”. Copier UI developers use these vocabularies directly to describe the UI.
[0044]
On the other hand, “CopierGUIButton” is a class representing a GUI button, not an instance. In other words, it only describes that “GUI buttons are available”, and it is left to the UI developer to determine what kind of GUI buttons to deploy. A UI developer can freely configure a GUI by defining an instance of a GUI button using such a device modality schema provided by a device manufacturer. For example, a schematic example of a modality schema (Author-defined Copier Modalities) newly defined by a UI developer with respect to a copier modality schema (Copier Modalities Schema) is shown in FIG. Also, the XML representation of this modality schema is as shown in FIGS. 22A to 22D.
[0045]
" Target Concept
Define a class called “Target” in the general-purpose modality schema. In addition, classes such as “Display” representing a display and “Window” representing a GUI window are defined as subclasses of “Target”. “Target” is an “existing place” of mainly visual UI parts such as GUI parts. In the XML description of each modality, the “location” of the modality can be described by the “target” tag.
[0046]
For example, in the GUI on the LCD of the copier, when the “paper selection mode button” is arranged on the initial screen and the “A4 button”, “B5 button”, etc. are arranged in the “paper selection subwindow”, the “paper selection mode button” Set “target” to “LCD” and “target” of “A4 button” and “B5 button” to “CopierWindow”. The “target” of “CopierWindow” itself is “LCD”. The actual display is left to XSL or CSS2. The display position of each component is a relative position with respect to “Target” indicated by “target”.
[0047]
Dialogue layer
This is a layer for performing a specific dialog description, and a description independent of the modality is possible. In the MMML description, the dialog layer is described inside tags <dialog> to </ dialog>. The minimum unit of interaction is field (minimum interaction unit). The field has input / output elements such as input and output and an element called filled.
[0048]
Each of input and output is a tag that describes what information is input / output, and has an ID as an attribute. This ID is used when describing the binding with the modality described separately. This will be described later.
[0049]
When there is an input (user operation) corresponding to input, the filled contents described immediately after that are executed. Each field takes one of two states, active / inactive. In addition, you can activate / deactivate yourself or another field. By describing the activate / deactivate of the field, the state transition of the dialog can be controlled. In the case of VoiceXML, system-driven is basic, so the process proceeds automatically every time one input operation is performed. That is, active fields move sequentially.
[0050]
On the other hand, in this dialog description, the active / inactive state of each field does not change unless it is explicitly activated / deactivated. To explicitly activate / deactivate, specify with the activate tag or deactivate tag in the filled tag. Hereinafter, the role of each element (tag described inside the field tag) of field and field will be described in detail in each section.
[0051]
field Role
The field represents the minimum unit of input / output (minimum dialog unit) in the UI dialog, and describes the type of input to be received, the operation for the input, or the content to be output. The input type is represented by an input tag, and the operation for the input is represented by a filled tag. The output is represented by an output tag. Only active fields can be input / output. Even if the input is completed as in the VoiceXML field, it does not advance to the next field. The description “go to the next field” is realized by explicitly describing the act of activating the next field and deactivating itself.
[0052]
Input element
Describe the type of input you want to accept in the field to which it belongs. The type of input is described in the type attribute. As attribute values, the following are pre-defined as MMML common vocabulary.
[0053]
"SelectMe"
This is a type of input that accepts the fact that there was an input. Modality such as “button” and voice can be bound.
[0054]
"SelectOne"
This is a type of input for selecting one of the options. For example, radio buttons and pull-down menus are typical modalities. The selectOne type input describes an option with an item tag. It is also possible to bind modalities such as “buttons” to each item.
[0055]
"SelectMany"
This is a type of input for selecting a plurality of options. For example, a combo box (ComboBox) is a typical modality. Like the selectOne type, the option is described with the item tag.
[0056]
"TextString"
This type of input accepts input of character strings. For example, GUI text boxes and voice input are typical modalities.
[0057]
Output element
Describes the output in the field to which it belongs. The output contents can be described with the content tag.
[0058]
filled element
Describes the action (action information) for the input in each field. There are various types of actions. Use the activate / deactivate tag to explicitly activate / inactivate itself or other fields, interact with internal programs other than the UI by scripting or some other description method (for example, receiving “copy start” input) In other words, a typical action is to start a processing program that actually performs copying. Moreover, when responding to an input, an output tag can be described in filled.
[0059]
fields Role
Group fields. In general, the UI logic is often divided into several groups and becomes active / inactive in units of groups. Therefore, it is convenient to appropriately group fields (for example, the initial screen of a copier). When the fields are activated / deactivated, all the fields belonging to the fields become active / inactive.
[0060]
Example of a copier dialogue layer
FIG. 6 shows a description example of the interaction layer of the copy machine UI, and FIGS. 23A to 23C show XML representations thereof.
[0061]
In this example, a UI for executing copy (CopyStart), paper selection (PaperSize), and single-sided / double-sided (PrintSides) is described. In this example, modality description, that is, what kind of UI parts to use, such as whether to input with buttons, input with voice, display with text, notify with voice, etc. Note that it is not described (modality independent).
[0062]
Bind layer
Since the modality-independent dialog description eliminates the modality, it is necessary to associate the modality with the dialog description. The binding layer is a layer that describes the association, and binds each modality defined in the modality layer to each input / output element in the interaction layer. The description of the association is performed by referring to the ID of the modality to be associated and the ID of the input / output element with a URI (Uniform Resource Identifier). The bind layer is described inside the tags <Binds> to </ Binds>. Each bind element is described inside tags <Binds> to </ Binds>. By binding a plurality of modalities to one input / output element of the interactive layer, it is possible to describe a multimodal UI using the selective use of multiple modalities and the cooperative use. In the bind layer, the following description about modality management is possible.
[0063]
・ Description of how to combine multiple modalities
・ Description of output contents
-Description of the activate / deactivate of the modality
Description of how to combine multiple modalities
When binding a plurality of modalities to one input / output element, it is possible to instruct how to combine modalities such as selective use and cooperative use. The combination instruction is described by the BindType attribute. As attribute values of the BindType attribute, the following are predefined as MMML common vocabulary.
[0064]
"Alt"
Any one of a plurality of modalities bound to input / output elements can be used. The priority of multiple modalities shall be in the order described. For example, when the radio button modality and the voice input modality are bound with the “Alt” attribute to the input element for selecting “A4 or B5” on the copier, this is the case of selection by radio button or voice input. Either means that the paper can be selected.
[0065]
"Seq"
Apply multiple modalities bound to input / output elements in order. For example, it corresponds to an input such as “speak after pressing button A”.
[0066]
"Coordinated"
Coordinate multiple modalities bound to input / output elements. For example, it corresponds to an input of pointing “Osaka” on the displayed map with a pointing device while saying “From Tokyo to here”. The type of cooperative operation depends on the specifications of the browser that executes MMML, and is not defined in the present invention.
[0067]
Description of output contents
The output content can be described in the bind element that binds the output element of the interaction layer. The output contents may be written immediately inside the tags <Binds> to </ Binds>, or may be written inside each modality description to be bound. In this way, more appropriate output contents according to the modality can be described.
[0068]
For example, for a speech synthesis modality, a description is given that the message “Copy completed” is output, and for the notification sound playback modality, the file name of an audio file that sounds a “beep” is given. it can. As described above, the output content can also be described in the output element of the dialog layer (inside the tags <output> to </ output>). These priorities are
Inside modality description in bind element> Just inside bind element> Inside output element of dialog layer
It has become.
[0069]
Modality activate / deactivate Description of
It is possible to activate / deactivate each bound modality. For example, it is possible to describe that the voice input modality is deactivated when the ambient noise is large. activate / deactivate is described by <activate modality = "..." /> tag and <deactivate modality = "..." /> tag, respectively.
[0070]
Copier UI bind layer description example
Examples of the binding layer description of the copy machine UI are shown in FIGS. The XML expressions are shown in FIGS. 24A to 24D.
[0071]
Next, a copy machine will be described as an example of a device that operates in accordance with the markup language having the above specifications.
[0072]
FIG. 10 is a functional configuration diagram of the copier according to the first embodiment of the present invention.
[0073]
In the figure, reference numeral 101 denotes an input / output management unit which manages data input / output and voice input / output. Reference numeral 102 denotes a GUI control unit that controls the GUI according to an operation from the user. Reference numeral 103 denotes a voice recognition unit that recognizes an input voice. A voice synthesis unit 104 synthesizes voice output target data.
[0074]
A modality management unit 105 operates according to the description of the modality layer of the markup language, and manages modalities (UI parts).
[0075]
A modality control unit 106 operates according to the description of the bind layer of the markup language, controls the activation / deactivate of the bound modality, the process of passing the input via the modality to the corresponding input element of the dialog layer, the dialog Depending on the output element of the layer, the output content is passed to the bound modality and output is performed through this.
[0076]
A dialog execution unit 107 operates according to the description of the markup language dialog layer, and executes actions such as dialog state transition (activate / deactivate field) and instructions related to device control. Reference numeral 108 denotes a device control unit, which executes an instruction related to device control from the dialog execution unit 107 (for example, executes copy in accordance with an instruction “copy”).
[0077]
As described above, the modality control unit 106 performs various types of control regarding processing between the modality management unit 105 and the dialogue execution unit 107.
[0078]
109 is a multi-modal user interface (MMUI) markup language.
[0079]
FIG. 11 is a block diagram showing the hardware configuration of the copier according to the first embodiment of the present invention.
[0080]
In the figure, reference numeral 201 denotes a CPU, which operates according to a program for realizing a flowchart to be described later. A RAM 203 provides a storage area, a work area, and a data temporary save area necessary for the operation of the program. Reference numeral 202 denotes a ROM which holds programs and various data for realizing a flowchart described later. A disk device 204 holds an MMUI markup language 109.
[0081]
Reference numeral 205 denotes a liquid crystal display (LCD), which displays GUI components such as icons generated by the GUI control unit 102. Reference numeral 206 denotes a microphone that performs voice input to the voice recognition unit 103. Reference numeral 207 denotes a physical button, such as the start button, reset button, or numeric keypad shown in FIG. Reference numeral 208 denotes a speaker, which outputs a synthesized sound from the speech synthesizer 104. Reference numeral 209 denotes a bus which interconnects the above-described components.
[0082]
Next, processing executed by the copier according to the first embodiment of the present invention will be described with reference to FIG.
[0083]
FIG. 12 is a flowchart showing processing executed by the copier according to the first embodiment of the present invention.
[0084]
First, in step S <b> 101, the dialogue management unit 107 refers to the MMUI markup language 109 and performs initialization processing on the device.
[0085]
Next, in step S102, the modality management unit 105 refers to the modality layer in the MMUI markup language 109 and is described in the modality layer based on the input from the input / output management unit 101 / modality control unit 106. Processes such as status management of various modalities are executed.
[0086]
Next, in step S103, the modality control unit 106 refers to the bind layer in the MMUI markup language 109, and based on the input from the modality management unit 105 / dialog execution unit 107, the modality and the input / output element corresponding thereto. Executes processes such as exchange of information and activate / deactivate modalities.
[0087]
Next, in step S104, the dialog execution unit 107 refers to the dialog layer in the MMUI markup language 109, receives input from the modality based on the input from the modality control unit 106 / device control unit 108, modality Processing such as instruction to output to, reception of event, state transition of dialogue, action for input and event, etc. are executed.
[0088]
Next, in step S <b> 105, the device control unit 108 executes device control based on the input from the dialogue execution unit 107.
[0089]
Note that FIG. 12 illustrates an example in which the processing from step S101 to step S105 is finally executed by the device control unit 108 by an input from the input / output management unit 101. Depending on the processing content of each step, the reverse processing, that is, the processing of step S105 to step S101 is executed, or the above steps are linked to each other, and the order of the steps is changed or omitted. Please note that.
[0090]
Next, a specific operation example of the copier shown in FIG. 10 will be described. Here, according to a markup language in which FIG. 5 is a modality layer (FIGS. 22A to 22D), FIG. 6 is an interaction layer (FIGS. 23A to 23C), and FIGS. 7 to 9 are bind layers (FIGS. 24A to 24D). An operation example will be described.
[0091]
First, the dialog execution unit 107 refers to the MMUI markup language 109 and executes the initialization process described in the tags <initial> to </ initial> in FIGS. 23A to 23C. Here, only the field "CopierTop" is made active. In this case, only the fields included in the “CopierTop” fields are active, that is, input / output is possible, and other fields are not subjected to interaction.
[0092]
In response to this, the modality control unit 106 sets only the modalities bound to the input / output elements in each field included in the “CopierTop” fields to be active, and sets the others to inactive.
[0093]
That is, only the modalities shown in FIG. 7 are active, and the corresponding voice input / output and GUI button can be pressed. On the other hand, the modality shown in FIG. 8 and FIG. 9 is inactive, and the corresponding GUI button is disabled. It should be noted that the GUI button pressable state and the non-pressable state are displayed on the GUI in different display forms (for example, the non-pressable state is displayed in gray, blinking, etc.) so as to distinguish each state. In FIG. 7, the start button and the voice input modality are bound to the input element of the “CopyStart” field of the interactive layer in the selection usage mode.
[0094]
Therefore, if the start button is pressed or if there is a voice input corresponding thereto, this input element accepts the input, and the dialog execution unit 107 executes the process described in the corresponding filled element.
[0095]
In the example of FIG. 7, after some output is executed by the output element, an instruction to execute copying is issued to the device control unit 108. Here, what is output is not described in the output element itself, and “copy” is described in the bind element. Since this is bound to the speech synthesis modality, it will be uttered with a synthesized sound saying “copy”. Further, since there is no description of field activate / deactivate in this filled element, the state of active / inactive of each field does not occur, and only the field and modality shown in FIG. 7 are also active.
[0096]
In FIG. 7, the GUI button and the voice input modality for entering the paper size selection mode are bound to the input element of the “IsPaperSizeMode” field of the interactive layer in the selection usage mode. Therefore, if this GUI button is pressed or if there is a voice input corresponding thereto, this input element accepts the input, and the dialog execution unit 107 executes the process described in the corresponding filled element. Since filled is described to activate “SelectPaperSizeMode” fields, each field in the fields becomes active.
[0097]
In response to this, the modality control unit 106 activates the modality bound to the input / output elements of these fields, that is, the modality shown in FIG. 8, so that, for example, the “ButtonA4” of the GUI button can be pressed. It becomes.
[0098]
With the above procedure, a multimodal user interface according to the markup language is realized.
[0099]
As described above, according to the first embodiment, particularly in an environment where processing related to a device is realized based on a markup language,
Device dialogue description
Device modality description
Bind description that links the dialog description and modality description
Configure.
[0100]
The device is linked to each modality according to the description of the modality description in the markup language and the modality management unit that performs input / output management using each modality according to the content of the modality description in the markup language, and according to the description of the bind layer in the markup description language. Modality control unit that passes information to and from input / output elements, and accepts input from each modality managed by the modality management unit according to the contents of the dialog description in the markup language, and instructs output to each modality The dialog execution part which performs is comprised.
[0101]
As a result, an effective combination of various modalities of devices can be freely described in a markup language, so that a multimodal user interface with higher usability can be realized.
[Embodiment 2]
In the first embodiment, the example in which the operation of the copier is performed through the modality of the copier itself has been described. However, a PC or a mobile phone other than the copy machine can be used as the operation device of the control target device. In the second embodiment, a markup language editing method for operating a copier from a mobile phone and its operation will be described.
[0102]
First, how the markup language is edited will be described with reference to FIG.
[0103]
FIG. 13 is a diagram showing a configuration of an information processing system according to the second embodiment of the present invention.
[0104]
First, the copy machine itself has already been installed with a markup language having the configuration described in FIGS. 5 to 9 and can be operated through the modality of the copy machine itself as described above. What operation the copier performs for what input, what output, and how the dialog state transitions are functions of the copier itself. It operates according to the description of 6 dialog layers.
[0105]
The development of a markup language that allows the copy machine to be operated from another device will describe a modality layer of the operation device itself and a bind layer that binds the modality layer and the interaction layer of the copy machine itself. In order to enable such development, the copy machine manufacturer discloses the interaction layer of the copy machine on a Web site provided on the copy machine manufacturer terminal 1201 of the company.
[0106]
On the other hand, since the modality layer of the mobile phone as the operation device is unique to the mobile phone, it is natural for the mobile phone device manufacturer to describe the modality layer. A mobile phone device maker discloses a mobile phone modality layer on a Web site provided on its mobile phone maker terminal 1202 or the like. FIG. 25 shows a markup language description example of the modality layer of the mobile phone. In this example, a “0” button (Button0) is defined.
[0107]
A UI developer who develops a markup language that describes an MMUI that operates a copier from this mobile phone refers to the mobile phone's modality layer and the copier's interactive layer, and creates a bind layer that binds both. Describe. FIG. 26 shows an example of markup language description of this bind layer. This example represents binding the “0” button of the mobile phone to the “copy start” input element.
[0108]
The UI developer publishes the developed markup language (bind layer) on a Web site provided on his UI developer terminal 1204.
[0109]
The user downloads this published markup language (bind layer) to his / her mobile phone 1205.
[0110]
As described above, the markup language of the present invention is not described by a single UI developer, but the modality layer is developed by the manufacturer of the operation device, and the dialog layer is developed by the manufacturer of the control target device. It enables division of labor such that the UI developer who wants to bind describes the bind layer.
[0111]
This is an advantage of the markup language of the present invention having the above-described three-layer structure. According to this configuration, it is possible to easily develop a markup language in which any device is not limited to a combination of a mobile phone and a copy machine, and any device is an operation device or a control target device. For example, if a bind layer that binds the modality layer of a mobile phone and the interactive layer of an air conditioner published by an air conditioner manufacturer, the air conditioner can be operated from the mobile phone.
[0112]
Next, operations of the copier and the mobile phone according to the second embodiment will be described with reference to FIG. Since the operation of each component in FIG. 14 is basically the same as the operation of each component in FIG. 10 described in the first embodiment, the exchange between the copier and the mobile phone will be described here.
[0113]
In FIG. 14, the device control unit 1301 and the dialog execution unit 1303 of the copier 1301 correspond to the device control unit 108 and the dialog execution unit 107 of FIG. Also, the input / output management unit 1308, the speech recognition unit 1310, the speech synthesis unit 1311, the modality management unit 1312, and the modality control unit 1313 of the mobile phone 1307 are the same as the input / output management unit 101, the speech recognition unit 103, and the speech synthesis unit in FIG. 104, the modality management unit 105 and the modality control unit 106. Furthermore, the MMUI markup languages 1306 and 1315 in FIG. 14 correspond to the MMUI markup language 109 in FIG. In addition, the DTMF management unit 1309 performs DTMF management of the mobile phone 1307. The communication units 1305 and 1314 communicate with each other via the network 1315.
[0114]
First, by transmitting an operation request from the mobile phone 1307 to the copy machine 1301 via the communication unit 1314, a dialogue between the mobile phone 1307 and the copy machine 1301 is started. The dialogue execution unit 1303 of the copier 1301 operates according to the description of the dialogue layer. The dialog execution unit 1303 sends information indicating which field is active at each step described in the dialog layer and the ID of the output element to the mobile phone 1307 via the communication unit 1305 if there is an output operation. Send.
[0115]
An example of this transmission information is shown in FIG. In this example, the input elements listed in <ActiveList> to </ ActiveList> are currently active, and output corresponding to the output element “CopyStart_Message” is performed.
[0116]
The mobile phone 1307 receives this transmission information via the communication unit 1314. Based on the transmission information and the MMUI markup language 1315, the modality control unit 1313 performs output via the modality bound to “CopyStart_Message” (for example, “synthesizes” and notifies with a synthesized voice), The modalities bound to the input elements listed in <ActiveList> to </ ActiveList> are set to active, and other modalities are set to inactive. If the user inputs to the mobile phone 1307, the ID of the input element bound to the modality and the input content are transmitted from the mobile phone 1307 to the copier 1301.
[0117]
An example of this transmission information is shown in FIG. This example means that the copier 1301 is notified that there has been an input to the input elements listed in <InputList> to </ InputList>. As described above, the copy machine can be operated using the mobile phone 1307 as an operating device.
[0118]
As described above, according to the second embodiment, in an environment in which the processing related to the operation device and the control target device is realized based on the markup language, in particular, in the markup language,
Dialogue description of controlled devices
Modality description of operating device
Bind description that links the dialog description and modality description
Configure.
[0119]
The operation device is linked to each modality according to the description of the modality description in the markup language and the modality management unit that performs input / output management using each modality and according to the description of the bind layer in the markup description language. A modality control unit that exchanges information with the input / output elements is configured. In addition, the control target device has a dialog execution unit that accepts input from each modality managed by the modality management unit and executes output instructions to each modality according to the content of the dialog description in the markup language. To do.
[0120]
As a result, an arbitrary device (for example, PDA, remote controller, etc.) is automatically controlled, and an arbitrary device (OA device such as a facsimile, printer, scanner, etc., home appliances such as an electric kettle, a refrigerator, a television) is set as a control target device. It can be configured as an operating device. The operating device can be configured as an operating device having a multimodal user interface.
[Embodiment 3]
In the second embodiment, when the operation device (mobile phone) and the control target device (copy machine) are different from each other, the example in which the interaction layer is only on the control target device side has been described. In the third embodiment, an example will be described in which a dialogue layer unique to the manipulation device can be described on the manipulation device side separately from the dialogue layer of the control target device.
[0121]
For example, consider a case where a UI for operating an air conditioner from a remote controller as shown in FIG. 17 is described in a markup language. In the air conditioner interaction layer, a field that selects the air volume from “light”, “normal”, and “strong wind” is defined, and an appropriate modality is bound to the input element (“selectOne” type) of this field. .
[0122]
If the operating device has sufficient types of GUI parts, for example, a radio button or a pull-down menu may be bound to this input element. However, when binding the button A1602 of the remote controller, there is only a description that the air volume is switched by repeatedly pressing the button A1602. However, since the meaning of the button press, that is, the corresponding air volume changes each time the button is pressed, it cannot be simply bound.
[0123]
In such a case, the markup language of the present invention can describe a dialog layer specific to the operating device (remote control in the third embodiment) separately from the dialog layer of the control target (the air conditioner in the third embodiment). it can. FIG. 18 shows a schematic example of binding to the remote control interaction layer specific to the remote control and the air conditioner interaction layer in this example. In this example, the modality of button A1602 is bound to the input element of the interactive layer unique to the remote controller simultaneously with the air volume setting input element of the interactive layer of the air conditioner. By describing the switching of the input value in the filled element of the field having the latter input element, the value input to the air volume setting input element of the air conditioner interactive layer can be switched each time the button A is pressed. Also, the XML representation of the configuration of FIG. 18 is as shown in FIGS. 27A and 27B.
[Embodiment 4]
In the above embodiment, only user operations (input / output) are handled. However, event processing is also an important factor when considering device control. The markup language of the present invention can also describe information related to events (event information) such as event reception, event processing, and event type, and the embodiment will be described here. Event reception is described by a catch tag inside the field tag in the dialog layer.
[0124]
Figure 0003902959
The event name such as “CopyComplete” in the above example is defined in advance according to the device, and the MMML browser knows these vocabularies.
[0125]
Events need to be considered separately for events related to operating devices (clients) and events related to controlled objects (servers). For example, consider a case where a copier is operated from a PC via a network. In this case, the event “copy completed” is an event related to the copy machine to be controlled, and should be described in the interaction layer of the copy machine.
[0126]
On the other hand, the event “Sound device is turned off” of the PC is an event that is closed in the PC that is the operating device, and is an event that is irrelevant to the interactive layer of the copier. In such a case, the description of the event closed in the PC may constitute a dialog layer unique to the PC other than the dialog layer of the copier, and a field for catching the event may be provided therein. FIG. 19 shows a description example including event information.
[Embodiment 5]
In the first embodiment, a case has been described in which a program that realizes the operation executed by each device described above is held in the ROM. However, the present invention is not limited to this, and the program may be realized using any storage medium. Good. Further, it may be realized by a circuit that realizes the same operation.
[0127]
Although the embodiment has been described in detail above, the present invention may be applied to a system constituted by a plurality of devices, or may be applied to an apparatus constituted by one device.
[0128]
The present invention supplies a software program (in the embodiment, a program corresponding to the flowchart shown in the drawing) to the system or apparatus directly or remotely from the above-described embodiment, and the computer of the system or apparatus Is also achieved by reading and executing the supplied program code. In that case, as long as it has the function of a program, the form does not need to be a program.
[0129]
Accordingly, since the functions of the present invention are implemented by computer, the program code installed in the computer also implements the present invention. In other words, the present invention includes a computer program itself for realizing the functional processing of the present invention.
[0130]
In this case, the program may be in any form as long as it has a program function, such as an object code, a program executed by an interpreter, or script data supplied to the OS.
[0131]
As a recording medium for supplying the program, for example, floppy disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD (DVD-ROM, DVD-R).
[0132]
As another program supply method, a client computer browser is used to connect to an Internet homepage, and the computer program of the present invention itself or a compressed file including an automatic installation function is downloaded from the homepage to a recording medium such as a hard disk. Can also be supplied. It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage. That is, a WWW server that allows a plurality of users to download a program file for realizing the functional processing of the present invention on a computer is also included in the present invention.
[0133]
In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. It is also possible to execute the encrypted program by using the key information and install the program on a computer.
[0134]
In addition to the functions of the above-described embodiments being realized by the computer executing the read program, the OS running on the computer based on the instruction of the program is a part of the actual processing. Alternatively, the functions of the above-described embodiment can be realized by performing all of them and performing the processing.
[0135]
Furthermore, after the program read from the recording medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion board or The CPU or the like provided in the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments are also realized by the processing.
[0136]
【The invention's effect】
As described above, according to the present invention, it is possible to provide an information processing apparatus, a control method thereof, and a program that can realize modality control that is more versatile and easy to expand.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a structure of a markup language according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating a schema description of a general-purpose modality according to the first embodiment of the present invention.
FIG. 3 is a diagram illustrating a configuration example of a UI of the copier according to the first embodiment of the present invention.
FIG. 4 is a diagram schematically showing the schema description of the modality of the copier according to the first embodiment of the present invention.
FIG. 5 is a diagram schematically showing a schema description of a copier modality by a UI developer according to the first embodiment of the present invention;
FIG. 6 is a diagram schematically showing an interactive layer of the copier according to the first embodiment of the present invention.
FIG. 7 is a diagram schematically illustrating a part of the description of the bind layer according to the first embodiment of the present invention.
FIG. 8 is a diagram schematically illustrating a part of the description of the bind layer according to the first embodiment of the present invention.
FIG. 9 is a diagram schematically illustrating a part of the description of the bind layer according to the first embodiment of the present invention.
FIG. 10 is a functional configuration diagram of the copier according to the first embodiment of the present invention.
FIG. 11 is a configuration diagram showing a hardware configuration of the copier according to the first embodiment of the present invention.
FIG. 12 is a flowchart illustrating processing executed by the copier according to the first embodiment of the present invention.
FIG. 13 is a configuration diagram of an information processing system according to a second embodiment of the present invention.
FIG. 14 is a functional configuration diagram of an information processing system according to a second embodiment of this invention.
FIG. 15 is a diagram illustrating an example of information transmitted from the copier according to the second embodiment of the present invention to a mobile phone.
FIG. 16 is a diagram showing an example of information transmitted from the mobile phone to the copier according to the second embodiment of the present invention.
FIG. 17 is a diagram illustrating an example of a remote controller for operating an air conditioner according to a third embodiment of the present invention.
FIG. 18 is a diagram schematically showing a dialogue layer unique to an operating device according to the third embodiment of the present invention.
FIG. 19 is a diagram schematically illustrating a description of event information according to the fourth embodiment of the present invention.
FIG. 20A is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 20B is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 20C is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 20D is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 20E is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 21A is a diagram showing an XML expression example of a modality schema of the copier according to the first embodiment of the present invention.
FIG. 21B is a diagram illustrating an XML expression example of the modality schema of the copier according to the first embodiment of the present invention.
FIG. 22A is a diagram showing an XML expression example of the interaction layer of the copier newly defined by the UI developer according to the first embodiment of the present invention.
FIG. 22B is a diagram showing an XML expression example of the interaction layer of the copier newly defined by the UI developer according to the first embodiment of the present invention.
FIG. 22C is a diagram showing an XML expression example of the interaction layer of the copier newly defined by the UI developer according to the first embodiment of the present invention.
FIG. 22D is a diagram showing an XML expression example of the interaction layer of the copier newly defined by the UI developer according to the first embodiment of the present invention.
FIG. 23A is a diagram showing an XML expression example of an interaction layer of the copier according to the first embodiment of the present invention.
FIG. 23B is a diagram illustrating an XML expression example of an interaction layer of the copier according to the first embodiment of the present invention.
FIG. 23C is a diagram showing an XML expression example of an interaction layer of the copier according to the first embodiment of the present invention.
FIG. 24A is a diagram showing an XML expression example of a bind layer of the copier according to the first embodiment of the present invention.
FIG. 24B is a diagram showing an XML expression example of the bind layer of the copier according to the first embodiment of the present invention.
FIG. 24C is a diagram showing an XML expression example of the bind layer of the copier according to the first embodiment of the present invention.
FIG. 24D is a diagram showing an XML expression example of the bind layer of the copier according to the first embodiment of the present invention.
FIG. 25 is a diagram showing an XML expression example of a mobile phone modality schema according to the second embodiment of the present invention;
FIG. 26 is a diagram illustrating an XML expression example of a bind layer that binds input / output elements of a mobile phone modality and a copier's dialog description according to the second embodiment of the present invention;
FIG. 27A is a diagram showing an XML expression example of a dialog layer unique to an operating device according to the third embodiment of the present invention.
FIG. 27B is a diagram showing an XML expression example of the interaction layer unique to the operating device according to the third embodiment of the present invention.
[Explanation of symbols]
101 Input / output management unit
102 GUI control unit
103 Voice recognition unit
104 Speech synthesis unit
105 Modality Management Department
106 Modality control unit
107 Dialogue execution unit
108 Device control unit
109 MMUI markup language

Claims (28)

複数種類のモダリティを有する情報処理装置であって、
メモリに記憶されるデータに基づいて、当該情報処理装置が実行する処理を制御する制御手段と、
当該情報処理装置が実行する処理の処理手順を示す対話記述と、前記対話記述と独立に分離して構成される当該情報処理装置のモダリティを示すモダリティ記述と、前記モダリティ記述と前記対話記述とを対応付けるバインド記述とを示す記述データを前記メモリに記憶する記憶手段と、
前記制御手段によって、前記メモリに記憶された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド手段と、
前記制御手段によって、当該情報処理装置を前記メモリに記憶された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド手段によって該入出力処理と対応付けられたモダリティとの間で受け渡す制御を実行する実行手段と
を備えることを特徴とする情報処理装置。
An information processing apparatus having a plurality of types of modalities,
Control means for controlling processing executed by the information processing apparatus based on data stored in the memory;
A dialog description indicating a processing procedure of the process executed by the information processing apparatus, a modality description indicating a modality of the information processing apparatus configured separately from the dialog description, the modality description, and the dialog description. Storage means for storing description data indicating a binding description to be associated in the memory;
Binding means for associating the input / output process included in the processing procedure indicated in the dialog description in the description data stored in the memory by the control means with the modality included in the modality description according to the bind description;
When the control unit controls the information processing apparatus based on the dialog description in the description data stored in the memory, the data required by the input / output process corresponds to the input / output process by the bind unit. An information processing apparatus comprising: execution means for executing control to and from the attached modality.
前記対話記述は、入出力の処理単位である、1つもしくは複数の最小対話要素から構成され、前記最小対話要素は、0個もしくは1個の入力要素と0個もしくは1個以上の出力要素を含む
ことを特徴とする請求項1に記載の情報処理装置。
The dialog description is composed of one or a plurality of minimum dialog elements, which are input / output processing units, and the minimum dialog elements include zero or one input element and zero or one or more output elements. The information processing apparatus according to claim 1, further comprising:
前記最小対話要素は、イベントに関するイベント情報の記述を含む
ことを特徴とする請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the minimum interaction element includes a description of event information regarding an event.
前記最小対話要素は、当該最小対話要素への入力に対するアクションに関するアクション情報の記述を含む
ことを特徴とする請求項2または請求項3に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the minimum interaction element includes a description of action information regarding an action for an input to the minimum interaction element.
前記最小対話要素は、active/inactiveの2つのどちらかの状態を有し、かつ当該最小対話要素は、前記アクション情報として、自身または別の最小対話要素をactivate/deactivateする記述を含む
ことを特徴とする請求項4に記載の情報処理装置。
The minimum interaction element has one of two states of active / inactive, and the minimum interaction element includes a description for activating / deactivating itself or another minimum interaction element as the action information. The information processing apparatus according to claim 4.
前記出力要素は、その出力内容を示す記述を含む
ことを特徴とする請求項2に記載の情報処理装置。
The information processing apparatus according to claim 2, wherein the output element includes a description indicating the output content.
前記モダリティ記述は、前記モダリティのクラスの定義、継承、クラス間の階層関係、前記クラスのインスタンスの定義を示す各記述の内の少なくともいずれかを含む
ことを特徴とする請求項1に記載の情報処理装置。
2. The information according to claim 1, wherein the modality description includes at least one of definitions indicating the class of the modality, inheritance, a hierarchical relationship between classes, and definitions of instances of the class. Processing equipment.
前記モダリティ記述中の各モダリティは、active/inactiveの2つのどちらかの状態を有する
ことを特徴とする請求項1に記載の情報処理装置。
The information processing apparatus according to claim 1, wherein each modality in the modality description has one of two states of active / inactive.
前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の入力要素に結び付けるための記述であり、かつ1つの入力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む
ことを特徴とする請求項2に記載の情報処理装置。
The binding description is a description for binding one or a plurality of modalities to one or a plurality of input elements. When a plurality of modalities are bound to a single input element, how to combine the modalities The information processing apparatus according to claim 2, further comprising a description.
前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の出力要素に結び付けるための記述であり、かつ1つの出力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む
ことを特徴とする請求項2に記載の情報処理装置。
The binding description is a description for binding one or a plurality of modalities to one or a plurality of output elements. When a plurality of modalities are bound to a single output element, how to combine the modalities The information processing apparatus according to claim 2, further comprising a description.
前記バインド記述は、モダリティと出力要素への結び付けを示す記述であるバインド要素中にその出力内容を示す記述と、出力要素に結び付けられたモダリティごとにその出力内容を示す記述の少なくとも一方を含み、
前記バインド要素中に記述された出力内容は、その結び付けの対象である出力要素中に記述された出力内容より優先し、また、前記バインド要素中でモダリティごとに記述された出力内容は、該バインド要素中に記述された出力内容より優先する
ことを特徴とする請求項2に記載の情報処理装置。
The binding description includes at least one of a description indicating the output content in the bind element, which is a description indicating the connection between the modality and the output element, and a description indicating the output content for each modality linked to the output element,
The output content described in the bind element takes precedence over the output content described in the output element that is the binding target, and the output content described for each modality in the bind element is the binding content. The information processing apparatus according to claim 2, wherein the information processing apparatus has priority over the output contents described in the element.
前記バインド記述の各バインド要素は、結び付けの対象であるモダリティをactivate/deactivateする記述を含む
ことを特徴とする請求項11に記載の情報処理装置。
The information processing apparatus according to claim 11, wherein each binding element of the binding description includes a description for activating / deactivating a modality that is a binding target.
制御対象機器の操作機器として動作する情報処理装置であって、
メモリに記憶されるデータに基づいて、当該情報処理装置が実行する処理を制御する制御手段と、
前記制御対象機器が実行する処理の処理手順を示す対話記述と独立に分離して構成される、当該情報処理装置のモダリティを示すモダリティ記述及び前記モダリティ記述と前記対話記述とを対応付けるバインド記述を示す記述データを前記メモリに記憶する記憶手段と、
前記制御手段によって、前記メモリに記憶された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド手段と、
前記制御手段によって、前記制御対象機器を前記メモリに記憶された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド手段によって該入出力処理と対応付けられたモダリティとの間で受け渡す制御を実行する実行手段と
を備えることを特徴とする情報処理装置。
An information processing apparatus that operates as an operation device of a control target device,
Control means for controlling processing executed by the information processing apparatus based on data stored in the memory;
The modality description indicating the modality of the information processing apparatus and the bind description that associates the modality description with the dialog description, which are configured separately from the dialog description indicating the processing procedure of the process executed by the control target device. Storage means for storing descriptive data in the memory;
Binding means for associating the input / output process included in the processing procedure indicated in the dialog description in the description data stored in the memory by the control means with the modality included in the modality description according to the bind description;
When the control unit controls the control target device based on the dialog description in the description data stored in the memory, the data required by the input / output process corresponds to the input / output process by the bind unit. An information processing apparatus comprising: execution means for executing control to and from the attached modality.
複数種類のモダリティを有する情報処理装置を制御する制御方法であって、
当該情報処理装置の処理手順を示す対話記述と、前記対話記述と独立に分離して構成される当該情報処理装置のモダリティを示すモダリティ記述と、前記モダリティ記述と前記対話記述とを対応付けるバインド記述とを示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程と、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程と、
前記制御部によって、当該情報処理装置を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程と
を備えることを特徴とする制御方法。
A control method for controlling an information processing apparatus having a plurality of types of modalities,
A dialog description indicating a processing procedure of the information processing apparatus; a modality description indicating a modality of the information processing apparatus configured separately from the dialog description; and a bind description that associates the modality description with the dialog description. A reading step of reading the description data from a memory storing the description data by a control unit that controls processing executed by the information processing apparatus;
A binding step of associating the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory by the control unit with the modality included in the modality description according to the bind description;
When the control unit controls the information processing apparatus based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the bind step. And a control step of controlling to transfer to and from the associated modality.
前記対話記述は、入出力の処理単位である、1つもしくは複数の最小対話要素から構成され、前記最小対話要素は、0個もしくは1個の入力要素と0個もしくは1個以上の出力要素を含む
ことを特徴とする請求項14に記載の情報処理装置の制御方法。
The dialog description is composed of one or a plurality of minimum dialog elements, which are input / output processing units, and the minimum dialog elements include zero or one input element and zero or one or more output elements. The information processing apparatus control method according to claim 14, further comprising:
前記最小対話要素は、イベントに関するイベント情報の記述を含む
ことを特徴とする請求項15に記載の情報処理装置の制御方法。
The information processing apparatus control method according to claim 15, wherein the minimum interaction element includes a description of event information related to an event.
前記最小対話要素は、当該最小対話要素への入力に対するアクションに関するアクション情報の記述を含む
ことを特徴とする請求項15または請求項16に記載の情報処理装置の制御方法。
The information processing apparatus control method according to claim 15 or 16, wherein the minimum interaction element includes a description of action information regarding an action for an input to the minimum interaction element.
前記最小対話要素は、active/inactiveの2つのどちらかの状態を有し、かつ当該最小対話要素は、前記アクション情報として、自身または別の最小対話要素をactivate/deactivateする記述を含む
ことを特徴とする請求項17に記載の情報処理装置の制御方法。
The minimum interaction element has one of two states of active / inactive, and the minimum interaction element includes a description for activating / deactivating itself or another minimum interaction element as the action information. An information processing apparatus control method according to claim 17.
前記出力要素は、その出力内容を示す記述を含む
ことを特徴とする請求項15に記載の情報処理装置の制御方法。
The information output apparatus control method according to claim 15, wherein the output element includes a description indicating an output content thereof.
前記モダリティ記述は、前記モダリティのクラスの定義、継承、クラス間の階層関係、前記クラスのインスタンスの定義を示す各記述の内の少なくともいずれかを含む
ことを特徴とする請求項14に記載の情報処理装置の制御方法。
The information according to claim 14, wherein the modality description includes at least one of definitions indicating the class of the modality, inheritance, a hierarchical relationship between classes, and definitions of instances of the class. A method for controlling a processing apparatus.
前記モダリティ記述中の各モダリティは、active/inactiveの2つのどちらかの状態を有する
ことを特徴とする請求項14に記載の情報処理装置の制御方法。
The method for controlling an information processing apparatus according to claim 14, wherein each modality in the modality description has one of two states of active / inactive.
前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の入力要素に結び付けるための記述であり、かつ1つの入力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む
ことを特徴とする請求項16に記載の情報処理装置の制御方法。
The binding description is a description for binding one or a plurality of modalities to one or a plurality of input elements. When a plurality of modalities are bound to a single input element, how to combine the modalities The information processing apparatus control method according to claim 16, further comprising a description.
前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の出力要素に結び付けるための記述であり、かつ1つの出力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む
ことを特徴とする請求項14に記載の情報処理装置の制御方法。
The binding description is a description for binding one or a plurality of modalities to one or a plurality of output elements. When a plurality of modalities are bound to a single output element, how to combine the modalities 15. The information processing apparatus control method according to claim 14, further comprising a description.
前記バインド記述は、モダリティと出力要素への結び付けを示す記述であるバインド要素中にその出力内容を示す記述と、出力要素に結び付けられたモダリティごとにその出力内容を示す記述の少なくとも一方を含み、
前記バインド要素中に記述された出力内容は、その結び付けの対象である出力要素中に記述された出力内容より優先し、また、前記バインド要素中でモダリティごとに記述された出力内容は、該バインド要素中に記述された出力内容より優先する
ことを特徴とする請求項14に記載の情報処理装置の制御方法。
The binding description includes at least one of a description indicating the output content in the bind element, which is a description indicating the connection between the modality and the output element, and a description indicating the output content for each modality linked to the output element,
The output content described in the bind element takes precedence over the output content described in the output element that is the binding target, and the output content described for each modality in the bind element is the binding content. The information processing apparatus control method according to claim 14, wherein priority is given to output contents described in an element.
前記バインド記述の各バインド要素は、結び付けの対象であるモダリティをactivate/deactivateする記述を含む
ことを特徴とする請求項24に記載の情報処理装置の制御方法。
25. The method of controlling an information processing apparatus according to claim 24, wherein each binding element of the binding description includes a description for activating / deactivating a modality that is a binding target.
制御対象機器の操作機器として動作する情報処理装置の制御方法であって、
前記制御対象機器の処理手順を示す対話記述と独立に分離して構成される、当該情報処理装置のモダリティを示すモダリティ記述及び前記モダリティ記述と前記対話記述とを対応付けるバインド記述を示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程と、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程と、
前記制御部によって、前記制御対象機器を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程と
を備えることを特徴とする制御方法。
A method of controlling an information processing apparatus that operates as an operation device of a control target device,
Stores description data indicating the modality description indicating the modality of the information processing apparatus and the binding description for associating the modality description and the dialog description, which are configured separately from the dialog description indicating the processing procedure of the control target device Reading out the description data from the memory to be read by a control unit that controls processing executed by the information processing apparatus;
A binding step of associating the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory by the control unit with the modality included in the modality description according to the bind description;
When the control unit controls the control target device based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the binding step. And a control step of controlling to transfer to and from the associated modality.
複数種類のモダリティを有する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
当該情報処理装置の処理手順を示す対話記述と、前記対話記述と独立に分離して構成される当該情報処理装置のモダリティを示すモダリティ記述と、前記モダリティ記述と前記対話記述とを対応付けるバインド記述とを示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程のプログラムコードと、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程のプログラムコードと、
前記制御部によって、当該情報処理装置を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程のプログラムコードと
を備えることを特徴とするプログラム。
A program for causing a control of the information processing apparatus having a plurality of types of modalities computer,
A dialog description indicating a processing procedure of the information processing apparatus; a modality description indicating a modality of the information processing apparatus configured separately from the dialog description; and a bind description that associates the modality description with the dialog description. A program code for a reading process of reading the description data from a memory storing the description data by a control unit that controls processing executed by the information processing apparatus;
A program of a binding step in which the control unit associates the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory with the modality included in the modality description according to the bind description. Code,
When the control unit controls the information processing apparatus based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the bind step. And a program code of a control process for controlling to be transferred to and from the associated modality.
制御対象機器の操作機器として動作する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
前記制御対象機器の処理手順を示す対話記述と独立に分離して構成される、当該情報処理装置のモダリティを示すモダリティ記述及び前記モダリティ記述と前記対話記述とを対応付けるバインド記述を示す記述データを記憶するメモリから、該記述データを、当該情報処理装置が実行する処理を制御する制御部によって読み出す読出工程のプログラムコードと、
前記制御部によって、前記メモリから読み出された記述データ中の対話記述に示される処理手順に含まれる入出力処理と、前記モダリティ記述に含まれるモダリティとを、前記バインド記述に従って対応付けるバインド工程のプログラムコードと、
前記制御部によって、前記制御対象機器を前記メモリから読み出された記述データ中の対話記述に基づいて制御する際に、前記入出力処理が要求するデータを、前記バインド工程によって該入出力処理と対応付けられたモダリティとの間で受け渡すよう制御する制御工程のプログラムコードと
を備えることを特徴とするプログラム。
A program for causing a computer to control the control of an information processing device that operates as an operation device of a control target device,
Stores description data indicating the modality description indicating the modality of the information processing apparatus and the binding description for associating the modality description and the dialog description, which are configured separately from the dialog description indicating the processing procedure of the control target device. Reading the program data from the memory by the control unit that controls the processing executed by the information processing apparatus;
A program of a binding step in which the control unit associates the input / output process included in the processing procedure indicated in the dialog description in the description data read from the memory with the modality included in the modality description according to the bind description. Code,
When the control unit controls the control target device based on the dialog description in the description data read from the memory, the data requested by the input / output process is combined with the input / output process by the binding step. And a program code of a control process for controlling to be transferred to and from the associated modality.
JP2002018938A 2002-01-28 2002-01-28 Information processing apparatus, control method therefor, and program Expired - Fee Related JP3902959B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002018938A JP3902959B2 (en) 2002-01-28 2002-01-28 Information processing apparatus, control method therefor, and program
US10/350,223 US20030158898A1 (en) 2002-01-28 2003-01-24 Information processing apparatus, its control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002018938A JP3902959B2 (en) 2002-01-28 2002-01-28 Information processing apparatus, control method therefor, and program

Publications (2)

Publication Number Publication Date
JP2003216293A JP2003216293A (en) 2003-07-31
JP3902959B2 true JP3902959B2 (en) 2007-04-11

Family

ID=27654076

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002018938A Expired - Fee Related JP3902959B2 (en) 2002-01-28 2002-01-28 Information processing apparatus, control method therefor, and program

Country Status (1)

Country Link
JP (1) JP3902959B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10414724B2 (en) 2014-10-09 2019-09-17 Toray Industries, Inc. Photochemical reaction device, photochemical reaction method using same, and lactam production method using said method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539687B2 (en) * 2004-04-13 2009-05-26 Microsoft Corporation Priority binding
JP2007033478A (en) * 2005-07-22 2007-02-08 Hitachi Ltd Multi-modal dialog system and multi-modal application generation wizard
US20070233495A1 (en) * 2006-03-29 2007-10-04 International Business Machines Corporation Partially automated technology for converting a graphical interface to a speech-enabled interface

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10414724B2 (en) 2014-10-09 2019-09-17 Toray Industries, Inc. Photochemical reaction device, photochemical reaction method using same, and lactam production method using said method

Also Published As

Publication number Publication date
JP2003216293A (en) 2003-07-31

Similar Documents

Publication Publication Date Title
US10402076B2 (en) Adaptive user interface for multi-source systems
KR100941113B1 (en) User interface for a remote control application
JP4391434B2 (en) Theme change system, portable communication device, server device, and computer program
JP5166874B2 (en) Terminal device and program
WO2012000233A1 (en) User customization method and system
JP2004511944A (en) Control code for programmable remote control supplied in XML format
CN108564946A (en) Technical ability, the method and system of voice dialogue product are created in voice dialogue platform
KR20110113232A (en) Method and system for providing application store service
JP2009514438A (en) Display information on mobile devices
JP2001094675A (en) Wireless mobile terminal
US8225336B2 (en) Method and system of configuring a virtual device
US9448814B2 (en) Bridge system for auxiliary display devices
JP3733322B2 (en) Multimodal document receiving apparatus, multimodal document transmitting apparatus, multimodal document transmitting / receiving system, control method therefor, and program
CN111246299A (en) Communication terminal and application management method
US20030158898A1 (en) Information processing apparatus, its control method, and program
JP3902959B2 (en) Information processing apparatus, control method therefor, and program
KR101482149B1 (en) Apparatus for executing application, method thereof and computer recordable medium storing the method
US20060084477A1 (en) Custom navigation menu for a mobile device
CN113784186B (en) Terminal device, server, and communication control method
JP3728251B2 (en) Information processing apparatus, control method therefor, and program
TWI410858B (en) Device and method of shortcut key for the status bar on a android mobile apparatus
JP5785688B2 (en) Method and apparatus for customizing a syndicated data feed
WO2007004371A1 (en) Next-generation television receiver
JP2005339513A (en) Information processor, control method and program
KR20130034832A (en) Expansion function supporting method and electric device supporting the same

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060410

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060609

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061222

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110112

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120112

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130112

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140112

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees