(57)【特許請求の範囲】
【請求項１】
受信した情報をバッファ部に蓄積する蓄積手段と、
前記バッファ部に蓄積された情報量であるバッファ蓄積量を監視する監視手段と、
前記監視手段により監視された前記バッファ蓄積量の変動経過に基づいて、前記バッファ蓄積量の目標最大値および目標最小値を設定する目標値設定手段と、
前記監視手段により監視された前記バッファ蓄積量が、前記目標最大値および／または前記目標最小値前後に設定されたマージン内に収まっているか否かを判定し、前記バッファ蓄積量が前記マージン内に収まっていないと判定した場合、前記バッファ蓄積量と前記目標最大値および前記目標最小値との比較により、前記バッファ蓄積量が前記目標最小値より少ない場合、クロック周波数を調整するための周波数変動量を前記クロック周波数を低くするように決定し、前記バッファ蓄積量が前記目標最大値より多い場合、前記周波数変動量を前記クロック周波数を高くするように決定する周波数変動量決定手段と、
前記周波数変動量を用いて、前記バッファ部から前記情報を出力する場合の前記クロック周波数を調整する周波数調整手段と、
前記周波数調整手段により調整された前記クロック周波数に合わせて前記バッファ部から前記情報を出力させる情報出力手段と、
を備えたことを特徴とする、情報処理装置。
【請求項２】
前記目標値設定手段は、
更に、前記目標最大値および／または前記目標最小値前後に前記マージンを設定し、
前記周波数変動量決定手段は、
更に、前記監視手段により監視された前記バッファ蓄積量が、前記目標値設定手段により設定された前記マージン内に収まっているか否か判定することにより、前記周波数変動量を決定する、請求項１に記載の情報処理装置。
【請求項３】
前記目標値設定手段は、
更に、前記目標最大値および／または前記目標最小値前後に前記マージンを段階的に複数設定し、
前記周波数変動量決定手段は、
前記監視手段により監視された前記バッファ蓄積量が、前記目標値設定手段により設定されたいずれかの前記マージン内に収まっていると判定した場合、当該いずれかのマージンに基づいて、段階的に前記周波数変動量を決定する、請求項２に記載の情報処理装置。
【請求項４】
前記周波数調整手段は、
前記監視手段により監視された前記バッファ蓄積量に基づいて、前記バッファ部から前記情報を出力させる場合の前記クロック周波数を関数的に変化するように調整する、請求項１乃至３のいずれか一つに記載の情報処理装置。
【請求項５】
前記周波数変動量決定手段は、
前記監視手段により監視された前記バッファ蓄積量と前記目標最大値および前記目標最小値との差分から、前記周波数変動量を決定する、請求項１に記載の情報処理装置。
【請求項６】
受信した情報をバッファ部に蓄積する蓄積ステップと、
前記バッファ部に蓄積された情報量であるバッファ蓄積量を監視する監視ステップと、
前記監視ステップにて監視された前記バッファ蓄積量の変動経過に基づいて、前記バッファ蓄積量の目標最大値および目標最小値を設定する目標値設定ステップと、
前記監視ステップにて監視された前記バッファ蓄積量が、前記目標最大値および／または前記目標最小値前後に設定されたマージン内に収まっているか否かを判定し、前記バッファ蓄積量が前記マージン内に収まっていないと判定した場合、前記バッファ蓄積量と前記目標最大値および前記目標最小値との比較により、前記バッファ蓄積量が前記目標最小値より少ない場合、クロック周波数を調整するための周波数変動量を前記クロック周波数を低くするように決定し、前記バッファ蓄積量が前記目標最大値より多い場合、前記周波数変動量を前記クロック周波数を高くするように決定する周波数変動量決定ステップと、
前記周波数変動量を用いて、前記バッファ部から前記情報を出力させる場合の前記クロック周波数を調整する周波数調整ステップと、
前記周波数調整ステップにて調整された前記クロック周波数に合わせて前記バッファ部から前記情報を出力させる情報出力ステップと、
を含むことを特徴とする、出力調整方法。
【請求項７】
前記目標値設定ステップにて、
更に、前記目標最大値および／または前記目標最小値前後に前記マージンを設定し、
前記周波数変動量決定ステップにて、
更に、前記監視ステップにて監視された前記バッファ蓄積量が、前記目標値設定ステップにて設定された前記マージン内に収まっているか否か判定することにより、前記周波数変動量を決定する、請求項６に記載の出力調整方法。
【請求項８】
前記目標値設定ステップにて、
更に、前記目標最大値および／または前記目標最小値前後に前記マージンを段階的に複数設定し、
前記周波数変動量決定ステップにて、
前記監視ステップにて監視された前記バッファ蓄積量が、前記目標値設定ステップにて設定されたいずれかの前記マージン内に収まっていると判定した場合、当該いずれかのマージンに基づいて、段階的に前記周波数変動量を決定する、請求項７に記載の出力調整方法。
【請求項９】
前記周波数調整ステップにて、
前記監視ステップにて監視された前記バッファ蓄積量に基づいて、前記バッファ部から前記情報を出力させる場合の前記クロック周波数を関数的に変化するように調整する、請求項６乃至８のいずれか一つに記載の出力調整方法。
【請求項１０】
前記周波数変動量決定ステップにて、
前記監視ステップにて監視された前記バッファ蓄積量と前記目標最大値および前記目標最小値との差分から、前記周波数変動量を決定する、請求項６に記載の出力調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および、出力調整方法に関する。
【背景技術】
【０００２】
従来から、受信データのオーバーフローまたはアンダーフローを抑止する技術が開示されている。
【０００３】
ここで、通信回線を介してパケット受信装置からパケット送信装置にクロック調整量を送信することで、ネットワーク全体のクロック調整を行う技術が開示されている（特許文献１を参照）。
【０００４】
また、ネットワークを介して送信側ビデオサーバから受信装置に同期基準情報を送信することで、受信装置における出力を制御する技術が開示されている（特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１４８２２７号公報
【特許文献２】特開２００７−１５８８７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来の通信システム（特許文献１等）においては、伝送路や機器に起因する時間的なゆらぎの発生に対して、受信側だけでクロック調整できないという問題点を有していた。
【０００７】
本発明は、上記問題点に鑑みてなされたもので、伝送路や装置間に遅延が発生した場合でも、受信側が備えるバッファからの出力をクロック周波数を動的に変動させることで、遅延を最小化することができる、情報処理装置、および、出力調整方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
このような目的を達成するため、本発明に係る情報処理装置は、受信した情報をバッファ部に蓄積する蓄積手段と、前記バッファ部に蓄積された情報量であるバッファ蓄積量を監視する監視手段と、前記監視手段により監視された前記バッファ蓄積量に基づいて、前記バッファ部から前記情報を出力する場合のクロック周波数を調整する周波数調整手段と、前記周波数調整手段により調整された前記クロック周波数に合わせて前記バッファ部から前記情報を出力させる情報出力手段と、を備える。
【０００９】
また、本発明に係る出力調整方法は、受信した情報をバッファ部に蓄積する蓄積ステップと、前記バッファ部に蓄積された情報量であるバッファ蓄積量を監視する監視ステップと、前記監視ステップにて監視された前記バッファ蓄積量に基づいて、前記バッファ部から前記情報を出力させる場合のクロック周波数を調整する周波数調整ステップと、前記周波数調整ステップにて調整された前記クロック周波数に合わせて前記バッファ部から前記情報を出力させる情報出力ステップと、を含む。
【発明の効果】
【００１０】
この発明によれば、情報伝送の遅延を従来に比べて最小にする（保つ）ことができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施形態における情報処理装置の構成の一例を示すハードウェアブロック図である。
【図２】図２は、本実施形態における情報処理装置の構成の一例を示すハードウェア構成図である。
【図３】図３は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【図４】図４は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【図５】図５は、本実施形態におけるバッファ蓄積量と経過時間との関係の一例を示す図である。
【図６】図６は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【図７】図７は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【図８】図８は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【図９】図９は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【図１０】図１０は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【図１１】図１１は、本実施形態の情報処理装置における処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下に、本発明に係る情報処理装置、および、出力調整方法、ならびに、プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。
【００１３】
［１．本実施形態の構成］
本実施形態に係る情報処理装置１００の構成の一例について図１および図２を参照して説明する。図１は、本実施形態における情報処理装置１００の構成の一例を示すハードウェアブロック図である。図２は、本実施形態における情報処理装置１００の構成の一例を示すハードウェア構成図である。
【００１４】
図１に示すように、情報処理装置（受信装置）１００は、送信装置２００（図示せず）とネットワーク（伝送路）３００を介して通信可能に接続して構成される。ここで、情報処理装置１００は、出力装置４００（図示せず）とネットワーク（伝送路）３００を介して通信可能に接続して構成されてもよい。また、図１においては、情報処理装置１００の一部または全部が示されていてもよい。
【００１５】
ここで、ネットワーク３００は、情報処理装置１００と、外部装置（例えば、送信装置２００または出力装置４００等）とを有線または無線で相互に接続する機能を有し、例えば、インターネット、電話回線網（携帯端末回線網および一般電話回線網等）、イントラネット、衛星波、地上波、専用線（例えば、ＳＤＩまたはラインなど）、または、電力線通信（ＰＬＣ）等であってもよい。
【００１６】
ここで、ネットワーク３００を介した通信には、ＳＤＩなどの専用線による映像受信、ラインなどの専用線による音声受信、マルチキャスト配信、ストリーミング配信、センサー等の測定器からの受信、衛星放送による映像もしくは音声の受信、および／または、ＦＰＵによるデータ、映像もしくは音声の受信等であってもよい。
【００１７】
ここで、図１に示すように、情報処理装置１００は、制御部１０２と記憶部１０６とを少なくとも備えて構成される。ここで、記憶部１０６は、各種のデータベース、テーブル、および／または、ファイルなどを格納する。記憶部１０６は、ストレージ手段であり、例えばＲＡＭ・ＲＯＭ等のメモリ、ハードディスクのような固定ディスク装置、フレキシブルディスク、および／または、光ディスク等を用いることができる。記憶部１０６には、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）に命令を与え各種処理を行うためのコンピュータプログラム等が記録されている。
【００１８】
これら記憶部１０６の各構成要素のうち、バッファ部（受信バッファ部）１０６ａは、受信した情報を保持（記憶）する。例えば、バッファ部１０６ａは、受信したＩＰデータを保持してもよい。
【００１９】
また、情報処理装置１００は、更に、情報（信号）またはコマンド等の入出力（Ｉ／Ｏ）を行う入出力部１１２（図示せず）を備えていてもよい。ここで、入出力部１１２は、例えば、キー入力部、タッチパネル、コントロールパッド（例えば、タッチパッド、および、ゲームパッド等）、マウス、キーボード、および、マイク等であってもよい。また、入出力部１１２は、情報（信号）を表示する表示部（例えば、液晶または有機ＥＬ等から構成されるディスプレイ、モニタ、および、タッチパネル等）であってもよい。また、入出力部１１２は、音声情報を音声として出力する音声出力部（例えば、スピーカ等）であってもよい。
【００２０】
ここで、情報処理装置１００は、更に、入出力部１１２と制御部１０２とを接続する入出力インターフェース部（図示せず）を備えていてもよい。また、情報処理装置１００は、更に、通信インターフェース部（図示せず）を備えていてもよく、通信インターフェース部を介してネットワーク（伝送路）３００を経由し、外部装置（例えば、送信装置２００または出力装置４００等）と相互に通信可能に接続されていてもよい。通信インターフェース部は、通信回線および／または電話回線等に接続されるアンテナおよび／またはルータ等の通信装置に接続されるインターフェースであり情報処理装置１００とネットワーク３００との間における通信制御を行う機能を有していてもよい。ここで、通信インターフェース部は、ＮＩＣ等であってもよい。また、これら各部は任意の通信路を介して通信可能に接続されている。
【００２１】
また、制御部１０２は、情報処理装置１００を統括的に制御するＣＰＵ等からなる。制御部１０２は、制御プログラムと各種の処理手順等を規定したプログラムと所要データとを格納するための内部メモリを有し、これらプログラムに基づいて種々の処理を実行するための情報処理を行う。
【００２２】
ここで、制御部１０２は、大別して、信号受信部１０２ａと、蓄積部１０２ｂ、バッファ観測化出力制御部１０２ｃと、情報出力部（信号調整部）１０２ｉとを備える。
【００２３】
信号受信部１０２ａは、伝送された信号を受信する。ここで、信号受信部１０２ａは、ネットワーク３００を介して送信装置２００から送信された信号を受信してもよい。
【００２４】
蓄積部１０２ｂは、受信した情報をバッファ部１０６ａに蓄積する。ここで、蓄積部１０２ｂは、信号受信部１０２ａにより受信された信号を情報に変換（復元）し、当該情報をバッファ部１０６ａに蓄積してもよい。例えば、蓄積部１０２ｂは、信号受信部１０２ａにより受信された信号を映像等に変換し、当該映像をバッファ部１０６ａに蓄積してもよい。
【００２５】
バッファ観測化出力制御部１０２ｃは、バッファ部１０６ａに記憶された情報を観測し、出力制御を行う。ここで、バッファ観測化出力制御部１０２ｃは、機能概念的に、監視部（受信バッファ観測部）１０２ｄと、目標値設定部（バッファ目標値設定部）１０２ｆと、周波数変動量決定部１０２ｇと、周波数調整部１０２ｈとを備える。
【００２６】
監視部（受信バッファ観測部）１０２ｄは、バッファ部１０６ａに蓄積された情報量であるバッファ蓄積量を監視（観測）する。ここで、監視部１０２ｄは、機能概念的に、蓄積量変動量取得部１０２ｅを備える。
【００２７】
蓄積量変動量取得部１０２ｅは、バッファ蓄積量とバッファ蓄積量の目標値との差分から、単位時間あたりのバッファ蓄積量変動量を取得する。
【００２８】
目標値設定部（バッファ目標値設定部）１０２ｆは、バッファ蓄積量の目標値を設定する。ここで、目標値設定部１０２ｆは、監視部１０２ｄにより監視されたバッファ蓄積量に基づいて、バッファ蓄積量の目標値を設定してもよい。また、目標値設定部１０２ｆは、目標値前後にマージンを設定してもよい。
【００２９】
また、目標値設定部１０２ｆは、目標値前後にマージンを段階的に複数設定してもよい。また、目標値設定部１０２ｆは、監視部１０２ｄにより監視されたバッファ蓄積量の変動経過に基づいて、バッファ蓄積量の目標値を設定してもよい。ここで、目標値は、４ＭＢ−１９ＭＢ程度であってもよい（すなわち、目標値は、フォーマットおよび／または設定により増減してもよい）。
【００３０】
周波数変動量決定部１０２ｇは、クロック周波数を調整するための周波数変動量を決定する。ここで、周波数変動量決定部１０２ｇは、監視部１０２ｄにより監視されたバッファ蓄積量と所定値との比較により、クロック周波数を調整するための周波数変動量を決定してもよい。また、周波数変動量決定部１０２ｇは、監視部１０２ｄにより監視されたバッファ蓄積量と目標値との比較により、周波数変動量を決定してもよい。
【００３１】
また、周波数変動量決定部１０２ｇは、監視部１０２ｄにより監視されたバッファ蓄積量が、所定値前後に設定されたマージン内に収まっているか否か判定することにより、周波数変動量を決定してもよい。また、周波数変動量決定部１０２ｇは、監視部１０２ｄにより監視されたバッファ蓄積量が、目標値設定部１０２ｆにより設定されたマージン内に収まっているか否か判定することにより、周波数変動量を決定してもよい。
【００３２】
また、周波数変動量決定部１０２ｇは、バッファ蓄積量変動量からクロック周波数を調整するための周波数変動量を決定してもよい。また、周波数変動量決定部１０２ｇは、監視部１０２ｄにより監視されたバッファ蓄積量が、目標値設定部１０２ｆにより設定されたいずれかのマージン内に収まっていると判定した場合、当該いずれかのマージンに基づいて、段階的に周波数変動量を決定してもよい。また、周波数変動量決定部１０２ｇは、監視部１０２ｄにより監視されたバッファ蓄積量と目標値との差分から、周波数変動量を決定してもよい。
【００３３】
周波数調整部１０２ｈは、バッファ部１０６ａから情報を出力する場合のクロック周波数を調整する。ここで、周波数調整部１０２ｈは、監視部１０２ｄにより監視されたバッファ蓄積量に基づいて、バッファ部１０６ａから情報を出力する場合のクロック周波数を調整してもよい。また、周波数調整部１０２ｈは、周波数変動量を用いて、バッファ部１０６ａから情報を出力させる場合のクロック周波数を調整してもよい。
【００３４】
また、周波数調整部１０２ｈは、監視部１０２ｄにより監視されたバッファ蓄積量に基づいて、バッファ部１０６ａから情報を出力させる場合のクロック周波数を関数的に変化するように調整してもよい。また、周波数調整部１０２ｈは、基準クロックに基づいて、バッファ部１０６ａから情報を出力する場合のクロック周波数を調整してもよい。ここで、２７ＭＨｚの基準クロックをＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）で１４８．５ＭＨｚ、または、１４８．５／１．００１ＭＨｚ等としてもよい。
【００３５】
情報出力部（信号調整部）１０２ｉは、バッファ部１０６ａから情報を出力させる。ここで、情報出力部１０２ｉは、周波数調整部１０２ｈにより調整されたクロック周波数に合わせてバッファ部１０６ａから情報を出力させてもよい。また、情報出力部１０２ｉは、バッファ部１０６ａに蓄積（記憶）された情報を信号に変換し、信号を出力装置４００に伝送（信号出力）してもよい。また、情報出力部１０２ｉは、バッファ部１０６ａに蓄積（記憶）された情報を入出力部１１２を介して出力させてもよい。
【００３６】
また、図２に示すように、情報処理装置１００は、送信装置２００（図示せず）とネットワーク３００を介して通信可能に接続され、送信装置２００から送信された信号を受信する信号受信部１０２ａと、情報処理装置１００に記憶された情報を観測し、出力制御等を行うＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）／ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）およびＣＰＵと、受信した情報等を記憶する、ＦＰＧＡ／ＬＳＩに接続されたメモリ１０６−１ａ、ならびに、ＣＰＵに接続されたメモリ１０６−１ｂおよび固定ディスク装置１０６−２と、基準クロックに基づいて、情報を出力する場合のクロック周波数を調整する周波数調整部（クロックコントローラ）１０２ｈと、情報を出力させる情報出力部（信号出力部）１０２ｉとを少なくとも備えて構成される。ここで、固定ディスク装置１０６−２は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等を記憶してもよい。また、これら各部は任意の通信路を介して通信可能に接続されている。
【００３７】
すなわち、本実施形態において、情報処理装置１００は、情報を入力、出力もしくは入出力する機能、情報を保持する機能、クロックの周波数を制御する機能、バッファ蓄積量を監視する機能、バッファの目標値を決定する機能、基準クロックを有して出力クロックの周波数を制御する機能、および／または、バッファ内の情報をクロック周波数に応じて出力する機能を備えていてもよい。
【００３８】
［３．本実施形態の処理］
上述した構成の情報処理装置１００で実行される処理の一例について、図３乃至図１１を参照して説明する。
【００３９】
［３−１．実施例１］
本実施形態の情報処理装置１００における処理の一例について図３を参照して説明する。図３は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【００４０】
図３に示すように、まず、信号受信部１０２ａは、送信装置２００から伝送された信号を受信し、蓄積部１０２ｂは、受信された信号を情報に変換し、情報をバッファ部（受信バッファ）１０６ａに蓄積する（ステップＳＡ−１）。すなわち、受信した信号を信号受信部１０２ａで受け取り、蓄積部１０２ｂは、受信バッファ１０６ａに一時的に蓄積する。
【００４１】
そして、監視部１０２ｄは、バッファ部（受信バッファ）１０６ａに蓄積された情報量であるバッファ蓄積量を一定間隔おきに観測する（ステップＳＡ−２）。ここで、一定間隔とは、一定時間あたり、または、単位情報の出力あたりの間隔で、一定あるいは可変の値であってもよい。
【００４２】
すなわち、監視部１０２ｄは、受信バッファ１０６ａに蓄積された情報の蓄積量を、ある一定の時間おきに監視する。ここで、バッファ部１０６ａの蓄積量を監視するタイミングおよびその間隔の幅は、１秒おき等であってもよい。また、バッファ部１０６ａの蓄積量を監視するタイミングおよびその間隔の幅は、ＦＰＧＡでは動画の１フレームごとに蓄積量が更新される設定のため、フォーマットに依存するが、６０ｐで０．０１６７秒（または、０．０３秒等）程度の間隔まで小さくすることができる。すなわち、蓄積量を監視する間隔の幅は、１秒間に６０フレームの場合、１／６０≒０．０１６７秒としてもよい。
【００４３】
そして、目標値設定部１０２ｆは、アンダーフローの発生および／または遅延の発生を防ぐように、バッファ部（受信バッファ）１０６ａに蓄積すべきバッファ蓄積量の目標値（最大値および最小値）を、監視部１０２ｄにより監視されたバッファ蓄積量から設定（決定）する（ステップＳＡ−３）。ここで、目標値は、映像の場合、１フレーム以下のデータ容量であってもよい。すなわち、監視されたバッファ蓄積量より、目標値設定部１０２ｆにてバッファ蓄積量の目標値を設定する。
【００４４】
そして、監視部１０２ｄは、観測したバッファ部（受信バッファ）１０６ａのバッファ蓄積量が最大値より多い、または、最小値より少ないか判定する（ステップＳＡ−４）。すなわち、監視部１０２ｄは、目標値とバッファ蓄積量とを比較する。
【００４５】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最小値より少ないと判定された場合（ステップＳＡ−４：少ない）、バッファ蓄積量より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を低くするように決定し（ステップＳＡ−５）、処理をステップＳＡ−７に移行させる。すなわち、周波数変動量決定部１０２ｇは、「バッファ蓄積量＜目標値」、すなわち、バッファ蓄積量が少ないので、周波数を低くしバッファからの出力を遅くなるように設定する。
【００４６】
一方、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最大値より多いと判定された場合（ステップＳＡ−４：多い）、バッファ蓄積量より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を高くするように決定し（ステップＳＡ−６）、処理をステップＳＡ−７に移行させる。すなわち、周波数変動量決定部１０２ｇは、「バッファ蓄積量＞目標値」、すなわち、バッファ蓄積量が多いので、周波数を高くバッファからの出力を速くなるように設定する。
【００４７】
そして、周波数調整部１０２ｈは、基準クロックと、周波数変動量決定部１０２ｇで決定された周波数変動量の値とを掛けることで、バッファ部１０６ａから情報を出力する場合のクロック周波数を調整（作成）する（ステップＳＡ−７）。すなわち、本実施形態においては、基準クロックを周波数調整部１０２ｈに入力し、周波数変動量決定部１０２ｇで決定された値を掛けてもよい。
【００４８】
そして、情報出力部１０２ｉは、周波数調整部１０２ｈで調整（作成）されたクロック周波数に合わせてバッファ部（受信バッファ）１０６ａから情報を出力させる（ステップＳＡ−８）。ここで、情報出力部１０２ｉは、バッファ部１０６ａに蓄積された情報を信号に変換し、信号を出力装置４００に伝送して出力させてもよい。また、情報出力部１０２ｉは、バッファ部１０６ａに蓄積された情報を入出力部１１２を介して出力させてもよい。すなわち、情報出力部１０２ｉは、設定したクロック周波数に合わせて受信バッファ１０６ａから情報を出力する。
【００４９】
そして、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了したか否か判定する（ステップＳＡ−９）。
【００５０】
そして、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了していないと判定した場合（ステップＳＡ−９：Ｎｏ）、処理をステップＳＡ−１に移行させる。
【００５１】
一方、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了したと判定した場合（ステップＳＡ−９：Ｙｅｓ）、処理を終了する。このように、本実施形態においては、バッファ蓄積量を監視してクロック周波数を調整している。それにより、本実施形態においては、バッファの蓄積量が最小になり、出力の遅延を最小化することが可能となる。すなわち、本実施形態においては、バッファ蓄積量を最小になるように出力のクロックの周波数を制御することにより、出力の遅延最小化をしてもよい。
【００５２】
［３−２．実施例２］
本実施形態の情報処理装置１００における処理の一例について図４および図５を参照して説明する。図４は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【００５３】
図４に示すように、まず、信号受信部１０２ａは、送信装置２００から伝送された信号を受信し、蓄積部１０２ｂは、受信された信号を情報に変換し、情報をバッファ部（受信バッファ）１０６ａに蓄積する（ステップＳＢ−１）。すなわち、受信した信号を信号受信部１０２ａで受け取り、蓄積部１０２ｂは、受信バッファ１０６ａに一時的に蓄積する。
【００５４】
そして、監視部１０２ｄは、バッファ部（受信バッファ）１０６ａに蓄積された情報量であるバッファ蓄積量を一定間隔おきに観測する（ステップＳＢ−２）。ここで、一定間隔とは、一定時間あたり、または、単位情報の出力あたりの間隔で、一定あるいは可変の値であってもよい。すなわち、監視部１０２ｄは、一時的に蓄積された情報を、ある一定の時間おきに監視する。
【００５５】
そして、目標値設定部１０２ｆは、アンダーフローの発生および／または遅延の発生を防ぐように、バッファ部（受信バッファ）１０６ａに蓄積すべきバッファ蓄積量の目標値（最大値および最小値）を、監視部１０２ｄにより監視されたバッファ蓄積量から設定（決定）する（ステップＳＢ−３）。すなわち、監視されたバッファ蓄積量より、目標値設定部１０２ｆにてバッファ蓄積量の目標値を設定する。
【００５６】
そして、目標値設定部１０２ｆは、ジッターが急激に変動するため、それにあわせてクロック周波数が急激に変化しないように、目標値前後にマージンを設定する（ステップＳＢ−４）。ここで、マージンは、任意または可変の値であってもよい。例えば、マージンの上限値は、目標値＋０．０１５ＭＢ等であり、マージンの下限値は、目標値−０．０１５ＭＢ等であってもよい。すなわち、目標値設定部１０２ｆは、バッファ部１０６ａの蓄積量の変動に合わせてクロック周波数が急激に変動しないようにマージンを設定する。
【００５７】
そして、監視部１０２ｄは、観測したバッファ部（受信バッファ）１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっているか否か判定する（ステップＳＢ−５）。すなわち、監視部１０２ｄは、目標値の前後に設定したマージンとバッファ蓄積量とを比較する。
【００５８】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていると判定された場合（ステップＳＢ−５：Ｙｅｓ）、送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、一定に設定（決定）し（ステップＳＢ−６）、処理をステップＳＢ−１０に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっている場合、クロック周波数はある一定に設定する。ここで、本実施形態において、周波数変動量決定部１０２ｇは、クロック周波数は前の（前回の処理で利用した）周波数になるように周波数変動量を設定してもよく、初期状態においては、情報処理装置１００の基準周波数になるように周波数変動量を設定してもよい。
【００５９】
一方、監視部１０２ｄは、バッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていないと判定された場合（ステップＳＢ−５：Ｎｏ）、観測したバッファ部（受信バッファ）１０６ａのバッファ蓄積量が最大値より多い、または、最小値より少ないか判定する（ステップＳＢ−７）。すなわち、監視部１０２ｄは、目標値とバッファ蓄積量とを比較する。
【００６０】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最小値より少ないと判定された場合（ステップＳＢ−７：少ない）、バッファ蓄積量より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を低くするように決定し（ステップＳＢ−８）、処理をステップＳＢ−１０に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっていない場合、「バッファ蓄積量＜目標値−マージン」、すなわち、バッファ蓄積量が少ないので、周波数を低くしバッファからの出力を遅くなるように設定する。
【００６１】
一方、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最大値より多いと判定された場合（ステップＳＢ−７：多い）、バッファ蓄積量より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を高くするように決定し（ステップＳＢ−９）、処理をステップＳＢ−１０に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっていない場合、「バッファ蓄積量＞目標値＋マージン」、すなわち、バッファ蓄積量が多いので、周波数を高くバッファからの出力を速くなるように設定する。
【００６２】
そして、周波数調整部１０２ｈは、基準クロックと、周波数変動量決定部１０２ｇで決定された周波数変動量の値とを掛けることで、バッファ部１０６ａから情報を出力する場合のクロック周波数を調整（作成）する（ステップＳＢ−１０）。すなわち、周波数調整部１０２ｈは、受信バッファ１０６ａから情報を出力するためのクロック周波数を算出する。
【００６３】
そして、情報出力部１０２ｉは、周波数調整部１０２ｈで調整（作成）されたクロック周波数に合わせてバッファ部（受信バッファ）１０６ａから情報を出力させる（ステップＳＢ−１１）。ここで、情報出力部１０２ｉは、バッファ部１０６ａに蓄積された情報を信号に変換し、信号を出力装置４００に伝送して出力させてもよい。また、情報出力部１０２ｉは、バッファ部１０６ａに蓄積された情報を入出力部１１２を介して出力させてもよい。すなわち、情報出力部１０２ｉは、設定したクロック周波数に合わせて受信バッファ１０６ａから情報を出力する。
【００６４】
そして、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了したか否か判定する（ステップＳＢ−１２）。
【００６５】
そして、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了していないと判定した場合（ステップＳＢ−１２：Ｎｏ）、処理をステップＳＢ−１に移行させる。
【００６６】
一方、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了したと判定した場合（ステップＳＢ−１２：Ｙｅｓ）、処理を終了する。このように、本実施形態においては、バッファ蓄積量を監視してクロック周波数を（ゆるやかに）調整してもよい。また、本実施形態においては、バッファの蓄積量が最小になり、出力の遅延を最小化することが可能となる。
【００６７】
ここで、図５を参照して、本実施形態におけるバッファ蓄積量と経過時間との関係の一例を説明する。図５は、本実施形態におけるバッファ蓄積量と経過時間との関係の一例を示す図である。
【００６８】
図５に示すように、本実施形態においては、目標値に対して目標値前後にマージン（マージン上限およびマージン下限）を設けることにより、ジッターが急激に変化しても、それに追従するようなクロック周波数が急激に変動しないようにしている。すなわち、図５に示すように、本実施形態においては、マージン上限をバッファ蓄積量が上回った場合、クロック周波数を高く設定し、バッファ部１０６ａからの出力レートを増加させている。
【００６９】
また、図５に示すように、本実施形態においては、マージン下限をバッファ蓄積量が下回った場合、クロック周波数を低く設定し、バッファ部１０６ａからの出力レートを減少させている。それにより、本実施形態においては、ジッターの急激な変化に応じて、目標値前後でクロック周波数が急激に変動しないようにでき、クロック周波数の挙動も安定させることができる。
【００７０】
［３−３．実施例３］
本実施形態の情報処理装置１００における処理の一例について図６を参照して説明する。図６は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【００７１】
図６に示すように、まず、ステップＳＣ−１乃至ステップＳＣ−９の処理は、図４に示すステップＳＢ−１乃至ステップＳＢ−９と同様であるため、説明を省略する。
【００７２】
そして、周波数調整部１０２ｈは、基準クロックと、周波数変動量決定部１０２ｇで決定された周波数変動量の値とを用いて、クロック周波数の変化量が急激にならないように関数的に変化させる、バッファ部１０６ａから情報を出力する場合のクロック周波数を調整（作成）する（ステップＳＣ−１０）。すなわち、周波数調整部１０２ｈは、受信バッファ１０６ａから情報を出力するためのクロック周波数を算出する。
【００７３】
そして、ステップＳＣ−１１およびステップＳＣ−１２の処理は、図４に示すステップＳＢ−１１およびステップＳＢ−１２と同様であるため、説明を省略する。
【００７４】
このように、本実施形態においては、クロック周波数を関数的に変更している。それにより、本実施形態においては、バッファ部１０６ａの蓄積量が最小になり、出力の遅延を最小化することが可能となる。また、本実施形態においては、クロック周波数がマージン前後に収まるようにすることができる。
【００７５】
［３−４．実施例４］
本実施形態の情報処理装置１００における処理の一例について図７を参照して説明する。図７は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【００７６】
図７に示すように、まず、ステップＳＤ−１乃至ステップＳＤ−５の処理は、図４に示すステップＳＢ−１乃至ステップＳＢ−５と同様であるため、説明を省略する。
【００７７】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていると判定された場合（ステップＳＤ−５：Ｙｅｓ）、送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、目標値に近づくように関数的に設定（決定）し（ステップＳＤ−６）、処理をステップＳＤ−１０に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっている場合、目標値に近づくようにクロック周波数を設定する。
【００７８】
そして、ステップＳＤ−７乃至ステップＳＤ−１２の処理は、図４に示すステップＳＢ−７乃至ステップＳＢ−１２と同様であるため、説明を省略する。
【００７９】
このように、本実施形態においては、目標値のマージンを超えないようにマージン内部で調整している。
【００８０】
［３−５．実施例５］
本実施形態の情報処理装置１００における処理の一例について図８を参照して説明する。図８は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【００８１】
図８に示すように、まず、ステップＳＥ−１乃至ステップＳＥ−４の処理は、図４に示すステップＳＢ−１乃至ステップＳＢ−４と同様であるため、説明を省略する。
【００８２】
そして、監視部１０２ｄは、観測したバッファ部（受信バッファ）１０６ａに蓄積されたバッファ蓄積量と目標値との差分を計算する（ステップＳＥ−５）。すなわち、監視部１０２ｄは、蓄積量と目標値の差分を計算する。
【００８３】
そして、監視部１０２ｄは、観測したバッファ部（受信バッファ）１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっているか否か判定する（ステップＳＥ−６）。すなわち、監視部１０２ｄは、目標値の前後に設定したマージンとバッファ蓄積量とを比較する。
【００８４】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていると判定された場合（ステップＳＥ−６：Ｙｅｓ）、バッファ蓄積量と目標値との差分から送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、関数的に設定（決定）し（ステップＳＥ−７）、処理をステップＳＥ−１１に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっている場合、蓄積量と目標値との差分からクロック周波数を関数的に設定する。
【００８５】
一方、監視部１０２ｄは、バッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていないと判定された場合（ステップＳＥ−６：Ｎｏ）、観測したバッファ部（受信バッファ）１０６ａのバッファ蓄積量が最大値より多い、または、最小値より少ないか判定する（ステップＳＥ−８）。すなわち、監視部１０２ｄは、目標値とバッファ蓄積量とを比較する。
【００８６】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最小値より少ないと判定された場合（ステップＳＥ−８：少ない）、蓄積量と目標値との差分より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を低くするように決定し（ステップＳＥ−９）、処理をステップＳＥ−１１に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっていない場合、「バッファ蓄積量＜目標値−マージン」、すなわち、バッファ蓄積量が少ないので、蓄積量と目標値との差分を利用して周波数を低くしバッファからの出力を遅くなるように設定する。
【００８７】
一方、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最大値より多いと判定された場合（ステップＳＥ−８：多い）、蓄積量と目標値との差分より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を高くするように決定し（ステップＳＥ−１０）、処理をステップＳＥ−１１に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっていない場合、「バッファ蓄積量＞目標値＋マージン」、すなわち、バッファ蓄積量が多いので、蓄積量と目標値との差分を利用して周波数を高くバッファからの出力を速くなるように設定する。
【００８８】
そして、ステップＳＥ−１１乃至ステップＳＥ−１３の処理は、図４に示すステップＳＢ−１０乃至ステップＳＢ−１２と同様であるため、説明を省略する。
【００８９】
このように、本実施形態においては、目標値と蓄積量との差分を使用してクロック周波数を調整している。
【００９０】
［３−６．実施例６］
本実施形態の情報処理装置１００における処理の一例について図９を参照して説明する。図９は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【００９１】
図９に示すように、まず、ステップＳＦ−１およびステップＳＦ−２の処理は、図４に示すステップＳＢ−１およびステップＳＢ−２と同様であるため、説明を省略する。
【００９２】
そして、目標値設定部１０２ｆは、アンダーフローの発生および／または遅延の発生を防ぐように、バッファ部（受信バッファ）１０６ａに蓄積すべきバッファ蓄積量の目標値（最大値および最小値）を、監視部１０２ｄにより監視された今回の処理までのバッファ蓄積量（バッファ蓄積量の変動経過）から設定（決定）する（ステップＳＦ−３）。すなわち、記憶部１０６に記憶された今までに監視されたバッファ蓄積量より、目標値設定部１０２ｆにて受信バッファ蓄積量の目標値を設定する。
【００９３】
そして、目標値設定部１０２ｆは、ジッターが急激に変動するため、それにあわせてクロック周波数が急激に変化しないように、目標値前後に今回の処理までのバッファ蓄積量（バッファ蓄積量の変動経過）を考慮してマージンを設定する（ステップＳＦ−４）。ここで、マージンは、任意または可変の値であってもよい。すなわち、目標値設定部１０２ｆは、バッファ部１０６ａの蓄積量の変動に合わせてクロック周波数が急激に変動しないように、記憶部１０６に記憶された今までに監視されたバッファ蓄積量よりマージンを設定する。
【００９４】
そして、ステップＳＦ−５乃至ステップＳＦ−１１の処理は、図４に示すステップＳＢ−５乃至ステップＳＢ−１１と同様であるため、説明を省略する。
【００９５】
そして、監視部１０２ｄは、観測したバッファ蓄積量を記憶部１０６に記憶する（ＳＦ−１２）。
【００９６】
そして、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了したか否か判定する（ステップＳＦ−１３）。
【００９７】
そして、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了していないと判定した場合（ステップＳＦ−１３：Ｎｏ）、処理をステップＳＦ−１に移行させる。
【００９８】
一方、信号受信部１０２ａは、送信装置２００からの信号の伝送が終了したと判定した場合（ステップＳＦ−１３：Ｙｅｓ）、処理を終了する。このように、本実施形態においては、前回までのバッファの蓄積量より目標値とマージンを決定している。それにより、本実施形態においては、バッファ部１０６ａの蓄積量が最小になり、出力の遅延を最小化することが可能となる。また、本実施形態においては、クロック周波数がマージン前後に収まるようにすることができる。
【００９９】
［３−７．実施例７］
本実施形態の情報処理装置１００における処理の一例について図１０を参照して説明する。図１０は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【０１００】
図１０に示すように、まず、ステップＳＧ−１乃至ステップＳＧ−３の処理は、図４に示すステップＳＢ−１乃至ステップＳＢ−３と同様であるため、説明を省略する。
【０１０１】
そして、目標値設定部１０２ｆは、ジッターが急激に変動するため、それにあわせてクロック周波数が急激に変化しないように、目標値前後にマージンを段階的に複数設定する（ステップＳＧ−４）。ここで、マージンは、任意または可変の値であってもよい。すなわち、目標値設定部１０２ｆは、バッファ部１０６ａの蓄積量の変動に合わせてクロック周波数が急激に変動しないようにマージンを複数設定する。
【０１０２】
そして、監視部１０２ｄは、観測したバッファ部（受信バッファ）１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっているか否か判定する（ステップＳＧ−５）。すなわち、監視部１０２ｄは、目標値の前後に設定したマージンとバッファ蓄積量とを比較する。
【０１０３】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていると判定された場合（ステップＳＧ−５：Ｙｅｓ）、目標値設定部１０２ｆにより複数設定されたマージンを使用して、送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、段階的なクロック周波数変化をするように設定（決定）し（ステップＳＧ−６）、処理をステップＳＧ−１０に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっている場合、クロック周波数が目標値に近づくように段階的に設定する。
【０１０４】
そして、ステップＳＧ−７乃至ステップＳＧ−１２の処理は、図４に示すステップＳＢ−７乃至ステップＳＢ−１２と同様であるため、説明を省略する。
【０１０５】
このように、本実施形態においては、マージンを複数用意し、段階的にクロック周波数を変更している。
【０１０６】
［３−８．実施例８］
本実施形態の情報処理装置１００における処理の一例について図１１を参照して説明する。図１１は、本実施形態の情報処理装置１００における処理の一例を示すフローチャートである。
【０１０７】
図１１に示すように、まず、ステップＳＨ−１乃至ステップＳＨ−４の処理は、図４に示すステップＳＢ−１乃至ステップＳＢ−４と同様であるため、説明を省略する。
【０１０８】
そして、監視部１０２ｄは、観測したバッファ部（受信バッファ）１０６ａに蓄積されたバッファ蓄積量と目標値との差分を計算し、単位時間あたりのバッファ蓄積量の変動量を計算する（ステップＳＨ−５）。すなわち、監視部１０２ｄは、蓄積量と目標値の差分より、単位時間あたりの変動量を計算する。
【０１０９】
そして、監視部１０２ｄは、観測したバッファ部（受信バッファ）１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっているか否か判定する（ステップＳＨ−６）。すなわち、監視部１０２ｄは、目標値の前後に設定したマージンとバッファ蓄積量とを比較する。
【０１１０】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていると判定された場合（ステップＳＨ−６：Ｙｅｓ）、バッファ蓄積量と単位時間あたりのバッファ蓄積量の変動量とから送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、関数的に設定（決定）し（ステップＳＨ−７）、処理をステップＳＨ−１１に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっている場合、蓄積量と単位時間あたりの変動量からクロック周波数を関数的に設定する。
【０１１１】
一方、監視部１０２ｄは、バッファ部１０６ａに蓄積されたバッファ蓄積量がマージン内に収まっていないと判定された場合（ステップＳＨ−６：Ｎｏ）、観測したバッファ部（受信バッファ）１０６ａのバッファ蓄積量が最大値より多い、または、最小値より少ないか判定する（ステップＳＨ−８）。すなわち、監視部１０２ｄは、目標値とバッファ蓄積量とを比較する。
【０１１２】
そして、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最小値より少ないと判定された場合（ステップＳＨ−８：少ない）、単位時間あたりのバッファ蓄積量の変動量より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を低くするように決定し（ステップＳＨ−９）、処理をステップＳＨ−１１に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっていない場合、「バッファ蓄積量＜目標値−マージン」、すなわち、バッファ蓄積量が少ないので、蓄積量と単位時間あたりの変動量を利用して周波数を低くしバッファからの出力を遅くなるように設定する。
【０１１３】
一方、周波数変動量決定部１０２ｇは、監視部１０２ｄによりバッファ部１０６ａのバッファ蓄積量が最大値より多いと判定された場合（ステップＳＨ−８：多い）、単位時間あたりのバッファ蓄積量の変動量より送信クロックの（バッファ部１０６ａから情報を出力する場合のクロック周波数を調整するための）周波数変動量を、クロック周波数を高くするように決定し（ステップＳＨ−１０）、処理をステップＳＨ−１１に移行させる。すなわち、周波数変動量決定部１０２ｇは、バッファ蓄積量が目標値のマージン内に収まっていない場合、「バッファ蓄積量＞目標値＋マージン」、すなわち、バッファ蓄積量が多いので、蓄積量と単位時間あたりの変動量を利用して周波数を高くバッファからの出力を速くなるように設定する。
【０１１４】
そして、ステップＳＨ−１１乃至ステップＳＨ−１３の処理は、図４に示すステップＳＢ−１０乃至ステップＳＢ−１２と同様であるため、説明を省略する。
【０１１５】
このように、本実施形態においては、蓄積量の単位時間あたりの変動量よりクロック周波数を調整している。
【０１１６】
以上のように、本実施形態においては、送信側と受信側とでクロックの微小な差やネットワークの時間的なゆらぎが発生していた従来の課題を解決している。また、本実施形態においては、ジッター等によるオーバーフローまたはアンダーフローを抑制するためバッファを用意し情報を蓄積する必要があった従来の課題を解決している。
【０１１７】
また、本実施形態においては、用意したオーバーフローまたはアンダーフローを抑制するためバッファに一時的に情報を蓄積することにより遅延が発生していた従来の課題を解決している。それにより、本実施形態においては、医療における遠隔手術等において、バッファによる遅延時間を抑え、出来る限り低遅延でリアルタイムな情報の伝送を可能としている。
【０１１８】
このように、本実施形態においては、送信側から受信側へ情報を伝送するような情報伝送装置において、送信側から伝送された情報を受信側で一時的にバッファに蓄積してもよい。また、本実施形態においては、バッファの蓄積量より初期クロックを設定してもよい。また、本実施形態においては、リアルタイムでバッファの蓄積量を監視することで、伝送遅延が最小になるように目標値を設定してもよい。
【０１１９】
また、本実施形態においては、伝送状況によってバッファの蓄積量が変化し、クロック周波数の変動が急激にならないよう、目標値からのマージンを確保してもよい。また、本実施形態においては、バッファ蓄積量がマージン内に含まれるように出力クロック周波数を制御してもよい。
【０１２０】
また、本実施形態においては、バッファ蓄積量に応じて計算した出力クロック周波数に合わせて、受信バッファからの出力タイミングを調整してもよい。例えば、また、本実施形態においては、バッファ蓄積量が最大マージンよりも増加している場合はクロック周波数を速くし、逆に、バッファの蓄積量が最小マージンよりも減少している場合はクロック周波数を遅くしてもよい。
【０１２１】
［４．他の実施形態］
さて、これまで本発明の実施形態について説明したが、本発明は、上述した実施形態以外にも、特許請求の範囲に記載した技術的思想の範囲内において種々の異なる実施形態にて実施されてよいものである。
【０１２２】
また、実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。
【０１２３】
このほか、明細書中および図面中で示した処理手順、制御手順、具体的名称、各処理の登録データもしくは検索条件等のパラメータを含む情報、画面例、または、データベース構成については、特記する場合を除いて任意に変更することができる。
【０１２４】
また、情報処理装置１００に関して、図示の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。
【０１２５】
例えば、情報処理装置１００の各装置が備える処理機能、特に制御部１０２、または、制御部１０２にて行われる各処理機能については、その全部または任意の一部を、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）および当該ＣＰＵにて解釈実行されるプログラムにて実現してもよく、また、ワイヤードロジックによるハードウェアとして実現してもよい。尚、プログラムは、後述する、コンピュータに本発明に係る方法を実行させるためのプログラム化された命令を含む、一時的でないコンピュータ読み取り可能な記録媒体に記録されており、必要に応じて情報処理装置１００に機械的に読み取られる。すなわち、ＲＯＭまたはＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの記憶部１０６などには、ＯＳと協働してＣＰＵに命令を与え、各種処理を行うためのコンピュータプログラムが記録されている。このコンピュータプログラムは、ＲＡＭにロードされることによって実行され、ＣＰＵと協働して制御部を構成する。
【０１２６】
また、このコンピュータプログラムは、情報処理装置１００に対して任意のネットワーク３００を介して接続されたアプリケーションプログラムサーバに記憶されていてもよく、必要に応じてその全部または一部をダウンロードすることも可能である。
【０１２７】
また、本発明に係るプログラムを、コンピュータ読み取り可能な記録媒体に格納してもよく、また、プログラム製品として構成することもできる。ここで、この「記録媒体」とは、メモリーカード、ＵＳＢメモリ、ＳＤカード、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、および、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ等の任意の「可搬用の物理媒体」を含むものとする。
【０１２８】
また、「プログラム」とは、任意の言語や記述方法にて記述されたデータ処理方法であり、ソースコードやバイナリコード等の形式を問わない。なお、「プログラム」は必ずしも単一的に構成されるものに限られず、複数のモジュールやライブラリとして分散構成されるものや、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に代表される別個のプログラムと協働してその機能を達成するものをも含む。なお、実施形態に示した各装置において記録媒体を読み取るための具体的な構成、読み取り手順、あるいは、読み取り後のインストール手順等については、周知の構成や手順を用いることができる。
【０１２９】
記憶部１０６に格納される各種のデータベース等（バッファ部１０６ａ）は、ＲＡＭもしくはＲＯＭ等のメモリ装置、ハードディスク等の固定ディスク装置、フレキシブルディスク、および／または、光ディスク等のストレージ手段であり、各種処理やウェブサイト提供に用いる各種のプログラム、テーブル、データベース、および／または、ウェブページ用ファイル等を格納してもよい。
【０１３０】
また、情報処理装置１００は、既知のパーソナルコンピュータ、ワークステーション等の情報処理端末として構成してもよく、また、該情報処理端末に任意の周辺装置を接続して構成してもよい。また、情報処理装置１００は、該情報処理端末に本発明の方法を実現させるソフトウェア（プログラム、データ等を含む）を実装することにより実現してもよい。
【０１３１】
更に、装置の分散・統合の具体的形態は図示するものに限られず、その全部または一部を、各種の付加等に応じて、または、機能負荷に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。すなわち、上述した実施形態を任意に組み合わせて実施してもよく、実施形態を選択的に実施してもよい。
【産業上の利用可能性】
【０１３２】
以上のように、本発明に係る情報処理装置、および、出力調整方法は、産業上の多くの分野、特に情報通信分野および映像処理分野で実施することができ、極めて有用である。
【符号の説明】
【０１３３】
１００  情報処理装置
１０２  制御部
１０２ａ  信号受信部
１０２ｂ  蓄積部
１０２ｃ  バッファ観測化出力制御部
１０２ｄ  監視部
１０２ｅ  蓄積量変動量取得部
１０２ｆ  目標値設定部
１０２ｇ  周波数変動量決定部
１０２ｈ  周波数調整部
１０２ｉ  情報出力部
１０６  記憶部
１０６ａ  バッファ部
１１２  入出力部
２００  送信装置
３００  ネットワーク
４００  出力装置
【図１】
0005948361.tif 000002
【図２】
0005948361.tif 000003
【図３】
0005948361.tif 000004
【図４】
0005948361.tif 000005
【図５】
0005948361.tif 000006
【図６】
0005948361.tif 000007
【図７】
0005948361.tif 000008
【図８】
0005948361.tif 000009
【図９】
0005948361.tif 000010
【図１０】
0005948361.tif 000011
【図１１】
0005948361.tif 000012