(57)【要約】【課題】センサデータの取得について、負荷を軽減し、低消費電力化を図る。【解決手段】サブCPUでは、物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータが取得され、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力される。本技術は、例えば、１又は複数のサンプリング周期それぞれのタイミングで、加速度センサ等のセンサからセンサデータを取得し、アプリケーションに提供する場合に適用できる。【選択図】図１５
2014106840.tif 000002
【特許請求の範囲】
【請求項１】
物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得する取得制御を行う取得制御部と、
前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力する出力部と
を備えるデータ処理装置。
【請求項２】
前記取得制御部は、所定の基準周期の所定数倍の、１つ以上の前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
請求項１に記載のデータ処理装置。
【請求項３】
前記取得制御部は、所定の基準周期の、所定の整数のべき乗倍の前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
請求項２に記載のデータ処理装置。
【請求項４】
前記取得制御部は、所定の基準周期の、2のべき乗倍の前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
請求項３に記載のデータ処理装置。
【請求項５】
前記センサデータを取得したタイミングが該当する１つ以上の前記サンプリング周期のうちの最大のサンプリング周期を表す情報を、前記センサデータとともに出力する前記周期情報として生成する生成部をさらに備える
請求項４に記載のデータ処理装置。
【請求項６】
前記サンプリング周期を表す情報は、1ビットだけがたったビット列であり、
前記センサデータを取得したタイミングが該当する１つ以上の前記サンプリング周期それぞれを表す前記ビット列の論理和を、前記センサデータとともに出力する前記周期情報として生成する生成部をさらに備える
請求項２に記載のデータ処理装置。
【請求項７】
前記取得制御部は、前記センサデータを利用するアプリケーションが要求する前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
請求項４に記載のデータ処理装置。
【請求項８】
前記センサデータと前記周期情報とを、前記センサデータを要求するアプリケーションを実行するプロセッサに提供する
請求項４に記載のデータ処理装置。
【請求項９】
物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得し、
前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力する
ステップを含むデータ処理方法。
【請求項１０】
物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得する取得制御を行う取得制御部と、
前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力する出力部と
して、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データ処理装置、データ処理方法、及び、プログラムに関し、特に、例えば、負荷を軽減し、低消費電力化を図ることができるようにするデータ処理装置、データ処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
近年、MEMS(Micro-Elector-Mechanical Systems)技術に代表されるセンサ技術が進化し、各種の物理量をセンシングするセンサの小型化、及び、低価格化が進んでいる。かかるセンサの小型化、及び、低価格化に伴い、例えば、ディジタルカメラやスマートフォン等の携帯端末には、各種のアプリケーションで利用される多数のセンサが搭載されるようになっている。
【０００３】
例えば、ディジタルカメラでは、ジャイロセンサが搭載され、そのジャイロセンサを利用して、撮影時の手ぶれ補正が行われる。近年のディジタルカメラでは、さらに、地磁気センサや加速度センサが搭載され、ディジタルカメラの位置や姿勢、撮影の方位等を、ディジタルカメラで撮影した写真（画像）のメタデータとして記録することが行われる。
【０００４】
また、例えば、スマートフォンでは、各種のセンサが、スマートフォンの挙動等に応じて様々な応答を行うゲームその他のアプリケーションに利用されている。
【０００５】
ここで、携帯端末に搭載されるセンサとしては、上述したセンサの他、例えば、気圧センサや、照度センサ、近接センサ等がある。
【０００６】
なお、特許文献１では、センサが物理量のセンシングの結果出力する、その物理量を表すセンサデータを収集するプログラムの負荷を軽減するためのセンサデータ収集方法が提案されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第4673250号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００８】
携帯端末は、プログラムを実行し、各種の処理を行うCPU(Central Processing Unit)を有するが、携帯端末に搭載されるセンサは、CPUに接続され、CPUは、センサからセンサデータを取得するために、センサとの間で、頻繁に通信を行う。
【０００９】
センサは、高速な通信手段を有しないため、CPUにおいて、センサから所望のセンサデータを取得するためには、センサに対して、複数回の低速なアクセスを行う必要があり、CPUは、比較的長い時間、センサデータの取得に占有される。
【００１０】
近年では、携帯端末において、比較的負荷の重い画像処理や、音声処理、通信処理等を行うために、CPUは高性能化しており、かかる高性能なCPUが、センサデータの取得という単純な処理に、長時間占有されることは、効率的であるとは言い難い。
【００１１】
そして、高性能なCPUは、消費電力が大きいので、センサデータの取得のために、多くの電力が消費され、結果として、携帯端末のバッテリの持ち時間が短くなる。
【００１２】
さらに、例えば、CPUが、リアルタイム性が要求される処理を行っている場合に、センサデータを取得する処理の割り込みが頻繁に行われることは、CPUの負荷が大になり、携帯端末全体のパフォーマンスを低下させることになる。
【００１３】
本技術は、このような状況に鑑みてなされたものであり、センサデータの取得について、負荷を軽減し、低消費電力化を図ることができるようにするものである。
【課題を解決するための手段】
【００１４】
本技術の一側面のデータ処理装置、又は、プログラムは、物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得する取得制御を行う取得制御部と、前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力する出力部とを備えるデータ処理装置、又は、そのようなデータ処理装置として、コンピュータを機能させるためのプログラムである。
【００１５】
本技術の一側面のデータ処理方法は、物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得し、前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力するステップを含むデータ処理方法である。
【００１６】
以上のような一側面においては、物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータが取得される。そして、前記センサデータが、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力される。
【００１７】
なお、データ処理装置は、独立した装置であっても良いし、１つの装置を構成している内部ブロックであっても良い。
【００１８】
また、プログラムは、伝送媒体を介して伝送することにより、又は、記録媒体に記録して提供することができる。
【発明の効果】
【００１９】
本技術の一側面によれば、負荷を軽減し、低消費電力化を図ることができる
【図面の簡単な説明】
【００２０】
【図１】メインCPUがセンサデータを取得する携帯端末の構成例を示すブロック図である。
【図２】携帯端末において、メインCPU２０が、センサからセンサデータを取得し、アプリケーションに提供する処理を説明する図である。
【図３】サブCPUがセンサデータを取得する携帯端末の構成例を示すブロック図である。
【図４】携帯端末において、サブCPU３０が、センサからセンサデータを取得し、メインCPU２０を介してアプリケーションに提供する処理を説明する図である。
【図５】サンプリング周期が、1Tないし6Tのセンサデータを取得（サンプリング）するタイミングを示す図である。
【図６】サブCPU３０が、センサ１１ｎからのセンサデータをサンプリングするタイミングを示す図である。
【図７】本技術のデータ処理装置を適用した携帯端末の一実施の形態の構成例を示すブロック図である。
【図８】サンプリング周期のインデクスと、周期情報とを説明する図である。
【図９】携帯端末の処理を説明する図である。
【図１０】サブCPU４０の第１のハードウェア構成例を示すブロック図である。
【図１１】管理テーブルを示す図である。
【図１２】CPUコア４２がセンサデータ提供プログラムを実行することによりサブCPU４０で行われるセンサデータ提供処理を説明するフローチャートである。
【図１３】タイマ割り込み処理を説明するフローチャートである。
【図１４】サンプリング周期のインデクスと、周期情報とを説明する図である。
【図１５】サブCPU４０の第２のハードウェア構成例を示すブロック図である。
【発明を実施するための形態】
【００２１】
＜メインCPUがセンサデータを取得する携帯端末＞
【００２２】
図１は、メインCPUがセンサデータを取得する携帯端末の構成例を示すブロック図である。
【００２３】
図１において、携帯端末は、センサ部１０、及び、メインCPU２０を有する。
【００２４】
センサ部１０は、1個以上のN個のセンサ１１１ないし１１Ｎを有する。センサ１１ｎは（n＝1,2,・・・,N）、所定の物理量をセンシングし、その物理量を表すセンサデータを出力する。
【００２５】
ここで、図１では、センサ１１１として、加速度センサが、センサ１１２として、ジャイロセンサが、センサ１１３として、地磁気センサが、それぞれ採用されている。また、センサ１１Ｎとして、気圧センサが採用されている。
【００２６】
メインCPU２０は、後述するサブCPUに比較して、処理速度が速い高性能なCPUであり、OS(Operating System)を実行し、さらに、ゲームその他の様々なアプリケーションを実行する。
【００２７】
また、図１において、メインCPU２０は、センサ部１０に（直接）接続されており、必要なセンサ１１ｎからセンサデータを取得し、必要なアプリケーションに提供する。
【００２８】
ここで、メインCPU２０が実行するアプリケーションとしては、様々なアプリケーションがある。すなわち、メインCPU２０が実行するアプリケーションとしては、例えば、携帯端末の姿勢を検出し、画面（の長手方向）が横又は縦のうちのいずれになっているかによって、画面の縦横表示（画像の左右方向を、画面の長手方向、又は、長手方向と直交する方向に一致させる表示）を切り替えるアプリケーション（以下、第１のアプリケーションともいう）がある。
【００２９】
また、メインCPU２０が実行するアプリケーションとしては、例えば、携帯端末の画面に表示される地図の向きを実際の向きに一致させるために、ユーザが所持している携帯端末が、いずれの方角を向いているかを計測する電子コンパスのアプリケーション（以下、第２のアプリケーションともいう）がある。
【００３０】
さらに、メインCPU２０が実行するアプリケーションとしては、例えば、携帯端末を所持しているユーザの歩数を計測する歩数計のアプリケーション（以下、第３のアプリケーションともいう）がある。
【００３１】
第１ないし第３のアプリケーションは、いずれも、例えば、加速度センサとしてのセンサ１１１が出力するセンサデータを利用する。そのため、第１ないし第３のアプリケーションは、メインCPU２０に対して、加速度センサとしてのセンサ１１１が出力するセンサデータを要求する。
【００３２】
メインCPU２０は、第１ないし第３のアプリケーションを実行している場合、第１ないし第３のアプリケーションからの要求に応じ、センサ１１１から、センサデータを取得して、第１ないし第３のアプリケーションそれぞれに提供（供給）する。
【００３３】
ここで、画面の縦横表示を切り替える第１のアプリケーションは、例えば、5Hz程度の周期（周波数）で、加速度センサとしてのセンサ１１１のセンサデータを必要とする（利用する）。また、電子コンパスの第２のアプリケーションは、例えば、10Hz程度の周期で、センサ１１１のセンサデータを必要とし、歩数計の第３のアプリケーションは、例えば、20Hz程度の周期で、センサ１１１のセンサデータを必要とする。
【００３４】
以上のように、アプリケーションが必要とするセンサデータの周期（以下、サンプリング周期ともいう）は、異なっている場合がある。
【００３５】
なお、以下では、説明を簡単にするために、センサ１１１ないし１１Ｎのうちの1個のセンサ１１ｎからセンサデータを取得することとする。
【００３６】
図２は、図１の携帯端末において、メインCPU２０が、センサ１１ｎからセンサデータを取得し、アプリケーションに提供する処理を説明する図である。
【００３７】
図２では、メインCPU２０において、外部のデバイスとの間のやりとりを行うためのデバイスドライバや、入出力の管理のためのユーティリティ（プログラム）であるI/O(Input/Output)と、リソース管理その他の各種の制御を行うOSとが動作している（実行されている）。
【００３８】
さらに、図２では、メインCPU２０において、OSの管理の下、1以上のアプリケーションとしての３つのアプリケーション#1，#2、及び、#3が実行されている（動作している）。
【００３９】
いま、基準となるサンプリング周期（以下、基準周期ともいう）を、Tと表すとともに、アプリケーションが必要とするセンサデータのサンプリング周期が、基準周期の整数倍で表されることとする。
【００４０】
なお、基準周期としては、例えば、センサ１１ｎやメインCPU２０の動作クロックの周期や、その周期の整数倍等を採用することができる。
【００４１】
図２では、アプリケーション#1ないし#3は、サンプリング周期が、それぞれ、3T，4T、及び、5Tのセンサデータを必要としており、そのようなサンプリング周期のセンサデータを、OSに要求している。
【００４２】
OSは、アプリケーション#1ないし#3の要求に応じて、3T，4T、及び、5Tのサンプリング周期のタイミングで、センサ１１ｎからセンサデータを取得し、3T，4T、及び、5Tのサンプリング周期のセンサデータを、アプリケーション#1ないし#3に、それぞれ提供する。
【００４３】
ここで、以下、サンプリング周期が、k×T（kは正の整数）のセンサデータを、k×Tデータともいう。
【００４４】
アプリケーション#iに提供されるセンサデータにジッタが生じ、センサデータの間隔（サンプリング周期）にばらつきがあると、アプリケーション#iで行われる、センサデータに対する、ローパスフィルタによるフィルタリング等の波形処理に不都合が生じることがある。
【００４５】
そのため、OSは、アプリケーション#iが要求するサンプリング周期のタイミングで、センサ１１ｎから、センサデータを取得して、アプリケーション#iに提供する。
【００４６】
図２では、OSは、アプリケーション#1ないし#3から、それぞれ、サンプリング周期が3T，4T、及び、5Tのセンサデータの要求を受けているので、3Tのタイミング（3Tごとの時刻）、4Tのタイミング、及び、5Tのタイミングのそれぞれで、センサ１１ｎから、センサデータを取得する。
【００４７】
そして、OSは、3Tのタイミングでセンサ１１ｎから取得したセンサデータを、アプリケーション#1に提供し、4Tのタイミングでセンサ１１ｎから取得したセンサデータを、アプリケーション#2に提供する。また、OSは、5Tのタイミングでセンサ１１ｎから取得したセンサデータを、アプリケーション#3に提供する。
【００４８】
図１及び図２に示したように、メインCPU２０が、センサ１１ｎからセンサデータを取得する場合には、センサ１１ｎからセンサデータを取得するタイミングは、メインCPU２０で管理される。
【００４９】
したがって、メインCPU２０は、センサ１１ｎからセンサデータを取得したタイミングが、いずれのサンプリング周期のタイミングに該当するかを認識しているので、センサ１１ｎから所定のサンプリング周期のタイミングで取得したセンサデータを、そのサンプリング周期のセンサデータを要求したアプリケーションに提供することができる。
【００５０】
但し、メインCPU２０は、様々なアプリケーションを実行するため、上述のように、メインCPU２０としては、高性能なCPUが採用される。そして、図１及び図２では、かかる高性能なメインCPU２０が、センサデータの取得を行っているために、メインCPU２０の負荷が大になり、その結果、携帯端末全体の消費電力が大になる。
【００５１】
＜サブCPUがセンサデータを取得する携帯端末＞
【００５２】
図３は、サブCPUがセンサデータを取得する携帯端末の構成例を示すブロック図である。
【００５３】
なお、図中、図１の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【００５４】
図３の携帯端末は、センサ部１０、及び、メインCPU２０を有する点で、図１の場合と共通する。但し、図３の携帯端末は、サブCPU３０が新たに設けられている点で、図１の場合と相違する。
【００５５】
図３では、センサ部１０とメインCPU２０との間に、サブCPU３０が設けられている。そして、センサ部１０は、サブCPU３０に（直接）接続されており、したがって、メインCPU２０は、センサ部１０とは、（直接）接続されていない。
【００５６】
サブCPU３０は、様々なアプリケーションを実行するメインCPU２０よりも処理速度等の性能は落ちる（悪い）が、消費電力が小さいCPUであり、センサデータの取得を担当する。
【００５７】
すなわち、図３では、サブCPU３０は、メインCPU２０（が実行するアプリケーション）からの要求に応じて、必要なセンサ１１ｎからセンサデータを取得し、メインCPU２０、ひいては、センサデータを要求してきたアプリケーションに提供する。
【００５８】
したがって、図３では、メインCPU２０は、センサ１１ｎからセンサデータを取得する処理を行わずに済むので、図１及び図２の場合に比較して、メインCPU２０の負荷を軽減することができる。さらに、センサデータの取得が、消費電力が大のメインCPU２０ではなく、消費電力が小さいサブCPU３０で行われるので、携帯端末全体の低消費電力化を図ることができる。
【００５９】
図４は、図３の携帯端末において、サブCPU３０が、センサ１１ｎからセンサデータを取得し、メインCPU２０を介してアプリケーションに提供する処理を説明する図である。
【００６０】
メインCPU２０では、図２の場合と同様に、I/O及びOSが動作しており、さらに、OSの管理の下、３つのアプリケーション#1ないし#3が実行されている。
【００６１】
アプリケーション#1ないし#3は、図２の場合と同様に、サンプリング周期が、それぞれ、3T，4T、及び、5Tのセンサデータを必要とし、そのようなサンプリング周期のセンサデータを、OSに要求する。
【００６２】
OSは、アプリケーション#1ないし#3それぞれからのセンサデータの要求に応じ、I/Oを介して、サブCPU３０に、同様の要求を行う。
【００６３】
サブCPU３０は、OSからのセンサデータの要求、すなわち、アプリケーション#1ないし#3それぞれからのセンサデータの要求に応じて、3T，4T、及び、5Tのサンプリング周期のタイミングで、センサ１１ｎからセンサデータを取得し、3T，4T、及び、5Tのサンプリング周期のセンサデータを、メインCPU２０の（I/O及び）OSを介して、アプリケーション#1ないし#3に、それぞれ提供する。
【００６４】
図３及び図４では、センサデータを要求するアプリケーションを実行するメインCPU２０ではなく、センサデータの取得を、いわば専属で行うサブCPU３０が、センサ１１ｎからセンサデータを取得する。
【００６５】
サブCPU３０は、メインCPU２０に比較して性能は劣るが消費電力が小であるため、メインCPU２０がセンサデータの取得を行う場合に比較して、低消費電力化を図ることができる。
【００６６】
また、メインCPU２０は、通信速度の遅いセンサ１１ｎに（直接）アクセスせずに済むので、負荷が軽減され、画像処理や、音声処理、通信処理、その他、滑らかなユーザインターフェースを実現するための高度な処理等に、いわば専念することができる。
【００６７】
以上のように、図３及び図４の携帯端末では、アプリケーション#1ないし#3を実行するメインCPU２０ではなく、サブCPU３０が、アプリケーション#1ないし#3それぞれから要求されるセンサデータを取得する。そして、サブCPU３０は、センサ１１ｎから取得したセンサデータを、メインCPU２０に供給し、メインCPU２０において、センサデータが、アプリケーション#1ないし#3に提供される。
【００６８】
この場合、センサ１１ｎからセンサデータを取得するタイミングは、サブCPU３０で管理され、メインCPU２０は関与しない。そのため、メインCPU２０は、サブCPU３０から供給されるセンサデータが、いずれのサンプリング周期のタイミングで取得されたセンサデータであるかを認識することができず、サブCPU３０からのセンサデータを、どのアプリケーションに提供すべきであるのかが分からないことがあり得る。
【００６９】
図５は、サンプリング周期が、1T，2T，3T，4T，5T、及び、6Tのセンサデータを取得（サンプリング）するタイミングを示す図である。
【００７０】
図５において、白抜きの矢印が、1Tデータ（サンプリング周期が1Tのセンサデータ）、2Tデータ、3Tデータ、4Tデータ、5Tデータ、及び、6Tデータのそれぞれをサンプリング（取得）するタイミングを表している。
【００７１】
1Tデータについては、時間（サンプリング周期）1T=Tごとのタイミングで、センサ１１ｎから、センサデータがサンプリングされる。同様に、k×Tデータについては、時間k×Tごとのタイミングで、センサ１１ｎから、センサデータがサンプリングされる。
【００７２】
図６は、サブCPU３０が、センサ１１ｎからのセンサデータをサンプリングするタイミングを示す図である。
【００７３】
すなわち、図６は、図４に示したように、アプリケーション#1ないし#3から、それぞれ、3Tデータ、4Tデータ、及び、5Tデータ（サンプリング周期が、それぞれ、3T，4T、及び、5Tのセンサデータ）の要求があった場合の、サブCPU３０が、センサ１１ｎからのセンサデータをサンプリングするタイミングを示している。
【００７４】
サブCPU３０は、例えば、3T，4T、及び、5Tのサンプリング周期それぞれのタイミング（を表す信号）を生成し、そのタイミングで、センサ１１ｎから、センサデータをサンプリングする。
【００７５】
図６では、センサ１１ｎからセンサデータがサンプリングされるタイミングが、斜線を付した矢印で表されている。
【００７６】
図６に示すように、3T，4T、及び、5Tのサンプリング周期それぞれのタイミングは、一致する場合もあれば、一致しない場合もある。
【００７７】
したがって、サブCPU３０がセンサ１１ｎからサンプリングしたセンサデータは、3Tデータ、4Tデータ、及び、5Tデータのうちのいずれか１つのデータに該当する場合の他、3Tデータ、4Tデータ、及び、5Tデータのうちのいずれか２つのデータに該当する場合、3Tデータ、4Tデータ、及び、5Tデータのすべてに該当する場合がある。
【００７８】
サブCPU３０は、センサ１１ｎからセンサデータをサンプリングすると、そのセンサデータを、メインCPU２０に供給する。
【００７９】
サブCPU３０は、3T，4T、及び、5Tのサンプリング周期のうちの、少なくとも１つのサンプリング周期のタイミングに該当すれば、センサ１１ｎからセンサデータをサンプリングして、メインCPU２０に供給する。
【００８０】
そのため、サブCPU３０からメインCPU２０に対して、センサデータが供給されるタイミングは、図６に黒塗りの矢印で示すように、一見、ランダムなタイミングになる。
【００８１】
メインCPU２０では、以上のように、サブCPU３０から、一見、ランダムなタイミングで供給されるセンサデータについて、そのセンサデータを提供すべき（１以上の）アプリケーションを認識する必要がある。
【００８２】
ここで、図６では（後述する図８でも同様）、1Tないし6Tのサンプリング周期のタイミングすべてが一致する、ある時刻を、時刻t0として、時刻t0から、基準周期Tのm倍の時間だけ経過した時刻を、時刻tmと表してある。
【００８３】
図６において、3T，4T、及び、5Tのサンプリング周期のうちの、少なくとも１つのサンプリング周期のタイミングに該当する時刻は、時刻t0,t3,t4,t5,t6,t8,t9,t10,t12,・・・である。
【００８４】
そして、3T，4T、及び、5Tのサンプリング周期については、例えば、時刻t0は、3T，4T、及び、5Tのサンプリング周期のタイミングのすべてに該当する。
【００８５】
また、例えば、時刻t3,t6、及び、t9は、3Tのサンプリング周期のタイミングに、時刻t4及びt8は、4Tのサンプリング周期のタイミングに、時刻t5及びt10は、5Tのサンプリング周期のタイミングに、それぞれ該当する。
【００８６】
さらに、例えば、時刻t12は、3T及び4Tのサンプリング周期それぞれのタイミングに該当する。
【００８７】
メインCPU２０は、3Tのサンプリング周期のタイミングに該当する時刻にサブCPU３０から供給されたセンサデータを、3Tのサンプリング周期のセンサデータを要求したアプリケーション#1に提供しなければならない。
【００８８】
同様に、メインCPU２０は、4Tのサンプリング周期のタイミングに該当する時刻にサブCPU３０から供給されたセンサデータを、4Tのサンプリング周期のセンサデータを要求したアプリケーション#2に提供しなければならず、5Tのサンプリング周期のタイミングに該当する時刻にサブCPU３０から供給されたセンサデータを、5Tのサンプリング周期のセンサデータを要求したアプリケーション#3に提供しなければならない。
【００８９】
しかしながら、メインCPU２０では、サブCPU３０から供給されるセンサデータだけでは、そのセンサデータが、いずれのサンプリング周期のタイミングでサンプリングされたセンサデータであるかを、即座に認識することが困難である。そのため、メインCPU２０は、サブCPU３０からのセンサデータを、どのアプリケーションに提供すべきであるのかが分からないことがある。
【００９０】
メインCPU２０は、アプリケーション#1ないし#3が、それぞれ、3Tデータ、4Tデータ、及び、5Tデータを要求していることを認識しているので、サブCPU３０からセンサデータが供給されるタイミングを、ある程度の期間に亘って観測することにより、どのタイミングで供給されるセンサデータが、3T，4T、及び、5Tのうちのどのサンプリング周期のセンサデータであるのかを推定するセンサデータ推定を行うことができる。
【００９１】
しかしながら、センサデータ推定を行う場合には、メインCPU２０において、センサデータ推定の推定結果が得られるまでは、センサデータを要求したアプリケーションに対して、センサデータを提供することができない。したがって、アプリケーションは、起動後に、即座に、センサデータを利用することができない。
【００９２】
メインCPU２０において、サブCPU３０から供給されるセンサデータが、いずれのサンプリング周期のタイミングでサンプリングされたセンサデータであるかを、即座に認識する方法としては、例えば、サブCPU３０において、基準周期Tのタイミングで、センサ１１ｎからセンサデータをサンプリングし、メインCPU２０に供給する方法がある。
【００９３】
この場合、サブCPU３０からメインCPU２０に対しては、基準周期Tのタイミングで、センサデータが供給されるので、メインCPU２０は、センサ１１ｎがメインCPU２０に直接接続された図１及び図２の場合と同様に、サブCPU３０からのセンサデータが、いずれのサンプリング周期のタイミングでサンプリングされたセンサデータであるかを認識することができる。
【００９４】
しかしながら、この場合、サブCPU３０では、アプリケーションから要求されたサンプリング周期のセンサデータの他、アプリケーションから要求されていないサンプリング周期のセンサデータもサンプリングされる。さらに、サブCPU３０からメインCPU２０に対しては、アプリケーションから要求されたサンプリング周期のセンサデータの他、アプリケーションから要求されていないサンプリング周期のセンサデータも供給される。
【００９５】
したがって、メインCPU２０及びサブCPU３０のいずれにおいても、本来行う必要がない処理が行われるため、負荷が増大し、実質的な処理の効率が低下するとともに、消費電力が増加する。
【００９６】
＜本技術を適用した携帯端末の一実施の形態＞
【００９７】
図７は、本技術のデータ処理装置を適用した携帯端末の一実施の形態の構成例を示すブロック図である。
【００９８】
なお、図中、図３の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【００９９】
図７の携帯端末は、センサ部１０、及び、メインCPU２０を有する点で、図３の場合と共通する。但し、図７の携帯端末は、サブCPU３０に代えて、サブCPU４０が設けられている点で、図３の場合と相違する。
【０１００】
サブCPU４０は、図３のサブCPU３０と同様に、様々なアプリケーションを実行するメインCPU２０よりも処理速度等の性能は落ちるが、消費電力が小さいCPUであり、センサデータの取得を、少なくとも担当する。
【０１０１】
また、図３のサブCPU３０は、メインCPU２０（が実行するアプリケーション）からの要求に応じて、必要なセンサ１１ｎからセンサデータを取得し、そのセンサデータだけを、メインCPU２０に供給するが、サブCPU４０は、センサデータとともに、そのセンサデータの周期情報も、メインCPU２０に供給する。
【０１０２】
センサデータの周期情報とは、そのセンサデータをサンプリング（取得）したタイミングが該当するサンプリング周期を表す情報、すなわち、センサデータが、どのサンプリング周期のタイミングでサンプリングされたセンサデータであるのかを表す情報である。
【０１０３】
ここで、サンプリング周期には、そのサンプリング周期を表す識別情報としてのインデクス(index)を割り当て、周期情報は、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスを用いて生成することができる。
【０１０４】
図８は、サンプリング周期のインデクスと、周期情報とを説明する図である。
【０１０５】
すなわち、図８は、1T，2T，3T，4T，5T、及び、6Tのサンプリング周期それぞれで、センサデータをサンプリングするタイミングを示している。
【０１０６】
図８において、矢印が、1T，2T，3T，4T，5T、及び、6Tのサンプリング周期それぞれで、センサデータをサンプリングするタイミングを表している。
【０１０７】
サンプリング周期のインデクスとしては、例えば、シーケンシャルな整数を採用することができる。
【０１０８】
また、サンプリング周期のインデクスとしては、例えば、サンプリング周期として採用し得る周期の（総）数に等しいビット列であって、そのビット列のうちの1ビットだけがたったビット列（以下、1ビットオンビット列ともいう）を採用することができる。なお、サンプリング周期として採用し得る周期は、あらかじめ決めておくことができる。
【０１０９】
例えば、図８に示したように、サンプリング周期として、1T，2T，3T，4T，5T、及び、6Tの6個の周期を採用し得る場合において、サンプリング周期のインデクスとして、1ビットオンビット列を採用するときには、サンプリング周期のインデクスは、1ビットだけがたった6ビットのビット列となる。
【０１１０】
図８では、k×T（図８では、k=1,2,3,4,5,6）のサンプリング周期のインデクスとして、最上位ビットからkビット目がたった6ビットの1ビットオンビット列が採用されている。
【０１１１】
すなわち、図８では、1Tのサンプリング周期のインデクスとして100000が、2Tのサンプリング周期のインデクスとして010000が、3Tのサンプリング周期のインデクスとして001000が、4Tのサンプリング周期のインデクスとして000100が、5Tのサンプリング周期のインデクスとして000010が、6Tのサンプリング周期のインデクスとして000001が、それぞれ採用されている。
【０１１２】
周期情報としては、例えば、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの系列を採用することができる。
【０１１３】
ここで、例えば、図４に示したように、アプリケーション#1ないし#3から、3Tデータ、4Tデータ、及び、5Tデータ（サンプリング周期が、それぞれ、3T，4T、及び、5Tのセンサデータ）が要求された場合、サブCPU４０は、図６で説明した場合と同様にして、3T，4T、及び、5Tのサンプリング周期それぞれのタイミング（図８において、斜線を付した矢印で示すタイミング）で、センサ１１ｎから、センサデータをサンプリングする。
【０１１４】
3T，4T、及び、5Tのサンプリング周期については、図６で説明したように、それらのサンプリング周期のうちの、少なくとも１つのサンプリング周期のタイミングに該当する時刻は、時刻t0,t3,t4,t5,t6,t8,t9,t10,t12,・・・であり、かかる時刻で、サブCPU４０は、センサデータをサンプリングする。
【０１１５】
ここで、例えば、時刻t0は、3T，4T、及び、5Tのサンプリング周期のタイミングのすべてに該当する。したがって、時刻t0のセンサデータをサンプリングしたタイミングが該当するサンプリング周期は、3T，4T、及び、5Tである。
【０１１６】
このように、センサデータをサンプリングしたタイミングが該当するサンプリング周期が、3T，4T、及び、5Tである場合において、周期情報として、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの系列を採用するときには、周期情報は、例えば、3Tのサンプリング周期のインデクス001000、4Tのサンプリング周期のインデクス000100、及び、5Tのサンプリング周期のインデクス000010を並べた、6×3＝18ビットのビット列001000000100000010となる。
【０１１７】
また、例えば、時刻t3は、3Tのサンプリング周期のタイミングに該当し、したがって、時刻t3のセンサデータをサンプリングしたタイミングが該当するサンプリング周期は、3Tである。
【０１１８】
このように、センサデータをサンプリングしたタイミングが該当するサンプリング周期が、3Tである場合において、周期情報として、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの系列を採用するときには、周期情報は、例えば、3Tのサンプリング周期のインデクス001000だけを並べた、6×1＝6ビットのビット列001000となる。
【０１１９】
以上のように、周期情報として、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの系列を採用すると、センサデータをサンプリングしたタイミングが該当するサンプリング周期の数が多いほど、周期情報としてのビット列が大になる。
【０１２０】
そこで、サンプリング周期のインデクスとして、1ビットオンビット列を採用する場合には、周期情報としては、例えば、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの論理和を採用することができる。
【０１２１】
この場合、例えば、時刻t0でサンプリングされるセンサデータのように、センサデータをサンプリングしたタイミングが該当するサンプリング周期が、3T，4T、及び、5Tであるときには、周期情報は、3Tのサンプリング周期のインデクス001000、4Tのサンプリング周期のインデクス000100、及び、5Tのサンプリング周期のインデクス000010の論理和である6ビットのビット列001110となる。
【０１２２】
また、例えば、時刻t3でサンプリングされるセンサデータのように、センサデータをサンプリングしたタイミングが該当するサンプリング周期が、3Tであるときには、周期情報は、3Tのサンプリング周期のインデクス001000に等しい6ビットのビット列001000となる。
【０１２３】
アプリケーション#1ないし#3から、3Tデータ、4Tデータ、及び、5Tデータがそれぞれ要求されている場合、サブCPU４０は、3T，4T、及び、5Tのサンプリング周期のうちの、少なくとも１つのサンプリング周期のタイミングに該当すれば、センサ１１ｎからセンサデータをサンプリングして、メインCPU２０に供給する。
【０１２４】
この場合、サブCPU４０からメインCPU２０に対して、センサデータが供給されるタイミングは、図８に黒塗りの矢印で示すように、一見、ランダムなタイミングになる。
【０１２５】
但し、サブCPU４０は、図８に示すように、メインCPU２０に対して、センサデータとともに、そのセンサデータの周期情報も供給する。
【０１２６】
したがって、メインCPU２０では、サブCPU４０から、一見、ランダムなタイミングで供給されるセンサデータについて、そのセンサデータを提供すべき（１以上の）アプリケーションを、周期情報に基づいて、容易に認識することができる。
【０１２７】
すなわち、図８において、例えば、時刻t12は、3T及び4Tのサンプリング周期のタイミングに該当するので、時刻t12において、サブCPU４０は、センサ１１ｎからセンサデータをサンプリングする。
【０１２８】
時刻t12において、センサデータをサンプリングしたタイミングが該当するサンプリング周期は、3T及び4Tであるので、サブCPU４０は、3Tのサンプリング周期のインデクス001000と、4Tのサンプリング周期のインデクス000100との論理和である6ビットのビット列001100を、周期情報として生成する。
【０１２９】
そして、サブCPU４０は、時刻t12においてサンプリングしたセンサデータとともに、周期情報001100を、メインCPU２０に供給する。
【０１３０】
この場合、サブCPU４０からの周期情報001100は、最上位ビットから3ビット目と4ビット目がたっているので、メインCPU２０は、サブCPU４０からのセンサデータが、3Tデータと4Tデータであることを、容易に認識することができる。
【０１３１】
その結果、メインCPU２０は、サブCPU４０からの、3Tデータ及び4Tデータとしてのセンサデータを、3Tデータを要求したアプリケーション#1、及び、4Tデータを要求したアプリケーション#2にそれぞれ提供することができる。
【０１３２】
以上のように、サブCPU４０では、センサ１１ｎからセンサデータをサンプリングし、そのセンサデータを、周期情報とともに、メインCPU２０に供給するので、メインCPU２０は、センサデータがサンプリングされたタイミングを管理せずに、サブCPU４０からの周期情報を参照するだけで、センサデータをサンプリングしたタイミングが該当するサンプリング周期を認識することができる。
【０１３３】
さらに、上述した、サブCPU４０において、基準周期Tのタイミングで、センサ１１ｎからセンサデータをサンプリングし、メインCPU２０に供給する場合のように、サブCPU４０において、アプリケーションから要求されたサンプリング周期のセンサデータの他に、アプリケーションから要求されていないサンプリング周期のセンサデータがサンプリングされることはなく、サブCPU４０からメインCPU２０に対して、アプリケーションから要求されたサンプリング周期のセンサデータの他に、アプリケーションから要求されていないサンプリング周期のセンサデータが供給されることもない。
【０１３４】
したがって、サブCPU４０において、基準周期Tのタイミングで、センサ１１ｎからセンサデータをサンプリングし、メインCPU２０に供給する場合に比較して、センサデータの取得（サンプリング及び供給）について、負荷を軽減し、低消費電力化を図ることができる。
【０１３５】
また、サブCPU４０は、メインCPU２０（が実行するアプリケーション）からの要求に応じて、センサ１１ｎからセンサデータをサンプリングし、そのセンサデータを、周期情報とともに、メインCPU２０に供給するので、メインCPU２０が要求するセンサデータの変更に対して、ロバストに対応することができる。
【０１３６】
すなわち、例えば、メインCPU２０が、所定のサンプリング周期（既に提供が行われているセンサデータのサンプリング周期とは異なるサンプリング周期）のセンサデータの提供（供給）を新たに要求した場合には、サブCPU４０は、その所定のサンプリング周期のタイミングでも、センサデータのサンプリングを開始する。そして、サブCPU４０は、既に提供されているセンサデータのサンプリング周期のインデクスと、所定のサンプリング周期とから、新たな周期情報を生成して、その新たな周期情報と、サンプリングによって得られるセンサデータとを、メインCPU２０に提供することを、即座に開始することができる。
【０１３７】
また、例えば、メインCPU２０が、既に提供されているサンプリング周期のセンサデータのうちの所定のサンプリング周期のセンサデータの提供の解除を要求した場合には、サブCPU４０は、その所定のサンプリング周期のタイミングでのセンサデータのサンプリングを停止し、まだ提供の解除が要求されていないセンサデータのサンプリング周期のインデクスと、所定のサンプリング周期とから、新たな周期情報を生成して、その新たな周期情報と、まだ提供の解除が要求されていないサンプリング周期のセンサデータとを、メインCPU２０に提供することを、即座に開始することができる。
【０１３８】
さらに、サンプリング周期のインデクスとして、1ビットオンビット列を採用するとともに、周期情報として、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの論理和を採用することにより、サブCPU４０からメインCPU２０に提供されるセンサデータのオーバヘッドとしての周期情報を、サンプリング周期のインデクスである1ビットオンビット列と同一のデータ量に抑えることができる。その結果、センサデータの他に、周期情報をやりとりすることによる、メインCPU２０及びサブCPU４０の負荷及び消費電力の増大を抑制することができる。
【０１３９】
図９は、図７の携帯端末の処理を説明する図である。
【０１４０】
図９では、メインCPU２０において、アプリケーション#1ないし#3が実行されている。そして、ステップＳ１１において、アプリケーション#1が、3Tデータの提供を、OSに要求し、ステップＳ２１において、アプリケーション#2が、4Tデータの提供を、OSに要求している。さらに、ステップＳ３１において、アプリケーション#3が、5Tデータの提供を、OSに要求している。
【０１４１】
OSは、アプリケーション#1からの3Tデータの提供の要求を受信し、ステップＳ４１において、アプリケーション#1からの3Tデータの提供の要求に応じて、3Tデータの提供を、サブCPU４０に要求する。
【０１４２】
また、OSは、アプリケーション#2からの4Tデータの提供の要求、及び、アプリケーション#3からの5Tデータの提供の要求を受信する。
【０１４３】
そして、OSは、ステップＳ４２において、アプリケーション#2からの4Tデータの提供の要求に応じて、4Tデータの提供を、サブCPU４０に要求する。さらに、OSは、ステップＳ４３において、アプリケーション#3からの5Tデータの提供の要求に応じて、5Tデータの提供を、サブCPU４０に要求する。
【０１４４】
サブCPU４０は、OS（メインCPU２０）からの3Tデータ，4Tデータ、及び、5Tデータの要求を受信し、その要求に応じて、3T，4T、及び、5Tのサンプリング周期それぞれのタイミング、すなわち、図８において、斜線を付した矢印で示すタイミングでの、センサ１１ｎからのセンサデータのサンプリングを開始する。
【０１４５】
サブCPU４０は、センサデータをサンプリングすると、そのセンサデータの周期情報を生成する。そして、サブCPU４０は、ステップＳ５１において、センサデータと周期情報とを、OS（メインCPU２０）に供給（送信）する。
【０１４６】
OSは、サブCPU４０からのセンサデータと周期情報とを受信し、ステップＳ４４において、その周期情報に基づいて、サブCPU４０からのセンサデータがサンプリングされたタイミングが該当するサンプリング周期を認識する。
【０１４７】
そして、OSは、ステップＳ４５において、サブCPU４０からのセンサデータを、センサデータを要求してきたアプリケーション#1ないし#3のうちの、サブCPU４０からの周期情報から認識されたサンプリング周期のセンサデータを要求してきたアプリケーションに供給する。
【０１４８】
サブCPU４０によるステップＳ５１、並びに、メインCPU２０によるステップＳ４４及びＳ４５の処理は、サブCPU４０において、センサデータがサンプリングされ、そのセンサデータの周期情報が生成されるたびに行われる。
【０１４９】
＜サブCPU４０の第１のハードウェア構成例＞
【０１５０】
図１０は、図７のサブCPU４０の第１のハードウェア構成例を示すブロック図である。
【０１５１】
図１０において、サブCPU４０は、タイマ４１、CPUコア４２、RAM(Random Access Memory)４３、ROM(Read Only Memory)４４、センサI/O４５、及び、コミュニケーションI/O４６を有する。そして、タイマ４１ないしコミュニケーションI/O４６は、バスに接続されている。
【０１５２】
タイマ４１は、時間を計時（カウント）する。
【０１５３】
CPUコア４２は、ROM４４に記憶されたプログラムを実行することにより、主として、センサデータを取得する処理、すなわち、センサ１１ｎからセンサデータをサンプリングし、メインCPU２０に供給する処理を行う。
【０１５４】
RAM４３は、CPUコア４２の動作上必要なデータ等を一時記憶する。RAM４３が記憶するデータには、後述する管理テーブルが含まれる。
【０１５５】
ROM４４は、OSや所定のアプリケーション（プログラム）等を記憶している。ROM４４に記憶されているアプリケーションには、少なくとも、センサデータを取得して提供する処理を行うためのセンサデータ提供プログラム（サブCPU４０を、センサデータを取得して提供するデータ処理装置として機能させるためのプログラム）が含まれる。
【０１５６】
センサI/O４５は、センサ１１ｎにアクセスするためのインターフェースであり、センサ１１ｎからセンサデータを受信（サンプリング）する。
【０１５７】
コミュニケーションI/O４５は、メインCPU２０との間で通信を行うためのインターフェースである。
【０１５８】
ここで、メインCPU２０は、サブCPU４０と同様に構成される。
【０１５９】
但し、メインCPU２０については、タイマ４１及びセンサI/O４５は、必須ではない。また、メインCPU２０では、少なくとも、CPUコア４２については、サブCPU４０よりも高性能な製品が用いられている。さらに、メインCPU２０では、RAM４３やROM４４については、必要に応じて、サブCPU４０よりも高性能な製品が用いられている。
【０１６０】
また、サブCPU４０では、ROM４４に代えて、フラッシュメモリ等の書き換え可能なメモリを採用することができる。ROM４４に代えて採用する書き換え可能なメモリに記憶されるプログラム（OSを含む）については、例えば、インターネット等から、コミュニケーションI/O４６を介してダウンロードしてインストールや更新を行うことができる。
【０１６１】
また、メインCPU２０及びサブCPU４０を有する携帯端末では、その携帯端末が内蔵する図示せぬハードディスク等のストレージに、インターネットやリムーバブル記録媒体から、プログラムをインストールして、メインCPU２０やサブCPU４０では、そのようにしてインストールされたプログラムを実行することができる。
【０１６２】
図１０に示したように構成されるサブCPU４０では、CPUコア４２が、ROM４４に記憶されたセンサデータ提供プログラムを実行することにより、センサ１１ｎからセンサデータをサンプリングし、そのサンプリングデータを、メインCPU２０に提供（供給）するセンサデータ提供処理が行われる。
【０１６３】
センサデータ提供処理では、サブCPU４０において、メインCPU２０からの要求に応じて、センサ１１ｎからセンサデータがサンプリングされる。さらに、サブCPU４０では、センサ１１ｎからサンプリングされたセンサデータの周期情報が生成され、センサデータとともに、メインCPU２０に提供される。
【０１６４】
センサデータ提供処理において、センサ１１ｎからのセンサデータのサンプリングや、サンプリングデータの、メインCPU２０への提供（供給）は、管理テーブルによって管理される。
【０１６５】
管理テーブルは、CPUコア４２がセンサデータ提供プログラムを実行することにより、RAM４３に展開（記憶）される。
【０１６６】
図１１は、管理テーブルを示す図である。
【０１６７】
管理テーブルには、サブCPU４０がサンプリングすることができるセンサデータのサンプリング周期が登録される。図１１では、サンプリング周期として、1T，2T，3T，4T，5T、及び、6Tの6個が登録されている。
【０１６８】
管理テーブルには、さらに、サンプリング周期に対して、インデクス(Index)、要求フラグ、初期値、及び、残カウント値が対応付けられて登録される。
【０１６９】
管理テーブルにおいて、サンプリング周期に対応付けられているインデクスは、そのサンプリング周期のインデクス（サンプリング周期を表すインデクス）である。図１１では、サンプリング周期に対して、図８で説明したのと同様の1ビットオンビット列が、サンプリング周期のインデクスとして登録されている。
【０１７０】
サンプリング周期に対応付けられている要求フラグは、そのサンプリング周期のセンサデータの提供が要求されているかどうか表す、例えば、1ビットのフラグである。所定のサンプリング周期のセンサデータの提供が要求されている場合、そのサンプリング周期に対応付けられている要求フラグはオン(on)（0及び1のうちの、例えば、1）にされる。また、所定のサンプリング周期のセンサデータの提供が要求されていない場合（センサデータの提供が解除されている場合）、そのサンプリング周期に対応付けられている要求フラグはオフ(off（0及び1のうちの、例えば、0）にされる。
【０１７１】
サンプリング周期に対応付けられている初期値は、そのサンプリング周期に対応付けられている残カウント値に設定される初期値である。すなわち、所定のサンプリング周期に対応付けられている残カウント値が0になると、その残カウント値は、所定のサンプリング周期に対応付けられている初期値に初期化される。
【０１７２】
サンプリング周期に対応付けられている残カウント値は、基準周期Tごとに、1だけデクリメントされる。この残カウント値のデクリメントにより、管理テーブルに登録されている各サンプリング周期がカウントされる。
【０１７３】
ここで、本実施の形態では、センサデータのサンプリング周期は、基準周期Tの整数倍kであるk×Tで表されるが、k×Tのサンプリング周期に対応付けられる初期値には、kが採用される。
【０１７４】
k×Tのサンプリング周期に対応付けられている残カウント値は、初期値kに初期化され、その後、基準周期Tごとに、1だけデクリメントされていく。
【０１７５】
その結果、k×Tのサンプリング周期に対応付けられている残カウント値が0になるタイミングは、k×Tのサンプリング周期のタイミングとなる。
【０１７６】
図１２は、図１０のCPUコア４２がセンサデータ提供プログラムを実行することにより、サブCPU４０で行われるセンサデータ提供処理を説明するフローチャートである。
【０１７７】
CPUコア４２は、サブCPU４０の起動後、センサデータ提供プログラムを実行し、これにより、サブCPU４０では、センサデータ提供処理が行われる。
【０１７８】
センサデータ提供処理では、管理テーブル（図１１）がRAM４３に記憶される。なお、センサデータ提供処理の開始直後では、例えば、管理テーブルの要求フラグは、すべてオフにされ、管理テーブルの残カウント値は、すべて初期値に初期化される。
【０１７９】
センサデータ提供処理では、ステップＳ７１において、CPUコア４２が、タイマ４１を起動し、これにより、タイマ４１が、基準周期Tを繰り返し計時することを開始する。
【０１８０】
その後、処理は、ステップＳ７１からステップＳ７２に進み、CPUコア４２は、（タイマ４１の起動、又は、タイマ４１による前回の基準周期Tの計時から）基準周期Tが経過したかどうかを判定する。
【０１８１】
ステップＳ７２において、基準周期Tが経過していないと判定された場合、処理は、ステップＳ７３をスキップして、ステップＳ７４に進む。
【０１８２】
また、ステップＳ７２において、基準周期Tが経過したと判定された場合、処理は、ステップＳ７２に進み、CPUコア４０は、タイマ割り込みを発生し、処理は、ステップＳ７４に進む。ここで、タイマ割り込みの発生によって、後述するタイマ割り込み処理が行われる。
【０１８３】
ステップＳ７４では、CPUコア４２は、メインCPU２０から、センサデータの提供の要求（提供要求（コマンド））、又は、センサデータの提供の解除の要求（解除要求（コマンド））があったかどうかを判定する。
【０１８４】
ステップＳ７４において、提供要求、及び、解除要求のいずれもないと判定された場合、処理は、ステップＳ７５をスキップして、ステップＳ７２に戻り、以下、同様の処理が繰り返される。
【０１８５】
また、ステップＳ７４において、提供要求、又は、解除要求があったと判定された場合、処理は、ステップＳ７５に進み、CPUコア４２は、提供要求、又は、解除要求に応じて、管理テーブルを更新して、処理は、ステップＳ７２に戻る。
【０１８６】
ここで、ステップＳ７５の管理テーブルの更新では、提供要求があった場合には、管理テーブルにおいて、提供要求によって提供が要求されたセンサデータのサンプリング周期に対応付けられている要求フラグが、センサデータの提供を表すオンに設定される。さらに、提供要求によって提供が要求されたセンサデータのサンプリング周期に対応付けられている残カウント値が、初期値に初期化される。
【０１８７】
また、解除要求があった場合には、管理テーブルにおいて、解除要求によって提供の解除が要求されたセンサデータのサンプリング周期に対応付けられている要求フラグが、センサデータの提供の解除（キャンセル）を表すオフに設定される。
【０１８８】
図１３は、図１２のステップＳ７３のタイマ割り込みの発生によって行われるタイマ割り込み処理を説明するフローチャートである。
【０１８９】
タイマ割り込み処理では、ステップＳ８１において、CPUコア４２が、管理テーブル（図１１）のすべての残カウント値を、1だけデクリメントして、処理は、ステップＳ８２に進む。
【０１９０】
ステップＳ８２では、CPUコア４２は、管理テーブルを参照することにより、（現在のタイミングが、）メインCPU２０で実行されている、いずれかのアプリケーションからセンサデータが要求されているタイミングであるかどうかを判定する。
【０１９１】
ステップＳ８２において、いずれかのアプリケーションからセンサデータが要求されているタイミングでないと判定された場合、タイマ割り込み処理を終了してリターンする。
【０１９２】
また、ステップＳ８２において、いずれかのアプリケーションからセンサデータが要求されているタイミングであると判定された場合、すなわち、管理テーブル（図１１）において、要求フラグがオンで、残カウント値が0になっているサンプリング周期（以下、該当サンプリング周期ともいう）が存在する場合、処理は、ステップＳ８３に進み、CPUコア４２は、センサI/Oを制御して、センサ１１ｎからのセンサデータを取得させて、処理は、ステップＳ８４に進む。
【０１９３】
ステップＳ８４では、CPUコア４２は、管理テーブルの該当サンプリング周期に対応付けられている残カウント値を、その該当サンプリング周期に対応付けられている初期値に初期化して、処理は、ステップＳ８５に進む。
【０１９４】
ここで、該当サンプリング周期になっているサンプリング周期は、１つのサンプリング周期であるとは限らず、複数のサンプリング周期が該当サンプリング周期になっていることがある。複数のサンプリング周期が該当サンプリング周期になっている場合、ステップＳ８４では、その、該当サンプリング周期になっている複数のサンプリング周期それぞれについて、残カウント値が初期化される。
【０１９５】
ステップＳ８５では、CPUコア４２は、管理テーブルを参照することにより、該当サンプリング周期（になっているサンプリング周期）のインデクスを認識し、そのインデクスの論理和を、ステップＳ８３で取得されたセンサデータの周期情報として求め、処理は、ステップＳ８６に進む。
【０１９６】
ステップＳ８６では、CPUコア４２は、例えば、ステップＳ８３で取得されたセンサデータに、ステップＳ８５で生成された周期情報を付加することにより、1個のデータにまとめ、コミュニケーションI/O４６を制御することにより、メインCPU２０に送信させて、タイマ割り込み処理を終了してリターンする。
【０１９７】
＜インデクス、及び、周期情報の他の例＞
【０１９８】
図１４は、サンプリング周期のインデクスと、周期情報とを説明する図である。
【０１９９】
図８では、サンプリング周波数として、基準周期Tの、1ずつ増加する整数倍kの周期である1T，2T，3T，4T，5T、及び、6Tを採用したが、サンプリング周期としては、その他、例えば、基準周期Tの、2のべき乗倍2kの周期である、例えば、20×T，21×T，22×T，23×T，24×T、及び、25×Tを採用することができる。
【０２００】
図１４は、基準周期Tの、2のべき乗倍2kの周期である20×T，21×T，22×T，23×T，24×T、及び、25×Tそれぞれをサンプリング周期とする場合の、センサデータをサンプリングするタイミング（図中、矢印で示す部分）を示している。
【０２０１】
図１４では、20×Tないし25×Tのサンプリング周期のタイミングすべてが一致する、ある時刻を、時刻t0として、時刻t0から、基準周期Tのm倍の時間だけ経過した時刻を、時刻tmと表してある。
【０２０２】
図１４のように、基準周期Tの、2のべき乗倍2kの周期を、サンプリング周期に採用する場合には、サンプリング周期を、例えば、1T,2T,3T,4T,5T,6Tのように、基準周期T単位で指定することは困難になるが、図８のように、基準周期Tの、1ずつ増加する整数倍kの周期を、サンプリング周期に採用する場合に比較して、例えば、20×Tないし25×Tのような、広範囲な周期の中から、サンプリング周期を指定することが可能となる。
【０２０３】
図１４では、サンプリング周期のインデクスとして、例えば、シーケンシャルな整数が採用されている。
【０２０４】
すなわち、図１４では、例えば、20×Tのサンプリング周期のインデクスとして1が、21×Tのサンプリング周期のインデクスとして2が、22×Tのサンプリング周期のインデクスとして3が、23×Tのサンプリング周期のインデクスとして4が、24×Tのサンプリング周期のインデクスとして5が、25×Tのサンプリング周期のインデクスとして6が、それぞれ採用されている。
【０２０５】
サンプリング周期のインデクスとして、シーケンシャルな整数を採用する場合、周期情報としては、例えば、図８で説明した、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの系列を採用することができる。
【０２０６】
この場合、図１４において、例えば、時刻t8は、20×T，21×T，22×T、及び、23×Tのサンプリング周期それぞれのタイミングに該当し、したがって、時刻t8に、センサデータがサンプリングされたときには、そのセンサデータの周期情報は、20×Tのサンプリング周期のインデクス1、21×Tのサンプリング周期のインデクス2、22×Tのサンプリング周期のインデクス3、及び、23×Tのサンプリング周期のインデクス4を並べた1234となる。
【０２０７】
ところで、図１４に示したように、基準周期Tの、2のべき乗倍2kの周期である20×Tないし25×Tを、サンプリング周期に採用する場合には、基準周期Tの、ある2のべき乗倍2Aのサンプリング周期2A×Tのタイミングは、必ず、基準周期Tの、2A未満の2のべき乗倍2Bのサンプリング周期2B×Tのタイミングにもなっている（A＞B）。
【０２０８】
すなわち、図１４において、例えば、時刻t8は、サンプリング周期23×Tのタイミングに該当するが、サンプリング周期23×T未満のサンプリング周期20×T，21×T，22×Tそれぞれのタイミングにも、必ず該当する。
【０２０９】
また、例えば、時刻t4は（時刻t12及びt20も同様）は、サンプリング周期22×Tのタイミングに該当するが、サンプリング周期22×T未満のサンプリング周期20×T，21×Tそれぞれのタイミングにも、必ず該当する。
【０２１０】
以上のように、基準周期Tの、2のべき乗倍2kの周期である20×Tないし25×Tを、サンプリング周期に採用する場合には、あるサンプリング周期2A×Tのタイミングは、必ず、そのサンプリング周期2A×T未満のサンプリング周期2B×Tのタイミングにもなっている。したがって、周期情報として、センサデータをサンプリングしたタイミングが該当するサンプリング周期のインデクスの系列を採用するときには、その周期情報としてのサンプリング周期のインデクスの系列は、最大のサンプリング周期のインデクスに圧縮することができる。
【０２１１】
すなわち、例えば、上述したように、時刻t8は、20×T，21×T，22×T、及び、23×Tのサンプリング周期それぞれのタイミングに該当するので、時刻t8に、センサデータがサンプリングされたときには、そのセンサデータの周期情報は、20×Tのサンプリング周期のインデクス1、21×Tのサンプリング周期のインデクス2、22×Tのサンプリング周期のインデクス3、及び、23×Tのサンプリング周期のインデクス4を並べた1234となる。
【０２１２】
この周期情報1234は、時刻t8が該当するサンプリング周期20×T，21×T，22×T、及び、23×T、すなわち、時刻t8にセンサデータがサンプリングされた場合に、そのセンサデータがサンプリングされたタイミングが該当するサンプリング周期20×T，21×T，22×T、及び、23×Tのうちの最大のサンプリング周期23×Tのインデクス4に圧縮することができる。
【０２１３】
メインCPU２０が、センサデータとともに周期情報4を受信した場合、その周期情報4から、センサデータがサンプリングされたタイミングが、インデクスが4のサンプリング周期23×Tのタイミングであること、すなわち、センサデータが、インデクスが4のサンプリング周期23×Tのタイミングでサンプリングされたセンサデータであることを認識することができる。
【０２１４】
さらに、センサデータがサンプリングされたタイミングが、サンプリング周期23×Tのタイミングであることから、そのセンサデータがサンプリングされたタイミングが、サンプリング周期23×T未満のサンプリング周期20×T，21×T、及び、22×Tそれぞれのタイミングでもあることを認識することができる。
【０２１５】
以上のように、基準周期Tの、2のべき乗倍2kの周期を、サンプリング周期に採用し、周期情報を、センサデータがサンプリングされたタイミングが該当する１つ以上のサンプリング周期のうちの最大のサンプリング周期のインデクスに圧縮する場合には、各時刻で、センサデータがサンプリングされたときの周期情報は、図１４に示すようになる。
【０２１６】
すなわち、サンプリング周期20×Tのタイミングにのみ該当する時刻t1等でサンプリングされるセンサデータの周期情報は、サンプリング周期20×T（のうちの最大のサンプリング周期20×T）のインデクス1となる。
【０２１７】
また、サンプリング周期20×T及び21×Tのタイミングにのみ該当する時刻t2等でサンプリングされるセンサデータの周期情報は、サンプリング周期20×T及び21×Tのうちの最大のサンプリング周期21×Tのインデクス2となる。
【０２１８】
さらに、サンプリング周期20×T，21×T、及び、22×Tのタイミングにのみ該当する時刻t4等でサンプリングされるセンサデータの周期情報は、サンプリング周期20×Tないし22×Tのうちの最大のサンプリング周期22×Tのインデクス3となる。
【０２１９】
また、サンプリング周期20×T，21×T，22×T、及び、23×Tのタイミングにのみ該当する時刻t8等でサンプリングされるセンサデータの周期情報は、サンプリング周期20×Tないし23×Tのうちの最大のサンプリング周期23×Tのインデクス4となる。
【０２２０】
さらに、サンプリング周期20×T，21×T，22×T，23×T、及び、24×Tのタイミングにのみ該当する時刻t16等でサンプリングされるセンサデータの周期情報は、サンプリング周期20×Tないし24×Tのうちの最大のサンプリング周期24×Tのインデクス5となる。
【０２２１】
そして、サンプリング周期20×T，21×T，22×T，23×T，24×T，25×Tのタイミングのすべてに該当する時刻t0等でサンプリングされるセンサデータの周期情報は、サンプリング周期20×Tないし25×Tのうちの最大のサンプリング周期25×Tのインデクス6となる。
【０２２２】
なお、図１４では、センサデータを取得（サンプリング）するサンプリング周期として、基準周期Tの、2のべき乗倍2kの周期を採用したが、サンプリング周期としては、その他、例えば、2以外の3や5等の所定の整数のべき乗倍の周期を採用することができる。
【０２２３】
また、図１４では、サンプリング周期のインデクスとして、シーケンシャルな整数を採用したが、図１４でも、図８の場合と同様に、1ビットオンビット列を、サンプリング周期のインデクスとして採用することができる。
【０２２４】
＜サブCPU４０の第２のハードウェア構成例＞
【０２２５】
図１５は、図７のサブCPU４０の第２のハードウェア構成例を示すブロック図である。
【０２２６】
なお、図中、図１０の場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【０２２７】
図１５において、サブCPU４０は、CPUコア４２、RAM４３、ROM４４、センサI/O４５、及び、コミュニケーションI/O４６を有する点で、図１０の場合と共通する。
【０２２８】
但し、図１５では、サブCPU４０は、タイマ４１を有しておらず、センサデータ取得制御部５０、周期情報生成部５６、及び、周期情報付加部５７を、新たに有する点で、図１０の場合と相違する。
【０２２９】
ここで、図１０のサブCPU４０では、ソフトウェアにより、すなわち、CPUコア４２がセンサデータ提供プログラムを実行することにより、アプリケーションからセンサデータが要求されているタイミングの判定（図１３のステップＳ８２）、すなわち、センサデータのサンプリングのタイミングの生成が行われるが、センサデータのサンプリングのタイミングの生成は、ハードウェアにより行うことができる。
【０２３０】
図１５では、センサデータのサンプリングのタイミングの生成が、ハードウェアであるセンサデータ取得制御部５０（を構成する後述するタイミング生成部５１、及び、カウンタ制御部５２）により行われる。
【０２３１】
また、図１０のサブCPU４０では、ソフトウェアにより、センサI/O４５によるセンサデータの取得が制御されるが（図１３のステップＳ８３）、センサI/O４５によるセンサデータの取得の制御は、ハードウェアにより行うことができる。
【０２３２】
図１５では、センサI/O４５によるセンサデータの取得の制御が、ハードウェアであるセンサデータ取得制御部５０（を構成する後述するセンサI/O制御部５３）により行われる。
【０２３３】
さらに、図１０のサブCPU４０では、ソフトウェアにより、センサデータに、そのセンサデータの周期情報が付加されるが、センサデータへの、周期情報の付加は、ハードウェアにより行うことができる。
【０２３４】
図１５では、ハードウェアである周期情報付加部５７により、センサデータへの、周期情報の付加が行われ、周期情報が付加されたセンサデータが、RAM４３に記憶される。
【０２３５】
以上のように、図１０において、ソフトウェアで行われている処理の一部を、ハードウェアで行うことにより、その分、CPUコア４２の負荷を軽減し、低消費電力化を図ることができる。
【０２３６】
図１５において、センサデータ取得制御部５０は、メインCPU２０（アプリケーション）から要求されたサンプリング周期のタイミングで、センサ１１ｎから、センサデータを取得するように、センサI/O４５を制御する。
【０２３７】
すなわち、センサデータ取得制御部５０は、タイミング生成部５１、カウンタ制御部５２、及び、センサI/O制御部５３を有する。
【０２３８】
タイミング制御部５１は、基準周期Tのクロックを生成し、カウンタ制御部５２に供給する。
【０２３９】
カウンタ制御部５２は、バスに接続されており、カウンタ制御部５２には、コミュニケーションI/O４６及びバスを介して、メインCPU２０からの、センサデータの提供の要求（提供要求）や、センサデータの提供の解除の要求（解除要求）が供給される。
【０２４０】
カウンタ制御部５２は、図示せぬカウンタを内蔵しており、そのカウンタによって、タイミング制御部５１からのクロックをカウントする。
【０２４１】
そして、カウンタ制御部５２は、カウンタのカウント値に基づいて、メインCPU２０から提供要求があり、かつ、まだ解除要求がないセンサデータのサンプリング周期のタイミングを表すタイミング信号を生成し、センサI/O制御部５３に供給する。
【０２４２】
さらに、カウンタ制御部５２は、タイミング信号が表すタイミングが該当するサンプリング周期のインデクスを、周期情報生成部５６に供給する。
【０２４３】
センサI/O制御部５３は、カウンタ制御部５２から供給されるタイミング信号に従って、センサI/O４５を制御することにより、センサ１１ｎから、センサデータを取得させる。
【０２４４】
ここで、図１５では、センサI/O４５は、センサI/O制御部５３の制御に従って、センサデータを取得（サンプリング）するが、そのセンサデータは、センサI/O４５から、周期情報付加部５７に供給される。
【０２４５】
周期情報生成部５６は、カウンタ制御部５２からのサンプリング周期のインデクスから、周期情報を生成し、周期情報付加部５７に供給する。
【０２４６】
ここで、周期情報としては、上述したように、サンプリング周期のインデクスの系列や、インデクスの論理和を採用することができる。また、周期情報として、サンプリング周期のインデクスの系列を採用する場合には、その周期情報は、上述したように圧縮可能であれば、圧縮することができる。
【０２４７】
周期情報付加部５７は、センサI/O４５から供給されるセンサデータを、周期情報生成部５６から供給される周期情報とともに出力する出力部として機能する。
【０２４８】
すなわち、周期情報付加部５７は、センサI/O４５から供給されるセンサデータに、周期情報生成部５６から供給される周期情報を付加する。そして、周期情報付加部５７は、周期情報が付加されたセンサデータ（以下、周期情報付きセンサデータともいう）を、バスを介して、RAM４３に供給して記憶させる。
【０２４９】
ここで、RAM４３に記憶された周期情報付きセンサデータは、バスを介して、コミュニケーションI/O４６から、メインCPU２０に送信される。
【０２５０】
以上のように構成されるサブCPU４０では、タイミング制御部５１は、基準周期Tのクロックを生成し、カウンタ制御部５２に供給する。
【０２５１】
カウンタ制御部５２は、内蔵する図示せぬカウンタによって、タイミング制御部５１からのクロックのカウントを開始する。
【０２５２】
そして、カウンタ制御部５２は、バスを介して、メインCPU２０から、センサデータの提供の要求（提供要求）があると、カウンタのカウント値に基づいて、メインCPU２０から提供要求があったセンサデータのサンプリング周期のタイミングを表すタイミング信号を生成し、センサI/O制御部５３に供給する。
【０２５３】
さらに、カウンタ制御部５２は、タイミング信号が表すタイミングが該当するサンプリング周期のインデクスを、周期情報生成部５６に供給する。
【０２５４】
センサI/O制御部５３は、カウンタ制御部５２から供給されるタイミング信号に従って、センサI/O４５を制御することにより、センサ１１ｎから、センサデータを取得させる。
【０２５５】
センサI/O４５で取得されたセンサデータは、センサI/O４５から、周期情報付加部５７に供給される。
【０２５６】
一方、周期情報生成部５６は、カウンタ制御部５２からのサンプリング周期のインデクスから、周期情報を生成し、周期情報付加部５７に供給する。
【０２５７】
周期情報付加部５７は、センサI/O４５からのセンサデータに、周期情報生成部５６からの周期情報を付加し、その結果得られる周期情報付きセンサデータを、バスを介して、RAM４３に転送して記憶させる。
【０２５８】
周期情報付加部５７は、周期情報付きセンサデータの、RAM４３への転送を完了すると、その旨を表す転送完了通知を、CPUコア４２に送信する。
【０２５９】
CPUコア４２は、周期情報付加部５７からの転送完了通知を受信すると、コミュニケーションI/O４６を制御することにより、RAM４３に記憶された周期情報付きセンサデータを、メインCPU２０に送信させる。
【０２６０】
ここで、本明細書において、コンピュータ（プロセッサ）（CPU）がプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０２６１】
また、プログラムは、１のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２６２】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【０２６３】
例えば、本実施の形態では、サンプリング周期と、そのサンプリング周期のインデクスとの対応関係が、固定であり（変動せず）、かつ、その固定の対応関係をメインCPU２０が認識していることを、暗黙の前提としているが、サンプリング周期とインデクスとの対応関係は、変更可能とすることができる。
【０２６４】
すなわち、例えば、サブCPU４０が、1T,2T,・・・,1000Tの1000個のサンプリング周期を採用し得る場合（1000個のサンプリング周期のセンサデータの提供が可能である場合）において、いままで、メインCPU２０から、2Tデータの提供を要求されていたが、その2Tデータの提供が解除され、その後、1000Tデータの提供を要求されたときには、サブCPU４０において、サンプリング周期とインデクスとの対応関係を変更し、いままで2Tデータのインデクスとして用いられていた値Vを、1000Tデータのインデクスとして用いることができる。
【０２６５】
サンプリング周期とインデクスとの対応関係を、変更可能とした場合、その対応関係の変更が行われたときには、その変更後の対応関係を、サブCPU４０からメインCPU２０に知らせる処理が必要になる。但し、インデクスについては、そのインデクスとして用いる値のビット数を少なくすることができる。
【０２６６】
すなわち、例えば、サンプリング周期のインデクスとして、1ビットオンビット列を採用する場合、サンプリング周期とインデクスとの対応関係を固定にすると、サブCPU４０が、1Tないし1000Tの1000個のサンプリング周期を採用し得るときには、インデクスとしての1ビットオンビット列は、1000ビットという膨大なビット数になる。
【０２６７】
サンプリング周期とインデクスとの対応関係を、変更可能とすることにより、時間をずらして、異なるサンプリング周期に対して、同一の値のインデクスを対応付けることが可能となり、インデクスとしての1ビットオンビット列が膨大なビット数になることを防止することができる。
【０２６８】
すなわち、例えば、サブCPU４０が、1Tないし1000Tの1000個のサンプリング周期を採用し得るが、同時に提供することができるサンプリングデータのサンプリング周期がP（＜1000）個である場合には、サンプリング周期とインデクスとの対応関係を、変更可能とすることにより、インデクスとしての1ビットオンビット列のビット数を、Pビットにすることができる。
【０２６９】
また、本実施の形態では、センサ１１ｎからセンサデータを取得して提供するセンサデータ取得ブロックとしてのサブCPU４０と、センサデータの提供を受けるセンサデータ受信ブロックとしてのメインCPU２０とが、携帯端末という1個の筐体内に存在する場合を例に、本技術を説明したが、本技術は、その他、例えば、センサデータ取得ブロックと、センサデータ受信ブロックとが異なる装置に存在し、センサデータ取得ブロックが存在する装置から、センサデータ受信ブロックが存在する装置に、ネットワークを介して、センサデータを提供する場合にも適用することができる。
【０２７０】
さらに、本技術は、メインCPU２０とサブCPU４０とが、別個のIC(Integrated Circuit)チップとして構成される場合にも、複数のCPUが1個のICチップに含められるマルチCPU構成のICチップとして構成される場合にも、適用することができる。メインCPU２０とサブCPU４０とが、マルチCPU構成の1個のICチップとして構成される場合、その1個のICチップにおいて、メインCPU２０とサブCPU４０との間の通信路は、そのメインCPU２０とサブCPU４０とで共有されるメモリ（共有メモリ）という形で実装することができる。
【０２７１】
また、本実施の形態では、センサ１１ｎからセンサデータを取得して提供するセンサデータ取得ブロックとして、ソフトウェアにより各種の処理の実行が可能なCPUであるサブCPU４０を採用したが、センサデータ取得ブロックとしては、その他、例えば、センサ１１ｎからセンサデータを取得して提供する用途に特化してハードウェア化されたICを採用することができる。
【０２７２】
さらに、本実施の形態では、説明を簡単にするために、センサ１１１ないし１１Ｎ（図３）のうちの1個のセンサ１１ｎからセンサデータを取得することとしたが、本技術は、複数のセンサから同時にセンサデータを取得する場合にも適用することができる。複数のセンサから同時にセンサデータを取得して提供するのに、管理テーブル（図１１）を用いる場合、管理テーブルは、センサごとに用意され、センサからのセンサデータの取得、及び、提供は、そのセンサの管理テーブルを用いて行われる。
【０２７３】
なお、本技術は、以下のような構成をとることができる。
【０２７４】
＜１＞
物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得する取得制御を行う取得制御部と、
前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力する出力部と
を備えるデータ処理装置。
＜２＞
前記取得制御部は、所定の基準周期の所定数倍の、１つ以上の前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
＜１＞に記載のデータ処理装置。
＜３＞
前記取得制御部は、所定の基準周期の、所定の整数のべき乗倍の前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
＜２＞に記載のデータ処理装置。
＜４＞
前記取得制御部は、所定の基準周期の、2のべき乗倍の前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
＜３＞に記載のデータ処理装置。
＜５＞
前記センサデータを取得したタイミングが該当する１つ以上の前記サンプリング周期のうちの最大のサンプリング周期を表す情報を、前記センサデータとともに出力する前記周期情報として生成する生成部をさらに備える
＜４＞に記載のデータ処理装置。
＜６＞
前記サンプリング周期を表す情報は、1ビットだけがたったビット列であり、
前記センサデータを取得したタイミングが該当する１つ以上の前記サンプリング周期それぞれを表す前記ビット列の論理和を、前記センサデータとともに出力する前記周期情報として生成する生成部をさらに備える
＜２＞ないし＜４＞のいずれかに記載のデータ処理装置。
＜７＞
前記取得制御部は、前記センサデータを利用するアプリケーションが要求する前記サンプリング周期のタイミングで、前記センサデータを取得する取得制御を行う
＜１＞ないし＜６＞のいずれかに記載のデータ処理装置。
＜８＞
前記センサデータと前記周期情報とを、前記センサデータを要求するアプリケーションを実行するプロセッサに提供する
＜１＞ないし＜７＞のいずれかに記載のデータ処理装置。
＜９＞
物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得し、
前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力する
ステップを含むデータ処理方法。
＜１０＞
物理量をセンシングし、その物理量を表すセンサデータを出力するセンサから、１つ以上のサンプリング周期それぞれのタイミングで、前記センサデータを取得する取得制御を行う取得制御部と、
前記センサデータを、そのセンサデータを取得したタイミングが該当する前記サンプリング周期を表す周期情報とともに出力する出力部と
して、コンピュータを機能させるためのプログラム。
【符号の説明】
【０２７５】
１０  センサ部，  １１１ないし１１Ｎ  センサ，  ２０  メインCPU，  ３０，４０  サブCPU，  ４１  タイマ，  ４２  CPUコア，  ４３  RAM，  ４４  ROM，  ４５  センサI/O，  ４６  コミュニケーションI/O，  ５０  センサデータ取得制御部，  ５１  タイミング生成部，  ５２  カウンタ制御部，  ５３  センサI/O制御部，  ５６  周期情報生成部，  ５７  周期情報付加部
【図１】
2014106840.tif 000003
【図２】
2014106840.tif 000004
【図３】
2014106840.tif 000005
【図４】
2014106840.tif 000006
【図５】
2014106840.tif 000007
【図６】
2014106840.tif 000008
【図７】
2014106840.tif 000009
【図８】
2014106840.tif 000010
【図９】
2014106840.tif 000011
【図１０】
2014106840.tif 000012
【図１１】
2014106840.tif 000013
【図１２】
2014106840.tif 000014
【図１３】
2014106840.tif 000015
【図１４】
2014106840.tif 000016
【図１５】
2014106840.tif 000017