(57)【要約】【課題】入力や出力の間引きの前後で表示や処理の連続性が失われてしまうのを防ぐこと。【解決手段】電子機器１は、入力管理処理部２、出力管理処理部３及び輻輳制御部４を備える。入力管理処理部２は、第１の入力データから第２の入力データを作成することにより第１の入力データの間引きを行う。出力管理処理部３は、出力データの間引きを行う。輻輳制御部４は、入力に対する出力の遅れが増大している場合に第１の入力データの間引き数を増やすように、入力管理処理部２に対して指示する。輻輳制御部４は、第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に出力データの間引き数を増やすように、出力管理処理部３に対して指示する。【選択図】図１
2013148745.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行う入力管理処理部と、
出力データの間引きを行う出力管理処理部と、
入力に対する出力の遅れが増大している場合に前記第１の入力データの間引き数を増やし、前記第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に前記出力データの間引き数を増やすように、前記入力管理処理部及び前記出力管理処理部に対して指示する輻輳制御部と、
を備えることを特徴とする電子機器。
【請求項２】
前記輻輳制御部は、
入力に対する出力の遅れが減少している場合に前記出力データの間引き数を減らし、
前記出力データの間引き数を減らしたにもかかわらず、入力に対する出力の遅れがさらに減少している場合に前記第１の入力データの間引き数を減らすように、前記入力管理処理部及び前記出力管理処理部に対して指示する
ことを特徴とする請求項１に記載の電子機器。
【請求項３】
前記入力管理処理部は、前記第１の入力データの間引き数に応じた個数の前記第１の入力データの移動平均を求めることにより前記第２の入力データを作成することを特徴とする請求項１または２に記載の電子機器。
【請求項４】
入力に対する出力の遅れが増大している場合に第１の入力データの間引き数を増やし、
前記第１の入力データの間引き数に基づいて前記第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行い、
前記第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に出力データの間引き数を増やし、
前記出力データの間引き数に基づいて前記出力データの間引きを行う
ことを特徴とする制御方法。
【請求項５】
電子機器に、
入力に対する出力の遅れが増大している場合に第１の入力データの間引き数を増やし、
前記第１の入力データの間引き数に基づいて記憶部に記憶されている前記第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行い、
前記第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に出力データの間引き数を増やし、
前記出力データの間引き数に基づいて前記記憶部に記憶されている前記出力データの間引きを行う
処理を実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子機器、制御方法及び制御プログラムに関する。
【背景技術】
【０００２】
従来、スクロール表示の開始後、さらにスクロール操作を検知すると、表示画像を、スクロール進行先の所定の表示画像に切り換えた後、最終的な目標の状態までスクロールさせるようにした方法がある（例えば、特許文献１参照）。また、遅れにより実行中の前回入力操作に対応する処理を停止し、次の入力操作に対応する処理を優先的に実行する方法がある（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５５９２号公報
【特許文献２】特開平８−２０２５２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、スクロール表示において途中の表示を間引くことで、入力に対する表示の遅れを見かけ上、解消している。また、実行中や実行待ちの処理を間引いて最新の入力に対する処理を行うことで、最新の入力に対する出力の遅れを解消している。そのため、入力や出力の間引きの前後で表示や処理の連続性が失われてしまうという問題点がある。
【０００５】
入力や出力の間引きの前後で表示や処理の連続性が失われてしまうのを防ぐことができる電子機器、制御方法及び制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
電子機器は、入力管理処理部、出力管理処理部及び輻輳制御部を備える。入力管理処理部は、第１の入力データから第２の入力データを作成することにより第１の入力データの間引きを行う。出力管理処理部は、出力データの間引きを行う。輻輳制御部は、入力に対する出力の遅れが増大している場合に第１の入力データの間引き数を増やすように、入力管理処理部に対して指示する。輻輳制御部は、第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に出力データの間引き数を増やすように、出力管理処理部に対して指示する。
【発明の効果】
【０００７】
この電子機器、制御方法及び制御プログラムによれば、入力や出力の間引きの前後で表示や処理の連続性が失われてしまうのを防ぐことができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施例１にかかる電子機器の入力及び出力に対する制御部分を示すブロック図である。
【図２】図２は、実施例１にかかる制御方法を示すフローチャートである。
【図３】図３は、実施例２にかかる電子機器のハードウェア構成を示すブロック図である。
【図４】図４は、実施例２にかかる電子機器の機能的構成を示すブロック図である。
【図５】図５は、実施例２にかかる電子機器における移動平均による間引き処理のシミュレーション結果を示す特性図である。
【図６】図６は、実施例２にかかる電子機器における移動平均による間引き処理のシミュレーション結果を示す特性図である。
【図７】図７は、実施例２にかかる電子機器で直線を描いた場合の移動平均による間引き処理のシミュレーション結果を示す表示例である。
【図８】図８は、実施例２にかかる電子機器で直線を描いた場合の平滑間引き処理のシミュレーション結果を示す特性図である。
【図９】図９は、実施例２にかかる電子機器で直線を描いた場合の平滑間引き処理のシミュレーション結果を示す表示例である。
【図１０】図１０は、図９に示す表示例における表示データの一例を示す図表である。
【図１１】図１１は、実施例２にかかる電子機器における表示処理を示すフローチャートである。
【図１２】図１２は、実施例２にかかる電子機器における表示処理を示すフローチャートである。
【図１３】図１３は、実施例２にかかる電子機器における出力処理を示すフローチャートである。
【図１４】図１４は、実施例２にかかる電子機器における入力処理を示すフローチャートである。
【図１５】図１５は、実施例２にかかる電子機器における輻輳制御処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この電子機器、制御方法及び制御プログラムの好適な実施の形態を詳細に説明する。以下の各実施例の説明においては、同様の構成要素には同一の符号を付して、重複する説明を省略する。
【００１０】
（実施例１）
・電子機器の説明
図１は、実施例１にかかる電子機器の入力及び出力に対する制御部分を示すブロック図である。図１に示すように、電子機器１は、入力管理処理部２、出力管理処理部３及び輻輳制御部４を備える。
【００１１】
入力管理処理部２は、第１の入力データから第２の入力データを作成することにより第１の入力データの間引きを行う。第１の入力データは、例えば図示しないタッチパネル、キー、方向キー、マイク、カメラまたは各種センサーなどの入力デバイスから得られる。
【００１２】
出力管理処理部３は、出力データの間引きを行う。出力データは、例えば図示しない表示パネルまたはスピーカなどの出力デバイスへ送られる。
【００１３】
輻輳制御部４は、入力に対する出力の遅れの情報に基づいて、遅れが増大している場合に第１の入力データの間引き数を増やすように、入力管理処理部２に対して指示する。輻輳制御部４は、第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に出力データの間引き数を増やすように、出力管理処理部３に対して指示する。
【００１４】
輻輳制御部４は、入力に対する出力の遅れの情報を例えば入力管理処理部２から得てもよい。例えば入力デバイスから送られてくる第１の入力データが処理されずに溜まっている場合に、入力管理処理部２から輻輳制御部４へ、入力に対して出力が遅れていることが通知されてもよい。
【００１５】
また、輻輳制御部４は、入力に対する出力の遅れの情報を例えば出力管理処理部３から得てもよい。例えば出力デバイスへの出力要求が出力デバイスへ送られずに溜まっている場合に、出力管理処理部３から輻輳制御部４へ、入力に対して出力が遅れていることが通知されてもよい。
【００１６】
・制御方法の説明
図２は、実施例１にかかる制御方法を示すフローチャートである。図２に示すように、電子機器１において入力及び出力に対する制御の処理が開始され、入力に対する出力の遅れが増大すると（ステップＳ１：Ｙｅｓ）、輻輳制御部４は、入力管理処理部２に対して、入力された第１の入力データの間引き数を増やすように指示する（ステップＳ２）。
【００１７】
入力に対する出力の遅れが増大するまでは、輻輳制御部４は、第１の入力データの間引き数を増やす指示をしない（ステップＳ１：Ｎｏ）。入力管理処理部２は、輻輳制御部４から指示された第１の入力データの間引き数に基づいて第１の入力データから第２の入力データを作成することにより、第１の入力データの間引きを実行する（ステップＳ３）。
【００１８】
輻輳制御部４は、第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合（ステップＳ４：Ｙｅｓ）、出力管理処理部３に対して出力データの間引き数を増やすように指示する（ステップＳ５）。さらなる遅れの増大がない場合には、輻輳制御部４は、出力データの間引き数を増やす指示をしない（ステップＳ４：Ｎｏ）。
【００１９】
出力管理処理部３は、輻輳制御部４から指示された出力データの間引き数に基づいて出力データの間引きを実行する（ステップＳ６）。そして、電子機器１における入力及び出力に対する一連の処理が終了する。
【００２０】
実施例１によれば、入力に対する出力の遅れが発生すると、まず遅れの程度に応じて入力側でデータを間引き、それでもより一層の遅れが生じると、遅れの程度に応じて出力側でデータを間引く。従って、入力や出力の間引きの前後で表示や処理の連続性が失われてしまうのを防ぐことができる。
【００２１】
（実施例２）
実施例２は、実施例１にかかる電子機器を携帯端末に適用した例である。携帯端末の一例として、携帯電話機、スマートフォン、通信機能を有するタブレット型やノート型のコンピュータなどの通信端末が挙げられる。また、実施例１にかかる電子機器は、ネットワークに接続されていないスタンドアローンのコンピュータなど、入力データを処理して出力する電子機器に適用可能である。実施例２では、スマートフォンを例にして説明する。
【００２２】
・電子機器のハードウェア構成
図３は、実施例２にかかる電子機器のハードウェア構成を示すブロック図である。図３に示すように、電子機器１は、ＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ、無線周波数）部１１、モデム部１２、制御部１３及び記憶部１４を備えている。また、電子機器１は、スピーカ１５、マイク１６、方向キー１７、キー１８、タッチパネルＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、集積回路）１９、表示制御ＩＣ２０、カメラＩＣ２１及びセンサー群２２を備えている。これらの各構成部１１〜２２は、バス２３に接続されていてもよい。
【００２３】
ＲＦ部１１は、モデム部１２の出力信号に対して送信処理を行って高周波信号を生成し、図示省略したアンテナを介して高周波信号を放射する。ＲＦ部１１は、図示省略したアンテナを介して受信した高周波信号の受信処理を行う。モデム部１２は、制御部１３の出力信号を変調したり、ＲＦ部１１の出力信号を復調する。
【００２４】
制御部１３は、後述する入力管理処理部２、表示管理処理部及び輻輳制御部４を実現する制御プログラムを実行する。制御部１３は、オペレーティングシステム（ＯＳ：Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）、種々のアプリケーション、及び種々の入力デバイスや種々の出力デバイスを制御するデバイスドライバーなどのプログラムを実行する。
【００２５】
記憶部１４は、オペレーティングシステム、アプリケーション、上述した制御プログラム及びデバイスドライバーなどのプログラムを記憶する。これらのプログラムは、記憶部１４の例えばリードオンリーメモリ（ＲＯＭ：Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に記憶されていてもよい。
【００２６】
なお、これらのプログラムは、必ずしも記憶部１４に記憶されている必要はなく、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記憶媒体に記憶されたこれらのプログラムを、電子機器１が読み出して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等を介して電子機器１に接続される他のコンピュータ（またはサーバ）等にこれらのプログラムを記憶させておいてもよい。この場合には、電子機器１がこれらからプログラムを読み出して実行する。
【００２７】
また、記憶部１４は、制御部１３の作業領域として用いられる。制御部１３は、記憶部１４の例えばランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を作業領域として用いてもよい。記憶部１４は、アプリケーションで作成される表示データを格納するバッファー領域を有する。
【００２８】
スピーカ１５は、制御部１３による種々のプログラムの実行結果や通話内容を音声にして出力する。マイク１６は、ユーザからの音声による入力を受け付ける。方向キー１７は、ユーザからの方向キーの操作による入力を受け付ける。キー１８は、ユーザからのキー操作による入力を受け付ける。
【００２９】
タッチパネルＩＣ１９は、タッチパネルＩＣ１９に接続されるタッチパネル２４を制御する。タッチパネルＩＣ１９は、タッチパネル２４からの入力を受け付ける。表示制御ＩＣ２０は、表示制御ＩＣ２０に接続される表示パネル２５を制御する。表示制御ＩＣ２０は、制御部１３による種々のプログラムの実行結果を表示パネル２５に表示する処理を行う。
【００３０】
カメラＩＣ２１は、カメラＩＣ２１に接続されるカメラ２６を制御する。カメラＩＣ２１は、カメラ２６からの入力を受け付ける。センサー群２２は、各種センサーを含む。センサーの一例として、例えば加速度センサーやＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）センサーや測距センサーなどが挙げられる。
【００３１】
・電子機器の機能的構成
図４は、実施例２にかかる電子機器の機能的構成を示すブロック図である。図４に示すように、電子機器１において、ソフトウェア層３１は、アプリケーション３２、入力管理処理部２、入力デバイスドライバー３３、出力管理処理部として例えば表示管理処理部３４、表示デバイスドライバー３５及び輻輳制御部４を有する。
【００３２】
ソフトウェア層３１は、制御部１３が、オペレーティングシステム、アプリケーション、デバイスドライバー、並びに入力及び出力を制御する制御プログラムなどの各種プログラムを実行することにより実現される。また、電子機器１は、ハードウェア層４１に入力デバイス４２、表示アクセラレータ４３及び表示デバイス４４を有する。
【００３３】
入力デバイス４２は、例えばタッチパネル２４、キー１８、方向キー１７、マイク１６、カメラ２６またはセンサー群２２であってもよい。表示デバイス４４は、例えば表示パネル２５またはスピーカ１５であってもよい。
【００３４】
実施例２では、ユーザがタッチパネル２４に触れて操作したことによりタッチパネル２４により第１の入力データが検出されるとする。そして、第１の入力データまたは第１の入力データを間引いた第２の入力データに基づいてアプリケーション３２が表示データを作成し、その表示データを表示パネル２５へ出力して表示する場合について説明する。
【００３５】
入力デバイスドライバー３３は、入力デバイス４２を制御し、入力デバイス４２からの第１の入力データを受け付ける。入力デバイスドライバー３３は、入力管理処理部２が入力デバイスドライバー３３からの入力イベントを処理できなくなっているか否かを判断する。入力デバイスドライバー３３は、入力管理処理部２が入力イベントを処理できなくなっていると判断すると、輻輳制御部４へ通知する。
【００３６】
入力管理処理部２は、入力デバイスドライバー３３からの第１の入力データを受け付ける。入力管理処理部２は、第１の入力データがアプリケーション３２に取り込まれずに記憶部１４に溜まっていることを検出する。入力管理処理部２は、第１の入力データの滞留が発生していることを検出すると、輻輳制御部４へ通知する。
【００３７】
入力管理処理部２は、第１の入力データの間引き数に基づいて第１の入力データから第２の入力データを作成することにより、第１の入力データに対して間引き処理を行う。第１の入力データの間引き数は、入力に対する出力の遅れの程度に応じて輻輳制御部４により設定されてもよい。入力管理処理部２は、例えば第１の入力データの間引き数に応じた個数の第１の入力データの移動平均を求めることにより第２の入力データを作成してもよい。
【００３８】
移動平均の計算式の一例を（１）式に示す。（１）式において、ｋ（ｎ）は、ｎ番目の第１の入力データである。ｎは、０以上の整数である。Ｋ（ｎ）は、ｎ番目の移動平均後のデータ、すなわちｎ番目の第２の入力データである。ｍは、平均計算の母数であり、例えば第１の入力データの間引き数に１を加算した値であってもよい。例えば、第１の入力データの間引き数をＩｎ＿ｃｎｔと表すと、ｍは次の（２）式で表される。
【００３９】
Ｋ（ｎ）＝［ｋ（ｎ−（ｍ−１））＋ｋ（ｎ−（ｍ−（ｍ−２）））
＋・・・＋ｋ（ｎ−（ｍ−（ｍ−１）））＋ｋ（ｎ）］／ｍ  ・・・（１）
ｍ＝Ｉｎ＿ｃｎｔ＋１  ・・・（２）
【００４０】
入力管理処理部２は、入力に対する出力の遅れの程度に応じて第１の入力データまたは第２の入力データをアプリケーション３２へ出力する。アプリケーション３２は、入力管理処理部２から渡される第１の入力データまたは第２の入力データに基づいて表示データを作成する。
【００４１】
表示管理処理部３４は、アプリケーションからの表示要求及び表示データを受け付ける。表示管理処理部３４は、表示データが表示デバイスドライバー３５から表示アクセラレータ４３へ送られずに記憶部１４に溜まっていることを検出する。表示管理処理部３４は、表示データの滞留が発生していることを検出すると、輻輳制御部４へ通知する。
【００４２】
表示管理処理部３４は、表示デバイスドライバー３５から表示アクセラレータ４３への表示データの転送が完了すると、表示デバイスドライバー３５から転送の完了通知を受け取る。表示管理処理部３４は、その転送の完了通知が来る前に、アプリケーション３２から新しい表示要求が送られてくると、輻輳制御部４へ通知する。
【００４３】
表示管理処理部３４は、輻輳制御部４からの間引き数の増減の指示に基づいて、バッファー領域に溜まった表示データに対して間引き処理を行う。表示管理処理部３４は、例えば表示データの滞留状態に応じて、バッファー領域に溜まっている最新の表示データや最も古い表示データを間引くなどの平滑間引き処理を行ってもよい。
【００４４】
表示デバイスドライバー３５は、表示デバイス４４を制御し、表示管理処理部３４から渡される表示データを表示アクセラレータ４３へ渡す。表示デバイスドライバー３５は、表示データが表示アクセラレータ４３から表示デバイス４４へ送られずに記憶部１４に溜まっていることを検出する。表示デバイスドライバー３５は、表示データの滞留が発生していることを検出すると、輻輳制御部４へ通知する。
【００４５】
表示アクセラレータ４３は、ハードウェアアクセラレータであり、表示デバイスドライバー３５から渡される表示データに対して、表示デバイス４４に表示するための処理を行う。表示デバイス４４は、表示アクセラレータ４３から渡される処理後のデータに基づいた表示を行う。
【００４６】
輻輳制御部４は、入力デバイスドライバー３３、入力管理処理部２、表示管理処理部３４または表示デバイスドライバー３５から通知を受けると、入力に対する出力の遅れの程度を判断する。輻輳制御部４は、入力に対する出力の遅れの程度が輻輳状態であると判断すると、入力管理処理部２に対して第１の入力データの間引き処理、または表示管理処理部３４に対して表示データの間引き処理を要求する。
【００４７】
輻輳制御部４は、第１の入力データの間引き処理を優先して要求し、それでも輻輳状態が改善されそうもないときに表示データの間引き処理を要求するようにしてもよい。輻輳制御部４は、輻輳状態が改善されてきているときには、先に表示データの間引き処理を減らし、さらに輻輳状態が改善されてきているときには、第１の入力データの間引き処理を減らすようにしてもよい。
【００４８】
また、入力デバイス４２が第１の入力データの検出間隔を調整することができる構成のものである場合、輻輳制御部４は、入力デバイス４２の第１の入力データの検出間隔を制御するようにしてもよい。この場合、輻輳制御部４は、入力デバイスドライバー３３を介して入力デバイス４２を制御してもよい。
【００４９】
・移動平均による間引き処理の説明
移動平均による間引き処理を行って表示する場合と行わないで表示する場合とを、シミュレーションにより比較した結果について説明する。移動平均による間引き処理を行わない場合のアプリケーション３２への入力データは、第１の入力データｋ（ｎ）である。移動平均による間引き処理を行う場合の入力データは、第１の入力データｋ（ｎ）に基づいて上記（１）式より求めた第２の入力データＫ（ｎ）である。一例として上記（２）式のｍの値を２とする。
【００５０】
タッチパネル２４に指を接触させたまま指を直線状に移動させる際に、入力に対する出力の遅れの程度が輻輳状態である場合を想定する。輻輳状態であることを考慮して、上記（１）式より得られるＫ（ｎ）に対して揺らぎとして［±０．５×乱数］を加算した値を第２の入力データとする。シミュレーション結果を図５に示す。
【００５１】
図５は、実施例２にかかる電子機器における移動平均による間引き処理のシミュレーション結果を示す特性図であり、直線移動の例である。図５において、横軸は表示パネル２５の横方向の位置Ｘ、縦軸は表示パネル２５の縦方向の位置Ｙである（図６も同じ）。図５に示すように、●のプロット及び曲線で示す第２の入力データは、■のプロット及び曲線で示す第１の入力データに略一致することがわかる。
【００５２】
タッチパネル２４に指を接触させたまま指を曲線状に移動させる際に、入力に対する出力の遅れの程度が輻輳状態である場合を想定する。曲線の一例として円の場合について説明する。輻輳状態であることを考慮して、上記（１）式より得られるＫ（ｎ）に対して揺らぎとして［±０．５×乱数］を加算した値を第２の入力データとする。シミュレーション結果を図６に示す。
【００５３】
図６は、実施例２にかかる電子機器における移動平均による間引き処理のシミュレーション結果を示す特性図であり、円移動の例である。図６に示すように、●のプロット及び曲線で示す第２の入力データは、■のプロット及び曲線で示す第１の入力データに対してＸ方向にずれてはいるが、形状は略一致することがわかる。
【００５４】
図５に示す結果より、タッチパネル２４に接触させた指を直線状に移動させるような操作に対して、入力データの移動平均を取ることにより入力データを間引く処理は、有効であることがわかる。また、図６に示す結果より、タッチパネル２４に接触させた指を円状に移動させるような操作に対しても、入力データの移動平均を取ることにより入力データを間引く処理は、有効であることがわかる。
【００５５】
直線移動と円移動との組み合わせを考慮すると、タッチパネル２４に指を接触させたまま任意の形状に指を移動させる操作に対して、入力データの移動平均を取ることにより入力データを間引く処理は、有効であるといえる。従って、移動平均により入力データを間引く処理を行っても、表示パネル２５の表示に対する見た目の連続性は失われていないと考えられる。
【００５６】
図７は、実施例２にかかる電子機器で直線を描いた場合の移動平均による間引き処理のシミュレーション結果を示す表示例である。図７において、□を結ぶ線５１は、タッチパネル２４を指で触った軌跡を表している。この軌跡において、タッチパネル２４が１の□、２の□、・・・、６の□の順に指のタッチを検出したとする。
【００５７】
○及び◇は、タッチパネル２４が検出した指のタッチ（□）に対して表示パネル２５に表示される点を表している。○は、移動平均による間引き処理を適用する場合の表示である。◇は、移動平均による間引き処理を適用しない場合の表示である。○及び◇の中の数字は、表示パネル２５に表示される順番を表している。
【００５８】
図７に示すように、移動平均による間引き処理を適用する場合には、指の移動開始後、○の表示の間隔が徐々に広くなり、途中から指の移動停止へ向けて○の表示の間隔が徐々に狭くなっている。つまり、○の表示の間隔が連続的に増減している。それに対して、移動平均による間引き処理を適用しない場合には、◇の表示の間隔が広くなったり狭くなったりしている。つまり、◇の表示の間隔が不連続に増減してしまう。従って、移動平均により入力データを間引く処理を行うことによって、表示パネル２５に連続的な表示をさせることができる。
【００５９】
・平滑間引き処理の説明
表示データに対して平滑間引き処理を行って表示する場合と、平滑間引き処理の代わりに単純間引き処理を行って表示する場合とを、シミュレーションにより比較した結果について説明する。表示データが表示デバイス４４へ送られずに記憶部１４のバッファー領域に溜まっている場合の遅延のレベル、すなわち表示遅延のレベルをＯｕｔ＿ｃｎｔと表す。
【００６０】
表示データがバッファー領域に溜まっていない場合、すなわち表示遅延が発生していない場合には、Ｏｕｔ＿ｃｎｔの値は０である。表示遅延が発生してバッファー領域に溜まる表示データの数が増えると、Ｏｕｔ＿ｃｎｔの値が増加するとする。Ｏｕｔ＿ｃｎｔの値から１を引いた値で表示データの間引きを開始するとする。つまり、Ｏｕｔ＿ｃｎｔの値が１であるときには表示データの間引きを行わず、Ｏｕｔ＿ｃｎｔの値が２以上であるときに表示データの間引きを行うとする。
【００６１】
タッチパネル２４に指を接触させたまま指を直線状に移動させる際に、タッチパネル２４が例えば０．３秒に１回、指のタッチを検出するとする。タッチパネル２４が検出した指のタッチに対応する表示データを、表示パネル２５に例えば０．５秒に１回、表示するとする。
【００６２】
単純間引き処理では、例えばバッファー領域に、例えば表示パネル２５の画面１枚分の表示データを格納できる表示バッファーが４枚あるとする。４枚の表示バッファーが４枚分の表示データで一杯になると、４枚の表示バッファーに格納されている表示データのうち最新の表示データを破棄するとする。
【００６３】
平滑間引き処理では、例えば３枚の表示バッファーに表示データが格納されると、３枚の表示バッファーに格納されている表示データのうち一番古い表示データを破棄するとする。３枚の表示バッファーに表示データが格納された状態が継続すると、３枚の表示バッファーに格納されている表示データのうち一番古い表示データと最新の表示データを破棄するとする。
【００６４】
図８は、実施例２にかかる電子機器で直線を描いた場合の平滑間引き処理のシミュレーション結果を示す特性図である。図８に示すように、▲のプロットで表す平滑間引き処理後の表示は、■のプロットで表す単純間引き処理後の表示よりも、◆のプロットで表すタッチの軌跡に近いことがわかる。
【００６５】
図９は、実施例２にかかる電子機器で直線を描いた場合の平滑間引き処理のシミュレーション結果を示す表示例である。図１０は、図９に示す表示例における表示データの一例を示す図表である。タッチパネル２４に指を接触させたまま指を直線状に移動させる際に、タッチパネル２４が例えば１／３秒に１回、指のタッチを検出するとする。表示パネル２５に表示データを表示するのに１．０秒かかるとする。
【００６６】
単純間引き処理では、例えばバッファー領域に３枚の表示バッファーがあるとする。３枚の表示バッファーが３枚分の表示データで一杯になると、３枚の表示バッファーに格納されている表示データのうち最新の表示データを破棄するとする。平滑間引き処理における表示データの破棄については、上述した通りとする。
【００６７】
図９において、ａ、ｂ、ｃ、・・・を付した□は、タッチパネル２４を指で触って直線状に移動させた軌跡において、タッチパネル２４が指のタッチを検出した位置である。図９のａ、ｂ、ｃ、・・・は、図１０の図表の「検出位置」のａ、ｂ、ｃ、・・に対応している。□の中の数字は、経過時間を表している。
【００６８】
○及び◇は、タッチパネル２４が検出した指のタッチ（□）に対して表示パネル２５に表示される点を表している。○は、平滑間引き処理を適用する場合の表示である。◇は、単純間引き処理を適用する場合の表示である。○及び◇の中の数字は、経過時間を表している。
【００６９】
図９に示すように、例えば経過時間が６秒であるときにタッチパネル２４が指のタッチを検出した場所は「ｐ」である。平滑間引き処理を適用した場合、例えば経過時間が６秒であるときの表示位置は「ｌ」である。それに対して、単純間引き処理を適用した場合、例えば経過時間が６秒であるときの表示位置は「ｇ」である。また、例えば経過時間が７秒であるとき、タッチの検出場所は「ｓ」であり、平滑間引き処理を適用した場合の表示位置は「ｏ」であり、単純間引き処理を適用した場合の表示位置は「ｊ」である。つまり、平滑間引き処理を適用すると、適用しない場合よりも、表示位置がタッチの検出場所に近くなる。
【００７０】
・制御方法の説明
上述したＩｎ＿ｃｎｔ及びＯｕｔ＿ｃｎｔという変数の他に、以下の変数を設定する。Ｉｎ＿ｃｎｔの一つ前の値、すなわち旧入力間引き数としてＯｌｄ＿ｉｎ＿ｃｎｔ、Ｏｕｔ＿ｃｎｔの一つ前の値、すなわち旧表示遅延レベルとしてＯｌｄ＿ｏｕｔ＿ｃｎｔを設定する。また、表示処理にて間引いている数をＯｕｔ＿Ｓｋｉｐ＿ｃｎｔとし、表示バッファーに溜まっている表示データの数をＢｕｆｆｅｒ＿ｃｎｔとする。
【００７１】
また、Ｄｒｉｖｅｒ＿ｆｌｇという変数を設定する。Ｄｒｉｖｅｒ＿ｆｌｇの値は、表示デバイスドライバー３５、表示アクセラレータ４３及び表示デバイス４４に対して出力を依頼しているときに１となり、表示デバイスドライバー３５、表示アクセラレータ４３及び表示デバイス４４が処理を終えたときに０となってもよい。各変数は、電子機器１の電源がオンになった後、表示処理が開始される前に初期化される。
【００７２】
（１）表示処理の説明
図１１は、実施例２にかかる電子機器における表示処理を示すフローチャートである。図１２は、図１１の続きを示すフローチャートである。表示処理は、表示管理処理部３４によって実行される。
【００７３】
図１１に示すように、電子機器１の電源がオンになると、Ｏｕｔ＿Ｓｋｉｐ＿ｃｎｔの値及びＢｕｆｆｅｒ＿ｃｎｔの値が０に初期化される（ステップＳ１１）。表示管理処理部３４がアプリケーション３２からの表示要求を受け取ったときに（ステップＳ１２）、Ｂｕｆｆｅｒ＿ｃｎｔの値がＯｕｔ＿Ｓｋｉｐ＿ｃｎｔの値よりも大きい場合（ステップＳ１３：Ｙｅｓ）、Ｏｕｔ＿ｃｎｔの値がインクリメントされる（ステップＳ１４）。つまり、表示処理での遅延レベルが引き上げられる。
【００７４】
次いで、表示管理処理部３４は、輻輳制御部４へ入力に対する出力の遅れの状態を通知する（ステップＳ１５）。例えば、表示管理処理部３４は、輻輳制御部４へＯｕｔ＿ｃｎｔの値を通知してもよい。次いで、表示管理処理部３４は、表示バッファーから表示データをＯｕｔ＿Ｓｋｉｐ＿ｃｎｔの値分、破棄し、後述する出力処理を起動する。そして、Ｂｕｆｆｅｒ＿ｃｎｔの値がインクリメントされる（ステップＳ１６）。
【００７５】
一方、表示管理処理部３４がアプリケーション３２からの表示要求を受け取ったときに（ステップＳ１２）、Ｂｕｆｆｅｒ＿ｃｎｔの値がＯｕｔ＿Ｓｋｉｐ＿ｃｎｔの値よりも大きくない場合（ステップＳ１３：Ｎｏ）、ステップＳ１４〜ステップＳ１５を省略する。そして、ステップＳ１６へ進む。電子機器１の電源がオンになった直後は、Ｂｕｆｆｅｒ＿ｃｎｔの値がＯｕｔ＿Ｓｋｉｐ＿ｃｎｔの値よりも大きくないので（ステップＳ１３：Ｎｏ）、そのままステップＳ１６へ進む。
【００７６】
ステップＳ１６に続いて、図１２に示すように、表示管理処理部３４は、アプリケーション３２からの表示要求または輻輳制御部４からの指示を受け取る（ステップＳ１７）。受け取ったのがアプリケーション３２からの表示要求であり（ステップＳ１８：Ｙｅｓ）、Ｂｕｆｆｅｒ＿ｃｎｔの値がＯｕｔ＿Ｓｋｉｐ＿ｃｎｔの値よりも大きい場合（ステップＳ１９：Ｙｅｓ）、Ｏｕｔ＿ｃｎｔの値がインクリメントされる。つまり、表示処理での遅延レベルが引き上げられる。そして、表示管理処理部３４は、輻輳制御部４へ入力に対する出力の遅れの状態を通知する（ステップＳ２０）。
【００７７】
受け取ったのがアプリケーション３２からの表示要求であり（ステップＳ１８：Ｙｅｓ）、Ｂｕｆｆｅｒ＿ｃｎｔの値がＯｕｔ＿Ｓｋｉｐ＿ｃｎｔの値よりも大きくない場合（ステップＳ１９：Ｎｏ）、Ｏｕｔ＿ｃｎｔの値がデクリメントされる。つまり、表示処理での遅延レベルが引き下げられる。そして、表示管理処理部３４は、輻輳制御部４へ入力に対する出力の遅れの状態を通知する（ステップＳ２１）。ステップＳ２０及びステップＳ２１において、例えば、表示管理処理部３４は、輻輳制御部４へＯｕｔ＿ｃｎｔの値を通知してもよい。
【００７８】
ステップＳ２０またはステップＳ２１に続いて、表示管理処理部３４は、表示バッファーから表示データをＯｕｔ＿Ｓｋｉｐ＿ｃｎｔの値分、破棄し、後述する出力処理を起動する。そして、Ｂｕｆｆｅｒ＿ｃｎｔの値がインクリメントされる（ステップＳ２２）。次いで、ステップＳ１７へ戻り、ステップＳ１７〜ステップＳ２５を繰り返す。
【００７９】
一方、受け取ったのがアプリケーション３２からの表示要求でなく（ステップＳ１８：Ｎｏ）、輻輳制御部４からの指示であり（ステップＳ２３：Ｙｅｓ）、その指示が表示処理での間引き数を増やす通知である場合（ステップＳ２４：Ｙｅｓ）、Ｏｕｔ＿Ｓｋｉｐ＿ｃｎｔの値がインクリメントされる（ステップＳ２５）。つまり、表示処理で間引かれる表示データの数が増やされる。次いで、ステップＳ１７へ戻り、ステップＳ１７〜ステップＳ２５を繰り返す。
【００８０】
輻輳制御部４からの指示が表示処理での間引き数を増やす通知でない場合（ステップＳ２４：Ｎｏ）、Ｏｕｔ＿Ｓｋｉｐ＿ｃｎｔの値がデクリメントされる（ステップＳ２６）。つまり、表示処理で間引かれる表示データの数が減らされる。次いで、ステップＳ１７へ戻り、ステップＳ１７〜ステップＳ２５を繰り返す。また、受け取ったのがアプリケーション３２からの表示要求でなく（ステップＳ１８：Ｎｏ）、輻輳制御部４からの指示でない場合（ステップＳ２３：Ｎｏ）、ステップＳ１７へ戻り、ステップＳ１７〜ステップＳ２５を繰り返す。
【００８１】
（２）出力処理の説明
図１３は、実施例２にかかる電子機器における出力処理を示すフローチャートである。出力処理は、表示管理処理部３４によって実行される。
【００８２】
図１３に示すように、電子機器１において出力処理が起動されると、Ｄｒｉｖｅｒ＿ｆｌｇの値が０に初期化される（ステップＳ３１）。そして、表示管理処理部３４は、上述した表示処理からの要求または表示デバイスドライバー３５からの通知を受け取る（ステップＳ３２）。
【００８３】
受け取ったのが表示処理からの要求であり（ステップＳ３３：Ｙｅｓ）、Ｄｒｉｖｅｒ＿ｆｌｇの値が０である場合（ステップＳ３４：Ｙｅｓ）、表示管理処理部３４は、表示デバイスドライバー３５へ表示データを転送し、Ｄｒｉｖｅｒ＿ｆｌｇの値を１にする（ステップＳ３５）。つまり、表示デバイスドライバー３５での前回の処理が終了しているので、表示管理処理部３４は、表示デバイスドライバー３５に出力を依頼する。次いで、ステップＳ３２へ戻り、ステップＳ３２〜ステップＳ３８を繰り返す。
【００８４】
表示処理からの要求を受け取ったときに（ステップＳ３３：Ｙｅｓ）、Ｄｒｉｖｅｒ＿ｆｌｇの値が０でない場合（ステップＳ３４：Ｎｏ）、表示デバイスドライバー３５での前回の処理が終了していないので、ステップＳ３２へ戻り、ステップＳ３２〜ステップＳ３８を繰り返す。一方、受け取ったのが表示処理からの要求でなく（ステップＳ３３：Ｎｏ）、表示デバイスドライバー３５からの通知であり（ステップＳ３６：Ｙｅｓ）、Ｂｕｆｆｅｒ＿ｃｎｔの値が０である場合（ステップＳ３７：Ｙｅｓ）、ステップＳ３２へ戻り、ステップＳ３２〜ステップＳ３８を繰り返す。
【００８５】
Ｂｕｆｆｅｒ＿ｃｎｔの値が０でない場合には（ステップＳ３７：Ｎｏ）、Ｄｒｉｖｅｒ＿ｆｌｇの値が０にされ、Ｂｕｆｆｅｒ＿ｃｎｔの値がデクリメントされる（ステップＳ３８）。そして、ステップＳ３２へ戻り、ステップＳ３２〜ステップＳ３８を繰り返す。また、受け取ったのが表示処理からの要求でなく（ステップＳ３３：Ｎｏ）、表示デバイスドライバー３５からの通知でない場合（ステップＳ３６：Ｎｏ）、ステップＳ３２へ戻り、ステップＳ３２〜ステップＳ３８を繰り返す。
【００８６】
（３）入力処理の説明
図１４は、実施例２にかかる電子機器における入力処理を示すフローチャートである。入力処理は、入力管理処理部２によって実行される。
【００８７】
図１４に示すように、電子機器１の電源がオンになり、入力管理処理部２に入力デバイスドライバー３３からの入力がある（ステップＳ４１）。その入力が第１の入力データであり（ステップＳ４２：Ｙｅｓ）、Ｉｎ＿ｃｎｔの値が０よりも大きい場合（ステップＳ４３：Ｙｅｓ）、入力管理処理部２は、第１の入力データを移動平均などによって平滑化し、第２の入力データを得る。
【００８８】
つまり、入力処理で間引きを行っている数が０でないので、入力管理処理部２は間引き処理を行う。そして、入力管理処理部２は、アプリケーション３２へ第２の入力データを通知し（ステップＳ４４）、ステップＳ４１へ戻り、ステップＳ４１〜ステップＳ４５を繰り返す。
【００８９】
入力デバイスドライバー３３からの入力が第１の入力データであり（ステップＳ４２：Ｙｅｓ）、Ｉｎ＿ｃｎｔの値が０よりも大きくない場合（ステップＳ４３：Ｎｏ）、入力管理処理部２は、アプリケーション３２へ第１の入力データをそのまま通知する（ステップＳ４５）。そして、ステップＳ４１へ戻り、ステップＳ４１〜ステップＳ４５を繰り返す。また、入力デバイスドライバー３３からの入力が第１の入力データでない場合（ステップＳ４２：Ｎｏ）、ステップＳ４１へ戻り、ステップＳ４１〜ステップＳ４５を繰り返す。
【００９０】
（４）輻輳制御処理の説明
図１５は、実施例２にかかる電子機器における輻輳制御処理を示すフローチャートである。輻輳制御処理は、輻輳制御部４によって実行される。
【００９１】
図１５に示すように、電子機器１の電源がオンになると、Ｏｕｔ＿ｃｎｔ、Ｉｎ＿ｃｎｔ、Ｏｌｄ＿ｏｕｔ＿ｃｎｔ及びＯｌｄ＿ｉｎ＿ｃｎｔの各値が０に初期化される（ステップＳ５１）。輻輳制御部４が表示管理処理部３４からの表示処理状態の通知を受け取ったときに（ステップＳ５２）、Ｏｕｔ＿ｃｎｔの値がＯｌｄ＿ｏｕｔ＿ｃｎｔの値よりも大きいと（ステップＳ５３：Ｙｅｓ）、表示遅延のレベルが上がっていることになる。
【００９２】
このとき、Ｏｌｄ＿ｉｎ＿ｃｎｔの値がＩｎ＿ｃｎｔの値以上であれば（ステップＳ５４：Ｙｅｓ）、入力処理での間引き数が増えていないことになる。そこで、輻輳制御部４は、Ｏｌｄ＿ｉｎ＿ｃｎｔの値を現在のＩｎ＿ｃｎｔの値に更新し、Ｉｎ＿ｃｎｔの値をインクリメントする（ステップＳ５５）。それによって、入力処理で間引かれる第１の入力データの数が増える。次いで、ステップＳ５２へ戻り、ステップＳ５２〜ステップＳ６０を繰り返す。
【００９３】
Ｏｕｔ＿ｃｎｔの値がＯｌｄ＿ｏｕｔ＿ｃｎｔの値よりも大きく（ステップＳ５３：Ｙｅｓ）、Ｏｌｄ＿ｉｎ＿ｃｎｔの値がＩｎ＿ｃｎｔの値以上でなければ（ステップＳ５４：Ｎｏ）、入力処理での間引き数が増えていることになる。そこで、輻輳制御部４は、Ｏｌｄ＿ｉｎ＿ｃｎｔの値を現在のＩｎ＿ｃｎｔの値に更新し、表示処理へ表示データの間引き数を増やすように通知する（ステップＳ５６）。それによって、表示処理で間引かれる表示データの数が増える。次いで、ステップＳ５２へ戻り、ステップＳ５２〜ステップＳ６０を繰り返す。
【００９４】
ステップＳ５４〜ステップＳ５６の処理によって、表示遅延が発生すると、入力処理での間引きが優先して行われる。そして、入力処理での間引き数を増やしているにもかかわらず、表示遅延のレベルが上がっている場合に、表示処理での間引き数が増えることになる。
【００９５】
一方、輻輳制御部４が表示処理状態の通知を受け取ったときに（ステップＳ５２）、Ｏｕｔ＿ｃｎｔの値がＯｌｄ＿ｏｕｔ＿ｃｎｔの値よりも大きくないと（ステップＳ５３：Ｎｏ）、表示遅延のレベルが上がっていないことになる。このとき、Ｏｕｔ＿ｃｎｔの値がＯｌｄ＿ｏｕｔ＿ｃｎｔの値よりも小さければ（ステップＳ５７：Ｙｅｓ）、表示遅延のレベルが下がっていることになる。
【００９６】
そして、Ｏｕｔ＿ｃｎｔの値がＩｎ＿ｃｎｔの値以上であれば（ステップＳ５８：Ｙｅｓ）、表示処理での間引き数が入力処理での間引き数と同じか多いことになる。そこで、輻輳制御部４は、Ｏｌｄ＿ｉｎ＿ｃｎｔの値を現在のＩｎ＿ｃｎｔの値に更新し、表示処理へ表示データの間引き数を減らすように通知する（ステップＳ５９）。それによって、表示処理で間引かれる表示データの数が減る。次いで、ステップＳ５２へ戻り、ステップＳ５２〜ステップＳ６０を繰り返す。
【００９７】
表示遅延のレベルが下がっているときに（ステップＳ５７：Ｙｅｓ）、Ｏｕｔ＿ｃｎｔの値がＩｎ＿ｃｎｔの値以上でなければ（ステップＳ５８：Ｎｏ）、入力処理での間引き数が表示処理での間引き数よりも多いことになる。そこで、輻輳制御部４は、Ｏｌｄ＿ｉｎ＿ｃｎｔの値を現在のＩｎ＿ｃｎｔの値に更新し、Ｉｎ＿ｃｎｔの値をデクリメントする（ステップＳ６０）。それによって、入力処理で間引かれる第１の入力データの数が減る。次いで、ステップＳ５２へ戻り、ステップＳ５２〜ステップＳ６０を繰り返す。
【００９８】
ステップＳ５８〜ステップＳ６０の処理によって、表示遅延が解消してくると、まず表示処理での間引き数が減る。そして、表示処理での間引き数を減らしているにもかかわらず、表示遅延のレベルが下がっている場合に、入力処理での間引き数が減ることになる。
【００９９】
また、表示遅延のレベルが上がってもいないし（ステップＳ５３：Ｎｏ）、下がってもいないときには（ステップＳ５７：Ｎｏ）、ステップＳ５２へ戻り、ステップＳ５２〜ステップＳ６０を繰り返す。電子機器１の電源がオンになった直後は、Ｏｕｔ＿ｃｎｔの値もＯｌｄ＿ｏｕｔ＿ｃｎｔの値も０であるので、ステップＳ５７はＮｏとなり、ステップＳ５２へ戻る。
【０１００】
実施例２によれば、入力に対する出力の遅れが発生すると、入力処理での間引き処理が優先的に行われ、それでも遅れが解消しないと、表示処理での間引き処理が行われる。入力に対する出力の遅れが解消されてくると、表示処理での間引き数が減少した後、入力処理での間引き数が減少する。従って、入力処理や表示処理の間引きの前後で表示や処理の連続性が失われてしまうのを防ぐことができる。
【０１０１】
また、入力処理での間引き処理のみを行う場合には、入力処理での間引き数が多くなるため、例えばスマートフォンを操作する場合の動作の一つであるタップなどのように意味のあるタッチによる入力が間引かれてしまう虞がある。それに対して、実施例２のように、入力処理での間引き処理と表示処理での間引き処理とを組み合わせて行うことによって、意味のあるタッチの入力が間引かれてしまうのを抑制することができる。
【０１０２】
なお、移動平均を算出する式や、表示バッファーの枚数や、平滑間引き処理における表示データの間引き方などは、上述した例に限らず、適宜、変更可能である。
【０１０３】
上述した実施例１、２に関し、さらに以下の付記を開示する。
【０１０４】
（付記１）第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行う入力管理処理部と、出力データの間引きを行う出力管理処理部と、入力に対する出力の遅れが増大している場合に前記第１の入力データの間引き数を増やし、前記第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に前記出力データの間引き数を増やすように、前記入力管理処理部及び前記出力管理処理部に対して指示する輻輳制御部と、を備えることを特徴とする電子機器。
【０１０５】
（付記２）前記輻輳制御部は、入力に対する出力の遅れが減少している場合に前記出力データの間引き数を減らし、前記出力データの間引き数を減らしたにもかかわらず、入力に対する出力の遅れがさらに減少している場合に前記第１の入力データの間引き数を減らすように、前記入力管理処理部及び前記出力管理処理部に対して指示することを特徴とする付記１に記載の電子機器。
【０１０６】
（付記３）前記入力管理処理部は、前記第１の入力データの間引き数に応じた個数の前記第１の入力データの移動平均を求めることにより前記第２の入力データを作成することを特徴とする付記１または２に記載の電子機器。
【０１０７】
（付記４）前記出力管理処理部は、処理待ちの前記第２の入力データから前記出力データの間引き数に応じた個数の前記第２の入力データを破棄することを特徴とする付記１〜３のいずれか一つに記載の電子機器。
【０１０８】
（付記５）入力に対する出力の遅れが増大している場合に第１の入力データの間引き数を増やし、前記第１の入力データの間引き数に基づいて前記第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行い、前記第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に出力データの間引き数を増やし、前記出力データの間引き数に基づいて前記出力データの間引きを行うことを特徴とする制御方法。
【０１０９】
（付記６）入力に対する出力の遅れが減少している場合に前記出力データの間引き数を減らし、前記出力データの間引き数に基づいて前記出力データの間引きを行い、前記出力データの間引き数を減らしたにもかかわらず、入力に対する出力の遅れがさらに減少している場合に前記第１の入力データの間引き数を減らし、前記第１の入力データの間引き数に基づいて前記第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行うことを特徴とする付記５に記載の制御方法。
【０１１０】
（付記７）前記第１の入力データの間引きを行う際、前記第１の入力データの間引き数に応じた個数の前記第１の入力データの移動平均を求めることにより前記第２の入力データを作成することを特徴とする付記５または６に記載の制御方法。
【０１１１】
（付記８）前記出力データの間引きを行う際、処理待ちの前記第２の入力データから前記出力データの間引き数に応じた個数の前記第２の入力データを破棄することを特徴とする付記５〜７のいずれか一つに記載の制御方法。
【０１１２】
（付記９）電子機器に、入力に対する出力の遅れが増大している場合に第１の入力データの間引き数を増やし、前記第１の入力データの間引き数に基づいて記憶部に記憶されている前記第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行い、前記第１の入力データの間引き数を増やしたにもかかわらず、入力に対する出力の遅れがさらに増大している場合に出力データの間引き数を増やし、前記出力データの間引き数に基づいて前記記憶部に記憶されている前記出力データの間引きを行う処理を実行させることを特徴とする制御プログラム。
【０１１３】
（付記１０）入力に対する出力の遅れが減少している場合に前記出力データの間引き数を減らし、前記出力データの間引き数に基づいて前記記憶部に記憶されている前記出力データの間引きを行い、前記出力データの間引き数を減らしたにもかかわらず、入力に対する出力の遅れがさらに減少している場合に前記第１の入力データの間引き数を減らし、前記第１の入力データの間引き数に基づいて前記記憶部に記憶されている前記第１の入力データから第２の入力データを作成することにより前記第１の入力データの間引きを行う処理を実行させることを特徴とする付記９に記載の制御プログラム。
【０１１４】
（付記１１）前記第１の入力データの間引きを行う際、前記第１の入力データの間引き数に応じた個数の前記第１の入力データの移動平均を求めることにより前記第２の入力データを作成させることを特徴とする付記９または１０に記載の制御プログラム。
【０１１５】
（付記１２）前記出力データの間引きを行う際、前記記憶部に記憶されている前記第２の入力データから前記出力データの間引き数に応じた個数の前記第２の入力データを破棄させることを特徴とする付記９〜１１のいずれか一つに記載の制御プログラム。
【符号の説明】
【０１１６】
１  電子機器
２  入力管理処理部
３，３４  出力管理処理部
４  輻輳制御部
１４  記憶部
【図１】
2013148745.tif 000003
【図２】
2013148745.tif 000004
【図３】
2013148745.tif 000005
【図４】
2013148745.tif 000006
【図５】
2013148745.tif 000007
【図６】
2013148745.tif 000008
【図７】
2013148745.tif 000009
【図８】
2013148745.tif 000010
【図９】
2013148745.tif 000011
【図１０】
2013148745.tif 000012
【図１１】
2013148745.tif 000013
【図１２】
2013148745.tif 000014
【図１３】
2013148745.tif 000015
【図１４】
2013148745.tif 000016
【図１５】
2013148745.tif 000017