時系列に入力されるフレームデータ列を構成するフレームデータを複数保持可能なフレームデータ保持手段と、上記フレームデータ保持手段が保持しているフレームデータを、制御に応じて出力するフレームデータ出力手段と、上記フレームデータ出力手段の出力先で、フレームデータの受入れが可能な期間に、上記フレームデータ保持手段が保持しているフレームデータのうち、最も前の時系列のフレームデータを、上記フレームデータ出力手段に出力させるものであって、上記フレームデータ出力手段がフレームデータを出力する周期が、出力フレーム周期となるように制御するフレーム出力制御手段と、上記フレームデータ出力手段が出力したフレームデータについて、フレームデータ保持手段から削除する第1の保持フレームデータ制御手段と、上記フレームデータ出力手段がフレームデータを出力するタイミングが、上記出力フレーム周期に基づくタイミングよりも遅延している場合の出力遅延量を求める出力遅延量算出手段と、現在の出力遅延量が、許容遅延量以上だった場合に、上記フレームデータ出力手段が最新に出力したフレームデータ以降の時系列のフレームデータを選択して、上記フレームデータ保持手段から削除する第2の保持フレームデータ制御手段と、現在の出力遅延量と、許容遅延量との比較結果に応じて、上記第2の保持フレームデータ制御手段に設定する許容遅延量を増減させる許容遅延量制御手段とを有することを特徴とするデータ制御装置。上記第2の保持フレームデータ制御手段は、現在の出力遅延量が、許容遅延量以上だった場合に、上記フレームデータ出力手段が最新に出力したフレームデータの次の時系列のフレームデータを選択して、上記フレームデータ保持手段から削除することを特徴とする請求項1に記載のデータ制御装置。上記許容遅延量制御手段は、現在の出力遅延量が、上記第2の保持フレームデータ制御手段に設定されている許容遅延量以上だった場合に、上記第2の保持フレームデータ制御手段に設定する許容遅延量を加算することを特徴とする請求項2に記載のデータ制御装置。上記許容遅延量制御手段は、現在の出力遅延量が、上記第2の保持フレームデータ制御手段に設定されている許容遅延量未満だった場合に、上記第2の保持フレームデータ制御手段に設定する許容遅延量を減算することを特徴とする請求項2又は3に記載のデータ制御装置。上記許容遅延量制御手段は、上記第2の保持フレームデータ制御手段に設定する許容遅延量が上限値に達した場合には、上記第2の保持フレームデータ制御手段に設定する許容遅延量を加算せずに、上記フレーム出力制御手段に設定する出力フレーム周期を現在よりも長い周期に設定することを特徴とする請求項3に記載のデータ制御装置。コンピュータを、時系列に入力されるフレームデータ列を構成するフレームデータを複数保持可能なフレームデータ保持手段と、上記フレームデータ保持手段が保持しているフレームデータを、制御に応じて出力するフレームデータ出力手段と、上記フレームデータ出力手段の出力先で、フレームデータの受入れが可能な期間に、上記フレームデータ保持手段が保持しているフレームデータのうち、最も前の時系列のフレームデータを、上記フレームデータ出力手段に出力させるものであって、上記フレームデータ出力手段がフレームデータを出力する周期が、出力フレーム周期となるように制御するフレーム出力制御手段と、上記フレームデータ出力手段が出力したフレームデータについて、フレームデータ保持手段から削除する第1の保持フレームデータ制御手段と、上記フレームデータ出力手段がフレームデータを出力するタイミングが、上記出力フレーム周期に基づくタイミングよりも遅延している場合の出力遅延量を求める出力遅延量算出手段と、現在の出力遅延量が、許容遅延量以上だった場合に、上記フレームデータ出力手段が最新に出力したフレームデータ以降の時系列のフレームデータを選択して、上記フレームデータ保持手段から削除する第2の保持フレームデータ制御手段と、現在の出力遅延量と、許容遅延量との比較結果に応じて、上記第2の保持フレームデータ制御手段に設定する許容遅延量を増減させる許容遅延量制御手段として機能させることを特徴とするデータ制御プログラム。時系列に入力されるフレームデータ列を構成するフレームデータを処理するフレームデータ処理手段と、上記動画像処理手段に入力されるフレームデータを制御するデータ制御手段とを備えるデータ処理装置において、上記データ制御手段として、請求項1~5のいずれかに記載のデータ制御装置を適用したことを特徴とするデータ処理装置。コンピュータを、時系列に入力されるフレームデータ列を構成するフレームデータを処理するフレームデータ処理手段と、上記フレームデータ処理手段に入力されるフレームデータを制御するデータ制御手段として機能させ、上記データ制御手段は、請求項1~5のいずれかに記載のデータ制御装置として機能することを特徴とするデータ処理プログラム。しかしながら、特許文献2の記載技術では、キャプチャデバイスでキャプチャ中にフレームレートを再設定できない構成の場合には実現することができない等の問題がある。以上のような問題に鑑みて、安定的にフレームデータ列を構成するフレームデータ例えば、映像信号を構成する各フレームのデータを処理例えば、符号化処理することができるデータ制御装置及びプログラム、並びに、データ処理装置及びプログラムが望まれている。第1の本発明のデータ制御装置は、1時系列に入力されるフレームデータ列を構成するフレームデータを複数保持可能なフレームデータ保持手段と、2上記フレームデータ保持手段が保持しているフレームデータを、制御に応じて出力するフレームデータ出力手段と、3上記フレームデータ出力手段の出力先で、フレームデータの受入れが可能な期間に、上記フレームデータ保持手段が保持しているフレームデータのうち、最も前の時系列のフレームデータを、上記フレームデータ出力手段に出力させるものであって、上記フレームデータ出力手段がフレームデータを出力する周期が、出力フレーム周期となるように制御するフレーム出力制御手段と、4上記フレームデータ出力手段が出力したフレームデータについて、フレームデータ保持手段から削除する第1の保持フレームデータ制御手段と、5上記フレームデータ出力手段がフレームデータを出力するタイミングが、上記出力フレーム周期に基づくタイミングよりも遅延している場合の出力遅延量を求める出力遅延量算出手段と、6現在の出力遅延量が、許容遅延量以上だった場合に、上記フレームデータ出力手段が最新に出力したフレームデータ以降の時系列のフレームデータを選択して、上記フレームデータ保持手段から削除する第2の保持フレームデータ制御手段と、7現在の出力遅延量と、許容遅延量との比較結果に応じて、上記第2の保持フレームデータ制御手段に設定する許容遅延量を増減させる許容遅延量制御手段とを有することを特徴とする。第2の本発明のデータ制御プログラムは、コンピュータを、1時系列に入力されるフレームデータ列を構成するフレームデータを複数保持可能なフレームデータ保持手段と、2上記フレームデータ保持手段が保持しているフレームデータを、制御に応じて出力するフレームデータ出力手段と、3上記フレームデータ出力手段の出力先で、フレームデータの受入れが可能な期間に、上記フレームデータ保持手段が保持しているフレームデータのうち、最も前の時系列のフレームデータを、上記フレームデータ出力手段に出力させるものであって、上記フレームデータ出力手段がフレームデータを出力する周期が、出力フレーム周期となるように制御するフレーム出力制御手段と、4上記フレームデータ出力手段が出力したフレームデータについて、フレームデータ保持手段から削除する第1の保持フレームデータ制御手段と、5上記フレームデータ出力手段がフレームデータを出力するタイミングが、上記出力フレーム周期に基づくタイミングよりも遅延している場合の出力遅延量を求める出力遅延量算出手段と、6現在の出力遅延量が、許容遅延量以上だった場合に、上記フレームデータ出力手段が最新に出力したフレームデータ以降の時系列のフレームデータを選択して、上記フレームデータ保持手段から削除する第2の保持フレームデータ制御手段と、7現在の出力遅延量と、許容遅延量との比較結果に応じて、上記第2の保持フレームデータ制御手段に設定する許容遅延量を増減させる許容遅延量制御手段として機能させることを特徴とする。第3の本発明のデータ処理装置は、時系列に入力されるフレームデータ列を構成するフレームデータを処理するフレームデータ処理手段と、上記動画像処理手段に入力されるフレームデータを制御するデータ制御手段とを備えるデータ処理装置において、上記データ制御手段として、第1の本発明のデータ制御装置を適用したことを特徴とする。第4の本発明のデータ処理プログラムは、コンピュータを、時系列に入力されるフレームデータ列を構成するフレームデータを処理するフレームデータ処理手段と、上記フレームデータ処理手段に入力されるフレームデータを制御するデータ制御手段として機能させ、上記データ制御手段は、第1の本発明のデータ制御装置として機能することを特徴とする。本発明によれば、安定的にフレームデータ列を構成するフレームデータを処理するデータ処理装置を提供することができる。A第1の実施形態以下、本発明によるデータ制御装置及びプログラム、並びに、データ処理装置及びプログラムの第1の実施形態を、図面を参照しながら詳述する。なお、この実施形態のデータ制御装置及びデータ処理装置は、フレームレート制御部及び映像符号化処理装置である。A-1第1の実施形態の構成図2は、第1の実施形態における各装置の接続関係、及び、第1の実施形態の映像符号化処理装置1の機能的構成について示したブロック図である。図1は、第1の実施形態に係る映像符号化処理装置1を構成するフレームレート制御部10の機能的構成について示したブロック図である。第1の実施形態の映像符号化処理装置1は、キャプチャデバイス2から入力される入力映像信号動画像信号について、フレーム単位で符号化する処理を行うものである。キャプチャデバイス2は、例えば、Webカメラ等のカメラにより撮像した映像に基づく入力映像データ映像信号を、リアルタイムに映像符号化処理装置1に入力するものである。キャプチャデバイス2としては、例えば、既存のPCに接続されるWebカメラ等を適用することができる。そして、映像符号化処理装置1は、フレームレート制御部10及び映像処理部20を有している。映像符号化処理装置1は、例えば、PCやワークステーション等の情報処理装置に、実施形態のデータ処理プログラム実施形態のデータ制御プログラムを含むをインストールすることにより構築することができ、その場合でも映像符号化処理装置1の機能的構成は、図1のように示すことができる。また、図1においては図示を省略しているが、映像符号化処理装置1とキャプチャデバイス2との間は、対応するインタフェース例えば、USBケーブル等により接続されており、映像符号化処理装置1側では、当該インタフェースを介してキャプチャデバイス2を制御するためのデバイス制御手段としてのデバイスドライバ例えば、WMDWindowsDriverModel登録商標準拠のデバイスドライバがインストールされているものとする。すなわち、映像符号化処理装置1では、論理的には上述のデバイスドライバを介して、キャプチャデバイス2に対する各種設定や、キャプチャデバイス2からの入力映像データ入力映像信号の受信が可能な構成となっているものとする。映像符号化処理装置1で適用されるデバイスドライバについては、上述の通り既存のものを適用することができるため、詳しい説明については省略する。フレームレート制御部10は、キャプチャデバイス2からデバイスドライバを介して入力された入力映像データ入力映像信号について、フレーム単位にバッファリングし、フレームレートを制御する処理等を施して、映像処理部20に供給する。以下では、フレーム単位の映像データを映像フレームと呼ぶものとする。この実施形態では、フレームレート制御部10は、図示しないデバイスドライバを介してキャプチャデバイス2から、映像フレームのデータと、当該映像フレームの時系列上の位置を表わす情報であるタイムスタンプのデータとを受信して処理するものとする。すなわち、キャプチャデバイス2からフレームレート制御部10へは、時系列に映像フレームのデータの列フレームデータ列が入力されることになる。フレームレート制御部10は、キャプチャデバイス2からの出力を受け、キャプチャデバイス2の出力フレームレートが、当該フレームレート制御部10に設定されたフレームレート以下、設定フレームレートと呼ぶと異なる場合でも、設定フレームレートで出力するように、入力されたデータの処理を行う。さらに、映像処理部103が、設定フレームレートで符号化処理ができない場合でも、時系列的に連続した映像フレームを破棄することを防ぐため、複数フレームの映像フレームを保持できるフレームバッファを備え、フレームバッファに保存されている映像フレームから、出力フレームを選択し、映像処理部103へ映像フレームを出力する。フレームレート制御部10に設定される設定フレームレートは、例えば、ユーザ操作や他のリソース例えば、デバイスドライバ等の制御等に応じて変更可能としても良い。映像処理部20は、フレームレート制御部10で処理された映像フレームが供給されるとその映像フレームについて符号化及び出力を行うものであり、映像符号化部21及び送信部22を有している。映像符号化部21は、フレームレート制御部10から出力された映像フレームを符号化し、符号化データのビットストリームを出力する。映像符号化部21は、フレームレート制御部10から供給された映像フレームについて符号化する処理を行うものである。映像符号化部21としては既存の映像符号化処理例えば、MPEGの符号化等を適用することができるので詳しい説明を省略する。送信部22は、映像符号化部21が符号化した符号化映像データを出力する機能を担っている。送信部22が符号化映像データを出力する方式については限定されないものであるが、この実施形態では、例えば、図示しないネットワーク上の宛先の通信装置例えば、映像配信サーバや対向するビデオ会議端末等に送信する処理を行うものとする。具体的には、送信部22は、映像符号化部21で出力されたビットストリームを伝送メディア出力メディアに応じた形で分割し、パケット化したのち、ヘッダを付与し、受信側復号側の装置へ送信するものとする。次に、フレームレート制御部10の内部構成について説明する。フレームレート制御部10は、映像入力部101、フレームバッファ制御部102、フレームバッファ103、データ取得部104、及び映像出力部111を有している。この実施形態では、フレームレート制御部10は、映像処理部20と同じハードウェア上に実現されているものとして説明するが、映像処理部20を独立した装置データ制御装置として構築別のハードウェア上に構築するようにしてもよい。この実施形態データ制御装置は、例えば、PCやワークステーション等の情報処理装置に、実施形態の実施形態のデータ制御プログラムをインストールすることにより構築することができる。映像入力部101は、キャプチャデバイス2から出力された映像フレームとタイムスタンプのデータを取得するものである。また、フレームバッファ103は複数の映像フレームを保存する領域を備える記憶手段メモリである。映像入力部101は、フレームバッファ制御部102にタイムスタンプを引き渡す。また、映像入力部101は、フレームバッファ制御部102の制御に応じた領域に受信した映像フレームのデータをフレームバッファ103へ映像フレームを保存する。すなわち、フレームレート制御部10には、複数の映像フレームのデータを格納することができ、フレームバッファ103に格納されている各映像フレームに対応するタイムスタンプ等の情報は、フレームバッファ制御部102で管理されている。フレームバッファ制御部102は、フレームバッファ103内の映像フレームのデータ格納位置例えば、アドレス等を制御する。具体的には、フレームバッファ制御部102は、キャプチャデバイス2からの映像フレームのデータ入力に対して、映像入力部101から入力された映像フレームのタイムスタンプを受け取り、フレームバッファ103内の格納位置格納領域を示す情報以下、フレーム保存情報と呼ぶを映像入力部101に返す。そして、映像入力部101は、フレームバッファ103内のフレームバッファ制御部102の制御に応じた位置に、当該映像フレームのデータを格納する。また、フレームバッファ制御部102は、データ取得部104からの映像フレームの取得要求に対して、フレームバッファ103内のどの映像フレームを出力するかを決定し、その映像フレームのフレーム保存情報を出力する。データ取得部104は、映像処理部103が処理可能になったタイミングで、フレームバッファ制御部102へ、映像フレームの取得要求を送り、フレームバッファ制御部102から得られたフレーム保存情報を用いて、フレームバッファ103から映像フレームをコピーし、それを映像出力部111へ渡す。映像出力部111は、データ取得部104から得た映像フレームのデータを映像処理部103へ渡すものである。なお、以下では、映像出力部111が映像フレームを出力する間隔に基づくフレームレートを出力フレームレートと呼ぶ。また、以下では、映像出力部111が映像フレームのデータを出力するタイミングが、当該映像フレームの設定フレームレートに基づく出力タイミング全ての映像フレームが設定フレームレートで出力された場合の当該映像フレームの出力タイミングよりも遅延している場合、その遅延時間遅延量を出力遅延時間と呼ぶものとする。次に、フレームバッファ制御部102の詳細な構成を説明する。フレームバッファ制御部102は、入力フレーム制御部105、フレームバッファ情報格納部106、出力フレーム制御部107、時間計測部108、出力フレーム決定部109、及び許容遅延量カウンタ110を有している。入力フレーム制御部105は、フレームバッファ情報格納部106を参照し、映像入力部101に入力された映像フレームをフレームバッファ103のどの領域に保存するか、というフレーム保存情報を決定する。また、入力フレーム制御部105は、フレーム保存情報と、映像入力部101から入力されたフレームレートを、フレームバッファ情報格納部106へ記録する。また、入力フレーム制御部105は、直前に前回入力された映像フレームのタイムスタンプを保持しておき、最新に受け取った映像フレームのタイムスタンプから、入力フレーム間隔前回の映像フレームの到来から、今回の映像フレームの到来までの間隔を得る。そして、入力フレーム制御部105は、入力フレーム間隔と内部に保持している設定フレームレートの値を比較し、最新に入力された映像フレームの破棄の要否を判定する。フレームバッファ情報格納部106は、フレームバッファ103内に保存されている各映像フレームに関する情報以下、フレーム情報と呼ぶを管理している。フレームバッファ情報格納部106で管理されるフレーム情報には、当該映像フレームの格納位置を表わすフレーム保存情報と、当該映像フレームのタイムスタンプの情報が含まれているものとする。フレーム保存情報の形式については限定されないものであるが、例えば、フレームバッファ103に10個の映像フレームを格納する領域があった場合に、それぞれの格納領域に付与されたインデックス番号例えば、1~10のいずれかの番号で表示するようにしても良い。そして、フレームバッファ制御部102では、上述のインデックス番号ごとに対応するタイムスタンプのデータを管理するようにしても良い。出力フレーム制御部107では、データ取得部104からのデータ取得要求を受け、それを出力フレーム決定部109へ通知する。さらに、出力フレーム制御部107は、出力フレーム決定部109から、出力映像フレームのフレーム保存情報を得て、データ取得部104へ通知する。また、出力フレーム制御部107は、時間計測部108から得た経過時間と、内部に保持している前回映像フレームを取得してからの経過時間と、設定フレームレートの値から、出力フレーム間隔を監視する。時間計測部108は、時間を計測するタイマであり、出力フレーム制御部107の制御に応じて動作例えば、計測時間のリセット及び計測開始し、出力フレーム制御部107の問合せに応じて現在の計測時間を返答する。出力フレーム決定部109は、フレームバッファ情報格納部106の情報と、出力フレーム制御部107から得られた経過時間から、出力する映像フレームを決定し、フレームバッファ情報格納部106から得られたフレーム保存情報を出力フレーム制御部107へ通知する。出力フレーム決定部109は、は、出力フレーム制御部107から得た経過時間と、フレームバッファ情報格納部106から得られるタイムスタンプと、設定フレームレートと、許容遅延量カウンタ110から得られる許容遅延量を用いて、出力すべき映像フレームを選択する。出力フレーム決定部109は、出力する映像フレーム決定の結果に基づいて、許容遅延量カウンタの値を変化させる。許容遅延量カウンタ110は、遅延が生じた場合、何フレーム分の遅延まで許容できるかという許容遅延量を保持しておくカウンタである。A-2第1の実施形態の動作次に、以上のような構成を有する第1の実施形態のフレームレート制御部10を構成するフレームレート制御部10の動作を説明する。上述の通り、映像符号化処理装置1を構成する映像処理部20は従来技術と同様のものを適用することができるため、以下では、フレームレート制御部10の動作を中心に説明する。まず、映像符号化処理装置1が符号化処理の動作を開始する前に、キャプチャデバイス2、フレームレート制御部10、映像処理部103に対し、キャプチャする映像のサイズ、色形式、フレームレートといった設定が行われたものとする。そして、フレームレート制御部10におけるこれらの設定は、フレームレート制御部10の入力フレーム制御部105、出力フレーム制御部107、出力フレーム決定部109にも反映されるものとする。また、フレームレート制御部10では、時間計測部108の経過時間、入力フレーム制御部105内部の直前フレームのタイムスタンプ、及び出力フレーム制御部107内部に設定されている直前フレームの経過時間が0ヘリセット初期化され、許容遅延量カウンタの値も初期値として1がセットされたものとする。フレームレート制御部10では、特許文献1の記載技術と同様に、フレームレート制御部10内のフレームバッファを用いて、出力する映像フレームの選択を行うため、キャプチャデバイス2からの入力の動作と、映像処理部103への出力動作は独立して動作するものとする。フレームレート制御部10への入力の動作としては、開始の指示が与えられると、映像入力部101により、キャプチャデバイス2から入力される映像フレーム及びタイムスタンプのデータの取得が開始され、映像フレームがフレームバッファ103に格納されるとともに、フレームバッファ制御部102では、フレームバッファ103に格納された映像フレームの管理等が行われる。フレームレート制御部10では、このような動作が、終了の指示が与えられるまで繰り返される。なお、キャプチャデバイス2から入力される映像フレームのフレームレートは、設定フレームレートとは異なる場合も有り得る。次に、フレームレート制御部10の出力側の動作を説明する。開始の指示が与えられると、フレームレート制御部10では、フレームバッファ103の中から選択された映像フレームが出力され、これが映像符号化部21へ入力される。フレームレート制御部10へ供給される動作の開始及び終了の指示の詳細については限定されないものであるが、例えば、ユーザの操作に基づく開始又は終了の指示信号が、デバイスドライバ等を介して伝達されるようにしても良い。また、フレームレート制御部10では、映像処理部20の動作と連動して動作の開始又は終了の有無を判定するようにしても良い。映像符号化部21では、H.264などの映像符号化方式で映像符号化が行われ、符号化されたビットストリームが出力される。次に、映像符号化部21で出力されたビットストリームが送信部22へ入力される。送信部22では、入力されたビットストリームを伝送メディアに応じた形で分割パケット化したのち、RTPヘッダといった送信に必要なヘッダが付与され、受信側複号側へ送信される。図3は、フレームレート制御部10に映像フレームのデータが入力された時の動作について示したフローチャートである。まず、フレームレート制御部10では、動作開始の指示を受け、動作を開始したものとする。そして、映像入力部101は、キャプチャデバイス2からの入力映像フレーム及びタイムスタンプがあるまで待機するS301。次に、映像入力部101はキャプチャデバイスからの入力映像フレーム及びタイムスタンプを受け、受け取ったタイムスタンプを入力フレーム制御部105へ入力するS302。以下では、入力フレーム制御部105に最新に入力された映像フレームを現フレームとも呼ぶものとする。次に、入力フレーム制御部105は、現フレームのタイムスタンプと、現フレームの直前に入力された映像フレーム直前フレームのタイムスタンプとを比較し、入力フレーム間隔を計算する。そして、入力フレーム制御部105は、設定フレームレートから、設定フレーム間隔を計算し、設定フレーム間隔と入力フレーム間隔とを比較するS303。そして、入力フレーム制御部105は、上述のステップS303の処理の結果、入力フレーム間隔が、設定フレーム間隔より短い場合は、フレームバッファ情報格納部106から、直前フレームのフレーム情報を消去するS304。このように、フレームバッファ情報格納部106から直前フレームのフレーム情報を消去することで、設定フレーム間隔内には1フレーム分の情報のみ保持されていることになるので、キャプチャデバイス2の出力フレームレートが設定したフレームレートより高い場合に対応できる。また、フレームバッファ制御部102では、フレームバッファ情報格納部106に格納されるフレーム情報を操作することにより、一旦フレームバッファ103に格納された各映像フレームについて、間接的に制御している。すなわち、フレームバッファ制御部102は、直接フレームバッファ103のデータの消去等は行わないが、フレームバッファ情報格納部106から消去対象となる映像フレームのフレーム情報を消去することで、フレームバッファ103における当該映像フレームの領域を解放リリースして上書きを可能とする管理を行っている。次に、入力フレーム制御部105は、フレームバッファ情報格納部106を参照し、フレームバッファ103内の空き領域から、現フレームを保存する位置フレーム保存情報を決定するS305。次に、入力フレーム制御部105は、フレームバッファ情報格納部106へ現フレームのフレーム保存情報と、タイムスタンプを、現フレームのフレーム情報として記録するS306。次に、入力フレーム制御部105は、現フレームのタイムスタンプを取得し、次の入力フレームの処理まで保持しておくS307。次に、入力フレーム制御部105は、映像入力部101へ、現フレームのフレーム保存情報を通知するS308。次に、映像入力部101は、入力フレーム制御部105から得た、フレームバッファ103内部のフレーム保存情報で示される領域に現フレームのデータ映像フレームのデータを保存するS309。そして、映像入力部101は、フレームレート制御部10への停止の指示があった場合には動作を終了し、停止の指示が無い場合には、上述のステップS301の処理から動作する。なお、フレームバッファ情報格納部106への操作読み取り、書き込みはは、入力フレーム制御部105、及び出力フレーム決定部109によって行われる。そのため、フレームバッファ103では、データの一貫性を保つために、入力フレーム制御部105又は出力フレーム決定部109が、フレームバッファ情報格納部106内の情報を操作する際には、他の構成要素からの書込みを禁止する排他制御を行う機能ロック機構に対応していることが望ましい。次に、フレームレート制御部10から映像フレームのデータが出力される時の動作について、図4~図6のフローチャートを用いて説明する。まず、フレームレート制御部10では、動作開始の指示を受け、動作を開始したものとする。そして、フレームレート制御部10では、動作開始にともなって時間計測部108による時間計測が開始されるものとする。そして、データ取得部104は、映像処理部103が動作可能か次の映像フレームのデータ受入れが可能であるか否かを確認しS401、動作可能であれば、で出力フレーム制御部107へフレーム出力要求を行うS402。次に、出力フレーム制御部107は、時間計測部108から動作開始からの経過時間を得るS403。次に、出力フレーム制御部107Aは、動作開始からの経過時間と、内部に保持している直前フレームを取得した時の経過時間から、出力フレーム間隔現在の経過時間-直前フレームを取得した時の経過時間を計算し、設定フレームレートから得られる設定フレーム間隔と比較するS404。そして、出力フレーム制御部107Aは、設定フレーム間隔と出力フレーム間隔を比較した結果、出力フレーム間隔が設定フレーム間隔より短かった場合は、上述のステップS403に戻って動作する。すなわち、出力フレーム制御部107Aは、出力フレーム間隔が設定フレーム間隔を超えるまで待機する。次に、出力フレーム制御部107は、現在の時間計測部108で計時している時間を、これから処理を行う映像フレームの取得時間以下、フレーム取得時間とも呼ぶとして取得し、その次の映像フレームの処理時まで保持しておくS405。フレーム取得時間は、その次の映像フレームの処理時の出力フレーム間隔の算出に適用される。次に、出力フレーム制御部107は、経過時間を出力フレーム決定部109へ通知するS406。フレームレート制御部10では、キャプチャデバイス2から入力される映像フレームのフレームレートが、設定フレームレートよりも遅い場合、データ取得部104がフレームバッファ103から映像フレームのデータを取得するタイミングで、フレームバッファ103に保存されている映像フレームが一つも無いという状況を避けるため、フレームバッファ103には少なくとも1フレーム分の映像が保存されている必要がある。そのため、出力フレーム決定部109は、フレームバッファ103で保持している映像フレームが無くならないようにフレームバッファ情報格納部106内のフレーム情報がなくならないように、フレームバッファ情報格納部106の情報を更新する必要がある。次に、出力フレーム決定部109は、フレームバッファ情報格納部106を参照し、現在のフレームバッファ103に保持している映像フレームの数を把握し、把握した映像フレームの数に応じて、その後の動作を決定するS407。上述のステップS407で保持する映像フレームの数が1と判定された場合、出力フレーム決定部109は、後述するステップS409から動作する。また、上述のステップS407で保持する映像フレームの数が2と判定された場合、出力フレーム決定部109は、後述するステップS408から動作する。さらに、上述のステップS407で保持する映像フレームの数が3以上と判定された場合、出力フレーム決定部109は、後述するステップS410から動作する。上述のステップS407で、保持する映像フレームの数が2と判定された場合、出力フレーム決定部109は、フレームバッファ情報格納部106に保存されているフレーム情報のうち、最もタイムスタンプの古い映像フレームの情報を、フレーバッファ情報部406から消去するS408。そして、上述のステップS407で保持する映像フレームの数が1と判定された場合、又は、上述のステップS408の処理の後、出力フレーム決定部109は、フレームバッファ情報格納部106に記録されている最もタイムスタンプの古い映像フレームのフレーム情報を取得しS409、後述するステップS420の処理に移行する。一方、上述のステップS407で、保持する映像フレームの数が3以上と判定された場合、出力フレーム決定部109は、フレームバッファ情報格納部106に保存しているフレーム情報のうち、最もタイムスタンプの古いものを、フレームバッファ情報格納部106から消去するS410。次に、出力フレーム決定部109は、フレームバッファ情報格納部106に保存されているフレーム情報のうち、最もタイムスタンプの古い映像フレームの情報フレーム保存情報及びタイムスタンプを取得するS411。次に、出力フレーム決定部109は、許容遅延量カウンタ110から、許容遅延カウンタ値を取得するS412。次に、出力フレーム決定部109は、遅延許容量カウンタ410から得た許容遅延カウンタ値遅延許容量と、設定レームレートから得られる設定フレーム間隔から、許容遅延時間=許容遅延カウンタ値×設定フレームレートを計算するS413。次に、出力フレーム決定部109は、フレームバッファ情報格納部106から取得したタイムスタンプの時間と時間計測部108の計時する時間とを比較して、現在の出力遅延時間を計算し、上述のステップS412で計算した許容遅延時間と比較するS414。ステップS414で、出力遅延時間が許容遅延時間を超えていた場合には、出力フレーム決定部109は、後述するステップS415から動作する。一方、ステップS414で、出力遅延時間が許容遅延時間を超えていない場合には、出力フレーム決定部109は、後述するステップS418から動作する。上述のステップS414で、出力遅延時間が許容遅延時間を超えていた場合には、出力フレーム決定部109は、フレームバッファ情報格納部106から取得したフレーム情報上述のステップS411で取得したフレーム情報を消去するS415。次に、出力フレーム決定部109は、出力フレーム決定部109は、フレームバッファ情報格納部106から、最もタイムスタンプが古い映像フレームのフレーム情報を取得するS416。次に、出力フレーム決定部109は、許容遅延量カウンタ110の遅延許容量カウンタ値をインクリメント1加算しS417、後述するステップS420の処理に移行する。一方、上述のステップS414で、出力遅延時間が許容遅延時間を超えていなかった場合には、出力フレーム決定部109は、遅延許容量カウンタ410から得た許容遅延カウンタ値許容遅延量が2以上であるかを確認するS418。ステップS418で、許容遅延カウンタ値が2以上だった場合には、出力フレーム決定部109は、許容遅延量カウンタ110の許容遅延カウンタ値をデクリメント1減らす処理を行い、後述するステップS420の処理に以降する。一方、上述のステップS418で、許容遅延カウンタ値が2以上でなかった場合1だった場合であった場合には、出力フレーム決定部109は、そのまま後述するステップS420の処理に移行する。そして、ステップS420では、出力フレーム決定部109は、出力する映像フレームのフレーム情報が得られたことになるので、出力する映像フレームのフレーム保存情報保存場所を出力フレーム制御部107へ通知する。次に、出力フレーム制御部107は、出力する映像フレームのフレーム保存情報保存場所を、データ取得部104へ通知するS421。次に、データ取得部104は、フレームバッファ103から、通知されたフレーム保存情報に対応する映像フレームのデータを取得コピーするS422。次に、データ取得部104は、取得した映像フレームのデータを、映像出力部111に供給するS423。次に、映像出力部111は、供給された映像フレームのデータを映像処理部103へ供給するS424。そして、フレームバッファ制御部102では、フレームレート制御部10への停止の指示があった場合には動作を終了し、停止の指示が無い場合には、上述のステップS401の処理から動作する。次に、上述のフローチャートの動作に従って、フレームレート制御部10が動作した場合の具体例について、図7、図8を用いて説明する。図7、図8では、14個の映像フレームFFa~Fnが、Fa、Fb、Fc、Fd、...、Fm、Fnという順序で、フレームレート制御部10に入力された場合の、フレームFa~Fnが入力されるタイミングTIa~TInと、映像フレームFa~Fnが出力されるタイミングTOa~TOnを示している。ただし、図7では、映像フレームFc、Fd、Ff、Fgについてはフレームレート制御部10内で廃棄され出力されないため、それらの映像フレームの出力タイミングについては図示されていない。また、図8では、映像フレームFc、Fe、Fh、Flについてはフレームレート制御部10内で廃棄され出力されないため、それらの映像フレームの出力タイミングについては図示されていない。なお、図7、図8では、映像フレームFa~Fnが、フレームレート制御部10に入力されるタイミングTIa~TInのそれぞれの間隔は、設定フレームレートに基づく設定フレーム間隔と一致しているものとする。図8では、フレームバッファ制御部102が、上述の図3~図6のフローチャートの通りに動作した場合の映像フレームの入出力について示している。一方、図7では、フレームレート制御部10が、映像処理部20で1つの映像フレームの処理が終了したタイミングにおいて、当該タイミングの直前にフレームレート制御部10に入力された映像フレームを、映像処理部20に入力した場合の例について示している。すなわち、図7では、フレームバッファ103に映像フレームを1つだけ格納する構成となっており、キャプチャデバイス2から映像フレームが入力されるごとに、フレームバッファ103に最新の映像フレームのデータが上書きされる場合の動作について示している。言い換えると、図7では、出力フレーム決定部109が、許容遅延量カウンタ110の許容遅延カウンタ値に応じた動作を行わない場合の動作について示している。まず、図7のタイミングチャートの詳細について説明する。図7では、まず、タイミングTIaで、映像フレームFaがフレームレート制御部10に入力されたものとする。そして、フレームレート制御部10は、映像フレームFaを、すぐに映像処理部20に入力する。そして、その後、フレームレート制御部10には、タイミングTIbの時点で映像フレームFbが入力されたものとする。そして、タイミングTIbとほぼ同じ時期のタイミングTOaまでに、映像処理部20による映像フレームFaの符号化処理が終了し、タイミングTOaの時点でフレームレート制御部10から映像処理部20に映像フレームFaが供給されたものとする。しかし、映像処理部20では、映像フレームFbについて処理時間が設定フレーム間隔よりも多くかかり、その間にフレームレート制御部10には、3つの映像フレームFc、Fd、Feが入力され、フレームバッファ103には映像フレームFeしか残っていない状態となったものとする。したがって、映像フレームFeがフレームレート制御部10に入力されるタイミングFIeよりも後の、タイミングTObで、映像処理部20による映像フレームFbの符号化処理が終了するが、フレームレート制御部10から映像処理部20に映像フレームFeが供給されることになる。すなわち、この場合、フレームレート制御部10では、映像フレームFc、Fdは連続して破棄されることになる。そして、図7に示すように、映像処理部20では、続く映像フレームFeについても、符号化処理が設定フレーム間隔よりも長くかかり、その間に3つの映像フレームFf、Fg、Fhがフレームレート制御部10に入力されている。その結果、フレームレート制御部10では、映像フレームFf、Fgは連続して破棄されることになる。したがって、図7に示すように、フレームバッファ103に映像フレームを1つだけ格納する場合には、フレームレート制御部10では、連続して映像フレームが破棄されることになる。次に、図8のタイミングチャートの詳細について説明する。なお、図8では、タイミングごとの許容遅延量カウンタ110の許容遅延カウンタ値の遷移についても図示している。許容遅延カウンタ値は、フレームレート制御部10で映像フレームを出力するごとに更新されるので、図8では、タイミングTOa、TOb、TOd、TOf、TOg、TOi、TOj、TOk、TOm、TOnのそれぞれのタイミングで更新される許容遅延カウンタ値の遷移を示している。例えば、許容遅延カウンタ値の初期値は1であるのでタイミングTOaまでは、許容遅延カウンタ値の値は1となっている。また、図8では、タイミングTObのタイミングで、許容遅延カウンタ値が2に変化している。さらに、図8では、タイミングTOdで、許容遅延カウンタ値が3に変化している。図8では、まず、タイミングTIaで、映像フレームFaがフレームレート制御部10に入力されたものとする。そして、フレームレート制御部10は、映像フレームFaを、すぐに映像処理部20に入力する。そして、その後、フレームレート制御部10には、タイミングTIbの時点で映像フレームFbが入力されたものとする。そして、タイミングTIbとほぼ同じタイミングTOaまでに、映像処理部20による映像フレームFaの符号化処理が終了し、タイミングTOaの時点でフレームレート制御部10から映像処理部20に映像フレームFaが供給されたものとする。なお、図8に示すようにタイミングTOaの後も、許容遅延カウンタ値は変化せず1のままである。そして、その後、映像処理部20では、映像フレームFbについて処理時間が設定フレーム間隔よりも多くかかり、その間にフレームレート制御部10には、3つの映像フレームFc、Fd、Feが入力されたものとする。そして、図8に示すように、映像フレームFeがフレームレート制御部10に入力されるタイミングFIeよりも後の、タイミングTObで、映像処理部20による映像フレームFbの符号化処理が終了する。タイミングTObの時点で、フレームバッファ103には4つの映像フレームFb、Fc、Fd、Feが保持されている状態となり、フレームレート制御部10では、次の映像フレームFcを取得しようとしても、許容遅延カウンタ値1に基づく許容遅延時間を超えた遅延が発生した状態となるため取得できない。したがって、タイミングTObの時点で、フレームバッファ103フレームバッファ情報格納部106から、映像フレームFcが消去上述のステップS415の処理され、フレームバッファ制御部102ではその次の映像フレームFdが取得され上述のステップS416の処理、さらに、許容遅延カウンタ値がインクリメント上述のステップS417の処理されて2に変化する。そして、図8に示すように、映像処理部20では、続く映像フレームFdについても、符号化処理が設定フレーム間隔よりも長くかかり、その間に3つの映像フレームFf、Fg、Fhがフレームレート制御部10に入力されている。そして、図8に示すように、映像フレームFhがフレームレート制御部10に入力されるタイミングFIhよりも後の、タイミングTOdで、映像処理部20による映像フレームFdの符号化処理が終了する。タイミングTOdの時点で、フレームバッファ103には5つの映像フレームFd、Fe、Ff、Fg、Fhが保持されている状態となり、フレームレート制御部10では、次の映像フレームFeを取得しようとしても、許容遅延カウンタ値2に基づく許容遅延時間を超えた遅延が発生した状態となるため取得できない。したがって、タイミングTOdの時点で、フレームバッファ103フレームバッファ情報格納部106から、映像フレームFeが消去上述のステップS415の処理され、フレームバッファ制御部102ではその次の映像フレームFfが取得され上述のステップS416の処理、さらに、許容遅延カウンタ値がインクリメント上述のステップS417の処理されて3に変化する。そして、図8に示すように、映像処理部20では、映像フレームFfについては、符号化処理が、概ね設定フレーム間隔で終了し、その間に1つの映像フレームFiだけがフレームレート制御部10に入力されている。そして、図8に示すように、映像フレームFiがフレームレート制御部10に入力されるタイミングFIiよりも後の、タイミングTOfで、映像処理部20による映像フレームFfの符号化処理が終了する。タイミングTOfの時点で、フレームバッファ103には4つの映像フレームFf、Fg、Fh、Fiが保持されている状態となり、フレームレート制御部10では、許容遅延カウンタ値3に基づく許容遅延時間を超えないため、次の映像フレームFgを取得することが可能となる上述のステップS414の処理でNoの判定となる。そして、フレームレート制御部10では、許容遅延カウンタ値がデクリメント上述のステップS419の処理されて2に変化する。以上のように、フレームレート制御部10で処理が行われた結果、フレームレート制御部10で破棄される映像フレームは、映像フレームFc、Fe、Fh、Flとなり、図7の例と比較すると、時系列的に連続する映像フレームが破棄されることはなくなることになる。A-3第1の実施形態の効果第1の実施形態によれば、以下のような効果を奏することができる。フレームレート制御部10では、図8に示すように連続してフレームが破棄されることなく、現在の出力遅延量と許容遅延量許容遅延カウンタ値に基づく遅延量との比較結果に応じて、分散してフレームが破棄されるため、出力される映像フレームに基づく映像に不均等なコマ落ちが起こらず、主観的な品質が向上する。フレームレート制御部10では、現在の出力遅延量と許容遅延カウンタ値に基づく許容遅延量との比較結果に応じて、許容遅延カウンタ値を増減させている。具体的には、フレームレート制御部10では、現在の出力遅延量が許容遅延カウンタ値に基づく許容遅延量を超える場合に、許容遅延カウンタ値の値をインクリメントし、現在の出力遅延量が許容遅延カウンタ値に基づく許容遅延量を下回る場合ただし、許容遅延カウンタ値が2以上の場合に、許容遅延カウンタ値の値をデクリメントしている。これにより、フレームレート制御部10では、出力遅延量が急激に変動した場合でも、許容遅延カウンタ値に基づいて、徐々に出力遅延を回復させるので、出力フレームレートの急激な変動や設定フレームレートとの乖離を抑制しつつ、出力遅延を回復させることができる。B第2の実施形態次に、本発明によるデータ制御装置及びプログラム、並びに、データ処理装置及びプログラムの第2の実施形態を、図面を参照しながら詳述する。なお、この実施形態のデータ制御装置及びデータ処理装置は、フレームレート制御部及び映像符号化処理装置である。B-1第2の実施形態の構成第2の実施形態の全体構成も、図2を用いて示すことができる。なお、図2において、括弧内の符号は、第2の実施形態でのみ用いられる符号である。そして、第2の実施形態の映像符号化処理装置1Aでは、フレームレート制御部10がフレームレート制御部10Aに置き換わっている点で、第1の実施形態と異なっている。以下では、第2の実施形態について第1の実施形態との差異を中心に説明する。図9は、第2の実施形態のフレームレート制御部10Aの機能的構成について示したブロック図である。第2の実施形態のフレームレート制御部10Aでは、フレームバッファ制御部102がフレームバッファ制御部102Aに置き換わっている点で、第1の実施形態と異なっている。そして、第2の実施形態のフレームバッファ制御部102Aでは、入力フレームレート更新部112が追加されている点で、第1の実施形態と異なっている。また、第2の実施形態のフレームバッファ制御部102Aでは、入力フレーム制御部105、フレームバッファ情報格納部106、出力フレーム制御部107、及び出力フレーム決定部109が、入力フレーム制御部105A、フレームバッファ情報格納部106A、出力フレーム制御部107A、及び出力フレーム決定部109Aに置き換わっている点で第1の実施形態と異なっている。入力フレームレート更新部112は、フレームレート制御部10Aの処理で利用する設定フレームレートを管理する機能を担っている。第1の実施形態のフレームレート制御部10では設定フレームレートは固定値であったが、第2の実施形態のフレームレート制御部10Aでは、適用する設定フレームレートが変動する。そのため、フレームレート制御部10Aでは、入力フレームレート更新部112により、動作を開始したときの初期の設定フレームレートの値以下、初期設定フレームレートと呼ぶと、現在の設定フレームレートとを保持している。そして、フレームレート制御部10Aは、保持している設定フレームレートを、出力フレーム制御部107A及び出力フレーム決定部109Aの制御に従って、保持する設定フレームレートを更新する。そして、この実施形態では、入力フレームレート更新部112は、出力フレーム制御部107Aからの設定フレームレートの更新要求を受けると、保持する設定フレームレートを初期値初期設定フレームレートへ更新する。また、入力フレームレート更新部112は、出力フレーム決定部109Aからの設定フレームレート更新要求を受けると、保持する設定フレームレートの値を、現在よりも下げるように更新する。第1の実施形態の入力フレーム制御部105は、設定フレームレートに基づいたタイミングで、フレームバッファ103への映像フレームの受入れを行っているが、第2の実施形態の入力フレーム制御部105Aでは、現在の入力フレームレート更新部112で保持されている設定フレームレートに基づいたタイミング間隔で、フレームバッファ103への映像フレームの受入れを行う。また、入力フレーム制御部105Aは、入力された映像フレームのフレーム情報として、フレーム保存情報、タイムスタンプ、及び当該映像フレームの受入れ時にフレームレート更新部112から得られる設定フレームレートを、フレームバッファ情報格納部106Aへ記録する。出力フレーム制御部107Aは、上述の通り、入力フレームレート更新部112への制御を行う点で、第1の実施形態と異なっている。出力フレーム制御部107Aは、時間計測部108から得た経過時間と、内部に保持している直前フレーム取得時の経過時間と、出力フレーム決定部109Aの状態に基づいて、出力フレーム間隔を監視する。さらに、出力フレーム間隔を監視した結果、データ取得要求が待たされる状況が発生した場合は、入力フレームレート更新部112へ、設定フレームレートの更新要求を行う。第1の実施形態では、許容遅延量カウンタ110に設定する許容遅延量カウンタ110に上限を設けてはいないが、第2の実施形態の出力フレーム決定部109Aでは、許容遅延カウンタ値の上限値が設定されており、許容遅延カウンタ値が上限値に達した場合にはそれ以上加算インクリメントを行わない。そして、出力フレーム決定部109Aは、許容遅延カウンタ値が上限値に達した場合には、入力フレームレート更新部112へ、入力フレームレートの更新を要求する。B-2第2の実施形態の動作次に、以上のような構成を有する第2の実施形態のフレームレート制御部10Aを構成するフレームレート制御部10Aの動作を説明する。フレームレート制御部10Aの、キャプチャデバイスからの映像入力時の動作を、図10を用いて説明する。まず、第1の実施形態と同様に、映像符号化処理装置1Aでは、符号化処理の動作を開始する前に、キャプチャデバイス2、フレームレート制御部10A、映像処理部103に対し各種設定が行われ、フレームレート制御部10Aにも反映されたものとする。また、フレームレート制御部10Aでは、時間計測部108の経過時間、入力フレーム制御部105A内部の直前フレームのタイムスタンプ、及び出力フレーム制御部107A内部に設定されている直前フレームの経過時間が0ヘリセット初期化され、許容遅延量カウンタの値も初期値として1がセットされたものとする。次に、フレームレート制御部10Aの、キャプチャデバイス2からの映像フレーム入力時の動作を、図10を用いて説明する。まず、フレームレート制御部10Aでは、動作開始の指示を受け、動作を開始したものとする。そして、映像入力部101は、キャプチャデバイス2からの入力映像フレーム及びタイムスタンプがあるまで待機するS901。次に、映像入力部101はキャプチャデバイスからの入力映像フレーム及びタイムスタンプを受け、受け取ったタイムスタンプを入力フレーム制御部105Aへ入力するS902。次に、入力フレーム制御部105Aは、入力フレームレート更新部112から、設定フレームレートの最新の値を得るS903。次に、入力フレーム制御部105Aは、現フレームのタイムスタンプと、保持している直前フレームのタイムスタンプとを比較し、入力フレーム間隔を計算する、そして、入力フレーム制御部105Aは、設定フレームレートから、設定フレーム間隔を計算し、設定フレーム間隔と入力フレーム間隔とを比較するS904。そして、入力フレーム制御部105Aは、上述のステップS904の処理の結果、入力フレーム間隔が、設定フレーム間隔より短い場合は、フレームバッファ情報格納部106Aから、直前フレームの情報を消去するS905。次に、入力フレーム制御部105Aは、フレームバッファ情報格納部106Aを参照し、空き領域から、現フレームを保存する位置フレーム保存情報を決定するS906。次に、入力フレーム制御部105Aは、フレームバッファ情報格納部106Aへフレーム情報入力フレームのフレーム保存情報、タイムスタンプ、及び設定フレームレートを含むを記録するS907。次に、入力フレーム制御部105Aは、現フレームのタイムスタンプを取得し、次の入力フレームの処理まで保持しておくS908。次に、入力フレーム制御部105Aは、映像入力部101へ、最新に入力された映像フレームのフレーム保存情報を通知するS909。次に、映像入力部101は、入力フレーム制御部105Aから得た、フレームバッファ103内部のフレーム保存情報で示される領域に現フレームのデータ映像フレームのデータを保存するS910。そして、映像入力部101は、フレームレート制御部10Aへの停止の指示があったか否かを判定しS911、停止の指示場合には動作を終了し、停止の指示が無い場合には、上述のステップS901の処理から動作する。次に、フレームレート制御部10Aから映像フレームのデータが出力される時の動作について、図11~図14のフローチャートを用いて説明する。まず、フレームレート制御部10Aでは、動作開始の指示を受け、動作を開始したものとする。そして、フレームレート制御部10Aでは、動作開始にともなって時間計測部108による時間計測が開始されるものとする。そして、データ取得部104は、映像処理部103が動作可能かを確認しS1001、動作可能であれば、で出力フレーム制御部107Aへフレーム出力要求を行うS1002。次に、出力フレーム制御部107Aは、時間計測部108から動作開始からの経過時間を得るS1003。次に、出力フレーム制御部107Aは、動作開始からの経過時間と、内部に保持している直前フレームを取得した時の経過時間から、出力フレーム間隔を計算し、設定フレームレートから得られる設定フレーム間隔と比較するS1004。そして、出力フレーム制御部107Aは、設定フレーム間隔と出力フレーム間隔を比較した結果、出力フレーム間隔が設定フレーム間隔より短かった場合は、後述するステップS1005から動作し、出力フレーム間隔が設定フレーム間隔より長かった場合は、後述するステップS1008から動作する。上述のステップS1004で、出力フレーム間隔が設定フレーム間隔より短かった場合は、映像処理部103の処理が、設定フレームレートよりも早く符号化処理を完了しているということになるので、出力フレーム制御部107Aは、映像処理部103の処理が完了するまで、上述のステップS1003の処理に戻る処理により、待機状態を継続することになる。ただし、出力フレーム制御部107Aは、待機状態に入ったときにだけ、入力フレームレート更新部112へフレームレート更新要求を通知し、入力フレームレート更新部112は、内部に設定している設定フレームレートを初期値に更新するS1005~S1007。なお、この場合、入力フレームレート更新部112は、必ずしも初期値へ更新する必要はなく、初期値を上限として、現在の設定値より高い値を、設定フレームレートとして設定するようにしてもよい。一方、上述のステップS1004で、出力フレーム間隔が設定フレーム間隔より長かった場合設定フレーム間隔の時間を経過した場合には、出力フレーム制御部107Aは、現在の時間計測部108で計時している時間を、フレーム取得時間として取得し、その次の映像フレーム処理時まで保持しておくS1008。次に、出力フレーム制御部107Aは、経過時間を出力フレーム決定部109Aへ通知するS1009。次に、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aを参照し、現在のフレームバッファ103に保持している映像フレームの数を把握し、把握した映像フレームの数に応じて、その後の動作を決定するS1010。上述のステップS1010で保持する映像フレームの数が1と判定された場合、出力フレーム決定部109Aは、後述するステップS1012から動作する。また、上述のステップS1010で保持する映像フレームの数が2と判定された場合、出力フレーム決定部109Aは、後述するステップS1011から動作する。さらに、上述のステップS1010で保持する映像フレームの数が3以上と判定された場合、出力フレーム決定部109Aは、後述するステップS1013から動作する。上述のステップS1010で、保持する映像フレームの数が2と判定された場合、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aに保存されているフレーム情報のうち、最もタイムスタンプの古い映像フレームの情報を、フレーバッファ情報部406から消去するS1011。そして、上述のステップS1010で保持する映像フレームの数が1と判定された場合、又は、上述のステップS1011の処理の後、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aに記録されている最もタイムスタンプの古い映像フレームのフレーム情報を取得しS1012、後述するステップS1026の処理に移行する。一方、上述のステップS1010で、保持する映像フレームの数が3以上と判定された場合、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aに保存しているフレーム情報のうち、最もタイムスタンプの古いものを、フレームバッファ情報格納部106Aから消去するS1013。次に、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aに保存されているフレーム情報のうち、最もタイムスタンプの古い映像フレームの情報フレーム保存情報及びタイムスタンプを取得するS1014。次に、出力フレーム決定部109Aは、許容遅延量カウンタ110から、許容遅延カウンタ値を取得するS1015。次に、出力フレーム決定部109Aは、許容遅延量カウンタ110から得た許容遅延カウンタ値遅延許容量と、設定レームレートから得られる設定フレーム間隔から、許容遅延時間を計算するS1016。次に、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aから取得したタイムスタンプの時間と時間計測部108の計時する時間とを比較して、現在の出力遅延時間を計算し、上述のステップS1016で計算した許容遅延時間と比較するS1017。ステップS1017で、出力遅延時間が許容遅延時間を超えていた場合には、出力フレーム決定部109Aは、後述するステップS1018から動作する。一方、ステップS1017で、出力遅延時間が許容遅延時間を超えていない場合には、出力フレーム決定部109Aは、後述するステップS1024から動作する。上述のステップS1017で、出力遅延時間が許容遅延時間を超えていた場合には、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aから取得したフレーム情報上述のステップS1011で取得したフレーム情報を消去するS1018。次に、出力フレーム決定部109Aは、出力フレーム決定部109Aは、フレームバッファ情報格納部106Aから、最もタイムスタンプが古い映像フレームのフレーム情報を取得するS1019。次に、出力フレーム決定部109Aは、許容遅延量カウンタ110の遅延許容量カウンタ値をインクリメント1加算するS1020。次に、出力フレーム決定部109Aは、現在の許容遅延カウンタ値許容遅延量と、許容遅延カウンタ値に対する上限の閾値とを比較するS1021。上述のステップS1021で、現在の許容遅延カウンタ値許容遅延量が許容遅延カウンタ値に対する上限の閾値に達した等しくなったと判定された場合には、出力フレーム決定部109Aは、入力フレームレート更新部112へ、設定フレームレートの更新要求を通知するS1022。そして、設定フレームレートの更新要求を受けると、入力フレームレート更新部112は、設定フレームレートの設定値を現在の値よりも低く設定するS1023。この場合、入力フレームレート更新部112は、例えば、初期値の半分のフレームレートとなるように、設定フレームレートを設定するようにしても良い。また、例えば、入力フレームレート更新部112は、一定時間内のフレームバッファ103内のデータ量の増加分から、符号化処理にかかる時間を推定し、再設定する設定フレームレートを決定するようにしてもよい。一方、上述のステップS1017で、出力遅延時間が許容遅延時間を超えていなかった場合には、出力フレーム決定部109Aは、許容遅延量カウンタ110から得た許容遅延カウンタ値許容遅延量が2以上であるかを確認するS1024。ステップS1024で、許容遅延カウンタ値が2以上だった場合には、出力フレーム決定部109Aは、許容遅延量カウンタ110の許容遅延カウンタ値をデクリメント1減らす処理を行い、後述するステップS1026の処理に移行する。一方、上述のステップS1024で、許容遅延カウンタ値が2以上でなかった場合1であった場合には、出力フレーム決定部109Aは、そのまま後述するステップS1026の処理に移行する。そして、ステップS1026では、出力フレーム決定部109Aは、出力する映像フレームのフレーム情報が得られたことになるので、出力する映像フレームのフレーム保存情報保存場所を出力フレーム制御部107Aへ通知する。次に、出力フレーム制御部107Aは、出力する映像フレームのフレーム保存情報保存場所を、データ取得部104へ通知するS1027。次に、データ取得部104は、フレームバッファ103から、通知されたフレーム保存情報に対応する映像フレームのデータを取得コピーするS1028。次に、データ取得部104は、取得した映像フレームのデータを、映像出力部111に供給するS1029。次に、映像出力部111は、供給された映像フレームのデータを映像処理部103へ供給するS1030。そして、フレームバッファ制御部102Aでは、フレームレート制御部10Aへの停止の指示があったか否かを確認しS1031、停止の指示があった場合には動作を終了し、停止の指示が無い場合には、上述のステップS1001の処理から動作する。B-3第2の実施形態の効果第2の実施形態によれば、以下のような効果を奏することができる。第1の実施形態では、突発的に出力遅延量が大きくなった場合映像処理部20の処理時間が長くなった場合を想定した構成となっているが、継続して慢性的に出力遅延量が増えていく場合、フレームバッファ103の容量が足りなくなったり、映像処理部20が出力するデータの品質例えば、リアルタイム性が損なわれたりする場合がある。そのため、第2の実施形態のフレームレート制御部10Aでは、許容遅延量許容遅延カウンタ値に基づく遅延量の上限値を設け、許容遅延量の上限に達した場合、フレームバッファ103へ入力する映像フレームのフレームレートを下げることで、実質的な出力フレームレートの変更を行っている。C他の実施形態本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。C-1上記の各実施形態では、フレームレート制御部データ制御装置のフレームデータの出力先は、映像処理部映像フレームデータの符号化を行う装置であるが、フレームレート制御部データ制御装置の出力先は、リアルタイムなデータ処理を行うもの例えば、暗号化処理等であれば限定されないものである。また、上記の各実子形態では、フレームレート制御部データ制御装置が扱うフレームデータは映像動画像を構成する映像フレームデータであるが、その他のリアルタイムデータ例えば、音声データ等のストリームデータの一部を構成するフレームデータとしてもよい。C-2上記の各実施形態のフレームレート制御部では、キャプチャデバイスから映像フレームデータごとのタイムスタンプの供給を受けているが、タイムスタンプの供給を受けないようにしてもよい。例えば、フレームレート制御部で、内部のタイマ例えば、時間計測部の経過時間に応じたタイムスタンプを付与映像フレームデータを供給された時の時間をタイムスタンプとして付与するようにしてもよい。これは、キャプチャデバイスまたは、デバイスドライバによっては、正しいタイムスタンプを出力しないものもあるため、このようなデバイスがフレームレート制御部に接続された場合でも、内部でタイムスタンプを生成することができれば正常に動作が可能となる。C-3第2の実施形態において、入力フレームレート更新部の動作のうち、フレームレートを低く設定する動作ステップS1022の処理の例として、フレームレートを半分としているが、現在の設定値より低くなるような設定であれば、具体的な計算方式は限定されないものである。