以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素については、同様の動作を行うので、再度の説明を省略する場合がある。
図1は、本実施の形態における情報処理システムの概念図である。図1(A)には、情報処理システムの構成例が示され、図1(B)には、軌道に沿った一連の駅a1,a2,…に対する端末装置3と列車A,B,…との位置関係の一例が示されている。
この情報処理システムは、1以上の情報処理装置1、サーバ装置2、1以上の端末装置3を備える。
情報処理装置1は、例えば、列車に設置され、インターネットを介してサーバ装置2と接続される。端末装置3は、駅に設置され、または、各乗客によって携帯され、インターネットを介してサーバ装置2と接続される。ただし、情報処理装置1は、例えばバス設置されてもよく、公共交通の乗り物であれば、設置対象は問わない。
通常、情報処理装置1、サーバ装置2、および駅に設置される端末装置3は、それぞれ専用のコンピュータ、または、後述するコンピュータシステム900のような汎用のコンピュータによって実現され得る。乗客によって携帯される端末装置3は、例えば、スマートフォン、タブレット、モバイルPCといった携帯端末である。ただし、各装置の実現手段や種類は問わない。
情報処理装置1、および乗客によって携帯される端末装置3は、例えば、GPS受信機または無間通信ネットワークの位置検出機能を利用して、当該装置自身に関する位置情報を取得可能である。駅に設置される端末装置3には、例えば、当該駅に関する位置情報が格納されている。
列車とは、一般に、鉄道等の軌道を走行する車両または車両の連なりをいう。本実施の形態でいう列車は、例えば、電車、地下鉄、モノレールといった公共交通の列車である。同じくバスは、一定の路線を運行する公共交通のバスである。
図1(A)の例では、情報処理装置1は、複数の車両A1,A2,…で構成された列車Aに設置されている。列車B等にも、同様の情報処理装置1が設置されている。ここで、“A”,“B”等は、各列車を識別する列車識別子(以下、“列車ID”と呼ぶ場合がある)であり、“A1”,“A2”,…等は、列車Aの各車両を識別する車両識別子(以下、“車両ID”と呼ぶ場合がある)である。一両編成の列車の場合、車両IDは“列車ID”と同じものを用いてよい。各IDには、例えば、“1”,“2”,“3”,…といった連続番号、あるいは、所定の規則で(またはランダムに)選択された数字・記号で構成されるユニークな配列などが用いられる。
車両A1は、1以上(ここでは2つ)の乗降口を有し、各乗降口またはその近傍に、車両A1への人の乗車および車両A1からの人の下車を検知するためのセンサーs1,s2が設けられている。車両A2もまた、2つの乗降口を有し、各乗降口またはその近傍に同様のセンサーs3,s4が設けられている。後続の各車両A3,A4,…も同様の構成を有する。
好ましくは、2つの車両A1およびA2の連結部を挟んで対面する一対の貫通口の一方(ここでは車両A1側の貫通口)に、当該車両間での人の移動を検知するセンサーs5がさらに設けられる。同じく、2つの車両A2およびA3の連結部を挟んで対面する一対の貫通口の一方(ここでは車両A2側の貫通口)にも、当該車両間での人の移動を検知するセンサーs6がさらに設けられてよいし、これに後続する2つの車両間にも同様のセンサーが設けられ得る。
各センサーs1,s2,…は、通常、赤外線センサー(またはレーザセンサー)やイメージセンサー(例えばCCDやCMOS等)などである。赤外線センサーの場合、例えば、複数のセンサー素子を用いることで、各センサー素子による検知タイミングのずれを基に、乗客の移動方向(乗降)を判別できる。イメージセンサーの場合、例えば、フレーム内で人の特徴画像(例えば顔画像)を抽出し、さらにフレーム間で当該特徴画像の位置を比較することにより、当該人の動きを検出する画像処理により同様の判別が行える。ただし、乗客の乗降や移動を検知可能なセンサーであれば、種類を問わない。
次に、以上のように構成された情報処理システムの動作の概要を説明する。
情報処理装置1は、例えば、車両A1,A2,…の乗客数に関する乗客数関連情報を、センサーs1,s2,…により取得し、サーバ装置2に送信する。
乗客数関連情報は、通常、車両A1,A2,…を識別する車両ID(A1,A2,…)と対にして送信される。車両が単数の場合、車両IDの送信は省略し得る。
車両A1,A2,…の乗客数とは、車両A1,A2,…全体つまり列車Aの乗客数、または車両A1,A2,…ごとの乗客数、あるいはその両方である。
乗客数関連情報は、例えば、各駅での乗車人数および下車人数を基に算出される。好ましくは、各車両A1,A2,…への乗車人数および各車両A1,A2,…からの下車人数と、車両A1,A2,…間を移動する人数とを基に、車両A1,A2,…ごとの乗客数関連情報が算出される。
従って、情報処理装置1が乗客数関連情報を取得するタイミングは、列車が駅に停車している期間中(または、乗降口が開いてから閉じるまで)であり、乗客数関連情報を送信するタイミングは、通常、列車が駅を出発した時(または、乗降口が閉じた時)、またはそれ以降である。
サーバ装置2は、各情報処理装置1によって送信された車両IDと乗客数関連情報との対を受信、蓄積し、端末装置3からの車両IDを含む問い合わせに対して、乗客数関連情報を送信する。
端末装置3は、車両IDを含む問い合わせをサーバ装置2に送信し、乗客数関連情報を受信する。
車両IDは、例えば、ダイヤ検索による検索結果から取得される。ダイヤ検索とは、列車やバスのダイヤグラム(運行予定)に関する検索であり、例えば、路線検索、乗換案内などである。
ダイヤ検索では、一般に、発駅、着駅、時刻(出発時刻または到着時刻)等の入力が受け付けられ、検索結果として、当該時刻またはその前後に当該発着駅間を運行している複数本の列車やバスに関する運行予定情報が得られる。運行予定情報には、例えば、列車ID、1以上の車両ID、到着時刻、乗換時刻等が含まれている。ただし、ダイヤ検索の態様や、検索結果の内容は、これに限らない。
端末装置3は、通常、予め決められたタイミングで乗客数関連情報を受信する。
端末装置3が乗客数関連情報を受信するタイミングは、例えば、端末装置3と列車A,B,…とが、軌道に沿った一連の駅(各駅を識別する駅IDを“a1”,“a2”,…とする)に対してどのような位置関係にあるかで決められる。
例えば、図1(B)に示されるように、端末装置3が駅a3に位置しており、列車A,B,…が駅a1から駅a3に向かって走行する場合、列車Aの乗客数関連情報が端末装置3によって受信されるタイミングは、典型的には、列車Aが前の駅2aを出発した時である。ただし、列車Aが当該駅に到着する前であれば、これに限らない。
列車Aが前の駅2aを出発した時に乗客数関連情報を受信するためには、例えば、端末装置3自身が、予め決められたタイミングで、列車ID“A”を含む問い合わせをサーバ装置2に送信し、列車Aの乗客数関連情報を受信すればよい(端末主導すなわちプル型)。この場合の予め決められたタイミングは、例えば、列車Aが前の駅a2に停車している期間内の適宜なタイミング(例えば着駅時)である。ただし、前の駅2aに到着する前の適宜なタイミングでもよい。
または、サーバ装置2によって予め決められたタイミングで送信(ブロードキャスト)された列車Aの乗客数関連情報を受信してもよい(サーバ主導すなわちプッシュ型)。この場合の予め決められたタイミングは、通常、列車Aが前の駅a2を出発したタイミングであるが、前の駅a2を出発した列車Aが当該駅に到着するより前であれば、これに限らない。これにより、次に来る電車の状況がわかる。
端末装置3は、受信した乗客数関連情報を基に、空いている車両に関する空き車両情報を出力する。なお、空き車両情報については後述する。
加えて、端末装置3は、ダイヤ検索による検索結果から、到着時刻または乗換時刻を取得し、取得した時刻に関連したタイミングで注意喚起をさらに出力する。
時刻に関連したタイミングとは、ちょうどその時刻、またはその時刻よりも前の適宜なタイミング(例えば、到着の1分前など一定時間前、前の駅を出発した時など)である。
次に、この情報処理システムを構成する各要素について説明する。
図2は、本実施の形態における情報処理装置1のブロック図である。情報処理装置1は、格納部11、処理部12、送信部13を備える。処理部12は、取得部121を備える。
格納部11には、例えば、当該情報処理装置1自身を識別する識別子(例えばIPアドレスやMACアドレス等)、および当該情報処理装置1を搭載している列車を識別する列車ID(例えば、当該情報処理装置1が列車Aに搭載されている場合は、列車ID“A”)などが格納される。
また、格納部11には、センサーと車両との対応関係、例えば、図1に示されたセンサーs1,s2,…と車両A1,A2,…との対応関係(つまり、各センサーがどの車両に設けられているか)を示すセンサー・車両対応情報が格納される。センサー・車両対応情報とは、例えば、センサーIDと車両IDとの対の集合である。センサーIDと車両IDとの対とは、例えば、“s1”と“A1”との対、“s2”と“A1”との対、“s3”と“A2”との対、“s4”と“A2”との対、…等である。
また、格納部11には、当該情報処理装置1を搭載している列車等に関する運行予定情報が格納される。例えば、列車Aに搭載されている情報処理装置1の格納部11には、列車Aの運行に関する運行予定情報が格納される。この運行予定情報には、例えば、列車Aの車両ID(“A”)、列車Aが停車する各駅a1,a2,…の駅ID(“a1”,“a2”,…)、各駅a1,a2,…への到着時刻および各駅a1,a2,…からの出発時刻等に関する情報が含まれている。
また、格納部11には、当該列車等が停車する各駅の位置情報、例えば、図1(B)に示された各駅a1,a2,…の位置情報も格納される。位置情報とは、例えば、駅ID(“a1”,“a2”,…)と、位置情報(x1,y1,),(x2,y2),…との対の集合である。位置情報は、通常、緯度・経度といった位置座標であるが、駅の位置を示す情報であれば、種類を問わない。
処理部12は、各種情報の取得、各種情報の取得タイミングに関する判断処理等を行う。
取得部121は、列車IDおよびセンサー・車両対応情報をサーバ装置2から取得し、当該センサー・車両対応情報を格納部11に格納する。
また、取得部121は、列車の運行予定情報および停車駅の位置情報をサーバ装置2から取得し、当該列車の運行予定情報および停車駅の位置情報を格納部11に格納する。なお、取得のタイミングは、通常、当該列車の運行開始前であるが、適宜なタイミングであれば、これに限らない。
また、取得部121は、車両の乗客数に関する乗客数関連情報を、センサーにより取得する。なお、センサーは、取得部121に含まれていると考えても、含まれないと考えてもよい。
好ましくは、取得部121は、各駅(例えば駅a1,a2,…)での車両(例えば車両A1)への乗車人数および車両からの下車人数を基に、乗客数関連情報を算出する。従って、乗客数関連情報の取得タイミングは、通常、列車が各駅に到着してから当該駅を出発するまでの期間である。
上記車両が、一の列車(例えば列車A)を構成する複数の車両(例えば車両A1,A2,…)である場合、取得部121は、各駅(例えば駅a1,a2,…)での各車両への乗車人数および各車両からの下車人数と、車両間を移動する人数とを基に、一の列車を構成する複数の車両ごとの乗客数関連情報を算出する。
ただし、車両間を移動する人数は取得しなくてもよい。すなわち、取得部121は、各駅での各車両への乗車人数および各車両からの下車人数を基に、一の列車を構成する複数の車両ごとの乗客数関連情報を算出してもよい。
送信部13は、取得部121が取得した乗客数関連情報をサーバ装置2に送信する。乗客数関連情報が、車両ごとの乗客数に関する乗客数関連情報である場合、送信部13は、各車両を識別する車両IDと対にして、乗客数関連情報を送信する。乗客数関連情報の送信タイミングは、通常、列車が駅を出発した時であるが、これより遅くてもよい。
図3は、本実施の形態におけるサーバ装置2のブロック図である。サーバ装置2は、サーバ格納部21、サーバ受信部22、サーバ処理部23、サーバ送信部24を備える。サーバ処理部23は、サーバ蓄積部231を備える。
サーバ格納部21には、各列車の運行に関する運行予定情報が格納される。具体的には、例えば、図1に示した列車Aの運行予定情報として、列車Aの車両ID(“A”)、列車Aが停車する各駅a1,a2,…の駅ID(“a1”,“a2”,…)、列車Aの各駅a1,a2,…への到着時刻、および列車Aの各駅a1,a2,…からの出発時刻等が格納される。列車Bやその他の列車についても、同様の運行予定情報が格納される。また、サーバ格納部21には、後述する車両IDと乗客数関連情報との対の集合なども格納される。
サーバ受信部22は、情報処理装置1の送信部13によって送信された車両IDと乗客数関連情報との対を受信する。
サーバ処理部23は、受信した情報をサーバ格納部21へ蓄積する等の処理を行う。
サーバ蓄積部231は、サーバ受信部22が受信した車両IDと乗客数関連情報との対をサーバ格納部21に蓄積する。
サーバ送信部24は、端末装置3からの車両IDを含む問い合わせに対して、当該車両IDと対になる乗客数関連情報を送信する(端末主導)。より詳しくは、端末装置3からの問い合わせには、車両IDに加えて、当該端末装置3を識別する端末IDも含まれており、サーバ送信部24は、当該車両IDと対になる乗客数情関連報をサーバ格納部21から取得し、取得した乗客数関連情報を当該端末IDに対応する端末装置3に送信する。
または、サーバ送信部24は、予め決められたタイミングで、乗客数関連情報を送信してもよい(サーバ主導)。予め決められたタイミングとは、通常、列車が駅を出発した時、または乗降口のドアが閉まった時である。例えば、前述のように、列車が駅を出発した時に、当該列車に搭載された情報処理装置1の送信部13によって車両IDと乗客数関連情報との対が送信される場合、かかる車両IDと乗客数関連情報との対を端末受信部33が受信した直後に、サーバ送信部24は、受信された車両IDと乗客数関連情報との対を、各端末装置3にマルチキャスト送信してもよい。
図4は、本実施の形態における端末装置3のブロック図である。端末装置3は、端末格納部31、端末受付部32、端末受信部33、端末処理部34、端末出力部35、端末送信部36を備える。端末処理部34は、端末検索部341、端末取得部342を備える。
端末格納部31には、当該端末装置3自身を識別する端末ID、後述する運行予定情報、後述するダイヤ検索の結果に関する情報などが格納される。
端末受付部32は、空き車両に関する問い合わせをキーボードやタッチパネルやマウス等の入力デバイスを介して受け付ける。
端末検索部341は、端末受付部32が受け付けた問い合わせに応じてダイヤ検索を行う。ダイヤ検索は、例えば、次の手順で行われる。
端末受付部32は、具体的には、着駅の入力、そして空き車両の問い合わせに関する実行指示を受け付ける。これに応じて、端末処理部34は、まず、着駅の設定を行い、次に、例えばGPS受信機や無線通信ネットワークの位置検出機能を利用して現在位置を検出し、検出した現在位置に対応する駅を発駅に設定し、さらに、現在時刻を出発時刻に設定する。なお、着駅に加えて、発駅および出発時刻も、ユーザによって入力されてよい。
端末検索部341は、入力または設定された着駅に対応する運行予定情報の要求を、端末送信部36を介してサーバ装置2等の外部装置に送信し、端末受信部33を介して当該運行予定情報を受信する。端末検索部341は、受信した当該運行予定情報を用いてダイヤ検索を行うことで、当該時刻またはその前後の時間帯に当該発着駅間を運行している複数本の列車やバスに関する検索結果が得られる。
検索結果には、例えば、ユーザが乗るべき列車を選ぶ際の選択肢となる1以上の列車に関する列車ID、列車を構成する1以上の各車両に関する車両ID、到着時刻、乗換時刻等に関する情報が含まれている。ただし、ダイヤ検索の手順や検索結果の内容は、これに限らない。
端末取得部342は、端末検索部341による検索の結果から、車両IDを取得する。具体的には、例えば、次の列車(入力された時刻に最も近接する発車時刻を有する列車。“次発の列車”ともいう。図1(B)の例では列車A)を構成する各車両の車両ID(例えば“A1”,“A2”,…)を取得する。これに加えて、その次の列車(“次々発の列車”ともいう。図1(B)の例では列車B)の列車ID(例えば“B”)をさらに取得してもよい。さらに、次々発以降の列車IDを取得してもよい。
端末送信部36は、こうして取得部341が取得した車両ID(および列車ID)を含む問い合わせを、サーバ装置2に送信する。
端末受信部33は、こうして端末送信部36が送信した車両IDを含む問い合わせに応じて、サーバ送信部24によって送信された乗客数関連情報、つまり、当該車両IDに対応する車両の乗客数に関する乗客数関連情報を受信する。
端末受信部33は、通常、予め決められたタイミングで(例えば、上記の車両IDまたは列車IDに対応する列車が駅を発した時に)、上記の乗客数関連情報を受信する。
そのために、端末送信部36は、通常、予め決められたタイミングで(例えば、上記の列車が駅に停車している際に)、上記の問い合わせを送信する。
または、端末受信部33は、サーバ装置2から予め決められたタイミングで(例えば、上記の列車が駅を発した時に)送信された乗客数関連情報を受信する。
端末出力部35は、端末受信部33が受信した乗客数関連情報を基に、空いている車両に関する空き車両情報を、例えばディスプレイやスピーカー等の出力デバイスを介して出力する。
空き車両情報は、典型的には、一の列車(例えば次発の列車A)を構成する複数の車両(例えば車両A1,A2,…)のうち、最も空いている車両、または相対的に空いている幾つかの車両をユーザが識別し得るような空き車両識別情報(例えば、「○時○分発○○行きは○両目が最も空いています」、「○両目と○両目に空席が見込まれます」等)である。
または、空き車両情報は、例えば、同じ時間帯の複数の列車(例えば、次発の列車Aおよび次々発の列車B)間で、相対的に空いている(全車両の合計乗車人数がより少ない)列車をユーザが識別し得るような空き列車識別情報(例えば「後の列車(次々発)の方が空いています」等)であってもよい。
好ましくは、空き車両情報は、上記空き車両識別情報および上記空き列車識別情報の両方を含んだ情報である。加えて、空き車両情報は、1両目○○人、2両目○○人、…、全車両○○人といった乗客数関連情報を含んでいてもよい。さらに、空き車両情報は、1両○○%、2両目○○%、…、全車両○○%といった、各車両の乗車率に関する乗車率関連情報を含んでいてもよい。乗車率とは、例えば、車両の定員に対する乗客数の割合であり、定員40人の車両に38人が乗っている場合の乗車率は、38/40=0.95(95%)のように計算される。
また、端末取得部342は、端末検索部341による検索の結果から、到着時刻または乗換時刻をも取得する。
端末出力部35は、端末取得部342が取得した時刻(到着時刻または乗換時刻)に関連したタイミング、例えば、ちょうどその時刻、またはその時刻よりも前(例えば、到着の1分前など一定時間前、前の駅を出発した時など)に、例えば、ベル音や楽曲、あるいは、“まもなく到着です”、“次の駅で快速に乗り換えてください”といった音声案内等による注意喚起をさらに出力する。
なお、処理部12、サーバ処理部23および端末処理部34、取得部121および端末取得部342、サーバ蓄積部231ならびに端末検索部341は、通常、MPUやメモリ等から実現され得る。処理部12等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
格納部11、サーバ格納部21および端末格納部31は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。格納部11等に各種の情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11等で記憶されるようになってもよい。
送信部13、サーバ送信部24および端末送信部36、ならびにサーバ受信部22および端末受信部33は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
端末出力部35は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部35は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報処理システムの動作について、図5〜図8のフローチャートと、図9〜図11のデータ構造とを用いて説明する。
図5は、本実施の形態における情報処理装置1の全体動作を説明するためのフローチャートである。
この情報処理装置1は、例えば列車Aに設置されているとする。なお、列車Bやその他の列車にも、それぞれ同様の情報処理装置1が設置されている。サーバ格納部21には、各列車A,B,…の運行予定情報が格納されている。図9は、サーバ格納部21に格納されている各列車の運行予定情報に関するデータ構造図である。各列車の運行予定情報は、当該列車を識別する列車IDと、当該列車の停車駅を識別する複数の駅IDと、当該列車が各駅に到着する時刻を示す到着時刻と、当該列車が各駅を出発する時刻を示す出発時刻との対で構成される。例えば、列車Aの運行予定情報は、列車AのID(“A”)と、列車Aが停車する各駅a1,a2,…の駅ID(“a1”,“a2”,…)と、列車Aの各駅a1,a2,…への到着時刻、および列車Aの各駅a1,a2,…からの出発時刻との対で構成される。同様に、列車Bの運行予定情報は、列車Bの車両ID(“B”)と、列車Bが停車する各駅a1,a2,…の駅ID(“a1”,“a2”,…)と、列車Bの各駅a1,a2,…への到着時刻、および列車Bの各駅a1,a2,…からの出発時刻との対で構成される。
(ステップS501)情報処理装置1の取得部121は、列車(例えば列車A)の運行開始に先立って、サーバ装置2から列車Aの運行情報および停車駅の位置情報を取得し、格納部11に格納する。
(ステップS502)処理部12は、次の駅が何番目の停車駅であるかを示す変数iに初期値1をセットする。なお、始発駅は、1番目の停車駅であるとする。
(ステップS503)処理部12は、この情報処理装置1を搭載している列車Aがi番目の駅に到着したか否かを判別する。具体的には、例えば、取得部121が、例えば処理部12を構成するMPU等から現在時刻を取得し、さらに、GPS受信機等を利用して当該列車Aの位置情報を取得する。処理部12は、取得部121によって取得された現在時刻および位置情報と、格納部11に格納されている各駅a1,a2,…の位置情報および列車Aの運行予定情報とを用いて、当該列車Aがi番目の駅に到着したか否かを判別すればよい。当該列車Aがi番目の駅に到着した場合はステップS503に進み、到着していない場合は同様の判別を繰り返す。
(ステップS504)取得部121は、列車Aを構成する各車両A1,A2,…の(i番目の駅を出発する時点での)乗客数に関する乗客数関連情報(Fi)を、センサーs1,s2,…により取得する(以下、この処理を“乗客数関連情報(Fi)取得処理”と呼ぶ場合がある)。
図6は、本実施の形態における情報処理装置1の一部動作(乗客数関連情報(Fi)取得処理)の詳細に関するフローチャートである。
(ステップS601)取得部121は、i番目の駅の駅ID(例えば“ai”)を、例えば格納部11に格納されている運行予定情報等から取得する。
(ステップS602)取得部121は、各センサーs1,s2,…からの信号を基に、いずれかのセンサーが人の通過を検知したか否かを判別する。具体的には、例えば、各センサーs1,s2,…から、人の通過を検知していないときは“0”を示し、人の通過を検知したとき“0”から“1”に変化するような信号が出力されており、取得部121は、いずれかのセンサーからの信号が“1”を示した場合に、当該センサーが人の通過を検知したと判別することができる。いずれかのセンサーが人の通過を検知した場合はステップS603に進み、検知していない場合はステップS607に進む。
(ステップS603)取得部121は、当該センサーのIDに対応する車両のID(例えば“Aj”)を、格納部11に格納されているセンサー・車両対応情報から取得する。例えば、当該センサーつまり人の移動を検知したセンサーがセンサーs2である場合、そのセンサーID“s2”に対応付いた車両IDである“A1”が取得される。
(ステップS604)取得部121は、ステップS602でセンサーで検知した人の通過が乗車によるものか否かを判別する。具体的には、例えば、各センサーs1,s2,…が複数のセンサー素子を有する赤外線センサーであれば、各センサー素子からの信号の時間差に基づいて、人の移動方向、つまり乗車か下車かを判別できる。また、各センサーs1,s2,…がイメージセンサーであれば、画像処理により同様の判別が行える。検知した人の通過が乗車によるものである場合はステップS605に進み、乗車によるものでない場合はステップS605に進む。
(ステップS605)取得部121は、駅aiにおける車両Ajへの乗車人数(例えばPij)をカウントアップ(インクリメントともいう)する。例えば、ステップS603で車両ID“A1”が取得され、ステップS604で乗車であると判別された場合、駅aiにおける車両A1への乗車人数Pi1がカウントアップされる。その後、ステップS602に戻る。
(ステップS606)取得部121は、車両Ajの下車人数(例えばQij)をカウントアップする。例えば、ステップS603で車両ID“A1”が取得され、ステップS604で乗車でないと判別された場合、駅aiにおける車両A1からの下車人数Qi1がカウントアップされる。その後、ステップS602に戻る。
(ステップS607)取得部121は、列車Aが駅aiを出発したか否かを判別する。出発したか否かの判別は、前述したステップS503における到着したか否かの判別と同様に行える。列車Aが駅aiを出発した場合はステップS608に進み、出発していない場合はステップS602に戻る。
(ステップS608)取得部121は、一般に(i=1の場合を除いて)、前の駅(例えば、駅aiの一つ前の駅a(i−1))出発時における乗客数関連情報(F(i−1))と、駅aiでの車両A1,A2,…ごとの乗車人数および下車人数(例えば、Pi1およびQi1、Pi2およびQi2、…)とを基に、駅ai出発時における車両ごとの乗客数(Ri1,Ri2,…)を計算する。前駅a(i−1)出発時における乗客数関連情報(F(i−1))は、格納部11から取得される。
例えば、駅ai出発時における車両A1の乗客数Ri1は、前の駅a(i−1)出発時における車両A1の乗客数R(i−1)1に対し、駅aiにおける車両A1への乗車人数Pi1を加算する一方、駅aiにおける車両A1からの下車人数Qi1を減算することにより求まる。同じく車両A2の乗客数Ri2は、乗客数R(i−1)2に対し、乗車人数Pi2を加算する一方、下車人数Qi2を減算することにより求まる。
なお、i=1の場合については、“前の駅a0”や“駅a0における乗客数関連情報F0”は存在しないが、便宜上、乗客数R01=R02,…=0として計算すればよい。
すなわち、駅a1出発時における乗客数関連情報F1は、駅a1での車両A1,A2,…ごとの乗車人数および下車人数(例えば、P11およびQ11、P12およびQ12、…)を基に、計算される。
(ステップS609)取得部121は、駅aiのID“ai”に、ステップS608で求めた車両ごとの乗客数Ri1,Ri2,…を対応付けることにより、駅ai出発時における乗客数関連情報Fiを構成する。構成された乗客数関連情報Fiは、例えば処理部12によって格納部11に蓄積され、次の乗客数関連情報F(i+1)を構成する際に利用される。また、取得部121は、車両ごとの乗客数Ri1,Ri2,…を合計し、合計された乗客数、つまり列車Aの全乗客数を、乗客数関連情報Fiに含めてもよい。
なお、上記フローにおいて、ステップS605で乗車人数Pij、ステップS606で下車人数Qijをカウントアップしているが、こうして2つの変数PijおよびQijを個別にカウントアップする代わりに、例えば、一の変数である乗客数Rijを、ステップS605ではカウントアップする一方、ステップS606ではカウントダウンしてもよい。
その後、図5のフローチャートに戻る。
(ステップS505)送信部13は、取得部121が取得した乗客数関連情報Fiを、サーバ装置2に送信する。
図10は、送信部13が送信する乗客数関連情報Fiに関するデータ構造図である。(A)は、駅a2出発時における車両A1,A2…ごとの乗客数関連情報F2を示し、(B)は、駅a1出発時における車両B1,B2,…ごとの乗客数関連情報F1の具体例を示している。
乗客数関連情報Fiは、例えば、駅ID“ai”と、当該駅IDに対応する1以上の車両ID“A1”,“A2”,…と、当該1以上の車両IDそれぞれに対応する1以上の乗客数Ri1,Ri2,…とを含む。
乗客数関連情報Fiは、さらに、車両ごとの乗客数R1,R2,…を合計した全乗客数、つまり列車Aの全乗客数を含んでいてもよいし、1以上の車両IDそれぞれに対応する1以上の乗車人数、1以上の車両IDそれぞれに対応する1以上の下車人数を含んでいてもよい。
なお、本実施の形態では、駅ID“ai”と、1以上の車両ID“A1”,“A2”,…と、1以上の乗客数との対を乗客数関連情報Fiと呼んでいるが、一の車両IDに対応付いた乗客数を乗客数関連情報と呼んでもよく、その場合、送信部13からは、車両IDと乗客数関連情報との対の集合が、駅IDと対応付けて送信されることになる。
(ステップS506)処理部12は、変数iをインクリメントする。
(ステップS507)処理部12は、i番目の駅が列車Aの終着駅であるか否かを、格納部11に格納されている運行予定情報を基に判別する。i番目の駅が列車Aの終着駅である場合は動作を終了し、終着駅でない場合はステップS503に戻る。
図7は、本実施の形態におけるサーバ装置2の動作を説明するためのフローチャートである。
(ステップS701)サーバ処理部23は、所定の終了イベント(例えば、電源オフ操作や、他の処理の割り込み等)が発生したか否かを判別する。終了イベントが発生した場合は動作を終了し、発生していない場合はステップS702に進む。
(ステップS702)サーバ処理部23は、サーバ受信部22が乗客数関連情報Fi(または、駅ID、およびこれに対応付いた車両IDと乗客数関連情報との対の集合)を受信したか否かを判別する。サーバ受信部22が乗客数関連情報Fiを受信した場合はステップS703に進み、受信していない場合はステップ704に進む。
(ステップS703)サーバ蓄積部231は、サーバ受信部22が受信した乗客数関連情報Fi(または、駅ID、およびこれに対応付いた車両IDと乗客数関連情報との対の集合)を、例えば図11に示すような態様でサーバ格納部21に蓄積する。
図11は、サーバ格納部21に蓄積される乗客数関連情報に関するデータ構造図である。サーバ格納部21に蓄積される乗客数関連情報は、車両IDと、当該車両IDに対応する1以上の駅IDと、当該1以上の駅IDそれぞれに対応する1以上の乗客数とを含む。サーバ格納部21に蓄積される乗客数関連情報は、さらに、例えば、各列車A,B,…の全乗客数(各車両の乗客数の合計)を含んでいてもよいし、1以上の駅IDそれぞれに対応する1以上の乗車人数、1以上の駅IDそれぞれに対応する1以上の下車人数を含んでいてもよい。その場合、全乗客数は、情報処理装置1が、各車両の乗客数の合計を計算し、端末装置3に送信してもよいし、端末装置3が、情報処理装置1から受信した各車両の乗客数を合計してもよい。その後、ステップS701に戻る。
(ステップS704)サーバ処理部23は、サーバ受信部22が車両IDを含む問い合わせを受信したか否かを判別する。サーバ受信部22が問い合わせを受信した場合はステップS705に進み、受信していない場合はステップS701に戻る。
(ステップS705)サーバ送信部24は、当該車両IDに対応する乗客数関連情報をサーバ格納部21から取得し、問い合わせの送信元である端末装置3に送信する。端末装置3からの問い合わせには、車両IDに加えて、当該端末装置3自身を識別する端末IDがさらに含まれており、乗客数関連情報は、この端末IDに対応する端末装置3に送信される。その後、ステップS701に戻る。例えば、車両ID“A1”,“A2”,…を含む問い合わせに対しては、図11に示した乗客数関連情報のうち、車両ID“A1”,“A2”,…に対応する部分が送信される。これに加えて、列車ID“A”(全車両)に対応する部分も送信されてよい。ただし、車両ID“A1”,“A2”,…(および列車ID“A”)に対応する乗客数関連情報のうち、既に通過した駅の駅IDに対応する部分は、送信対象から除外されてよい。
図8は、本実施の形態における端末装置3の動作を説明するためのフローチャートである。
(ステップS801)端末処理部34は、端末受付部32が空き車両に関する問い合わせを受け付けたか否かを判別する。端末受付部32が空き車両に関する問い合わせを受け付けた場合はステップS802に進み、受け付けていない場合は同様の判別が繰り返される。
端末受付部32は、例えば、着駅(行き先となる駅)の入力、および空き車両の問い合わせに関する実行指示を、キーボードやタッチパネル等の入力デバイスを介して受け付ける。なお、端末受付部32は、例えば、発駅、出発時刻または到着時刻等をさらに受け付けてもよい。
(ステップS802)端末処理部34は、GPS受信機等を利用して現在位置を示す位置情報を取得し、かつ内蔵MPU等から現在位置を示す時刻情報を取得する。
(ステップS803)端末取得部342は、例えば、取得した位置情報に対応する駅を発駅、時刻情報の示す現在時刻を出発時刻として、当該発駅と、当該出発時刻と、端末受付部32が受け付けた着駅とを基に、ダイヤ検索を行う。ダイヤ検索では、例えば、時刻情報が示す時刻またはその前後に当該発着駅間を運行している複数本の列車に関する運行予定情報がサーバ装置2から取得される。そして、取得された運行予定情報を基に、選択肢となる複数の列車の列車ID、各列車を構成する1以上の車両の車両ID、各列車の着駅への到着時刻、一の列車から別の列車への乗換駅や乗換時刻等が検索される。
(ステップS804)端末取得部342は、ダイヤ検索の結果から車両ID(例えば、次の列車Aの車両ID“A1”,“A2”,…、その次の列車Bの車両ID“B1”,“B2”,…等)を取得する。または、例えば、端末出力部35が、選択肢となる複数の列車A,B,…の識別情報をディスプレイやスピーカー等の出力手段を介して出力し、端末受付部32が、複数の列車A,B,…の中からいずれかを選択する操作を受け付け、端末取得部342は、選択された列車の車両IDを取得してもよい。
(ステップS805)端末送信部36は、端末取得部342が取得した車両IDを含む問い合わせをサーバ装置2に送信する。
(ステップS806)端末処理部34は、端末受信部33が当該車両IDに対応する乗客数関連情報を受信したか否かを判別する。端末受信部33が当該車両IDに対応する乗客数関連情報を受信した場合はステップS807に進み、受信していない場合は同様の判別を繰り返す。
(ステップS807)端末出力部35は、端末受信部33が受信した乗客数関連情報を基に、空いている車両に関する空き車両情報を、例えばディスプレイやスピーカー等の出力デバイスを介して出力する。
(ステップS808)端末処理部34は、例えば、端末受付部32がキーボードやタッチパネル等の入力手段を介して列車の選択を受け付けたか否かを判別する。または、端末装置3がスマートフォン等の携帯端末である場合、端末処理部34は、例えばGPS受信機等からの位置情報を基に、ユーザが列車に乗ったか否かを判別してもよい。端末受付部32が列車の選択を受け付けた場合、またはユーザが列車に乗った場合は、ステップS809に進み、端末受付部32が列車の選択を受け付けておらず、ユーザが列車に乗ってもいない場合は、同様の判別を繰り返す。
(ステップS809)端末取得部342は、端末検索部341によるダイヤ検索の結果から、当該列車が着駅または乗換駅に到着する時刻(到着時刻または乗換時刻)をさらに取得する。例えば、列車Aが選択された場合、またはユーザが列車Aに乗った場合、列車Aが着駅または乗換駅に到着する時刻が、検索結果に含まれている列車Aの運行予定情報から取得される。
(ステップS810)端末処理部34は、現在位置を示す位置情報および現在位置を示す時刻情報を取得する。
(ステップS811)端末処理部34は、当該列車(例えば列車A)が着駅または乗換駅に所定の条件を満たす程接近したか否かを判別する。所定の条件は、例えば、距離に関する条件、具体的には“当該列車と着駅または乗換駅との間の距離が閾値以下(または閾値より小さい)”といった条件、または、時間に関する条件、具体的には“当該列車が着駅または乗換駅に到着するまでの時間が閾値以下(または閾値より小さい)”といった条件である。当該列車が着駅または乗換駅に所定の条件を満たす程接近した場合はステップS812に進み、接近していない場合はステップS801に戻る。
(ステップS812)端末出力部35は、端末取得部342が取得した時刻(到着時刻または乗換時刻)に関連したタイミングで、例えば、ベル音や楽曲、あるいは、“まもなく到着です”、“次の駅で快速に乗り換えてください”といった音声案内、等による注意喚起をさらに出力する。時刻に関連したタイミングは、通常、ちょうどその時刻、またはその時刻よりも前(例えば、到着の1分前など一定時間前、前の駅を出発した時など)である。その後、ステップS801に戻る。
以下、本実施の形態における情報処理システムの具体的な動作例について説明する。なお、以下の説明は一例であり、発明を限定するものではない。また、前述した事項に関する説明は省略する場合がある。
情報処理システムの概念図は図1である。端末装置3は、この例では携帯端末であり、ユーザによって携帯されている。
現在時刻は7時09分、ユーザは、○○行きの列車A,B,…が発着する駅a3のホームに向かって歩いているとする。
列車A,B,…の運行予定情報は、図9に示されている。駅a3における次発の列車Aは、7:14発○○行きであり、一つ前の駅a2に到着しようとしている。次々発の列車Bは、7:19発○○行きであり、二つ前の駅a1に向かって走行中である。
列車Aが駅a2に到着すると、列車Aに搭載された情報処理装置1では、取得部121が、駅a2出発時における各車両A1,A2,…の乗客数に関する乗客数関連情報F2を、センサーs1,s2,…により取得する処理を開始する。
すなわち、格納部11には、例えば、列車Aに関する運行予定情報、センサー・車両対応情報、駅a1出発時における各車両A1,A2,…の乗客数に関する乗客数関連情報F1などが格納されており、最初、取得部121は、駅a2のID“a2”を運行予定情報から取得する。
次に、取得部121は、各センサーs1,s2,…からの信号を基に、いずれかのセンサーが人の通過を検知したか否かを判別する。例えば、センサーs1が人の移動を検知した場合、センサーID“s1”に対応付いた車両ID“A1”が取得される。センサーs3が人の移動を検知した場合、センサーID“s3”に対応付いた車両ID“A2”が取得される。
次に、取得部121は、検出した人の通過が乗車か下車かを判別する。そして、乗車である場合、取得した車両IDに対応する車両への乗車人数をカウントアップする。
例えば、センサーs1が人の乗車を検知した場合は、駅a1における車両A1への乗車人数P11がカウントアップされ、センサーs3が人の乗車を検知した場合は、駅a1における車両A2への乗車人数P12がカウントアップされる。
他方、当該人の通過が下車である場合、取得部121は、取得した車両IDに対応する車両からの下車人数をカウントアップする。
例えば、センサーs1が人の下車を検知した場合は、駅a1における車両A1からの下車人数Q11がカウントアップされ、センサーs3が人の下車を検知した場合は、駅a1における車両A2からの下車人数Q12がカウントアップされる。
なお、乗車人数P11,P12,…および下車人数Q11,Q12,…等は、例えば格納部11に格納されており、いずれの初期値も0である。
上記のような処理は、列車Aが駅a1に停止している期間、継続される。
現在時刻が7:10になると、列車Aは駅a2を出発する。同時に、列車Bが駅a1に到着する。
列車Aが駅a2を出発すると、取得部121は、駅a2における車両A1,A2,…ごとの乗車人数および下車人数(例えば、P11およびQ11、P12およびQ12、…)を基に、駅a2出発時における車両A1,A2,…ごとの乗客数関連情報F2を、例えば下記の手順で計算する。
最初、取得部121は、駅a1出発時における車両Ajの乗客数R1jに対し、乗車人数P2jを加算し、かつ下車人数Q2jを減算することで、駅a2出発時における車両Ajの乗客数R2jを求める。
すなわち、例えば、駅a2出発時における車両A1の乗客数R21は、駅a1出発時における車両A1の乗客数R11に対し、乗車人数P11を加算し、かつ下車人数Q11を減算することで求まる。同じく、駅a2出発時における車両A2の乗客数R22は、駅a1出発時における車両A2の乗客数R12に対し、乗車人数P12を加算し、かつ下車人数Q12を減算することで求まる。
従って、例えば、R11=25でP21=12かつQ21=6、R12=30でP22=17かつQ22=9、…である場合、乗客数R21=R11+P11−Q11=31、乗客数R22=R12+P22−Q22=38、…のように計算される。
次に、取得部121は、駅a2のID“a2”に、上記のようにして求めた乗客数R21,R22,…を対応付けることにより、例えば図10(A)に示されるような、駅a2出発時における車両A1,A2,…ごとの乗客数関連情報F2を構成する。構成された乗客数関連情報F2は、例えば処理部12によって格納部11に蓄積され、次の乗客数関連情報F3を構成する際に利用される。
次に、送信部13は、取得部121が上記のようにして取得した乗客数関連情報F2を、サーバ装置2に送信する。
サーバ装置2において、サーバ受信部22が乗客数関連情報F2を受信すると、サーバ蓄積部231は、当該乗客数関連情報F2をサーバ格納部21に蓄積する。これによって、サーバ格納部21には、例えば、図11に示した乗客数関連情報のうち、車両ID“A1”,“A2”,…および駅ID“a2”に対応する部分、つまり、A1とa2とR21(=31)との対、A2とa2とR22(=38)との対、…が格納される結果となる。
列車Bが駅a1に到着すると、列車Bに搭載された情報処理装置1では、取得部121が、駅a1出発時における各車両B1,B2,…の乗客数に関する乗客数関連情報F1を、センサーs1,s2,…により取得する処理を開始する。
すなわち、格納部11には、例えば、列車Bに関する運行予定情報、センサー・車両対応情報などが格納されており、最初、取得部121は、駅a1のID“a1”を運行予定情報から取得する。
次に、取得部121は、各センサーs1,s2,…からの信号を基に、いずれかのセンサーが人の通過を検知したか否かを判別する。例えば、センサーs2が人の移動を検知した場合、センサーID“s2”に対応付いた車両ID“B1”が取得される。センサーs4が人の移動を検知した場合、センサーID“s4”に対応付いた車両ID“B2”が取得される。
次に、取得部121は、検出した人の通過が乗車か下車かを判別する。そして、乗車である場合、取得した車両IDに対応する車両への乗車人数をカウントアップする。例えば、センサーs2が人の乗車を検知した場合は、駅a1における車両B1への乗車人数P11がカウントアップされ、センサーs4が人の乗車を検知した場合は、駅a1における車両B2への乗車人数P12がカウントアップされる。
他方、当該人の通過が下車である場合、取得部121は、取得した車両IDに対応する車両からの下車人数をカウントアップする。例えば、センサーs2が人の下車を検知した場合は、駅a1における車両B1からの下車人数Q11がカウントアップされ、センサーs4が人の下車を検知した場合は、駅a1における車両B2からの下車人数Q12がカウントアップされる。
なお、乗車人数P11,P12,…および下車人数Q11,Q12,…等は、例えば格納部11に格納されており、いずれの初期値も0である。また、駅a1が始発駅である場合、下車する人は通常いないので、下車人数Q11,Q12,…は初期値0のままである。
上記のような処理は、列車Bが駅a1に停止している期間、継続される。
現在時刻が7:11になると、列車Bは駅a1を出発する。列車Bが駅a1を出発すると、取得部121は、駅a1における車両B1,B2,…ごとの乗車人数および下車人数(例えば、P11およびQ11、P12およびQ12、…)を基に、駅a1出発時における車両B1,B2,…ごとの乗客数関連情報F1を、例えば下記の手順で計算する。
最初、取得部121は、駅a1出発時における車両Bjの乗客数R1jを、乗車人数P1jから下車人数Q1jを減算することにより求める。例えば、駅a1出発時における車両B1の乗客数R11は、乗車人数P11から下車人数Q11を減算することで求まる。同じく、駅a1出発時における車両B2の乗客数R12は、乗車人数P12から下車人数Q12を減算することで求まる。
従って、例えば、P11=18かつQ11=0、P12=13かつQ12=0、…である場合、R11=P11−Q11=18、R12=P12−Q12=13、…のように計算される。
次に、取得部121は、駅a1のID“a1”に、上記のようにして求めた乗客数Ri1,Ri2,…を対応付けることにより、例えば図10(B)に示されるような、駅a1出発時における車両B1,B2,…ごとの乗客数関連情報F1を構成する。構成された乗客数関連情報F1は、例えば処理部12によって格納部11に蓄積され、次の乗客数関連情報F2を構成する際に利用される。
次に、送信部13は、取得部121が上記のようにして取得した乗客数関連情報F1を、サーバ装置2に送信する。
サーバ装置2において、サーバ受信部22が乗客数関連情報F1を受信すると、サーバ蓄積部231は、当該乗客数関連情報F1をサーバ格納部21に蓄積する。これによって、サーバ格納部21には、例えば、図11に示した乗客数関連情報のうち、車両ID“B1”,“B2”,…および駅ID“a1”に対応する部分、つまり、B1とa1とR11(=18)との対、B2とa1とR12(=27)との対、…が格納される結果となる。
従って、現在時刻が7:11を過ぎた時点で、サーバ格納部21には、図11に示された乗客数関連情報が格納されている。このとき、ユーザが駅a3のホームに到着し、空き車両を問い合わせる操作を行ったとする。
端末装置3において、端末受付部32が当該問い合わせを受け付けると、最初、端末処理部34は、GPS受信機等を利用して現在位置を示す位置情報を取得し、かつ現在位置を示す時刻情報を取得する。
次に、端末取得部342は、取得した位置情報に対応する駅を発駅、時刻情報の示す現在時刻を出発時刻として、当該発駅と、当該出発時刻と、端末受付部32が受け付けた着駅とを基に、ダイヤ検索を行う。
具体的には、端末取得部342は、時刻情報が示す時刻またはその前後に当該発着駅間を運行している複数本の列車に関する運行予定情報をサーバ装置2から取得する。そして、取得した運行予定情報を基に、選択肢となる複数の列車の列車ID、各列車を構成する1以上の車両の車両ID、各列車の着駅への到着時刻、一の列車から別の列車への乗換駅や乗換時刻等を検索する。
次に、端末取得部342は、上記のようなダイヤ検索の結果から車両ID(例えば、次の列車Aの車両ID“A1”,“A2”,…、その次の列車Bの車両ID“B1”,“B2”,…等)を取得する。端末送信部36は、端末取得部342が取得した車両IDを含む問い合わせをサーバ装置2に送信する。
サーバ装置において、サーバ受信部22が端末装置3から送信された問い合わせを受信し、サーバ送信部24は、当該問い合わせに含まれる車両IDに対応する乗客数関連情報を、サーバ処理部23を介してサーバ格納部21から取得し、当該端末装置3に送信する。
端末装置3において、端末受信部33が当該車両IDに対応する乗客数情報を受信すると、端末出力部35は、その乗客数関連情報を基に、空いている車両に関する空き車両情報を、ディスプレイやスピーカー等の出力デバイスを介して出力する。これによって、例えば、図12に示すような空き車両情報がディスプレイに表示される。
図12は、端末出力部35によって出力される空き車両情報の一例を示す図である。この空き車両情報は、現在位置に対応する駅a3の識別情報として、例えば「ここは○○駅です。」を含み、次発の列車Aの識別情報として、例えば「次の列車は7:14発○○行です。」を含み、同じく位置情報として、例えば「7:14発○○行は1つ前の駅を出ました。」を含んでいる。
また、空き車両情報は、車両ごとの乗客数関連情報として、「7:14発○○行の現在の乗客数および乗車率は次の通りです。1両目:31人:76%、2両目:38人:95%、全車両:270人:113%」を含んでいる。また、最も空いている車両、または相対的に空いている幾つかの車両に関する空き車両識別情報として、「7:14発○○行は○両目が最も空いています。」も含んでいる。
さらに、空き車両情報は、次々発の列車Bの識別情報として、例えば「その次の列車は7:19発○○行です。」を含み、同じく位置情報として、例えば「7:19発○○行は2つ前の駅を出ました。」を含んでいる。
加えて、複数の列車、例えば次発の列車Aおよび次々発の列車Bの間で、相対的に空いている列車に関する情報である空き列車識別情報として、例えば、「2つ前の駅を出発した時の各列車の乗客数および乗車率は次の通りです。7:14発○○行:270人:113%、7:19発○○行:180人:75%」と、「後の列車(7:19発○○行)の方が空いています。」とを含んでいる。
このような空き車両情報の出力によって、ユーザは、例えば、次の列車に乗る場合はどの車両に乗ればよいか、その次の列車を待った方がよいか、といった判断が容易に行えるようになる。
その後、端末受付部32は、ディスプレイ上の空き車両情報から所望の列車の選択する操作を受け付ける。または、端末処理部34が、GPS受信機等からの位置情報や各列車の運行予定情報等を基に、ユーザが列車に乗ったことを検知してもよい。
列車の選択が受け付けられるか、または、列車への乗車が検知されると、端末取得部342は、端末検索部341によるダイヤ検索の結果から、当該列車が着駅または乗換駅に到着する時刻を取得する。
例えば、列車Aが選択された場合、または列車Aへの乗車が検知された場合、列車Aが着駅または乗換駅に到着する時刻が、検索結果に含まれている列車Aの運行予定情報から取得される。
その後、端末処理部34は、現在位置を示す位置情報および現在位置を示す時刻情報を繰り返し取得する動作を開始する。
そして、端末取得部342が取得した時刻に関連したタイミング、例えば、当該列車と着駅または乗換駅との間の距離が閾値以下(または閾値より小さくなった)となったタイミングで、端末出力部35は、例えば、ベル音や楽曲、あるいは、“まもなく到着です”、“次の駅で快速に乗り換えてください”といった音声案内、等による注意喚起をさらに出力する。
なお、注意喚起の出力タイミングは、上記のような距離に関する条件に限らず、例えば、時間に関する条件、具体的には“当該列車が着駅または乗換駅に到着するまでの時間が閾値以下(または閾値より小くなった)のタイミングであってもよい。
このような注意喚起の出力によって、ユーザは、例えば、着駅や乗換駅への到着を(例えば、到着の1分前など一定時間前、前の駅を出発した時などに)知ることができるので、乗り越しの防止が可能になる。
以上、本実施の形態によれば、車両(A1,A2,…)の乗客数に関する乗客数関連情報を、センサーにより取得する取得部121と、乗客数関連情報を送信する送信部13と、を具備する情報処理装置1により、車両の正確な乗客数に関する乗客数関連情報を取得、送信できるようになり、車両の乗客数のばらつきの縮小、ひいては混雑緩和が期待できる。
また、上記構成において、取得部121は、各駅(a1,a2,…)での車両への乗車人数および車両からの下車人数を基に、乗客数関連情報を算出することにより、乗客数を正確に算出できる。
また、上記構成において、乗客数関連情報は、車両ごとの乗客数に関する乗客数関連情報であり、送信部13は、各車両を識別する車両IDと対にして、乗客数関連情報を送信することにより、車両ごとの正確な乗客数に関する乗客数関連情報を取得、送信できるようになり、車両間の乗客数のばらつきの縮小、ひいては、一部車両に集中しがちな混雑の緩和が期待できる。
また、上記構成において、取得部121は、各車両への乗車人数および各車両からの下車人数と、車両間を移動する人数とを基に、一の列車を構成する複数の車両ごとの乗客数関連情報を算出することにより、乗客数情報をより正確に算出できるようになる。
また、車両を識別する車両IDと、車両の乗客数に関する乗客数関連情報との対を受信するサーバ受信部22と、車両IDと乗客数関連情報との対を蓄積するサーバ蓄積部231と、車両IDを含む問い合わせに対して、乗客数関連情報を送信するサーバ送信部24と、を具備するサーバ装置2により、車両ごとの乗客数関連情報を、受信、蓄積しておき、問い合わせに対して送信できるようになり、車両間の乗客数のばらつきの縮小、ひいては混雑緩和が期待できる。
また、車両の乗客数に関する乗客数関連情報を受信する端末受信部33と、乗客数関連情報を基に、空いている車両に関する空き車両情報を出力する端末出力部35とを具備する端末装置3により、車両の乗客数関連情報を受信し、空いている車両をユーザに知らせることができるようになり、車両の乗客数のばらつきの縮小、ひいては混雑緩和が期待できる。
また、上記構成において、空き車両に関する問い合わせを受け付ける端末受付部32と、問い合わせに応じてダイヤ検索を行う端末検索部341と、端末検索部341による検索の結果から車両を識別する車両IDを取得する端末取得部342と、車両IDを含む問い合わせを送信する端末送信部36と、をさらに具備することにより、ダイヤ検索を利用して、所望の車両の車両IDを簡易に取得できるようになる。
また、上記構成において、端末受信部33は、予め決められたタイミングで乗客数関連情報を受信することにより、例えば、車両が前の駅を出発した時に、その車両の乗客数関連情報を受信できるようになる。
また、上記構成において、端末送信部36は、予め決められたタイミングで、問い合わせを送信することにより、例えば、車両が前の駅に停車している際に、その車両の乗客数をサーバ装置2に問い合わせることで、その車両が前の駅を出発した時に、その車両の乗客数関連情報を受信できるようになる。つまり、サーバ・端末間での乗客数関連情報の送受信を、端末主導で行えるようになる。
また、上記構成において、端末受信部33は、予め決められたタイミングで送信された乗客数関連情報を受信することにより、例えば、車両が前の駅を出発した時に、サーバ装置2がその車両の乗客数関連情報を送信することで、その車両の乗客数関連情報を受信できるようになる。つまり、サーバ・端末間での乗客数関連情報の送受信を、サーバ主導で行えるようになる。
また、上記構成において、端末取得部342は、端末検索部341による検索の結果から、車両に関する到着時刻または乗換時刻を取得し、端末出力部35は、到着時刻または乗換時刻に関連したタイミングで車両からの下車に関する注意喚起をさらに出力することにより、乗り過ごしや、乗り換えミスなどを防止できるようになる。
なお、上記実施の形態において、取得部121は、車両の乗客数をセンサーにより取得する際に、乗客の属性、例えば性別を識別してもよい。この場合、センサーとしては、通常、イメージセンサーが用いられる。ただし、例えば、レーザ走査により目標の三次元画像を取得するレーザレンジセンサーなど、乗客の属性の識別が可能なセンサーであれば、種類は問わない。
詳しくは、取得部121は、イメージセンサーで撮像されたフレーム内で人の特徴画像(例えば顔画像)を抽出し、さらにフレーム間で当該特徴画像の位置を比較することにより、当該人の動きを検出するが、抽出した特徴画像から、人の属性に対応する特徴、例えば、男性の特徴(例えば髭や短い頭髪など)、または女性の特徴(例えば長い睫や長い頭髪など)をさらに抽出することで、男女の識別が行える。なお、かかる識別のための具体的なアルゴリズムは公知であり、説明を省略する。
これに対応する変形例として、例えば、図2に示した情報処理装置1の構成に出力部を追加する一方、格納部11内の運行予定情報に女性専用車両の車両IDを含めておけば、取得部12によって男性客の女性専用列車への乗車が検知されたた場合に、出力部が“ここは女性専用車両です”といった警告をスピーカー等の出力デバイスを介して出力することが可能となり、女性専用車両への誤乗車の減少が期待できる。
また、他の変形例として、端末格納部31に、車両の停車位置(例えば“1番線○印の2番”等)を識別する停車位置ID(例えば“1○2”等)と位置情報(例えば緯度xおよび経度y)との対の集合を格納しておく一方、端末検索部121が、ダイヤ検索の際に、例えば、次発である列車Aの先頭車両の車両ID“A1”と停車位置IDとの対、および当該列車Aを構成する車両数(例えば“6”)を取得することで、図12に示した空き車両情報において、「7:14分発は○両目が最も空いています。」の後に「7:14発の○両目は1番線○印の6番に到着します」といった情報を出力することができ、空いている車両への乗車が容易になる。
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。このソフトウェアは、ソフトウェアダウンロード等により配布されても良いし、CD−ROMなどの記録媒体に記録して流布されても良い。そして、本実施の形態における情報処理装置1を実現するソフトウェアは、コンピュータを、上記各部として機能させるためのプログラムである。
図13は、上記プログラムを実行して、上記実施の形態による情報処理装置1を実現するコンピュータシステムの構成例である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。コンピュータシステム900は、CD−ROMドライブ905と、MPU911と、ROM912と、RAM913と、ハードディスク914と、バス915とを備える。なお、コンピュータ901は、LANやWAN等への接続を提供する図示しないネットワークカードを含んでいてもよい。図13に示した各構成要素は、公知であるので、説明を省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記実施の形態において、一の装置に存在する2以上の通信手段(端末送信部36、端末受信部33など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。