(57)【特許請求の範囲】
【請求項１】
ディジタル可聴周波数信号データと該ディジタル可聴周波数信号データの処理形態を示す処理形態情報とを、複数種類記憶する記憶手段と、
複数の再生トラックそれぞれに対して、前記記憶手段に記憶されたディジタル可聴周波数信号データを読み出し、再生に先立って一時的に記憶するための再生バッファと、
複数の再生トラックそれぞれに対して、少なくともディジタル可聴周波数信号データに対応する処理形態情報と、再生開始タイミングとを、記憶する管理テーブルと、
複数の再生トラックそれぞれに対して、前記管理テーブルに記憶された処理形態情報と再生開始タイミングとに従って、前記再生バッファからディジタル可聴周波数信号データを読み出して、再生処理を行う処理手段と、
各再生トラックごとに前記再生バッファにおけるディジタル可聴周波数信号データの処理状態を示す処理状態情報を記憶する処理状態情報記憶手段と、
前記処理状態情報記憶手段に記憶された処理状態情報に少なくとも基づいて、各再生トラックの優先順位を決定する優先順位決定手段とを、
有し、前記優先順位決定手段によって決定された優先順位に従って、所定の再生トラックについて前記記憶手段から前記再生バッファへディジタル可聴周波数信号データを転送することを特徴とするディジタル信号再生装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、記憶手段に録音されたディジタル信号を再生するディジタル信号再生装置に関する。
【０００２】
【従来の技術】
従来、上記のディジタル信号再生装置には、いわゆるハードディスクレコーダーがある。ハードディスクレコーダーでは、可聴周波数信号をＡ／Ｄ変換器によってディジタル信号に変換して、ハードディスクに録音する。再生時には、ハードディスクから、ディジタル信号を読み出し、Ｄ／Ａ変換器に供給し、このＤ／Ａ変換器によって可聴周波数信号に変換する。
【０００３】
ハードディスクレコーダーにディジタル信号を記録するため、ディジタル信号の広義のフォーマットが定められている。フォーマットには、例えば狭義のフォーマット、即ち符号化法（ディジタル信号をリニアＰＣＭとしてハードディスクに記憶するか、またはＡＤＰＣＭとしてハードディスクに記憶するか）、サンプリング周波数、１サンプル当たりのビット数等が含まれている。また、狭義のフォーマットには、データ圧縮法も含まれている。ハードディスクの容量には、限りがあるので、この限られた容量でも長時間の再生が可能なように、データ圧縮が行われている。このように広義のフォーマットの内容は、多彩である。しかし、  従来のハードディスクレコーダーでは、フォーマットは、例えばリニアＰＣＭ、サンプリング周波数４４．１ＫＨｚ、１サンプル当たりのビット数１６ビットというように１種類に定められている。このように定められたフォーマットによって、一連の可聴周波数信号が一連のディジタル信号に変換され、録音される。
【０００４】
【発明が解決しようとする課題】
しかし、録音される可聴周波数信号の性質によって、適しているフォーマットが異なる。従って、可聴周波数信号の性質に適したフォーマットを使用することが望ましい。
【０００５】
また、ディジタル録音される可聴周波数信号には、様々なものがある。これらをそれぞれディジタル化したデータ（以下、ウエーブデータと称する。）が、異なるトラックに記録されることがある。この場合、或るトラックのデータを再生中に、他のトラックのデータを再生しなければならない状態になり、いわゆる音切れが生じることがある。
【０００６】
本発明は、上述した課題を解決することができるディジタル信号再生装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、ディジタル可聴周波数信号データと該ディジタル可聴周波数信号データの処理形態を示す処理形態情報とを、複数種類記憶する記憶手段と、複数の再生トラックそれぞれに対して、前記記憶手段に記憶されたディジタル可聴周波数信号データを読み出し、再生に先立って一時的に記憶するための再生バッファと、複数の再生トラックそれぞれに対して、少なくともディジタル可聴周波数信号データに対応する処理形態情報と、再生開始タイミングとを、記憶する管理テーブルと、複数の再生トラックそれぞれに対して、前記管理テーブルに記憶された処理形態情報と再生開始タイミングとに従って、前記再生バッファからディジタル可聴周波数信号データを読み出して、再生処理を行う処理手段とを、有している。更に、再生トラックごとに前記再生バッファにおけるディジタル可聴周波数信号データの処理状態を示す処理状態情報を記憶する処理状態情報記憶手段と、前記処理状態情報記憶手段に記憶された処理状態情報に少なくとも基づいて、各再生トラックの優先順位を決定する優先順位決定手段とを、有している。前記優先順位決定手段によって決定された優先順位に従って、所定の再生トラックについて前記記憶手段から前記再生バッファへディジタル可聴周波数信号データが転送される。
【０００８】
本発明によれば、管理テーブルに記憶された処理形態情報と再生開始タイミングとに従って、処理手段が、各再生トラックに対応する再生バッファに記憶されたディジタル可聴周波数信号データを再生処理する。従って、どのような処理形態で、各ディジタル可聴周波数信号がデータ処理されていても、各ディジタル可聴周波数信号を再生処理でき、異なる再生処理形態で、複数のディジタル可聴周波数信号が記録されていても、それぞれ再生処理できる。更に、再生トラックごとに再生バッファにおけるディジタル可聴周波数信号データの処理状態を示す処理状態情報が、処理状態情報記憶手段に記憶されている。これら処理状態情報に少なくとも基づいて、各再生トラックの優先順位を優先順位決定手段が決定する。この決定に従って、再生バッファにディジタル可聴周波数信号データが一時記憶される。従って、或る再生バッファにディジタル可聴周波数信号データが無くなることはなく、音切れが生じることがない。
【００１１】
【発明の実施の形態】
本実施の形態は、図１に示すようにパーソナルコンピュータ２と、これに設けられる拡張ボード４とによって構成されている。パーソナルコンピュータ２は、ＣＰＵ６と、ＲＯＭ８と、ＲＡＭ１０と、表示装置１１とを有する一般的なものである。なお、図示していないが、パーソナルコンピュータ２は、キーボード及びマウスも備えている。このパーソナルコンピュータ２は、さらに記憶手段としてハードディスク１２を備えている。
【００１２】
拡張ボード４は、ＤＳＰ１４と、ＲＡＭ１６と、Ａ／Ｄ変換器１８と、Ｄ／Ａ変換器２０とを備えている。拡張ボード４では、入力端子２１から供給された可聴周波数信号、例えば音声信号がＡ／Ｄ変換器１８によってディジタル化されて、ＤＳＰ１４に入力される。ＤＳＰ１４では、ディジタル化された音声信号を、適宜選択された処理形態、例えば広義のフォーマットに従ってディジタル可聴周波数信号データに変換される。このディジタル可聴周波数信号データは、ＣＰＵ６を介してハードディスク１２に、ウエーブデータとして記憶される。このとき、同時にこのディジタル可聴周波数信号データの広義のフォーマットを表すフォーマット情報も、ハードディスク１２に記憶される。ハードディスク１２には、このようなウエーブデータとフォーマット情報が、複数記憶されている。
【００１３】
ウエーブデータは、ＣＰＵ６によって適宜編集される。この編集されたウエーブデータは、再生波形信号データとして、ＤＳＰ１４を介してＤ／Ａ変換器２０に供給され、ここでアナログ信号に変換されて、即ち再生されて、図示しないサウンドシステムに出力される。
【００１４】
編集処理には、録音された複数のウエーブデータを、Ｎ（Ｎは２以上の正の整数）個の再生トラックのいずれに割り当てる処理、これらウエーブデータのレベルを設定する処理、ウエーブデータの音像の定位を変更する処理や、各再生トラックに割り当てた各ウエーブデータの発音タイミング等の再生情報を設定する処理がある。従って、ＣＰＵ６が指定手段として機能する。
【００１５】
再生情報のうち発音タイミングは、例えば、或る再生トラックにおいて、再生するウエーブデータとして時間が３０秒のウエーブデータ１と、時間が１０秒のウエーブデータ２とが選択された場合、発音開始から２秒後にウエーブデータ１の発音を開始させ、発音開始から３５秒後にウエーブデータ２の発音を開始させるというように設定することが行われる。
【００１６】
この再生情報の設定は、再生トラックごとに割り当てられたウエーブデータごとに行われる。これら設定された情報も、ハードディスク１２に記憶されている。なお、これら設定された情報やフォーマット情報は、ＲＡＭ１０に記憶させてもよい。
【００１７】
再生波形信号データの再生に使用するため、図２に示すように、拡張ボード４のＲＡＭ１６に、一時記憶手段、例えば再生バッファ２２が、複数設けられている。これら再生バッファ２２は、Ｎ個の再生用トラックにそれぞれ対応して設けられ、かつそれぞれ所定のブロック数設けられている。これら再生バッファ２２の容量は、バッファリングの単位であるブロックの数で表されている。この他に、ＤＳＰ１４には、図３に示すように、再生バッファ２２から読み出された再生波形信号データを記憶し、Ｄ／Ａ変換器２０に供給するＤ／Ａ出力バッファ２４がＲ、Ｌの２チャンネル分設けられている。
【００１８】
ＤＳＰ１４には、図４に示すように、各再生トラックごとに再生バッファ２２から再生波形信号データを読みだすために必要な処理形態情報を記憶する、設定手段、例えばバッファ管理テーブル２６が設けられている。バッファ管理テーブル２６は、テーブル１、２の２つのテーブルからなる発音態様情報記憶領域２５と、対応する再生バッファ２２において、次に再生波形信号データを記憶する位置を示すライトポインタ２７と、対応する再生バッファ２２において次に再生波形信号データを読み出す位置を示すリードポインタ２８とを有している。
【００１９】
発音態様情報記憶領域２５に記憶されている発音態様情報には、例えば狭義のフォーマット、サンプリング周波数、ビット数、再生開始時刻、音量／パンニング、データ長の各情報がある。
【００２０】
狭義のフォーマット情報とは、再生波形信号データのウエーブフォーマット、例えばＰＣＭで符号化されているか、ＡＤ−ＰＣＭ或いは他の圧縮方法で符号化されているかを識別する情報である。
【００２１】
サンプリング周波数情報は、サンプリング周波数を識別する情報で、例えば４８ＫＨｚ、４４．１ＫＨｚ、２２．０５ＫＨｚ、１１．０２５ＫＨｚ等のうち、いずれの周波数でサンプリングが行われているかを表す情報である。
【００２２】
ビット数情報は、１６ｂｉｔ／ｓａｍｐｌｅ、８ｂｉｔ／ｓａｍｐｌｅ等の１サンプル当たりのビット数を識別する情報である。
【００２３】
再生開始時刻情報は、再生波形信号データの再生を開始する時刻を表す情報である。
【００２４】
音量／パンニング情報は、再生波形信号データの音量及びパンニング（音像の定位）を表す情報である。
【００２５】
データ長情報は、再生バッファ２２に記憶されている未再生の再生波形信号データのデータ長（ブロック数）を表す情報である。これら各発音態様情報が、これら情報に対応して設けた各領域にそれぞれ記憶されている。
【００２６】
ＤＳＰ１４には、この他に再生のスタート／ストップを制御するため、図５に示すようにタイマフラグ３０と、タイマ（図示せず）が設けられている。
【００２７】
図６に示すように、ＣＰＵ６には、ＤＳＰ１４での処理状態を知るための状態テーブル３２が設けられている。この状態テーブル３２も、各再生トラックに対応して設けられている。この状態テーブル３２は、各再生トラックごとに、設定中テーブル番号情報、再生テーブル番号情報、再生バッファの空き領域情報、データ長情報が記憶される領域を有している。
【００２８】
設定中テーブル番号情報は、再生に備えて現在データを設定中である再生波形信号データが、ＤＳＰ１４のバッファ管理テーブル２６のテーブル１、２のいずれのテーブルに対応するかを示す情報である。この設定中テーブル番号情報は、後述するように、新規の再生波形信号データを、ハードディスク１２から再生用バッファ２２に転送するときに、更新される。
【００２９】
再生テーブル番号情報は、現在再生中、または次に再生される再生波形信号データが、バッファ管理テーブル２６のテーブル１、２のいずれのテーブルに対応するかを示す情報である。この再生テーブル番号情報は、後述するデータ長１情報またはデータ長２情報のうち、再生テーブル番号情報が表しているテーブルに対応するデータ長１または２情報が０になったときに、後述するように更新される。
【００３０】
再生バッファの空き領域情報は、対応するトラックの再生バッファ２２の空き領域（ブロック数）を示す情報である。この情報は、ＤＳＰ１４に再生波形信号データが転送されると減少し、ＤＳＰ１４からの後述する再生波形信号データの追加送信要求に応じて増加する。
【００３１】
データ長１、２情報は、ＤＳＰ１４のバッファ管理テーブル２６のテーブル１、２に対応して設けられている。テーブル１にデータ長１情報が対応し、テーブル長２情報がテーブル２に対応する。そして、テーブル１に発音態様が設定されている再生波形信号データが、対応する再生バッファ２２にどの程度のブロック数記憶されているかをデータ長１情報が表しており、テーブル２に発音態様が設定されている再生波形信号データが、対応する再生バッファ２２にどの程度のブロック数記憶されているかをデータ長２情報が表している。これらデータ長１または２情報は、再生波形信号データをハードディスク１２から対応するバッファ２２に転送した量に応じて増加し、後述するＤＳＰ１４からの追加送信要求数に応じて減少する。
【００３２】
ＣＰＵ６は、この他に、図７に示すように、各トラックに対応させて、処理状態情報記憶手段、例えば追加要求数レジスタ３４を有している。これは、後述するように、対応する再生用バッファ２２において再生波形信号データが読み出されて、空きが生じたときに、ＤＳＰ１４から送信された、その空きブロック数に等しい数を記憶する。
【００３３】
以下、ハードディスク１２に記憶された再生波形信号データを、上述した構成に基づいて再生するために、ＣＰＵ６及びＤＳＰ１４が行う処理を図８乃至図１８に示すフローチャートに基づいて説明する。即ち、ＣＰＵ６及びＤＳＰ１４が処理手段として機能する。なお、以下のフローチャートにおいて、ＣＰＵ６側が行う処理と、ＤＳＰ１４側が行う処理との区別を明確にするため、ＣＰＵ６側が行う処理ステップを示す符号の先頭にＣを、ＤＳＰ１４側が行う処理ステップを示す符号の先頭にＤを付して、説明する。
【００３４】
図８に示す再生開始ルーチンは、図１に示す表示装置に表示されたスタートボタン（図示せず）を、マウスによってユーザーが操作することによって実行される。
【００３５】
再生開始ルーチンが実行されると、まず初期設定が行われる（ステップＣ１０１）。初期設定では、図６に示した状態テーブル３２の各トラックの設定中テーブル番号及び再生テーブル番号を共に１とし、各トラックのデータ長１、データ長２を共に０とし、各トラックの再生バッファの空き領域を再生バッファ２２の全領域（最大値）する。
【００３６】
各トラックを指定するトラック数カウンタＴｒを０に設定する（ステップＣ１０２）。
【００３７】
ステップＣ１０３乃至からＣ１０７のループをトラックの数Ｎ回実行して、トラックごとに処理を行う。
【００３８】
ステップＣ１０３では、カウンタＴｒをインクリメントする。
【００３９】
ステップＣ１０４では、カウンタＴｒによって指定されたトラックに対応するＤＳＰ１４のバッファ管理テーブル２６のテーブル１、２のうち、ＣＰＵ６側の状態テーブル３２の対応するトラックの設定中テーブル番号情報が表すテーブルに、最初に再生する再生波形信号データの発音態様情報を、書き込み設定する。この書き込み設定には、後述する図９に示すＤＳＰに対するデータの書き込みルーチンが使用される。再生開始のルーチンでは、初期設定によって設定中テーブル番号が１に設定されているので、バッファ管理テーブル２６のテーブル１の領域に、再生波形信号データの発音態様情報である、狭義のフォーマット、サンプリング周波数、ビット数、再生開始時刻、音量／パンニングを設定する。
【００４０】
ステップＣ１０５では、カウンタＴｒによって指定されたトラックにおいて最初に再生する再生波形信号データの先頭部分の所定量（所定ブロック数）を、再生準備として、ＤＳＰ１４の再生バッファ２２に転送する。この処理は、後述する図１０に示す再生波形信号データの転送ルーチンによって行われる。また、この処理は、全トラックについて行うことになるので、図１０の再生波形信号データの転送ルーチンによって行うと、転送量が多くなる可能性があるので、各トラックでの最大転送量を、この再生開始ルーチンで行う場合には、最大転送量を所定量に予め定めてある。
【００４１】
ステップＣ１０６では、ステップＣ１０５によって転送された再生波形信号データの量に従って、ＣＰＵ６側の状態テーブル３２のデータ長１または２（状態設定テーブルの設定中テーブルに設定されているテーブルに対応するもの）と、再生バッファの空き領域とを設定する。即ち、設定中テーブルに設定されているテーブル番号に対応するデータ長１または２の領域の値（初期設定により０）に、ステップＣ１０５において転送したデータ量（ブロック数）を加算する。また、再生バッファの空き領域の値（初期設定により最大値）から、ステップＣ１０５で転送したデータ量を減算する。
【００４２】
ステップＣ１０７では、カウンタＴｒがＮになったか判断する。Ｎになっていない場合、ステップＣ１０３に戻る。Ｎになっていると、ステップＣ１０８に進。
【００４３】
ステップＣ１０８では、ＤＳＰ１４内部のＤＳＰタイマフラグ３０にスタートデータを書き込み、タイマをスタートさせて、再生処理をスタートさせる。ＤＳＰ１４のタイマは、タイマフラグによってスタート／ストップされるものである。
【００４４】
ステップＣ１０４、ステップＣ１０８において使用されるＤＳＰ１４に対するデータの書き込みルーチンを図９を参照して説明する。なお、このルーチンは、後述する再生波形信号データの追加送信要求割り込みに対する応答処理においても使用される。
【００４５】
このルーチンでは、まずＤＳＰ１４のデータ受信可能フラグ（図示せず）がセットされているか見て、他のデータを転送中であるか判断する（ステップＣ２０１）。転送中でなければ、データ受信可能フラグがセットされており、データ受信可能であることを表している。従って、データをＤＳＰ１４側に書き込み可能であるので、ステップＣ２０２に進む。データ受信可能フラグがクリアされて、他のデータを転送中であることを表していると、データをＤＳＰ１４側に書き込むことは不能であるので、書き込み可能になるまで、ステップＣ２０１を繰り返す。
【００４６】
ステップＣ２０２では、ＤＳＰ１４に割り込み要求を発行し、バッファ管理テーブル２６やＤＳＰタイマフラグ３０にデータを書き込む。
【００４７】
次に、ステップＣ２０２に割り込み要求に応じてＤＳＰ１４が行うデータ受信ルーチンを図１０のフローチャートを参照して説明する。
【００４８】
まず、データを受信中であり、他のデータを受信できないことを示すため、データ受信可能フラグをクリアする（ステップＤ２０１）。次に、受信したデータを指定された領域（バッファ管理テーブル２２、ＤＳＰタイマフラグ）にストアする（ステップＤ２０２）。データ受信可能であることを示すため、データ受信可能フラグをセットし（ステップＤ２０３）、このルーチンを終了する。
【００４９】
図８の再生開始ルーチンのステップＣ１０５において、ＤＳＰ１４の再生バッファ２２に再生波形信号データを転送するルーチンを図１１を参照して説明する。なお、この再生波形信号データ転送ルーチンは、後述する再生波形データの追加送信要求割り込みに対する応答処理においても使用される。
【００５０】
このルーチンでは、ＤＳＰ１４の再生波形信号データ受信可能フラグ（図示せず）がセットされているかを見て、別のトラックの再生波形信号データを転送中か判断する（ステップＣ３０１）。他のトラックの再生波形信号データを転送中で、新たに再生波形信号データを転送できない場合、再生波形信号データ受信可能フラグがセットされているので、このルーチンを終了する。他のトラックの再生波形信号データを転送していない場合、再生波形信号データ受信可能フラグはクリアされており、新たな再生波形信号データの転送が可能であるので、ステップＣ３０２に進む。
【００５１】
ステップＣ３０２では、ハードディスク１２に、このトラック用の未転送の再生波形信号データがあるか判断する。未転送の再生波形信号データがない場合、このルーチンを終了する。未転送の再生波形信号データがある場合には、ステップＣ３０３に進む。
【００５２】
ステップＣ３０３では、ＣＰＵ６の状態テーブル３２の対応するトラックの再生バッファの空き領域を見て、ＤＳＰ１４の対応するトラックの再生バッファ２２に空き領域があるか判断する。空きがない場合には、このルーチンを終了する。空き領域がある場合には、次のステップＣ３０４に進む。
【００５３】
ステップＣ３０４では、ハードディスク１２に記憶されている対応するトラックの再生波形信号データの量と、対応する再生バッファ２２の空き領域の量とを比べ、小さい方を転送量とする。なお、図８の再生開始ルーチンのステップＣ１０５において、このステップＣ３０４を実行する場合には、最大の転送量が所定量として決められている。
【００５４】
ステップＣ３０４に続いて、ステップＣ３０５が実行される。このステップＣ３０５では、ＤＳＰ１４に割り込みを発行し、先に求めた転送量の再生波形信号データを転送し、このルーチンを終了する。
【００５５】
ステップＣ３０５の割り込みに応答して、ＤＳＰ１４が行う再生波形信号データの受信ルーチンを、図１２を参照して説明する。
【００５６】
再生波形信号データを受信中であり、他の再生波形信号をデータを受信できないことを示すため、再生波形信号データ受信可能フラグをクリアする（ステップＤ３０１）。ＣＰＵ６から送信されたデータ量をカウントしながら、再生波形信号をデータを受信し、ＣＰＵ６によって指定されたトラックの再生バッファ２２にストアする（ステップＤ３０２）。このステップＤ３０２では、さらに、再生バッファ２２へのストアに対応して、ライトポインタ２７を更新する。
【００５７】
ステップＤ３０２においてカウントしたデータ量を、ＣＰＵ６によって指定されたバッファ管理テーブル２６のテーブル番号のデータ長に加算する（ステップＤ３０３）。
【００５８】
再生波形信号データを受信可能なことを示すため、再生波形信号データ受信可能フラグをクリアする（ステップＤ３０４）。このステップＤ３０４では、残っている再生波形信号データの転送を行うために、ＣＰＵ６に再生波形信号データ転送可能割り込みを発行する。そして、このルーチンを終了する。
【００５９】
次に、ＤＳＰ１４において通常行われているメインループについて図１３を参照しながら説明する。
【００６０】
まず、初期設定を行う（ステップＤ１０１）。初期設定として、ＤＳＰ管理テーブル２６、タイマフラグ３０をリセットする。
【００６１】
トラックを指定するカウンタＴｒを初期値０にする（ステップＤ１０２）。
【００６２】
次にステップＤ１０３からＤ１０９までをトラック数Ｎ回実行する。
【００６３】
ステップＤ１０３では、カウンタＴｒをインクリメントする。
【００６４】
ステップＤ１０４では、カウンタＴｒが指定するトラックに対応するバッファ管理テーブル２６のデータ長が０以上であるか、即ち再生バッファ２２に再生すべき再生波形信号データがあるか判断する。２つのテーブルのデータ長のうち、１つでも０でより大きいと、ステップＤ１０５に進む。２つのテーブルのデータ長が共に０の場合には、ステップＤ１０９に進む。
【００６５】
ステップＤ１０５では、データがあると判断されたテーブルの再生開始時刻と、タイマ時刻とを比較し、再生開始時刻＜タイマ時刻が成立するか判断する。成立する場合、即ち、再生開始時刻になった場合には、ステップＤ１０６に進む。成立しない場合、即ち、発音開始時刻になっていない場合、ステップＤ１０９に進む。
【００６６】
ステップＤ１０６では、ステップＤ１０４で再生すべきデータがあると判断され、かつステップＤ１０５で再生開始時刻になったと判断されたテーブルの発音態様情報に従って、対応する再生波形信号データの再生処理が行われる。再生波形信号データは、インクリメントされるリードポインタ２８に従って、対応するトラックの再生バッファ２２から読出される。上記再生処理としては、読み出された再生波形信号データを、Ｄ／Ａ変換器２０によって再生可能なディジタル信号に変換し、Ｄ／Ａ変換器２０の出力バッファ２４に転送することが行われる。このように発音態様情報に従って再生処理が行われているので、異なった発音態様を持つ再生波形信号データであっても、再生可能である。また、再生開始時刻になったときに再生処理が行われているので、図２に示すトラック１のＷＡＶＥ１とＷＡＶＥ２のように詰めて再生波形信号データをバッファ２２に記憶させることが可能であり、バッファ２２を有効に利用することができる。
【００６７】
ステップＤ１０７では、ステップＤ１０６の再生処理によって、対応する再生バッファ２２に１ブロック以上の空きが生じたか判断する。１ブロック以上の空きが生じている場合、ステップＤ１０８に進み、１ブロック以上の空きが生じていない場合、ステップＤ１０９に進む。
【００６８】
ステップＤ１０８では、ＣＰＵ６に割り込みを発行し、かつ空きが生じたブロック数だけ、再生波形信号データの追加送信を要求する。
【００６９】
ステップＤ１０９では、カウンタＴｒがＮになったか判断する。カウンタＴｒがＮになっている場合、ステップＤ１０２に戻り、カウンタＴｒがＮになっていない場合、ステップＤ１０３に進む。
【００７０】
ステップＤ１０８における割り込みの発行に応じてＣＰＵ６が行う、再生波形信号データの追加送信要求割り込みに対する応答処理ルーチンを、図１４を参照しながら説明する。
【００７１】
まず、図７に示す追加送信要求数レジスタ３４のうち、追加送信要求の生じたトラックに対応するものを更新する（ステップＣ４０１）。即ち、今回の追加送信要求割り込みの生じたトラックの追加送信要求数レジスタ３４の値に、追加送信要求数を加算し、この加算値を新たな追加送信要求数とする。
【００７２】
後述するＣＰＵ状態テーブル更新ルーチンを使用して、ＣＰＵ状態テーブル３２の対応するトラックの再生バッファの空き領域と、データ長とを更新し、さらに場合によっては、再生テーブル番号も更新する（ステップＣ４０２）。
【００７３】
追加送信要求数レジスタの値に従ってトラックの優先順位を計算する（ステップＣ４０３）。優先順位の決定法としては種々のものが考えられる。例えば、最も割り込みの頻度が大きいものから順位を付けるものや、追加送信要求数の値が最も大きいものから順位を付けるものがある。さらに、追加送信要求数レジスタの値または追加送信要求の頻度の他に、発音態様情報も加味して優先順位を決定することもできる。例えば、割り込みの頻度が同じ場合には、ウエーブデータの広義のフォーマット、例えばサンプリング周波数を見て、サンプリング周波数が高いウエーブデータを優先するとか、狭義のフォーマット、例えばリニアＰＣＭとＡＤＰＣＭであれば、リニアＰＣＭを優先するとかがある。さらに、それらの複数の要素を同時に考慮して、優先順位を決める必要がある場合には、サンプリング周波数、ビット数等の各要素の優先順位係数を演算（乗算や加算等）して、総合の優先順位係数を算出し、優先順位を決定することもできる。
【００７４】
ステップＣ４０３では、さらに最優先順位のトラックをデータ転送するトラックと設定する。以後の処理は、このステップＣ４０３で設定したトラックまたは、後述するステップＣ４１１で設定したトラックに対して行われる。
【００７５】
今から転送しようとするハードディスク１２の再生波形信号データが、新規（異なるバッファ管理テーブル２６に従って発生するもの）か判断する（ステップＣ４０４）。新規のデータの場合、ステップＣ４０５に進み、新規のデータでない場合、Ｃ４０８に進む。
【００７６】
ステップＣ４０５では、今から転送する再生波形信号データが新規のデータであるので、新規の発音態様情報が、ＤＳＰ１４のバッファ管理テーブル２６に書き込み可能か判断する。これは、例えば、ＣＰＵ６の状態テーブル３２の設定中テーブル番号と再生テーブル番号の何方にも使用されていないテーブル番号があるか判断することによって行われる。例えば、設定中テーブル番号に１が、再生テーブル番号に１が、それぞれ記憶されている場合、テーブル２が設定中テーブルにも再生中テーブルにも使用されていないので、書き込み可能と判断される。また、設定中テーブル番号に１が、再生テーブル番号に２が記憶されている場合には、何方にも使用されていないテーブル番号がないので、書き込み不能と判断される。空きがある場合には、ステップＣ４０６に進み、空きがない場合には、ステップＣ４１０に進む。
【００７７】
ステップＣ４０６では、図９に示したＤＳＰに対する書き込みルーチンを利用して、ＤＳＰ１４のバッファ管理テーブル２６の空いているテーブルに新規の発音態様情報を書き込む。但し、データ長の設定は除く。
【００７８】
ステップＳＣ４０６に続いて、ＣＰＵ６の状態テーブル３２に、ステップＣ４０６で設定したテーブル番号を設定中テーブル番号として設定する（ステップＣ４０７）。
【００７９】
ステップＣ４０７に続いて、再生波形信号データをＤＳＰ１４の再生バッファ２２に転送する（ステップＣ４０８）。この転送には、図１１の再生波形信号データの転送ルーチンを使用する。これに応じてＤＳＰでは、図１２に示す再生波形信号データの受信ルーチンが実行される。
【００８０】
ステップＣ４０８に続いて、ＣＰＵ６の状態テーブル３２に、ステップＣ４０８で転送した転送データ量に基づいて再生バッファ２２の空き領域とデータ長とを計算して、設定する（ステップＣ４０９）。この計算は、再生バッファの空き領域の値から転送データ量を減算したものを新たな再生バッファの空き領域とするものと、設定中テーブル番号のデータ長に転送データ量を加算したものを新たな設定中テーブル番号のデータ長とするものとである。また、ステップＣ４０９では、再生波形信号データを転送したトラックの追加送信要求数レジスタをクリアする。
【００８１】
ステップＣ４０５において、バッファ管理テーブル２６に空きがないと判断された場合に、ステップＣ４１０が実行される。ステップＣ４１０では、ステップＣ４０３において決定した優先順位に従って、次の優先順位のトラックがあるか判断する。次の優先順位のトラックがある場合には、ステップＣ４１１に進み、次の優先順のトラックがなければ、このルーチンを終了する。
【００８２】
ステップＣ４１１では、次の優先順位のトラックをデータ転送のトラックに設定し、ステップＣ４０４に進む。
【００８３】
次に、ステップＣ４０２で使用するＣＰＵ状態テーブル更新の処理を、図１５を参照しながら説明する。
【００８４】
まず、再生バッファの空き領域とデータ長１または２（再生テーブル番号に記載されている番号に対応するもの）を更新する（ステップＣ５０１）。更新するために、再生バッファの空き領域とデータ長１または２を計算する。この計算は、再生バッファの空き領域の値に、今回の追加送信要求数を加算して、新たな再生バッファの空き領域とする計算と、再生テーブル番号に記載されている番号のデータ長から、今回の追加送信要求数を減算して、新たな再生テーブル番号のデータ長とする計算とからなる。
【００８５】
次に、ＣＰＵ状態テーブル３２の対応するトラックのデータ長１、２のうち、再生テーブル番号に記載されているテーブル番号のデータ長が０であるか判断する（ステップＣ５０２）。データ長が０の場合、ステップＣ５０３へ進む。データ長が０でない場合、このルーチンを終了する。
【００８６】
ステップＣ５０３では、ＣＰＵ状態テーブル３２の対応するトラックの再生テーブル番号に、設定中テーブル番号を設定する。
【００８７】
次に、図１６を参照して、再生波形信号データの転送可能割り込みに対する応答処理ルーチンを説明する。このルーチンは、図１２に示す再生波形信号データの受信ルーチンのステップＤ３０４において、転送可能割り込みが発行されたことに応じて行われる。即ち、図１４の再生波形信号データの追加送信要求割り込みに対する応答処理ルーチンでは、優先順位が高いと決定された１つのトラックについてのみデータの転送が行われると、ルーチンが終了する。従って、再生波形信号データの転送可能割り込みに対する応答処理ルーチンを設けていなければ、次の追加送信要求が発生しない限り、再生波形信号データの転送が行われないことになる。そこで、追加送信要求が新たに発生していない間でも、ＤＳＰ１４側でデータを受信可能な場合、再生波形信号データの転送を可能とするため、このルーチンが設けられている。
【００８８】
このルーチンで行われる各ステップＣ６０１乃至Ｃ６１０は、図１４の再生波形信号データの追加要求割り込みに対する応答処理ルーチンのＣ４０３乃至Ｃ４１１と同じものである。まず全てのトラックの追加送信要求数レジスタの値が０であるか判断する（ステップＣ６０１）。全トラックの追加送信要求数レジスタの値が０の場合、再生波形信号データの転送要求がＤＳＰ１４から全くないことになるので、このルーチンを終了する。
【００８９】
全トラックの追加送信要求数レジスタの値が０でない場合、再生波形信号データの転送要求がＤＳＰ１４からあり、再生波形信号データを転送する必要があることが分かるので、次のステップＣ６０２に進む。
【００９０】
ステップＣ６０２では、追加送信要求レジスタの値に従ってトラックの優先順位を決定する。この決定は、ステップＣ４０３と同様に行われ、またＣ４０３と同様な変形が可能である。そして、ステップＣ６０２では、最優先順位のトラックを再生波形信号データの転送トラックと設定する。以後の処理は、このステップＣ６０２または後述するステップＣ６１０で設定したトラックについて行われる。
【００９１】
ステップＣ６０３では、これよりハードディスク１２から転送しようとする再生波形信号データが新規（異なるバッファ管理テーブル３２に従って発生するもの）か判断する。新規のデータの場合、ステップＣ６０４に進み、新規のデータでない場合、ステップＣ６０７に進む。
【００９２】
ステップＣ６０４では、これより転送する再生波形信号データが新規のデータであるので、新規の発音態様情報がＤＳＰ１４のバッファ管理テーブルに書き込み可能か判断する。この判断もステップＣ４０５と同様に行われる。書き込みが可能ならば、ステップＣ６０５に進み、書き込み不能なら、ステップＣ６０９に進む。
【００９３】
ステップＣ６０５では、図９に示したＤＳＰに対するデータの書き込みルーチンを使用して、ＤＳＰ１４のバッファ管理テーブル２６の空いているテーブルに新規の発音態様情報を書き込み設定する。但し、データ長への設定は、ステップＣ６０８において行われるので、このステップＣ６０５では行われない。
【００９４】
次に、ステップＣ６０６が行われる。このステップＣ６０６では、ＣＰＵの状態テーブル３２に、ステップＣ６０５で設定したテーブル番号を設定中テーブル番号として設定する。
【００９５】
ステップＣ６０７が行われる。このステップＣ６０７では、再生波形信号データをＤＳＰの再生バッファ２２に転送する。この転送は、図１１の再生波形信号データの転送ルーチンを使用する。この転送ルーチンが実行されたことにより、ＤＳＰ１４では、図１２に示す再生波形信号データの受信ルーチンが実行される。
【００９６】
次に、ステップＣ６０８では、ＣＰＵ６の状態テーブル３２に、ステップＣ６０７で転送した再生波形信号データの量に基づいて、再生バッファ２２の空き領域とデータ長１または２（設定中テーブル番号に記載されている番号に対応するもの）の値を計算して設定する。この計算は、ステップＣ４０９で行われたものと同じである。同時に、再生波形信号データを転送したトラックの追加送信要求レジスタをクリアする。
【００９７】
ステップＣ６０４でバッファ管理テーブル２６に空きがないと判断された場合には、ステップＣ６０９が実行される。このステップＣ６０９では、ステップＣ６０２において決定したトラックの優先順位に従って次の優先順位のトラックがあるか判断する。次の優先順位のトラックがあれば、ステップＣ６１０に進む。次の優先順位のトラックがなければ、このルーチンを終了する。
【００９８】
ステップＣ６１０では、次の優先順位のトラックをデータ転送のトラックとして設定し、ステップＣ６０３に進む。
【００９９】
次に図１７を参照して、ＣＰＵ６において行われる再生中止ルーチンを説明する。このルーチンは、表示装置１１に表示されたストップボタン（図示せず）を、マウスによってユーザーが操作することによって、再生波形信号データの再生を中止させるためのものである。
【０１００】
このルーチンでは、まずＤＳＰ内部のタイマをストップさせる（ステップＣ７０１）。これは、図９に示したＤＳＰに対するデータの書き込み処理ルーチンを使用して、ＤＳＰ１４のタイマフラグ３０にストップデータを書き込んで、タイマを停止させるものである。
【０１０１】
次に、ステップＣ７０２において、トラックを指定するカウンタＴｒを初期値０に設定する。
【０１０２】
次に、ステップＣ７０３からＣ７０５までをトラック数Ｎだけ繰り返す。ステップＣ７０３では、カウンタＴｒをインクリメントする。
【０１０３】
ステップＣ７０４では、ＤＳＰ６のバッファ管理テーブル２６をクリアする。これは、図９に示したＤＳＰに対するデータの書き込みルーチンを使用して、バッファ管理テーブル２６に０を書き込む。
【０１０４】
ステップＣ７０５では、カウンタＴｒが０になったか判断する。カウンタＴｒがＮになった場合、このルーチンを終了する。カウンタＴｒがＮでない場合、ステップＣ７０３に進む。
【０１０５】
次にＤＳＰ１４において、図示しないサンプリング周期信号発生手段から得られるサンプリング周期信号に応じて実行されるサンプリング周期割り込みに対する応答処理ルーチンを、図１８を参照して説明する。
【０１０６】
まずステップＤ４０１において、タイマフラグ３０がスタート状態にセットされているか判断する。スタート状態にセットされていると、ステップＤ４０２に進み、スタート状態にセットされていないと、このルーチンを終了する。
【０１０７】
ステップＤ４０２では、図示していないタイマをインクリメントし、時刻を更新する。このタイマは、図１３に示すメインループのステップＤ１０５において再生開始時刻になっているかの判断に使用されている。
【０１０８】
ステップＤ４０２に続いて、ステップＤ４０３において、図３に示すＤ／Ａバッファ２４のデータが読み出され、Ｄ／Ａ変換器２０に供給される。従って、Ｄ／Ａ変換器２０からはサンプリング周期ごとにアナログ信号が出力される。
【０１０９】
処理形態情報のうちの発音態様情報の一部として発音開始時刻を表す情報を、同一のトラックに記憶される各再生波形信号ごとにバッファ管理テーブル２６においてテーブル１、２を用いて記憶しているので、図２に示すトラック１のＷＡＶＥ１とＷＡＶＥ２のように詰めて再生波形信号データを再生用バッファ２２に記憶させることが可能であり、再生用バッファ２２を有効に利用することができる。さらに、再生用バッファ２２への再生波形信号データの書き込みは、優先順位の最も高いものから行っているので、再生時に音切れが生じることはない。
【０１１０】
上記の実施の形態では、バッファ管理テーブル２６には、テーブル１、２の２つのテーブルを設けたが、このテーブルの数は更に増加させることもできる。
【０１１１】
【発明の効果】
以上のように請求項１記載の発明によれば、ディジタル可聴周波数信号データと、その処理形態情報と、再生開始タイミングとに従って、ディジタル可聴周波数信号データを再生処理しているので、様々な処理形態のディジタル可聴周波数信号データであっても、再生可能である。
【０１１２】
更に、請求項１記載の発明によれば、複数のディジタル可聴周波数信号データを記憶手段から読み出して、各再生トラックの再生バッファに記憶させ、各再生バッファにおけるディジタル可聴周波数信号データの処理状態を示す処理状態情報を複数の処理状態情報記憶手段に記憶させ、これら処理状態情報に少なくとも基づいて各再生バッファのいずれにディジタル可聴周波数信号データを書き込むかの優先順位を決定しているので、再生バッファの未処理のディジタル可聴周波数信号データが無くなるようなことがなく、いわゆる音切れが発生することがない。
【図面の簡単な説明】
【図１】本発明によるディジタル信号再生装置の１実施の形態のブロック図である。
【図２】同実施の形態において使用する再生用バッファを示す図である。
【図３】同実施の形態において使用するＤ／Ａバッファを示す図である。
【図４】同実施の形態において使用するバッファ管理テーブルを示す図である。
【図５】同実施の形態において使用するＤＳＰタイマフラグを示す図である。
【図６】同実施の形態において使用するＣＰＵ状態テーブルを示す図である。
【図７】同実施の形態において使用する追加要求数レジスタを示す図である。
【図８】同実施の形態においてＣＰＵが実行する再生開始ルーチンのフローチャートである。
【図９】同実施の形態においてＣＰＵが実行するＤＳＰに対するデータの書き込みルーチンのフローチャートである。
【図１０】同実施の形態においてＤＳＰが実行するデータ受信ルーチンのフローチャートである。
【図１１】同実施の形態においてＣＰＵが実行する再生波形信号データ転送ルーチンのフローチャートである。
【図１２】同実施の形態においてＤＳＰが実行する再生波形信号データ受信ルーチンのフローチャートである。
【図１３】同実施の形態においてＤＳＰが実行するメインループのフローチャートである。
【図１４】同実施の形態においてＣＰＵが実行する再生波形信号データの追加送信要求割り込みに対する応答処理ルーチンのフローチャートである。
【図１５】同実施の形態においてＣＰＵが実行するＣＰＵ状態テーブル更新ルーチンのフローチャートである。
【図１６】同実施の形態においてＣＰＵが実行する再生波形信号データの転送可能割り込みに対する応答処理ルーチンのフローチャートである。
【図１７】同実施の形態においてＣＰＵが実行する再生中止ルーチンのフローチャートである。
【図１８】同実施の形態においてＤＳＰが実行するサンプリング周期割り込みに対する応答処理ルーチンのフローチャートである。
【符号の説明】
６  ＣＰＵ（設定手段、処理手段）
１２  ハードディスク（記憶手段）
１４  ＤＳＰ（処理手段  優先順位決定手段）
２２  ＤＳＰ再生用バッファ（処理手段）
２４  Ｄ／Ａバッファ（処理手段）
２６  ＤＳＰ管理テーブル（一時記憶手段）
【図１】
0003722554.tif 000002
【図６】
0003722554.tif 000003
【図７】
0003722554.tif 000004
【図２】
0003722554.tif 000005
【図３】
0003722554.tif 000006
【図４】
0003722554.tif 000007
【図５】
0003722554.tif 000008
【図８】
0003722554.tif 000009
【図９】
0003722554.tif 000010
【図１０】
0003722554.tif 000011
【図１１】
0003722554.tif 000012
【図１２】
0003722554.tif 000013
【図１３】
0003722554.tif 000014
【図１４】
0003722554.tif 000015
【図１５】
0003722554.tif 000016
【図１６】
0003722554.tif 000017
【図１７】
0003722554.tif 000018
【図１８】
0003722554.tif 000019