(57)【要約】【課題】より処理効率を上げることが可能な制御システム等を提供すること。【解決手段】プロジェクタ１００が、現在の状態と、要求される機能と、各状態における各要求に対する挙動を示す挙動情報とが関連付けられた機能間制御情報を入力する入力部１１０と、前記機能間制御情報を、前記挙動情報の種別ごとかつ優先順位ごとにまとめた定義データを生成する生成部１２０と、前記機能の実行を要求するイベントが発生した場合、前記現在の状態と、前記要求される機能とに基づき、前記定義データを前記優先順位に応じて参照することにより、前記要求される機能に応じた挙動となるように制御対象を制御する制御部１４０とを含んで構成される。【選択図】図１
2007226554.tif 000002
【特許請求の範囲】
【請求項１】
現在の状態と、要求される機能と、各状態における各要求に対する挙動を示す挙動情報とが関連付けられた機能間制御情報を入力する入力部と、
前記機能間制御情報を、前記挙動情報の種別ごとかつ優先順位ごとにまとめた定義データを生成する生成部と、
前記機能の実行を要求するイベントが発生した場合、前記現在の状態と、前記要求される機能とに基づき、前記定義データを前記優先順位に応じて参照することにより、前記要求される機能に応じた挙動となるように制御対象を制御する制御部と、
を含むことを特徴とする制御システム。
【請求項２】
請求項１に記載の制御システムにおいて、
前記生成部は、前記定義データのインデックスサーチテーブルを生成し、
前記制御部は、前記インデックスサーチテーブルから前記定義データにおける検索対象のデータを決定することを特徴とする制御システム。
【請求項３】
請求項１、２のいずれかに記載の制御システムにおいて、
前記機能間制御情報は、前記現在の状態および前記要求される機能が各次元となる２次元の表形式で表され、
前記機能間制御情報を編集可能な前記表形式で表示する表示部と、
ユーザーの入力に応じて前記機能間制御情報を編集する編集部と、
を含むことを特徴とする制御システム。
【請求項４】
請求項１〜３のいずれかに記載の制御システムを有する電子機器。
【請求項５】
コンピュータを、
現在の状態と、要求される機能と、各状態における各要求に対する挙動を示す挙動情報とが関連付けられた機能間制御情報を入力する入力部と、
前記機能間制御情報を、前記挙動情報の種別ごとかつ優先順位ごとにまとめた定義データを生成する生成部と、
前記機能の実行を要求するイベントが発生した場合、前記現在の状態と、前記要求される機能とに基づき、前記定義データを前記優先順位に応じて参照することにより、前記要求される機能に応じた挙動となるように制御対象を制御する制御部として機能させることを特徴とするプログラム。
【請求項６】
請求項５に記載のプログラムを記憶した、コンピュータ読み取り可能な情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、定義データに基づく制御を行うための制御システム、電子機器、プログラムおよび情報記憶媒体に関する。
【背景技術】
【０００２】
従来、プロジェクタ等の電子機器に新たな機能が追加される度に当該機能に対する処理がプログラムに追加する方式が採用されていた。
【０００３】
しかし、近年、機能向上および機能変更が頻繁に行われるようになり、上記方式では処理効率および保守性が十分ではなかった。
【０００４】
例えば、特許文献１では、状態遷移表の編集および状態変数の定義を行う手段と、状態遷移表の内容および状態変数の定義内容をソースプログラム自動生成入力形式に変換する変換手段とを備えた状態遷移表エディタが記載されている。
【特許文献１】特開平５−１０８３３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１の手法では、各イベントが並列で処理されている。このため、例えば、優先度が高いイベントよりも優先度の低いイベントが先に処理されてしまう場合があり、処理効率を十分に上げることができない。
【０００６】
本発明の目的は、より処理効率を上げることが可能な制御システム、電子機器、プログラムおよび情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る制御システムは、現在の状態と、要求される機能と、各状態における各要求に対する挙動を示す挙動情報とが関連付けられた機能間制御情報を入力する入力部と、
前記機能間制御情報を、前記挙動情報の種別ごとかつ優先順位ごとにまとめた定義データを生成する生成部と、
前記機能の実行を要求するイベントが発生した場合、前記現在の状態と、前記要求される機能とに基づき、前記定義データを前記優先順位に応じて参照することにより、前記要求される機能に応じた挙動となるように制御対象を制御する制御部と、
を含むことを特徴とする。
【０００８】
また、本発明に係る電子機器は、上記制御システムを有することを特徴とする。
【０００９】
また、本発明に係るプログラムは、コンピュータを、
現在の状態と、要求される機能と、各状態における各要求に対する挙動を示す挙動情報とが関連付けられた機能間制御情報を入力する入力部と、
前記機能間制御情報を、前記挙動情報の種別ごとかつ優先順位ごとにまとめた定義データを生成する生成部と、
前記機能の実行を要求するイベントが発生した場合、前記現在の状態と、前記要求される機能とに基づき、前記定義データを前記優先順位に応じて参照することにより、前記要求される機能に応じた挙動となるように制御対象を制御する制御部として機能させることを特徴とする。
【００１０】
また、本発明に係る情報記憶媒体は、コンピュータ読み取り可能な情報記憶媒体であって、上記プログラムを記憶したことを特徴とする。
【００１１】
本発明によれば、制御システム等は、挙動情報の種別ごとかつ優先順位ごとにまとめた定義データを生成し、当該定義データを用いた制御を行うことにより、より処理効率を上げることができる。
【００１２】
また、前記生成部は、前記定義データのインデックスサーチテーブルを生成し、
前記制御部は、前記インデックスサーチテーブルから前記定義データにおける検索対象のデータを決定してもよい。
【００１３】
これによれば、制御システム等は、インデックスサーチテーブルから定義データにおける検索対象のデータを決定することにより、より迅速に検索対象のデータを参照することができ、より処理効率を上げることができる。
【００１４】
また、前記機能間制御情報は、前記現在の状態および前記要求される機能が各次元となる２次元の表形式で表され、
前記制御システムは、
前記機能間制御情報を編集可能な前記表形式で表示する表示部と、
ユーザーの入力に応じて前記機能間制御情報を編集する編集部と、
を含んでもよい。
【００１５】
これによれば、制御システム等は、ユーザーの入力を制御に反映しやすいため、仕様の変更等にも対応しやすく、保守性を高めることができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明をプロジェクタに適用した場合を例に採り、図面を参照しつつ説明する。なお、以下に示す実施例は、特許請求の範囲に記載された発明の内容を何ら限定するものではない。また、以下の実施例に示す構成の全てが、特許請求の範囲に記載された発明の解決手段として必須であるとは限らない。
【００１７】
図１は、本実施例におけるプロジェクタ１００の機能ブロック図である。
【００１８】
電子機器の一種であるプロジェクタ１００は、ＰＣ(Personal Computer)３００から現在の状態と、要求される機能と、各状態における各要求に対する挙動を示す挙動情報とが関連付けられた機能間制御情報を入力し、機能間制御情報に基づく種々の制御を行う制御システムとして機能する。
【００１９】
ＰＣ３００は、機能間制御情報を編集可能な２次元の表形式で表示する表示部３１０と、ユーザーの入力に応じて機能間制御情報を編集する編集部３２０と、機能間制御情報をプロジェクタ１００に出力する出力部３３０とを含んで構成されている。なお、表示部３１０および編集部３２０は上記制御システムの一部である。
【００２０】
また、プロジェクタ１００は、ＰＣ３００から機能間制御情報を入力する入力部１１０と、機能間制御情報を、挙動情報の種別ごとかつ優先順位ごとにまとめた定義データ等を生成する生成部１２０と、機能の実行を要求するイベントが発生した場合、現在の状態と、要求される機能とに基づき、定義データを優先順位に応じて参照することにより、要求される機能に応じた挙動となるように制御対象を制御する制御部１４０とを含んで構成競れている。
【００２１】
また、プロジェクタ１００は、操作部１５０、投写部１６０等のプロジェクタの一般的な構成を有する。
【００２２】
なお、これらの各部を実装するためのハードウェアとしては以下のものを採用可能である。例えば、表示部３１０としては液晶ディスプレイ等、編集部３２０としてはキーボード、ＣＰＵ、ＨＤＤ等、出力部３３０、入力部１１０としては入出力ポート等、生成部１２０としてはＣＰＵ、画像処理回路等、記憶部１３０としてはＨＤＤ等、制御部１４０としてはＣＰＵ等、操作部１５０としてはボタン、リモートコントローラ等、投写部１６０としては液晶パネル、ドライバを記憶したＲＯＭ等を採用可能である。
【００２３】
また、プロジェクタ１００は、情報記憶媒体２００からプログラムを読み取ることにより、生成部１２０等の機能を実装してもよい。
【００２４】
なお、情報記憶媒体２００としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ＩＣカード、ＲＯＭ、ＲＡＭ、メモリカード、ＨＤＤ等のレーザーや磁気等を用いた記憶媒体を適用できる。また、情報記憶媒体２００からのプログラムの読み取り方式は、接触式でも非接触式でもよい。また、プロジェクタ１００は、ネットワークを介してプログラムをダウンロードすることにより、生成部１２０等の機能を実装してもよい。
【００２５】
ここで、機能間制御情報について説明する。
【００２６】
図２は、本実施例における機能間制御情報４００を示す概略図である。
【００２７】
機能間制御情報４００は、列が現在の状態を示し、行が要求される機能を示し、行と列が交差する部分の標識が各状態における各要求に対する挙動を示す２次元の表形式の情報である。
【００２８】
例えば、ランプ寿命警告メッセージ表示中の状態で、カラーモードプロンプト表示要求があった場合の挙動は「×」になっている。「×」は、現在の状態を終了し、要求された機能を実行しないことを意味する。
【００２９】
また、「△」は、現在の状態を終了し、要求された機能を実行することを意味する。また、「−」は、現在の状態を継続し、要求された機能を実行することを意味する。また、「／」は、起こり得ない組み合わせであることを意味する。また、「◎」は、現在の状態を継続し、要求された機能を実行することを意味する。
【００３０】
表示部３１０は、図２に示すような形式で機能間制御情報４００を表示し、編集部３２０は、ユーザーによる追加、変更、削除等の操作に応じて機能間制御情報４００を編集する。
【００３１】
出力部３３０は、機能間制御情報４００をプロジェクタ１００に出力し、入力部１１０は、機能間制御情報４００を入力する。
【００３２】
そして、生成部１２０は、機能間制御情報４００に基づいて、挙動情報の種別ごとかつ優先順位ごとにまとめた定義データ、当該定義データのインデックスサーチテーブル等を生成し、記憶部１３０に記憶する。
【００３３】
すなわち、定義データは、「×」、「△」等の種別ごとにまとめられ、判定の優先順位の高いものから記載されている。より具体的には、定義データは、例えば、挙動情報の種別ごとのテーブルとして設けられ、各テーブルは、イベントＩＤ（要求される機能）、状態ＩＤ（現在の状態）との組み合わせで構成されている。例えば、カラーモードプロンプト表示イベントが発生した場合の「−」テーブルは以下のように記載されている。
BAR_TBL{…EVENT_ID_COLORMODE_PROMPT,{WF_SOURCE|WF_COLORMODE}}…｝
【００３４】
なお、上記記載は、現在の状態がソース切替実行中またはカラーモード切替実行中である場合にカラーモードプロンプト表示要求があった場合、「−」の挙動を行うことを示している。なお、これらの変数と定数との対応付け、「ソース切替実行中」と「WF_SOURCE」との対応付け、「カラーモードプロンプト表示」と「EVENT_ID_COLORMODE_PROMPT」との対応付け等を示す対応付けデータはあらかじめ記憶部１３０に記憶されているものとする。もちろん、生成部１２０が対応付けデータを動的に生成してもよい。
【００３５】
次に、これらの各部を用いた制御処理の流れについて説明する。
【００３６】
図３は、本実施例における制御処理の流れを示すフローチャートである。
【００３７】
生成部１２０は、記憶部１３０に記憶された現在の状態を示す状態データに基づき、現在の状態を取得する（ステップＳ１）。
【００３８】
そして、生成部１２０は、取得した現在の状態、発生したイベント（要求される機能）、定義データに基づき、どのような挙動を行うべきかを判定する。
【００３９】
まず、生成部１２０は、現在の状態、要求される機能の組み合わせが定義データの「−」に含まれているかどうかを判定する（ステップＳ２）。
【００４０】
「−」に含まれている場合、制御部１４０は、現在の状態を継続し、要求された機能を実行しない。例えば、図２に示す例では、プロジェクタ１００は、現在の状態が「ソース切替実行中」であり、要求される機能が「カラーモードプロンプト表示」である場合、ソース切り替えの実行を継続し、カラーモードプロンプト表示は行わない。
【００４１】
「−」に含まれていない場合、生成部１２０は、現在の状態、要求される機能の組み合わせが定義データの「×」に含まれているかどうかを判定する（ステップＳ３）。
【００４２】
「×」に含まれている場合、制御部１４０は、現在の状態を終了し（ステップＳ４）、要求された機能を実行しない。例えば、図２に示す例では、プロジェクタ１００は、現在の状態が「ランプ寿命警告メッセージ表示中」であり、要求される機能が「カラーモードプロンプト表示」である場合、ランプ寿命警告メッセージの表示を終了し、カラーモードプロンプト表示は行わない。
【００４３】
「−」および「×」に含まれていない場合、生成部１２０は、現在の状態、要求される機能の組み合わせが定義データの「△」に含まれているかどうかを判定する（ステップＳ５）。
【００４４】
「△」に含まれている場合、制御部１４０は、現在の状態を終了し（ステップＳ６）、要求された機能を実行する（ステップＳ８）。例えば、図２に示す例では、制御部１４０は、現在の状態が「メニュー表示中」であり、要求される機能が「カラーモードプロンプト表示」である場合、メニューの表示を終了し、カラーモードプロンプト表示を行うように制御対象である生成部１２０を制御する。なお、制御対象は、生成部１２０以外にも、例えば、投写部１６０、電源部等であってもよい。
【００４５】
「−」、「×」および「△」に含まれていない場合、生成部１２０は、現在の状態、要求される機能の組み合わせが定義データの「◎」に含まれているかどうかを判定する（ステップＳ７）。
【００４６】
「◎」に含まれている場合、制御部１４０は、現在の状態を継続し、要求された機能を実行する（ステップＳ８）。例えば、図２に示す例では、プロジェクタ１００は、現在の状態が「メニュー表示中」であり、要求される機能が「コントラスト選択」である場合、メニューの表示を継続し、コントラストの選択を行う。
【００４７】
なお、「−」、「×」、「△」、「◎」のいずれにも含まれていない場合（例えば、「／」の場合等）、制御部１４０は、何も行わない。
【００４８】
また、ステップＳ２〜Ｓ７の判定の順番は、定義データの定義順序と一致しており、生成部１２０は、定義データの定義順序に従って上述した判定を行う。
【００４９】
さらに、本実施例では、制御部１４０は、要求された機能を実行する（ステップＳ８）際に従来とは異なり、共通化した処理手順で要求された機能を実行する。
【００５０】
図４は、従来のイベント解析から後処理までの処理の流れを示すフローチャートである。また、図５は、本実施例におけるイベント解析から後処理までの処理の流れを示すフローチャートである。
【００５１】
例えば、従来は、キー押下が行われた場合（ステップＳ１１）、プロジェクタは、キーイベント解析（ステップＳ１２）、機能の実行可否チェック（ステップＳ１３）、機能実行（ステップＳ１４）、後処理（ステップＳ１５）を行っていた。なお、後処理としては、例えば、元の状態の復帰処理、現在の状態が終了した場合に新たな機能を実行する処理等が該当する。
【００５２】
また、従来は、シリアルデータが入力された場合（ステップＳ２１）、プロジェクタは、シリアルイベント解析（ステップＳ２２）、機能の実行可否チェック（ステップＳ２３）、機能実行（ステップＳ２４）、後処理（ステップＳ２５）を行っていた。
【００５３】
また、従来は、映像信号が変化した場合（ステップＳ３１）、プロジェクタは、映像イベント解析（ステップＳ３２）、機能の実行可否チェック（ステップＳ３３）、機能実行（ステップＳ３４）、後処理（ステップＳ３５）を行っていた。
【００５４】
このように、従来は、機能が追加されるごとに処理の流れが追加されていたため、プロジェクタ内で動作するプログラムの構成が複雑になり、保守性が十分ではなかった。
【００５５】
これに対し、本実施例では、各イベント解析（ステップＳ１２、Ｓ２２、Ｓ２３）後の機能の実行可否チェック（ステップＳ４３）、機能実行（ステップＳ４４）、後処理（ステップＳ４５）を共通化している。
【００５６】
このように処理を共通化できるのは、本実施例では、定義データを挙動ごとにまとめてあるからである。
【００５７】
以上のように、本実施例によれば、プロジェクタ１００は、挙動情報の種別ごとかつ優先順位ごとにまとめた定義データを生成することにより、当該定義データを用いた制御を行うことにより、より処理効率を上げることができる。
【００５８】
また、プロジェクタ１００は、定義データを挙動ごとにまとめることにより、処理を共通化でき、保守性を高めることもできる。
【００５９】
また、本実施例によれば、プロジェクタ１００は、機能間制御情報４００を２次元の表形式で表すことにより、ユーザーの入力を制御に反映しやすいため、仕様の変更等にも対応しやすく、保守性を高め、開発速度を上げ、ソフトウェアの品質を向上させることができる。
【００６０】
なお、本発明の適用は上述した実施例に限定されず、種々の変形が可能である。
【００６１】
例えば、生成部１２０は、定義データを直接サーチするのではなく、定義データに基づくインデックスサーチテーブルから定義データにおける検索対象のデータを決定してもよい。
【００６２】
これによれば、プロジェクタ１００は、インデックスサーチテーブルを検索することにより、より迅速に検索対象のデータを参照することができ、より処理効率を上げることができる。
【００６３】
なお、インデックスサーチテーブルの構造は、例えば、行がイベントＩＤ（要求される機能の識別情報）、列が挙動情報の種別ＩＤであってもよい。より具体的なインデックスサーチテーブルの定義は、例えば、Tbl_Index[256][5] = { { 255, 255, 255, 255, 255 }, { 255, 255, 0, 0, 0 }, { 255, 255, 31, 27, 28 },…｝等のように数値で表されるものであってもよい。
【００６４】
また、挙動の種別は、上述した実施例に限定されず、例えば、現在の状態を解除して新たな機能を実行した後に元の状態に復帰させるもの、現在の機能の実行後に新たな機能を実行するもの等であってもよい。なお、生成部１２０は、前者の挙動に対応するために、復帰すべき状態、機能、動作等を記憶する復帰テーブルを生成し、後者の挙動に対応するために、予約すべき状態、機能、動作等を記憶する予約テーブルを生成してもよい。また、生成部１２０は、必ずしも挙動の種別ごとにテーブルを生成する必要はなく、複数の種別の挙動を１つのテーブルにまとめてもよい。
【００６５】
また、本発明を適用可能なプロジェクタは、前面投写型のプロジェクタに限定されず、背面投写型のプロジェクタであってもよい。また、プロジェクタは、液晶プロジェクタには限定されず、ＣＲＴプロジェクタ、ＤＬＰプロジェクタ、ＬＥＤプロジェクタ等であってもよい。
【００６６】
また、本発明を適用可能な電子機器は、プロジェクタに限定されず、例えば、プロジェクションＴＶ、液晶ＴＶ、液晶ディスプレイ、ノートＰＣ等の種々の電子機器を採用可能である。
【００６７】
また、プロジェクタ１００とＰＣ３００の機能を単体の装置（例えば、ノートＰＣ等）に集約して実装してもよい。
【図面の簡単な説明】
【００６８】
【図１】本実施例におけるプロジェクタの機能ブロック図である。
【図２】本実施例における機能間制御情報を示す概略図である。
【図３】本実施例における制御処理の流れを示すフローチャートである。
【図４】従来のイベント解析から後処理までの処理の流れを示すフローチャートである。
【図５】本実施例におけるイベント解析から後処理までの処理の流れを示すフローチャートである。
【符号の説明】
【００６９】
１００  プロジェクタ、１１０  入力部、１２０  生成部、１３０  記憶部、１４０  制御部、２００  情報記憶媒体、３１０  表示部、３２０  編集部、４００  機能間制御情報
【図１】
2007226554.tif 000003
【図２】
2007226554.tif 000004
【図３】
2007226554.tif 000005
【図４】
2007226554.tif 000006
【図５】
2007226554.tif 000007