(57)【要約】      （修正有）【課題】短時間に同一の機器状態変化がイベントが通知さた場合であっても適切に音声を読み上げを行う。【解決手段】機器状態の変化をイベントとして受信し、イベントを受信した時刻を取得する。次にイベント種別の内容とイベント通知の履歴に保持されたイベント内容を比較する。イベント種別の内容とイベント履歴に保持された内容が同一で、イベント発生時刻の差が所定の時間内の場合には音声中止コマンドを発生し、発声を中止する。【選択図】図２
2016033722.tif 000002
【特許請求の範囲】
【請求項１】
機器の状態の変化をイベントとして受信する手段（Ｓ１）と、
イベントを受信した時刻を取得する手段（Ｓ２）と、
受信したイベントの内容と時刻を履歴として保持する手段（Ｓ９）と、
イベントを受信した時に前記履歴を参照し、受信したイベントの内容と直前に受信したイベントの内容が同一であるか否かを判断する手段（Ｓ４）と、
イベントを受信した時刻と直前にイベントを受信した時刻の間隔が所定時間より長いか否かを判断する手段（Ｓ５）とを備え、
受信したイベントの内容が直前に受信したイベントの内容が同一でないかイベントを受信した時刻と直前にイベントを受信した時刻の間隔が所定時間より長い場合に受信したイベントに対応した音声を出力する（Ｓ１０７、Ｓ１１６）
ことを特徴とする情報処理装置。
【請求項２】
機器の状態の変化をイベントとして受信するステップ（Ｓ１）と、
イベントを受信した時刻を取得するステップ（Ｓ２）と、
受信したイベントの内容と時刻を履歴として保持するステップ（Ｓ９）と、
イベントを受信した時に前記履歴を参照し、受信したイベントの内容と直前に受信したイベントの内容が同一であるか否かを判断するステップ（Ｓ４）と、
イベントを受信した時刻と直前にイベントを受信した時刻の間隔が所定時間より長いか否かを判断するステップ（Ｓ５）とを備え、
受信したイベントの内容が直前に受信したイベントの内容が同一でないかイベントを受信した時刻と直前にイベントを受信した時刻の間隔が所定時間より長い場合に受信したイベントに対応した音声を出力する（Ｓ１０７、Ｓ１１６）
ことを特徴とする情報処理装置の制御方法。
【請求項３】
請求項２の制御方法の手順を記述したコンピュータプログラム。
【請求項４】
請求項３のコンピュータプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、その制御方法に関する。
【背景技術】
【０００２】
画像形成装置を始めとするさまざまな機器において、タッチパネルを利用した情報入力が行われている。しかし、タッチパネルは平面的なデバイスであるため、視覚障害者にとっては操作に困難を伴うものである。そこで、特許文献１では、少数のハードウェアキーを用いて、タッチパネル操作と同等の機能を実現する情報入力装置が開示されている。
【０００３】
特許文献１に開示されている情報入力装置は、おおむね以下のような構成・動作となっている（図６）。
【０００４】
まず、表示部６０９に、仮想的なキー（以下、ボタン）６０１〜６０７を表示する（通常のタッチパネル操作においては、表示部を覆うタッチパネル６１０が押下された時、押下位置とボタン６０１〜６０７の表示領域とから押下されたボタンが算出され、押下されたボタンに対応する動作が実行される。）。
【０００５】
次に、ボタン６０１〜６０７のうちの１つに対応づけてフォーカス６０８を表示する。また、ハードウェアキー６１１〜６２０のうち、６１６を「進む」キーとして割り当てる。同様に、６１４を「戻る」キー、６１５を「確定」キーとして割り当てる。「進む」キー６１６の押下を検知した場合、所定の遷移順に従ってフォーカスの位置を他のボタンへ移動する。例えば、図６のように、ボタン６０１に対応してフォーカス６０８が表示されている状態で「進む」キー６１６の押下を検知した場合、フォーカス６０８の表示位置をボタン６０３の位置に移動する。
【０００６】
さらに、あらたにフォーカスと対応づけられたボタンに対応する名称を音声で読み上げる。例えば、ボタン６０１からボタン６０３にフォーカス６０８が移動した場合、移動先のボタンの名称「Ａ３（エーサン）」を音声で読み上げる。
【０００７】
また、「戻る」キー６１４の押下を検知した場合、前記所定の遷移順の逆順でフォーカスの位置を他のボタンへ移動する。例えば、ボタン６０３に対応してフォーカス６０８が表示されている状態で「戻る」キー６１４の押下を検知した場合、フォーカス６０８の表示位置をボタン６０１の位置に移動する。この場合も同様に、フォーカスの移動先のボタンの名称を音声で読み上げる。
【０００８】
また、「確定」キー６０５の押下を検知した場合、フォーカスに対応づけられたボタンに対応する動作を実行する。すなわち、ボタン６０３にフォーカス６０８が対応づけられている時に「確定」キー６０５の押下を検知すると、タッチパネル上のボタン６０３の領域を押下した場合と同じ動作を実行する（原稿サイズをＡ３に設定する。）。
【０００９】
以上のようにして、特許文献１では、タッチパネル操作と同様の情報入力を少数のハードウェアキーを用いて実現している。
【００１０】
また、画像形成装置を始めとするさまざまな機器では、内部に状態（ステータス）を持ち、ユーザは機器の状態を把握した上で操作する場合がある。機器の内部状態が変化すると、機器上で動作するアプリケーションプログラムには、新たな状態がイベントとして通知される。上記先行技術のような音声を用いたユーザインタフェースでは、状態変化のイベント通知を受けると、通知されたイベントに対応した読み上げを行う。
【００１１】
さらに、ハードウェアキーのうちの１つ（例えば６１１）を「状態確認」キーとして割り当て、「状態確認」キー６１１の押下を検知した場合に、機器の状態に対応した読み上げを行う。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２００６−０３１２７３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
イベントとして通知される機器状態には、短時間に同一のイベントが複数回通知されるものがある。例えば、「初期状態」・「中間状態」・「最終状態」があり、「中間状態」が所定の時間間隔でイベント通知される場合がある。
【００１４】
このような場合、イベント通知ごとに読み上げを行うと、同一内容の読み上げを何度も行うことになる。これは、ユーザにとって煩わしく感じられる。また、音声の読み上げには時間がかかる（短い単語でも数百ミリ秒程度）ため、複数のイベントが重なった場合にはイベントの発生時刻と音声の読み上げの開始時刻との間に乖離が生じる。
【００１５】
これに対し、イベント通知ごとに、直前の読み上げを中止して新たなイベント通知に対する読み上げを行う方法が考えられる。しかし、上記の例の場合、短時間に読み上げの開始・中断が連続して行われることになり、聞き苦しいという問題がある（上記の例で、「中間状態」イベントに対して「ちゅうかんじょうたい」と発声するものとすると、「ちゅ、ちゅ、ちゅうかんじょうたい」というような発声内容となる。）。
【課題を解決するための手段】
【００１６】
本発明に係る情報処理装置の構成は、
機器の状態の変化をイベントとして受信する手段（Ｓ１）と、
イベントを受信した時刻を取得する手段（Ｓ２）と、
受信したイベントの内容と時刻を履歴として保持する手段（Ｓ９）と、
イベントを受信した時に前記履歴を参照し、受信したイベントの内容と直前に受信したイベントの内容が同一であるか否かを判断する手段（Ｓ４）と、
イベントを受信した時刻と直前にイベントを受信した時刻の間隔が所定時間より長いか否かを判断する手段（Ｓ５）とを備え、
受信したイベントの内容が直前に受信したイベントの内容が同一でないかイベントを受信した時刻と直前にイベントを受信した時刻の間隔が所定時間より長い場合に受信したイベントに対応した音声を出力する（Ｓ１０７、Ｓ１１６）
ことを特徴とする。
【発明の効果】
【００１７】
本発明によれば、同一の内容のイベントが短時間に連続して通知された場合であっても適切に音声読み上げを行うことができる。
【図面の簡単な説明】
【００１８】
【図１】装置構成を示すブロック図
【図２】機器の状態変化をイベントとして受信した時の処理フロー図
【図３】音声読み上げを制御する処理フロー図
【図４】イベント履歴の一例
【図５】発声内容対応表の例
【図６】音声とハードキーによる入力操作のイメージを表した図
【図７】機器の状態変化およびその他のイベントを受信した時の処理フロー図
【発明を実施するための形態】
【００１９】
以下、本発明を実施するための最良の形態について図面を用いて説明する。図１は、本発明における装置構成を示すブロック図である。ＣＰＵ１０１は、本装置全体を制御する中央処理装置である。ＣＰＵ１０１は、データバスなどのバス１０２によって、各部と接続されている。ＲＯＭ１０３は、ブートプログラムやＢＩＯＳ等の固定的なプログラムおよびデータを記憶している。ＲＡＭ１０４は、主記憶装置およびＣＰＵ１０１による処理実行のための作業領域を提供する作業用メモリとして機能する。
【００２０】
ハードディスクコントローラ１０５は、記憶デバイスの一例であるハードディスク装置（ＨＤＤ）１０６を制御し、ＨＤＤ１０６にさまざまなデータを保存したり、保存したデータを取得したりする。このＨＤＤ１０６には、このシステム全体を制御するための制御プログラムや制御用データなどが保存される。
【００２１】
液晶ディスプレイ（ＬＣＤ）１０７は、表示部の一例であり、仮想的なキー（以下、ボタン）やユーザに提示する情報を表示する。タッチパネル１０８はＬＣＤ１０７の上面に配置され、上記ボタンに対するユーザの操作位置（座標）を検出する。
【００２２】
ハードキー１０９はハードウェアで構成された複数のキー（スイッチ）である。本実施例では、ハードキーのうちの１つを「進む」キー１０９１として使用する。また、「進む」キー１０９１とは異なるキーの１つを「戻る」キー１０９２として使用する。また、「進む」キー１０９１、「戻る」キー１０９２とは異なるキーの１つを「確定」キー１０９３として使用する。スピーカ１１０はユーザに必要な情報を音声で出力する。
【００２３】
入出力インタフェース１１１はＡ／ＤコンバータやＤ／Ａコンバータ、アンプなどを備え、ＬＣＤ１０７やスピーカ１１０の出力を制御する。また、タッチパネル１０８やハードキー１０９からの入力をＣＰＵ１０１が処理可能な形式に変換する。
【００２４】
デバイスインタフェース１１２は、プリンタ１１３やスキャナ１１４との接続のためのインタフェースである。ＣＰＵ１０１はデバイスインタフェース１１２を通じてプリンタ１１３やスキャナ１１３を制御する。また、プリンタ１１３やスキャナ１１４の機器状態は、デバイスインタフェース１１２を通じてＣＰＵ１０１に伝達される。デバイスインタフェース１１２は割り込みコントローラのような簡単なものであっても良いし、内部に複雑な制御機構を持つ独立性の高い構成であっても良い。いずれの場合も、プリンタ１１３やスキャナ１１４から通知された機器状態は、ＣＰＵ１０１によってイベントとしてソフトウェア処理される。ＲＴＣ１１５は時刻を計時するリアルタイムクロックである。
【００２５】
以下、フローチャートを用いて、本実施例における装置の処理フローを説明する。各フローチャートの内容は、プログラムとしてＲＯＭ１０３、ＲＡＭ１０４、ＨＤＤ１０６のいずれかに記録され、ＣＰＵ１０１によって実行される。
【００２６】
図２は、機器の状態の変化をイベントとして受信した時の処理を示すフローチャートである。ＣＰＵ１０１が機器の状態の変化をイベントとして受信すると、本フローチャートに示された内容がＣＰＵ１０１によって実行される。なお、受信したイベントの種別は、イベント種別１０４１としてＲＡＭ１０４に保持されるものとする。
【００２７】
ステップＳ１はイベントを受信するステップであり、機器の状態の変化をイベントとして受信する。上述の通り、本ステップでイベントを受信した後、以降の各ステップが実行される。ステップＳ２では、ＲＴＣ１１５を参照し、イベントを受信した時刻を取得する。
【００２８】
次に、ステップＳ３で、イベント履歴１０４２を参照する。イベント履歴１０４２の例を図４に示す。イベント履歴１０４２はＲＡＭ１０４に保持され、過去に発生したイベントのイベント内容２００１と発生時刻２００２から構成される。
【００２９】
次に、ステップＳ４で、イベント種別１０４１の内容とイベント履歴１０４２に保持されたイベント内容２００１を比較する。比較の結果、イベント種別１０４１の内容とイベント履歴１０４２に保持されたイベント内容２００１が同一であれば処理をステップＳ５に進め（図中ｙｅｓ）、同一でなければ処理をステップＳ６に進める（図中ｎｏ）。
【００３０】
ステップＳ５では、ステップＳ２で取得した時刻とイベント履歴１０４２に保持されたイベントの発生時刻２００２の差、すなわちイベント間隔が所定の時間より長いが否かを判定する。判定の結果、イベント間隔が所定の時間より長い場合は処理をステップＳ６に進め（図中ｙｅｓ）、そうでなければ処理をステップＳ９に進める（図中ｎｏ）。
【００３１】
ステップＳ６では、発声中止コマンドを発行し発声を中止する。発声中止コマンド発行後の処理の詳細は後述する。
【００３２】
次に、ステップＳ７で、イベント種別１０４１に対応する発声内容を取得する。イベント種別と発声内容の対応関係はＨＤＤ１０６に発声内容対応表１０６３として保持される。発声内容対応表の例を図５に示す。例えば、イベント種別が「シアントナー無し」の場合、ステップＳ７で取得される発声内容は「シアンのトナーがありません」となる。
【００３３】
次に、ステップＳ８で、前記ステップＳ７で取得した発声内容の発声開始コマンドを発行し、前記ステップＳ７で取得した発声内容の発声を開始する。発声開始コマンド発行後の処理は後述する。なお、発声内容はＲＡＭ１０４に１０４３として保持するものとする。ステップＳ８の後、処理をステップＳ９に進める。
【００３４】
ステップＳ９では、イベント種別１０４１の内容と前記ステップＳ２で取得した時刻とをイベント履歴１０４２に保持する。ステップＳ９の終了後、処理をステップＳ１に移し、次のイベント受信を待つ。
【００３５】
図３は、前記発声開始コマンドや発声中止コマンドに対応した処理を示すフローチャートである。図２のフローチャートと同様に、本フローチャートの内容はＣＰＵ１０１によって実行される。ただし、マルチタスク等によって、図２のフローチャートの内容と図３のフローチャートの内容は、それぞれ独立して（並行して）処理される。また、発声開始コマンドや発声中止コマンドの受け渡しは、メッセージキュー等のタスク間通信を用いて実現される。
【００３６】
まず、ステップＳ１０１においてコマンドを受信する。コマンドの受信が無い場合には、本ステップでコマンドの受信を待つ。
【００３７】
次に、ステップＳ１０２で、ステップＳ１０１で受信したコマンドの種別を判定する。ステップＳ１０１で受信したコマンドが発声開始コマンドであれば処理をステップＳ１０３に進め、ステップＳ１０１で受信したコマンドが発声中止コマンドであれば処理をステップＳ１０９に進める。また、ステップＳ１０１で受信したコマンドが音声データ要求コマンドであれば処理をステップＳ１１１に進める。音声データ要求コマンドは、後述の音声出力ステップＳ１０７、Ｓ１１６で出力された音声データが、入出力インタフェース１１１内のＤ／Ａコンバータによって全て処理された時に発行される。ステップＳ１０３では、発声内容１０４３から発声内容を取得する。
【００３８】
次に、ステップＳ１０４で、音声バッファ１０４５内の音声データの有無を判定する。音声バッファ１０４５は出力すべき音声を保持するバッファである。音声バッファ１０４５内に音声データがある場合は処理をステップＳ１０５に進め（図中ｙｅｓ）、音声バッファ１０４５内に音声データが無い場合は処理をステップＳ１０８に進める（図中ｎｏ）。
【００３９】
ステップＳ１０５では、ステップＳ１０３で取得した発声内容から音声を生成する。音声の生成にはテキスト音声合成（Ｔｅｘｔ  Ｔｏ  Ｓｐｅｅｃｈ）技術を用いても良いし、発声内容をインデックスとして音声ファイルを読み込んでも良い。生成した音声は音声バッファ１０４５に保持する。
【００４０】
次に、ステップＳ１０６で、音声バッファ１０４５から所定時間分の音声データを取得する。次に、ステップＳ１０７で、前記ステップＳ１０６で取得した音声を入出力インタフェース１１１を介して出力する。ステップＳ１０７の後、処理をステップＳ１０１に移す。
【００４１】
ステップＳ１０８では、前記ステップＳ１０３で取得した発声内容を発声内容キュー１０４４に保持する。発声内容キュー１０４４には複数の発声内容を保持することが可能であり、登録順に読み出される（ＦＩＦＯ：Ｆｉｒｓｔ  Ｉｎ  Ｆｉｒｓｔ  Ｏｕｔ）。ステップＳ１０８の後、処理をステップＳ１０１に移す。
【００４２】
ステップＳ１０９では、発声内容キュー１０４４に保持された発声内容を破棄する。
次に、ステップＳ１１０で音声バッファ１０４５に保持された音声データを破棄する。ステップＳ１１０の後、処理をステップＳ１０１に移す。
【００４３】
ステップＳ１１１では、音声バッファ１０４５内の音声データの有無を判定する。音声バッファ１０４５内に音声データがある場合は処理をステップＳ１１５に進め（図中ｙｅｓ）、音声バッファ１０４５内に音声データが無い場合は処理をステップＳ１１２に進める（図中ｎｏ）。
【００４４】
ステップＳ１１２では、発声内容キュー１０４４内の発声内容の有無を判定する。発声内容キュー１０４４内に発声内容がある場合は処理をステップＳ１１３に進め（図中ｙｅｓ）、発声内容キュー１０４４内に発声内容が無い場合は処理をステップＳ１０１に進める（図中ｎｏ）。
【００４５】
ステップＳ１１３では発声内容キュー１０４４から発声内容を取得する。上述のように発声内容キューはＦＩＦＯ構成になっているため、発声内容キュー１０４４中、最初に登録された発声内容が取得される。また、取得された発声内容は発声内容キュー１０４４から取り除かれる。
【００４６】
次に、ステップＳ１１４で、ステップＳ１１３で取得した発声内容から音声を生成する。生成した音声は音声バッファ１０４５に保持する。
【００４７】
次に、ステップＳ１１５で、音声バッファ１０４５から所定時間分の音声データを取得する。次に、ステップＳ１１６で、前記ステップＳ１１５で取得した音声を入出力インタフェース１１１を介して出力する。ステップＳ１１５の後、処理をステップＳ１０１に移す。
【００４８】
以上述べたように、図２、図３に示される処理フローにしたがえば、所定時間内に同一のイベントが通知されている場合には、最初のイベントのみ音声による読み上げが行われ、不要な繰り返しが起こらない。また、所定時間内に同一のイベントが通知されている場合には発声が中断されないため、聞きにくさを回避することができる。
【００４９】
なお、ステップＳ１１０において、音声バッファ１０４５に保持された音声データを破棄するだけでなく、入出力インタフェース１１１内のＤ／Ａコンバータで処理中の音声の出力を停止しても良い。この場合、異なる機器状態が連続されて通知された時の音声出力のメッセージ切り替えを迅速に行うことができる。
【００５０】
一方、入出力インタフェース１１１内のＤ／Ａコンバータで処理中の音声の出力を停止しない場合、ステップＳ１０６、Ｓ１１５における所定時間分の音声は継続して出力される。この間に発行された発声開始・発声中止コマンドに対する処理は発声内容キュー１０４４に対してのみ行われ、ユーザには感知されない。そこで、ステップＳ１０６およびステップＳ１１５における音声取得量を多くすることで、異なる２つの機器状態（例えば「Ｏｎ」と「Ｏｆｆ」）が交互に連続して通知された場合の余計な読み上げと中断を防ぐことができる。
【００５１】
また、ユーザによる操作の検出等、機器の状態変化以外のイベント処理を同一の処理フロー内で実現することも可能である。
【００５２】
この場合の処理フローを図７に示す。図７に示す処理フローでは、ユーザによる「状態確認」キー１０９４押下に対応したイベント処理を行っている。なお、特に断りのないかぎり、上記実施例と同様の処理内容のステップについては同じ図番を使用し、説明を省略している。
【００５３】
ステップＳ１でイベントを受信した後、ステップＳ２０１で受信したイベントが機器状態の変化通知であるか否かを判定する。受信したイベントが機器状態の変化通知である場合には処理をステップＳ２に進め（図中ｙｅｓ）、そうでない場合には処理をステップＳ２０２に進める（図中ｎｏ）。
【００５４】
ステップＳ２０２では、ステップＳ２０１で受信したイベントが「状態確認」キー１０９４の押下であるか否かを判定する。ステップＳ２０１で受信したイベントが「状態確認」キー１０９４の押下である場合には処理をステップＳ２０３に進め（図中ｙｅｓ）、そうでない場合には処理をステップＳ２０６に進める。
【００５５】
ステップＳ２０３では機器の状態を取得する。機器状態の取得は、イベント履歴１０４２に記録されたイベント内容２００２を参照する方法でも良いし、デバイスインタフェース１１２を通じてプリンタ１１３やスキャナ１１４に状態を問い合わせる方法でも良い。
【００５６】
次に、ステップＳ２０４で、ステップＳ２０３で取得した機器状態に対応する発声内容を取得する。本ステップの処理内容はステップＳ７と同様である。
【００５７】
次に、ステップＳ２０５で、前記ステップＳ２０４で取得した発声内容の発声開始コマンドを発行し、前記ステップＳ２０４で取得した発声内容の発声を開始する。ステップＳ２０５の後、処理をステップＳ１に戻す。
【００５８】
ステップＳ２０６では、ステップＳ１で受信したその他のイベントに対応する処理を行った後、処理をステップＳ１に戻す（詳細は省略）。
【００５９】
また、ステップＳ５の判定の結果、イベント間隔が所定の時間より長い場合は処理をステップＳ６に進め（図中ｙｅｓ）、そうでなければ処理をステップＳ１に戻す（図中ｎｏ）。
【００６０】
図７における実施例では、機器状態変化に対応するイベントと、その他のイベントで処理が異なっている。例えば、ユーザが短時間に複数回「状態確認」キーを押下した場合、ユーザの押下した回数分だけ音声読み上げが行われる。
【００６１】
また、図７における実施例では、同一の機器状態変化のイベントが通知され続けた場合、所定時間に１回の割合で音声読み上げが行われる。
【００６２】
なお、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。
【００６３】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００６４】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【符号の説明】
【００６５】
Ｓ１  機器の状態の変化をイベントとして受信するステップ、
Ｓ２  イベントを受信した時刻を取得するステップ、
Ｓ４  受信したイベントの内容と直前に受信したイベントの内容が同一であるか否かを判断するステップ、
Ｓ５  イベントを受信した時刻と直前にイベントを受信した時刻の間隔が所定時間より長いか否かを判断するステップ、
Ｓ８  受信したイベントの内容に対応した音声の読み上げを開始するステップ、
Ｓ９  受信したイベントの内容と時刻を履歴として保持するステップ
【図１】
2016033722.tif 000003
【図２】
2016033722.tif 000004
【図３】
2016033722.tif 000005
【図４】
2016033722.tif 000006
【図５】
2016033722.tif 000007
【図６】
2016033722.tif 000008
【図７】
2016033722.tif 000009