(57)【要約】【課題】設計変更や仕様変更等に柔軟に対応することのできる信号処理システムの提供を可能とすること。【解決手段】コンピューターシステム１において、接続設定部１１により、記憶部６０に記憶されたオブジェクト接続用テーブル６３に従って、演算処理それぞれを定めた演算処理オブジェクト同士が接続設定される。そして、実行制御部１３により、接続された演算処理オブジェクト同士の入出力関係に基づいて、当該演算処理オブジェクトを実行するための入力データが揃ったか否かが判定される。そして、演算実行部１５により、入力データが揃った演算処理オブジェクトが実行される。【選択図】図１
2012159913.tif 000002
【特許請求の範囲】
【請求項１】
信号処理を構成する実行要素でなる演算処理それぞれを定めた演算処理オブジェクト同士の入出力関係を設定することと、
前記演算処理オブジェクトそれぞれについて、前記入出力関係に基づいて当該演算処理オブジェクトを実行するための入力データが揃ったか否かを判定することと、
前記入力データが揃った前記演算処理オブジェクトを実行することと、
を含む方法。
【請求項２】
前記入出力関係が設定された前記演算処理オブジェクト同士の入出力データの形式を照合すること、
を更に含む請求項１に記載の方法。
【請求項３】
前記照合の結果、不一致の場合に、当該演算処理オブジェクトに入力される前記入力データの形式を、当該演算処理オブジェクトの入力要求形式に変換可能か否かを判定することと、
前記変換可能の場合に、当該演算処理オブジェクトに入力される前記入力データの形式を前記入力要求形式に変換することと、
を更に含む請求項２に記載の方法。
【請求項４】
前記入力データが揃った前記演算処理オブジェクトの実行順番を管理することと、
前記実行順番に従って前記演算処理オブジェクトを実行することと、
を更に含む請求項１〜３の何れか一項に記載の方法。
【請求項５】
前記信号処理は、加速度センサー、ジャイロセンサー、方位センサー、及びＧＰＳセンサーのうちの何れかの信号を処理することで、位置を算出する処理である、
請求項１〜４の何れか一項に記載の方法。
【請求項６】
信号処理を構成する実行要素でなる演算処理それぞれを定めた演算処理オブジェクト同士の入出力関係を設定する設定部と、
前記演算処理オブジェクトそれぞれについて、前記入出力関係に基づいて当該演算処理オブジェクトを実行するための入力データが揃ったか否かを判定する実行可能オブジェクト判定部と、
前記入力データが揃った前記演算処理オブジェクトを実行する実行部と、
を備えたコンピューターシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号処理を行うための方法等に関する。
【背景技術】
【０００２】
信号処理システムは、処理対象とする信号や、処理の仕様等が定まって初めて設計されるのが一般的である。そのため、設計・開発された信号処理システムは、型番が付与されるなどしてシステム毎に管理される。従って、設計変更が生じる場合には、異なる別のシステムとして開発・管理されるのが通常である。
【０００３】
例えば、信号処理システムして移動体の位置算出を行うシステムがあるが、位置算出を行うシステムにも様々な種類がある。例えば、加速度センサーやジャイロセンサーといった慣性センサーの検出信号を処理することで、移動体の位置を算出する慣性航法システム（ＩＮＳ（Inertial Navigation System））や、ＩＮＳと衛星測位システムの一種であるＧＰＳ（Global Positioning System）とをカップリングして位置算出を行うシステム等（例えば、特許文献１）が知られている。これらのシステムは、異なるシステムとして設計・開発されるのが通常である。
【０００４】
また、上述のＩＮＳとＧＰＳとのカップリングといっても、そのカップリングの方法は様々である。例えば、ＩＮＳの演算結果をＧＰＳの演算結果を用いて補正する手法も考えられるし、ＩＮＳの演算結果とＧＰＳの演算結果とを併用して、カルマンフィルターを用いて位置算出を行う手法も考えられる。また、ＩＮＳの演算結果とＧＰＳの演算結果とを切り替えて出力したり、統合して出力するなどの手法も考えられる。これらの手法は、システム毎に定められる。従って、各々の手法毎に、別々のシステムが設計・開発される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−２３９６４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
信号処理システムに関する従来の設計・開発の考え方は、信号処理システム１つ１つを全体として見ると異なるシステムなのだから、別々に設計・開発する必要がある、という考え方であると言える。しかし、信号処理を構成する実行要素１つ１つに着目すると、各システム間で共通化できる要素が存在し得る。また、特に近年はシステムの開発スパンが短くなってきている。そのため、システムを設計変更したり、仕様変更したりする際に、逐一ソースコードの変更作業にまで戻って開発をするような迂遠な作業を無くしたいという要請がある。
【０００７】
本発明は上述した課題に鑑みて為されたものであり、その目的とするところは、設計変更や仕様変更等に柔軟に対応することのできる信号処理システムの提供を可能とすることにある。
【課題を解決するための手段】
【０００８】
以上の課題を解決するための第１の形態は、信号処理を構成する実行要素でなる演算処理それぞれを定めた演算処理オブジェクト同士の入出力関係を設定することと、前記演算処理オブジェクトそれぞれについて、前記入出力関係に基づいて当該演算処理オブジェクトを実行するための入力データが揃ったか否かを判定することと、前記入力データが揃った前記演算処理オブジェクトを実行することと、を含む方法である。
【０００９】
また、他の形態として、信号処理を構成する実行要素でなる演算処理それぞれを定めた演算処理オブジェクト同士の入出力関係を設定する設定部と、前記演算処理オブジェクトそれぞれについて、前記入出力関係に基づいて当該演算処理オブジェクトを実行するための入力データが揃ったか否かを判定する実行可能オブジェクト判定部と、前記入力データが揃った前記演算処理オブジェクトを実行する実行部と、を備えたコンピューターシステムを構成してもよい。
【００１０】
この第１の形態等によれば、演算処理それぞれを定めた演算処理オブジェクト同士の入出力関係を設定する。そして、演算処理オブジェクトそれぞれについて、設定した入出力関係に基づいて、当該演算処理オブジェクトを実行するための入力データが揃ったか否かを判定する。そして、入力データが揃った演算処理オブジェクトを実行する。
【００１１】
演算処理オブジェクト同士の入出力関係を設定することで、演算処理オブジェクト同士を紐付け、演算処理オブジェクト間でデータのやり取りを行うことが可能となる。例えば、演算処理の種類（例えばカルマンフィルター（ＫＦ（Kalman Filter）））は同じであるが、演算負荷（ユーザーにとっては処理結果が得られるまでの演算時間とも言える。）や演算精度の異なる複数の演算処理オブジェクトを予め用意しておく。そして、設計仕様等に応じて演算処理オブジェクトを選択して入出力関係を設定すれば、簡単に多種類のシステムを構成できる。すなわち、システムの設計変更や仕様変更等に柔軟に対応することができる。
【００１２】
また、第２の形態として、第１の形態の方法であって、前記入出力関係が設定された前記演算処理オブジェクト同士の入出力データの形式を照合すること、を更に含む方法を構成してもよい。
【００１３】
この第２の形態によれば、入出力関係が設定された演算処理オブジェクト同士の入出力データの形式を照合することで、入出力データが互いに整合がとれたデータであるか否かを検証することができる。
【００１４】
また、第３の形態として、第２の形態の方法であって、前記照合の結果、不一致の場合に、当該演算処理オブジェクトに入力される前記入力データの形式を、当該演算処理オブジェクトの入力要求形式に変換可能か否かを判定することと、前記変換可能の場合に、当該演算処理オブジェクトに入力される前記入力データの形式を前記入力要求形式に変換することと、を更に含む方法を構成してもよい。
【００１５】
この第３の形態によれば、照合の結果、不一致の場合に、当該演算処理オブジェクトに入力される入力データの形式を、当該演算処理オブジェクトの入力要求形式に変換可能か否かを判定する。その結果、変換可能であれば、当該演算処理オブジェクトに入力される入力データの形式を入力要求形式に変換する。これにより、入出力データが互いに整合がとれていない場合であっても、整合をとった上で、演算処理オブジェクトを実行することが可能となる。
【００１６】
また、第４の形態として、第１〜第３の何れかの形態の方法であって、前記入力データが揃った前記演算処理オブジェクトの実行順番を管理することと、前記実行順番に従って前記演算処理オブジェクトを実行することと、を更に含む方法を構成してもよい。
【００１７】
この第４の形態によれば、入力データが揃った演算処理オブジェクトの実行順番を管理し、実行順番に従って演算処理オブジェクトを実行することで、システム全体を矛盾無く動作させることが可能となる。
【００１８】
また、第５の形態として、第１〜第４の何れかの形態の方法であって、前記信号処理は、加速度センサー、ジャイロセンサー、方位センサー、及びＧＰＳセンサーのうちの何れかの信号を処理することで、位置を算出する処理である、方法を構成してもよい。
【００１９】
この第５の形態によれば、加速度センサーやジャイロセンサー、方位センサー、ＧＰＳセンサーといった物理的なセンサーの信号を処理して、位置を算出する信号処理システムを構築することができる。
【図面の簡単な説明】
【００２０】
【図１】コンピューターシステムのシステム構成図。
【図２】演算処理オブジェクトの概念図。
【図３】信号処理の流れを示すフローチャート。
【図４】（Ａ）接続前のオブジェクトの一例。（Ｂ）接続後のオブジェクトの一例。
【図５】オブジェクト接続用テーブルのテーブル構成図。
【図６】データ形式判定処理の流れを示すフローチャート。
【図７】データ形式変換の説明図。
【図８】（Ａ）オブジェクトの実行手順の説明図。（Ｂ）オブジェクトの実行手順の説明図。（Ｃ）オブジェクトの実行手順の説明図。
【図９】オブジェクトの実行制御の説明図。
【図１０】（Ａ）第１実施例における第１の位置算出システムの構成図。（Ｂ）第１実施例における第２の位置算出システムの構成図。
【図１１】（Ａ）第２実施例における第１の位置算出システムの構成図。（Ｂ）第２実施例における第２の位置算出システムの構成図。
【図１２】（Ａ）第３実施例における第１の位置算出システムの構成図。（Ｂ）第３実施例における第２の位置算出システムの構成図。
【発明を実施するための形態】
【００２１】
以下、図面を参照して、本発明の好適な実施形態の一例について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。
【００２２】
１．構成
図１は、本実施形態におけるコンピューターシステム１のシステム構成の一例を示す図である。コンピューターシステム１は、例えば、処理部１０と、操作部２０と、表示部３０と、通信部４０と、センサー部５０と、記憶部６０とを備えて構成される。
【００２３】
処理部１０は、記憶部６０に記憶されているシステムプログラム等の各種プログラムに従ってコンピューターシステム１を統括的に制御する制御装置及び演算装置であり、ＣＰＵ（Central Processing Unit）等のプロセッサーを有して構成される。
【００２４】
処理部１０は、センサー部５０からの信号に対する信号処理を行い、その処理結果を表示部３０に表示させたり、各種のアプリケーション処理に利用する。信号処理とは、光学信号、画像信号、音声信号、電磁気信号といった種々の信号に対して数学的な演算を行う処理一般のことを意味する。
【００２５】
処理部１０は、主要な機能部として、接続設定部１１と、実行制御部１３と、演算実行部１５とを有する。また、処理部１０は、演算処理オブジェクトの実行順番を管理するための記憶部（メモリー）であるキュー１９を有する。
【００２６】
接続設定部１１は、演算処理オブジェクト同士の概念的な接続設定を行う。接続設定部１１は、信号処理を構成する実行要素でなる演算処理それぞれを定めた演算処理オブジェクト同士の入出力関係を設定する設定部として機能する。
【００２７】
本実施形態では、記憶部６０に記憶された信号処理プログラム６１のサブルーチンとして予め規定されている各種の演算処理プログラム６１１（６１１−１，６１１−２，６１１−３，・・・）を、それぞれ１つの演算処理オブジェクトと考える。
【００２８】
演算処理オブジェクトは、信号処理を構成する実行要素でなる演算処理を定めたものである。演算処理オブジェクトは、例えば、引数と戻り値との関係で定義される関数や、複数の関数を纏めたモジュール、複数の関数及びデータを纏めたクラス、複数のクラスを纏めたコンポーネントといった概念を包括する。演算処理オブジェクト１つ１つが独立したプログラムとして設計される。
【００２９】
本実施形態では、複数の演算処理オブジェクトのうち、必要とする演算処理オブジェクトに、必要とする入出力関係を設定する。入出力関係の設定は接続設定部１１が行う。入出力関係が設定された演算処理オブジェクトは、全体的に１つの信号処理システムを構築する。演算処理オブジェクト同士の入出力関係を設定することを、本実施形態では「接続」と呼称して説明する。また、以下の説明では、演算処理オブジェクトのことを、簡潔に「オブジェクト」と呼称して説明する。
【００３０】
実行制御部１３は、オブジェクトの実行制御を、キュー１９を用いて管理する。具体的には、実行可能状態となったオブジェクトをキュー１９にスタックし、順番に実行権を与えることで、オブジェクトの実行を制御する。実行制御部１３は、演算実行部１５によるオブジェクトの実行を制御する実行制御部であり、接続設定部１１により接続設定された入出力関係に基づいてオブジェクトを実行するための入力データが揃ったか否かを判定する実行可能オブジェクト判定部としても機能する。
【００３１】
演算実行部１５は、実行制御部１３により与えられる実行権に従って、オブジェクト（演算処理）を実行する。演算実行部１５は、入力データが揃ったオブジェクトを実行する実行部として機能する。
【００３２】
キュー１９は、先入れ先出し方式（ＦＩＦＯ（First In First Out）方式）の記憶部（メモリー）であり、レジスタの一種である。キュー１９には、オブジェクトの識別情報が格納され、格納された識別情報に従って、オブジェクトの実行順番が管理される。
【００３３】
操作部２０は、例えばキーボードやタッチパネル等により構成される入力装置であり、押下されたキーやアイコンの信号を処理部１０に出力する。この操作部２０の操作により、各種のデータの入力や、処理部１０への信号処理の開始指示、終了指示といった各種の指示入力がなされる。
【００３４】
表示部３０は、ＬＣＤ（Liquid Crystal Display）等により構成され、処理部１０から入力される表示信号に基づいた各種表示を行う表示装置である。表示部３０には、処理部１０が信号処理を行って取得した信号処理結果等が表示される。
【００３５】
通信部４０は、処理部１０の制御に従って、コンピューターシステム内部で利用される情報をインターネット等の通信ネットワークを介して外部とやりとりするための通信装置である。この通信には、有線／無線を問わず、公知の通信技術を適用可能である。
【００３６】
センサー部５０は、各種の物理量を検出するセンサーを有して構成されるセンサーユニットである。例えば、加速度センサーやジャイロセンサー、方位センサー、ＧＰＳセンサー、ＩＭＵ（Inertial Measurement Unit）センサー、ＩＮＳ（Inertial Navigation System）センサーといった各種のセンサーがこれに含まれる。
【００３７】
ＧＰＳセンサーは、ＧＰＳ衛星から受信したＧＰＳ衛星信号を利用して、ＧＰＳ衛星信号に係る各種の諸量（例えばコード位相やドップラー周波数、擬似距離、擬似距離の変化率（レンジレート））を計測したり、公知の位置計算や速度計算を行って位置や速度を計測するセンサーである。ＩＭＵセンサーは、慣性計測装置とも呼ばれ、３軸の加速度や角速度を計測するセンサーである。また、ＩＮＳセンサーは、慣性航法装置とも呼ばれ、搭載するセンサーによって自立的に位置や速度、姿勢等を計測するセンサーである。
【００３８】
記憶部６０は、処理部１０がコンピューターシステム１を制御するための各種プログラムや各種データ等を記憶する記憶装置であり、ハードディスクやフラッシュＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）といったメモリーを有して構成される。
【００３９】
記憶部６０には、プログラムとして、処理部１０により読み出され、信号処理（図３参照）として実行される信号処理プログラム６１が記憶されている。また、信号処理プログラム６１は、演算処理オブジェクトとしての複数の演算処理プログラム６１１（第１の演算処理プログラム６１１−１，第２の演算処理プログラム６１１−２，第３の演算処理プログラム６１１−３，・・・）を有する。
【００４０】
また、記憶部６０には、データとして、演算処理オブジェクト同士の入出力関係を定めたテーブルであるオブジェクト接続用テーブル６３（図５参照）が記憶されている。オブジェクト接続用テーブル６３については、詳細に後述する。
【００４１】
２．原理
次に、本実施形態における信号処理の原理（信号処理方法）について説明する。最初に、本実施形態におけるオブジェクトの構成について説明する。
【００４２】
２−１．オブジェクトの構成
図２は、本実施形態におけるオブジェクトの概念的な構成図である。オブジェクトは、処理本体３と、フロントエンド部（以下、「ＦＥ（Front End）部」と称す。）４と、バックエンド部（以下、「ＢＥ（Back End）部」と称す。）５と、を有する。ＦＥ部４及びＢＥ部５には、他のオブジェクトとの接続関係を定義可能なチャネルの機能を果たすポートが定められている。
【００４３】
処理本体３は、当該オブジェクトの演算処理の本体部分である。ＦＥ部４を介して接続元のオブジェクト（以下、「接続元オブジェクト」と称す。）から入力したデータを利用して所定の演算処理を行うプログラムが規定されている。処理本体３は、オブジェクトに応じた様々なプログラムを含んで構成されている。
【００４４】
ＦＥ部４は、接続元オブジェクトからデータを入力するインターフェース（入力インターフェース）の機能を果たす。ＦＥ部４は、接続元オブジェクトの出力ポート５Ａからデータを入力するための入力ポート４Ａを有する。また、ＦＥ部４は、データ形式照合部４１と、データ形式変換部４３とを有する。ＦＥ部４は、データ形式照合用のプログラムや、データ形式変換用のプログラムを備えて構成されており、これらのプログラムに従って、処理部１０がデータ形式の照合及び変換を行う。また、ＦＥ部４は、入力ポート毎の入力データ形式の要求仕様を記憶している。
【００４５】
データ形式照合部４１は、接続が確立されたオブジェクト同士の入出力データの形式を照合する。より具体的には、接続元オブジェクトの対応する出力ポートから出力される出力データの形式（出力形式）と、自オブジェクトの入力データとして要求するデータ形式（入力要求形式）とを照合する。
【００４６】
データ形式変換部４３は、データ形式照合部４１の照合結果に基づいて、入力データの形式を変換する。具体的には、入出力データの形式が不一致である場合に、入力データの形式を、自オブジェクトの入力要求形式に変換する。入力要求形式とは、対応する入力ポートへの入力データの要求形式、すなわち、入力データの仕様のことである。
【００４７】
ＢＥ部５は、自オブジェクトの接続先のオブジェクト（以下、「接続先オブジェクト」と称す。）に対してデータを出力するためのインターフェース（出力インターフェース）の機能を果たす。ＢＥ部５は、データを出力するための出力ポート５Ａを有する。また、ＢＥ部５は、出力ポート毎の出力データの形式を記憶している。
【００４８】
図２のオブジェクトでは、入力ポート４Ａが２個であり、出力ポート５Ａが１個であるオブジェクトを一例として示している。つまり、図２のオブジェクトでは、２個のデータを接続元オブジェクトから入力し、１個のデータを接続先オブジェクトに出力することになる。
【００４９】
本実施形態におけるオブジェクトの特徴の１つとして、入出力ポートの数が、処理本体３の演算処理内容に応じて設定可能であることが挙げられる。例えば、処理本体３の演算処理が、２個１組の入力データを複数組入力し、平均演算等する演算処理であれば、入力ポートは任意の偶数個設定可能である。また、処理本体３の演算処理が、１以上の測定位置データをもとにカルマンフィルター（ＫＦ）処理する演算処理であれば、任意の数の入力ポートを設定可能である。また、出力先として同じデータを複数の出力ポートから出力可能とするのであれば、出力ポートは任意の個数設定可能である。
【００５０】
２−２．全体的な処理の流れ
図３は、処理部１０が、記憶部６０に記憶されている信号処理プログラム６１を読み出して実行することで、コンピューターシステム１において実行される信号処理の流れを示すフローチャートである。
【００５１】
最初に、接続設定部１１が、オブジェクト接続設定を行う（ステップＡ１）。処理部１０は、接続設定により接続された各オブジェクトそれぞれについて、ループＡの処理を行う（ステップＡ３〜Ａ７）。
【００５２】
ループＡの処理では、処理部１０は、当該オブジェクトについて、データ形式判定処理を行う（ステップＡ５）。そして、処理部１０は、次のオブジェクトへと処理を移行する。接続された全てのオブジェクトについてデータ形式判定処理を行った後、処理部１０は、ループＡの処理を終了する（ステップＡ７）。その後、処理部１０は、センサー部５０からの信号取得を開始する（ステップＡ９）。
【００５３】
次いで、処理部１０は、未実行のオブジェクト（以下、「未実行オブジェクト」と称す。）それぞれについて、ループＢの処理を行う（ステップＡ１１〜Ａ１７）。ループＢの処理では、実行制御部１３は、当該未実行オブジェクトの入力データが揃ったか否かを判定する（ステップＡ１３）。そして、未だ入力データが揃っていないと判定すると（ステップＡ１３：Ｎｏ）、次の未実行オブジェクトへと処理を移行する。また、入力データが揃ったと判定したならば（ステップＡ１３；Ｙｅｓ）、当該未実行オブジェクトの識別情報をキュー１９に格納する（ステップＡ１５）。
【００５４】
これらのステップは、各オブジェクトのＦＥ部４に定義（規定）されたプログラムにより実現される。つまり、概念的には、オブジェクトのＦＥ部４により、自オブジェクトに対する入力データが揃ったか否かの判定がなされ、入力データが揃った段階で、オブジェクトのＦＥ部４により、自オブジェクトの識別情報がキュー１９に格納されるイメージとなる。
【００５５】
その後、処理部１０は、次の未実行オブジェクトへと処理を移行する。全ての未実行オブジェクトについてステップＡ１３及びＡ１５の処理を行った後、処理部１０は、ループＢの処理を終了する（ステップＡ１７）。その後、実行制御部１３は、キュー１９に格納されたオブジェクトの識別情報を取り出して、当該オブジェクトに実行権を付与する（ステップＡ１９）。そして、演算実行部１５が、実行権が付与されたオブジェクトの演算を実行する（ステップＡ２１）。
【００５６】
次いで、処理部１０は、処理を終了するか否かを判定し（ステップＡ２３）、まだ終了しないと判定した場合は（ステップＡ２３；Ｎｏ）、ステップＡ１１に戻る。また、処理を終了すると判定した場合は（ステップＡ２３；Ｙｅｓ）、処理部１０は、信号処理を終了する。
【００５７】
次に、各論として、図３のフローチャートの各ステップで行われる処理について、具体例を挙げながら詳細に説明する。
【００５８】
２−３．オブジェクトの接続設定
図４は、図３のステップＡ１におけるオブジェクトの接続設定の説明図である。ここでは、それぞれの演算処理プログラム６１１に対応する演算処理オブジェクトとして、オブジェクトＡ〜Ｆの６種類のオブジェクトが用意されている場合を例に挙げて説明する。
【００５９】
図５は、記憶部６０に記憶されたオブジェクト接続用テーブル６３であって、図４（Ｂ）に対応する接続用テーブルの一例である。オブジェクト接続用テーブル６３には、接続元オブジェクト６３１と、接続先オブジェクト６３３と、が対応付けて記憶されている。
【００６０】
接続元オブジェクト６３１には、当該接続元オブジェクトの識別情報と、当該接続元オブジェクトのデータが出力されるポート（出力ポート）の番号とが定められている。同様に、接続先オブジェクト６３３には、当該接続先オブジェクトの識別情報と、当該接続先オブジェクトのデータが入力されるポート（入力ポート）の番号とが定められている。
【００６１】
図５のオブジェクト接続用テーブル６３によれば、（１）オブジェクトＡの出力ポート“１”とオブジェクトＢの入力ポート“１”とが接続されること、（２）オブジェクトＢの出力ポート“１”とオブジェクトＣの入力ポート“１”とが接続されること、（３）オブジェクトＤの出力ポート“１”とオブジェクトＢの入力ポート“２”とが接続されること、（４）オブジェクトＤの出力ポート“２”とオブジェクトＣの入力ポート“２”とが接続されること、が定められている。
【００６２】
図５のオブジェクト接続用テーブル６３に従って、図４（Ａ）のオブジェクトＡ〜Ｆを接続すると、図４（Ｂ）のようになる。各オブジェクトにおいて、左端部の三角形が入力ポート４Ａを示し、右端部の三角形が出力ポート５Ａを示す。また、各ポートには、上から順に若い番号が割り当てられているものとする。
【００６３】
図５のオブジェクト接続用テーブル６３では、オブジェクトＡ〜Ｆの全てについて入出力関係が定められているわけではなく、オブジェクトＥ及びＦについては入出力関係が定められていない。その結果、図４（Ｂ）の接続設定では、オブジェクトＥ及びＦは、他の何れのオブジェクトとも接続されていないことがわかる。複数のオブジェクトのうち、信号処理の目的や用途等に応じて必要とするオブジェクト（信号処理に必要なオブジェクト）のみを選択し、選択したオブジェクト同士の接続を確立する点が、本実施形態の特徴の１つである。
【００６４】
２−４．データ形式判定
図６は、図３のステップＡ５において実行されるデータ形式判定処理の流れを示すフローチャートである。処理の実行主体は実際には処理部１０であるが、ここではオブジェクトのＦＥ部４の概念的な機能部であるデータ形式照合部４１及びデータ形式変換部４３を、データ形式判定処理の処理主体として説明する。
【００６５】
先ず、データ形式照合部４１は、当該オブジェクトの各入力ポートそれぞれについて、ループＣの処理を実行する（ステップＢ１〜Ｂ１１）。ループＣの処理では、データ形式照合部４１は、当該入力ポートにおける入出力データの形式を照合する（ステップＢ３）。具体的には、当該入力ポートの入力要求形式と、接続元オブジェクトの対応する出力ポートの出力形式とを照合する。
【００６６】
本実施形態では、データの「演算型」や「サイズ」、「フォーマット」といった要素を包括した概念を、データの「形式」と定義して説明する。つまり、ステップＢ３の照合では、入出力データの「演算型」、「サイズ」、「フォーマット」といった要素を個別に照合することになる。
【００６７】
「演算型」は、数学的な演算方式に基づくデータの型であり、例えば「スカラー型」や「ベクトル型」、「マトリックス型」といった演算型がこれに含まれる。「スカラー型」は１次元の値（スカラー）を取り扱うための型であり、「ベクトル型」は多次元の値（ベクトル）を取り扱うための型である。また、「マトリックス型」は行列で表される値（マトリックス）を取り扱うための型である。
【００６８】
「サイズ」は、いわゆるデータサイズであり、例えばビット（bit）やバイト（byte）といった情報量の単位で表される。「フォーマット」は、いわゆるデータの書式（方式）であり、例えば整数型や浮動小数点型（単精度型，倍精度型）といったデータ型や、符号付数値表現といったデータのフォーマットがこれに含まれる。
【００６９】
次いで、データ形式照合部４１は、照合結果を判定し（ステップＢ５）、照合結果が一致であると判定した場合は（ステップＢ５；ＯＫ）、次の入力ポートへと処理を移行する。また、照合結果が不一致であると判定した場合は（ステップＢ５；ＮＧ）、データ形式変換部４３が、データ形式の変換が可能であるか否かを判定する（ステップＢ７）。
【００７０】
ステップＢ７においてデータ形式の変換が不可能であると判定した場合は（ステップＢ７；Ｎｏ）、データ形式変換部４３は、次の入力ポートへと処理を移行する。また、データ形式の変換が可能であると判定した場合は（ステップＢ７；Ｙｅｓ）、データ形式変換部４３が、データ形式の変換設定を行う（ステップＢ９）。そして、次の入力ポートへと処理を移行する。全ての入力ポートについてステップＢ３〜Ｂ９の処理を行うと、ループＣの処理は終了となる（ステップＢ１１）。そして、データ形式判定処理を終了する。
【００７１】
なお、ステップＢ７において、データ形式の変換が不可能であると判定した場合に（ステップＢ７；Ｎｏ）、例外処理として、オブジェクトの接続情報をユーザーに確認させるように促す処理を追加し、オブジェクト接続用テーブル６３の修正等の然るべき措置をユーザーにとらせるようにしてもよい。仕様変更等が行われた結果、接続されたオブジェクト間で、データ形式の変換が不可能な不整合が生じているにも関わらず、何らの措置もとらずに処理を継続した場合、システムに流れるデータを破壊してしまうといった不具合が発生する可能性があるためである。
【００７２】
ステップＢ９におけるデータ形式の変換設定では、接続元オブジェクトから入力ポートに入力される入力データの形式を、当該入力ポートの入力要求形式に変換する。入力データの形式変換について、データ形式のうちの「演算型」が不一致である場合を例に挙げて具体的に説明する。
【００７３】
図７は、入力ポート及び出力ポートのデータの仕様を定めた図の一例であり、図４（Ｂ）に示したオブジェクトＡ〜Ｄの接続設定例に対応する図を示している。図７に示したデータの仕様では、オブジェクトＡ〜Ｄそれぞれについて、入力ポートと、出力ポートとが対応付けられている。また、入力ポート及び出力ポートそれぞれには、当該ポートの番号と、当該ポートが取り扱うデータの種別と、当該データの演算型と、当該データの次元とが対応付けられている。
【００７４】
図４（Ｂ）の接続設定例では、オブジェクトＡの出力ポート“１”は、オブジェクトＢの入力ポート“１”に接続されている。そこで、対応するポートのデータの仕様を確認すると、オブジェクトＡの出力ポート“１”は、データの種別が「ＤＡＴＡ２」、演算型が「ベクトル」、次元が「３」である。一方、オブジェクトＢの入力ポート“１”は、データの種別が「ＤＡＴＡ２」、演算型が「ベクトル」、次元が「３」である。よって、データの仕様は互いに一致しており、データ形式の照合結果は一致となる（図６のステップＢ５；ＯＫ）。
【００７５】
次に、図４（Ｂ）の接続設定例では、オブジェクトＢの出力ポート“１”は、オブジェクトＣの入力ポート“１”に接続されている。そこで、対応するポートのデータの仕様を確認すると、オブジェクトＢの出力ポート“１”は、データの種別が「ＤＡＴＡ３」、演算型が「スカラー」、次元が「１」である。一方、オブジェクトＣの入力ポート“１”は、データの種別が「ＤＡＴＡ３」、演算型が「ベクトル」、次元が「３」である。よって、入出力データの演算型及び次元が一致しておらず、データ形式の照合結果は不一致となる（図６のステップＢ５；ＮＧ）。
【００７６】
この場合は、オブジェクトＣの入力ポート“１”の入力要求形式の演算型が「ベクトル」であるのに対し、オブジェクトＢの出力ポート“１”の出力形式の演算型が「スカラー」であるという不整合が生じていることになる。しかし、「スカラー」は、１次元の「ベクトル」とみなすこともできる。そのため、スカラーの入力データをベクトルのデータとして取り扱って演算処理を行うことは可能である。これを想定し、スカラーのデータをベクトルのデータとして取り扱う「スカラー→ベクトル」への変換用関数を、入力インターフェースであるＦＥ部４に予め埋め込んでおけばよい。そして、この変換用関数を用いて、データ形式の変換設定を行う（図６のステップＢ９）。
【００７７】
また、図４（Ｂ）の接続設定例では、オブジェクトＤの出力ポート“１”は、オブジェクトＢの入力ポート“２”に接続されている。そこで、対応するポートのデータの仕様を確認すると、オブジェクトＤの出力ポート“１”は、データの種別が「ＤＡＴＡ４」、演算型が「ベクトル」、次元が「３」である。一方、オブジェクトＢの入力ポート“２”は、データの種別が「ＤＡＴＡ４」、演算型が「マトリックス」、次元が「３×３」である。よって、入出力データの演算型及び次元が一致しておらず、データ形式の照合結果は不一致となる（図６のステップＢ５；ＮＧ）。
【００７８】
この場合は、オブジェクトＢの入力ポート“２”の入力要求形式の演算型が「マトリックス」であるのに対し、オブジェクトＤの出力ポート“１”の出力形式の演算型が「ベクトル」であるという不整合が生じていることになる。しかし、３次元の「ベクトル」は、３×１の「マトリックス」とみなすこともできる。そのため、ベクトルの入力データをマトリックスのデータとして取り扱って演算処理を行うことは可能である。これを想定し、ベクトルのデータをマトリックスのデータとして取り扱う「ベクトル→マトリックス」への変換用関数を、入力インターフェースであるＦＥ部４に予め埋め込んでおけばよい。そして、この変換用関数を用いて、データ形式の変換設定を行う（図６のステップＢ９）。
【００７９】
なお、データ形式のうちの「サイズ」や「フォーマット」の照合結果が不一致である場合についても、データ形式の変換が可能であることは勿論である。つまり、入出力データのサイズやフォーマットの照合結果が不一致である場合に、入力データのサイズやフォーマットを、入力ポートの要求するサイズやフォーマットに変換するための関数（いわゆる型変換用の関数）を予めＦＥ部４に埋め込んでおけばよい。そして、この型変換用の関数を用いて、データのサイズやフォーマットの変換設定を行う（図６のステップＢ９）。
【００８０】
２−５．オブジェクトの実行
次に、図３の信号処理のステップＡ１１〜Ａ２１におけるオブジェクトの実行手順について、具体例を挙げながら説明する。
【００８１】
図８及び図９は、オブジェクトの実行手順の説明図である。図８は、図４（Ｂ）の接続設定例におけるオブジェクトの実行順番の説明図である。図８では、オブジェクトの各入力ポートにデータが入力された状態を、ハッチングを施した太矢印で示している。また、実行可能状態及び実行中のオブジェクトを太実線で囲って示している。
【００８２】
図８（Ａ）に示すように、オブジェクトＡの入力ポート“１”にセンサー部５０から信号（検出結果のデータ）が入力されると、オブジェクトＡを実行するための入力データが揃った状態となる。同様に、オブジェクトＤの入力ポート“１”にセンサー部５０から信号が入力されると、オブジェクトＤを実行するための入力データが揃った状態となる。これにより、オブジェクトＡ及びＤは実行可能状態となり、対応する演算処理が実行される。
【００８３】
オブジェクトＡの演算処理が終了すると、図８（Ｂ）に示すように、その演算処理結果のデータが、オブジェクトＡの出力ポート“１”を介してオブジェクトＢの入力ポート“１”に出力される。なお、この状態においては、未だオブジェクトＤの演算処理は終了していないものとする。この場合、オブジェクトＢは、接続元のオブジェクトＡからはデータを入力したが、接続元のオブジェクトＤからは未だデータを入力していない状態である。従って、オブジェクトＢは未だ実行可能状態とはならない。
【００８４】
その後、オブジェクトＤの演算処理が終了すると、図８（Ｃ）に示すように、その演算処理結果のデータが、オブジェクトＤの出力ポート“１”からオブジェクトＢの入力ポート“２”に出力される。これにより、オブジェクトＢは、接続元のオブジェクトＡ及びＤの双方からデータを入力したことになり、演算を実行するための入力データが揃った状態となる。これにより、オブジェクトＢは実行可能状態となり、演算処理が実行される。
【００８５】
図９は、オブジェクトの実行制御の説明図であり、オブジェクトＡに着目した図を示している。オブジェクトＡにセンサー部５０からの信号が入力されて入力データが揃った状態になると、オブジェクトＡに対応付けられたフラグが「ＯＮ」に設定される（１）。そして、オブジェクトＡの識別情報“Ａ”がキュー１９に格納される（２）。
【００８６】
実行制御部１３は、キュー１９を監視している（３）。そして、実行制御部１３は、キュー１９に格納されたオブジェクトの識別情報をＦＩＦＯ方式で取り出して、対応するオブジェクト（オブジェクトＡ）に演算処理の実行権を与える（４）。実行権を与えられたオブジェクトＡは、演算実行部１５により実行される（５）。そして、オブジェクトＡの実行が完了すると、その実行権が実行制御部１３に返還される（６）。接続された全てのオブジェクトについて、上記の手順に従って演算が実行される。
【００８７】
３．実施例
次に、上記の原理で説明したコンピューターシステムを適用した位置算出システムの実施例について説明する。なお、本発明を適用可能な実施例が以下説明する実施例に限定されるわけでないことは勿論である。
【００８８】
３−１．第１実施例
図１０は、第１実施例における位置算出システム１００（１００Ａ，１００Ｂ）のシステム構成図である。図１０（Ａ）は第１の位置算出システム１００Ａのシステム構成を示し、図１０（Ｂ）は第２の位置算出システム１００Ｂのシステム構成を示す。位置算出システム１００は、ＧＰＳセンサー５１０からの信号に基づいて、ＧＰＳを利用した位置計算を行って位置を算出するシステムである。図１０では、オブジェクト同士を接続した矢印に、オブジェクト間でやり取りされるデータの種別及び演算型を併記する。
【００８９】
図１０（Ａ）の第１の位置算出システム１００Ａは、位置算出に係る処理を比較的簡易化し、処理負荷を低減させた位置算出用のシステムである。演算処理能力がそれほど高くない安価なＣＰＵが搭載された電子機器に適用すると好適である。それに対し、第２の位置算出システム１００Ｂは、精度の高い位置計測を目的とし、位置算出に係る処理負荷が比較的高いシステムである。演算処理能力が高い高価なＣＰＵが搭載された電子機器に適用すると好適である。位置算出の正確性は、第１の位置算出システム１００Ａよりも第２の位置算出システム１００Ｂの方が高い。
【００９０】
位置算出システム１００は、ＧＰＳセンサー５１０により計測された擬似距離を利用して位置算出を行う信号処理システムである。位置算出システム１００は、演算処理オブジェクトとして、ＬＳ位置算出オブジェクト１１０と、ＫＦ位置算出オブジェクト１２０と、位置切替オブジェクト１３０と、位置統合オブジェクト１４０とを有する。
【００９１】
ＬＳ位置算出オブジェクト１１０は、ＧＰＳ衛星との間の擬似距離を利用して、最小二乗法（ＬＳ（Least Squared））を適用した位置計算を行って位置を算出するオブジェクトである。それに対して、ＫＦ位置算出オブジェクト１２０は、ＧＰＳ衛星との間の擬似距離を利用して、カルマンフィルター（ＫＦ（Kalman Filter））を適用した位置計算を行って位置を算出するオブジェクトである。なお、最小二乗法やカルマンフィルターを利用した位置計算の手法は従来公知であるため、ここでは詳細な説明を省略する。
【００９２】
位置切替オブジェクト１３０は、入力した複数の位置を切り替えて出力するオブジェクトである。また、位置統合オブジェクト１４０は、入力した複数の位置を統合して出力するオブジェクトである。
【００９３】
図１０（Ａ）の第１の位置算出システム１００Ａでは、ＧＰＳセンサー５１０が、ＬＳ位置算出オブジェクト１１０の入力ポート“１”に接続されている。また、ＧＰＳセンサー５１０は、ＫＦ位置算出オブジェクト１２０の入力ポート“１”に接続されている。ＬＳ位置算出オブジェクト１１０の出力ポート“１”は位置切替オブジェクト１３０の入力ポート“１”に接続され、ＫＦ位置算出オブジェクト１２０の出力ポート“１”は位置切替オブジェクト１３０の入力ポート“２”に接続されている。
【００９４】
上記の接続設定によれば、ＬＳ位置算出オブジェクト１１０は、ＧＰＳセンサー５１０から入力した擬似距離（スカラー）を利用して、最小二乗法を適用した位置計算を行う。そして、演算処理結果であるＬＳ算出位置（ベクトル）を、位置切替オブジェクト１３０に出力する。また、ＫＦ位置算出オブジェクト１２０は、ＧＰＳセンサー５１０から入力した擬似距離を利用して、カルマンフィルターを適用した位置計算を行う。そして、演算処理結果であるＫＦ算出位置（ベクトル）を、位置切替オブジェクト１３０に出力する。
【００９５】
位置切替オブジェクト１３０は、ＬＳ位置算出オブジェクト１１０から入力したＬＳ算出位置（ベクトル）と、ＫＦ位置算出オブジェクト１２０から入力したＫＦ算出位置（ベクトル）とを択一的に選択する。そして、選択結果を出力位置（ベクトル）として出力ポート“１”から出力する。
【００９６】
図１０（Ｂ）の第２の位置算出システム１００Ｂでは、第１の位置算出システム１００Ａと同様に、ＧＰＳセンサー５１０は、ＬＳ位置算出オブジェクト１１０の入力ポート“１”及びＫＦ位置算出オブジェクト１２０の入力ポート“１”にそれぞれ接続されている。また、ＬＳ位置算出オブジェクト１１０の出力ポート“１”は位置統合オブジェクト１４０の入力ポート“１”に接続され、ＫＦ位置算出オブジェクト１２０の出力ポート“１”は位置統合オブジェクト１４０の入力ポート“２”に接続されている。
【００９７】
それに加えて、第２の位置算出システム１００Ｂでは、ＬＳ位置算出オブジェクト１１０の出力ポート“２”が、ＫＦ位置算出オブジェクト１２０の入力ポート“２”に接続されている。また、ＧＰＳセンサー５１０が、位置統合オブジェクト１４０の入力ポート“３”に接続されている。
【００９８】
上記の接続設定によれば、ＫＦ位置算出オブジェクト１２０は、ＧＰＳセンサー５１０から入力した擬似距離（スカラー）と、ＬＳ位置算出オブジェクト１１０から入力したＬＳ算出位置（ベクトル）とを利用してＫＦ位置計算を行う。そして、演算処理結果であるＫＦ算出位置（ベクトル）を位置統合オブジェクト１４０に出力する。
【００９９】
位置統合オブジェクト１４０は、ＬＳ位置算出オブジェクト１１０から入力したＬＳ算出位置（ベクトル）と、ＫＦ位置算出オブジェクト１２０から入力したＫＦ算出位置（ベクトル）とを統合する。この際、位置統合オブジェクト１４０は、例えば、ＧＰＳセンサー５１０からＧＰＳ衛星信号の信号強度（スカラー）を入力する。そして、信号強度に基づく重み付けを行ってＬＳ算出位置とＫＦ算出位置とを加重平均することで、２種類の位置を統合する。そして、統合結果を出力位置（ベクトル）として出力ポート“１”から出力する。
【０１００】
３−２．第２実施例
図１１は、第２実施例における位置算出システム２００（２００Ａ，２００Ｂ）のシステム構成図である。図１１（Ａ）は第１の位置算出システム２００Ａのシステム構成を示し、図１１（Ｂ）は第２の位置算出システム２００Ｂのシステム構成を示す。図１１についても、オブジェクト同士を接続した矢印に、オブジェクト同士でやり取りされるデータの種別及び演算型を併記している。
【０１０１】
位置算出システム２００は、加速度センサー５２０やジャイロセンサー５３０、方位センサー５４０といった慣性センサーからの信号を処理して、移動体の位置を算出するシステムである。位置算出システム２００は、演算処理オブジェクトとして、座標変換行列算出オブジェクト２１０と、加速度算出オブジェクト２２０と、速度算出オブジェクト２３０と、位置算出オブジェクト２４０と、速度補正オブジェクト２５０とを有する。
【０１０２】
座標変換行列算出オブジェクト２１０は、移動体の姿勢（姿勢角）に基づいて、センサーの検出座標系として予め定められた「ローカル座標系」から、移動体の移動空間を定める座標系であり、位置算出を行うための絶対的な座標系である「絶対座標系」への変換係数を含む座標変換行列を算出するオブジェクトである。
【０１０３】
座標系は適宜設定可能であるが、ローカル座標系としては、例えば機体座標系（Body Frame）を適用することができる。また、絶対座標系としては、北東下座標系として知られるＮＥＤ（North East Down）座標系を適用することができる。この場合において、各センサーは、センサーに対応付けられたローカル座標系が移動体を基準とする座標系と一致するような姿勢で移動体に固定・設置されており、各センサーは、移動体に対する諸量を検出して出力するように構成されているものとして説明する。
【０１０４】
機体座標系は、例えば移動体の前方を正とする前後方向をＸ軸（ロール軸）、右方を正とする左右方向をＹ軸（ピッチ軸）、鉛直下方を正とする上下方向をＺ軸（ヨー軸）とする三次元直交座標系である。また、ＮＥＤ座標系は、例えば北方を正とする南北方向をＮ軸、東方を正とする東西方向をＥ軸、鉛直下方を正とする高度方向をＤ軸とする三次元直交座標系である。これらの座標系を適用する場合は、座標変換行列算出オブジェクト２１０は、機体座標系からＮＥＤ座標系への座標変換行列を算出することになる。
【０１０５】
以下の説明では、ローカル座標系において定義される物理量と、絶対座標系において定義される物理量とを区別するため、各物理量を表す文言の接頭部に座標系の種類を付して説明する。また、加速度や速度、位置といった諸量は、３次元空間における多次元の値として表されるため、「ベクトル」として説明する。
【０１０６】
加速度算出オブジェクト２２０は、ローカル座標系における加速度であるローカル座標加速度を、絶対座標系における加速度である絶対座標加速度に座標変換するオブジェクトである。加速度算出オブジェクト２２０は、絶対座標加速度を算出するオブジェクトであると言える。
【０１０７】
速度算出オブジェクト２３０は、絶対座標加速度を積分することで、絶対座標系における速度である絶対座標速度を算出するオブジェクトである。
【０１０８】
位置算出オブジェクト２４０は、絶対座標速度を積分することで、絶対座標系における位置である絶対座標位置を算出するオブジェクトである。
【０１０９】
速度補正オブジェクト２５０は、移動体の移動方向に基づいて、絶対座標系における速度ベクトルである絶対座標速度ベクトルを補正するオブジェクトである。
【０１１０】
図１１（Ａ）の第１の位置算出システム２００Ａでは、加速度センサー５２０が、加速度算出オブジェクト２２０の入力ポート“１”に接続されている。また、ジャイロセンサー５３０が、座標変換行列算出オブジェクト２１０の入力ポート“１”に接続されている。座標変換行列算出オブジェクト２１０の出力ポート“１”は、加速度算出オブジェクト２２０の入力ポート“２”に接続されている。
【０１１１】
また、加速度算出オブジェクト２２０の出力ポート“１”は、速度算出オブジェクト２３０の入力ポート“１”に接続されており、速度算出オブジェクト２３０の出力ポート“１”は、位置算出オブジェクト２４０の入力ポート“１”に接続されている。
【０１１２】
上記の接続設定によれば、座標変換行列算出オブジェクト２１０は、ジャイロセンサー５３０から入力したローカル座標角速度（ベクトル）を利用して移動体の姿勢角（ベクトル）を求め、これを用いて、ローカル座標系から絶対座標系への座標変換行列（マトリックス）を算出する。そして、算出した座標変換行列（マトリックス）を加速度算出オブジェクト２２０に出力する。
【０１１３】
加速度算出オブジェクト２２０は、座標変換行列算出オブジェクト２１０から入力した座標変換行列（マトリックス）を用いて、加速度センサー５２０から入力したローカル座標加速度（ベクトル）を絶対座標加速度（ベクトル）に座標変換する。そして、座標変換の結果である絶対座標加速度（ベクトル）を速度算出オブジェクト２３０に出力する。
【０１１４】
速度算出オブジェクト２３０は、加速度算出オブジェクト２２０から入力した絶対座標加速度（ベクトル）を積分して絶対座標速度（ベクトル）を算出する。そして、算出した絶対座標速度（ベクトル）を位置算出オブジェクト２４０に出力する。
【０１１５】
位置算出オブジェクト２４０は、速度算出オブジェクト２３０から入力した絶対座標速度（ベクトル）を積分して絶対座標位置（ベクトル）を算出する。そして、算出した絶対座標位置（ベクトル）を出力する。
【０１１６】
図１１（Ｂ）の第２の位置算出システム２００Ｂでは、第１の位置算出システム２００Ａに方位センサー５４０を新たに追加するとともに、演算処理オブジェクトとして、速度補正オブジェクト２５０を新たに追加したシステムとして構成されている。つまり、第１の位置算出システム２００Ａにおいて、速度算出オブジェクト２３０により算出される絶対座標速度（ベクトル）を補正する設計変更が生じた場合を想定したシステムとなっている。
【０１１７】
第２の位置算出システム２００Ｂでは、速度算出オブジェクト２３０の出力ポート“１”が、速度補正オブジェクト２５０の入力ポート“１”に接続されている。また、方位センサー５４０が、速度補正オブジェクト２５０の入力ポート“２”に接続されている。そして、速度補正オブジェクト２５０の出力ポート“１”は、位置算出オブジェクト２４０の入力ポート“１”に接続されている。
【０１１８】
上記の接続設定によれば、速度補正オブジェクト２５０は、速度算出オブジェクト２３０から入力した絶対座標速度（ベクトル）を、方位センサー５４０から入力した移動体の移動方向（ベクトル）を用いて補正する。例えば、絶対座標速度ベクトルの大きさはそのままで、絶対座標速度ベクトルの向きを、方位センサー５４０により検出された移動方向に補正する。そして、補正結果である絶対座標補正速度（ベクトル）を位置算出オブジェクト２４０に出力する。
【０１１９】
位置算出オブジェクト２４０は、速度補正オブジェクト２５０から入力した絶対座標補正速度（ベクトル）を積分して絶対座標位置（ベクトル）を算出し、その結果を出力する。
【０１２０】
３−３．第３実施例
図１２は、第３実施例における位置算出システム３００（３００Ａ，３００Ｂ）の構成図である。図１２（Ａ）は第１の位置算出システム３００Ａのシステム構成を示し、図１２（Ｂ）は第２の位置算出システム３００Ｂのシステム構成を示す。図１２についても、オブジェクト同士を接続した矢印に、オブジェクト同士でやり取りされるデータの種別及び演算型を併記している。
【０１２１】
位置算出システム３００は、ＧＰＳセンサー５１０やＩＭＵセンサー５５０、車速センサー５６０といったセンサーからの信号を処理して、移動体の位置や速度、姿勢といった諸量を算出するシステムである。位置算出システム３００は、演算処理オブジェクトとして、ＧＰＳオブジェクト３１０と、ＩＮＳオブジェクト３２０と、統合オブジェクト３３０とを有する。
【０１２２】
ＧＰＳオブジェクト３１０は、ＧＰＳ演算を行って、移動体の位置及び速度を算出するオブジェクトである。ＩＮＳオブジェクト３２０は、慣性航法演算を行って、移動体の位置、速度及び姿勢角を算出するオブジェクトである。なお、ＧＰＳ演算単体では移動体の姿勢を算出することはできないが、慣性航法演算では、ジャイロセンサーの検出結果を利用するなどして、移動体の姿勢（姿勢角）を算出することができる。
【０１２３】
統合オブジェクト３３０は、入力した複数の位置や速度、姿勢角といった諸量を統合するオブジェクトである。
【０１２４】
図１２（Ａ）の第１の位置算出システム３００Ａでは、ＧＰＳセンサー５１０が、ＧＰＳオブジェクト３１０の入力ポート“１”及び“２”に接続されている。また、ＩＭＵセンサー５５０が、ＩＮＳオブジェクト３２０の入力ポート“１”及び“２”に接続されている。
【０１２５】
ＧＰＳオブジェクト３１０の出力ポート“１”及び“２”は、統合オブジェクト３３０の入力ポート“１”及び“２”にそれぞれ接続されている。また、ＧＰＳオブジェクト３１０の出力ポート“３”は、ＩＮＳオブジェクト３２０の入力ポート“３”に接続されている。また、ＩＮＳオブジェクト３２０の出力ポート“１”、“２”及び“３”は、統合オブジェクト３３０の入力ポート“３”、“４”及び“５”にそれぞれ接続されている。
【０１２６】
上記の接続設定によれば、ＧＰＳオブジェクト３１０が、ＧＰＳセンサー５１０から入力したコード位相（スカラー）及びドップラー周波数（スカラー）を用いて、移動体の位置（ベクトル）、速度（ベクトル）及び速度の大きさ（スカラー）を算出する。位置及び速度は第１の位置（ベクトル）及び第１の速度（ベクトル）として統合オブジェクト３３０に出力され、速度の大きさ（スカラー）はＩＮＳオブジェクト３２０に出力される。
【０１２７】
ＩＮＳオブジェクト３２０は、ＩＭＵセンサー５５０から入力した加速度（ベクトル）及び角速度（ベクトル）と、ＧＰＳオブジェクト３１０から入力した速度の大きさ（スカラー）とを用いて、移動体の位置（ベクトル）、速度（ベクトル）及び姿勢角（ベクトル）を算出する。そして、算出結果を、第２の位置（ベクトル）、第２の速度（ベクトル）及び姿勢角（ベクトル）として、統合オブジェクト３３０に出力する。
【０１２８】
統合オブジェクト３３０は、ＧＰＳオブジェクト３１０から入力した第１の位置（ベクトル）及び第１の速度（ベクトル）と、ＩＮＳオブジェクト３２０から入力した第２の位置（ベクトル）、第２の速度（ベクトル）及び姿勢角（ベクトル）とを統合する。そして、統合結果を出力位置（ベクトル）、出力速度（ベクトル）及び出力姿勢角（ベクトル）として出力する。
【０１２９】
さて、図１２（Ａ）の第１の位置算出システム３００Ａに設計変更の必要が生じ、移動体に搭載された車速センサー５６０の検出結果を利用して処理を行うことになったとする。具体的には、ＩＮＳオブジェクト３２０が、速度の大きさを、ＧＰＳオブジェクト３１０から入力するのではなく、車速センサー５６０から入力して演算処理を行うように設計変更することになったとする。
【０１３０】
この場合は、図１２（Ｂ）の第２の位置算出システム３００Ｂのように、ＧＰＳオブジェクト３１０の出力ポート“３”からＩＮＳオブジェクト３２０の入力ポート“３”への接続を削除して、車速センサー５６０からＩＮＳオブジェクト３２０の入力ポート“３”への接続を新たに確立する。これは、原理で説明したように、オブジェクト接続用テーブル６３に定められたオブジェクト同士の接続設定を書き換えることで簡単に実現できる。
【０１３１】
上記の接続設定によれば、ＩＮＳオブジェクト３２０は、ＩＭＵセンサー５５０から入力した加速度（ベクトル）及び角速度（ベクトル）と、車速センサー５６０から入力した速度の大きさ（スカラー）とを用いて、移動体の位置（ベクトル）、速度（ベクトル）及び姿勢角（ベクトル）を算出する。そして、算出結果を統合オブジェクト３３０に出力する。
【０１３２】
４．作用効果
コンピューターシステム１において、接続設定部１１により、記憶部６０に記憶されたオブジェクト接続用テーブル６３に従って、演算処理それぞれを定めた演算処理オブジェクト同士が接続設定される。そして、実行制御部１３により、接続された演算処理オブジェクト同士の入出力関係に基づいて、当該演算処理オブジェクトを実行するための入力データが揃ったか否かが判定される。そして、演算実行部１５により、入力データが揃った演算処理オブジェクトが実行される。
【０１３３】
演算処理オブジェクト同士の接続設定を行うことで、信号処理に用いる演算処理オブジェクトが決まり、演算処理オブジェクト間のデータの入出力関係が設定される。システムの一部に設計変更が生じたとしても、演算処理オブジェクトの処理本体を修正する必要はなく、信号処理に用いる演算処理オブジェクトを変更したり、演算処理オブジェクト同士の接続関係（入出力関係）を修正すれば済む。このため、システムの設計変更や仕様変更等に柔軟に対応可能となる。また、演算処理オブジェクト同士の接続関係に基づいて当該演算処理オブジェクトを実行するための入力データが揃ったか否かを判定し、入力データが揃った時点で演算処理オブジェクトを実行するようにしたことで、システム全体として誤動作が発生することを防止できる。
【０１３４】
本実施形態では、演算処理オブジェクトのフロントエンド部（ソフトウェアインターフェース）に、入出力データの形式を照合するための照合用プログラムや、入出力データの形式を変換するための変換用プログラムを含めて構成している。そのため、演算処理オブジェクト同士の接続が確立された段階で、接続元オブジェクトの出力データの形式と、接続先オブジェクトの入力データの要求形式との整合性を検証することができる。その結果、整合性がとれていない場合は、変換用プログラムを用いて、入力データの形式を入力要求形式に変換することができる。
【０１３５】
また、本実施形態では、入力データが揃った演算処理オブジェクトの識別情報がキュー１９に格納される。そして、実行制御部１３が、キュー１９を監視しながら、演算処理オブジェクトに実行権を与える。具体的には、実行条件が成立した演算処理オブジェクトから順に識別情報がキュー１９に格納され、ＦＩＦＯ方式でキュー１９から識別情報が取り出される構成としている。かかる構成により、演算処理オブジェクトの実行順番を適切に管理し、システム全体を矛盾無く動作させることが可能となる。
【０１３６】
５．変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明するが、上記の実施例と同一の構成要素については同一の符号を付して説明を省略し、上記の実施例とは異なる部分を中心に説明する。
【０１３７】
５−１．信号処理システム
上記の実施例では、加速度センサー、ジャイロセンサー、方位センサー及びＧＰＳセンサーといった各種のセンサーからの信号を処理して位置算出を行うシステム（位置算出システム）の実施例について説明した。しかし、本発明を適用可能なコンピューターシステムはこれに限られない。例えば、画像信号や音声信号などの信号処理システムに本発明を適用することも可能である。
【０１３８】
例えば、入力画像に対して色調の補正を行うオブジェクトや、顔認識を行うオブジェクト、鮮鋭化（アンシャープマスキング）や平滑化等のフィルターリング処理を行うオブジェクト、といった各種の画像処理用のオブジェクト（画像処理用のプログラム）を予め規定しておく。そして、これらの画像処理オブジェクト同士の入出力関係を設定してオブジェクトを実行することで、入力画像に対して画像処理を施して出力する画像処理システムを構築することができる。音声信号についても同様にして、音声処理システムを構築することができる。
【０１３９】
５−２．上位オブジェクト
演算処理オブジェクトを階層的に定めることとしてもよい。すなわち、ある１つの演算処理を行うオブジェクト同士を組み合わせた単位を上位オブジェクトとし、上位オブジェクト同士を接続した信号処理システムを構築することも可能である。
【０１４０】
例えば、図１０〜図１２を参照して説明した位置算出システムに着目して説明する。図１０の位置算出システム１００（１００Ａ，１００Ｂ）において、位置算出システム１００を構成する各オブジェクトは下位オブジェクトであるものとし、これらの下位オブジェクトを接続してなる位置算出システム１００全体で１つの上位オブジェクトが構成されることとしてもよい。この場合において、例えば位置算出システム１００を図１２のＧＰＳオブジェクト３１０に適用するとしたならば、図１２のＧＰＳオブジェクト３１０が上位オブジェクトとなる。
【０１４１】
同様に、図１１の位置算出システム２００（２００Ａ，２００Ｂ）において、位置算出システム２００を構成する各オブジェクトは下位オブジェクトであるものとし、これらの下位オブジェクトを接続してなる位置算出システム２００全体で１つの上位オブジェクトが構成されることとしてもよい。この場合において、例えば位置算出システム２００を図１２のＩＮＳオブジェクト３２０に適用するとしたならば、図１２のＩＮＳオブジェクト３２０が上位オブジェクトとなる。
【０１４２】
５−３．電子機器
上記の実施例における位置算出システムは、各種の電子機器に適用可能である。例えば、自動車に搭載されるナビゲーション装置に適用することとしてもよいし、携帯型ナビゲーション装置（ポータブルナビゲーション装置）に適用することとしてもよい。また、携帯型電話機やパソコン、ＰＤＡ（Personal Digital Assistant）といった電子機器についても同様に適用可能である。
【０１４３】
５−４．衛星測位システム
また、上記の実施例では、衛星測位システムとしてＧＰＳを例に挙げて説明したが、ＷＡＡＳ（Wide Area Augmentation System）、ＱＺＳＳ（Quasi Zenith Satellite System）、ＧＬＯＮＡＳＳ（GLObal NAvigation Satellite System）、ＧＡＬＩＬＥＯ等の他の衛星測位システムであってもよいことは勿論である。
【符号の説明】
【０１４４】
１  コンピューターシステム、  ３  処理本体、  ４  ＦＥ部、  ５  ＢＥ部、  １０  処理部、  ２０  操作部、  ３０  表示部、  ４０  通信部、  ５０  センサー部、  ６０  記憶部、  １００Ａ，１００Ｂ  位置算出システム、  ２００Ａ，２００Ｂ  位置算出システム、  ３００Ａ，３００Ｂ  位置算出システム
【図１】
2012159913.tif 000003
【図２】
2012159913.tif 000004
【図３】
2012159913.tif 000005
【図４】
2012159913.tif 000006
【図５】
2012159913.tif 000007
【図６】
2012159913.tif 000008
【図７】
2012159913.tif 000009
【図８】
2012159913.tif 000010
【図９】
2012159913.tif 000011
【図１０】
2012159913.tif 000012
【図１１】
2012159913.tif 000013
【図１２】
2012159913.tif 000014