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

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

Info

Publication number
JP3728251B2
JP3728251B2 JP2002018937A JP2002018937A JP3728251B2 JP 3728251 B2 JP3728251 B2 JP 3728251B2 JP 2002018937 A JP2002018937 A JP 2002018937A JP 2002018937 A JP2002018937 A JP 2002018937A JP 3728251 B2 JP3728251 B2 JP 3728251B2
Authority
JP
Japan
Prior art keywords
modality
description
information
dialog
binding
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
JP2002018937A
Other languages
Japanese (ja)
Other versions
JP2003216424A (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 JP2002018937A priority Critical patent/JP3728251B2/en
Priority to US10/350,223 priority patent/US20030158898A1/en
Publication of JP2003216424A publication Critical patent/JP2003216424A/en
Application granted granted Critical
Publication of JP3728251B2 publication Critical patent/JP3728251B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

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のモダリティも多様化している。こうした多様化するモダリティをうまく組み合わせて操作性を向上するマルチモーダルユーザインタフェースへの注目が高まっている。マルチモーダルユーザインタフェースの記述には、対話記述(ユーザからどんな入力を受け、どんな出力をするか、その入出力がどのような手順で進むかを示す記述)とモダリティ記述(どのようなUI部品を用いてその入出力を行うかを示す記述)が少なくとも必要である。
【0006】
モダリティ記述は、クライアントの形態に大きく依存する。PCのような汎用的な機器であれば、豊富なGUIを備え、最近では音声認識・合成技術の発展により、音声UIを備えるものもある。一方、携帯電話は、音声を使うのが最も適している。なぜなら、携帯電話は、小さな液晶画面で簡単なGUI部品をサポートしているものの、ポインティングデバイスもなく、必ずしもそのGUI部品を使いやすいとは言えないからである。また、機器制御を視野に入れると、操作機器としてリモコン(リモートコントローラ)がある。リモコンは、物理ボタンによる操作が一般的である。
【0007】
このような対話記述とモダリティ記述の方法には2種類の方法がある。
【0008】
一つは、ある入力はGUIボタンで、ある出力は音声でといった具合に、対話記述の中にモダリティの入出力形態の記述を明示する方法である。もう一つは、対話記述とモダリティ記述を分離し、対話記述をモダリティ非依存な形で記述する方法である。
【0009】
後者の方法では、ある制御対象機器の操作手順である対話記述をモダリティ非依存な形で行い、これとは分離された形で、いろんなクライアントごとに、そのクライアントに合わせたモダリティ記述を行うことで、一つの制御対象機器をいろんなクライアントから操作できるようになる。対話記述とモダリティ記述を分離した記述が可能なマルチモーダルユーザインタフェースのマークアップ言語としては、CML(特開2001−154852)がある。
【0010】
CMLでは、対話記述自体はモダリティ独立な形で記述しており、モダリティ記述自体やその制御記述を行う枠組みはない。対話記述部分をHTML、WML、VoiceXMLなどの既存マークアップ言語に変換することでモダリティを生成する。あるいは、ブラウザがCMLを直接実行する場合は、ブラウザがその搭載機器のモダリティを既知のものとし、どのモダリティを対話記述内のどの入出力要素に対応づけるかはブラウザに任せる仕様になっている。
【0011】
また、特開2001−217850は、対話記述の入出力要素を論理UI、モダリティ記述の各モダリティを具象UIとして分離し、クライアントに応じて、その具象UIを制御対象機器の論理UIと動的に結び付ける方法を提案している。
【0012】
今後、No−PC化が進展し、あらゆる種類の機器がCPUと通信機能を搭載し、ネットワークを介してお互いに連携することで、ユーザの利便性を高める方向に進むことが予想される。UIの観点で言えば、携帯電話やデジタルカメラなどのモバイル機器をリモコンがわりに、家電製品や自動販売機を操作するといった機器の種類や場所を選ばない機器操作環境の実現も夢ではない。このような機器操作環境の実現には、上記のマークアップ言語に基づくWebの仕組みが有効である。さらに、機器の種類や場所を選ばない機器操作環境の実現には、モダリティ独立な記述を可能とするマークアップ言語が有効である。
【0013】
【発明が解決しようとする課題】
上記のように、既存のマークアップ言語であるHTMLやWML、VoiceXMLなどは、操作機器形態を想定したモダリティ依存な言語である。そのため、さまざまな種類の機器からの制御を可能にするには、制御対象機器が、想定される操作機器に合わせて複数種類のマークアップ言語を用意しておかなければならなくなる。また、HTML、WML、VoiceXMLなどは複数モダリティを組み合わせた操作を想定していないので、マルチモーダルユーザインタフェースの実現には向かない。
【0014】
また、CMLは、モダリティ独立なマークアップ言語であるものの、HTML、WML、VoiceXMLなどの既存マークアップ言語に変換する方法では、マルチモーダルユーザインタフェースの実現には向かないのは上述のとおりである。一方、ブラウザがCMLを直接実行する方式の場合は、ブラウザがその搭載機器のモダリティを既知のものとし、どのモダリティを対話記述内のどの入出力要素に対応づけるかはブラウザに任せる仕様になっているので、モダリティと入出力要素の対応付けが固定的となり、マークアップ言語の記述によって制御できるといった柔軟性がない。
【0015】
更に、特開2001−217850は、例えば、選択肢から選択するタイプの論理UIには、ラジオボタンやプルダウンメニューなどの具象UIを結び付ける、といった具合に、論理UIと具象UIの非常に単純な結び付けを行なっている。この場合、選択肢の各選択項目のそれぞれに物理ボタンを結び付けたり、一つのボタンを繰り返し押すことで項目を選択するといった結び付けができないため、論理UIに対応付け可能な具象UIにある程度制約が生じてしまうという問題がある。
【0016】
本発明は上記の課題を解決するためになされものであり、様々な機器を容易に操作機器及び制御対象機器として機能させることが可能な情報処理装置及びその制御方法、プログラムを提供することを目的とする。
【0017】
【課題を解決するための手段】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
ネットワークを介して、操作機器と制御対象機器間の制御を支援する情報処理装置であって、
前記操作機器のモダリティに関するモダリティ情報を受信する第1受信手段と、
前記制御対象機器の対話に関する対話情報を受信する第2受信手段と、
前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する生成手段と、
前記バインド情報及び前記対話情報を前記操作機器に送信する送信手段と
を備える。
【0018】
また、好ましくは、前記モダリティ情報、前記対話情報及び前記バインド情報は、マークアップ言語で記述され、
前記マークアップ言語は、
前記制御対象機器の対話の内容を示す対話記述と、
前記対話記述と独立に分離して構成される、前記操作機器のモダリティを示すモダリティ記述と、
前記モダリティ記述と前記対話記述とを結び付けるバインド記述と
を含む。
【0019】
また、好ましくは、前記対話記述は、入出力の処理単位である、1つもしくは複数の最小対話要素から構成され、前記最小対話要素は、0個もしくは1個の入力要素と0個もしくは1個以上の出力要素を含む。
【0020】
また、好ましくは、前記モダリティ記述は、モダリティのクラス間の階層関係及びモダリティのインスタンスを含み、前記操作機器のモダリティの定義は、汎用的なモダリティの定義を記述した汎用モダリティ記述を参照し、そこで定義された汎用モダリティのサブクラスとインスタンスとして定義する。
【0021】
また、好ましくは、前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の入力要素に結び付けるための記述であり、かつ1つの入力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む。
【0022】
また、好ましくは、前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の出力要素に結び付けるための記述であり、かつ1つの出力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む。
【0023】
また、好ましくは、前記操作機器は、前記モダリティ記述に従って、前記モダリティを管理する管理手段と、
前記バインド記述に従って、前記モダリティと前記対話間に関する処理を制御するモダリティ制御手段とを備え、
前記制御対象機器は、前記対話記述に従って、前記対話を管理する対話実行手段と、
前記対話実行手段からの指示に基づいて、当該制御対象機器の制御を実行する制御手段と
を備える。
【0024】
また、好ましくは、前記汎用モダリティと該汎用モダリティに結び付け可能な入出力要素と、その結び付けの適切度情報の記述からなるバインドサンプルを記憶する記憶手段を更に備え、
前記生成手段は、前記バインドサンプルを参照して、前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する。
【0027】
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
ネットワークを介して、操作機器と制御対象機器間の制御を支援する情報処理装置の制御方法であって、
前記操作機器のモダリティに関するモダリティ情報を受信する第1受信工程と、
前記制御対象機器の対話に関する対話情報を受信する第2受信工程と、
前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する生成工程と、
前記バインド情報及び前記対話情報を前記操作機器に送信する送信工程と
を備える。
【0030】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ネットワークを介して、操作機器と制御対象機器間の制御を支援する情報処理装置の制御をコンピュータに機能させるためのプログラムであって、
前記操作機器のモダリティに関するモダリティ情報を受信する第1受信工程のプログラムコードと、
前記制御対象機器の対話に関する対話情報を受信する第2受信工程のプログラムコードと、
前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する生成工程のプログラムコードと、
前記バインド情報及び前記対話情報を前記操作機器に送信する送信工程のプログラムコードと
を備える。
【0033】
【発明の実施の形態】
以下、図面を参照して本発明の好適な一実施形態を詳細に説明する。
[実施形態1]
実施形態1では、図1に示すように、携帯電話からネットワーク経由でコピー機を操作する例について説明する。
【0034】
図1は本発明の実施形態1の情報処理システムの構成図である。
【0035】
同図において、101は、制御対象の一つであるコピー機である。102は、ユーザが操作機器として利用する携帯電話である。
【0036】
103は、操作機器のモダリティと制御対象機器の対話記述の入出力要素をどのように結び付ければよいかを推論し、バインド層を自動生成するバインド推論サーバである。
【0037】
104は、インターネット、専用線、無線網、光ファイバ網等のネットワークである。105は、制御対象の一つであるエアコンである。106は、ユーザが操作機器として利用するデジタルカメラである。
【0038】
尚、図1の情報処理システムを構成する各種機器は、少なくともマークアップ言語を解釈でき、その解釈に基づいて各種処理を実行する機能を有している。
【0039】
次に、コピー機101の構成について説明する。
【0040】
図2は本発明の実施形態1のコピー機の機能構成図である。
【0041】
同図において、1201は対話実行部であり、マークアップ言語の対話層の記述に従って動作する。1202は機器制御部であり、対話実行部1201から機器制御に関する指示があれば、その指示に基づく機器制御を実行する(例えば、「コピーをとる」という指示に従ってコピーを実行する)。1203は通信部であり、ネットワーク104を介して各種機器との通信を行う。1204は、対話層を記述した対話マークアップ言語(ML)である。
【0042】
図3は本発明の実施形態1のコピー機のハードウエア構成を示す構成図である。
【0043】
同図において、201はCPUであり、後述するフローチャートを実現するプログラムに従って動作する。203はRAMであり、上記プログラムの動作に必要な記憶領域や作業領域、データ一時退避領域を提供する。202はROMであり、後述するフローチャートを実現するプログラムや各種データを保持する。204はディスク装置であり、例えば、対話マークアップ言語1204等の各種データを保持する。205はバスであり、上記各構成要素を相互に接続する。
【0044】
次に、携帯電話102の構成について説明する。
【0045】
図4は本発明の実施形態1の携帯電話の機能構成図である。
【0046】
同図において、1301は入出力管理部であり、データ入出力、音声入出力を管理する。1302は音声認識部であり、入力された音声を認識する。1303は音声合成部であり、音声出力対象のデータを音声合成する。1304はモダリティ管理部であり、マークアップ言語のモダリティ層の記述に従って動作し、モダリティ(UI部品)の管理を行う。1305はモダリティ制御部であり、マークアップ言語のバインド層の記述に従って動作する。1306は通信部であり、ネットワーク104を介して各種機器との通信を行う。1307はモダリティ層を記述したモダリティマークアップ言語(ML)である。
【0047】
図5は本発明の実施形態1の携帯電話のハードウエア構成を示す構成図である。
【0048】
同図において、301はCPUであり、後述するフローチャートを実現するプログラムに従って動作する。303はRAMであり、上記プログラムの動作に必要な記憶領域や作業領域、データ一時退避領域を提供する。302はROMであり、後述するフローチャートを実現するプログラムや各種データを保持する。304はマイクであり、音声認識部1302に対する音声入力を行なう。305は液晶表示装置(LCD)である。306はスピーカであり、音声合成部1303による合成音を出力する。307は各種操作を実行するための物理ボタンである。308はバスであり、上記各構成要素を相互に接続する。
【0049】
次に、バインド層推論サーバ103の構成について説明する。
【0050】
図6は本発明の実施形態1のバインド層推論サーバの機能構成図である。
【0051】
同図において、1401はバインド層推論部である。1402はバインド層推論部1402での推論に用いるバインド記述のサンプルを示すバインドサンプルである。1403は通信部であり、ネットワーク104を介して各種機器との通信を行う。
【0052】
図7は本発明の実施形態1のバインド層推論サーバのハードウエア構成を示す構成図である。
【0053】
同図において、401はCPUであり、後述するフローチャートを実現するプログラムに従って動作する。403はRAMであり、上記プログラムの動作に必要な記憶領域や作業領域、データ一時退避領域を提供する。402はROMであり、後述するフローチャートを実現するプログラムや各種データを保持する。404はディスク装置であり、例えば、バインドサンプル1402等の各種データを保持する。405はバスであり、上記各構成要素を相互に接続する。
【0054】
具体的な動作例を説明する前に、本発明のマルチモーダルユーザインタフェースマークアップ言語(以下、MMMLと記述する)の仕様例を説明する。
【0055】
3層構造
本発明では、図8に示すように、デバイスに依存するモダリティ記述とUIロジックである対話記述を分離して記述する。特に、モダリティ記述(タグ<modality>〜</modality>で括られる部分)を示すモダリティ層801、対話記述(タグ<dialog>〜</dialog>で括られる部分)を示す対話層803に加え、モダリティと対話を結び付ける記述(タグ<Binds>〜</Binds>で括られる部分)を示すバインド層802の3層構造をとる。
【0056】
このように、モダリティ記述を分離することによって、一つの対話記述(UIロジック)をモダリティの異なる複数の機器で共有することが可能になる。この3層構造の具体例が図8である。
【0057】
図8では、コピー機101の操作を示すコピー機モダリティ記述(Copier modalities)に加え、携帯電話からでも操作可能にする記述(Mobile phone modalities)の構造を示している。この例のように、コピー機対話記述(Copier Dialog)を1つ構成すれば、機器依存なモダリティ層とバインド層を機器ごとに記述するだけで、さまざまな機器からの操作が可能となる。
【0058】
モダリティのクラスとインスタンス
MMMLにおけるモダリティ層の記述において、各モダリティ、即ち、UI部品を表す語彙を、MMMLの定義語としてすべて事前定義するのは困難であり、また拡張性に欠ける。そこで、一般的に用いられると予想される何種類かのUI部品のクラスをMMML共通語彙として定義し、このクラスを継承することで新規クラスを定義できるようにする。さらに、こうしたクラスのインスタンスの形で、実際のUI記述で用いるUI部品を定義できるようにする。クラスの定義、継承、クラス間の階層関係、インスタンスの定義をXMLで記述する方法として、実施形態1では、RDFスキーマを用いる。RDFスキーマは、Webの標準化団体であるW3C(http://www.w3c.org参照)で標準化されているマークアップ言語(http://www.w3.org/TR/rdf-schema/参照)である。
【0059】
汎用モダリティクラスのスキーマ
一般的に用いられると予想される何種類かGUI部品クラスをMMMLの語彙として、RDFスキーマの形で定義する。このRDFスキーマ(汎用モダリティスキーマ)を図式的に表現した例を、図9に示す。図9のように、RDFスキーマを用いて、UI部品のクラスを階層的に定義できる。例えば、「Button」はサブクラスとして「Physical Button」と「GUI Button」が定義できる。前者は、例えば、コピー機のボタンのようなもの、後者は、例えば、液晶パネルに表示されるボタンである。また、このRDFスキーマのXML表現は、図19A〜図19Eのようになる。
【0060】
操作機器(クライアント)のモダリティスキーマ
MMML共通語彙として定義された一般的なUI部品クラスをベースに、操作機器依存のUI部品クラスやインスタンスを定義するスキーマを記述する。即ち、このモダリティスキーマは、その操作機器において、どのようなモダリティが利用可能かを記述するものであり、その操作機器のメーカーが提供することを想定している。例えば、汎用モダリティスキーマ(Generic Modalities Schema)に対し、図10の携帯電話のUI部品(LCD、物理ボタン、音声入力、音声出力等)に対応する携帯電話モダリティスキーマ(Mobilephone Modalities Schema)の図式例は図11のようになる。また、このモダリティスキーマのXML表現は、図20A及び図20Bのようになる。
【0061】
対話層
これは、具体的な対話記述を行う層であり、モダリティから独立した記述が可能である。MMML記述において、対話層は、タグ<dialog>〜</dialog>の内側に記述する。対話の最小単位はfield(最小対話単位)である。fieldはinput、outputという入出力要素と、filledという要素を持つ。
【0062】
input、outputはそれぞれ、どのような情報を入出力するかを記述するタグであり、属性として、IDを持つ。このIDは、分離して記述されたモダリティとの結び付け(binding)を記述する際に用いられる。これについては、後述する。
【0063】
Input 要素
属するfieldで受け付けたい入力の種類を記述する。入力の種類はtype属性に記述する。また、属性値としては、以下のようなものをMMMLの共通語彙として事前定義する。
【0064】
「selectMe」
これは、入力があったという事実を受け付けるタイプの入力である。「ボタン」や音声などのモダリティをバインドできる。
【0065】
「selectOne」
これは、選択肢の中から一つを選択するタイプの入力である。例えば、ラジオボタンやプルダウンメニューなどが典型的なモダリティである。selectOneタイプのinputは、選択肢をitemタグによって記述する。各itemに「ボタン」などのモダリティをバインドすることも可能である。
【0066】
「selectMany」
これは、選択肢の中から複数を選択するタイプの入力である。例えば、コンボボックス(ComboBox)などが典型的なモダリティである。selectOneタイプと同様、選択肢をitemタグで記述する。
【0067】
「TextString」
文字列の入力を受け付けるタイプの入力である。例えば、GUIのテキストボックスや音声入力が典型的なモダリティである。
【0068】
Output 要素
属するfieldでの出力を記述する。出力内容は、contentタグで記述することができる。
【0069】
filled 要素
各fieldにおける入力に対するアクション(アクション情報)を記述する。アクションの種類はさまざまである。このアクションとしては、スクリプト記述あるいは何らかの記述方法で、UI以外の内部プログラムとインタラクションする(例えば、「コピースタート」の入力を受けて、実際にコピーを行う処理プログラムを起動するなど)ことなどが、典型的なアクションである。また、入力に対して応答を行うような場合に、outputタグをfilledの中に記述することもできる。
【0070】
fields の役割
fieldをグループ化する。一般にUIロジックは、状態がいくつかのグループにわかれ、グループ単位でUIロジックを定義するといったケースが多いため、fieldsで適当なグループ化をしておくと便利である(例えば、コピー機の初期画面とそれぞれの設定モード)。
【0071】
コピー機の対話層例
コピー機UIの対話層の記述例を図12に、そのXML表現を図21A及び図21Bに示す。
【0072】
この例では、コピーの実行(CopyStart)、用紙選択(PaperSize)、片面・両面(PrintSides)指定を行うUIを記述している。この例において、モダリティ記述、即ち、ボタンで入力するのか、音声で入力するのか、あるいは、テキストで表示するのか、音声で通知するのか等の具体的にどんなUI部品を使用するのかについては、一切記述していない(モダリティ独立である)ことに注意されたい。
【0073】
バインド層
モダリティ独立な対話記述ではモダリティが排除されるため、モダリティと対話記述の関連付けを行う必要がある。バインド層はその関連付けを記述する層であり、モダリティ層で定義された各モダリティと、対話層中の各入出力要素とを結び付ける。対応付けの記述は、対応付けるモダリティのID、入出力要素のIDを、URI(Uniform Resource Identifier)で参照する形で行う。バインド層は、タグ<Binds>〜</Binds>の内側に記述する。各バインド要素は、タグ<Binds>〜</Binds>の内側に記述する。対話層の1つの入出力要素に複数のモダリティをバインドすることで、複数モダリティの選択利用や協調利用を用いたマルチモーダルUIを記述することができる。バインド層では、次のようなモダリティ管理に関する記述が可能である。
【0074】
・複数モダリティの組み合わせ方の記述
・出力内容の記述
・モダリティのactivate/deactivateの記述
複数モダリティの組み合わせ方の記述
複数のモダリティを1つの入出力要素にバインドする場合、選択利用や協調利用など、モダリティの組み合わせ方を指示できる。組み合わせ方の指示は、BindType属性で記述する。BindType属性の属性値としては、以下のようなものをMMMLの共通語彙として事前定義する。
【0075】
「Alt」
入出力要素にバインドされた複数のモダリティのいずれか一つが利用可能である。複数モダリティの優先順位は記述された順とする。例えば、コピー機で「A4かB5か」の用紙選択を行う入力要素に、ラジオボタンのモダリティと音声入力のモダリティを「Alt」属性でバインドした場合、これは、ラジオボタンによる選択もしくは音声入力のどちらでも用紙選択ができることを意味する。
【0076】
「Seq」
入出力要素にバインドされた複数のモダリティを順に適用する。例えば、「ボタンAを押した後、発声する」といった入力に対応する。
【0077】
「Coordinated」
入出力要素にバインドされた複数のモダリティを協調させる。例えば、「東京からここまで」と発声しながら、表示された地図上の「大阪」をポインティングデバイスで指示する、といった入力に対応する。どのような協調動作になるかはMMMLを実行するブラウザの仕様に依存するものとし、本発明では規定しない。
【0078】
出力内容の記述
対話層の出力要素をバインドするバインド要素中に、その出力内容を記述することができる。出力内容は、タグ<Binds>〜</Binds>ののすぐ内側に書いてもよいし、バインドする各モダリティ記述の内側に書いてもよい。このようにすることで、モダリティに応じたより適切な出力内容を記述することができる。
【0079】
例えば、音声合成モダリティに対しては、「コピーが完了しました」というメッセージを出力内容にし、報知音再生モダリティに対しては、「ピッ」という音を鳴らすオーディオファイルのファイル名を与えるといった記述ができる。前述の通り、出力内容は、対話層の出力要素内(タグ<output>〜</output>の内側)にも記述可能である。これらの優先順位は、
バインド要素中のモダリティ記述の内側 > バインド要素のすぐ内側 > 対話層の出力要素の内側
となっている。
【0080】
モダリティの activate deactivate の記述
バインドされた各モダリティをactivate/deactivate(有効化/無効化)することが可能である。例えば、周囲雑音が大きい場合に、音声入力モダリティをdeactivateするといった記述が可能である。activate/deactivateは、それぞれ、<activate modality="..."/>タグや<deactivate modality="..."/>タグで記述する。
【0081】
バインド層例
例えば、携帯電話102からコピー機101を操作するために、携帯電話102のモダリティ記述(図11)とコピー機の対話記述(図12)を結び付けるバインド層例を図13に示す。さらに、そのXML表現は図22のようになる。
【0082】
このようにして、本発明では、任意のモダリティ層と任意の対話層に対して、バインド推論サーバ103がこのバインド層を自動生成することによって、任意の操作機器(例えば、携帯電話102)から任意の制御対象機器(コピー機101)を操作可能にする。
【0083】
携帯電話からコピー機を操作する動作例
以上のような仕様のマークアップ言語の仕様に従って、携帯電話からコピー機を操作する例についてする。
【0084】
尚、携帯電話102は、図11のようなモダリティ層を有するマークアップ言語を保持している。これは、通常、携帯電話102のメーカーが作成し、出荷時に携帯電話に載せておくものとする。一方、コピー機101は、図13のような対話層を有するマークアップ言語を保持している。これは、通常、コピー機101のメーカーが作成し、出荷時にコピー機101に載せておくものとする。
【0085】
バインド層推論サーバ103は、例えば、図14のようなバインドサンプルを保持している。このバインドサンプルは、図9のスキーマで定義された各汎用モダリティ(Generic Modalities)が入出力要素にバインド可能か、さらに、そのバインドがどの程度適切かを示す適切度情報(図14のバインド層の数字(1〜5の値)が適切度であり、数字が大きいほど適切度が高い)を示している。
【0086】
例えば、モダリティ「Button」は、「selectMe」タイプの入力要素と適切度5でバインド可能で、さらに、「selectOne」タイプの入力要素の各選択肢(item)に適切度3でバインド可能であることを示している。前者は、「コピー機のスタートボタンを押したらコピー開始」といった対応付けであり、後者は「”東京”、”大阪”、”名古屋”の選択肢のうち、ボタンAを押したら”東京”、ボタンBを押したら”大阪”、ボタンCを押したら”名古屋”が選ばれる」といった対応付けである。
【0087】
また、モダリティ「GUIRadioButton」は、「selectOne」タイプの入力要素に適切度5でバインド可能であることを示している。そのため、「Button」クラス、「GUIRadioButton」クラス両方のUI部品を備えている操作機器であれば、「selectOne」タイプの入力要素には、その適切度が5であるため、「GUIRadioButton」クラスのモダリティをバインドしたほうがより適切ということになる。
【0088】
バインド層推論サーバ103は、こうしたバインドサンプルに基づいて、実際の操作機器のモダリティと制御対象機器の入出力要素のバインドを行なう。その具体的な動作例を詳しく説明する。
【0089】
図18は本発明の実施形態1のバインド層推論サーバで実行される処理を示すフローチャートである。
【0090】
まず、ユーザが、外出先から、携帯電話102(操作機器)でオフィスのコピー機101(制御対象機器)を操作しようとした場合、ステップ101で、まず、コピー機101のURLと携帯電話102のモダリティ層(図11)を含むモダリティ情報を、バインド層推論サーバ103に送信する。
【0091】
バインド層推論サーバ103は、ステップS201で、携帯電話102からモダリティ情報を受信する。次に、ステップS202で、受信したモダリティ情報中のURLからコピー機101に対話記述を含む対話情報の送信のリクエストを発行する。
【0092】
コピー機101は、このリクエストをバインド推論サーバ103から受信すると、ステップS301で、自身の対話層(図12)に関する対話情報をバインド推論サーバ103へ送信する。
【0093】
バインド層推論サーバ103は、ステップS203で、コピー機101から対話情報を受信する。次に、ステップS204で、その対話情報中の対話記述の各入出力要素に対し、携帯電話102のどのモダリティをバインドすればよいかをバインド層推論部1401で決定する。具体的には、バインドサンプル1402(図14)を参照して、以下のようにして、携帯電話102のモダリティ記述とコピー器101の対話記述とを結び付けるバインド層を含むバインド情報を生成する。
【0094】
例えば、コピー機101の対話記述の「CopyStart」fieldの入力要素は、「selectMe」タイプであるので、図14からこれにバインドするのに適当なモダリティは、「Button」クラスのモダリティであることがわかる。また、図9と図11から、携帯電話102の持つモダリティの中で、「Button」クラスの下位クラスのインスタンスとしては、テンキー(0〜9)の「10Key-0」〜「10Key-9」があることがわかる。そこで、その中の適当な一つである「10Key-0」を「CopyStart」fieldの入力要素にバインドすることにする。
【0095】
同様に、「PaperSize」fieldの入力要素は、「selecOne」タイプであるので、図14から、「GUIRadioButton」クラス、「GUICheckBox」クラス、「SpeechInput」クラスをバインドするか、「Button」クラスのモダリティを各選択肢にバインドすればよいことがわかる。図9と図11から、携帯電話102の持つモダリティの中では、「MyASR」という音声入力モダリティをバインドするか、テンキー「10Key-0」〜「10Key-9」を各選択肢にバインドすればよいことがわかる。
【0096】
ここでは、「10Key-0」はすでにバインドされているので、「10Key-1」と「10Key-2」をそれぞれ選択肢の「A4」、「B5」にバインドすることにする。これにより、「MyASR」のバインドして、音声入力とボタン入力の両方が可能なマルチモーダルインターフェースを構成できる。
【0097】
尚、音声入力モダリティ「MyASR」の認識語彙は、選択肢から自動的に「エーヨン」、「ビーゴ」を生成する。これは選択肢の記述「A4」、「B5」から言語解析による読み付け処理で可能である。尚、読み付け処理については、音声合成などの技術で使われる手法で実現可能であり、その具体的な内容は本発明の対象外である。
【0098】
また、「PrintSides」fieldの入力要素についても同様にし、「10Key-3」と「10Key-4」を各選択肢に、さらに、音声入力モダリティ「MyASR」をバインドする。このようにして、図13のようなバインド層を含むバインド情報を生成する。バインド層推論サーバ103は、ステップS205で、このバインド層を含むバインド情報と、コピー機101の対話層(図12)を含む対話情報を合わせて、携帯電話102に送信する。
【0099】
これによって、携帯電話102では、自身のモダリティとコピー機101の対話記述がバインド層で結び付けられたマークアップ言語を有することになり、このマークアップ言語に基づいて、コピー機101の各種操作を実行することができる。
【0100】
以下、携帯電話102及びコピー機101間の操作例について説明する。
【0101】
携帯電話102は、バインド推論サーバ103からバインド層及び対話層を受信した後、例えば、ユーザが携帯電話102のテンキー「1」を押すと、携帯電話102の入出力管理部1301がこれを検知する。この検知によって、モダリティ管理部1304がモダリティ「10Key-1」を介した入力があったことを知る。
【0102】
モダリティ制御部1305は、バインド層推論サーバ103から受信したバインド層記述(図13)を参照し、これがコピー機101の「PaperSize」fieldの入力要素の選択肢「A4」にバインドされていることがわかるので、その旨を図15のようなXMLデータとして、通信部1306を介してコピー機101に送信する。
【0103】
コピー機101は、通信部1203を介して図15のXMLデータを受信し、対話実行部1201でその内容を解釈し、用紙サイズが「A4」に設定されたことを知る。続けて、ユーザがテンキー「0」を押すと、携帯電話102の入出力管理部1301がこれを検知し、モダリティ管理部1304がモダリティ「10Key-0」を介した入力があったことを知る。
【0104】
モダリティ制御部1305は、バインド層推論サーバ103から受信したバインド層記述(図13)を参照し、これがコピー機101の「CopyStart」fieldという入力要素にバインドされていることがわかるので、その旨を図16のようなXMLデータとして、通信部1306を介してコピー機101に送信する。
【0105】
そして、コピー機101は、通信部1203を介して図16のXMLデータを受信し、対話実行部1201でその内容を解釈し、機器制御部1202によってコピーを開始する。
【0106】
上記のように、操作機器(例えば、携帯電話102)のモダリティと制御対象機器(例えば、コピー機101)の対話記述内の入出力要素とのバインドを、バインド層推論サーバ103で行うので、操作機器としてデジタルカメラ106に持ち替えたとしても、デジタルカメラ106がそれ自身のモダリティ記述や図4と同様の機能を構成していれば、同じようにコピー機101を制御できる。また、制御対象機器がエアコン105であっても、エアコンがそれ自身の制御手順である対話記述(図17)と図2と同様の機能を構成していれば、同じように制御できる。
【0107】
以上説明したように、実施形態1によれば、操作機器及び制御対象機器に係る処理をマークアップ言語に基づいて実現する環境において、特に、このマークアップ言語に、
制御対象機器の対話記述
操作機器のモダリティ記述
その対話記述とモダリティ記述を結び付けるバインド記述
を構成する。
【0108】
そして、操作機器には、マークアップ言語中のモダリティ記述の内容に従って、各モダリティを用いた入出力管理を行うモダリティ管理部と、マークアップ記述言語中のバインド層の記述に従って、各モダリティと結び付けられた入出力要素との間の情報の受け渡しを行うモダリティ制御部を構成する。また、制御対象機器には、マークアップ言語中の対話記述の内容に従って、モダリティ管理部が管理している各モダリティからの入力の受け付け、各モダリティへの出力の指示を実行する対話実行部を構成する。そして、マークアップ言語のバインド記述の内容に従って、各モダリティと結び付けられた入出力要素との間の情報を受け渡しを行うバインド推論部をバインド推論サーバに構成する。
【0109】
これにより、任意の機器を自動的に、任意の機器を制御対象機器とする操作機器として構成することができる。また、その操作機器をマルチモーダルユーザインタフェースを備えた操作機器として構成することができる。
[実施形態2]
上記実施形態1では、操作機器として携帯電話とデジカメ、制御対象機器としてコピー機とエアコンの例を示したが、操作機器、制御対象機器が上述した機能と同様の機能を持っていさえすれば、任意の機器(例えば、PDA、リモコン等)から任意の機器(ファクシミリ、プリンタ、スキャナ等のOA機器、電気ポット、冷蔵庫、テレビ等の家電品)を、それぞれ操作機器、制御対象機器とすることができることは言うまでもない。
[実施形態3]
上記実施形態1では、機器間をつなぐネットワークをインターネットとしていたが、XMLで記述されたテキスト情報を送受信できるものであればどのような種類のネットワークでもよいし、どのようなプロトコルでもよい。
[実施形態4]
上記実施形態1では、バインド層推論部1401をバインド層推論サーバ103上で構成していたが、バインド層推論部1401を操作機器(クライアント)に構成して、自分自身のモダリティと制御対象機器の対話記述のバインド記述を生成するようにしてもよい。
[実施形態5]
上記実施形態1では、上述の各機器で実行される動作を実現するプログラムをROMに保持する場合について説明したが、これに限定されるものではなく、任意の記憶媒体を用いて実現してもよい。また、同様の動作を実現する回路で実現してもよい。
【0110】
以上、実施形態例を詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0111】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0112】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0113】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0114】
プログラムを供給するための記録媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0115】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【0116】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0117】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0118】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【0119】
【発明の効果】
以上説明したように、本発明によれば、様々な機器を容易に操作機器及び制御対象機器として機能させることが可能な情報処理装置及びその制御方法、プログラムを提供できる。
【図面の簡単な説明】
【図1】本発明の実施形態1の情報処理システムの構成図である。
【図2】本発明の実施形態1のコピー機の機能構成図である。
【図3】本発明の実施形態1のコピー機のハードウエア構成を示す構成図である。
【図4】本発明の実施形態1の携帯電話の機能構成図である。
【図5】本発明の実施形態1の携帯電話のハードウエア構成を示す構成図である。
【図6】本発明の実施形態1のバインド層推論サーバの機能構成図である。
【図7】本発明の実施形態1のバインド層推論サーバのハードウエア構成を示す構成図である。
【図8】本発明の実施形態1のマークアップ言語の構造を示す図である。
【図9】本発明の実施形態1の汎用モダリティのスキーマ記述を図式化した図である。
【図10】本発明の実施形態1の携帯電話のUIの構成例を示す図である。
【図11】本発明の実施形態1の携帯電話のモダリティのスキーマ記述を図式化した図である。
【図12】本発明の実施形態1のコピー機の対話層を図式化した図である。
【図13】本発明の実施形態1のバインド層の記述を図式化した図である。
【図14】本発明の実施形態1のバインド層推論部が保持するバインドサンプルを図式化し図である。
【図15】本発明の実施形態1の携帯電話からコピー機に送信する情報例を示す図である。
【図16】本発明の実施形態1の携帯電話からコピー機に送信する別の情報例を示す図である。
【図17】本発明の実施形態1のエアコンの対話層を図式化した図である。
【図18】本発明の実施形態1のバインド層推論サーバで実行される処理を示すフローチャートである。
【図19A】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図19B】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図19C】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図19D】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図19E】本発明の実施形態1の汎用モダリティスキーマのXML表現例を示す図である。
【図20A】本発明の実施形態1の携帯電話のモダリティスキーマのXML表現例を示す図である。
【図20B】本発明の実施形態1の携帯電話のモダリティスキーマのXML表現例を示す図である。
【図21A】本発明の実施形態1のコピー機の対話層のXML表現例を示す図である。
【図21B】本発明の実施形態1のコピー機の対話層のXML表現例を示す図である。
【図22】本発明の実施形態1の携帯電話のモダリティとコピー機の対話記述の入出力要素をバインドするバインド層のXML表現例を示す図である。
【符号の説明】
101 コピー機
102 携帯電話
103 バインド推論サーバ
104 ネットワーク
105 エアコン
106 デジタルカメラ
1201 対話実行部
1202 機器制御部
1203 通信部
1204 対話記述ML
1301 入出力管理部
1302 音声認識部
1303 音声合成部
1304 モダリティ管理部
1305 モダリティ制御部
1306 通信部
1307 モダリティML
1401 バインド層推論部
1402 バインドサンプル
1403 通信部
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an information processing device that supports control between an operation device and a control target device via a network, an information processing device that operates as an operation device that controls the operation of the control target device, and an instruction from the operation device. The present invention relates to an information processing apparatus that operates as a control target device that executes processing, a control method thereof, and a 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 PC). 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. 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).
[0006]
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.
[0007]
There are two kinds of methods for such dialog description and modality description.
[0008]
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.
[0009]
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.
[0010]
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.
[0011]
Japanese Patent Laid-Open No. 2001-217850 separates input / output elements of a dialog description as a logical UI and each modality of a modality description as a concrete UI, and dynamically changes the concrete UI to a logical UI of a control target device according to a client. Proposes a way to connect.
[0012]
In the future, No-PC will progress, and it is expected that all types of devices will be equipped with CPUs and communication functions, and will cooperate with each other via a network to improve user convenience. From the UI point of view, it is not a dream to realize a device operating environment that does not select the type and location of devices, such as operating home appliances and vending machines instead of remote controls for mobile devices such as mobile phones and digital cameras. A Web mechanism based on the above markup language is effective in realizing such a device operating environment. Furthermore, a markup language that enables modality-independent description is effective for realizing a device operating environment where the type and location of the device are not selected.
[0013]
[Problems to be solved by the invention]
As described above, HTML, WML, VoiceXML, and the like, which are existing markup languages, are modality-dependent languages that assume an operating device form. Therefore, in order to enable control from various types of devices, the control target device must prepare a plurality of types of markup languages in accordance with the assumed operation device. In addition, HTML, WML, VoiceXML, and the like are not suitable for the realization of a multimodal user interface because operations that combine multiple modalities are not assumed.
[0014]
Also, although CML is a modality-independent markup language, the method of converting to an existing markup language such as HTML, WML, VoiceXML, etc. is not suitable for realizing a multimodal user interface as described above. On the other hand, when the browser directly executes CML, the browser is assumed to have a known modality of the installed device, and the specification is left to the browser which modality is associated with which input / output element in the dialog description. Therefore, the correspondence between the modality and the input / output elements is fixed, and there is no flexibility that can be controlled by the description of the markup language.
[0015]
Furthermore, Japanese Patent Laid-Open No. 2001-217850 provides a very simple connection between a logical UI and a concrete UI, for example, a logical UI of a type selected from options is connected to a concrete UI such as a radio button or a pull-down menu. Is doing. In this case, there is some restriction on the concrete UI that can be associated with the logical UI because it is not possible to associate a physical button with each selection item of the option or to select an item by repeatedly pressing one button. There is a problem of end.
[0016]
The present invention has been made to solve the above-described problems, and an object of the present invention is to provide an information processing apparatus capable of easily causing various devices to function as operation devices and control target devices, a control method therefor, and a program. And
[0017]
[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,
An information processing device that supports control between an operation device and a control target device via a network,
First receiving means for receiving modality information relating to the modality of the operating device;
Second receiving means for receiving dialogue information relating to dialogue of the control target device;
Generating means for generating binding information for inferring and connecting a relationship between the modality information and the dialogue information;
Transmitting means for transmitting the binding information and the dialogue information to the operating device;
Is provided.
[0018]
Preferably, the modality information, the dialogue information, and the bind information are described in a markup language.
The markup language is
A dialog description indicating the content of the dialog of the control target device;
A modality description indicating a modality of the operating device, which is configured separately from the dialog description;
A bind description linking the modality description and the dialog description;
including.
[0019]
Preferably, 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. The above output elements are included.
[0020]
Preferably, the modality description includes a hierarchical relationship between modality classes and modality instances, and the definition of the modality of the operating device refers to a general-purpose modality description describing a general-purpose modality definition, wherein Defined as a subclass and instance of the defined generic modality.
[0021]
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.
[0022]
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.
[0023]
Preferably, the operating device includes a management unit that manages the modality according to the modality description;
Modality control means for controlling processing related to the modality and the dialogue according to the binding description,
The control target device includes dialog execution means for managing the dialog according to the dialog description;
Control means for executing control of the control target device based on an instruction from the dialogue execution means;
Is provided.
[0024]
Preferably, the apparatus further comprises storage means for storing a bind sample including the general-purpose modality, input / output elements that can be linked to the general-purpose modality, and description of appropriateness information of the binding,
The generation means generates bind information that infers and links the relationship between the modality information and the dialogue information with reference to the bind sample.
[0027]
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 of an information processing apparatus that supports control between an operation device and a control target device via a network,
A first receiving step of receiving modality information related to the modality of the operating device;
A second receiving step of receiving dialogue information related to the dialogue of the control target device;
Generating binding information for inferring and linking a relationship between the modality information and the dialogue information;
A transmission step of transmitting the binding information and the dialogue information to the operating device;
Is provided.
[0030]
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 the control of an information processing apparatus that supports control between an operation device and a control target device via a network,
A program code of a first receiving step for receiving modality information relating to the modality of the operating device;
Program code of a second receiving step for receiving dialogue information relating to dialogue of the control target device;
A program code of a generating step for generating binding information for inferring and linking a relationship between the modality information and the dialogue information;
A program code of a transmission step of transmitting the binding information and the dialogue information to the operating device;
Is provided.
[0033]
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]
In the first embodiment, as shown in FIG. 1, an example in which a copier is operated from a mobile phone via a network will be described.
[0034]
FIG. 1 is a configuration diagram of an information processing system according to the first embodiment of the present invention.
[0035]
In the figure, reference numeral 101 denotes a copier that is one of the control targets. Reference numeral 102 denotes a mobile phone used as an operation device by the user.
[0036]
Reference numeral 103 denotes a bind inference server that infers how to connect the modality of the operation device and the input / output element of the dialog description of the control target device, and automatically generates a bind layer.
[0037]
Reference numeral 104 denotes a network such as the Internet, a dedicated line, a wireless network, and an optical fiber network. Reference numeral 105 denotes an air conditioner that is one of the controlled objects. A digital camera 106 is used as an operation device by the user.
[0038]
1 can interpret at least a markup language, and has a function of executing various processes based on the interpretation.
[0039]
Next, the configuration of the copy machine 101 will be described.
[0040]
FIG. 2 is a functional configuration diagram of the copier according to the first embodiment of the present invention.
[0041]
In the figure, reference numeral 1201 denotes a dialog execution unit which operates according to the description of the dialog layer of the markup language. Reference numeral 1202 denotes a device control unit. If there is an instruction related to device control from the dialogue execution unit 1201, device control is executed based on the instruction (for example, copying is executed in accordance with an instruction “copy”). A communication unit 1203 communicates with various devices via the network 104. 1204 is a dialogue markup language (ML) describing a dialogue layer.
[0042]
FIG. 3 is a block diagram showing the hardware configuration of the copier according to the first embodiment of the present invention.
[0043]
In the figure, reference numeral 201 denotes a CPU, which operates according to a program that realizes 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. Reference numeral 204 denotes a disk device, which holds various data such as an interactive markup language 1204, for example. Reference numeral 205 denotes a bus that interconnects the above-described components.
[0044]
Next, the configuration of the mobile phone 102 will be described.
[0045]
FIG. 4 is a functional configuration diagram of the mobile phone according to the first embodiment of the present invention.
[0046]
In the figure, reference numeral 1301 denotes an input / output management unit which manages data input / output and voice input / output. Reference numeral 1302 denotes a voice recognition unit which recognizes input voice. A voice synthesizer 1303 synthesizes voice output target data. A modality management unit 1304 operates according to the description of the modality layer of the markup language, and manages modalities (UI parts). Reference numeral 1305 denotes a modality control unit which operates according to the description of the markup language bind layer. A communication unit 1306 communicates with various devices via the network 104. Reference numeral 1307 denotes a modality markup language (ML) describing a modality layer.
[0047]
FIG. 5 is a configuration diagram showing a hardware configuration of the mobile phone according to the first embodiment of the present invention.
[0048]
In the figure, reference numeral 301 denotes a CPU, which operates according to a program that realizes a flowchart to be described later. A RAM 303 provides a storage area, a work area, and a data temporary save area necessary for the operation of the program. Reference numeral 302 denotes a ROM that holds programs and various data for realizing flowcharts to be described later. Reference numeral 304 denotes a microphone that performs voice input to the voice recognition unit 1302. Reference numeral 305 denotes a liquid crystal display (LCD). Reference numeral 306 denotes a speaker, which outputs a synthesized sound by the voice synthesis unit 1303. Reference numeral 307 denotes a physical button for executing various operations. Reference numeral 308 denotes a bus that interconnects the above-described components.
[0049]
Next, the configuration of the bind layer inference server 103 will be described.
[0050]
FIG. 6 is a functional configuration diagram of the bind layer inference server according to the first embodiment of the present invention.
[0051]
In the figure, reference numeral 1401 denotes a bind layer inference unit. Reference numeral 1402 denotes a bind sample indicating a bind description sample used for inference in the bind layer inference unit 1402. A communication unit 1403 communicates with various devices via the network 104.
[0052]
FIG. 7 is a configuration diagram showing a hardware configuration of the bind layer inference server according to the first embodiment of the present invention.
[0053]
In the figure, reference numeral 401 denotes a CPU, which operates according to a program for realizing a flowchart to be described later. A RAM 403 provides a storage area, a work area, and a data temporary save area necessary for the operation of the program. Reference numeral 402 denotes a ROM which holds programs and various data for realizing a flowchart described later. Reference numeral 404 denotes a disk device that holds various data such as a bind sample 1402. Reference numeral 405 denotes a bus that interconnects the above-described components.
[0054]
Before describing a specific operation example, a specification example of the multimodal user interface markup language (hereinafter referred to as MMML) of the present invention will be described.
[0055]
Three-layer structure
In the present invention, as shown in FIG. 8, the modality description depending on the device and the dialog description which is UI logic are described separately. In particular, in addition to a modality layer 801 indicating a modality description (portion enclosed by tags <modality> to </ modality>), an interaction layer 803 indicating an interaction description (portion enclosed by tags <dialog> to </ dialog>), It has a three-layer structure of a bind layer 802 that indicates a description (a portion enclosed by tags <Binds> to </ Binds>) that links a modality and a dialogue.
[0056]
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.
[0057]
FIG. 8 shows the structure of a description (Mobile phone modalities) that can be operated from a mobile phone in addition to a copy machine modality description (Copier modalities) indicating the operation of the copy machine 101. 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.
[0058]
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.
[0059]
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. FIG. 9 shows an example in which this RDF schema (general-purpose modality schema) is schematically represented. As shown in FIG. 9, UI component classes can be defined hierarchically 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. 19A to 19E.
[0060]
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, in contrast to the Generic Modalities Schema, a schematic example of a mobile phone modality schema corresponding to the mobile phone UI components (LCD, physical buttons, voice input, voice output, etc.) shown in FIG. As shown in FIG. The XML representation of this modality schema is as shown in FIGS. 20A and 20B.
[0061]
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.
[0062]
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.
[0063]
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.
[0064]
"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.
[0065]
"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.
[0066]
"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.
[0067]
"TextString"
This type of input accepts input of character strings. For example, GUI text boxes and voice input are typical modalities.
[0068]
Output element
Describes the output in the field to which it belongs. The output contents can be described with the content tag.
[0069]
filled element
Describes the action (action information) for the input in each field. There are various types of actions. This action includes interacting with an internal program other than the UI by script description or some description method (for example, receiving a “copy start” input and starting a processing program that actually performs copying). A typical action. Moreover, when responding to an input, an output tag can be described in filled.
[0070]
fields Role
Group fields. In general, UI logic is divided into several groups, and there are many cases where UI logic is defined in units of groups, so it is convenient to appropriately group fields (for example, the initial screen of a copier). And each setting mode).
[0071]
Example of a copier dialogue layer
FIG. 12 shows a description example of the interaction layer of the copy machine UI, and FIG. 21A and FIG. 21B show its XML representation.
[0072]
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 by buttons, voice, text display, or voice notification, is not used at all. Note that it is not described (modality independent).
[0073]
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.
[0074]
・ 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.
[0075]
"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 voice input modality are bound with the “Alt” attribute to the input element that selects the paper of “A4 or B5” on the copier, this is the selection of the radio button or voice input. Either means that the paper can be selected.
[0076]
"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”.
[0077]
"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.
[0078]
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.
[0079]
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.
[0080]
Modality activate / deactivate Description
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.
[0081]
Binding layer example
For example, FIG. 13 shows an example of a binding layer that links the modality description (FIG. 11) of the mobile phone 102 and the dialog description (FIG. 12) of the copy machine in order to operate the copy machine 101 from the mobile phone 102. Further, the XML expression is as shown in FIG.
[0082]
In this way, in the present invention, the bind reasoning server 103 automatically generates this bind layer for any modality layer and any interaction layer, so that any operation device (for example, the mobile phone 102) can arbitrarily The control target device (copy machine 101) can be operated.
[0083]
Example of operating a copier from a mobile phone
An example in which a copier is operated from a mobile phone according to the markup language specifications as described above will be described.
[0084]
The mobile phone 102 holds a markup language having a modality layer as shown in FIG. This is normally created by the manufacturer of the mobile phone 102 and placed on the mobile phone at the time of shipment. On the other hand, the copier 101 holds a markup language having an interactive layer as shown in FIG. This is normally created by the manufacturer of the copy machine 101 and placed on the copy machine 101 at the time of shipment.
[0085]
The bind layer inference server 103 holds a bind sample as shown in FIG. 14, for example. This binding sample shows whether or not each generic modality defined in the schema of FIG. 9 can be bound to an input / output element, and appropriateness information indicating how appropriate the binding is (in the binding layer of FIG. 14). The number (value of 1 to 5) is the appropriateness, and the larger the number, the higher the appropriateness).
[0086]
For example, the modality “Button” can be bound to an input element of “selectMe” type with an appropriateness of 5, and can be further bound to each option (item) of an input element of the “selectOne” type with an appropriateness of 3. Show. The former is a correspondence such as “Copying starts when the start button of the copier is pressed”, and the latter is an option of “Tokyo”, “Osaka”, “Nagoya”. The association is “Osaka” when B is pressed and “Nagoya is selected when button C is pressed”.
[0087]
The modality “GUIRadioButton” indicates that it can be bound to the “selectOne” type input element with the appropriateness 5. Therefore, if the operating device has UI parts of both the “Button” class and the “GUIRadioButton” class, the appropriateness of the “selectOne” type input element is 5, so the modality of the “GUIRadioButton” class It would be more appropriate to bind.
[0088]
The bind layer inference server 103 binds the modality of the actual operation device and the input / output elements of the control target device based on such a bind sample. A specific example of the operation will be described in detail.
[0089]
FIG. 18 is a flowchart showing processing executed by the bind layer inference server according to the first embodiment of the present invention.
[0090]
First, when the user tries to operate the office copier 101 (control target device) with the mobile phone 102 (operating device) from outside, in step 101, first, the URL of the copier 101 and the mobile phone 102 Modality information including the modality layer (FIG. 11) is transmitted to the bind layer inference server 103.
[0091]
The bind layer inference server 103 receives modality information from the mobile phone 102 in step S201. Next, in step S202, a request for transmission of dialog information including a dialog description is issued to the copy machine 101 from the URL in the received modality information.
[0092]
Upon receiving this request from the bind reasoning server 103, the copier 101 transmits the dialog information regarding its own dialog layer (FIG. 12) to the bind reasoning server 103 in step S301.
[0093]
The bind layer inference server 103 receives the dialogue information from the copy machine 101 in step S203. Next, in step S204, the bind layer inference unit 1401 determines which modality of the mobile phone 102 should be bound to each input / output element of the dialog description in the dialog information. Specifically, with reference to the bind sample 1402 (FIG. 14), bind information including a bind layer that links the modality description of the mobile phone 102 and the dialog description of the copy machine 101 is generated as follows.
[0094]
For example, since the input element of the “CopyStart” field in the dialogue description of the copier 101 is of the “selectMe” type, the modality appropriate for binding to this from FIG. 14 may be the modality of the “Button” class. Understand. Also, from FIG. 9 and FIG. 11, among the modalities of the mobile phone 102, “10Key-0” to “10Key-9” of the numeric keypads (0 to 9) are instances as subclass instances of the “Button” class. I know that there is. Therefore, “10Key-0”, which is an appropriate one, is bound to the input element of “CopyStart” field.
[0095]
Similarly, since the input element of the “PaperSize” field is of the “selecOne” type, the “GUIRadioButton” class, the “GUICheckBox” class, the “SpeechInput” class are bound from FIG. 14, or the modality of the “Button” class is changed. You can see that you only need to bind to each option. From FIG. 9 and FIG. 11, among the modalities of the mobile phone 102, the voice input modality “MyASR” may be bound, or the numeric keys “10Key-0” to “10Key-9” may be bound to each option. I understand.
[0096]
Here, since “10Key-0” is already bound, “10Key-1” and “10Key-2” are bound to the choices “A4” and “B5”, respectively. This makes it possible to configure a multimodal interface that allows both voice input and button input by binding “MyASR”.
[0097]
Note that the recognition vocabulary of the voice input modality “MyASR” automatically generates “Ayeon” and “Vigo” from the choices. This can be done by reading from the descriptions “A4” and “B5” of the options by language analysis. Note that the reading process can be realized by a technique used in a technique such as speech synthesis, and the specific contents thereof are out of the scope of the present invention.
[0098]
The same applies to the input element of the “PrintSides” field, binding “10Key-3” and “10Key-4” to each option, and further binding the voice input modality “MyASR”. In this way, the bind information including the bind layer as shown in FIG. 13 is generated. In step S <b> 205, the bind layer inference server 103 combines the bind information including the bind layer and the dialog information including the dialog layer (FIG. 12) of the copier 101 and transmits the combined information to the mobile phone 102.
[0099]
As a result, the mobile phone 102 has a markup language in which its modality and the dialog description of the copy machine 101 are combined in the bind layer, and various operations of the copy machine 101 are executed based on this markup language. can do.
[0100]
Hereinafter, an operation example between the mobile phone 102 and the copy machine 101 will be described.
[0101]
After receiving the bind layer and the conversation layer from the bind reasoning server 103, for example, when the user presses the numeric keypad “1” of the mobile phone 102, the input / output management unit 1301 of the mobile phone 102 detects this. . By this detection, the modality management unit 1304 knows that there is an input via the modality “10Key-1”.
[0102]
The modality control unit 1305 refers to the bind layer description (FIG. 13) received from the bind layer inference server 103, and finds that this is bound to the input element option “A4” of the “PaperSize” field of the copier 101. Therefore, the fact is transmitted to the copier 101 via the communication unit 1306 as XML data as shown in FIG.
[0103]
The copier 101 receives the XML data of FIG. 15 via the communication unit 1203, interprets the content in the dialog execution unit 1201, and knows that the paper size is set to “A4”. Subsequently, when the user presses the numeric key “0”, the input / output management unit 1301 of the mobile phone 102 detects this, and the modality management unit 1304 knows that there is an input through the modality “10Key-0”.
[0104]
The modality control unit 1305 refers to the bind layer description (FIG. 13) received from the bind layer inference server 103 and knows that this is bound to the input element “CopyStart” field of the copier 101. The XML data as shown in FIG. 16 is transmitted to the copier 101 via the communication unit 1306.
[0105]
Then, the copier 101 receives the XML data in FIG. 16 via the communication unit 1203, interprets the content in the dialog execution unit 1201, and starts copying by the device control unit 1202.
[0106]
As described above, the bind layer inference server 103 binds the modality of the operation device (for example, the mobile phone 102) and the input / output elements in the dialog description of the control target device (for example, the copy machine 101). Even if the digital camera 106 is switched to the digital camera 106, the copier 101 can be controlled in the same manner as long as the digital camera 106 has its own modality description and functions similar to those shown in FIG. Further, even if the control target device is the air conditioner 105, it can be controlled in the same way as long as the air conditioner has the same function as that shown in FIG.
[0107]
As described above, according to the first embodiment, in the environment that implements the processing related to the operation device and the control target device based on the markup language, in particular, the markup language
Dialogue description of controlled devices
Modality description of operating device
Bind description that links the dialog description and modality description
Configure.
[0108]
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. Then, in accordance with the contents of the bind description in the markup language, a bind reasoning unit that passes information between the modalities and the input / output elements associated with each modality is configured in the bind reasoning server.
[0109]
As a result, any device can be automatically configured as an operation device having any device as a control target device. The operating device can be configured as an operating device having a multimodal user interface.
[Embodiment 2]
In the first embodiment, a mobile phone and a digital camera are shown as the operation device, and a copy machine and an air conditioner are shown as the control target devices. However, as long as the operation device and the control target device have the same functions as described above, Arbitrary devices (for example, PDAs, remote controllers, etc.) to arbitrary devices (OA devices such as facsimiles, printers, scanners, etc., home appliances such as electric pots, refrigerators, televisions, etc.) may be used as operation devices and controlled devices, respectively. Needless to say, you can.
[Embodiment 3]
In the first embodiment, the network connecting the devices is the Internet. However, any type of network or any protocol may be used as long as it can transmit and receive text information described in XML.
[Embodiment 4]
In the first embodiment, the bind layer inference unit 1401 is configured on the bind layer inference server 103. However, the bind layer inference unit 1401 is configured as an operation device (client), and its own modality and the control target device are configured. You may make it produce | generate the description description of a dialog description.
[Embodiment 5]
In the first embodiment, a case has been described in which a program that realizes the operation executed by each of the above-described devices is stored in the ROM. Good. Further, it may be realized by a circuit that realizes the same operation.
[0110]
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.
[0111]
In the present invention, a software program (in the embodiment, a program corresponding to the flowchart shown in the drawing) that realizes the functions of the above-described embodiment is directly or remotely supplied to the system or apparatus, 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.
[0112]
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.
[0113]
In that case, the program may be in any form, such as an object code, a program executed by an interpreter, or script data supplied to the OS as long as it has a program function.
[0114]
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).
[0115]
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.
[0116]
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.
[0117]
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 an 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.
[0118]
Furthermore, after the program read from the recording medium is written to 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.
[0119]
【The invention's effect】
As described above, according to the present invention, it is possible to provide an information processing apparatus capable of easily causing various devices to function as an operation device and a control target device, a control method thereof, and a program.
[Brief description of the drawings]
FIG. 1 is a configuration diagram of an information processing system according to a first embodiment of the present invention.
FIG. 2 is a functional configuration diagram of the copier according to the first embodiment of the present invention.
FIG. 3 is a configuration diagram showing a hardware configuration of the copier according to the first embodiment of the present invention.
FIG. 4 is a functional configuration diagram of the mobile phone according to the first embodiment of the present invention.
FIG. 5 is a configuration diagram illustrating a hardware configuration of the mobile phone according to the first embodiment of the present invention.
FIG. 6 is a functional configuration diagram of a bind layer inference server according to the first embodiment of the present invention.
FIG. 7 is a configuration diagram showing a hardware configuration of a bind layer inference server according to the first embodiment of the present invention.
FIG. 8 is a diagram showing a structure of a markup language according to the first embodiment of the present invention.
FIG. 9 is a diagram illustrating a schema description of a general-purpose modality according to the first embodiment of the present invention.
FIG. 10 is a diagram illustrating a configuration example of a UI of the mobile phone according to the first embodiment of the present invention.
FIG. 11 is a diagram schematically illustrating the schema description of the mobile phone modality according to the first embodiment of the present invention;
FIG. 12 is a diagram schematically showing an interactive layer of the copier according to the first embodiment of the present invention.
FIG. 13 is a diagram schematically illustrating the description of the bind layer according to the first embodiment of the present invention.
FIG. 14 is a diagram illustrating a bind sample held by the bind layer inference unit according to the first embodiment of the present invention.
FIG. 15 is a diagram illustrating an example of information transmitted from the mobile phone to the copier according to the first embodiment of the present invention.
FIG. 16 is a diagram showing another example of information transmitted from the mobile phone to the copier according to the first embodiment of the present invention.
FIG. 17 is a diagram schematically showing an interactive layer of the air conditioner according to the first embodiment of the present invention.
FIG. 18 is a flowchart showing processing executed by the bind layer inference server according to the first embodiment of the present invention.
FIG. 19A is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 19B is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 19C is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 19D is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 19E is a diagram showing an XML expression example of a general-purpose modality schema according to the first embodiment of the present invention.
FIG. 20A is a diagram showing an XML expression example of the modality schema of the mobile phone according to the first embodiment of the present invention.
FIG. 20B is a diagram showing an XML expression example of the modality schema of the mobile phone according to the first embodiment of the present invention.
FIG. 21A 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. 21B 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. 22 is a diagram illustrating an XML expression example of a bind layer that binds input / output elements of a mobile phone modality and a copy machine dialog description according to the first embodiment of the present invention;
[Explanation of symbols]
101 copier
102 Mobile phone
103 Bind Reasoning Server
104 network
105 air conditioner
106 Digital camera
1201 Dialogue execution unit
1202 Device control unit
1203 Communication Department
1204 Dialogue description ML
1301 Input / output management unit
1302 Speech recognition unit
1303 Speech synthesis unit
1304 Modality Management Department
1305 Modality control unit
1306 Communication unit
1307 Modality ML
1401 Bound Layer Inference Department
1402 Binding sample
1403 Communication Department

Claims (17)

ネットワークを介して、操作機器と制御対象機器間の制御を支援する情報処理装置であって、
前記操作機器のモダリティに関するモダリティ情報を受信する第1受信手段と、
前記制御対象機器の対話に関する対話情報を受信する第2受信手段と、
前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する生成手段と、
前記バインド情報及び前記対話情報を前記操作機器に送信する送信手段と
を備えることを特徴とする情報処理装置。
An information processing device that supports control between an operation device and a control target device via a network,
First receiving means for receiving modality information relating to the modality of the operating device;
Second receiving means for receiving dialogue information relating to dialogue of the control target device;
Generating means for generating binding information for inferring and connecting a relationship between the modality information and the dialogue information;
An information processing apparatus comprising: transmission means for transmitting the binding information and the dialogue information to the operating device.
前記モダリティ情報、前記対話情報及び前記バインド情報は、マークアップ言語で記述され、
前記マークアップ言語は、
前記制御対象機器の対話の内容を示す対話記述と、
前記対話記述と独立に分離して構成される、前記操作機器のモダリティを示すモダリティ記述と、
前記モダリティ記述と前記対話記述とを結び付けるバインド記述と
を含む
ことを特徴とする請求項1に記載の情報処理装置。
The modality information, the interaction information, and the bind information are described in a markup language.
The markup language is
A dialog description indicating the content of the dialog of the control target device;
A modality description indicating a modality of the operating device, which is configured separately from the dialog description;
The information processing apparatus according to claim 1, further comprising: a bind description that links the modality description and the dialog description.
前記対話記述は、入出力の処理単位である、1つもしくは複数の最小対話要素から構成され、前記最小対話要素は、0個もしくは1個の入力要素と0個もしくは1個以上の出力要素を含む
ことを特徴とする請求項2に記載の情報処理装置。
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 2, further comprising:
前記モダリティ記述は、モダリティのクラス間の階層関係及びモダリティのインスタンスを含み、前記操作機器のモダリティの定義は、汎用的なモダリティの定義を記述した汎用モダリティ記述を参照し、そこで定義された汎用モダリティのサブクラスとインスタンスとして定義する
ことを特徴とする請求項2に記載の情報処理装置。
The modality description includes a hierarchical relationship between modality classes and modality instances, and the definition of the modality of the operating device refers to a general modality description describing a general modality definition, and the general modality defined there The information processing apparatus according to claim 2, wherein the information processing apparatus is defined as a subclass and an instance.
前記バインド記述は、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 operating device, according to the modality description, management means for managing the modality,
Modality control means for controlling processing related to the modality and the dialogue according to the binding description,
The control target device includes dialog execution means for managing the dialog according to the dialog description;
The information processing apparatus according to claim 2, further comprising: a control unit that executes control of the control target device based on an instruction from the dialogue execution unit.
前記汎用モダリティと該汎用モダリティに結び付け可能な入出力要素と、その結び付けの適切度情報の記述からなるバインドサンプルを記憶する記憶手段を更に備え、
前記生成手段は、前記バインドサンプルを参照して、前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する
ことを特徴とする請求項4に記載の情報処理装置。
A storage means for storing a bind sample including the general-purpose modality, an input / output element that can be linked to the general-purpose modality, and a description of appropriateness information of the binding;
5. The information processing apparatus according to claim 4, wherein the generation unit generates bind information that infers and links a relationship between the modality information and the dialogue information with reference to the bind sample.
ネットワークを介して、操作機器と制御対象機器間の制御を支援する情報処理装置の制御方法であって、
前記操作機器のモダリティに関するモダリティ情報を受信する第1受信工程と、
前記制御対象機器の対話に関する対話情報を受信する第2受信工程と、
前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する生成工程と、
前記バインド情報及び前記対話情報を前記操作機器に送信する送信工程と
を備えることを特徴とする情報処理装置の制御方法。
A control method of an information processing apparatus that supports control between an operation device and a control target device via a network,
A first receiving step of receiving modality information related to the modality of the operating device;
A second receiving step of receiving dialogue information related to the dialogue of the control target device;
Generating binding information for inferring and linking a relationship between the modality information and the dialogue information;
And a transmission step of transmitting the binding information and the dialogue information to the operating device.
前記モダリティ情報、前記対話情報及び前記バインド情報は、マークアップ言語で記述され、
前記マークアップ言語は、
前記制御対象機器の対話の内容を示す対話記述と、
前記対話記述と独立に分離して構成される、前記操作機器のモダリティを示すモダリティ記述と、
前記モダリティ記述と前記対話記述とを結び付けるバインド記述と
を含む
ことを特徴とする請求項に記載の情報処理装置の制御方法。
The modality information, the interaction information, and the bind information are described in a markup language.
The markup language is
A dialog description indicating the content of the dialog of the control target device;
A modality description indicating a modality of the operating device, which is configured separately from the dialog description;
The information processing apparatus control method according to claim 9 , further comprising a bind description that links the modality description and the dialog description.
前記対話記述は、入出力の処理単位である、1つもしくは複数の最小対話要素から構成され、前記最小対話要素は、0個もしくは1個の入力要素と0個もしくは1個以上の出力要素を含む
ことを特徴とする請求項10に記載の情報処理装置の制御方法。
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 method for controlling an information processing apparatus according to claim 10 , further comprising:
前記モダリティ記述は、モダリティのクラス間の階層関係及びモダリティのインスタンスを含み、前記操作機器のモダリティの定義は、汎用的なモダリティの定義を記述した汎用モダリティ記述を参照し、そこで定義された汎用モダリティのサブクラスとインスタンスとして定義する
ことを特徴とする請求項10に記載の情報処理装置の制御方法。
The modality description includes a hierarchical relationship between modality classes and modality instances, and the definition of the modality of the operating device refers to a general modality description describing a general modality definition, and the general modality defined there The information processing apparatus control method according to claim 10 , wherein the information processing apparatus is defined as a subclass and an instance of the information processing apparatus.
前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の入力要素に結び付けるための記述であり、かつ1つの入力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む
ことを特徴とする請求項10に記載の情報処理装置の制御方法。
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 10 , further comprising a description.
前記バインド記述は、1つまたは複数のモダリティを、1つまたは複数の出力要素に結び付けるための記述であり、かつ1つの出力要素に対して複数のモダリティを結び付ける場合、それらのモダリティの組み合わせ方の記述を含む
ことを特徴とする請求項10に記載の情報処理装置の制御方法。
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 control method according to claim 10 , further comprising a description.
前記操作機器は、前記モダリティ記述に従って、前記モダリティを管理する管理工程と、
前記バインド記述に従って、前記モダリティと前記対話間に関する処理を制御するモダリティ制御工程とを備え、
前記制御対象機器は、前記対話記述に従って、前記対話を管理する対話実行工程と、
前記対話実行工程からの指示に基づいて、当該制御対象機器の制御を実行する制御工程と
を備えることを特徴とする請求項10に記載の情報処理装置の制御方法。
The operation device manages the modality according to the modality description, and
A modality control step for controlling processing related to the modality and the dialogue according to the binding description;
The control target device manages the dialogue according to the dialogue description,
The control method for the information processing apparatus according to claim 10 , further comprising: a control step of executing control of the control target device based on an instruction from the dialogue execution step.
前記汎用モダリティと該汎用モダリティに結び付け可能な入出力要素と、その結び付けの適切度情報の記述からなるバインドサンプルを記憶媒体に記憶する記憶工程を更に備え、
前記生成工程は、前記バインドサンプルを参照して、前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する
ことを特徴とする請求項12に記載の情報処理装置の制御方法。
A storage step of storing in the storage medium a bind sample comprising the general-purpose modality, an input / output element that can be linked to the general-purpose modality, and a description of appropriateness information of the binding;
The control method of the information processing apparatus according to claim 12 , wherein the generation step generates binding information that infers and links the relationship between the modality information and the dialogue information with reference to the binding sample.
ネットワークを介して、操作機器と制御対象機器間の制御を支援するコンピュータのためのプログラムであって、
前記操作機器のモダリティに関するモダリティ情報を受信する第1受信工程と、
前記制御対象機器の対話に関する対話情報を受信する第2受信工程と、
前記モダリティ情報と前記対話情報間の関係を推論し結び付けるバインド情報を生成する生成工程と、
前記バインド情報及び前記対話情報を前記操作機器に送信する送信工程
前記コンピュータに実行させるためのプログラム。
A program for a computer that supports control between an operation device and a control target device via a network,
A first receiving step of receiving modality information related to the modality of the operating device;
A second receiving step of receiving dialogue information related to the dialogue of the control target device;
A generation step of generating an inference to connect bind information relationships between the modality information and the dialog information,
A program for causing the computer to execute a transmission step of transmitting the binding information and the dialogue information to the operating device.
JP2002018937A 2002-01-28 2002-01-28 Information processing apparatus, control method therefor, and program Expired - Fee Related JP3728251B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002018937A JP3728251B2 (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
JP2002018937A JP3728251B2 (en) 2002-01-28 2002-01-28 Information processing apparatus, control method therefor, and program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2005073828A Division JP2005339513A (en) 2005-03-15 2005-03-15 Information processor, control method and program

Publications (2)

Publication Number Publication Date
JP2003216424A JP2003216424A (en) 2003-07-31
JP3728251B2 true JP3728251B2 (en) 2005-12-21

Family

ID=27654075

Family Applications (1)

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

Country Status (1)

Country Link
JP (1) JP3728251B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9773070B2 (en) * 2014-06-30 2017-09-26 Microsoft Technology Licensing, Llc Compound transformation chain application across multiple devices

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001112073A (en) * 1999-10-06 2001-04-20 Hitachi Ltd Remote controller, electronic device and electronic device control method

Also Published As

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

Similar Documents

Publication Publication Date Title
EP1588353B1 (en) Voice browser dialog enabler for a communication system
US8316308B2 (en) Adaptive user interface for multi-source systems
JP5437547B2 (en) Control code for programmable remote control supplied in XML format
WO2012000233A1 (en) User customization method and system
JP2005149484A (en) Successive multimodal input
JP2014154161A (en) Web page sharing method and system, and terminal supporting the same
CN112911380A (en) Display device and connection method with Bluetooth device
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
JP2023547821A (en) Control method and device, and electronic device
CN112601042B (en) Display device, server and method for video call to be compatible with different protocol signaling
CN113794914A (en) Display device and startup navigation configuration method
CN113784186B (en) Terminal device, server, and communication control method
JP3902959B2 (en) Information processing apparatus, control method therefor, and program
JP3728251B2 (en) Information processing apparatus, control method therefor, and program
CN114900386B (en) Terminal equipment and data relay method
CN116320564A (en) Display device, terminal device, and device control method
US7283623B2 (en) Internet browsing using a uniform interface
KR20110122996A (en) Apparatus for executing application, method thereof and computer recordable medium storing the method
JP2005339513A (en) Information processor, control method and program
CN111787115B (en) Server, display device and file transmission method
CN115022688A (en) Display device and media data relay method
US20140009380A1 (en) Electronic apparatus and method of storing activity thereof
CN111787117A (en) Data transmission method and display device

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050315

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050804

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: 20050909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050930

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: 20091007

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20091007

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101007

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101007

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111007

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111007

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121007

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131007

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees