(57)【要約】【課題】動的に再構成可能なリアルタイムシステムを構成する。【解決手段】本発明の一態様によれば、処理ユニットは、入力ポートと、処理部と、予測部と、出力ポートとを含む。処理部は、入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、に内部出力信号を生成する。予測部は、入力ポートが入力信号を受け取るタイミングの１つである第１の時点よりも第２の遅延時間以上前に入力バッファおよび内部出力バッファにそれぞれ保持されている入力信号および／または内部出力信号を読み出し、読み出した信号に基づいて第１の時点に入力ポートによって受け取られる第１の入力信号に対応する第１の内部出力信号を予測し、第１の時点以前に第１の予測的出力信号を生成する。出力ポートは、第１の時点以前に、予測的出力バッファに保存された第１の予測的出力信号を送出する。【選択図】      図２
2019185735.tif 000002
【特許請求の範囲】
【請求項１】
入力信号を順次受け取る入力ポートと、
前記入力ポートによって受け取られた入力信号を順次保存する入力バッファと、
前記入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、前記入力信号の読み出しから第１の遅延時間後に内部出力信号を生成する処理部と、
前記処理部によって生成された内部出力信号を順次保存する内部出力バッファと、
前記入力ポートが前記入力信号を受け取るタイミングの１つである第１の時点よりも第２の遅延時間以上前に前記入力バッファおよび前記内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を読み出し、読み出した信号に基づいて前記第１の時点に前記入力ポートによって受け取られる第１の入力信号に対応する第１の内部出力信号を予測し、前記第１の時点以前に第１の予測的出力信号を生成する予測部と、
前記第１の予測的出力信号を含む予測的出力信号を順次保存する予測的出力バッファと、
前記第１の時点以前に、前記予測的出力バッファに保存された第１の予測的出力信号を送出する出力ポートと
を具備する、処理ユニット。
【請求項２】
前記出力ポートは、前記第１の時点に、前記予測的出力バッファに保存された第１の予測的出力信号を送出する、請求項１に記載の処理ユニット。
【請求項３】
前記予測部は、学習済みの統計モデルを用いて予測を行い、
前記学習済みの統計モデルは、前記第１の時点に比べて古い第２の時点よりも前記第２の遅延時間以上前に前記入力バッファおよび前記内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方に、前記第２の時点に前記入力ポートによって受け取られる第２の入力信号に対応する第２の内部出力信号を教師ラベルとして付与した学習データを用いた機械学習によって作成される、
請求項１または請求項２に記載の処理ユニット。
【請求項４】
前記入力信号および前記予測的出力信号は、時間軸上で連続的な値を持つ、請求項１乃至請求項３のいずれか１項に記載の処理ユニット。
【請求項５】
前記入力信号および前記予測的出力信号は、時間軸上で離散的な値を持つ、請求項１乃至請求項３のいずれか１項に記載の処理ユニット。
【請求項６】
前記第１の時点よりも第３の遅延時間以上前に生成された前記第１の予測的出力信号が前記出力ポートによって出力される前に前記第３の遅延時間分の遅延を与えるタイミング調整部をさらに具備し、
前記第３の遅延時間は、前記第２の遅延時間および前記第３の遅延時間の和が前記入力信号および前記予測的出力信号の入出力周期以下となるように定められる、
請求項５に記載の処理ユニット。
【請求項７】
ネットワークを形成する複数のノードを具備するリアルタイムシステムであって、
前記複数のノードの少なくとも一部である第１のノード群に属するノードは、請求項１乃至請求項３のいずれか１項に記載の処理ユニットである、
リアルタイムシステム。
【請求項８】
前記第１のノード群の少なくとも一部である第２のノード群に属する前記処理ユニットの各々において、前記入力信号および前記予測的出力信号は、時間軸上で離散的な値を持ち、かつ、同一の周期で入出力される、請求項７に記載のリアルタイムシステム。
【請求項９】
前記周期は、前記第２のノード群に属する前記処理ユニットのうち最も動作速度の遅い処理ユニットを駆動するクロックの周期の自然数倍である、請求項８に記載のリアルタイムシステム。
【請求項１０】
前記第１のノード群に属する第１の処理ユニットにおいて、前記出力ポートは、前記第１の時点よりも第４の遅延時間以上前に、前記予測的出力バッファに保存された第１の予測的出力信号を送出し、
前記第４の遅延時間の長さは、前記第１の処理ユニットから次段までの前記第１の予測的出力信号の信号伝送時間以上に定められる、
請求項７乃至請求項９のいずれか１項に記載のリアルタイムシステム。
【請求項１１】
コンピュータを、
入力信号を順次受け取る手段、
受け取った入力信号を入力バッファに順次保存する手段、
前記入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、前記入力信号の読み出しから第１の遅延時間後に内部出力信号を生成する手段、
生成した内部出力信号を内部出力バッファに順次保存する手段、
前記入力信号を順次受け取る手段が前記入力信号を受け取るタイミングの１つである第１の時点よりも第２の遅延時間以上前に前記入力バッファおよび前記内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を読み出し、読み出した信号に基づいて前記第１の時点に受け取られる第１の入力信号に対応する第１の内部出力信号を予測し、前記第１の時点以前に第１の予測的出力信号を生成する手段、
前記第１の予測的出力信号を予測的出力バッファに保存する手段、
前記第１の時点以前に、前記予測的出力バッファに保存された第１の予測的出力信号を送出する手段
として機能させるための処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力信号に既定の処理を行う処理ユニットに関する。
【背景技術】
【０００２】
外部環境の変化にリアルタイムに反応するリアルタイム制御システムは、外部環境に現に生じている変化を捉えてこれに応じた事後的な制御を行うよりも寧ろ、近い将来にどのような変化が生じるかを予測して制御を行うことが求められる。なお、ここでいうリアルタイム制御システムは、外部環境が例えばスペースインベーダ（登録商標）、パックマン（登録商標）、などのいわゆるアタリゲーム環境に相当する場合、システム側のレスポンス速度が外部環境の変化に比べて極めて速い場合、など、外部環境が静止状態にあると近似し得る場合を対象としていない。
【０００３】
従来のリアルタイム制御システムでは、信号経路上に配置された各ノード（処理ユニット）において行われる信号処理によって生じる遅延および／またはノード間の信号伝送によって生じる遅延を、当該信号経路上に配置されたいずれかのノードにおいてまとめて補償することで、システム出力のリアルタイム性が確保されてきた。
【０００４】
例えば、弾道ミサイルに対して迎撃ミサイルを命中させるための迎撃ミサイルシステムもかかるリアルタイム制御システムの１種である。迎撃ミサイルシステムにおいてシステム内部の遅延が全く補償されなければ、迎撃ミサイルが弾道ミサイルに命中することはないであろう。迎撃ミサイルシステムは、ごく単純化すれば、センシングユニットと、画像認識ユニットと、判断ユニットと、制御ユニットとをこの順で直列に接続したものに相当する。判断ユニットは、センシングユニットによって捉えられた時点での弾道ミサイルの位置ではなくこれから発射する迎撃ミサイルが到達する時点での弾道ミサイルの位置を予測して制御ユニットに指示を与えることで、システム内部の遅延を実質的に補償し、迎撃ミサイルを弾道ミサイルに命中させることを可能にする。
【０００５】
このように、システム入力からシステム出力までの信号経路が固定されていれば、信号経路内のいずれかのノードにおいて当該システム全体の遅延時間をまとめて補償することで、システム出力のリアルタイム性を確保できることもある。
【０００６】
従来、リアルタイム制御システムとは異なるが、制御モデルの構築において入出力間の遅延差を補正することは提案されている。例えば、特許文献１（［０００９］，［００１７］−［００１９］）には、プラントから採取した、制御モデルの入力値（Ｐ，Ｖ，Ｄ，Ｈ）と出力値（Ｍ）との対データセットに対して、これらを採取した時のプラントの状態量から時間差を補正し、入力と対応する出力との対（Ｐ，Ｖ，Ｄ，Ｈ，Ｍ）を生成することが記載されている。特許文献１では、この時間的に対応した入力および出力の対に基づいて制御モデルを構築する。
【０００７】
また、特許文献２には、特定された学習パターンを用いて「第１の時系列データよりもタイミング的に後の第２の時系列データが未来値として決定」されること（要約）が記載されている。具体的には、車両制御システムにおいて、ドライバーの運転操作および車両の運動状態を含む車両全般の状態を予測すべき事象として、事象の未来値を予測すること、予測された未来値を考慮した上で、車両に対する適切な制御量を決定し、これを車両の各種アクチュエータに対して出力することが記載されている（［００１７］）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平１０−３０１６１７号公報
【特許文献２】特開２００５−２１６２０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
リアルタイム制御システムにおいて、例えば、ノードの追加、変更または削除などにより、信号経路に変化が生じると、補償すべき遅延時間も変化するためシステムの再設計が必要となる。また、処理時間は長いもののシステムの性能向上に資する処理（例えば、弾道ミサイルの回避行動を予測する、などの熟考的な処理）を行うユニットを追加しようとすれば、この追加分の処理時間に応じてシステム全体の処理時間（先の例であれば、弾道ミサイルが捉えられてから迎撃ミサイルが発射されるまでの時間）も長くなるという問題もある。
【００１０】
さらに、リアルタイム制御システムを、複数のノードがネットワークを形成する分散システムとして構成すれば、２ノード間で取り得る信号経路が複数に増えることがあり、しかもそれぞれの信号経路において生じる遅延時間は異なり得る。また、信号経路の合流点となる各ノードにおいて複数の入力信号間の遅延時間の調整が必要となる可能性もある。
【００１１】
例えば、音響センサ／レーダセンサユニットをネットワークに追加する場合には、外部環境のイベントに起因する、異なるモダリティのセンサ信号の処理および伝送によって生じる遅延時間を調整する必要がある。
【００１２】
故に、従来のリアルタイム制御システムにおいて、ノード間のネットワークを動的に再構成することが困難であった。この問題は、リアルタイム制御システムが大規模／複雑化するほど深刻である。しかしながら、今後の知能技術の発展を踏まえれば、クラウド上に分散して存在する多種多様な知識を統合的かつ柔軟に利用し、リアルタイム制御を行うことが有効となる場面はますます増加すると考えられ、リアルタイム制御システムの大規模／複雑化、そして動的再構成の要請は避けられないと予想される。
【００１３】
本発明は、動的に再構成可能なリアルタイムシステムを構成することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の一態様によれば、処理ユニットは、入力ポートと、入力バッファと、処理部と、内部出力バッファと、予測部と、予測的出力バッファと、出力ポートとを含む。入力ポートは、入力信号を順次受け取る。入力バッファは、入力ポートによって受け取られた入力信号を順次保存する。処理部は、入力バッファに保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、入力信号の読み出しから第１の遅延時間後に内部出力信号を生成する。内部出力バッファは、処理部によって生成された内部出力信号を順次保存する。予測部は、入力ポートが入力信号を受け取るタイミングの１つである第１の時点よりも第２の遅延時間以上前に入力バッファおよび内部出力バッファにそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を読み出し、読み出した信号に基づいて第１の時点に入力ポートによって受け取られる第１の入力信号に対応する第１の内部出力信号を予測し、第１の時点以前に第１の予測的出力信号を生成する。予測的出力バッファは、第１の予測的出力信号を含む予測的出力信号を順次保存する。出力ポートは、第１の時点以前に、予測的出力バッファに保存された第１の予測的出力信号を送出する。
【発明の効果】
【００１５】
本発明によれば、動的に再構成可能なリアルタイムシステムを構成することができる。
【図面の簡単な説明】
【００１６】
【図１】実施形態に係る処理ユニットを含むリアルタイムシステムを例示する図。
【図２】実施形態に係る処理ユニットを例示するブロック図。
【図３】図２の処理ユニットの第１の動作例の概念的な説明図。
【図４】図２の処理ユニットの第１の動作例を示すフローチャート。
【図５】図２の処理ユニットの第２の動作例の概念的な説明図。
【図６】図２の処理ユニットの第２の動作例を示すフローチャート。
【図７】図２の処理ユニットの第３の動作例の概念的な説明図。
【図８】図２の処理ユニットの第３の動作例を示すフローチャート。
【発明を実施するための形態】
【００１７】
以下、図面を参照しながら実施形態の説明を述べる。なお、以降、説明済みの要素と同一または類似の要素には同一または類似の符号を付し、重複する説明については基本的に省略する。
【００１８】
（実施形態）  
実施形態に係る処理ユニットは、例えば図１に示されるリアルタイムシステムにノードの１つとして組み込むことができる。リアルタイムシステムは、リアルタイム制御システム、リアルタイム信号処理システム、などがあり得、例えば人工知能システムであってよいが、これに限られない。リアルタイムシステムに含まれる複数のノード（図１の例では、ノードＮ１，・・・，Ｎ１６）の少なくとも一部（第１のノード群）に属するノードが、実施形態に係る処理ユニットであるとする。
【００１９】
図１のリアルタイムシステムは、ネットワークを形成する１６個のノードＮ１，・・・，Ｎ１６と、アクチュエータと、触覚センサと、カメラ（イメージセンサ）と、マイクロフォンとを含む。以降の説明では、アクチュエータ、触覚センサ、カメラおよびマイクロフォンを、外部環境インターフェース（Ｉ／Ｆ）と総称することもある。
【００２０】
触覚センサ、カメラおよびマイクロフォンは、外部環境の情報を信号に変換するセンサである。図１では、これら３つのセンサが描かれているが、他のセンサまたは入力装置がリアルタイムシステムに組み込まれてもよいし、これら３つのセンサの一部または全部がリアルタイムシステムから削除されてもよい。
【００２１】
触覚センサは、例えば、接触覚、圧覚、分布圧覚、力覚、すべり覚、などの主に人間の手が有する触覚を人工的に模したセンサである。触覚センサは、外部環境からの触覚情報を電気信号へ変換し、次段のノード（図１の例では、ノードＮ３）へと送る。
【００２２】
カメラは、外部環境に対して撮影を行い、画像信号（電気信号）を生成する。そして、カメラは、画像信号を次段のノード（図１の例では、ノードＮ１４）へと送る。他方、マイクロフォンは、外部環境から音波を受け取り、これを電気信号へ変換する。そして、マイクロフォンは、この電気信号を次段のノード（図１の例では、Ｎ１６）へと送る。
【００２３】
アクチュエータは、前段のノード（図１の例では、ノードＮ１）から電気信号を受け取り、これを機械的仕事へと変換する。アクチュエータは、例えば、ソノレイド（電磁弁）、電動機、サーボモーターなどであってよい。このようにアクチュエータは、機械的仕事を行うことで外部環境に作用する。図１では、かかる外部環境に作用する要素としてアクチュエータのみが描かれているが、他の要素、例えば何らかの出力装置がリアルタイムシステムに組み込まれてもよいし、アクチュエータがリアルタイムシステムから削除されてもよい。
【００２４】
ノードＮ１，・・・，Ｎ１６は、それぞれ、他のノードまたは外部環境Ｉ／Ｆのいずれかと接続可能である。ノードＮ１，・・・，Ｎ１６は、基本的に、それぞれその前段のノードまたは外部環境Ｉ／Ｆから入力信号を受け取り、例えば、データ圧縮、エラーの計算、周波数解析、など既定の処理を行って出力信号を生成し、次段のノードまたは外部環境Ｉ／Ｆへ送出する。ここで、図１における、ノードの数、ノード間の接続関係、およびノードと外部環境Ｉ／Ｆとの接続関係は例示に過ぎない。
【００２５】
また、図１のようなリアルタイム（分散処理）システムでは、あるノード（または外部環境Ｉ／Ｆ）から他のノード（または外部環境Ｉ／Ｆ）までに複数の信号経路が存在することがあり得る。例えば、触覚センサからアクチュエータまでの信号経路を考察すると、（信号経路１）「触覚センサ」→「ノードＮ３」→「ノードＮ２」→「ノードＮ１」→「アクチュエータ」と、（信号経路２）「触覚センサ」→「ノードＮ３」→「ノードＮ８」→「ノードＮ１３」→「ノードＮ１６」→「ノードＮ１５」→「ノードＮ１２」→「ノードＮ１１」→「ノードＮ１０」→「ノードＮ７」→「ノードＮ２」→「ノードＮ１」→「アクチュエータ」とがある。信号経路２は、信号経路１におけるノードＮ３からノードＮ１への直接路が、８個のノードを経由する迂回路に置き換わっている。
【００２６】
故に、仮にアクチュエータがこれら両方の信号経路を通った信号を利用するにしても、通常であれば両信号経路の遅延時間は全く異なるので、アクチュエータは同一の触覚情報に基づく信号を両方の信号経路から同時に受け取ることはできない。アクチュエータが同一の触覚情報に基づく２つの信号を利用する必要があるならば、触覚情報が検知されてからこれに対応する機械的仕事がなされるまでの遅延時間は、信号経路１ではなく信号経路２の遅延時間に左右されることになる。
【００２７】
そこで、後述されるように、実施形態に係る処理ユニットは、その入力から出力までの遅延が略零以下となるように、入力信号の到達と同時またはそれよりも前に予測的出力信号を生成し、出力する。このように、処理ユニットによって生じる信号処理遅延、すなわち処理ユニットが入力信号を受け取ってからその対応する出力信号を生成するまでに生じる遅れ、は、その処理ユニット内で補償される。故に、処理ユニットのある時点の入力信号に対応する予測的出力信号を、当該処理ユニットの次段の処理ユニットまたは外部環境Ｉ／Ｆが当該時点における入力信号として受け取ることができる。
【００２８】
これにより、実施形態に係る処理ユニットにおける予測的出力信号の予測の妥当性が保証される限りにおいて、すなわち予測的出力信号がその予測対象となる信号（後述される内部出力信号）と一致しまたはその誤差が許容できる程度に小さい限りにおいて、かかる処理ユニットを接続したネットワーク内で交換される信号の同一時刻性が成り立つ。すなわち、仮に、上記信号経路２の少なくとも迂回路上の各ノードが本実施形態に係る処理ユニットであるとする。この場合に、ノードＮ３がノードＮ２および迂回路の始点であるノードＮ８へそれぞれ出力信号を送出するのと略同時に、当該迂回路の終点であるノードＮ７は当該ノードＮ３の出力信号に間接的に対応する予測的出力信号をノードＮ２へ送出できる。故に、信号経路１および信号経路２の合流点であるノードＮ２は、ノードＮ３およびノードＮ７から同一時点の触覚情報に対応する（予測的）出力信号を同時に受け取ることができる。
【００２９】
このような同一時刻性は、ネットワークの構成によらず成り立つので、実施形態に係る処理ユニット間の接続関係を（動的に）再構成したとしても、これによる遅延時間の変化は生じない。例えば上記信号経路２の迂回路上からいずれかの処理ユニットを削除したり、逆に本実施形態に係る処理ユニットを追加したりしたとしても、何らの設計変更も必要とすることなく、信号経路１および信号経路２の合流点であるノードＮ２は依然として、両信号経路から同一時点の触覚情報に対応する（予測的）出力信号を受け取ることができる。同一時刻性がネットワークの構成によらず成り立つということは、大規模／分散化したリアルタイム制御システムにおいても、ネットワークの再構成（さらには動的再構成）、すなわち、柔軟かつ動的な処理の結合/組み合わせ、を行えることを意味する。これを知能システムに応用した場合には、知識を動的に結合させることでＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）システムとしての汎用性を高めることもできる。
【００３０】
なお、実施形態に係る各処理ユニットにおける入力信号および予測的出力信号は、時間軸上で連続的な値を持つアナログ信号であってもよいし、時間軸上で離散的な値を持つデジタル信号であってもよい。以降の説明では後者の実施を想定しているが、例えば以降の説明における種々の要素をアナログ要素に置き換えることで前者の実施も可能である。
【００３１】
上記第１のノード群の少なくとも一部である第２のノード群に属する処理ユニットの各々において、入力信号および予測的出力信号が同一の周期で入出力されてよい。さらに、この周期は、上記第２のノード群に属する処理ユニットのうち最も動作速度の遅い１つを駆動するクロックの周期の自然数倍であってよい。
【００３２】
以下、図２乃至図８を用いて、実施形態に係る処理ユニットについて詳しく説明する。
【００３３】
処理ユニットは、コンピュータであって、例えば、入出力制御、通信制御、そして既定の処理および／または予測、などを行うプロセッサを含む。プロセッサは、典型的には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および／またはＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）であるが、マイコン、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）もしくはＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、などであってもよい。また、処理ユニットは、かかる処理を実現するためにプロセッサによって実行されるプログラムおよび当該プロセッサによって使用されるデータなどを一時的に格納するメモリを含んでいる。
【００３４】
なお、処理ユニットは、全てのデータをオンメモリの状態で扱ってもよいし、一部のデータが補助記憶装置に退避されていてもよい。補助記憶装置は、例えば、処理ユニットに内蔵または外付けされたＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリなどであってもよいし、処理ユニットからアクセス可能なデータベースサーバであってもよい。
【００３５】
１つのコンピュータが１つの処理ユニットを実装することもあり得るし、１つのコンピュータが複数の処理ユニットを実装することもあり得る。後者の場合に、同一のコンピュータに実装された複数のノード間、またはノードと外部環境Ｉ／Ｆとの間の信号伝送は例えばバスを介して行われ得る。他方、異なるコンピュータに実装されたノード間、またはノードと外部環境Ｉ／Ｆとの間の信号伝送は、例えばインターネットなどのネットワークを介して行われ得る。
【００３６】
処理ユニットは、さらに、ネットワークに接続するための通信Ｉ／Ｆを利用可能である。通信Ｉ／Ｆは、処理ユニットに内蔵されてもよいし、処理ユニットに外付けされてもよい。通信Ｉ／Ｆは、ネットワーク経由で、他のノードを実装するコンピュータ、または外部環境Ｉ／Ｆと通信をするためのモジュールであってよい。
【００３７】
次に、図２を用いて処理ユニットの構成例の説明を続ける。図２の処理ユニット１００は、入力ポート１０１と、入力バッファ１０２と、処理部１０３と、内部出力バッファ１０４と、予測部１０５と、予測的出力バッファ１０６と、タイミング調整部１０７と、出力ポート１０８と、予測学習部１０９とを含む。
【００３８】
入力ポート１０１は、処理ユニット１００の前段、例えば他の処理ユニットまたは外部環境Ｉ／Ｆから入力信号を順次受け取る。以降の説明では、任意の時刻ｔ（第１の時点）に入力ポート１０１によって受け取られた入力信号（第１の入力信号）をｘ（ｔ）として表す。入力ポート１０１は、入力信号を入力バッファ１０２に順次保存する。入力ポート１０１は、前述のプロセッサ（および通信Ｉ／Ｆ）であってよい。
【００３９】
入力バッファ１０２は、入力信号を保存する。入力信号は、入力ポート１０１によって順次書き込まれる。入力信号は、処理部１０３および予測部１０５によって順次読み出される。また、入力信号は、予測学習部１０９によって読み出されることもあり得る。入力バッファ１０２は、前述のメモリであってよい。
【００４０】
処理部１０３は、入力バッファ１０２に保存された入力信号を順次読み出し、読み出した入力信号に既定の処理を行い、入力信号の読み出しからＴ１（第１の遅延時間）後に内部出力信号を生成する。ここで、入力信号ｘ（ｔ）に対応する内部出力信号（第１の内部出力信号）をｚ（ｔ）として表す。すなわち、処理部１０３は、入力信号ｘ（ｔ）に対応する内部出力信号ｚ（ｔ）を時刻ｔ＋Ｔ１に生成する。処理部１０３は、生成した内部出力信号を内部出力バッファ１０４に順次保存する。ここで、既定の処理は、例えば、データ圧縮、エラーの計算、周波数解析、などであってもよいし、これ以外の処理であってもよい。処理部１０３は、前述のプロセッサであってもよいし、専用の処理回路、例えば、ハードウェアエンコーダ、ＦＦＴ（Ｆａｓｔ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ）回路、などであってもよい。
【００４１】
内部出力バッファ１０４は、内部出力信号を保存する。内部出力信号は、処理部１０３によって順次書き込まれる。内部出力信号は、予測部１０５によって順次読み出される。また、内部出力信号は、予測学習部１０９によって読み出されることもあり得る。内部出力バッファ１０４は、前述のメモリであってよい。
【００４２】
予測部１０５は、入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている入力信号および内部出力信号の少なくとも一方を順次読み出し、読み出した信号に基づいて、将来に入力ポート１０１によって受け取られる入力信号に対応する内部出力信号を予測し、入力信号および内部出力信号の少なくとも一方の読み出しからＴ２（第２の遅延時間）後に予測的出力信号を生成する。予測部１０５は、予測的出力信号を予測的出力バッファ１０６に順次保存する。予測部１０５は、前述のプロセッサであってよい。
【００４３】
予測部１０５は、例えば、内部出力信号またはその予測値を示す予測的出力信号の時間的変動を、自己回帰モデルとして予測し得る。また、予測部１０５は、後述されるように、例えば、学習済みの統計モデル、例えばニューラルネットワークを用いて予測を行ってよい。この学習済みの統計モデルは、例えば予測学習部１０９によって作成および／または更新されてもよいし、他のコンピュータによって作成され、それから処理ユニット１００に移植されたものであってもよい。
【００４４】
より具体的には、予測部１０５は任意の時刻ｔについて、時刻ｔよりもＴ２以上前、すなわち時刻ｔ−Ｔ２以前に入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている入力信号ｘ（ｔ−Ｔ２）および／もしくはより古い入力信号、ならびに／または内部出力信号ｚ（ｔ−Ｔ１−Ｔ２）および／もしくはより古い内部出力信号をそれぞれ読み出し、読み出した信号に基づいて入力信号ｘ（ｔ）に対応する内部出力信号ｚ（ｔ）を予測し、時刻ｔ以前に予測的出力信号ｐ（ｔ）（第１の予測的出力信号）を生成する。ここで、予測部１０５の入力から出力までの遅延時間であるＴ２は、実測により求められてもよいし、シミュレーションにより求められてもよい。
【００４５】
なお、予測部１０５は、入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている入力信号および／または内部出力信号に加えて、予測的出力バッファ１０６に保持されている予測的出力信号に基づいて予測を行ってもよい。具体的には、予測的出力信号ｐ（ｔ）を生成するために、時刻ｔ−Ｔ２以前に予測的出力バッファに保持されている予測的出力信号ｐ（ｔ−Ｔ２）および／またはより古い予測的出力信号が利用可能である。
【００４６】
予測的出力バッファ１０６は、予測的出力信号を保存する。予測的出力信号は、予測部１０５によって順次書き込まれる。予測的出力信号は、タイミング調整部１０７によって順次読み出される。また、予測的出力信号は、予測部１０５によって読み出されることもあり得る。さらに、予測的出力信号は、予測学習部１０９によって読み出されることもあり得る。予測的出力バッファ１０６は、前述のメモリであってよい。
【００４７】
タイミング調整部１０７は、予測部１０５における予測的出力信号の生成と、出力ポート１０８における当該予測的出力信号の送出との間のタイミング差を調整する。具体的には、タイミング調整部１０７は、任意の時刻ｔについて、予測部１０５によって生成された予測的出力信号ｐ（ｔ）が出力ポート１０８によって送出される前に、タイミング差の調整幅に相当する第３の遅延時間（Ｔ３）分の遅延を与える。
【００４８】
例えば、タイミング調整部１０７は、予測的出力信号ｐ（ｔ）が予測的出力バッファ１０６に書き込まれてからＴ３後、すなわち時刻ｔ−Ｔ３以前に当該予測的出力信号ｐ（ｔ）を読み出して、出力ポート１０８へ送ってもよいし、予測的出力信号ｐ（ｔ）が予測的出力バッファ１０６に書き込まれると同時にこれを読み出してＴ３後、すなわち時刻ｔ−Ｔ３以前に当該予測的出力信号ｐ（ｔ）を出力ポート１０８へ送ってもよいし、予測的出力信号ｐ（ｔ）が生成されてからＴ３後、すなわち時刻ｔ以前に予測的出力信号ｐ（ｔ）を予測的出力バッファ１０６に書き込んでもよい。タイミング調整部１０７は、前述のプロセッサであってよいし、専用の遅延回路であってもよい。なお、タイミング調整部１０７は、オプションであり削除可能である。
【００４９】
例えば、入力信号および予測的出力信号が時間軸上で離散的な値を持ち、かつ、同一の周期（Ｔ）で入出力されると仮定する。Ｔ２がこの周期（Ｔｉｏ）未満であるとすれば、予測的出力信号ｐ（ｔ）は、時刻ｔ−Ｔｉｏ以前に入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている信号に基づいて、時刻ｔ−Ｔｉｏ＋Ｔ２以前に生成することができる。Ｔ３≒Ｔｉｏ−Ｔ２となるように、すなわちＴ２およびＴ３の和がＴに略一致するようにＴ３を定めれば、出力ポート１０８は略時刻ｔに予測的出力信号ｐ（ｔ）を次段へ送出できる。ただし、後述される遅延時間Ｔ４も考慮する場合には、Ｔｉｏ≒Ｔ２＋Ｔ３＋Ｔ４となるようにＴ３を定めてもよい。この場合には、Ｔｉｏ＞Ｔ２＋Ｔ３となる。
【００５０】
出力ポート１０８は、タイミング調整部１０７から予測的出力信号を順次受け取り、処理ユニット１００の次段、例えば他の処理ユニットまたは外部環境Ｉ／Ｆへ送出する。出力ポート１０８は、前述のプロセッサ（および通信Ｉ／Ｆ）であってよい。
【００５１】
具体的には、出力ポート１０８は、任意の時刻ｔについて、時刻ｔ以前に予測的出力信号ｐ（ｔ）を送出する。予測的出力信号ｐ（ｔ）の送出タイミングは、時刻ｔに一致してもよいし、これより前であってもよい。処理ユニット１００から次段までの予測的出力信号ｐ（ｔ）の信号伝送時間が零または零と見なせる程度に微少である場合には、予測的出力信号ｐ（ｔ）を時刻ｔに送出すれば、次段は同時刻ｔにこれを入力信号として受け取ることができる。他方、上記信号伝送時間が零と見なせない程度に大きい場合には、予測的出力信号ｐ（ｔ）を時刻ｔに送出したとしても、次段は時刻ｔよりも遅い時刻にこれを入力信号として受け取ることになる。ここで、上記信号伝送時間は、実測により求められてもよいし、シミュレーションにより求められてもよい。
【００５２】
そこで、出力ポート１０８は、必要に応じて、時刻ｔよりも第４の遅延時間（Ｔ４）以上前に、すなわち時刻ｔ−Ｔ４以前に予測的出力信号を次段へ送出してもよい。このＴ４の長さは、例えば、処理ユニット１００から次段までの予測的出力信号ｐ（ｔ）の信号伝送時間以上に定められ得る。これにより、処理ユニット１００の次段は、予測的出力信号ｐ（ｔ）を時刻ｔかそれよりも前に受け取ることができる。予測的出力信号ｐ（ｔ）が時刻ｔよりも早く処理ユニット１００の次段に到着した場合には、次段において適切な遅延を与えることで予測的出力信号ｐ（ｔ）を時刻ｔと同時に受け付けることができる。
【００５３】
予測学習部１０９は、入力信号および／または内部出力信号から将来の内部出力信号を予測する能力を獲得するための機械学習を行い、学習済みの統計モデルを作成する。この学習済みの統計モデルは、予測部１０５によって使用され得る。
【００５４】
予測学習部１０９は、例えば、入力信号および／または内部出力信号の履歴に基づいて学習データを生成し、この学習データを用いて機械学習を行う。具体的には、学習データは、ある時刻ｔｍｌ（第２の時点）よりＴ２以上前に入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている入力信号ｘ（ｔｍｌ−Ｔ２）（第２の入力信号）および／もしくはより古い入力信号、ならびに／または内部出力信号ｚ（ｔｍｌ−Ｔ１−Ｔ２）（第２の内部出力信号）および／もしくはそれより古い内部出力信号に、時刻ｔｍｌ＋Ｔ１に生成される内部出力信号ｚ（ｔｍｌ）を教師ラベルとして付与したものであってよい。
【００５５】
これにより、例えば、ｚ（ｔ）の予測値を返す予測関数Ｐ（ｚ（ｔ−Ｔ１−Ｔ２），・・・，ｚ（０），ｘ（ｔ−Ｔ２），・・・，ｘ（０））が学習される。ここで、予測関数の引数、すなわち統計モデルに与えられる入力値は、時刻０以降の全ての入力信号および／または内部出力信号を必ずしも含む必要はなく、例えばそれぞれ最新の１個または複数個に限られてもよい。なお、前述のように、過去の入力信号および／または内部出力信号に加えて、過去の予測的出力信号も、統計モデルに与えられる入力値として利用可能である。
【００５６】
予測学習部１０９は、処理ユニット１００を含んだリアルタイムシステムの運用前に機械学習を行うが、その運用前に機械学習を完了させてもよいし、させなくてもよい。前者の場合には、予測学習部１０９はリアルタイムシステムの運用時には必須の要素とはならないので削除され得る。他方、後者の場合には、予測学習部１０９は、運用時に収集された入力信号および／または内部出力信号を用いて統計モデルの再学習（更新）を行うことができる。さらに、前述のように、学習済みの統計モデルは、他のコンピュータによって作成されそれから処理ユニット１００に移植されたものであってもよく、この場合にも予測学習部１０９は削除され得る。
【００５７】
以下、図３乃至図８を用いて、図１の処理ユニット１００の動作例を３つ紹介する。  
まず、図３および図４を用いて、処理ユニット１００の第１の動作例を説明する。  
第１の動作例では、入力信号および予測的出力信号の入出力周期をτとし、Ｔ１＝２τとし、Ｔ２＝τとしている。また、Ｔ３＝Ｔ４＝０、すなわち、タイミング調整部１０７は使用されず、予測的出力信号ｐ（ｔ）は時刻ｔに送出されることとしている。
【００５８】
第１の動作例では、時刻ｔに入力信号ｘ（ｔ）が入力バッファ１０２に書き込まれ、これに基づいて処理部１０３は時刻ｔ＋２τに内部出力信号ｚ（ｔ）を生成し、内部出力バッファ１０４に書き込む。
【００５９】
他方、予測部１０５は、時刻ｔ−Ｔ２（＝ｔ−τ）に入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている入力信号ｘ（ｔ−τ）および／もしくはより古い入力信号、ならびに／または内部出力信号ｚ（ｔ−３τ）および／もしくはより古い内部出力信号を読み出す（ステップＳ２０１）。
【００６０】
次に、予測部１０５は、ステップＳ２０１において読み出した信号に基づいて、時刻ｔに、入力信号ｘ（ｔ）に対応する内部出力信号ｚ（ｔ）の予測値を示す予測的出力信号ｐ（ｔ）を生成して予測的出力バッファ１０６に書き込む（ステップＳ２０２）。そして、出力ポート１０８は、時刻ｔに、予測的出力バッファ１０６から予測的出力信号ｐ（ｔ）を読み出し、次段へ送出する（ステップＳ２０３）。
【００６１】
次に、図５および図６を用いて、処理ユニット１００の第２の動作例を説明する。  
第２の動作例では、入力信号および予測的出力信号の入出力周期をτとし、Ｔ１＝２τとし、Ｔ２＝Ｔ３＝０．５τとしている。また、Ｔ４＝０、すなわち、予測的出力信号ｐ（ｔ）は時刻ｔに送出されることとしている。
【００６２】
第２の動作例では、時刻ｔに入力信号ｘ（ｔ）が入力バッファ１０２に書き込まれ、これに基づいて処理部１０３は時刻ｔ＋２τに内部出力信号ｚ（ｔ）を生成し、内部出力バッファ１０４に書き込む。
【００６３】
他方、予測部１０５は、時刻ｔ−Ｔ２−Ｔ３（＝ｔ−τ）に入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている入力信号ｘ（ｔ−τ）および／もしくはより古い入力信号、ならびに／または内部出力信号ｚ（ｔ−３τ）および／もしくはより古い内部出力信号を読み出す（ステップＳ３０１）。
【００６４】
次に、予測部１０５は、ステップＳ３０１において読み出した信号に基づいて、時刻ｔ−Ｔ３（＝ｔ−０．５τ）に、入力信号ｘ（ｔ）に対応する内部出力信号ｚ（ｔ）の予測値を示す予測的出力信号ｐ（ｔ）を生成して予測的出力バッファ１０６に書き込む（ステップＳ３０２）。
【００６５】
次に、タイミング調整部１０７は、ステップＳ３０２において生成された予測的出力信号ｐ（ｔ）にＴ３（＝０．５τ）分の遅延を与え、時刻ｔに当該予測的出力信号ｐ（ｔ）を出力ポート１０８へ送る。そして、出力ポート１０８は、時刻ｔに、予測的出力信号ｐ（ｔ）を次段へ送出する（ステップＳ３０４）。
【００６６】
次に、図７および図８を用いて、処理ユニット１００の第３の動作例を説明する。  
第３の動作例では、入力信号および予測的出力信号の入出力周期をτとし、Ｔ１＝２τとし、Ｔ２＝Ｔ４＝０．５τとしている。また、Ｔ３＝０、すなわち、タイミング調整部１０７は使用されないこととしている。
【００６７】
第３の動作例では、時刻ｔに入力信号ｘ（ｔ）が入力バッファ１０２に書き込まれ、これに基づいて処理部１０３は時刻ｔ＋２τに内部出力信号ｚ（ｔ）を生成し、内部出力バッファ１０４に書き込む。
【００６８】
他方、予測部１０５は、時刻ｔ−Ｔ２−Ｔ４（＝ｔ−τ）に入力バッファ１０２および内部出力バッファ１０４にそれぞれ保持されている入力信号ｘ（ｔ−τ）および／もしくはより古い入力信号、ならびに／または内部出力信号ｚ（ｔ−３τ）および／もしくはより古い内部出力信号を読み出す（ステップＳ４０１）。
【００６９】
次に、予測部１０５は、ステップＳ４０１において読み出した信号に基づいて、時刻ｔ−Ｔ４（＝ｔ−０．５τ）に、入力信号ｘ（ｔ）に対応する内部出力信号ｚ（ｔ）の予測値を示す予測的出力信号ｐ（ｔ）を生成して予測的出力バッファ１０６に書き込む（ステップＳ４０２）。
【００７０】
そして、出力ポート１０８は、時刻ｔ−Ｔ４（ｔ−０．５τ）に、予測的出力バッファ１０６から予測的出力信号ｐ（ｔ）を読み出し、次段へ送出する（ステップＳ４０３）。ステップＳ４０３において送出された予測的出力信号ｐ（ｔ）は、信号伝送時間である０．５τ後、すなわち時刻ｔに次段に入力信号ｘ２（ｔ）として取り込まれる。
【００７１】
以上説明したように、実施形態に係る処理ユニットは、その入力から出力までの遅延が略零以下となるように、入力信号の到達と同時またはそれよりも前に予測的出力信号を生成し、出力する。故に、この処理ユニットのある時点の入力信号に対応する予測的出力信号を、当該処理ユニットの次段の処理ユニットまたは外部環境Ｉ／Ｆが当該時点における入力信号として受け取ることができる。
【００７２】
この処理ユニットによれば、予測的出力信号の予測の妥当性が保証される限りにおいて、かかる処理ユニットを接続したネットワーク内で交換される信号の同一時刻性が成り立つ。かかる同一時刻性は、ネットワークの構成によらず成り立つので、この処理ユニットをリアルタイムシステムに組み込めば少なくとも当該処理ユニットからなるノード群において接続関係を動的に再構成することができる。
【００７３】
上述の実施形態は、本発明の概念の理解を助けるための具体例を示しているに過ぎず、本発明の範囲を限定することを意図されていない。実施形態は、本発明の要旨を逸脱しない範囲で、様々な構成要素の付加、削除または転換をすることができる。
【００７４】
上述の実施形態では、いくつかの機能部を説明したが、これらは各機能部の実装の一例に過ぎない。例えば、１つの装置に実装されると説明された複数の機能部が複数の別々の装置に亘って実装されることもあり得るし、逆に複数の別々の装置に亘って実装されると説明された機能部が１つの装置に実装されることもあり得る。
【００７５】
上記各実施形態において説明された種々の機能部は、回路を用いることで実現されてもよい。回路は、特定の機能を実現する専用回路であってもよいし、プロセッサのような汎用回路であってもよい。
【００７６】
上記各実施形態の処理の少なくとも一部は、例えば汎用のコンピュータに搭載されたプロセッサを基本ハードウェアとして用いることでも実現可能である。上記処理を実現するプログラムは、コンピュータで読み取り可能な記録媒体に格納して提供されてもよい。プログラムは、インストール可能な形式のファイルまたは実行可能な形式のファイルとして記録媒体に記憶される。記録媒体としては、磁気ディスク、光ディスク（ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等）、光磁気ディスク（ＭＯ等）、半導体メモリなどである。記録媒体は、プログラムを記憶でき、かつ、コンピュータが読み取り可能であれば、何れであってもよい。また、上記処理を実現するプログラムを、インターネットなどのネットワークに接続されたコンピュータ（サーバ）上に格納し、ネットワーク経由でコンピュータ（クライアント）にダウンロードさせてもよい。
【符号の説明】
【００７７】
Ｎ１〜Ｎ１６・・・ノード
１００・・・処理ユニット
１０１・・・入力ポート
１０２・・・入力バッファ
１０３・・・処理部
１０４・・・内部出力バッファ
１０５・・・予測部
１０６・・・予測的出力バッファ
１０７・・・タイミング調整部
１０８・・・出力ポート
１０９・・・予測学習部
【図１】
2019185735.tif 000003
【図２】
2019185735.tif 000004
【図３】
2019185735.tif 000005
【図４】
2019185735.tif 000006
【図５】
2019185735.tif 000007
【図６】
2019185735.tif 000008
【図７】
2019185735.tif 000009
【図８】
2019185735.tif 000010