(57)【要約】【構成】再生動作が開始されると、ＣＰＵ５０による再生タスクの実行によって、音声データが所定量ずつ再生音声エリア４６ｄに書き込まれる。再生音声エリア４６ｄに格納された音声データは、Ａ−Ｉ／Ｆ３４によるＤＭＡ処理によって連続的に読み出される。ここで、ＣＰＵ５０は、再生周波数を目標周波数を基準として変動させるとともに、再生タスクの遅れ度に基づいて目標周波数を補正する。【効果】音声データの読み出し速度を目標速度を基準に変動させることで、出力音声の途切れを防止することができる。また、再生タスクの遅れ度に基づいて目標周波数を補正することで、再生タスクの定常的な遅れに起因する出力音声の歪みを抑制することができる。【選択図】  図１
2004170675.tif 000002
【特許請求の範囲】
【請求項１】
音声データをＣＰＵのソフトウェア処理によって所定量ずつバッファメモリに書き込み、前記バッファメモリに格納された音声データをハードウェア処理によって連続的に読み出すデータ処理装置において、
前記バッファメモリからの音声データの読み出し速度を目標速度を基準として変動させる第１変動手段、および
前記ソフトウェア処理の遅れ度に基づいて前記目標速度を補正する補正手段を備えることを特徴とする、データ処理装置。
【請求項２】
前記バッファメモリに格納された音声データ量に基づいて前記読み出し速度を変動させる第２変動手段をさらに備える、請求項１記載のデータ処理装置。
【請求項３】
前記ＣＰＵは複数のタスクを並列して実行するかつ前記ソフトウェア処理を１つのタスクによって実行するマルチタスクＣＰＵである、請求項１または２記載のデータ処理装置。
【請求項４】
前記第１変動手段は第１周期で前記読み出し速度を変動させ、
前記補正手段は前記第１周期よりも長い第２周期で前記目標速度を補正する、請求項１ないし３のいずれかに記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、データ処理装置に関し、特にたとえば監視カメラシステムに適用され、音声データをバッファメモリを介して出力する、データ処理装置に関する。
【０００２】
【従来技術】
従来のこの種のデータ処理装置として、監視カメラおよびマイクロフォンからそれぞれ出力された動画像データおよび音声データを記録媒体に記録するとともに、記録媒体から再生された動画像データおよび音声データをそれぞれモニタおよびスピーカに出力するものがあった。この従来技術では、記録タスクおよび再生タスクを含む複数のタスクがマルチタスクＣＰＵによって並列実行され、再生タスクの実行によって画像バッファおよび音声バッファに蓄積された動画像データおよび音声データはＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）転送によってモニタおよびスピーカに出力されていた。
【０００３】
ただし、同時記録再生のような多数のタスクが起動するモードでは、再生タスクの処理の遅れに起因して画像バッファおよび音声バッファが枯渇し、出力動画像がフリーズするとともに、出力音声が途切れる可能性がある。そこで、従来技術では、出力動画像のフリーズを許容する一方、出力音声の途切れを回避するべく音声データの再生周波数を補正するようにしていた。具体的には、記録周波数（＝７８６７Ｈｚ）を再生周波数の目標周波数として設定するとともに、音声バッファの蓄積データ量が減少したときに再生周波数を低下させるようにしていた。
【０００４】
【発明が解決しようとする課題】
しかし、再生タスクが定常的に遅れる場合、記録周波数はもはや最適周波数ではない。にも拘らず、従来技術では、常に再生周波数を記録周波数に合わせようとしていた。この結果、蓄積データ量の減少時に再生周波数を低下させる処理と再生周波数を目標周波数に合わせる処理とが繰り返し実行され、出力音声が頻繁に歪むこととなっていた。
【０００５】
それゆえに、この発明の主たる目的は、出力音声の途切れを防止でき、かつ出力音声の歪みを抑制することができる、データ処理装置を提供することである。
【０００６】
【課題を解決するための手段】
この発明によれば、音声データをＣＰＵのソフトウェア処理によって所定量ずつバッファメモリに書き込み、バッファメモリに格納された音声データをハードウェア処理によって連続的に読み出すデータ処理装置は、バッファメモリからの音声データの読み出し速度を目標速度を基準として変動させる第１変動手段、およびソフトウェア処理の遅れ度に基づいて目標速度を補正する補正手段を備えることを特徴とする。
【０００７】
【作用】
音声データは、ＣＰＵのソフトウェア処理によって所定量ずつバッファメモリに書き込まれる。バッファメモリに格納された音声データは、ハードウェア処理によって連続的に読み出される。ここで、第１調整手段は、バッファメモリからの音声データの読み出し速度を目標速度を基準として変動させる。補正手段は、ソフトウェア処理の遅れ度に基づいて目標速度を補正する。
【０００８】
音声データの読み出し速度を目標速度を基準に変動させることで、出力音声の途切れが回避される。また、ソフトウェア処理の遅れ度に基づいて目標速度を補正することで、ソフトウェア処理の定常的な遅れに起因する出力音声の歪みが抑制される。
【０００９】
好ましくは、第２変動手段が、バッファメモリに格納された音声データ量に基づいて、読み出し速度を変動させる。これによって、出力音声の途切れが確実に防止される。
【００１０】
ＣＰＵは、好ましくは、複数のタスクを並列して実行するかつソフトウェア処理を１つのタスクによって実行するマルチタスクＣＰＵである。複数のタスクが並列して実行される場合、音声データをバッファメモリに書き込むタスクの起動周期が定常的に長くなるおそれがある。かかる場合に、目標速度を補正する効果が顕著に現れる。
【００１１】
第１変動手段が第１周期で読み出し速度を変動させ、補正手段が第１周期よりも長い第２周期で目標速度を補正するようにすれば、出力音声の頻繁な歪みが抑制される。
【００１２】
【発明の効果】
この発明によれば、音声データの読み出し速度を目標速度を基準に変動させるようにしたため、出力音声の途切れを防止することができる。また、ソフトウェア処理の遅れ度に基づいて目標速度を補正するようにしたため、出力音声の歪みを抑制することができる。
【００１３】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【００１４】
【実施例】
図１を参照して、この実施例の監視カメラシステム１０は、監視カメラ１２，マイクロフォン１４，モニタ１６，スピーカ１８およびハードディスクレコーダ２０によって形成される。被写体は監視カメラ１２によって撮影され、被写体周辺の音声はマイクロフォン１４によって捉えられる。監視カメラ１２から出力された各フィールドの画像データはハードディスクレコーダ２０に設けられたＶ−Ｉ／Ｆ２２に与えられ、マイクロフォン１４から出力された音声信号は、Ａ／Ｄ変換器２４を介して音声データとしてＡ−Ｉ／Ｆ２６に与えられる。
【００１５】
操作パネル５２に設けられた記録開始キーＲＳが操作されると、記録動作が開始される。ＣＰＵ５０は、所定フィールド数に１回の割合での画像データの取り込みをＶ−Ｉ／Ｆ２２に命令し、連続的な音声データの取り込みをＡ−Ｉ／Ｆ２６に命令する。Ｖ−Ｉ／Ｆ２２は、監視カメラ１２から取り込んだ画像データをバス３６を介してメモリ制御回路４４に与える。Ａ−Ｉ／Ｆ２６は、Ａ／Ｄ変換器２４から取り込んだ音声データをバス３６を介してメモリ制御回路４４に与える。画像データおよび音声データは、メモリ制御回路４４によってＳＤＲＡＭ４６に書き込まれる。
【００１６】
ＳＤＲＡＭ４６には、記録画像エリア４６ａ，再生画像エリア４６ｂ，記録音声エリア４６ｃ，および再生音声エリア４６ｄが形成される。記録画像エリア４６ａはさらに圧縮待ちエリア４６１ａおよび圧縮済みエリア４６２ａに分割され、再生画像エリア４６ｂは伸長待ちエリア４６１ｂおよび伸長済みエリア４６２ｂに分割される。Ｖ−Ｉ／Ｆ２２から出力された画像データは圧縮待ちエリア４６１ａに書き込まれ、Ａ−Ｉ／Ｆ２６から出力された音声データは記録音声エリア４６ｃに書き込まれる。なお、圧縮待ちエリア４６１ａ，圧縮済みエリア４６２ａ，伸長待ちエリア４６１ｂ，伸長済みエリア４６２ｂ，記録音声エリア４６ｃおよび再生音声エリア４６ｄのいずれもリングバッファとして動作し、アドレスは循環的に更新される。
【００１７】
ＣＰＵ５０はまた、圧縮処理を行うべく、ＪＰＥＧコーデック４８に圧縮命令を与える。ＪＰＥＧコーデック４８は、注目フィールドの画像データの読み出しをメモリ制御回路４４に要求し、メモリ制御回路４４によって圧縮待ちエリア４６１ａから読み出された画像データをバス３６を介して取り込み、そして取り込んだ画像データにＪＰＥＧ圧縮を施す。圧縮画像データが得られると、ＪＰＥＧコーデック４８は、この圧縮画像データの書き込みをメモリ制御回路４４に要求する。圧縮画像データは、メモリ制御回路４４によって圧縮済みエリア４６２ａに格納される。
【００１８】
注目フィードについての圧縮処理が完了すると、ＣＰＵ５０は、圧縮済みエリア４６２ａに格納された注目フィールドの圧縮画像データが所定のサイズ条件を満たすかどうか判別する。そして、サイズ条件が満たされなければ、注目フィールドの画像データに対して圧縮処理を再度実行する。このときも、ＪＰＥＧコーデック４８に圧縮命令を与える。
【００１９】
注目フィールドについてサイズ条件を満たす圧縮画像データが得られると、ＣＰＵ５０は、記録処理を行うべく、ＨＤＤ−Ｉ／Ｆ３８に記録命令を与える。ＨＤＤ−Ｉ／Ｆ３８は、注目フィールドの圧縮画像データおよびこれに関連する音声データの読み出しをメモリ制御回路４４に要求し、メモリ制御回路４４によって圧縮済みエリア４６２ａおよび記録音声エリア４６ｂから読み出された圧縮画像データおよび音声データをＨＤＤ４０に与える。圧縮画像データおよび音声データは、ＨＤＤ４０によってハードディスク４２に記録される。
【００２０】
なお、Ａ／Ｄ変換器２４の処理速度（記録周波）は７８６７Ｈｚであり、音声データの記録は、この処理速度に同期して実行される。また、以上の記録動作は、記録終了キーＲＥの操作に応答して終了される。
【００２１】
記録動作の途中あるいは記録動作が終了した後に再生開始キーＰＳが操作されると、再生動作が開始される。このとき、ＣＰＵ５０は、圧縮画像データおよび音声データの再生をＨＤＤ−Ｉ／Ｆ３８に命令し、ＪＰＥＧコーデック４８に圧縮画像データの伸長を命令し、ビデオエンコーダ３０に伸長画像データの出力を命令し、そしてＡ−Ｉ／Ｆ３４に音声データの出力を命令する。
【００２２】
ＨＤＤ−Ｉ／Ｆ３８は、ＨＤＤ４０を制御して、連続するフィールドの圧縮画像データとこれに対応する音声データとをハードディスク４２から順次読み出す。読み出された圧縮画像データおよび音声データは、書き込み要求とともにメモリ制御回路４４に与えられ、メモリ制御回路４４によって伸長待ちエリア４６１ｂおよび再生音声エリア４６ｄに書き込まれる。
【００２３】
ＪＰＥＧコーデック４８は、注目フィールドの圧縮画像データの読み出しをメモリ制御回路４４に要求し、メモリ制御回路４４によって伸長待ちエリア４６１ｂから読み出された圧縮画像データをＪＰＥＧ方式で伸長する。伸長画像データは書き込み要求とともにメモリ制御回路４４に与えられ、メモリ制御回路４４によって伸長済みエリア４６２ｂに書き込まれる。
【００２４】
ビデオエンコーダ３０は、メモリ制御回路４４に読み出し要求を出力し、メモリ制御回路４４によって伸長済みエリア４６２ｂから順次読み出された伸長画像データをコンポジット画像信号にエンコードする。エンコードされたコンポジット画像信号は、Ｖ−Ｉ／Ｆ２８を介してモニタ１６に与えられる。Ａ−Ｉ／Ｆ３４もまたメモリ制御回路４４に読み出し要求を与え、メモリ制御回路４４によって再生音声エリア４６ｄから読み出された音声データをＤ／Ａ変換器３２に与える。音声データはＤ／Ａ変換器３２によってアナログ方式の音声信号に変換され、変換された音声信号がスピーカ１８に与えられる。この結果、被写体の動画像が画面に表示され、被写体の周辺の音声がスピーカ１８から出力される。
【００２５】
Ａ−Ｉ／Ｆ３４は、Ｄ／Ａ変換器３２の処理速度（再生周波数）に対応する周期で読み出し要求を発生する。したがって、再生音声エリア４６ｂからの音声データの読み出し速度は、Ｄ／Ａ変換器３２の処理速度に応じて変化する。つまり、Ｄ／Ａ変換器３２の処理速度が速くなれば音声データの読み出し速度も速くなり、Ｄ／Ａ変換器３２の処理速度が遅くなれば音声データの読み出し速度も遅くなる。なお、以上の再生動作は、再生終了キーＰＥの操作に応答して終了される。
【００２６】
ＣＰＵ５０は、μＩＴＲＯＮのようなマルチタスクＯＳを搭載したマルチタスクＣＰＵであり、上述の記録動作および再生動作は、複数のタスクによって実行される。起動されるタスクは記録動作時と再生動作時とで異なり、記録動作および再生動作を並列的に実行する同時記録再生では、起動されるタスクの数が最も多くなる。
【００２７】
すると、ＣＰＵ５０の処理能力が低ければ、起動された複数のタスクのうち、優先度の低いタスクにおいて、処理に遅れが生じてしまう。具体的には、動作の性質上、再生動作よりも記録動作を優先させる必要があるため、再生タスクの優先度の方が記録タスクよりも低くなり、再生タスクの処理に遅れが生じる。ただし、処理の遅れに起因する出力動画像のフリーズは許容できても、出力音声の途切れは回避しなければならない。
【００２８】
そこで、この実施例では、再生音声エリア４６ｂへの音声データの書き込みを再生タスクによって実行する一方、再生音声エリア４６ｂからの音声データの読み出しをＤＭＡ方式によって実行し、Ｄ／Ａ変換器３２の処理速度つまり音声データの再生周波数を再生音声エリア４６ｂのデータ蓄積状態や目標周波数との大小関係に基づいて２段階で調整するようにしている。
【００２９】
まず第１段階として、図２（Ａ）に示すように蓄積データ量が閾値を下回るときは、再生周波数が低下される。また、図２（Ｂ）に示すように蓄積データ量が適量であるときは現時点の再生周波数が維持される。さらに、図２（Ｃ）に示すように蓄積データ量が閾値を上回るときは、再生周波数が上昇される。
【００３０】
次に、第２段階として、図３に示すような周波数調整が行われる。つまり、再生周波数が目標周波数よりも高く、そのために再生音声エリア４６ｄの蓄積データ量が減少中であるときは、再生周波数が低下される。また、再生周波数が目標周波数よりも所定幅以上低く、そのために再生音声エリア４６ｄの蓄積データ量が増加中であるときは、再生周波数が上昇される。こうして、再生周波数が目標周波数を基準として変動する。なお、目標周波数−所定幅＜再生周波数＜目標周波数の条件が満たされるときは、現時点の再生周波数が維持される。
【００３１】
しかし、同時記録再生時のように再生タスクの処理が定常的に遅れる場合、目標周波数を固定値（たとえば７８６７Ｈｚ）に設定すると、再生周波数が必要以上に変動し、出力音声の歪みが激しくなる。
【００３２】
そこで、この実施例では、再生タスクの遅れの程度に基づいて目標周波数を補正するようにしている。つまり、再生タスクの遅れが大きいほど目標周波数を低下させ、再生タスクの遅れが小さくなったときは目標周波数を上昇させる。これによって、再生周波数の不必要な変動ひいては出力音声の歪みが抑制される。
【００３３】
ＣＰＵ５０は、再生開始キーＰＳが操作されたとき、図４〜図６に示すフロー図に従って再生タスクを実行する。
【００３４】
まずステップＳ１で各種変数を初期化する。具体的には、変数ｔｒｇｔ＿ｆｒｑを“７８６７”に設定し、変数ａｄｊ＿ｆｒｑを“０”に設定し、変数ｄａ＿ｆｒｑを変数ｔｒｇｔ＿ｆｒｑに合わせる。また、変数ｉｎｉｔ＿ｆｌｇを“１”に設定し、変数ｓｏｆｔ＿ａｄｒｓを変数ＤＭＡ＿ａｄｒに合わせる。さらに、変数ｅｎｃ＿ｖ，ｐｌａｙ＿ｖ，ａｄｊ＿ｖおよびＶｃｎｔの各々を“０”に設定する。
【００３５】
ここで、変数ｔｒｇｔ＿ｆｒｑは目標周波数を示す変数であり、初期化によって目標周波数が記録周波数である７８６７Ｈｚに合わせられる。変数ａｄｊ＿ｆｒｑは目標周波数の補正係数であり、初期化によって“０”に設定される。変数ｄａ＿ｆｒｑは再生周波数を示す変数であり、初期化によって目標周波数に合わせられる。変数ｉｎｉｔ＿ｆｌｇはＤ／Ａ変換器３２の起動タイミングを制御するためのフラグであり、初期化によって“１”に設定される。変数ｓｏｆｔ＿ａｄｒｓは再生音声エリア４６ｄの書き込みアドレスを示す変数であり、変数ＤＭＡ＿ａｄｒｓは再生音声エリア４６ｄの読み出しアドレスを示す変数である。初期化によって、両アドレスが互いに一致される。
【００３６】
変数ｅｎｃ＿ｖはビデオエンコーダ３０によってエンコードされた伸長画像データのフィールド数を示す変数であり、変数ｐｌａｙ＿ｖは伸長済みエリア４６２ｂから読み出された伸長画像データのフィールド数を示す変数である。また、変数ａｄｊ＿ｖは目標周波数の更新タイミングを規定するための変数であり、変数Ｖｃｎｔはハードディスク４２から圧縮画像データおよび音声データを読み出すタイミングを判別するための変数である。いずれも、初期化によって“０”に設定される。
【００３７】
ステップＳ３では、Ｖｓｙｎｃ待ち状態に移行する。ビデオエンコーダ３０は１／６０秒毎に垂直同期信号を発生し、図示しない割り込み処理が、この垂直同期信号に応答してＶｓｙｎｃ待ち状態を解除するとともに、変数ｅｎｃ＿ｖをインクリメントする。したがって、垂直同期信号が発生する毎に処理がステップＳ３からステップＳ５に進む。
【００３８】
ステップＳ５では、複数のタスクのうち優先度が最下位のタスクが起動する周期に基づいて、ＣＰＵ５０がビジー状態であるかどうかを判別する。これは、現時点で起動しているタスクによるＣＰＵ５０の占有度の判別に等しい。そして、最下位のタスクが起動する周期が閾値以下のときは、ＣＰＵ５０はビジー状態ではないとみなして、そのままステップＳ９に進む。これに対して、最下位のタスクが起動する周期が閾値を上回るときは、ＣＰＵ５０はビジー状態であるとみなして、ステップＳ７における３フィールド期間の待機を経てステップＳ９に進む。なお、ビジー状態は、同時記録再生を行うときに定常的に発生する。
【００３９】
ステップＳ９では、変数Ｖｃｎｔを変数ｒｅｃ＿ｒａｔｅと比較する。変数ｒｅｃ＿ｒａｔｅは、圧縮画像データの記録周期に関連する変数である。たとえば、記録周期が１０ｆｐｓ（ｆｉｅｌｄ  ｐｅｒ  ｓｅｃｏｎｄ）であればｒｅｃ＿ｒａｔｅ＝６となり、記録周期が１５ｆｐｓであればｒｅｃ＿ｒａｔｅ＝４となる。また、記録周期が２０ｆｐｓであればｒｅｃ＿ｒａｔｅ＝３となり、記録周期が３０ｆｐｓであればｒｅｃ＿ｒａｔｅ＝２となる。さらに、記録周期が６０ｆｐｓであればｒｅｃ＿ｒａｔｅ＝１となる。
【００４０】
変数Ｖｃｎｔが変数ｒｅｃ＿ｒａｔｅに達しないうちは、ステップＳ９でＮＯと判断し、ステップＳ１７における変数Ｖｃｎｔのインクリメントを経てステップＳ１９に進む。これに対して、変数Ｖｃｎｔが変数ｒｅｃ＿ｒａｔｅに達すると、ステップＳ１１でＹＥＳと判断し、ステップＳ１１における変数Ｖｃｎｔのリセット処理，ステップＳ１３における画像出力処理およびステップＳ１５における周波数制御／音声出力処理を経て、ステップＳ１９に進む。ステップＳ１３の画像出力処理によって１フィールドの圧縮画像データがハードディスク４２から読み出され、伸長状態で伸長済みエリア４６２ｂに確保される。また、ステップＳ１５における周波数制御／音声出力処理によって、再生周波数が調整されるとともに、１フィールド相当の音声データが再生音声エリア４６ｄに確保される。
【００４１】
ステップＳ１９では変数ｐｌａｙ＿ｖおよびａｄｊ＿ｖの各々をインクリメントし、続くステップＳ２１では再生終了キーＰＥの操作の有無を判別する。再生終了キーＰＥが操作されなければ、ステップＳ２１でＮＯと判断し、ステップＳ３〜Ｓ２１の処理を繰り返す。これに対して、再生終了キーＰＥが操作されると、再生タスクを終了する。
【００４２】
ステップＳ１５の周波数制御／音声出力処理は、図５および図６に示すサブルーチンに従う。まずステップＳ３１で数１に従って変数ｃｆｉｆｏを算出する。
【００４３】
【数１】
ｃｆｉｆｏ＝ｓｏｆｔ＿ａｄｒｓ−ＤＭＡ＿ａｄｒｓ
数１によれば、再生音声エリア４６ｄの書き込みアドレスを示す変数ｓｏｆｔ＿ａｄｒｓから再生音声エリア４６ｄの読み出しアドレスを示す変数ＤＭＡ＿ａｄｒｓが引き算される。したがって、変数ｃｆｉｆｏは、再生音声エリア４６ｂに蓄積されかつ未だ読み出されていない音声データのデータ量つまり蓄積データ量を示す。
【００４４】
なお、再生音声エリア４６ｄのアドレスは循環的に更新されるため、読み出しアドレスが書き込みアドレスを追い越していないにも拘らず、読み出しアドレス値が書き込みアドレス値よりも大きくなるときがある。このとき、変数ＤＭＡ＿ａｄｒｓは、現時点の読み出しアドレス値から再生音声エリア４６ｄの末尾アドレス値を引き算した引き算値とされる。
【００４５】
ステップＳ３３では変数ｉｎｉｔ＿ｆｌｇの値を判別する。そして、ｉｎｉｔ＿ｆｌｇ＝１であれば、再生音声エリア４６ｄの蓄積データ量が不十分であり、未だ再生開始タイミングに達していないとみなして、そのままステップＳ５５に進む。一方、ｉｎｉｔ＿ｆｌｇ＝０であれば、音声再生が既に開始されているとみなして、再生周波数の調整を含む処理を実行すべくステップＳ３５に進む。
【００４６】
ステップＳ３５では変数ａｄｊ＿ｖの値を判別する。そして、変数ａｄｊ＿ｖが“６”未満であればそのままステップＳ５１に進むが、変数ａｄｊ＿ｖが“６”以上であれば、再生周波数の調整を含む処理を実行するべくステップＳ３７に進む。変数ａｄｊ＿ｖは、ステップＳ１９で周期的にインクリメントされ、目標周波数が更新されたときにステップＳ４３でリセットされる。したがって、目標周波数が更新されたときは、或る期間にわたって再生周波数の調整処理が中断される。
【００４７】
ステップＳ３７では、変数ｅｎｃ＿ｖの値を判別する。ここで、変数ｅｎｃ＿ｖが“６００”未満であればそのままステップＳ４５に進むが、変数ｅｎｃ＿ｖが“６００”に達すると、ステップＳ３９における変数ａｄｊ＿ｆｒｑの更新、ステップＳ４１における変数ｔｒｇｔ＿ｆｒｑの更新、およびステップＳ４３における変数ａｄｊ＿ｖ，ｅｎｃ＿ｖおよびｐｌａｙ＿ｖのリセットを経てステップＳ４５に進む。
【００４８】
ステップＳ３９では数２に従って変数ａｄｊ＿ｆｒｑを更新し、ステップＳ４１では数３に従って変数ｔｒｇ＿ｆｒｑを更新する。
【００４９】
【数２】
ａｄｊ＿ｆｒｑ＝｛ａｄｊ＿ｆｒｑ＋７８６７×（ｐｌａｙ＿ｖ／ｅｎｃ＿ｖ−１）｝／２
【００５０】
【数３】
ｔｒｇｔ＿ｆｒｑ＝７８６７＋ａｄｊ＿ｆｒｑ
数２の演算には、変数ｐｌａｙ＿ｖおよびｅｎｃ＿ｖと現在の変数ａｄｊ＿ｆｒｑとが用いられる。変数ｅｎｃ＿ｖの更新周期が垂直同期信号の発生周期と一致するのに対して、変数ｐｌａｙ＿ｖの更新周期はＣＰＵ５０がビジー状態となる毎に３フィールド期間分遅れる。このため、たとえば変数ｅｎｃ＿ｖが“６００”に達したときに変数ｐｌａｙ＿ｖが“５７０”であったとすると、“ｐｌａｙ＿ｖ／ｅｎｃ＿ｖ”は“０．９５”となり、“ｐｌａｙ＿ｖ／ｅｎｃ＿ｖ−１”は“０．０５”となり、そして“７８６７×（ｐｌａｙ＿ｖ／ｅｎｃ＿ｖ−１）”は“３９３．４”となる。したがって、“３９３．４”および現時点の変数ａｄｊ＿ｆｒｑの平均値が、目標周波数の新規の補正係数となる。
【００５１】
数３によれば、数２に従って更新された変数ａｄｊ＿ｆｒｑが記録周波数を示す“７８６８”と加算される。これによって、目標周波数を示す変数ｔｒｇｔ＿ｆｒｑが求められる。
【００５２】
ステップＳ４５では、再生音声エリア４６ｄの蓄積データ量に基づいて図２（Ａ）〜図２（Ｃ）に示す要領で再生周波数が調整される。また、ステップＳ４７では、更新された目標周波数に基づいて図３に示す要領で再生周波数が調整される。
【００５３】
再生周波数の調整が完了するとステップＳ４９に進み、再生音声エリア４６ｄのデータ蓄積量が下記の条件１を満足するかどうかを判別する。
【００５４】
【条件１】
ｃｆｉｆｏ≧ｔｒｇｔ＿ｓｉｚｅ×２
または
ｃｆｉｆｏ≦ｔｒｇｔ＿ｓｉｚｅ×０．２５
この条件１が満たされないときは、データ蓄積量が妥当であり、音声再生が適切に実行されているとみなして、そのままステップＳ５５に進む。これに対して、条件１が満たされるときは、データ蓄積量が不当であり、音声再生に異常が生じているとみなして、ステップＳ５１におけるＤ／Ａ変換器３２のオフ処理、およびステップＳ５３における初期化処理を経て、ステップＳ５５に進む。ステップＳ５１のオフ処理によって音声再生が停止される。また、ステップＳ５３の初期化処理によってステップＳ１と同様の結果が得られる。
【００５５】
ステップＳ５５では変数ｉｎｉｔ＿ｆｌｇの値を判別する。そして、変数ｉｎｉｔ＿ｆｌｇが“０”であれば、音声再生が既に開始されているとみなして、そのままステップＳ６３に進む。これに対して、変数ｉｎｉｔ＿ｆｌｇが“１”であれば、音声再生の開始タイミングを探るべく、ステップＳ５７に進む。ステップＳ５７では、再生音声エリア４６ｄのデータ蓄積量が下記の条件２を満足するかどうかを判別する。
【００５６】
【条件２】
ｃｆｉｆｏ≦ｔｒｇｔ＿ｓｉｚｅ×２
および
ｃｆｉｆｏ≧ｔｒｇｔ＿ｓｉｚｅ
条件２が満たされないときは、再生音声エリア４６ｄに確保された音声データ量が未だ十分でないとみなして、そのままステップＳ６３に進む。これに対して、条件２が満たされるときは、再生音声エリア４６ｄに十分な量の音声データが確保されたとみなして、ステップＳ５９で変数ｉｎｉｔ＿ｆｌｇを“０”に設定し、ステップＳ６１でＤ／Ａ変換器３２をオンしてから、ステップＳ６３に進む。Ｄ／Ａ変換器３２のオン処理によってＤＭＡ方式に従う音声再生が開始される。
【００５７】
ステップＳ６３では、ＨＤＤ−Ｉ／Ｆ３８に音声データの読み出しを命令する。ＨＤＤ−Ｉ／Ｆ３８はハードディスク４２から１フィールド相当のサイズ（＝ａｕｄ＿ｓｉｚｅ）の音声データを読み出し、読み出された音声データをメモリ制御回路４４を通して再生音声エリア４６ｄに書き込む。音声データは、変数ｓｏｆｔ＿ａｄｒｓによって特定されるアドレス以降に書き込まれる。書き込みが完了するとステップＳ６５に進み、数４に従って変数ｓｏｆｔ＿ａｄｒｓを更新する。変数ｓｏｆｔ＿ａｄｒｓの更新が完了すると、上階層のルーチンに復帰する。
【００５８】
【数４】
ｓｏｆｔ＿ａｄｒｓ＝ｓｏｆｔ＿ａｄｒｓ＋ａｕｄ＿ｓｉｚｅ
以上の説明から分かるように、再生動作が開始されると、ＣＰＵ５０による再生タスクの実行によって、音声データが所定量ずつ再生音声エリア４６ｄに書き込まれる（Ｓ６３）。再生音声エリア４６ｄに格納された音声データは、Ａ−Ｉ／Ｆ３４によるＤＭＡ処理によって連続的に読み出される。ここで、ＣＰＵ５０は、再生周波数を目標周波数を基準として変動させる（Ｓ４７）。換言すれば、ＣＰＵ５０は、再生音声エリア４６ｄからの音声データの読み出し速度を目標速度を基準として変動させる。ＣＰＵ５０はまた、再生タスクの遅れ度を規定する変数ａｄｊ＿ｆｒｑに基づいて目標周波数を補正する（Ｓ４１）。
【００５９】
このように、音声データの読み出し速度を目標速度を基準に変動させることで、出力音声の途切れを防止することができる。また、再生タスクの遅れ度に基づいて目標周波数を補正することで、再生タスクの定常的な遅れに起因する出力音声の歪みを抑制することができる。
【００６０】
なお、この実施例では画像データの圧縮方式としてＪＰＥＧ方式を採用しているが、これに代えてＪＰＥＧ２０００方式やＭＰＥＧ方式を採用してもよい。
【図面の簡単な説明】
【図１】この発明の一実施例を示すブロック図である。
【図２】図１実施例の動作の一部を示す図解図である。
【図３】（Ａ）はバッファメモリに蓄積されたデータ量が少ない状態を示す図解図であり、（Ｂ）はバッファメモリに蓄積されたデータ量が適量である状態を示す図解図であり、（Ｃ）はバッファメモリに蓄積されたデータ量が多い状態を示す図解図である。
【図４】図１実施例の動作の一部を示すフロー図である。
【図５】図１実施例の動作の他の一部を示すフロー図である。
【図６】図１実施例の動作のその他の一部を示すフロー図である。
【符号の説明】
１０…監視カメラシステム
１２…監視カメラ
１４…マイクロフォン
１６…モニタ
１８…スピーカ
３０…ビデオエンコーダ
４２…ハードディスク
４６…ＳＤＲＡＭ
４８…ＪＰＥＧコーデック
５０…ＣＰＵ
【図１】
2004170675.tif 000003
【図２】
2004170675.tif 000004
【図３】
2004170675.tif 000005
【図４】
2004170675.tif 000006
【図５】
2004170675.tif 000007
【図６】
2004170675.tif 000008