(57)【要約】【目的】サンプルレート変更時において、再生中の曲の末尾が切れないようにし、かつ、曲間での音の途切れ時間を短縮する「ディジタルオーディオ装置及びそのサンプルレート切り替え方法」を提供する。【構成】ディジタルデータストリームを送信するデバイスと該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットとを備えたディジタルオーディオ装置において、デバイスは、それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知し、ホストユニットは、通知されたサンプルレートを識別するための識別符号を、デバイスから受信するオーディオデータに付加して保存し、アナログ信号再生部（DSP）はメモリからオーディオデータを保存順に読み出し、該オーディオデータに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該オーディオデータをアナログ信号に変換する。【選択図】図１
2008140434.tif 000002
【特許請求の範囲】
【請求項１】
ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置において、
前記デバイスは、
サンプルレートの異なる複数の曲のオーディオデータを記憶する曲記憶部、
それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知すると共に、前記オーディオデータをホストユニットに送信する制御を行う制御部を備え、
ホストユニットは、
前記デバイスから受信するオーディオデータを保存するオーディオデータ保存部、
前記通知されたサンプルレートを識別するための識別符号を、前記デバイスから受信するオーディオデータに付加して前記オーディオデータ保存部に保存する制御部、
前記オーディオデータ保存部からオーディオデータを保存順に読み出し、該オーディオデータに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該オーディオデータをアナログ信号に変換するアナログ信号再生部、
を備えたことを特徴とするディジタルオーディオ装置。
【請求項２】
前記デバイスはホストユニットへオーディオデータをパケット単位で送信し、
前記ホストユニットの制御部は該パケットにサンプルレート識別符号を付加して前記オーディオデータ保存部に保存し、
前記アナログ信号再生部は保存順にパケットをオーディオデータ保存部から読出し、該パケットに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該パケットを構成するオーディオデータをアナログ信号に変換する、
ことを特徴とする請求項１記載のディジタルオーディオ装置。
【請求項３】
ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置において、
前記デバイスは、
サンプルレートの異なる複数の曲のオーディオデータを記憶する曲記憶部、
それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知すると共に、前記オーディオデータをホストユニットに送信する制御を行う制御部を備え、
ホストユニットは、
前記デバイスから受信するオーディオデータを保存するオーディオデータ保存部、
前記オーディオデータ保存部からオーディオデータを保存順に読み出し、該オーディオデータをアナログ信号に変換するアナログ信号再生部、
前記デバイスから受信するオーディオデータをオーディオデータ保存部に保存すると共に、前記通知された新サンプルレートと該新サンプルレートのオーディオデータの記憶開始位置を前記アナログ信号再生部に通知する制御部、
を備え、前記アナログ信号再生部はオーディオデータ読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてオーディオデータをアナログ信号に変換する、
ことを特徴とするディジタルオーディオ装置。
【請求項４】
前記デバイスはホストユニットへオーディオデータをパケット単位で送信し、
前記ホストユニットの制御部は前記新サンプルレートと該新サンプルレートのパケットの記憶開始位置を前記アナログ信号再生部に通知し、
前記アナログ信号再生部はパケット読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてパケットを構成するオーディオデータをアナログ信号に変換する、
ことを特徴とする請求項３記載のディジタルオーディオ装置。
【請求項５】
ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置のサンプルレート切り替え方法において、
前記デバイスは、それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知し、
前記ホストユニットは、前記通知されたサンプルレートを識別するための識別符号を、前記デバイスから受信するオーディオデータに付加してオーディオデータ保存部に保存し、
再生に際して、前記オーディオデータ保存部からオーディオデータを保存順に読み出し、該オーディオデータに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該オーディオデータをアナログ信号に変換する、
ことを特徴とするサンプルレート切り替え方法。
【請求項６】
ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置のサンプルレート切り替え方法において、
前記デバイスは、それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知し、
前記ホストユニットの制御部は、前記デバイスから受信するオーディオデータをオーディオデータ保存部に記憶すると共に、前記通知された新サンプルレートと該新サンプルレートのオーディオデータの記憶開始位置をアナログ信号再生部に通知し、
アナログ信号再生部は、前記オーディオデータ保存部からオーディオデータを保存順に読み出し、オーディオデータ読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてオーディオデータをアナログ信号に変換する、
ことを特徴とするサンプルレート切り替え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はディジタルオーディオ装置及びそのサンプルレート切り替え方法に係わり、特に、ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置及びそのサンプルレート切り替え方法に関する。
【背景技術】
【０００２】
USBオーディオでは、USB.orgが定める「USB Audio Class」に基づいて、ディジタルサウンドをリアルタイムストリームするデバイス（USB function）と、該ストリームを受信しつつリアルタイムで再生するホストユニット（USB host）が存在し、両者間がUSBバスで双方向に通信可能に接続されている。
このUSBオーディオでは、USBバス上を流れるディジタルサウンドデータに関して、USB.orgの定める仕様に従い、定期的（USB Audio Class 1.0では1msec周期）にパケット単位でオーディオデータがストリームされる。すなわち、ホストユニットが定期的にデバイスにパケットを要求し、デバイスは該要求にしたがってパケットをホストユニットに送信する。
従来、このようなオーディオシステムにおいて、ホストユニット（USB host）は、これらのパケットを一定数（例えば５０パケット）下位ドライバのバッファに溜め、一杯になると上位ドライバに渡し、上位ドライバもしくはアプリケーションがDSP（ディジタルシグナルプロセッサ）用バッファへそのデータを渡し、DSPはジッタを吸収できる程度（通常数百msec）にバッファを溜めた上で再生（DA変換）を開始する。
【０００３】
図１０はかかる従来のオーディオシステムの構成図であり、デバイス（USB function）１とホストユニット（USB host）２がUSBバス３で双方向に通信可能に接続されている。デバイス１はADコンバータ１aや処理部（図示せず）を備え、ADコンバータ１a はUSBマイクデバイスからマイク入力端子1bを介して入力するアナログ信号やUSB用ライン入力デバイスからLine-In端子1cを介して入力するアナログ信号を所定のサンプリング速度でAD変換してメモリ（図示せず）に保存し、ホストユニット２から要求がある毎に処理部はオーディオデータをパケット化して送信する。なお、Line-In端子からディジタルオーディオデータが入力する場合もある。
ホストユニット２のホストコントローラドライバ（下位ドライバ）2aは、例えば1msec周期でデバイス１に対してオーディオデータを要求し、デバイス１よりパケットを受信する毎にバッファメモリ２ｂに格納する。USBオーディオクラスドライバ（上位ドライバ）２cは、バッファメモリに５０パケット分のオーディオデータが保存されれば、該オーディオデータをバッファメモリから読み取り、アプリケーション部２ｄを介してDSP用バッファ2eに保存する。オーディオデータ再生用のDSP２fはバッファ２eにジッタを吸収できる程度（通常数百msec）のオーディオデータが保存されてから順次オーディオデータを該バッファ２eから読み出してアナログ信号に変換してオーディオ回路（図示せず）に入力する。DSP用バッファ2eには書き込みと読み出しが並行して行なわれる。
【０００４】
かかるUSBオーディオシステムにおいて、デバイス１のADコンバータ１aのサンプルレート（AD変換レート）を変更したい場合がある。例えば、ユーザーがサンプルレートを変えた時の音質をチェックしたい場合などである。かかるサンプルレートを変える方法として第１、第２の方法がある。
第１のサンプルレート変更方法では、キー操作によりユーザーからのサンプルレート変更コマンドが発生すると、ホストユニット２のアプリケーション部２dは、下位ドライバ２aにストリームの中止を通知する（図１０中の(1)、 ストリーム停止要求）。一方、DSP ２fは、DSP用バッファ２e内の残りデータの再生をし続け、すべて再生しきった時点でアプリケーション部２dに再生終了を通知する（図１０中の(2)）。アプリケーション部２dは該通知を受信すれば、DSP ２fに対して新サンプルレートを設定する（図１０中の(3) 新サンプルレート設定）。しかる後、アプリケーション部２dは下位ドライバ２aを通じてサンプルレートの変更をデバイス１に指示し（図１０中の(4) サンプルレート変更通知）、下位ドライバ２aは再度デバイス１に対してストリームの要求を開始する（図１０中の(5)）。以後、前述のごとくデバイス１からオーディオデータ（パケット）が送信され、DSPバッファ２eにジッタを吸収できる程度（通常数百msec）のオーディオデータが保存されるとDSP ２fは再生動作が開始する。
【０００５】
図１１は第２のサンプルレート変更方法の説明図であり、キー操作によりユーザーからのサンプルレート変更コマンドが発生すると、ホストユニット２のアプリケーション部２dは、下位ドライバ２aにストリームの中止を通知する（図１１中の(1)、 ストリーム停止要求）。ついで、アプリケーション部２dは、DSP ２fに指示してDSP ２fの再生を直ちに強制停止し、かつ、DSP用バッファ２eの残りデータをすべて破棄する（図１１中の(2)）。アプリケーション部２dは、データ破棄後、DSP ２fに対して新サンプルレートを設定する（図１１中の(3) 新サンプルレート設定）。しかる後、アプリケーション部２dは下位ドライバ２aを通じてサンプルレートの変更をデバイス１に指示し（図１１中の(4) サンプルレート変更通知）、下位ドライバ２aは再度デバイス１に対してストリームの要求を開始する（図１１中の(5)）。以後、前述のごとくデバイス１からオーディオデータ（パケット）が送信され、DSPバッファ２eにジッタを吸収できる程度（通常数百msec）のオーディオデータが保存されるとDSP ２fは再生動作が開始する。
【０００６】
第１のサンプルレート変更方法では、DSPバッファ２eに記憶されているオーディオデータを再生し、しかる後、該DSPバッファ２eに新サンプルレートのオーディオデータが所定量保存されるまで、新サンプルレートの再生音の出力が中断する問題がある。また、第２のサンプルレート変更方法では、新サンプルレートの再生音の出力中断時間が短縮するが、サンプルレート変更前に聞いていたオーディオデータが捨てられて聞けない問題がある。
これらの問題点は、USBマイクデバイスやライン入力デバイスからのサンプルレートをホストユニット２側からの指示により切り替える場合のように、ホストユニット２が完全にサンプルレート変更制御を主動できる場合には、さほどの問題ではなかった。
しかしながら、デバイス１が予めディジタル録音されたサンプルレートが異なる複数の楽曲ファイルを持ち、デバイス側からの契機でサンプルレート変更が発生するような場合に問題が生じる。すなわち、第１のサンプルレート変更方法は、サンプルレート変更時に、ホストユニット２内のDSP用バッファ内にあるオーディオデータをすべて再生しきってからサンプルレート変更を開始し、レート変更後に再び該DSP用バッファへのバッファリングをやり直す必要があり、次の曲の再生までに多大な時間を要してしまう。これでは、曲間での音の途切れ時間が長くなり、ギャップレス再生とはほど遠いシステムとなる問題がある。また、第２のサンプルレート変更方法は、時間短縮のためにDSP用バッファに保存してある未再生のオーディオデータを破棄するものであり、レート変更前の曲の最後の部分を再生せずに捨ててしまい、曲の末尾が切れる問題がある。
従来技術として、入力ディジタル音声信号中のすべての曲が記録可能となるように各曲の音声データ毎にサンプリング周波数および量子化ビット数を制御する技術がある（特許文献１参照）。
【特許文献１】特開２０００−２０７８４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記従来技術は、サンプルレート変更時における音の途切れ時間を短縮したり、曲の末尾が切れるのを防止する技術ではない。
以上からは、本発明の目的は、ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置におけるサンプルレート変更時において、曲間での音の途切れ時間を短縮することである。
本発明の別の目的は、上記ディジタルオーディオ装置におけるサンプルレート変更時において、再生中の曲の末尾が切れないようにし、かつ、曲間での音の途切れ時間を短縮することである。
【課題を解決するための手段】
【０００８】
本発明の第１の態様は、ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置である。
本発明の第１のディジタルオーディオ装置において、前記デバイスは、サンプルレートの異なる複数の曲のオーディオデータを記憶する曲記憶部、それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知すると共に、前記オーディオデータをホストユニットに送信する制御を行う制御部を備え、ホストユニットは、前記デバイスから受信するオーディオデータを保存するオーディオデータ保存部、前記通知されたサンプルレートを識別するための識別符号を、前記デバイスから受信するオーディオデータに付加して前記オーディオデータ保存部に保存する制御部、前記オーディオデータ保存部からオーディオデータを保存順に読み出し、該オーディオデータに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該オーディオデータをアナログ信号に変換するアナログ信号再生部を備えている。
本発明の第１のディジタルオーディオ装置において、前記デバイスはホストユニットへオーディオデータをパケット単位で送信し、前記ホストユニットの制御部は該パケットにサンプルレート識別符号を付加して前記オーディオデータ保存部に保存し、前記アナログ信号再生部は保存順にパケットをオーディオデータ保存部から読出し、該パケットに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該パケットを構成するオーディオデータをアナログ信号に変換する。
本発明の第２のディジタルオーディオ装置において、前記デバイスは、サンプルレートの異なる複数の曲のオーディオデータを記憶する曲記憶部、それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知すると共に、前記オーディオデータをホストユニットに送信する制御を行う制御部を備え、ホストユニットは、前記デバイスから受信するオーディオデータを保存するオーディオデータ保存部、前記オーディオデータ保存部からオーディオデータを保存順に読み出し、該オーディオデータをアナログ信号に変換するアナログ信号再生部、前記デバイスから受信するオーディオデータをオーディオデータ保存部に保存すると共に、前記通知された新サンプルレートと該新サンプルレートのオーディオデータの記憶開始位置を前記アナログ信号再生部に通知する制御部を備え、前記アナログ信号再生部はオーディオデータ読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてオーディオデータをアナログ信号に変換する。
本発明の第２のディジタルオーディオ装置において、前記デバイスはホストユニットへオーディオデータをパケット単位で送信し、前記ホストユニットの制御部は前記新サンプルレートと該新サンプルレートのパケットの記憶開始位置を前記アナログ信号再生部に通知し、前記アナログ信号再生部はパケット読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてパケットを構成するオーディオデータをアナログ信号に変換する。
【０００９】
本発明の第２の態様は、ディジタルデータストリームを送信するデバイスと、該ディジタルデータストリームを受信してアナログ信号を再生するホストユニットと、前記デバイスとホストユニット間を双方向にデータ送受可能に接続するバスを備えたディジタルオーディオ装置のサンプルレート切り替え方法である。
本発明の第１のサンプルレート切り替え方法は、前記デバイスにおいて、それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知するステップ、前記ホストユニットにおいて、前記通知されたサンプルレートを識別するための識別符号を、前記デバイスから受信するオーディオデータに付加してオーディオデータ保存部に保存するステップ、再生に際して、前記オーディオデータ保存部からオーディオデータを保存順に読み出し、該オーディオデータに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該オーディオデータをアナログ信号に変換するステップを有している。
本発明の第２のサンプルレート切り替え方法は、前記デバイスは、それまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知するステップ、前記ホストユニットの制御部は、前記デバイスから受信するオーディオデータをオーディオデータ保存部に記憶すると共に、前記通知された新サンプルレートと該新サンプルレートのオーディオデータの記憶開始位置をアナログ信号再生部に通知するステップ、アナログ信号再生部は、前記オーディオデータ保存部からオーディオデータを保存順に読み出し、オーディオデータ読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてオーディオデータをアナログ信号に変換するステップを有している。
【発明の効果】
【００１０】
本発明によれば、デバイスはそれまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知し、ホストユニットにおいて制御部は通知されたサンプルレートを識別するための識別符号を、オーディオデータに付加してオーディオデータ保存部に保存し、アナログ信号再生部はオーディオデータ保存部からオーディオデータを保存順に読み出し、該オーディオデータに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該オーディオデータをアナログ信号に変換するように構成したから、サンプルレート変更時において、曲間での音の途切れ時間を短縮することができ、しかも、再生中の曲の末尾が切れないようにできる。
また、本発明によれば、前記デバイスはホストユニットへオーディオデータをパケット単位で送信し、前記ホストユニットの制御部は該パケットにサンプルレート識別符号を付加して前記オーディオデータ保存部に保存し、前記アナログ信号再生部は保存順にパケットをオーディオデータ保存部から読出し、該パケットに付加されているサンプルレート識別符号が指示するサンプルレートに基づいて該パケットを構成するオーディオデータをアナログ信号に変換するようにしたから、パケット単位で上記制御ができ、サンプルレート変更制御をシンプルに行うことができる。
また、本発明によれば、デバイスはそれまでと異なるサンプルレートの曲のオーディオデータの送信に先立ってホストユニットに新サンプルレートを通知し、ホストユニットにおいて制御部は通知された新サンプルレートと該新サンプルレートのオーディオデータの記憶開始位置をアナログ信号再生部に通知し、アナログ信号再生部は、オーディオデータ読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてオーディオデータをアナログ信号に変換するように構成したから、サンプルレート変更時において、曲間での音の途切れ時間を短縮することができ、しかも、再生中の曲の末尾が切れないようにでき、更には、使用メモリ量を少なくできる。
また、本発明によれば、前記デバイスはホストユニットへオーディオデータをパケット単位で送信し、前記ホストユニットの制御部は前記新サンプルレートと該新サンプルレートのパケットの記憶開始位置を前記アナログ信号再生部に通知し、前記アナログ信号再生部はパケット読出し位置が前記通知された記憶開始位置になったときサンプルレートを前記通知されている新サンプルレートに切り替えてパケットを構成するオーディオデータをアナログ信号に変換するようにしたから、パケット単位で上記制御ができ、サンプルレート変更制御をシンプルに行うことができる。
【発明を実施するための最良の形態】
【００１１】
（Ａ）第１実施例
（ａ）構成
図１は本発明の第１実施例の構成図である。
デバイス（USB function）１０とホストユニット（USB host）２０がUSBバス３０で双方向に通信可能に接続されている。デバイス１０は、サンプルレートの異なる複数の曲のオーディオデータを記憶する曲記憶部１１、処理部１２などを有している。なお、デバイス１０は図１０で示したADコンバータやマイク入力インターフェース、Line-Inインターフェースなどを有しているが本発明と関係がないので図示は省略している。サンプルレートとしては、たとえば４４．１kHz，４８kHz，３２kHzなどがあり、図ではこれらサンプルレートの曲A，B，Cが曲記憶部１１に記憶されている状態が示されている。処理部１２は、それまでと異なるサンプルレートの曲のパケット（オーディオデータ）の送信に先立ってホストユニットに新サンプルレートを通知すると共に、前記パケットをホストユニットに送信する制御を行う。
ホストユニット２０のUSBインターフェース２１はUSBバス３０を介してデバイス１０とパケット（オーディオデータ）、制御データの送受を行い、デバイス１０より受信したパケットをホストコントローラドライバ（下位ドライバ）２１に入力し、サンプルレート変更通知をアプリケーション部２５に入力する。
ホストコントローラドライバ２２は、例えば1msec周期でUSBインターフェース２１を介してデバイス１０に対してオーディオデータを要求し、デバイス１０よりパケットを受信する毎にバッファメモリ２３に格納する。USBオーディオクラスドライバ（上位ドライバ）２４は、バッファメモリ２３に５０パケットのオーディオデータが保存されれば、該オーディオデータを該バッファメモリから読み取り、アプリケーション部２５を介してDSP用バッファ２６に保存する。オーディオ再生用のDSP ２７はDSP用バッファ２６にジッタを吸収できる程度（通常数百msec）のオーディオデータが保存されてから順次オーディオデータを該バッファ２６から読み出してアナログ信号に変換してオーディオ回路（図示せず）に入力する。DSP用バッファ２６には書き込みと読み出しが並行して行なわれる。
【００１２】
図２はデバイス１０の詳細構成図であり、ADコンバータやマイク入力インターフェース、Line-Inインターフェースなどは省略している。曲記憶部１１には外部のディジタルオーディオデバイスからディジタルインターフェース１３を介してサンプルレートの異なる複数の曲A，B，C，…がディジタルで保存されている。各曲データは、曲サイズ（バイト数）やサンプルレートなどの曲制御情報とオーディオデータを有している。
処理部１２は、曲のサンプルレートが変化することを検出し、サンプルレートが変わった曲のオーディオデータの送信に先立ってホストユニット２０にUSBバスインターフェース部１４を介してレート変更および新サンプルレートを通知する。また、処理部１２はホストユニット２０からデータリクエストがある毎にオーディオデータをパケット単位でUSBバスインターフェース部１４を介してホストユニット２０に送信する制御を行う。USBバスインターフェース部１４は上り、下りのインターフェースを備え、オーディオデータや制御データを送受するようになっている。
【００１３】
（ｂ）サンプルレート通知処理
図３は処理部１２のサンプルレート通知処理フローである。なお、処理部１２は現在再生中の曲の曲サイズ、サンプルレートをおよび再生中の曲の残データサイズを内蔵の記憶部に保存してある（ステップ１０１）。
処理部１２はパケットリクエストがホストユニット２０から受信したか監視し（ステップ１０２）、パケットリクエストを受信すれば現在再生中のオーディオデータを１パケット分、曲記憶部１１から読出しテホストユニット２０に送信する（ステップ１０３）。しかる後、残データサイズを更新し（ステップ１０４）、残データサイズが零になったかチェックする（ステップ１０５）。零でなければ、ステップ１０２以降の処理を繰り返し、残データサイズが零になれば、全曲の再生が完了したかチェックし（ステップ１０６）、再生が完了していれば処理を終了する。
しかし、全曲の再生が完了してなければ、次の曲のサイズ及びサンプルレートを保存し（ステップ１０７）、該新サンプルレートがそれまでのサンプルレートと異なるかチェックし（ステップ１０８）、一致していればステップ１０２以降の処理を行なう。
一方、新サンプルレートがそれまでのサンプルレートと異なれば、新サンプルレートをＵＳＢバスインターフェース２４を介してホストユニット２０に通知し（ステップ１０９）、ステップ１０２以降の処理を行なう。
【００１４】
（ｃ）サンプルレート変更処理
図４はホストユニット２０のサンプルレート変更処理フローである。なお、ホストコントローラドライバ２２は現在再生中の曲のサンプルレートを内蔵のメモリに保存してある。
ホストユニット２０のアプリケーション部２５はデバイス１０からサンプルレート変更通知を受信したか監視しており（ステップ２０１）、サンプルレート変更通知を受信しなければ、ホストコントローラドライバ２２は定期的に、例えば１msec毎にパケットリクエストをデバイス１０に送信し（ステップ２０２）、デバイス１０から受信したオーディオパケットの先頭にサンプルレートを表すレート識別子を加えてバッファメモリ２３に格納する（ステップ２０３）。ついで、バッファメモリ２３に５０パケット分格納されたかチェクし（ステップ２０４）、格納されていなければステップ２０１に戻り、以降の処理を繰り返す。一方、バッファメモリ２３に５０パケット分格納されれば、USBオーディオクラスドライバ（上位ドライバ）２４は、該５０パケット分のオーディオデータをバッファメモリから読み取り、アプリケーション部２５を介してDSP用バッファ２６に保存し、始めに戻る。なお、DSP ２７の処理は図５にしたがって説明する。
【００１５】
一方、ステップ２０１において、アプリケーション部２５はデバイス１０からサンプルレート変更通知を受信すれば、直ちにホストコントローラドライバ２２にサンプルレートの変更を指示する。ホストコントローラドライバ２２は新サンプルレートを内蔵のメモリ内に記憶し、デバイス１０にサンプルレートの変更受信応答を通知する（ステップ２０６）。
以後、ホストコントローラドライバ２２は、定期的に、例えば１msec毎にパケットリクエストをデバイス１０に送信し（ステップ２０２）、デバイス１０から受信したオーディオパケットの先頭に新サンプルレートを表すレート識別子を加えてバッファメモリ２３に格納する（ステップ２０３）。図１のバッファメモリ２３にはサンプルレート44.1kHzの曲Aのオーディオパケットからサンプルレート48kHzの曲Bのオーディオパケットが保存された場合が示されている。
【００１６】
図５はDSP ２７の処理フローである。DSP ２７は順次DSP用バッファ２６に保存されているオーディオパケットを読出し（ステップ３０１）、そのサンプルレートを識別し（ステップ３０２）、サンプルレート識別符号が指示するサンプルレートに基づいて該オーディオデータをアナログ信号に変換して出力する（ステップ３０３）。
以上の説明では全オーディオパケットにサンプルレート識別符号を付したが、サンプルレートが変化する曲の最初のパケットのみに付加するだけでも良い。
【００１７】
以上、第１実施例によれば、下位ドライバで１パケットごとにレート識別子を付加することで、バッファメモリ内においてどのデータがどのサンプルレートなのか、DSPが知ることができ、正しくサンプルレートに基づいてオーディオ信号を再生できる。
また、第１実施例によれば、DSPがパケット単位でサンプルレートを知ることにより、バッファ内のデータを完全に再生し終えるのを待ったり、あるいはバッファ内のデータを破棄したりすることなく、瞬時にサンプルレートを変更することが可能になる。
また、第１実施例によれば、サンプルレートの変更にかかる時間を圧倒的に短くできるため、曲間の空白を殆ど無に近づけることができ、いわゆる「ギャップレス再生」に近い再生を行うことができる。
【００１８】
（Ｂ）第２実施例
図６は本発明の第２実施例のオーディオ装置の構成図であり、図１と同一部分には同一符号を付している。第２実施例において、第１実施例と異なる点は、第１実施例のバッファメモリ２３とDSP用バッファ２５をまとめて１つのメモリ５１で構成している点である。
図７はメモリ５１の動作説明図であり、AWは書き込みアドレス、ARは読出しアドレスである。メモリ５１へのオーディオパケットの書き込みはホストコントローラドライバ２２により行なわれ、メモリ５１からのオーディオパケットの読み出しはDSP２７により行なわれる。図７（A）に示すように、ホストコントローラドライバ２２はオーディオパケットをメモリ５１のアドレス０から点線矢印方向に順番にアドレスnまで書き込み、アドレスnまで書き込めば、以後、再びアドレス０から順番に上書きする。最初、メモリ５１にオーディオパケットが保存されていない状態において、ホストコントローラドライバ２２はメモリ５１に最初の曲のオーディオパケットを数百msec分記憶する。例えばアドレスmまでオーディオパケットを記憶する（図７（A）参照）。そして、アドレスmまでオーディオパケットを記憶した時点から、図７（B）に示すように、DSP ２７はアドレス０から矢印方向にオーディオパケットの読み出しを開始し、また、ホストコントローラドライバ２２はアドレス（m＋１）からオーディオパケットの書き込みを継続する。以後、オーディオパケットの書き込みと読み出しを並行して行なう。
【００１９】
図８はホストユニット２０の第２実施例のサンプルレート変更処理フローである。
ホストユニット２０のアプリケーション部２５はデバイス１０からサンプルレート変更通知を受信したか監視しており（ステップ４０１）、サンプルレート変更通知を受信しなければ、ホストコントローラドライバ２２は定期的に、例えば１msec毎にパケットリクエストをデバイス１０に送信し（ステップ４０２）、デバイス１０から受信したオーディオパケットをメモリ５１に格納し（ステップ４０３）、ステップ４０１に戻る。
【００２０】
一方、ステップ４０１において、アプリケーション部２５はデバイス１０からサンプルレート変更通知を受信すれば(図６の(1))、直ちにホストコントローラドライバ２２にサンプルレートの変更を指示する(図６の(2))。ホストコントローラドライバ２２は新サンプルレートを内蔵のメモリ内に記憶し、デバイス１０にサンプルレート変更の受信応答をする（(図６の(3))、ステップ４０４）。
以後、ホストコントローラドライバ２２は、定期的に、例えば１msec毎にパケットリクエストをデバイス１０に送信する（ステップ４０５）。そして、ホストコントローラドライバ２２は、デバイス１０から新サンプルレートの最初のオーディオパケットを受信すれば、該オーディオパケットをメモリ５１のアドレスAsc（図７（C）参照）に格納すると共に、該メモリアドレスAsc（レート変更点という）をレート変更点情報として上位ドライバ２４に渡す（(図６の(4))、ステップ４０６）。上位ドライバ２４は該レート変更点情報をアプリケーション部２５に渡し(図６の(5))、アプリケーション部２５はDSP２７にレート変更点と新サンプルレートを通知する（(図６の(6))、ステップ４０７）。以後、ステップ４０１以降の処理が行なわれる。
【００２１】
図９はDSP ２７の処理フローである。なお、DSP２７は現在再生中の曲のサンプルレート（第１のサンプルレートという）を保持している。
DSP ２７はアプリケーション部２５からレート変更点とサンプルレートを受信したか監視し（ステップ５０１）、受信しなければ、メモリ５１の読出しアドレスARがレート変更点アドレスAscと一致するかチェックする（ステップ５０２）。この時点ではまだアプリケーション部２５よりレート変更点を通知されていないから、DSP２７はレート変更点アドレスAscを保持しておらず、読出しアドレスARはレート変更点アドレスAscと一致しないと判定する。
ついで、DSP２７は読出しアドレスARが指示する記憶域からパケットデータを読み出し（ステップ５０３）、かつ、読出しアドレスARを次の読出しアドレスに更新する（ステップ５０４）。しかる後、DSP２７は読み出したオーディオパケットを構成するオーディオデータを第１のサンプルレートに基づいてアナログ信号に変換して出力し（ステップ５０５）、始めに戻る。
【００２２】
一方、ステップ５０１において、DSP ２７はアプリケーション部２５からレート変更点とサンプルレートを受信すれば、レート変更点Ascを保存すると共に、サンプルレートを第２のサンプルレートとして内蔵のメモリに記憶し（ステップ５０６）、以後ステップ５０２の処理を行なう。
ステップ５０２において、読出しアドレスARがレート変更点Ascと一致すれば、第２サンプルレートを第１サンプルレートに変更すると共に、レート変更点Ascをクリアし（ステップ５０７）、ステップ５０３以降の処理を繰り返す。これにより、以後、DSP２７は読み出したオーディオパケットを構成するオーディオデータを新サンプルレートに基づいてアナログ信号に変換して出力する。
第２実施例によれば、第１実施例と同様の効果を奏することができると共に、第１実施例のようにサンプルレート識別符号をパケットに付加してバッファメモリに記憶する必要がないためメモリ使用量を減少できる利点がある。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１実施例のオーディオ装置の構成図である。
【図２】デバイスの詳細構成図である。
【図３】処理部のサンプルレート通知処理フローである。
【図４】ホストユニットのサンプルレート変更処理フローである。
【図５】DSP の処理フローである。
【図６】本発明の第２実施例のオーディオ装置の構成図である。
【図７】第２実施例のバッファメモリの説明図である。
【図８】ホストユニットの第２実施例のサンプルレート変更処理フローである。
【図９】第２実施例のDSP の処理フローである。
【図１０】従来のオーディオシステムの構成図である。
【図１１】サンプルレート変更方法の説明図である。
【符号の説明】
【００２４】
１０  デバイス（USB function）
２０  ホストユニット（USB host）
３０  USBバス
１１  曲記憶部
１２  処理部
２１  USBインターフェース
２２  ホストコントローラドライバ（下位ドライバ）
２３  バッファメモリ
２４  USBオーディオクラスドライバ（上位ドライバ）
２５  アプリケーション部
２６  DSP用バッファ
２７  DSP
【図１】
2008140434.tif 000003
【図２】
2008140434.tif 000004
【図３】
2008140434.tif 000005
【図４】
2008140434.tif 000006
【図５】
2008140434.tif 000007
【図６】
2008140434.tif 000008
【図７】
2008140434.tif 000009
【図８】
2008140434.tif 000010
【図９】
2008140434.tif 000011
【図１０】
2008140434.tif 000012
【図１１】
2008140434.tif 000013