JP2023090050A - 投影制御方法、投影制御システム、投影制御装置及びプログラム - Google Patents
投影制御方法、投影制御システム、投影制御装置及びプログラム Download PDFInfo
- Publication number
- JP2023090050A JP2023090050A JP2021204787A JP2021204787A JP2023090050A JP 2023090050 A JP2023090050 A JP 2023090050A JP 2021204787 A JP2021204787 A JP 2021204787A JP 2021204787 A JP2021204787 A JP 2021204787A JP 2023090050 A JP2023090050 A JP 2023090050A
- Authority
- JP
- Japan
- Prior art keywords
- projector
- control
- token
- command
- projection
- 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Transforming Electric Information Into Light Information (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】制御コマンドを表すシンボルを画面上に配置することにより投影機を制御するプログラムを簡単に作成する。【解決手段】投影制御方法は、投影機200と通信可能な投影制御装置100が、投影機200を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、機能シンボルの配置に基づいて、投影機200を制御する投影機制御プログラムを作成し、投影機制御プログラムに従って、制御命令を投影機200に送信する。【選択図】図1
Description
本発明は、投影制御方法、投影制御システム、投影制御装置及びプログラムに関する。
プロジェクタ(投影機)は、映画視聴、テレビ会議、プレゼンテーション等を大画面で行いたい場合によく利用されている。また、教室等でプロジェクタを利用することにより、教師と生徒全員で情報を共有することができるため、学校等の教育の場においてもプロジェクタは有用な装置と言える。プロジェクタの入力切替や各種設定等については、通常はプロジェクタ本体に付いているボタンやリモコンによって行われるが、プロジェクタに接続したPC(Personal Computer)からRS-232C等を介して所定の制御コマンド(命令)を送信することによってもプロジェクタを制御することができるようになっていることが多い。また、特許文献1には、プロジェクタ本体を制御するだけでなく、他の機器をも制御することができるプロジェクタが開示されている。
特許文献1に開示されているプロジェクタは、機器を制御する機器制御情報に基づいて自機のみならず、他の機器をも制御することができる。しかし、特許文献1に開示されているプロジェクタや従来のプロジェクタを制御するには、制御コマンドを所定のフォーマットで記述したファイルやプログラムを用意する必要があり、制御コマンドの種類やパラメータの設定が複雑であった。
本発明は上記実情に鑑みてなされたものであり、制御コマンドを表すシンボルを画面上に配置することにより投影機を制御するプログラムを簡単に作成することができる投影制御方法、投影制御システム、投影制御装置及びプログラムを提供することを目的とする。
上記目的を達成するため、本発明に係る投影制御方法の一態様は、
投影機と通信可能な投影制御装置が、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する。
投影機と通信可能な投影制御装置が、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する。
本発明によれば、制御コマンドを表すシンボルを画面上に配置することにより投影機を制御するプログラムを簡単に作成することができる。
実施の形態に係る投影制御システムについて、図面を参照して説明する。なお、図中同一又は相当する部分には同一符号を付す。
(実施の形態1)
理解を容易にするために、ここでは、図1に示すように、実施の形態1に係る投影制御システム10を、学校等の教室300において使用する場合を想定して説明する。投影制御システム10は、複数の投影制御装置100と、投影機200と、を備える。
理解を容易にするために、ここでは、図1に示すように、実施の形態1に係る投影制御システム10を、学校等の教室300において使用する場合を想定して説明する。投影制御システム10は、複数の投影制御装置100と、投影機200と、を備える。
投影制御装置100は、PC、スマートフォン、タブレット等であり、生徒用の端末として使用される。図1では、投影制御システム10が備える投影制御装置100として、生徒用端末A,B,C,D,E,Fの6台が記載されているが、投影制御装置100の台数は1台以上であれば任意である。また、図1では記載されていないが、投影制御システム10は、教師用端末としての投影制御装置100をさらに備えてもよい。また、各投影制御装置100には、投影機200を制御するプログラム(投影機制御プログラム)を作成したり実行したりするための統合開発環境(IDE:Integrated Development Environment)がインストールされている。
投影機200は、プロジェクタである。投影機200は投影制御装置100と無線LAN(Local Area Network)等により接続されている。また、図示しないが、投影機200は、DVD(Digital Versatile Disc)プレーヤ、HDD(Hard Disk Drive)レコーダ、BD(Blu-ray(登録商標) Disc)プレーヤ等の映像機器と、HDMI(登録商標)(High-Definition Multimedia Interface)等のインタフェースで接続されている。投影機200は、これら接続されている投影制御装置100の後述する表示部130に表示されている画像や映像機器が出力する映像をスクリーン310に投影する。
実施の形態1に係る投影制御装置100は、図2に示すように、制御部110、記憶部120、表示部130、入力部140、通信部150を備える。
制御部110は、例えばCPU(Central Processing Unit)等のプロセッサで構成される。制御部110は、記憶部120に記憶されているプログラムにより、後述する投影制御処理等を実行する。後述する統合開発環境121も制御部110により実行される。
記憶部120は、制御部110が実行するプログラムや、必要なデータを記憶する。記憶部120は、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等を含み得るが、これらに限られるものではない。なお、記憶部120は、制御部110の内部に設けられていてもよい。
また、記憶部120には、投影機200を制御する投影機制御プログラムを作成したり実行したりするためのアプリケーションプログラム(統合開発環境121)が記憶されている。ユーザはこの統合開発環境121上で、投影機200を制御する命令(制御命令)と投影制御装置100のみで実行され投影機200を制御しない命令(単体命令)とを混在させた投影機制御プログラムを開発することができる。
また、複数の投影制御装置100が同時に投影機200を制御しようとすると投影機200の動作が不定になる(例えば、生徒用端末AがDVDプレーヤの再生映像を投影しようとし、それと同時に生徒用端末BがBDプレーヤの再生映像を投影しようとした場合には、どちらの映像が投影されるか不定になる)。したがって、このような動作を防ぐため、実施の形態1においては、投影制御装置100が投影機200を制御するためには、投影機200の制御権を得るためのトークン(投影機200を制御可能な投影制御装置100のみが知っているパスワードのようなもの)を取得しなければならず、トークンを取得した投影制御装置100のみが投影機200を制御できる。このトークンは投影機200から送信され、制御部110はトークンを受信すると、受信トークン122として、記憶部120に記憶する。
なお、受信トークン122は、投影制御装置100が起動したときに初期値(例えば0)に初期化される。また、制御部110は、後述するトークン返却命令により、トークンを投影機200に返却した後に受信トークン122を初期値に初期化する。受信トークン122の値が初期値の場合は、投影制御装置100は投影機200を制御できない。
表示部130は、液晶ディスプレイ、有機EL(Electro-Luminescence)ディスプレイ等の表示デバイスを備える。表示部130は、例えば、制御命令や単体命令に対応する機能シンボルを(後述する機能シンボルウィンドウ500に)表示したり、機能シンボルを配置して作成された投影機制御プログラムを(後述するプログラミングウィンドウ600に)表示したり、投影機制御プログラムの実行により(例えば後述する画像表示命令で)指定された画像等を表示したりする。
入力部140は、キーボード、マウス、タッチパネル等のユーザインタフェースである。入力部140は、ユーザからの操作入力として、キーボードからキー入力を、マウスからクリックやドラッグを、タッチパネルからタッチやドラッグ等の操作を受け付ける。
通信部150は、無線LAN等のネットワークインタフェースである。投影制御装置100は、通信部150を介して投影機200に制御命令や映像等を送信したり、投影機200から制御命令の実行結果等を受信したりすることができる。
また、実施の形態1に係る投影機200は、図3に示すように、制御部210、記憶部220、投影部230、操作入力部240、通信部250、映像入力部260、音出力部270、を備える。
制御部210は、例えばCPU等のプロセッサで構成される。制御部210は、記憶部220に記憶されているプログラムにより、後述する命令実行処理等を実行したり、投影機200が備える各種機能を実現したりする。
なお、投影機200が備える各種機能は、排他機能と基本機能と拡張機能とに大別できる。このうち排他機能とは、投影機200に接続されている複数の投影制御装置100のうち、一度には1つの投影制御装置100だけしか投影機200を制御できないようにするための機能である。実施の形態1における排他機能は、ワンタイムパスワード的に用いるトークンを投影機200が生成して、制御を許可する投影制御装置100に送信することによって実現される。
また、基本機能とは、投影機200の操作入力部240に対する操作や、RS-232C等で接続したPCから送信される制御コマンドで実現可能な機能であり、例えば、入力切替、入力一時遮断(ブランク)、明るさ調節(ライトコントロール)、音量調整、台形補正、映像拡大(ズーム)等の機能である。
また、拡張機能とは、上述した基本機能には含まれていないが、投影機200が備える回路を利用することによって実現可能な機能である。例えば、投影機200は、オンスクリーンディスプレイ(On Screen Display:OSD)により、投影される映像に文字列を重畳表示する重畳表示回路を備えている。この重畳表示回路を制御して文字列を投影映像に重畳表示する機能が、OSD表示機能であり、拡張機能のうちの1つである。OSD表示機能において重畳表示される文字のフォント、サイズ、表示位置は、重畳表示回路が対応可能な範囲で変更可能である。また、投影機200は、時間を計測する計時回路を備えている。この計時回路を制御して時間を計測する機能が、タイマー機能であり、拡張機能のうちの1つである。
拡張機能は、OSD表示機能やタイマー機能に限定されない。また、拡張機能は、投影機200が備える回路による機能に限定されない。例えば、投影機200は、接続ケーブルを介してカメラ(画像撮影装置)が備える回路等を利用して拡張機能を利用することができる。カメラにおける拡張機能としては、画像(動画、静止画)撮影機能、物体認識機能、画像の取り込み機能等が挙げられる。
記憶部220は、制御部210が実行するプログラムや、必要なデータを記憶する。記憶部220は、RAM、ROM、フラッシュメモリ等を含み得るが、これらに限られるものではない。なお、記憶部220は、制御部210の内部に設けられていてもよい。
また、記憶部220には、基本機能を制御する命令(基本制御命令)についての情報である基本制御命令情報221や、拡張機能を制御する命令(拡張制御命令)についての情報である拡張制御命令情報222が記憶されている。また、制御部210は、投影制御装置100からトークン要求命令を受信すると、トークンを生成し、生成したトークンを生成トークン223として記憶部220に記憶する。
投影部230は、光源等を備える光源部、マイクロミラー表示素子(例えば、DMD(Digital Micromirror Device:デジタル・マイクロミラー・デバイス))等を備える光変調素子部、レンズ等を備える投影光学系、通信部250や映像入力部260から入力された映像を処理して光変調素子部に入力する画像処理部、光源部を駆動する光源駆動部、投影光学系を駆動する投影光学系駆動部、光変調素子部を駆動する光変調素子駆動部等を備える。投影部230は、通信部250や映像入力部260から入力された映像をスクリーン310に投影する。
操作入力部240は、押しボタンスイッチ、リモコン受光部等、ユーザの操作入力を受け付けるユーザインタフェースである。
通信部250は、無線LAN等のネットワークインタフェースである。投影機200は、通信部250を介して投影制御装置100から制御命令や映像等を受信したり、投影制御装置100に制御命令の実行結果等を送信したりすることができる。
映像入力部260は、ソース機器(投影機200で出力する映像や音声のデータを提供する機器であり、例えばDVDプレーヤ等の映像機器。)からの映像データや音声データを入力するためのインタフェースであり、HDMI、アナログRCA等の映像入力用の複数の端子を備える。投影機200は、通信部250や映像入力部260を介して接続されたソース機器のうち、どのソース機器からの映像データを投影部230から投影するかを、操作入力部240で受け付けた操作入力や制御部210からの指示に基づいて、切り換えることができる。
音出力部270は、スピーカを備え、通信部250や映像入力部260を介して接続されたソース機器からの音声データを出力する。
次に、統合開発環境121について説明する。ユーザが統合開発環境121を起動すると、投影制御装置100の表示部130には、図4に示すような、機能シンボルウィンドウ500及びプログラミングウィンドウ600を含む画面が表示される。
統合開発環境121では、ユーザが、機能シンボルウィンドウ500に表示されている機能シンボルの中から使いたい機能シンボルを選択し、選択した機能シンボルをプログラミングウィンドウ600に配置することによって、投影機制御プログラムを作成することができる。そして、ユーザが実行ボタン601を(クリック、タッチ等により)押すと、後述する投影制御処理が開始され、プログラミングウィンドウ600に配置された機能シンボルに対応するプログラムである投影機制御プログラムが実行される。
図4で、ユーザが実行ボタン601の代わりにデバッグ実行ボタン602を押すと、投影機200を制御しないモード(デバッグモード)で、投影機制御プログラムが実行される。この場合、後述するトークン要求命令が無視され、投影機200を制御する命令(制御命令)は投影機200に送信されない(投影制御装置100の表示部130に実行された制御命令の種類を表示する処理となる)。デバッグ実行ボタン602を使用することで、投影機制御プログラムの動作確認を、トークンを取得せずに自分の投影制御装置100のみで(投影機200を占有せずに)行うことができる。
機能シンボルウィンドウ500には、投影機制御プログラムのプログラミングに用いる機能シンボルが並んでいる。機能シンボルには、排他機能の制御命令(トークン命令)に対応する排他機能シンボル、基本機能の制御命令に対応する基本制御機能シンボル、拡張機能の制御命令に対応する拡張制御機能シンボル、単体命令に対応する単体機能シンボル、が存在する。
図4にはこれらの機能シンボルのうち一部の機能シンボルが表示されている。例えば、トークン要求シンボル501及びトークン返却シンボル502は、排他機能シンボルである。また、入力切替シンボル511、ブランクシンボル512、ライトコントロールシンボル513及び音量シンボル514は、基本制御機能シンボルである。また、OSD表示シンボル521及びタイマーシンボル522は、拡張制御機能シンボルである。また、画像表示シンボル531及びファイル対応アプリ起動シンボル532は、単体機能シンボルである。以下、これらについて簡単に説明する。
トークン要求シンボル501は、投影機200にトークンをリクエストして取得したトークンを受信トークン122として記憶部120に記憶するトークン要求命令に対応する機能シンボルである。投影機200は後述する命令実行処理により、トークン要求命令を受信すると、トークンを生成して、投影制御装置100に送り返すので、投影制御装置100は、その送り返されたトークンを取得して受信トークン122として記憶部120に記憶する。
なお、図4に示すように、表示部130のトークン状態表示エリア603には、現在のトークンの取得状況(「トークン未取得」又は「トークン取得済み」)が表示される。また、トークンはトークン要求命令をプログラム中で実行する以外に、図6に示すトークン取得ボタン605を押すことによって手動でも取得することができ、トークンを取得すると、トークン状態表示エリア603には「トークン取得済み」と表示され、トークン取得ボタン605は、トークン返却ボタン604に変わる。ただし、トークンを取得できるのは、複数の投影制御装置100の中の1台のみなので、他の投影制御装置100が既にトークンを取得済みの時にトークン取得ボタン605を押しても、トークンは取得できず、トークン状態表示エリア603には「トークン未取得」が表示されたままになる。
トークン返却シンボル502は、投影機200にトークンを返却するトークン返却命令に対応する機能シンボルである。投影制御装置100がトークン返却命令を投影機200に送信する際には受信トークン122の値も送信する。投影機200は後述する命令実行処理により、トークン返却命令と受信トークン122の値とを受信すると、受信トークン122の値が生成トークン223と一致していることを確認後にトークンを初期化する。これにより、他の投影制御装置100が投影機200からトークンを取得することが可能になる。
入力切替シンボル511は、投影機200の入力ソースを切り換える命令である入力切替制御命令に対応する機能シンボルである。投影機200は後述する命令実行処理により、入力切替制御命令を受信すると、[入力ソース]に指定された入力ソースからの映像を投影するように入力切替を行う。
ブランクシンボル512は、投影機200の入力ソースからの映像を一時的に遮断し、[画面]で指定された種類の画面を表示する(ブランクオン)か、遮断を解除して入力ソースからの映像を投影する(ブランクオフ)か、を切り換える命令であるブランク制御命令に対応する機能シンボルである。ここで指定される[画面]の種類としては、例えば「黒画面」、「青画面」、「ロゴ」が挙げられる。「黒画面」なら全体が黒い画面が表示され、「青画面」なら全体が青い画面が表示され、「ロゴ」なら既定のロゴ(又はユーザが転送したロゴ用の画像)が表示される。
ライトコントロールシンボル513は、投影機200の投影映像の明るさを[設定値]に指定された設定値に調節する命令である明るさ制御命令に対応する機能シンボルである。投影機200は後述する命令実行処理により、明るさ制御命令を受信すると、[設定値]に指定された設定値に基づいて投影部230から投影する映像の明るさを調節する。
音量シンボル514は、投影機200の音量を[設定値]に指定された設定値に調整する命令である音量制御命令に対応する機能シンボルである。投影機200は後述する命令実行処理により、音量制御命令を受信すると、[設定値]に指定された設定値に基づいて音出力部270から出力する音の大きさを調整する。
OSD表示シンボル521は、投影機200が備える重畳表示回路を用いて[内容]に指定された文字列を[位置]に指定された位置に表示させるOSD制御命令に対応する機能シンボルである。[位置]の指定例として、「画面中央」、「画面右下」、「画面左上」などが挙げられる。例えば、[位置]において、「画面中央」と指定した場合は、上記文字列を投影画面(投影エリア)の中央部に表示させ、「画面右下」と指定した場合は、上記文字列を投影画面の右下部に表示させる。また、画面上での横方向の位置(X座標)と縦方向の位置(Y座標)とをそれぞれ数値(例えばピクセル数や文字数)で指定(例えば「ピクセル位置(128,96)」、「文字位置(8,6)」等)することにより、その指定された位置から上記文字列を表示することができるようにしてもよい。
タイマーシンボル522は、投影機200が備える計時回路を用いて[設定時間]に指定された時間だけ待機させるタイマー制御命令に対応する機能シンボルである。
画像表示シンボル531は、投影制御装置100の表示部130に、[画像ファイル名]に指定された画像ファイルを表示させる画像表示命令に対応する機能シンボルである。
ファイル対応アプリ起動シンボル532は、投影制御装置100に、[ファイル名]に指定されたファイルに対応するアプリケーションを起動させて、当該ファイルを対応するアプリケーションで閲覧可能に表示させるファイル対応アプリ起動命令に対応する機能シンボルである。
以上、図4に記載されている各機能シンボルについて説明したが、これ以外にも、投影機200が備える各種機能に対応する機能シンボルが用意されており、ユーザは機能シンボルウィンドウ500から必要な機能シンボルを選択してプログラミングウィンドウ600に配置して、投影機200を制御する投影機制御プログラムを作成することができる。
図4において、実行ボタン601が押されると、プログラミングウィンドウ600に配置されている機能シンボルで表される命令が順次実行される。ここでは、図4に示す画面が表示部130に表示されている生徒用端末Aにおいて、実行ボタン601が押された場合に、プログラミングウィンドウ600に記載された投影機制御プログラムが実行されていく過程を説明する。ただし、以下に示す例では、生徒用端末Aの端末名が「ABC1001」、生徒用端末Bの端末名が「ABC1205」であるものとする。また、これらの端末名や各端末のID(例えばMAC(Media Access Control)アドレス)は、各投影制御装置100や投影機200が起動すると、ARP(Address Resolution Protocol)等により自動的に取得され、記憶部120や記憶部220に記憶されるものとする。
まず、ステップS611で、生徒用端末Aの制御部110はトークン要求命令を投影機200に送信する。この命令を受信した投影機200は、生成トークン223が初期化されている(他の投影制御装置100にトークンを与えていない)ことを確認した上で新たなトークンを生成し、生成したトークンを生成トークン223として記憶部220に記憶するとともに、生徒用端末Aに送信する。制御部110は、投影機200から送信されたトークンを受信トークン122として記憶部120に記憶する。
ただし、生徒用端末Aでトークンが既に取得済みの状態になっている場合(例えばユーザが予めトークン取得ボタン605を押してトークンを取得していた場合)には、ステップS611の処理はスキップされる。また、投影機200が他の投影制御装置100(生徒用端末A以外の生徒用端末)に既にトークンを与えている場合には、当該他の投影制御装置100がトークンを返却するまで、生徒用端末Aの制御部110はステップS611で待機する。このようなトークンによる排他制御が行われることにより、複数の投影制御装置100が同時に投影機200を制御して投影機200が予期しない動作をしてしまうことを防ぐことができる。
次に、ステップS612で、制御部110はパラメータとして「オン」及び「黒画面」を指定したブランク制御命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しい(生成トークン223の値と一致する)ことを確認後、ブランク機能をオンにすることにより入力ソースからの映像を一時的に遮断して黒画面を投影する。そして、ブランク制御命令が正常に実行できたことを投影制御装置100に送信する。これにより、スクリーン310には図5に示すスクリーン映像311のような黒画面が表示される。一実施形態では、パケット通信方式等により送信元(投影制御装置100)のID(例えば、MACアドレス)を確認してもよい。この場合、命令の送信ごとの受信トークン122の値の送信、及び受信トークン122の確認を省略してもよい。
次に、ステップS613で、制御部110はパラメータとして「ABC1001」を指定した入力切替命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、入力ソースを端末名「ABC1001」の端末(生徒用端末A)に切り換え、命令が正常に実行できたことを投影制御装置100(生徒用端末A)に送信する。
次に、ステップS614で、制御部110はパラメータとして「モルモット01.jpg」を指定した画像表示命令を実行する。すると、制御部110は、記憶部120に格納されている「モルモット01.jpg」という画像ファイルを表示部130に表示する。しかし、投影機200は入力ソースからの映像を遮断したままなので、スクリーン310にはスクリーン映像311のような黒画面が表示されたままである。
次に、ステップS615で、制御部110はパラメータとして「モルモットの観察日記」及び「画面中央」を指定したOSD制御命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、OSD表示機能を用いて画面中央に「モルモットの観察日記」という文字列を表示し、命令が正常に実行できたことを投影制御装置100に送信する。すると、スクリーン310には図5に示すスクリーン映像312のように「モルモットの観察日記」という文字列が投影される。
次に、ステップS616で、制御部110はパラメータ「3.0秒」が指定されたタイマー制御命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、タイマー機能を用いて指定された3.0秒待機した後に、命令が正常に実行できたことを投影制御装置100に送信する。これにより、投影制御装置100も、3.0秒待機することになる。
次に、ステップS617で、制御部110はパラメータとして「オフ」を指定したブランク制御命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、ブランク機能をオフにすることにより入力ソースからの映像を表示するようにし、命令が正常に実行できたことを投影制御装置100に送信する。これにより、スクリーン310には図5に示すスクリーン映像313のような、「モルモット01.jpg」の画像が投影される。
次に、ステップS618で、制御部110はパラメータとして「明るさ5」を指定した明るさ制御命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、投影する映像の明るさを「明るさ5」に設定し、命令が正常に実行できたことを投影制御装置100に送信する。これにより、スクリーン310には図5に示すスクリーン映像314のように、「モルモット01.jpg」の画像が明るく投影される。
次に、ステップS619で、制御部110はトークン返却命令と受信トークン122の値とを投影機200に送信し、受信トークン122を初期化する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、生成トークン223を初期化する。これにより、他の投影制御装置100がトークンを取得することが可能になる。
なお、ステップS619がなくても、プログラミングウィンドウ600に記載された投影機制御プログラムを最後まで実行し終えた時点でトークンを取得したままであったら、制御部110は、トークン返却命令と受信トークン122の値とを投影機200に送信し、トークンを返却する。これにより、他の投影制御装置100がトークンを取得できず、投影機200を制御できなくなってしまうことを防ぐことができる。
次に、図6を参照して、生徒用端末Bにおいて、プログラミングウィンドウ600に記載された投影機制御プログラムが実行されていく過程を説明する。なお、図6は、生徒用端末Bでの統合開発環境121の画面を表している。
また、この投影機制御プログラムの実行の前提として、投影機200に複数存在するHDMI端子のうちの1つであるHDMI1端子にDVDプレーヤが接続され、このDVDプレーヤでモルモットの代表的な食料を紹介する20秒の映像が繰返し再生されているものとする。また、この例では、生徒Aは生徒用端末Aで予めトークン取得ボタン605によりトークンを取得済みであり、生徒Aが生徒用端末Aで、生徒Bが生徒用端末Bで、それぞれ実行ボタン601を押した場合を想定する。
まず、ステップS621で、生徒用端末Bの制御部110はパラメータとして「タイトル1.jpg」を指定した画像表示命令を実行する。すると、制御部110は、記憶部120に格納されている「タイトル1.jpg」という画像ファイル(「モルモットの食料について」という文字が描かれた画像ファイル)を表示部130に表示する。上述のように、投影機200は、トークンを取得している生徒用端末Aで制御されているため、生徒用端末Bの表示部130の映像はこの時点ではスクリーン310に投影されない。
次に、ステップS622で、制御部110はトークン要求命令を投影機200に送信する。この命令を受信した投影機200は、生成トークン223が初期化されていない(生徒用端末Aに既にトークンを与えている)ため、生徒用端末Aからトークンが返却されるまで待機する。そして、投影機200は、生徒用端末Aからトークンが返却されると新たなトークンを生成し、生成したトークンを生成トークン223として記憶部220に記憶するとともに、生徒用端末Bに送信する。すると、制御部110は、投影機200から送信されたトークンを受信トークン122として記憶部120に記憶する。
次に、ステップS623で、制御部110はパラメータとして「ABC1205」を指定した入力切替命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、入力ソースを端末名「ABC1205」の端末(生徒用端末B)に切り換え、命令が正常に実行できたことを投影制御装置100に送信する。すると、スクリーン310には図7に示すスクリーン映像321のような、「タイトル1.jpg」の画像が投影される。
次に、ステップS624で、制御部110はパラメータ「2.0秒」が指定されたタイマー制御命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、2.0秒待機した後に、命令が正常に実行できたことを投影制御装置100に送信する。これにより、投影制御装置100も、2.0秒待機するので、スクリーン310には2秒間、スクリーン映像321が投影されたままになる。
次に、ステップS625で、制御部110はパラメータとして「HDMI1」を指定した入力切替命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、入力ソースをHDMI1端子に切り換え、命令が正常に実行できたことを投影制御装置100に送信する。これにより、HDMI1端子に接続されたDVDプレーヤの再生画面として、例えば図7に示すスクリーン映像322がスクリーン310に投影される。
なお、HDMIで接続されている機器はCEC(Comsumer Electronics Control)により制御可能である。したがって、ステップS625とステップS626の間に、CECでHDMI接続機器を再生させる「再生開始」という拡張制御命令に対応する機能シンボルを挿入してもよい。このようにすると、ステップS625の後に、「再生開始」の拡張制御命令が実行され、自動的にDVDプレーヤの再生が開始される。図示しないがCEC関連の拡張制御命令としては、例えば「再生開始」、「再生停止」、「一時停止」等が想定できる。そして、それぞれに対応する機能シンボルを機能シンボルウィンドウ500から選択してプログラミングウィンドウ600に配置することで、ユーザは簡単にCECを利用したHDMI接続機器の制御を行うことができるようになる。
プログラミングウィンドウ600に記載された投影機制御プログラムが実行されていく過程の説明に戻り、次に、ステップS626で、制御部110はパラメータ「20.0秒」が指定されたタイマー制御命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、20.0秒待機した後に、命令が正常に実行できたことを投影制御装置100に送信する。これにより、投影制御装置100も、20.0秒待機するので、スクリーン310には、例えば図7に示すスクリーン映像322,323,324のようなDVDプレーヤの再生映像が20秒間投影される。
次に、ステップS627で、生徒用端末Bの制御部110はパラメータとして「タイトル2.jpg」を指定した画像表示命令を実行する。すると、制御部110は、記憶部120に格納されている「タイトル2.jpg」という画像ファイル(「モルモットは、主に牧草や生野菜を食べていることが分かります」という文字が描かれた画像ファイル)を表示部130に表示する。しかし、投影機200は、DVDプレーヤの再生映像を投影しているため、この時点では「タイトル2.jpg」という画像ファイルの映像はスクリーン310には投影されない。
次に、ステップS628で、制御部110はパラメータとして「ABC1205」を指定した入力切替命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、入力ソースを端末名「ABC1205」の端末(生徒用端末B)に切り換え、命令が正常に実行できたことを投影制御装置100に送信する。すると、スクリーン310には図7に示すスクリーン映像325のような、「タイトル2.jpg」の画像が投影される。
次に、ステップS629で、制御部110はトークン返却命令と受信トークン122の値とを投影機200に送信する。この命令と受信トークン122の値とを受信した投影機200は、受信トークン122の値が正しいことを確認後、生成トークン223を初期化する。これにより、他の投影制御装置100がトークンを取得することが可能になる。なお、上述したように、ステップS629がなくても、投影機制御プログラム終了時に制御部110は、トークン返却命令と受信トークン122の値とを投影機200に送信し、トークンを返却するようにしてもよい。
以上説明したように、投影制御装置100により、ユーザは投影機200を制御する投影機制御プログラムを容易に作成することができる。しかも、トークンにより、投影機200を制御するプログラムを複数のユーザで分担して作成することができる。
次に、プログラミングウィンドウ600に記載された投影機200を制御するプログラム(投影機制御プログラム)を実行する処理の一実施形態について説明する。この処理は、投影制御装置100が図8に示す投影制御処理を、投影機200が図9及び図10に示す命令実行処理を、それぞれ実行することによって行われる。まず、図8を参照して、投影制御処理を説明する。この処理は、投影制御装置100において実行ボタン601が押されると実行が開始される。
まず、制御部110は、プログラミングウィンドウ600に記載された機能シンボルを確認する際に、先頭から何番目の機能シンボルを確認するのかを指定するための変数iを1に初期化する(ステップS101)。
次に、制御部110は、プログラミングウィンドウ600に先頭からi番目の機能シンボルが存在するか否かを判定する(ステップS102)。
先頭からi番目の機能シンボルが存在しないなら(ステップS102;No)、制御部110は、トークンを保持しているか否かを判定する(ステップS117)。これは、受信トークン122に初期値以外の値が格納されているか否かによって判定できる。トークンを保持しているなら(ステップS117;Yes)、制御部110は、通信部150を介して、受信トークン122の値とともにトークン返却命令を投影機200に送信して受信トークン122を初期化(初期値を代入)し(ステップS118)、投影制御処理を終了する。
トークンを保持していないなら(ステップS117;No)、制御部110は、投影制御処理を終了する。ステップS102での判定がNoであるということは、プログラミングウィンドウ600に記載された機能シンボルに対応する命令の実行が全て終了したということを表すので、投影機制御プログラムの実行を終了することになる。しかし、トークンを保持したままでいると、他の投影制御装置100が投影機200を制御できなくなってしまうため、投影機制御プログラムを終了する際にトークンを返却するための処理がステップS117及びS118である。
一方、先頭からi番目の機能シンボルが存在するなら(ステップS102;Yes)、制御部110は、先頭からi番目の機能シンボルに対応する命令を取得し(ステップS103)、変数iに1を加算する(ステップS104)。
そして、制御部110は、取得した命令がトークン要求命令であるか否かを判定する(ステップS105)。トークン要求命令なら(ステップS105;Yes)、制御部110は、トークン要求命令を投影機200に送信する(ステップS106)。後述するがトークン要求命令を受信した投影機200は、トークンを生成し、生成したトークンを投影制御装置100に送り返す。そして、制御部110は、投影機200から送り返されたトークンを、通信部150を介して取得し、記憶部120の受信トークン122に記憶し(ステップS107)、ステップS102に戻る。
一方、取得した命令がトークン要求命令でないなら(ステップS105;No)、制御部110は、取得した命令がトークン返却命令であるか否かを判定する(ステップS108)。取得した命令がトークン返却命令なら(ステップS108;Yes)、制御部110は、トークン返却命令を投影機200に送信し、受信トークン122を初期化(初期値を代入)し(ステップS109)、ステップS102に戻る。
取得した命令がトークン返却命令でなければ(ステップS108;No)、制御部110は、取得した命令が単体命令(例えば表示部130に画像を表示させる画像表示命令)であるか否かを判定する(ステップS110)。取得した命令が単体命令なら、制御部110はその単体命令を実行し(ステップS111)、ステップS102に戻る。また、その単体命令を実行できなかった場合には、制御部110は、表示部130にその単体命令を実行できなかったことを示すエラーメッセージを表示して、ステップS117に進んで投影機制御プログラムを終了してもよい。
取得した命令が単体命令でないなら(ステップS110;No)、制御部110は、取得した命令が制御命令であるか否かを判定する(ステップS112)。取得した命令が制御命令でなければ(ステップS112;No)、そのような命令はあり得ないため、制御部110はその命令を無視してステップS102に戻る。なお、ステップS112の判定がNoの場合、制御部110は、表示部130にそのような命令が存在しないことを示すエラーメッセージを表示して、ステップS117に進んで投影機制御プログラムを終了してもよい。
一方、取得した命令が制御命令であるなら(ステップS112;Yes)、制御部110は、トークンを保持しているか否かを判定する(ステップS113)。トークンを保持しているなら(ステップS113;Yes)、制御部110は、その制御命令と受信トークン122の値とを投影機200に送信する(ステップS114)。後述するが、制御命令を受信した投影機200は、一緒に受信したトークンが正しければ、その制御命令を実行する。そして、その制御命令を正常に実行できたのか、実行できなかった(エラーが発生した)のか等の情報(制御命令実行結果)を投影制御装置100に送り返す。また、上述のように、パケット通信方式等により送信元(投影制御装置100)のID(例えば、MACアドレス)を確認する場合は、ステップS114で制御部110は、受信トークン122の値を送信せずに制御命令のみを投影機200に送信してもよい。
そして、制御部110は、投影機200から送り返された制御命令実行結果を、通信部150を介して受信し(ステップS115)、ステップS102に戻る。なお、受信した制御命令実行結果により、その制御命令でエラーが発生したことが判明した場合には、制御部110は、表示部130にその制御命令でエラーが発生したことを示すエラーメッセージを表示して、ステップS117に進んで投影機制御プログラムを終了してもよい。
一方、ステップS113でトークンを保持していないなら(ステップS113;No)、制御部110は、その制御命令の情報を表示部130に表示し(ステップS116)、ステップS102に戻る。なお、このステップS116は、デバッグ実行ボタン602により投影機制御プログラムが実行された場合の処理を想定したものである。実行ボタン601で投影機制御プログラムが実行された場合には、トークンを取得せずに制御命令を実行することは本来できないので、ステップS116では制御部110は例えば「プロジェクタを制御する命令を実行するにはトークンを取得しなければなりません」というようなエラーメッセージを表示部130に表示して、ステップS117に進んで投影機制御プログラムを終了してもよい。
なお、デバッグ実行ボタン602が押された時には、制御部110は、上述の投影制御処理(図8)のうち、投影機200とトークンをやり取りする処理(ステップS106、S107、S109)をスキップし、ステップS113での判定を常にNoとして処理を進めればよい。このように処理を変更することにより、投影機200が他の投影制御装置100に制御されている場合でも、投影制御装置100は、自機単体で投影機制御プログラムの動作確認を行うことができる。
また、上述の投影制御処理では説明を簡単にするため、投影機制御プログラムには条件分岐やループは存在しないものとして説明した。しかし、投影機制御プログラムに条件分岐やループが存在しても、制御部110が、投影機制御プログラムを条件分岐やループも考慮してその実行の順に沿って辿っていけるようにすれば、特に問題はない。投影機制御プログラムに条件分岐やループの存在を許す場合、機能シンボルウィンドウ500には、条件分岐やループを表す機能シンボルを表示してもよい。
次に、投影機200の制御部210が実行する命令実行処理について、図9及び図10を参照して説明する。この処理は、投影機200が起動すると、投影機200で実行される他の処理と並行して起動する。また、投影制御装置100の投影制御処理によって送信された制御命令は、この命令実行処理によって実行され、正常に実行できたか否かの情報(制御命令実行結果)が投影制御装置100に送信される。
まず、制御部210は、生成トークン223を初期値(例えば0)に初期化する(ステップS201)。そして、制御部210は、通信部250を介して、投影制御装置100から命令を受信する(ステップS202)。そして、制御部210は、受信した命令がトークン要求命令であるか否かを判定する(ステップS203)。受信した命令がトークン要求命令なら(ステップS203;Yes)、制御部210は生成トークン223が初期化されているか否かを判定する(図10のステップS211)。
生成トークン223が初期化されているなら(ステップS211;Yes)、制御部210は、トークンを生成し、生成したトークンの値を記憶部220の生成トークン223に記憶する(ステップS212)。トークンの生成方法としては、例えば擬似乱数生成アルゴリズムにより生成する。また、生成されたトークンが初期値(例えば0)と一致する値だった場合には、初期値以外の値になるまでトークンの生成を繰り返す。そして、制御部210は、生成トークン223を、トークン要求命令を送信した投影制御装置100に通信部250を介して送信し(ステップS213)、図9のステップS202に戻る。
一方、生成トークン223が初期化されていないなら(ステップS211;No)、制御部210は、トークン要求命令を送信した投影制御装置100のID(例えばMACアドレス)を、記憶部220内の先入れ先出し方式(FIFO:First In First Out)のキューに保存し(ステップS214)、図9のステップS202に戻る。生成トークン223が初期化されていない場合は、既に制御部210がトークンを生成していずれかの投影制御装置100に送信済みということなので、そのトークンが返却されるまでは新たなトークンを生成してはいけない。このため、トークン要求命令を送信した投影制御装置100のIDをトークンの返却を待つ待ち行列(上述のキュー)に格納するのである。
一方、ステップS203の判定で受信した命令がトークン要求命令でないなら(ステップS203;No)、制御部210は、受信した命令がトークン返却命令であるか否かを判定する(ステップS204)。受信した命令がトークン返却命令なら(ステップS204;Yes)、制御部210は返却されたトークンが正しいか否かを判定する(図10のステップS215)。この判定においては、返却されたトークンの値が生成トークン223の値と一致しているなら、制御部210は返却されたトークンは正しいと判定する。
ステップS215で、返却されたトークンが正しくない(生成トークン223と一致しない)なら(ステップS215;No)、トークンの返却はできず、図9のステップS202に戻る。なお、上述の処理では、トークンが返却できなかった場合にエラー処理を行っていないが、ステップS215での判定がNoの場合、制御部210は例えば「トークン返却不可エラー」のような制御命令実行結果を、投影制御装置100に送信してからステップS202に戻ってもよい。この場合、上述の投影制御処理(図8)のステップS109では、制御部110は制御命令実行結果を受信し、「トークン返却不可エラー」が受信された場合には、その旨を示すエラーメッセージを表示部130に表示して、ステップS117に進んで投影機制御プログラムを終了してもよい。
一方、返却されたトークンが正しい(生成トークン223と一致している)なら(ステップS215;Yes)、制御部210は、上述のトークン要求命令を送信した投影制御装置のIDを先入れ先出し方式で保存しているキューが空か否かを判定する(ステップS216)。キューが空なら(ステップS216;Yes)、制御部210は生成トークンを初期値(例えば0)に初期化し(ステップS217)、図9のステップS202に戻る。
キューが空でなければ(ステップS216;No)、制御部210は過去にトークン要求命令を送信した投影制御装置100のIDをキューから1つ取得し(ステップS218)、ステップS212に進む。この処理により、過去にトークン要求命令を送信して待ち行列に入れられていた投影制御装置100に対して、待ち行列に入った順番にトークンを送信することができる。
一方、ステップS204の判定で受信した命令がトークン返却命令でないなら(ステップS204;No)、制御部210は、受信した命令が制御命令であるか否かを判定する(ステップS205)。受信した命令が制御命令でないなら(ステップS205;No)、制御部210は、ステップS202に戻る。なお、上述の投影制御処理(図8)で説明したように、投影制御装置100から送信される命令はトークン命令と制御命令のみなので、実際にはステップS205での判定がNoになることはないはずだが、本実施の形態では、制御命令以外の命令を受信した場合にはその命令を無視してステップS202に戻ることとしている。
受信した命令が制御命令なら(ステップS205;Yes)、制御部210は、制御命令とともに受信したトークンが正しいか否かを判定する(ステップS206)。この判定においては、受信したトークンの値が生成トークン223の値と一致しているなら、制御部210は受信したトークンは正しいと判定する。ステップS206で、受信したトークンが正しくないなら(ステップS206;No)、制御部210は、受信した制御命令を実行することなく、ステップS202に戻る。また、上述のように、パケット通信方式等により送信元(投影制御装置100)のID(例えば、MACアドレス)を確認する場合は、ステップS206をスキップしてもよい。
受信したトークンが正しいなら(ステップS206;Yes)、制御部210は受信した制御命令を実行する(ステップS207)。この場合、受信した制御命令が基本制御命令なら、ステップS207で制御部210は基本制御命令情報221に基づいて当該基本制御命令を実行する。この処理は、シリアル接続されたPCから送信されたRS-232Cコマンドを実行するときと同様の処理になる。また、受信した制御命令が拡張制御命令なら、ステップS207で制御部210は拡張制御命令情報222に基づいて当該拡張制御命令を実行する。
そして、制御部210は、ステップS207で制御命令を実行した結果、正常に実行できたか否か(エラーが発生したのか等)の情報(制御命令実行結果)を投影制御装置100に送信し(ステップS208)、ステップS202に戻る。
以上、命令実行処理について説明した。このようにトークンを要求した投影制御装置100のIDをキューに保存して、トークンが返却されるたびに次の順番の投影制御装置100にトークンを送信することにより、複数の投影制御装置100が同時に投影機200を制御しようとした場合でも、1台ずつ順番に投影機200を制御することができる。
なお、上述の実施の形態1では、トークンを用いて投影制御装置100の排他制御を行っているが、排他制御を行うのに必ずしもトークンを用いる必要はない。例えば、トークンの代わりに、単純に制御命令の送信を許可する投影制御装置100のID(例えばMACアドレス)を管理することによって、排他制御を実現してもよい。
この場合、排他制御のための命令としてトークン要求命令の代わりに制御権要求命令、トークン返却命令の代わりに制御権返却命令を用いる。また、投影機200の記憶部220は、生成トークン223の代わりに制御権取得IDを記憶する。そして、投影機200は、制御権要求命令を受信したら制御権要求命令を送信した投影制御装置100のIDを制御権取得IDに記憶し、制御権取得IDの投影制御装置100から制御権返却命令を受信したら制御権取得IDを初期値(例えば0)に初期化する。そして、制御命令を受信したら当該制御命令を送信した投影制御装置100のIDが制御権取得IDと一致した場合に限り、当該制御命令を実行するようにする。このようにすることでも、投影制御システムは、投影制御装置100の排他制御を実現することができる。
(実施の形態2)
上述の実施の形態1では、トークンの生成を投影機200が行っていたが、トークンの生成は必ずしも投影機200が行う必要はない。ここでは、図11に示すような、トークンの生成が可能な教師用端末としてのトークン投影制御装置101と、複数の投影制御装置100と、投影機201と、を備える実施の形態2に係る投影制御システム11について説明する。
上述の実施の形態1では、トークンの生成を投影機200が行っていたが、トークンの生成は必ずしも投影機200が行う必要はない。ここでは、図11に示すような、トークンの生成が可能な教師用端末としてのトークン投影制御装置101と、複数の投影制御装置100と、投影機201と、を備える実施の形態2に係る投影制御システム11について説明する。
投影制御システム11は、投影制御システム10に、トークン投影制御装置101(教師用端末)が追加され、投影機200がトークン生成機能を持たない投影機201に置き換えられた構成になっている。
トークン投影制御装置101の機能構成は図12に示すように投影制御装置100とほぼ同じだが、記憶部120が生成トークン123も記憶する点が異なる。またトークン投影制御装置101の制御部110は、トークンを生成する処理も行う点で、投影制御装置100の制御部110と異なる。
トークン投影制御装置101の制御部110がトークンを生成する処理は、実施の形態1の投影機200における命令実行処理のステップS201及びステップS211~ステップS218と同様である。ただし、投影機201を介してトークン命令(トークン要求命令及びトークン返却命令)を受信し、投影機201を介して生成トークン123を投影制御装置100に送信する。
このため、後述するように、投影機201は、投影制御装置100からトークン命令を受信したら、当該投影制御装置100のIDとともに、当該トークン命令をトークン投影制御装置101に送信する。そして、トークン要求命令を受信したトークン投影制御装置101は、当該トークン要求命令を送信した投影制御装置100のIDとともに、生成トークン123の値を投影機201に送信し、投影機201は、その値を生成トークン223に格納するとともに、生成トークン123の値とともに送信されたIDで示される投影制御装置100に生成トークン123の値を送信する。
また、投影機201の機能構成は図3に示すように投影機200と同様である。ただし、投影機201の制御部210はトークンを生成せず、トークン命令や生成トークンを中継する点が投影機200と異なる。すなわち、投影機201は、投影制御装置100から送信されたトークン命令(トークン要求命令及びトークン返却命令)をトークン投影制御装置101に送信し、トークン投影制御装置101から送信された生成トークンを投影制御装置100に送信する。
上述の点を除けば、実施の形態2に係る投影制御システム11は、投影制御システム10と同様であるため、実施の形態2に係る投影制御処理及び命令実行処理の説明は省略する。
(実施の形態3)
上述の実施の形態では、統合開発環境121でプログラミングウィンドウ600に機能シンボルを配置して作成された投影機制御プログラムは、ユーザが実行ボタン601を押すことによって実行された。しかし、投影機制御プログラムの実行に統合開発環境121は必須ではない。例えば、統合開発環境121にコンパイル機能を搭載し、ユーザがコンパイルボタンを押すと、投影機制御プログラムがコンパイルされて実行ファイルが生成されるようにしてもよい。この場合、コンパイルされて生成された実行ファイルは統合開発環境121無しで、投影機制御プログラムと同じ内容の処理を実行可能である。
上述の実施の形態では、統合開発環境121でプログラミングウィンドウ600に機能シンボルを配置して作成された投影機制御プログラムは、ユーザが実行ボタン601を押すことによって実行された。しかし、投影機制御プログラムの実行に統合開発環境121は必須ではない。例えば、統合開発環境121にコンパイル機能を搭載し、ユーザがコンパイルボタンを押すと、投影機制御プログラムがコンパイルされて実行ファイルが生成されるようにしてもよい。この場合、コンパイルされて生成された実行ファイルは統合開発環境121無しで、投影機制御プログラムと同じ内容の処理を実行可能である。
(その他の効果)
従来は投影機200をPC等から制御するには、RS-232C等によるシリアル通信制御コマンドを使用したプログラムを作成する必要があり、比較的高度なプログラミングの技術が必要だった。しかし、上述の実施の形態によれば、ユーザは機能シンボルを画面上に配置するだけで比較的容易に投影機制御プログラムを作成することができる。
従来は投影機200をPC等から制御するには、RS-232C等によるシリアル通信制御コマンドを使用したプログラムを作成する必要があり、比較的高度なプログラミングの技術が必要だった。しかし、上述の実施の形態によれば、ユーザは機能シンボルを画面上に配置するだけで比較的容易に投影機制御プログラムを作成することができる。
投影制御装置100は、機能シンボルの配置に基づいて作成された、投影機200を制御する投影機制御プログラムに従って、制御機能シンボルに対応する制御命令を投影機200に送信することで、投影機200を制御することができる。また、制御機能シンボルは、プロジェクタの制御に対応しているので、その種類はある程度限定され、初心者でもプログラミングに取り組みやすくなる。また、投影機制御プログラムの実行結果はスクリーン310に投影されるので、複数人でプログラムの結果を共有でき、プログラミング学習やデバッグの効率化を図ることができる。
基本制御機能シンボルは、従来のRS-232C等によるシリアル通信制御コマンドに対応しており、各制御コマンドに対応する投影機200の動作も明確である。したがって、基本制御機能シンボルを用いた投影機制御プログラムを実行した際の投影機200の動作により、そのプログラムの動作の正しさを即座に把握することができる。したがって、例えばプログラミングの初心者がプログラムのバグを見つけて修正すること(デバッグ)を容易に行うことができるので、投影制御装置100及び統合開発環境121は、プログラミングの学習ツールとしても有用である。
また、単体機能シンボルに対応する単体命令は投影機200に送信されず、投影制御装置100単体で実行されるので、投影機200が他のユーザに使われているときにも実行することができる。このため、単体機能シンボルは投影機200に投影する映像を表示部130に表示させるためだけでなく、投影機制御プログラムを投影制御装置100単体でデバッグ等する際にも活用することができる。
機能シンボルは機能シンボルウィンドウ500に列挙されており、ここから必要な機能シンボルを選択してプログラミングウィンドウ600に配置するだけで、投影機制御プログラムを作成することができるので、制御コマンドの種類やプログラミング言語の文法を覚えなくても簡単にプログラミングを行うことができる。
従来のRS-232C等によるシリアル通信制御コマンド以外の制御命令も、拡張制御命令として実行可能なので、より柔軟な投影機制御プログラムを作成することができる。
OSD表示機能においては、重畳表示される文字のフォント、サイズ、表示位置を変更可能なので、スクリーン310上に、より豊かな表現で情報を表示することができる。
なお、投影制御装置100及びトークン投影制御装置101は、タブレット、スマートフォン、PC等のコンピュータによっても実現することができる。具体的には、上記実施の形態では、投影制御装置100及びトークン投影制御装置101が実行する投影制御処理等のプログラムが、記憶部120に予め記憶されているものとして説明した。また、投影機200が実行する命令実行処理等のプログラムが、記憶部220に予め記憶されているものとして説明した。しかし、これらのプログラムを、フレキシブルディスク、CD-ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)、MO(Magneto-Optical disc)、メモリカード、USBメモリ等の非一時的なコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータに読み込んでインストールすることにより、上述の各処理を実行することができるコンピュータを構成してもよい。
さらに、プログラムを搬送波に重畳し、インターネットなどの通信媒体を介して適用することもできる。例えば、通信ネットワーク上の掲示板(BBS:Bulletin Board System)にプログラムを掲示して配信してもよい。そして、このプログラムを起動し、OS(Operating System)の制御下で、他のアプリケーションプログラムと同様に実行することにより、上述の各処理を実行できるように構成してもよい。
また、制御部110及び制御部210は、シングルプロセッサ、マルチプロセッサ、マルチコアプロセッサ等の任意のプロセッサ単体で構成されるものの他、これら任意のプロセッサと、ASIC(Application Specific Integrated Circuit)やFPGA(Field‐Programmable Gate Array)等の処理回路とが組み合わせられて構成されてもよい。
以上、本発明の好ましい実施の形態について説明したが、本発明は係る特定の実施の形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲とが含まれる。以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記1)
投影機と通信可能な投影制御装置が、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
投影制御方法。
投影機と通信可能な投影制御装置が、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
投影制御方法。
(付記2)
前記投影制御装置は、
前記表示部に機能シンボルウィンドウと、プログラミングウィンドウを表示させ、
前記機能シンボルは、複数の機能シンボルであり、
複数の前記機能シンボルを前記機能シンボルウィンドウに表示させ、
ユーザからの指示に従って、前記複数の機能シンボルの少なくとも一部を所定の順番で前記プログラミングウィンドウに配置し、
前記機能シンボルの前記プログラミングウィンドウ上での配置に基づいて、前記投影機制御プログラムを作成する、
付記1に記載の投影制御方法。
前記投影制御装置は、
前記表示部に機能シンボルウィンドウと、プログラミングウィンドウを表示させ、
前記機能シンボルは、複数の機能シンボルであり、
複数の前記機能シンボルを前記機能シンボルウィンドウに表示させ、
ユーザからの指示に従って、前記複数の機能シンボルの少なくとも一部を所定の順番で前記プログラミングウィンドウに配置し、
前記機能シンボルの前記プログラミングウィンドウ上での配置に基づいて、前記投影機制御プログラムを作成する、
付記1に記載の投影制御方法。
(付記3)
前記投影機は、計時回路と、オンスクリーンディスプレイによる重畳表示回路を備え、
前記制御命令は、拡張制御命令として、前記計時回路を制御する命令と、前記重畳表示回路を制御する命令と、を含み、
前記重畳表示回路を制御する命令は、前記オンスクリーンディスプレイによって表示される文字のフォント、サイズ、又は表示位置を変更する命令を含む、
付記1又は2に記載の投影制御方法。
前記投影機は、計時回路と、オンスクリーンディスプレイによる重畳表示回路を備え、
前記制御命令は、拡張制御命令として、前記計時回路を制御する命令と、前記重畳表示回路を制御する命令と、を含み、
前記重畳表示回路を制御する命令は、前記オンスクリーンディスプレイによって表示される文字のフォント、サイズ、又は表示位置を変更する命令を含む、
付記1又は2に記載の投影制御方法。
(付記4)
前記投影制御装置が複数存在し、
前記投影機は、前記複数の投影制御装置のうちの少なくとも1つと通信する、
付記1から3のいずれか1つに記載の投影制御方法。
前記投影制御装置が複数存在し、
前記投影機は、前記複数の投影制御装置のうちの少なくとも1つと通信する、
付記1から3のいずれか1つに記載の投影制御方法。
(付記5)
前記投影制御装置は、
前記投影機の制御権を確保するトークンを取得し、
前記制御命令とともに前記トークンを前記投影機に送信し、
前記投影機は、
前記制御命令とともに前記トークンを受信し、
前記受信したトークンの正しさを判定し、
前記受信したトークンが正しいと判定されたら、前記受信した制御命令を実行する、
付記4に記載の投影制御方法。
前記投影制御装置は、
前記投影機の制御権を確保するトークンを取得し、
前記制御命令とともに前記トークンを前記投影機に送信し、
前記投影機は、
前記制御命令とともに前記トークンを受信し、
前記受信したトークンの正しさを判定し、
前記受信したトークンが正しいと判定されたら、前記受信した制御命令を実行する、
付記4に記載の投影制御方法。
(付記6)
投影機と、前記投影機と通信可能な少なくとも1つの投影制御装置と、を備え、
前記投影制御装置は、表示部と、制御部と、を備え、
前記制御部は、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って前記表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信し、
前記投影機は、
前記投影制御装置が送信した前記制御命令を受信し、
前記受信した制御命令を実行する、
投影制御システム。
投影機と、前記投影機と通信可能な少なくとも1つの投影制御装置と、を備え、
前記投影制御装置は、表示部と、制御部と、を備え、
前記制御部は、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って前記表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信し、
前記投影機は、
前記投影制御装置が送信した前記制御命令を受信し、
前記受信した制御命令を実行する、
投影制御システム。
(付記7)
表示部と、制御部と、を備える投影制御装置であって、
前記制御部は、
投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って前記表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
投影制御装置。
表示部と、制御部と、を備える投影制御装置であって、
前記制御部は、
投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って前記表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
投影制御装置。
(付記8)
コンピュータに、
投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
処理を実行させるプログラム。
コンピュータに、
投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
処理を実行させるプログラム。
10,11…投影制御システム、100…投影制御装置、101…トークン投影制御装置、110,210…制御部、120,220…記憶部、121…統合開発環境、122…受信トークン、123,223…生成トークン、130…表示部、140…入力部、150,250…通信部、200,201…投影機、221…基本制御命令情報、222…拡張制御命令情報、230…投影部、240…操作入力部、260…映像入力部、270…音出力部、300…教室、310…スクリーン、311,312,313,314,321,322,323,324,325…スクリーン映像、500…機能シンボルウィンドウ、501…トークン要求シンボル、502…トークン返却シンボル、511…入力切替シンボル、512…ブランクシンボル、513…ライトコントロールシンボル、514…音量シンボル、521…OSD表示シンボル、522…タイマーシンボル、531…画像表示シンボル、532…ファイル対応アプリ起動シンボル、600…プログラミングウィンドウ、601…実行ボタン、602…デバッグ実行ボタン、603…トークン状態表示エリア、604…トークン返却ボタン、605…トークン取得ボタン
Claims (8)
- 投影機と通信可能な投影制御装置が、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
投影制御方法。 - 前記投影制御装置は、
前記表示部に機能シンボルウィンドウと、プログラミングウィンドウを表示させ、
前記機能シンボルは、複数の機能シンボルであり、
複数の前記機能シンボルを前記機能シンボルウィンドウに表示させ、
ユーザからの指示に従って、前記複数の機能シンボルの少なくとも一部を所定の順番で前記プログラミングウィンドウに配置し、
前記機能シンボルの前記プログラミングウィンドウ上での配置に基づいて、前記投影機制御プログラムを作成する、
請求項1に記載の投影制御方法。 - 前記投影機は、計時回路と、オンスクリーンディスプレイによる重畳表示回路を備え、
前記制御命令は、拡張制御命令として、前記計時回路を制御する命令と、前記重畳表示回路を制御する命令と、を含み、
前記重畳表示回路を制御する命令は、前記オンスクリーンディスプレイによって表示される文字のフォント、サイズ、又は表示位置を変更する命令を含む、
請求項1又は2に記載の投影制御方法。 - 前記投影制御装置が複数存在し、
前記投影機は、前記複数の投影制御装置のうちの少なくとも1つと通信する、
請求項1から3のいずれか1項に記載の投影制御方法。 - 前記投影制御装置は、
前記投影機の制御権を確保するトークンを取得し、
前記制御命令とともに前記トークンを前記投影機に送信し、
前記投影機は、
前記制御命令とともに前記トークンを受信し、
前記受信したトークンの正しさを判定し、
前記受信したトークンが正しいと判定されたら、前記受信した制御命令を実行する、
請求項4に記載の投影制御方法。 - 投影機と、前記投影機と通信可能な少なくとも1つの投影制御装置と、を備え、
前記投影制御装置は、表示部と、制御部と、を備え、
前記制御部は、
前記投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って前記表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信し、
前記投影機は、
前記投影制御装置が送信した前記制御命令を受信し、
前記受信した制御命令を実行する、
投影制御システム。 - 表示部と、制御部と、を備える投影制御装置であって、
前記制御部は、
投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って前記表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
投影制御装置。 - コンピュータに、
投影機を制御する命令である制御命令に対応する機能シンボルを、ユーザからの指示に従って表示部に配置し、
前記機能シンボルの配置に基づいて、前記投影機を制御する投影機制御プログラムを作成し、
前記投影機制御プログラムに従って、前記制御命令を前記投影機に送信する、
処理を実行させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021204787A JP2023090050A (ja) | 2021-12-17 | 2021-12-17 | 投影制御方法、投影制御システム、投影制御装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021204787A JP2023090050A (ja) | 2021-12-17 | 2021-12-17 | 投影制御方法、投影制御システム、投影制御装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023090050A true JP2023090050A (ja) | 2023-06-29 |
Family
ID=86937471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021204787A Pending JP2023090050A (ja) | 2021-12-17 | 2021-12-17 | 投影制御方法、投影制御システム、投影制御装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2023090050A (ja) |
-
2021
- 2021-12-17 JP JP2021204787A patent/JP2023090050A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107872702B (zh) | 用于显示外围设备内容的装置和控制方法 | |
JP6651226B2 (ja) | 情報プレゼンテーションアイテムを表示するための方法および装置、ならびにマルチメディア再生デバイス | |
WO2021031623A1 (zh) | 显示设备、分享文件的方法和服务器 | |
US10061479B2 (en) | Display system, information processing apparatus, computer readable recording medium, and power source control method | |
CN111405221B (zh) | 显示设备及录制文件列表的显示方法 | |
CN110476147B (zh) | 电子装置及其显示内容的方法 | |
US10284909B2 (en) | Display apparatus, user terminal apparatus, system, and controlling method thereof | |
US20160353096A1 (en) | Display device and image quality setting method | |
WO2021031598A1 (zh) | 视频聊天窗口位置的自适应调整方法及显示设备 | |
JP2011164878A (ja) | プロジェクター、プロジェクターの制御方法、及び画像表示システム | |
CN113115083A (zh) | 显示设备及显示方法 | |
US11429339B2 (en) | Electronic apparatus and control method thereof | |
CN112068741B (zh) | 显示设备及显示设备蓝牙开关状态的显示方法 | |
JP2009031407A (ja) | 表示装置 | |
JP2023090050A (ja) | 投影制御方法、投影制御システム、投影制御装置及びプログラム | |
CN111385631A (zh) | 一种显示设备、通信方法及存储介质 | |
CN112783380A (zh) | 显示设备和方法 | |
US10397531B2 (en) | Projector, display device, and display method | |
US10838679B2 (en) | Communication system, terminal device, and method for controlling communication system | |
CN110692036B (zh) | 演示服务器、数据中继方法和用于生成虚拟指针的方法 | |
JP5988357B2 (ja) | 操作学習装置及び操作学習方法 | |
CN106339193B (zh) | 一种无线手持交互方法及手持交互式多媒体系统 | |
CN111309657A (zh) | 电子设备及其控制方法、智能教室系统 | |
CN112073811B (zh) | 一种文件传输调度方法及显示设备 | |
US20080174746A1 (en) | Method for projecting an image from one of a plurality of hosts and projection device thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220401 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230516 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230703 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20231003 |