以下、本発明の実施の形態について添付図面を参照しながら詳細に説明する。
図1は、本発明の一実施形態による表示装置の概略構成を示すブロック図である。図1において、表示装置1は、例えば、LEDモジュール10と、該LEDモジュール10に画像を表示させるCPUボード30及びコントローラボード50と、上記LEDモジュール10及びコントローラボード50の間を接続するコネクタボード70と、を含む。また、CPUボード30は、CPU31、メモリ32及びドライバ33を備える。さらに、コントローラボード50は、メモリ51,52及びFPGA(Field Programmable Gate Array)53を備える。なお、本発明における「画像」は、文字や数字、記号、ピクトグラム等を表した画像を含む。ピクトグラムは、絵文字、絵言葉などの図記号の一種である。
図2は、LEDモジュール10の具体的な構成例を示す平面図である。この構成例において、LEDモジュール10は、図中の一点鎖線で囲んだE部分の拡大図に示すように、複数個のLED11が縦横に規則正しく並べられており、1個のLED11によって1ドットが構成されている。個々のLED11としては、3色LED、マルチカラーLED(同時使用8色若しくは16色)、又はフルカラーLED(同時使用16色)などが使用され得る。全てのLED11は、コントローラボード50から出力される画像信号Sに従って各々の発光状態が制御される。コントローラボード50は、コネクタボード70を介してLEDモジュール10のコネクタ12に接続されている。コネクタボード70は、コントローラボード50からの画像信号SをLEDモジュール10の段(行)毎に伝達する。
上記LEDモジュール10に対して、例えば文字を表す画像を表示させる場合、1つの文字は、縦方向にN個及び横方向にN個のLED11を使用して、すなわち、N×Nドットにより表現される。文字の表示は、コントローラボード50の一対のメモリ51,52にドット展開された各種フォントデータに従って行われる。具体的なNの値としては、例えば8、16又は24などとすることができるが、それらには限定されない。図2に示す構成例では、横方向に12文字分、縦方向に3文字分に相当する画像が表示可能となるように、N×N×12×3=36N2個のLED11が配設されている。したがって、LEDモジュール10は、横方向の1段(行)につき12文字分に相当する画像を3段に分けて表示し得る表示画面13を具備している。なお、ここでは文字を表す画像を一例として挙げたが、LEDモジュール10の表示画面13は、数字や記号、ピクトグラム等を表した画像を表示することも可能である。
上記表示画面13は、例えば、図2中の破線で囲まれた複数の表示領域A1,A2,A3,A4,A5に分割されている。表示領域A1は、1段目の左端から6文字分の領域が割り当てられており、表示領域A2は、1段目の右端から6文字分の領域が割り当てられている。また、表示領域A3は、2段目の左端から12文字分、すなわち2段目全体の領域が割り当てられている。さらに、表示領域A4は、3段目の左端から6文字分の領域が割り当てられており、表示領域A5は、3段目の右端から6文字分の領域が割り当てられている。
ただし、1段目に位置する表示領域A1,A2の各幅の設定、言い換えると表示領域A1,A2の境界の位置の設定は、後で具体例を挙げて説明するように、画像の表示部分を特定する長さ情報を変更することで動的に変化させることが可能である。また、3段目に位置する表示領域A4,A5の各幅の設定(境界の位置の設定)についても1段目と同様にして動的に変化させることが可能である。
図1に戻って、CPUボード30のCPU31は、メモリ32に格納されたアプリケーションプログラム及びドライバプログラムを実行し、該各プログラムに従ってドライバ33等の動作を制御する。このCPUボード30は、例えばLinux(登録商標)を搭載したマイコンボードなどを使用して実現可能である。アプリケーションプログラム及びドライバプログラムには、LEDモジュール10の表示を制御するためのアルゴリズムが記述されている。CPUボード30のメモリ32には、上記各プログラムの他に、LEDモジュール10に表示させる文章や画像の候補群、及び文字フォントデータ等の表示データが記録されている。
ドライバ33は、コントローラボード50の一対のメモリ51,52の一方を編集用のメモリに設定し、他方を表示用のメモリに設定することが可能であり、当該編集用及び表示用のメモリ設定を所定の切替周期Pcで切り替える処理を行う。また、ドライバ33は、CPU31で実行されるアプリケーションプログラムの制御下で、編集用に設定したメモリに対し、LEDモジュール10の各表示領域A1~A5に表示させるための画像データ(ドットイメージデータ)を書き込む。画像データは、ここでは例えば、各ドットに対応した色コードを示すものとする。なお、色コードについては後述する。さらに、ドライバ33は、編集用に設定したメモリに書き込んだ画像データについて、LEDモジュール10の各表示領域A1~A5に実際に表示させる表示部分を特定するための先頭情報及び長さ情報、並びに、色パレットの設定情報を編集用のメモリに書き込む。加えて、ドライバ33は、編集用に設定したメモリへの書込み処理と並行して、CPU31で実行されるドライバプログラムに従い、表示用に設定したメモリに先の切替周期で書き込まれた先頭情報及び長さ情報を画像表示用の割込み処理のタイミング毎に変更する処理を行う。画像表示用の割込み処理は、LEDモジュール10の表示状態を周期的に更新するために実施される処理である。
コントローラボード50の一対のメモリ51,52は、LEDモジュール10の各表示領域A1~A5に表示させるための画像データ(ドットイメージデータ)、該画像データの表示部分を特定するための先頭情報及び長さ情報、並びに、LEDモジュール10の表示色の組み合わせ(配色)を定義した色パレットの設定情報等の記録、消去及び書き換えが可能であり、前述したようにドライバ33により、一方のメモリが編集用、他方のメモリが表示用として切り替えて使用される。
FPGA53は、一対のメモリ51,52のうちの表示用に設定したメモリに記録されている画像データについて、LEDモジュール10の各表示領域A1~A5に実際に表示させる表示部分を先頭情報及び長さ情報を基に特定し、その特定した各表示部分に該当する画像データを所定の並び順に従って連結した後、その連結した画像データを画像信号SとしてLEDモジュール10に出力する。なお、FPGA53の具体的な動作内容については後述する。
上記のような実施形態の構成では、LEDモジュール10が本発明における表示部に相当する。また、コントローラボード50上の一対のメモリ51,52が本発明における記録部の一対の記録領域に相当する。さらに、CPUボード30のCPU31及びドライバ33、並びに、コントローラボード50のFPGA53が本発明における制御部に相当する。
次に、本実施形態による表示装置1の動作について説明する。
ここでは具体的な一例として、表示装置1が駅構内の所定の場所に設置され、LEDモジュール10の表示画面13上に図3に示すような列車案内を表示させる場合の装置各部の動作を詳しく説明する。
図3の列車案内の例では、表示画面13の1段目左側の表示領域A1に先発列車の発車時刻及び行き先が固定表示され、1段目右側の表示領域A2に当該列車の停車駅を表す文章が左方向に移動表示、いわゆるスクロール表示(又は流し表示)される。また、2段目の表示領域A3には上記列車の前駅から当駅に向かう接近情報がピクトグラムによる動画表示、いわゆるアニメーション表示される。さらに、3段目左側の表示領域A4には次発列車の発車時刻及び行き先が固定表示され、3段目右側の表示領域A5には当該列車の停車駅を表す文章が左方向に移動表示される。
図4は、表示装置1による上記列車案内の表示動作を説明するためのフローチャートである。
(装置起動時の処理)
表示装置1では、図示省略の主電源が投入されてLEDモジュール10、CPUボード30のCPU31及びコントローラボード50のFPGA53がそれぞれ起動されると、まず図4のステップS101において、CPUボード30のメモリ32に格納されたドライバプログラムがCPU31により実行され、該ドライバプログラムに従ってドライバ33が動作を開始する。次のステップS102では、メモリ32に格納されたアプリケーションプログラムがCPU31により実行される。これにより、CPU31(アプリケーション)、ドライバ33及びFPGA53のそれぞれが並列に動作するようになる。起動直後のタイミングにおいて、ドライバ33では後述するステップS201の処理が行われ、また、FPGA53では後述するステップS301の処理が行われる。
上記ステップS102でアプリケーションプログラムが実行されると、続くステップS103でCPU31は、コントローラボード50のメモリ51,52を初期化する指示をドライバ33に出力する。これにより、ドライバ33は、各メモリ51,52にブランクデータを書き込む。メモリ51,52の初期化が完了すると、次のステップS104でCPU31は、ドライバ33及びFPGA53に対して表示開始指示を出力する。表示開始指示の出力が終わると、次のステップS105に進み、CPU31は、後述するドライバ33から出力される画像編集用の割込み信号の受信を待つ待機状態となる。
ドライバ33は、ステップS201で内部メモリの初期化が完了すると、続くステップS202で、CPU31から出力される表示開始指示が得られるまで処理を待機する。CPU31からの表示開始指示を受けると(YES)、次のステップS203に進み、後述するFPGA53から出力される画像表示用の割込み信号の受信を待つ待機状態となる。
また、FPGA53は、ステップS301で内部データの初期化が完了すると、続くステップS302で、前述したステップS104によりCPU31から出力される表示開始指示が得られるまで処理を待機する。CPU31からの表示開始指示を受けると(YES)、次のステップS303に進み、LEDモジュール10に出力する画像信号Sの更新周期Psに該当するタイミングになるまで処理を待機する。画像信号Sの更新周期Psは、LEDモジュール10の仕様等に応じて予め決められており、その更新周期Psの都度、FPGA53は画像信号Sの書換えを行う。更新周期Psに該当するタイミングになると(YES)、次のステップS304に進む。
ステップS304でFPGA53は、後述するステップS107の処理によってメモリ51(又は52)に記録されることになる先頭情報及び長さ情報を用いて、当該メモリに記録された画像データのうちから各表示領域A1~A5に表示させる表示部分をそれぞれ特定し、該特定した各表示部分に該当する画像データを表示用のメモリ51(又は52)から読み出す。ここでは、装置起動直後の状態であって、前述したステップS103により各メモリ51,52にブランクデータが書き込まれた状態にある。また、先頭情報及び長さ情報としては予め指定された領域に対応するデータが設定されている。このため、当該領域に該当するブランク(黒色)データがメモリから読み出されることになる。
続くステップS305でFPGA53は、読み出した各々の画像データをLEDモジュール10の表示画面13のそれぞれの段(行)毎に連結して画像信号Sを生成し、該生成した画像信号Sをコネクタボード70経由でLEDモジュール10に出力する。ここでは、前述したように装置起動直後の状態においてブランクデータが読み出されることになるので、LEDモジュール10の表示画面13をブランク(黒色)表示の状態にする画像信号Sが生成される。
FPGA53からの画像信号Sを受けたLEDモジュール10では、続くステップS306において、各表示領域A1~A5に配列されている各LED11の発光状態が画像信号Sに従って制御される。装置起動直後の状態においては、LEDモジュール10の表示画面13がブランク(黒色)表示の状態となる。
次のステップS307でFPGA53は、画像表示用の割込み処理を実施する周期Piに該当するタイミングであるか否かを判定する。画像表示用の割込み処理の周期Piは、前述した画像信号Sの更新周期Psに対して所定の整数L倍に設定される(Pi=Ps×L)。画像表示用の割込み処理の周期Piに該当している場合には(YES)、次のステップS308でFPGA53は、画像表示用の割込み信号を生成してドライバ33に出力する。一方、画像表示用の割込み処理の周期Piに該当していない場合には(NO)、前述したステップS303に戻る。
上記ステップS308でFPGA53から出力された画像表示用の割込み信号がドライバ33で受信されると(ステップS203のYES)、次のステップS204でドライバ33は、メモリの切替周期Pcに該当するタイミングであるか否かを判定する。メモリの切替周期Pcに該当していない場合には(NO)、次のステップS205でドライバ33は、表示用のメモリ51(又は52)に記録されている先頭情報及び長さ情報を変更する。装置起動直後の状態においては、各メモリ51,52にブランクデータが書き込まれた状態にあるため、先頭情報及び長さ情報の変更処理は実施されない。上記ステップS205の処理が終わると、前述したステップS203に戻って画像表示用の割込み信号の受信待機状態となる。
一方、上記ステップS204においてメモリの切替周期Pcに該当していると判定された場合には(YES)、ステップS206に移り、ドライバ33は、メモリ51,52の表示用と編集用の切り替えを行う。装置起動直後の状態においては、メモリ51,52のうちの一方、ここではメモリ51を編集用に設定すると共に、他方のメモリ52を表示用に設定する。
続くステップS207でドライバ33は、画像編集用の割込み信号を生成してCPU31に出力する。この画像編集用の割込み信号は、編集用に設定されたメモリ51(又は52)に対して、次の切替周期Pcで各表示領域A1~A5に表示させるための新たな画像データ、先頭情報及び長さ情報、並びに、色パレットの設定情報を記録するための処理を開始するタイミングを示す信号である。画像編集用の割込み信号の出力が終わると、前述したステップS203に戻って画像表示用の割込み信号の受信待機状態となる。
(初期の画像データ等のメモリ書込み処理)
上記ステップS207によりドライバ33から出力された画像編集用の割込み信号がCPU31で受信されると(ステップS105のYES)、次のステップS106でCPU31は、CPUボード30のメモリ32に記録されている文章や画像の候補群の中から、各表示領域A1~A5に対応させてコントローラボード50のメモリ51(又は52)に書き出すための文章及び/又は画像をそれぞれ抽出する。そして、CPU31は、抽出した文章及び/又は画像にそれぞれ対応した画像データ(ドットイメージデータ)を作成する。文章に対応した画像データを作成する場合、その文章を構成する文字、数字、記号等に従ってフォントデータを展開することでドットイメージデータの作成が可能である。作成した画像データの個々のドットのデータ値は前述した色コードを指定する。色コードは、色パレットに記述されている複数の色のデータ値(例えば、16色分のRGB値など)のうちの1つの色のデータ値を指定することが可能である。次の表1は、色コードと、色パレットのRGB値と、表示色との関係の一例を示したものである。ただし、色コード及び色パレットの関係はこれに限定されない。
上記ステップS106により各表示領域A1~A5に対応した画像データ(ドットイメージデータ)が作成されると、次のステップS107においてCPU31は、各々の画像データを編集用に設定されたメモリ51(又は52)上の何処の位置に書き込むかを計算し、その計算した各位置からの画像データの書込み指示をドライバ33に与える。書込み指示を受けたドライバ33は、CPU31により作成された各表示領域A1~A5に対応する画像データをメモリ51(又は52)上のそれぞれ指示された位置から書き込む。
上記ドライバ33によるメモリ51(又は52)への各画像データの書込み処理が終わると、CPU31は、各画像データの表示部分の特定に用いる先頭情報及び長さ情報と、先頭情報及び長さ情報の変更タイミング及び変更量と、色パレットの設定情報とをドライバ33に指示する。CPU31からの指示を受けたドライバ33は、先頭情報及び長さ情報と、色パレットの設定情報とをメモリ51(又は52)に書き込む。
続くステップS108でCPU31は、上記ステップS107の処理により、各表示領域A1~A5に対応した画像データ、先頭情報及び長さ情報、並びに、色パレットの設定情報のメモリ51(又は52)への書込みが完了したか否かの判定を行う。書込みが完了した場合には(YES)、前述したステップS105に戻って、次の画像編集用の割込み信号の受信待機状態となる。一方、書込みが完了していない場合には(NO)、上記ステップS106,S107の各処理が繰り返される。
図5は、上記ステップS105~S108の一連の処理によってコントローラボード50(図1)の編集用に設定されたメモリ51に記録される初期の画像データを示す概念図である。図5に示すように、メモリ51には、前述の図3に示したLEDモジュール10の各表示領域A1~A5の大きさ及び表示態様の設定に応じて、図5中の破線で囲まれた部分に示すようなメモリ領域B1~B5がそれぞれ割り当てられている。各メモリ領域B1~B5には、各表示領域A1~A5に表示させるための初期の画像データ(ドットイメージデータ)がそれぞれ記録されている。
上記のような図4のステップS105~S108における編集用のメモリ51に対する画像データ等の書込み処理は、上述したドライバ33によるステップS203~S207の各処理、及びFPGA53によるステップS303~S308の各処理と並行して行われる。そして、次のメモリ切替周期Pcに該当するタイミングになったことがドライバ33で判定されると(ステップS204のYES)、それまで編集用に設定されていたメモリ51(又は52)が表示用に切り替えられ、表示用に設定されていたメモリ52(又は51)を編集用に切り替えられる(ステップS206)。
これにより、次の切替周期Pcでは、初期の画像データ等が記録されたメモリ51(又は52)が表示用に切り替えられて、その表示用のメモリ51(又は52)を用いたドライバ33及びFPGA53による一連の画像表示処理が行われると共に、ブランクデータが記録されたメモリ52(又は51)が編集用に切り替えらえて、その編集用のメモリ52(又は51)を用いたCPU31及びドライバ33による一連の画像編集処理が行われることになる。
(画像表示処理)
具体的に図4を参照しながら説明すると、表示用のメモリ51(又は52)を用いた一連の画像表示処理としては、まず、FPGA53において画像信号Sの更新周期Psに該当するタイミングが判定されると(ステップS303のYES)、FPGA53が、表示用のメモリ51(又は52)に記録されている先頭情報及び長さ情報を用いて、当該メモリに記録された画像データのうちから各表示領域A1~A5に表示させる表示部分をそれぞれ特定し、該特定した各表示部分に該当する画像データを表示用のメモリ51(又は52)から読み出す(ステップS304)。そして、FPGA53は、読み出した各々の画像データをLEDモジュール10の表示画面13のそれぞれの段(行)毎に連結して画像信号Sを生成し、該生成した画像信号Sをコネクタボード70経由でLEDモジュール10に出力する(ステップS305)。FPGA53からの画像信号Sを受けたLEDモジュール10では、各表示領域A1~A5に配列されている各LED11の発光状態が画像信号Sに従って制御される(ステップS306)。これにより、各表示領域A1~A5に列車案内が表示されるようになる。
そして、画像表示用の割込み処理の周期Piに該当するタイミングになり(ステップS307のYES)、画像表示用の割込み信号がFPGA53から出力され(ステップS308)、その画像表示用の割込み信号がドライバ33で受信されると(ステップS203のYES)、ドライバ33は、CPU31により先に指示された先頭情報及び長さ情報の変更タイミング及び変更量に従い、画像表示用の割込み処理の実施回数に対応させて、表示用のメモリ51(又は52)に記録されている先頭情報及び長さ情報を変更する(ステップS205)。この先頭情報及び長さ情報の変更処理は、次のメモリ切替周期Pcに該当するタイミングになるまでの間、画像表示用の割込み信号を受信する都度、繰り返し実施される。なお、先頭情報及び長さ情報の変更方法については後で具体例を挙げて詳しく説明する。これにより、FPGA53では、画像信号Sの更新周期Psに該当するタイミングになる度に、表示用のメモリ51(又は52)に記録されている変更された先頭情報及び長さ情報を用いて、当該メモリに記録された画像データのうちから各表示領域A1~A5に表示させる表示部分が特定される。
(画像編集処理)
上記のような表示用のメモリ51(又は52)を用いた一連の画像表示処理と並行して行われる、編集用のメモリ52(又は51)を用いた一連の画像編集処理としては、前述のステップS105~S108に示した初期の画像データ等のメモリ51への書込み処理の場合と同様にして、CPU31及びドライバ33により、次の切替周期Pcで各表示領域A1~A5に表示させるための新たな画像データ、先頭情報及び長さ情報、並びに、色パレットの設定情報を記録する処理が行われる。
以下では、上述したような本実施形態における一連の動作について、まず、LEDモジュール10の表示領域A1,A2に列車案内を固定及び移動表示させるための表示装置1の動作を具体的に説明し、次に、表示領域A3に列車の接近情報を動画表示させるための表示装置1の動作を具体的に説明する。実際には、これらの動作は並行して行われる。なお、表示領域A4,A5に対する列車案内の表示動作については、表示領域A1,A2の場合と同様であるので説明を省略する。
(固定及び移動表示の動作)
図6は、コントローラボード50のメモリ51(又は52)に表示用として記録された画像データ(ドットイメージデータ)のうち、LEDモジュール10の表示領域A1,A2に対応する部分を抜粋して示した概念図である。図6の上段<1>は、装置起動後の最初の書込み処理によってメモリ51に表示用として記録された初期の画像データを示している。図6の中段<2>および下段<3>は、切替周期Pcに従って編集用から表示用に切り替えられたメモリ52および51の画像データを示している。
図6の例では、メモリ領域B1の幅(X方向の大きさ)が、固定表示が行われる表示領域A1の幅以上、ここでは2倍程度に設定されている。メモリ領域B2の幅(X方向の大きさ)は、移動表示が行われる表示領域A2の幅の3倍程度に設定されている。各メモリ領域B1,B2の高さ(Y方向の大きさ)は、各表示領域A1,A2の高さ(Nドット)と同じである。ただし、メモリ51上での各メモリ領域B1,B2の設定は上記の例に限定されるものではなく、使用するメモリの容量等に応じて適宜に設定可能である。初期の画像データとして、メモリ51のメモリ領域B1には、その左端を始点にして「12:34 新大阪」の文字を表した画像データが書き込まれ、メモリ領域B2には、その左端を始点にして「停車駅は、新横浜、名古屋、京都です。」の文字を表した画像データが書き込まれている。
メモリ51の各メモリ領域B1,B2には、上記のような初期の画像データが記録されると共に、LEDモジュール10の各表示領域A1,A2に表示させる表示部分を特定するための先頭情報及び長さ情報、並びに、色パレットの設定情報も記録されている。(上述した図4のステップS107参照)
具体的に、表示領域A1に対応する表示部分は、メモリ51のメモリ領域B1に記録された画像データのうち、先頭から全角で6文字分、X方向のドット数でいえば6×Nドット分に該当し、ここでは「12:34 新大阪」の全部が表示部分となる。この表示部分を特定するため、図6の上段<1>の時間T(0)に対応する矢印線に示すように、先頭情報として、メモリ51上における上記表示部分の先頭を示す開始コードDP1が指定されていると共に、長さ情報として、X方向の全長を示す長さコードDS1が指定されている。
また、表示領域A2に対応する表示部分は、メモリ51のメモリ領域B2に記録された画像データのうち、先頭から6文字分(X方向の6×Nドット分)に該当し、「停車駅は、新」が表示部分となる。この表示部分を特定するため、図6の上段<1>の時間T(0)に対応する矢印線に示すように、先頭情報として、メモリ51上における上記表示部分の先頭を示す開始コードDP2が指定されていると共に、長さ情報として、X方向の全長を示す長さコードDS2が長さ指定されている。
なお、図中の時間T(0),T(1),T(N),T(2N),…は、前述した画像表示用の割込み処理が実施されるタイミングを示しており、括弧内は割込み処理の実施回数に対応している。画像表示用の割込み処理が実施される周期Piは、LEDモジュール10の性能などに応じて数ミリ秒~10数ミリ秒程度を適宜に設定することが可能である。前述したメモリ51,52の切替周期Pcは、画像表示用の割込み処理の周期Piよりも十分に長く、ここでは例えば3×N回の割込み処理が実施されるごとにメモリ51,52の表示用と編集用の切り替えが行われるものとする(Pc=3×N×Pi)。
上記各開始コードDP1,DP2としては、例えば、表示部分の先頭に位置するドットのデータが格納されているメモリのアドレス(以下、「ドットのアドレス」という)を指定することができる。また、上記各長さコードDS1,DS2としては、例えば、表示部分のX方向の全長に相当するトッド数を指定することができる。なお、表示部分のY方向の全長(縦幅)に関しては、最小単位をNドットとして任意のドット数を指定することが可能であり、ここではY方向の規定値として最小単位のNドット(例えば、8、16又は24ドット等)が指定される。ただし、この例示は縦幅が1文字単位で固定とされることを意味するものではなく、例えば、縦幅が1文字分よりも1.5倍大きい画像の表示を行う場合には、Y方向の規定値として1.5×Nドットが指定される。
上記のような開始コードDP1,DP2及び長さコードDS1,DS2を用いることで、コントローラボード50のFPGA53は、表示領域A1,A2に表示させる表示部分をそれぞれ特定し、各表示部分に該当する画像データをメモリ51から読み出す(図4のステップS304)。具体的には図7の上段<1>に示すように、FPGA53は、時間T(0)における開始コードDP1及び長さコードDS1を用いて「12:34 新大阪」を特定すると共に、時間T(0)における開始コードDP2及び長さコードDS2を用いて「停車駅は、新」を特定して、各々に対応する画像データをメモリ51から読み出す。
メモリ51から読み出された各画像データは、FPGA53により、ここではLEDモジュール10上での各表示領域A1,A2の並び順に従って連結され、図7の下段<2>に示すような「12:34 新大阪停車駅は、新」という画像データが生成される。なお、画像データを連結する順番は、各表示領域の並び順に必ずしも一致させる必要はなく、任意に指定した順番で画像データを連結することも可能である。そして、FPGA53は、メモリ51に記録された色パレットの設定情報を参照して、連結した画像データにおける各ドットの値が示す色コードをRGB値等に変換し、該変換後の画像データを示す画像信号Sをコネクタボード70経由でLEDモジュール10に出力する(図4のステップS306)。
LEDモジュール10では、FPGA53からの画像信号Sに従って、1段目の表示領域A1,A2に配列されている各LED11の発光状態が制御される。これにより、図8の最上段<1>の時間T(0)に示すように、LEDモジュール10の表示領域A1には「12:34 新大阪」が表示され、表示領域A2には「停車駅は、新」が表示されるようになる(図4のステップS306)。
上記のようにしてLEDモジュール10の表示領域A1,A2に最初の列車案内が表示された後、画像表示用の割込み処理の周期Piが経過して1回目の割込み時間T(1)になると、コントローラボード50のFPGA53からCPUボード30のドライバ33に画像表示用の割込み信号が出力される(図4のステップS308)。画像表示用の割込み信号を受けたドライバ33では、CPU31により先に指示されていた先頭情報及び長さ情報の変更タイミング及び変更量に従って、メモリ51に記録されている先頭情報及び長さ情報を、1回目の割込み時間T(1)における先頭情報及び長さ情報に変更する処理が行われる(図4のステップS205)。なお、図6の上段<1>においては、1回分の割込み処理における先頭情報の変更量が僅か(後述するように+1ドット)であるため、該変化量を実際より拡大することで、1回目の割込み時間T(1)に対応する開始コードDP1,DP2及び長さコードDS1,DS2の図示を可能にしている。また、図6には1回目の割込み処理以降、N回毎の割込み処理に対応した状態が示され、図8にはN回毎の割込み処理に対応した状態が示されているが、実際には毎回の割込み処理の都度、開始コードDP1,DP2及び長さコードDS1,DS2の変更処理が行われている。
具体的に、図6の上段<1>の時間T(1)に対応する矢印線に示すように、固定表示が行われる表示領域A1については、先頭情報及び長さ情報の変更タイミング及び変更量が双方ともに変更なしが指示されることにより、周期的に実施される割込み処理の全てのタイミングで同一の開始コードDP1及び長さコードDS1が設定される。一方、移動表示が行われる表示領域A2については、例えば、割込み処理の周期Piが1回経過するごとに画像の表示を1ドット分だけ左方向に移動させるような場合、変更タイミングとして割込み処理の都度、先頭情報の変更量として+1ドットが指定され、長さ情報の変化量として0ドット(変更なし)が指定される。これにより、1回目の割込み時間T(1)における開始コードDP2としては、メモリ51のメモリ領域B2に記録された画像データの始点(メモリ領域B2の左端)から2番目に位置するドットのアドレスが設定される。また、1回目の割込み時間T(1)における長さコードDS2としては、前述した時間T(0)のときと同じ6文字分のドット数(6×Nドット)が設定される。
したがって、ドライバ33は、メモリ51に記録されている先頭情報及び長さ情報、すなわち、前述した時間T(0)における開始コードDP1,DP2及び長さコードDS1,DS2を、上記のような1回目の割込み時間T(1)における開始コードDP1,DP2及び長さコードDS1,DS2に書き換える。これにより、FPGA53は、メモリ51に記録された1回目の割込み時間T(1)における開始コードDP1,DP2及び長さコードDS1,DS2を用いて、メモリ51に記録された画像データのうちから各表示領域A1,A2に表示させる表示部分をそれぞれ特定し、各表示部分に該当する画像データをメモリ51から読み出す(図4のステップS304)。そして、FPGA53は、メモリ51から読み出した各画像データを連結し、各ドットに対応した色コードをRGB値等に変換した画像データを示す画像信号Sをコネクタボード70経由でLEDモジュール10に出力する(図4のステップS305)。これにより、前述したように図8には示されていないが、表示領域A1には時間T(0)のときと同じ画像が固定表示され、表示領域A2には時間T(0)のときの画像に対して左方向に1ドット分移動した画像が表示されるようになる(図4のステップS306)。
以降、割込み処理の周期Piが経過するごとに上記と同様の動作が繰り返し行われる。前述した図6の上段<1>には、1文字分のドット数と同じN回目の割込み時間T(N)になったときにドライバ33により書き換えられるメモリ51の開始コードDP1,DP2及び長さコードDS1,DS2が示してある。N回目の割込み時間T(N)において、固定表示が行われる表示領域A1に対応した表示部分の開始コードDP1及び長さコードDS1は、それ以前と同一である。一方、移動表示が行われる表示領域A2に対応した表示部分の開始コードDP2としては、メモリ51のメモリ領域B2に記録された画像データの始点からN+1番目に位置するドット、すなわち、2文字目の始まりのドットのアドレスが設定され、長さコードDS2としては、6文字分のドット数(6×N)が設定される。これにより、N回目の割込み時間T(N)における表示領域A1の表示部分として「12:34 新大阪」の画像データが特定され、表示領域A2の表示部分として「車駅は、新横」の画像データが特定される。
したがって、N回目の割込み時間T(N)においてLEDモジュール10の表示領域A1,A2には、図8の2段目<2>に示すような「12:34 新大阪車駅は、新横」が表示されるようになる。各時間T(0)及びT(N)の表示状態を比較すると明らかなように、表示領域A2に表示される画像は、1文字分のドット数と同じN回の割込み処理が実施されることで、左方向に1文字分だけ移動しており、いわゆるスクロール表示(又は流し表示)が実現される。
前述した図6の上段<1>には、以降に実施される割込み処理のうち、2文字分のドット数と同じ2×N回目の割込み時間T(2N)になったときにドライバ33により書き換えられるメモリ51の開始コードDP1,DP2及び長さコードDS1,DS2が示してある。時間の経過と伴に変更されることになる開始コードDP2としては、2×N回目の割込み時間T(2N)において、メモリ51のメモリ領域B2に記録された画像データの始点から2×N+1番目に位置するドット、すなわち、3文字目の始まりのドットのアドレスが設定される。これにより、LEDモジュール10の表示領域A1,A2には、図8の3段目<3>に示すような「12:34 新大阪駅は、新横浜」が表示されるようになる。表示領域A2の表示状態の変遷に注目すると、2×N回の割込み処理が実施される間に、初期の画像が左方向に2文字分だけ移動してスクロール表示される。
上記のようなメモリ51に記録された画像データを用いてLEDモジュール10の各表示領域A1,A2に列車案内を表示させる制御は、メモリ51,52の切替周期Pcが到来する前まで継続される。ここでは、前述したようにメモリ51,52の切替周期Pcが、3文字分のドット数と同じ3×N回の割込み処理が実施される時間に設定されているので、図6の上段<1>に示したメモリ51の画像データを用いた表示領域A1,A2の表示制御は、3×N回の割込み処理が実施される直前、すなわち、3×N-1回目の割込み時間T(3N-1)まで継続して行われることになる。
上記メモリ51の画像データを用いた表示領域A1,A2の表示制御が行われている間、編集用に設定されたメモリ52に対しては、CPU31から指示されたドライバ33により、次の切替周期Pcで表示領域A1,A2に表示させるための新たな画像データを作成及び記録する処理と、先頭情報及び長さ情報、並びに、色パレットの設定情報を記録する処理とが行われる(図4のステップS106,S107)。つまり、CPU31、ドライバ33及びFPGA53は、メモリ51の画像データ等を用いて表示領域A1,A2に列車案内を表示させる処理(図4のステップS203~S207,S303~S308)と並行して、次の切替周期Pcで使用する新たな画像データ等をメモリ52に書き込む処理(図4のステップS105~S108)を行う。メモリ52への画像データ等の書込み処理は、1回目から3×N-1回目までの割込み処理が実施される間に完了されていればよい。このため、画像データの書込み処理におけるCPU31の負荷は、割込み処理の都度画像データの書き換えを行う場合に比べて大幅に軽減されるようになる。
3×N回目の割込み時間T(3N)になると、CPUボード30のドライバ33によりメモリ51,52の切り替えが行われ、メモリ52が表示用に設定され、メモリ51が編集用に設定される(図4のステップS206)。図6の中段<2>には、切り替え後に表示用として設定されたメモリ52のメモリ領域B1,B2に記録された画像データが示してある。メモリ52のメモリ領域B1には、その左端を始点にして「12:34 新大阪」が書き込まれ、メモリ領域B2には、その左端を始点にして「は、新横浜、名古屋、京都です。 停車駅」が書き込まれている。
上記のようなメモリ52のメモリ領域B1,B2に記録された画像データを用いて、前述した時間T(0)~T(3N-1)の場合と同様な表示領域A1,A2の表示制御が行われる。具体的に、3×N回目の割込み時間T(3N)において、固定表示が行われる表示領域A1に対応した表示部分の開始コードDP1及び長さコードDS1は、それ以前と同一である。一方、移動表示が行われる表示領域A2に対応した表示部分の開始コードDP2としては、メモリ52のメモリ領域B2に記録された画像データの始点(メモリ領域B2の左端)に位置するドットのアドレスが指定され、長さコードDS2としては、6文字分のドット数(6×N)が指定される。
これにより、3×N回目の割込み時間T(3N)における表示領域A1の表示部分として「12:34 新大阪」の画像データが特定され、表示領域A2の表示部分として「は、新横浜、」の画像データが特定される。したがって、3×N回目の割込み時間T(3N)においてLEDモジュール10の表示領域A1,A2には、図8の4段目<4>に示すような「12:34 新大阪は、新横浜、」が表示されるようになる。表示領域A2の表示状態の変遷に注目すると、3×N回の割込み処理が実施される間に、初期の画像が左方向に3文字分だけ移動してスクロール表示される。
続く3×N+1回目の割込み時間T(3N+1)以降、メモリ51,52の次の切替周期Pcが到来する前まで、具体的には6×N回の割込み処理が実施される直前、すなわち、6×N-1回目の割込み時間T(6N-1)まで、メモリ52の画像データ等を用いた表示領域A1,A2の表示制御が、上述した割込み時間T(1)~T(3N-1)の場合と同様にして実施される。また、これと並行して、編集用に設定されたメモリ51のメモリ領域B1,B2に記録されている画像データ等を、次の切替周期Pcで使用する新たな画像データ等に書き換える処理がCPU31及びドライバ33によって行われる。6×N回の割込み時間T(6N)になると、ここでは図示を省略するがメモリ51,52の2回目の表示用と編集用の切り替えが行われ、以降も上述した場合と同様な表示制御と画像データ等の書換え処理とが並行して繰り返し実施される。
図6の下段<3>には、12×N回目の割込み時間T(12N)になり、メモリ51,52の4回目の切り替えが行われて表示用に設定されたメモリ51に記録された画像データが示してある。メモリ51のメモリ領域B1には、その左端を始点にして「12:34 新大阪」が書き込まれ、メモリ領域B2には、その左端を始点にして「、京都です。 停車駅は、新横浜、名古屋」が書き込まれている。このメモリ51の画像データ等を用いた表示領域A1,A2の表示制御において、例えば、13×N回目の割込み時間T(13N)には、図8の下から2段目<5>に示すように「12:34 新大阪京都です。 」が表示され、14×N回の割込み時間T(14N)には、図8の最下段<6>に示すように「12:34 新大阪都です。 停」が表示される。このように表示領域A2における移動表示では、「停車駅は、新横浜、名古屋、京都です。」という一連の案内が連続的に繰り返しスクロール表示(又は流し表示)される。
(動画表示の動作)
次に、LEDモジュール10の表示領域A3に列車の接近情報(図3参照)を動画表示させるための表示装置1の動作について説明する。
図9は、コントローラボード50のメモリ51(又は52)に表示用として記録された画像データのうち、LEDモジュール10の表示領域A3に対応する部分を抜粋して示した概念図である。図9の上段<1>には、装置起動後の最初の書込み処理によってメモリ51に記録された初期の画像データが示されている。また、図9の下段<2>には、次の切替周期Pcで編集用から表示用に切り替えられたメモリ52に記録された画像データが示されている。メモリ51(又は52)には、表示領域A3に対応したメモリ領域B3が割り当てられており、このメモリ領域B3の幅(X方向の大きさ)は、表示領域A3の幅の3倍以上に設定されている。メモリ領域B3の高さ(Y方向の大きさ)は、表示領域A3の高さ(Nドット)と同じである。
図9の上段<1>に示したメモリ51のメモリ領域B3には、初期の画像データとして、その左端を始点にして、「前駅」及び「当駅」の文字と駅間を走行する列車を表したピクトグラムとを描いた3つのパターンの画像データがX方向に並べて書き込まれている(図4のステップS107)。各パターンの画像データは、表示部分A3の幅と同じX方向の全長をそれぞれ有している。各パターンの画像データの違いは、列車のピクトグラムで左下に描かれる「>>>」の状態である。
以下の説明では、図9の上段<1>においてメモリ領域B1の最も左側に位置し、ピクトグラムに「>」が描かれている画像データを第1パターンとする。また、第1パターンの画像データの右隣りに位置し、ピクトグラムに「>>」が描かれている画像データを第2パターンとする。さらに、第2パターンの画像データの右隣りに位置し、ピクトグラムに「>>>」が描かれている画像データを第3パターンとする。
メモリ51のメモリ領域B3には、上記のような初期の画像データが記録されると共に、LEDモジュール10の表示領域A3に表示させる表示部分を特定するための先頭情報及び長さ情報、並びに、色パレットの設定情報も記録されている(図4のステップS107)。表示領域A3に表示させる表示部分は、メモリ51のメモリ領域B3に記録された3つのパターンの画像データのうちのいずれか1つであり、第1パターンの画像データが最初の表示部分となる。
上記表示部分を特定するため、図9の上段<1>の時間T(0)に対応した矢印線に示すように、先頭情報として、メモリ51上における上記表示部分の先頭を示す開始コードDP3が設定されると共に、長さ情報として、X方向の全長を示す長さコードDS3が指定される。具体的に、時間T(0)での開始コードDP3としては、メモリ51のメモリ領域B3に記録された画像データの始点(メモリ領域B3の左端)に位置するドットのアドレスが指定される。また、時間T(0)での長さコードDS3としては、ここでは表示部分A3が12文字分の幅を有しているので、X方向の12文字分のドット数(12×Nドット)が指定される。なお、表示部分のY方向の全長(縦幅)に関しては、前述したメモリ領域B1,B2の場合と同様に、最小単位をNドットとして任意のドット数を指定することが可能であり、ここではY方向の規定値として最小単位のNドット(例えば、8、16又は24ドット等)が指定される。
上記のような開始コードDP3及び長さコードDS3を用いることで、コントローラボード50のFPGA53は、表示領域A3に表示させる表示部分を特定し、その表示部分に該当する画像データをメモリ51から読み出す(図4のステップS304)。そして、FPGA53は、メモリ51に記録された色パレットの設定情報を参照して、メモリ51から読み出した画像データにおける各ドットの値が示す色コードをRGB値等に変換し、該変換後の画像データを示す画像信号Sをコネクタボード70経由でLEDモジュール10に出力する(図4のステップS305)。
LEDモジュール10では、コントローラボード50からの画像信号Sに従って表示領域A3に配列されている各LED11の発光状態が制御される。これにより、図10の最上段<1>の時間T(0)に示すように、LEDモジュール10の表示領域A3には、「>」の描かれた列車のピクトグラムが「前駅」と「当駅」の文字の間に位置する画像が表示されるようになる(図4のステップS306)。
上記のようにしてLEDモジュール10の表示領域A3に最初の列車の接近情報が表示された後、画像表示用の割込み処理の周期Piが経過して1回目の割込み時間T(1)になると、コントローラボード50のドライバ33では、CPU31により先に指示されていた先頭情報及び長さ情報の変更タイミング及び変更量に従って、メモリ51に記録されている先頭情報及び長さ情報を、1回目の割込み時間T(1)における先頭情報及び長さ情報に変更する処理が行われる(図4のステップS205)。ここでは、1回の割込み処理の周期Piが、動画表示を実現するための画像の更新周期Prよりも短く、M回の割込み処理が実施される都度、動画用の画像の更新が行われるものとする(Pr=M×Pi)。この場合、1回目からM-1回目までの割込み処理では、前述した時間T(0)のときと同一の開始コードDP3及び長さコードDS3が設定される。なお、上記画像の更新周期Prは、動画のフレームレート等に応じて適宜に設定可能である。
M回目の割込み時間T(M)になると、ドライバ33は、図9の上段<1>に示したように、メモリ51に記録されていた時間T(0)における開始コードDP3及び長さコードDS3を、M回目の割込み時間T(M)における開始コードDP3及び長さコードDS3に書き換える。具体的に、M回目の割込み時間T(M)における開始コードDP3としては、第2パターンの画像データの先頭、すなわち、メモリ領域B3の左端からX方向に12×N+1番目のトッドのアドレスが設定される。なお、M回目の割込み時間T(M)における長さコードDS3は、時間T(0)のときと同じ12×Nドットが設定される。これにより、FPGA53は、メモリ51に記録されたM回目の割込み時間T(M)における開始コードDP3及び長さコードDS3を用いて、メモリ51に記録された画像データのうちから、割込み時間T(M)における表示領域A3の表示部分として第2パターンの画像データを特定する(図4のステップS304)。したがって、割込み時間T(M)においてLEDモジュール10の表示領域A3には、図10の2段目<2>に示すように、「>>」の描かれた列車のピクトグラムが「前駅」と「当駅」の文字の間に位置する画像が表示されるようになる(図4のステップS305,S306)。
以降、上記M回目の割込み時間T(M)の場合と同様にして、画像の更新周期Prに該当する2×M回目の割込み時間T(2M)になると、ドライバ33は、図9の上段<1>に示したように、メモリ51に記録されていた時間T(M)における開始コードDP3及び長さコードDS3を、2×M回目の割込み時間T(2M)における開始コードDP3及び長さコードDS3に書き換える。具体的に、2×M回目の割込み時間T(2M)の開始コードDP3としては、第3パターンの画像データの先頭、すなわち、メモリ領域B3の左端からX方向に24×N+1番目のドットのアドレスが設定される。長さコードDS3としては、時間T(0)のときと同じ12×Nドットが設定される。
これにより、LEDモジュール10の表示領域A3には、図10の3段目<3>に示すように、「>>>」の描かれた列車のピクトグラムが「前駅」と「当駅」の文字の間に位置する画像が表示されるようになる。列車のピクトグラムの変遷に注目すると、2×M回の割込み処理が実施される間に、左下の「>」の数が段階的に増加して列車が当駅に向かって走行している様子がアニメーションにより表示される。
上記のようなメモリ51に記録された画像データを用いてLEDモジュール10の表示領域A3に列車の接近情報を表示させる制御は、メモリ51,52の切替周期Pcが到来する前まで継続される。ここでは例えば、動画用の画像の更新が3回行われる、すなわち、3×M回目の割込み処理が実施されるタイミングでメモリ51,52の表示用と編集用の切り替えが行われるものとする。この場合、図9の上段<1>に示したメモリ51の画像データを用いた表示領域A3の表示制御は、3×M回の割込み処理が実施される直前、すなわち、3×M-1回目の割込み時間T(3M-1)まで継続して行われる。
なお、メモリ51,52の表示用と編集用の切替周期Pcに関して、前述した表示領域A1,A2の表示制御でのメモリ51,52の表示用と編集用の切り替えが行われる割込み処理の回数(3×N)と、表示領域A3の動画表示でのメモリ51,52の表示用と編集用の切り替えが行われる割込み処理の回数(3×M)とは、共通のメモリを使用しているので一致させる必要がある。そのためには、表示領域A3の動画表示において、画像の更新を行う割込み処理の回数Mが1文字分のドット数Nと等しくなるように設定する(M=N)。動画のフレームレート等の制約により、上記設定が困難な場合には、メモリ51,52の表示用と編集用の切り替えが行われるまでの画像の更新回数(上記の例では3回)を調整して、割込み処理の回数を一致させるようにする。
上記メモリ51の画像データを用いた表示領域A3の表示制御が行われている間、編集用に設定されたメモリ52に対しては、CPU31から指示されたドライバ33により、次の切替周期Pcで表示領域A3に表示させるための新たな画像データ、先頭情報及び長さ情報、並びに、色パレットの設定情報を記録する処理が行われる(図4のステップS106,S107)。つまり、CPU31、ドライバ33及びFPGA53は、メモリ51の画像データ等を用いて表示領域A3に接近情報を表示させる処理(図4のステップS203~S207,S303~S308)と並行して、次の切替周期Pcで使用する新たな画像データ等をメモリ52に書き込む処理(図4のステップS105~S108)を行う。メモリ52への書込み処理は、1回目から3×M-1回目までの割込み処理が実施される間に完了されていればよい。
3×M回目の割込み時間T(3M)になると、CPUボード30のドライバ33により、メモリ51,52の切り替えが行われ、メモリ52が表示用に設定され、メモリ51が編集用に設定される(図4のステップS206)。図9の下段<2>には、切り替え後のメモリ52のメモリ領域B3に表示用として記録された画像データが示してある。メモリ52のメモリ領域B3には、その左端を始点にして3つのパターンの画像データがX方向に並べて書き込まれている。図9の上段<1>に示した第1~第3パターンの画像データとの違いは、列車のピクトグラムが「当駅」側に近づいている点である。
上記のようなメモリ52のメモリ領域B3に記録された画像データを用いて、前述した割込み時間T(0)~T(3M-1)の場合と同様な表示領域A3の表示制御が行われる。具体的に、3×M回目の割込み時間T(3M)において、開始コードDP3としては、メモリ52のメモリ領域B3に記録された画像データの始点(メモリ領域B3の左端)に位置するドットのアドレスが設定される。また、長さコードDS3としては、X方向の12×Nドットが設定される。これにより、3×M回目の割込み時間T(3M)における表示領域A3の表示部分として、列車のピクトグラムが「当駅」側に近づいた第1パターンの画像データが特定される。したがって、3×M回目の割込み時間T(3M)においてLEDモジュール10の表示領域A3には、図10の4段目<4>に示すような列車の接近情報が表示されるようになる。
そして、4×M回目の割込み時間T(4M)になると、図9の下段<2>に示したような開始コードDP3及び長さコードDS3が設定され、4×M回目の割込み時間T(4M)における表示領域A3の表示部分として、列車のピクトグラムが「当駅」側に近づいた第2パターンの画像データが特定される。したがって、4×M回目の割込み時間T(4M)においてLEDモジュール10の表示領域A3には、図10の5段目<5>に示すような列車の接近情報が表示されるようになる。以降、画像の更新周期ごとに同様な表示制御が繰り返し行われる。
以上説明したように、本実施形態の表示装置1によれば、メモリ51,52に記録された各表示領域用の画像データについて、各表示領域に表示させる表示部分を開始コード及び長さコードを用いて特定するようにし、且つ、各表示領域の表示態様(移動表示、動画表示)に対応させて開始コードを変更するようにしたことで、それぞれの表示態様に応じたハードウェアを設けることなく、開始コード及び長さコードという処理負荷の小さな情報を利用して各表示領域に文字を含む画像を移動表示させたり動画表示させたりできるようになる。このような表示装置1は、構成が簡略であり低コストで実現することが可能である。
また、本実施形態の表示装置1は、表示領域のレイアウトや表示態様に変更が生じた場合でも、その変更内容に対応させて開始コード又は長さコードを変更することで対処できるため、柔軟な運用が可能である。さらに、表示装置1は、表示用に設定されたメモリの画像データを用いた各表示領域の表示制御と並行して、編集用に設定されたメモリに対して次のメモリ切替周期で使用する新たな画像データの記録を行うようにしているので、割込み処理の都度メモリの画像データを再描画する場合に比べて、ソフトウェアの負荷を大幅に軽減することもできる。これにより、複数の表示領域について画像をスムーズに変化させながら移動表示や動画表示を行うことが可能になる。
なお、上述した実施形態では、表示装置1が駅構内の所定の場所に設置され、LEDモジュール10の各表示領域に列車案内を表示させる一例を説明したが、本発明はこれに限らず、例えば、駅構内の各種設備や駅周辺の施設等の案内を表示させたり、空港や道路、駐車場、商業施設などに設置して各種案内を表示させたりすることも可能である。
また、図6~図8を参照して説明した表示領域A2の移動表示に関して、周期的な割込み処理に対して毎回1ドットずつ画像を移動させる一例を示したが、例えば、2回の割込み処理で画像を1ドット移動させる、つまり、隔回の割込み処理で1ドットずつ画像を移動させるようにしてもよい。このようにすれば、画像の移動(スクロール)速度を半減させることができる。周期的な割込み処理に対してどの程度割合で画像を1ドット移動させるかは、スクロール速度に応じて適宜に設定することが可能である。また、画像の移動方向についても、実施形態で例示した左方向に限定されるものではなく、右方向への移動も勿論可能である。右方向への移動の場合、先頭情報の変更量を左方向への移動の場合とは逆符号にすればよい。
さらに、上述した実施形態では、LEDモジュール10の横方向の1つの段(行)について、2つの表示領域A1,A2(又はA4,A5)に分割して表示を行う一例を示したが(図2、図3を参照)、1つの段を3つ以上の表示領域に分割して表示を行うことも勿論可能である。具体的に、1つの段を最大でn個(n≧3)の表示領域に分割可能な場合を想定すると、n個の表示領域A1,A2,…,Anに表示させるための画像データ(ドットイメージデータ)がメモリ51(又は52)に記録され、それらの画像データの表示部分が、開始コード及び長さコードの組(DP1,DS1),(DP2,DS2),…,(DPn,DSn)を用いてそれぞれ特定されることになる。このとき、例えば、表示領域Anには表示を行わない、つまり、n-1個の表示領域A1~An-1に分割して表示を行うようにしたい場合、(DPn,DSn)として(0,0)を指定することで対処が可能である。このような方法で開始コード及び長さコードを指定するようにすれば、1つの段の分割数を柔軟に設定及び変更できるようになる。
さらに、上述した実施形態では、LEDモジュール10の各表示領域A1~A5の幅が固定とされる場合について説明したが、表示部分の特定に用いる長さ情報(長さコード)を変更することで表示領域の幅を動的に変化させることも可能である。以下では、これに対応した変形例について説明する。
(変形例)
ここでは上述した実施形態におけるLEDモジュール10の表示領域A1,A2の各幅(表示領域A1,A2の境界の位置)を長さコードの変更により動的に変化させる場合について図11及び図12を参照しながら具体的に説明する。図11は、上記変形例においてコントローラボード50のメモリ51(又は52)に表示用として記録される表示領域A1,A2用の画像データを示しており、図12は、LEDモジュール10の表示領域A1,A2に表示される画像の変化を示している。
この変形例では、LEDモジュール10の表示領域A1に表示させる数字が、時間の経過と伴に表示領域A2に表示させるアルファベットによって消されていく、いわゆるワイプ表示が行われる。
(ワイプ表示の動作)
具体的に、図11の上段<1>に示したメモリ51のメモリ領域B1には、初期の画像データとして、その左端を始点にして「0123456789」の数字を表した画像データが書き込まれる。また、メモリ領域B2には、初期の画像データとして、その左端を始点にして「ABCD」のアルファベットを表した画像データが書き込まれる。
上記メモリ51の各メモリ領域B1,B2に記録された画像データについて、LEDモジュール10の各表示領域A1,A2に表示させる表示部分を特定するために、図11の上段<1>の時間T(0)に対応した矢印線に示すような開始コードDP1,DP2及び長さコードDS1,DS2が、ドライバ33によりメモリ51に書き込まれる。具体的に、時間T(0)における表示領域A1の表示部分を特定するための開始コードDP1としては、メモリ51のメモリ領域B1に記録された画像データの始点(メモリ領域B1の左端)に位置するドットのアドレスが設定され、長さコードDS1としては、10文字分のドット数(10×N)が設定される。これにより、時間T(0)における表示領域A1の表示部分として「0123456789」の画像データが特定される。
また、時間T(0)における表示領域A2の表示部分を特定するための開始コードDP2としては、メモリ51のメモリ領域B2に記録された画像データの始点(メモリ領域B2の左端)に位置するドットのアドレスが設定され、長さコードDS2としては、2文字分のドット数(2×N)が設定される。これにより、時間T(0)における表示領域A2の表示部分として「AB」の画像データが特定される。
上記特定された各表示領域A1,A2の表示部分の画像データが、コントローラボード50のFPGA53により各表示領域A1,A2の並び順に従って連結され、連結後の画像データにおける各ドットの値が示す色コードがRGB値等に変換されて、該変換後の画像データを示す画像信号Sが、コントローラボード50からコネクタボード70経由でLEDモジュール10に出力される。これにより、図12の最上段<1>の時間T(0)に示すように、LEDモジュール10の表示領域A1には「0123456789」が表示され、表示領域A2には「AB」が表示されるようになる。このときの表示領域A1の幅は、長さコードDS1に対応する10文字分のドット数(10×N)となり、表示領域A2の幅は、長さコードDS2に対応する2文字分のドット数(2×N)となる。表示領域A1,A2の境界は、表示領域A1の左端から10×Nドット目及び10×N+1ドット目の間に位置している。
そして、割込み処理の周期Piが経過すると、図11の上段<1>の時間T(1)に対応する矢印線に示すように、1回目の割込み時間T(1)における開始コードDP1,DP2及び長さコードDS1,DS2が設定される。ここでは、各表示領域A1,A2の表示態様として、割込み処理の周期Piが1回経過するごとに、表示領域A2の画像の表示が1ドット分だけ左方向に移動し、X方向の全長が表示領域A1では1ドット短くなり、表示領域A2では1ドット長くなるような設定がなされているものとする。
このような表示態様の設定では、1回目の割込み時間T(1)における表示領域A1の表示部分を特定するための開始コードDP1として、前述した時間T(0)のときと同じアドレスが設定され、長さコードDS1としては、10文字分のドット数から1ドット減算した値(10×N-1ドット)が設定される。また、1回目の割込み時間T(1)における表示領域A2の表示部分を特定するための開始コードDP2としては、前述した時間T(0)のときと同じアドレスが設定され、長さコードDS2としては、2文字分のドット数に1ドット加算した値(2×N+1ドット)が設定される。
以降、割込み処理の周期Piが経過するごとに、上記と同様にして開始コードDP1,DP2及び長さコードDS1,DS2の変更が繰り返し行われる。前述した図11の上段<1>には、1回目の割込み時間T(1)以降、1文字分のドット数と同じN回目の割込み時間T(N)になったときに指定される開始コードDP1,DP2及び長さコードDS1,DS2が示されている。N回目の割込み時間T(N)において、表示領域A1の表示部分を特定するための開始コードDP1としては、前述した時間T(0)のときと同じアドレスが設定され、長さコードDS1としては、9文字分のドット数(9×N)が設定される。また、表示領域A2の表示部分を特定するための開始コードDP2としては、前述した時間T(0)のときと同じアドレスが設定され、長さコードDS2としては、3文字分のドット数(3×N)が設定される。
これにより、N回目の割込み時間T(N)における表示領域A1の表示部分として「012345678」の画像データが特定され、表示領域A2の表示部分として「ABC」の画像データが特定され、LEDモジュール10の各表示領域A1,A2には、図12の2段目<2>に示すような画像が表示されるようになる。このとき、表示領域A1の幅は、長さコードDS1に対応する9文字分のドット数(9×N)となり、表示領域A2の幅は、長さコードDS2に対応する3文字分のドット数(3×N)となる。表示領域A1,A2の境界は、表示領域A1の左端から9×Nドット目及び9×N+1ドット目の間に位置している。前述した時間T(0)の場合と比較すると、表示領域A1,A2の各幅(表示領域A1,A2の境界の位置)は、N回目の割込み処理が実施される間に動的に変化している。
前述した図11の上段<1>には、以降に実施される割込み処理のうち、2文字分のドット数と同じ2×N回目の割込み時間T(2N)になったときに設定される開始コードDP1,DP2及び長さコードDS1,DS2が示してある。2×N回目の割込み時間T(2N)における開始コードDP1としては、前述した時間T(0)のときと同じアドレスが設定され、長さコードDS1としては、8文字分のドット数(8×N)が設定される。また、2×N回目の割込み時間T(2N)における開始コードDP2としては、前述した時間T(0)のときと同じアドレスが設定され、長さコードDS2としては、4文字分のドット数(4×N)が設定される。これにより、図12の3段目<3>に示すように、LEDモジュール10の表示領域A1には「01234567」が表示され、表示領域A2には「ABCD」が表示されるようになる。
図11の上段<1>に示したメモリ51に記録された画像データを用いた表示領域A1,A2の表示制御は、上述した実施形態の場合と同様に、メモリ51,52の表示用と編集用の切替周期Pcが到来する前まで、すなわち、3×N-1回目の割込み時間T(3N-1)まで継続して行われる。そして、3×N回目の割込み時間T(3N)になると、CPUボード30のドライバ33により、メモリ51,52の表示用と編集用の切り替えが行われ、メモリ52が表示用に設定され、メモリ51が編集用に設定される。図11の中段<2>には、切り替え後のメモリ52のメモリ領域B1,B2に記録された画像データが示してある。メモリ52のメモリ領域B1には、その左端を始点にして「0123456789」が書き込まれ、メモリ領域B2には、その左端を始点にして「ABCDEFG」が書き込まれている。
上記のようなメモリ52に記録された画像データを用いて、前述した時間T(0)~T(3N-1)の場合と同様な表示領域A1,A2の表示制御が行われる。具体的に、3×N回目の割込み時間T(3N)における開始コードDP1としては、表示用メモリ52のメモリ領域B1に記録された画像データの始点に位置するドットのアドレスが設定され、長さコードDS1としては、7文字分のドット数(7×N)が設定される。また、3×N回目の割込み時間T(3N)における開始コードDP2としては、表示用メモリ52のメモリ領域B2に記録された画像データの始点に位置するドットのアドレスが設定され、長さコードDS2としては、5文字分のドット数(5×N)が設定される。これにより、図12の4段目<4>に示すように、LEDモジュール10の表示領域A1には「0123456」が表示され、表示領域A2には「ABCDE」が表示されるようになる。
以降、上記の場合と同様な表示領域A1,A2の表示制御が繰り返し行われる。図11の下段<3>には、9×N回の割込み時間T(9N)になり、メモリ51,52の表示用と編集用の3回目の切り替えが行われた後、表示用に設定されたメモリ52に記録された画像データが示してある。メモリ52のメモリ領域B1には、その左端を始点にして「0123456789」が書き込まれ、メモリ領域B2には、その左端を始点にして「ABCDEFGHIJKL」が書き込まれている。
9×N回目の割込み時間T(9N)における開始コードDP1としては、メモリ52のメモリ領域B1に記録された画像データの始点に位置するドットのアドレスが設定され、長さコードDS1としては、1文字分のドット数(N)が設定される。また、9×N回目の割込み時間T(9N)における開始コードDP2としては、メモリ52のメモリ領域B2に記録された画像データの始点に位置するドットのアドレスが設定され、長さコードDS2としては、11文字分のドット数(11×N)が設定される。これにより、図12の下から2段目<5>に示すように、LEDモジュール10の表示領域A1には「0」が表示され、表示領域A2には「ABCDEFGHIJK」が表示されるようになる。
そして、10×N回目の割込み時間T(10N)になると、開始コードDP1としては、前述した9×N回目の割込み時間T(9N)のときと同じアドレスが設定され、長さコードDS1としては0が設定される。また、開始コードDP2としては、前述した9×N回目の割込み時間T(9N)のときと同じアドレスが設定され、長さコードDS2としては、12文字分のドット数(12×N)が設定される。これにより、図12の最下段<6>に示すように、それまで表示領域A1に表示されていた画像(数字)は、表示領域A2に表示される画像(アルファベット)に全て消されて、一連のワイプ表示が完了する。
上記のような変形例によれば、複数の表示領域の境界設定を容易に変化させることできるようになるので、より一層柔軟な運用が可能である。上述した実施形態及び変形例で説明したような各種の表示形態を組み合わせることで、多様なマルチウィンドウ表示を実現することができる。
なお、上述した実施形態及び変形例では、メモリ51,52のX方向について開始コード及び/又は長さコードを変更するようにし、Y方向については固定の規定値を用いるようにしたが、X方向の場合と同様にして、Y方向について開始コード及び/又は長さコードを変更するようにすることも勿論可能である。この場合、LEDモジュール10の表示画面上において上下方向への移動表示やワイプ表示を行うことができるようになる。さらに、開始コード及び/又は長さコードの変更をX方向、Y方向で交互に行うようにすれば、実質的に斜め方向への移動表示やワイプ表示を実現することも可能である。