(57)【特許請求の範囲】
【請求項１】
ホスト装置から、所定のフレーム周期毎に、通信バスを介して供給されるオーディオデータを入力し、所定の処理の後、出力するオーディオデータ出力装置であって、
先入れ先出し方式の受信バッファを有し、前記通信バスを介して、前記フレーム周期毎に、前記ホスト装置からの出力要求に応じて、前記ホスト装置から複数サンプルずつ送られてくる複数チャンネル（ｃｈ）のオーディオデータを受信し、受信した複数ｃｈのオーディオデータを前記受信バッファに書き込む、受信動作を行う受信部と、
先入れ先出し方式の再生バッファを含み、前記再生バッファに記憶されている複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ読み出して、出力する再生部と、
装置全体を制御するプロセッサと、
前記プロセッサからの指示に従い、前記受信部および再生部の動作を制御する制御部と
を備え、
前記プロセッサは、
（１）前記通信バスを介して、前記ホスト装置から、受信するオーディオデータに関するパラメータを受け取ったときは、前記制御部に、該パラメータを設定し、
（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの出力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、
前記制御部は、
前記プロセッサからの動作開始の指示に応じて、前記受信バッファと前記再生バッファをクリアし、前記受信部の受信動作を有効化するとともに、前記再生部のサンプル読み出しの動作を停止中とし、その後、前記フレーム周期毎に、
（１）前記受信部がオーディオデータを受信しており、かつ、前記再生部のサンプル読み出しの動作が停止中であれば、受信したオーディオデータを前記受信バッファから前記再生バッファに転送するとともに、前記再生バッファのオーディオデータが所定量に達したとき、前記再生部に対して、前記サンプル読み出しの動作の開始を指示して、その動作を開始させ、
（２）前記受信部がオーディオデータを受信しており、かつ、前記再生部の前記サンプル読み出しの動作が動作中であれば、受信したオーディオデータを前記受信バッファから前記再生バッファに転送し、
（３）前記受信部がオーディオデータを受信していなければ、前記再生部の前記サンプル読み出しの動作を停止する
ことを特徴とするオーディオ出力装置。
【請求項２】
請求項１に記載のオーディオ出力装置において、
前記制御部は、さらに、前記フレーム周期毎に、
（４）前記受信部がオーディオデータを受信しており、かつ、前記再生バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記再生部の前記サンプル読み出しの動作を停止するとともに、前記再生バッファのオーディオデータをクリアし、受信したオーディオデータを前記受信バッファから再生バッファに転送する
ことを特徴とするオーディオ出力装置。
【請求項３】
請求項２に記載のオーディオデータ出力装置において、
前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、
前記制御部は、前記自動復帰処理が有効であるときは、前記（４）の動作を実行し、前記自動復帰処理が無効であるときは、前記（４）の動作の代わりに、前記フレーム周期毎に実行している動作を停止して、以後は動作停止状態を維持する
ことを特徴とするオーディオデータ出力装置。
【請求項４】
請求項１に記載のオーディオデータ出力装置において、
前記プロセッサは、前記通信バスを介して、前記ホスト装置から出力停止指示を受け取ったとき、その出力停止指示に応じて、前記制御部に対し、動作の停止を指示し、
前記制御部は、該動作の停止の指示に応じて、前記再生部のサンプル読み出しの動作を停止する
ことを特徴とするオーディオデータ出力装置。
【請求項５】
請求項１に記載のオーディオデータ出力装置において、
前記再生部から出力されるオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行する、デジタル信号処理部を備えており、
前記プロセッサは、受信するオーディオデータに関するパラメータを設定する
ことを特徴とするオーディオデータ出力装置。
【請求項６】
請求項１から５の何れか１つに記載のオーディオデータ出力装置において、
前記オーディオデータに関するパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とするオーディオデータ出力装置。
【請求項７】
外部からオーディオデータを入力し、所定の処理の後、所定のフレーム周期毎に、通信バスを介してホスト装置に供給するオーディオ入力装置であって、
先入れ先出し方式の録音バッファを有し、前記外部から入力した複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ前記録音バッファに書き込む録音部と、
先入れ先出し方式の送信バッファを有し、前記フレーム周期毎に、前記ホスト装置から送られる入力要求に応じて、前記送信バッファに記憶された複数ｃｈのオーディオデータを、前記通信バスを介して前記ホスト装置に複数サンプルずつ送信する、送信動作を行う送信部と、
装置全体を制御するプロセッサと、
前記プロセッサからの指示に従い、前記送信部および録音部の動作を制御する制御部と
を備え、
前記プロセッサは、
（１）前記通信バスを介して、前記ホスト装置から、送信するオーディオデータに関するパラメータを受け取ったときは、前記制御部に、該パラメータを設定し、
（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの入力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、
前記制御部は、
前記プロセッサからの動作開始の指示に応じて、前記送信バッファと録音バッファをクリアし、前記送信部の送信動作を無効化するとともに、前記録音部の前記サンプル書き込みの動作を停止し、その後、前記フレーム周期毎に、
（１）前記録音部の前記サンプル書き込みの動作が停止中であれば、前記録音部に対して前記サンプル書き込みの動作の開始を指示して、その動作を開始させ、
（２）前記録音部の前記サンプル書き込みの動作が動作中であり、かつ、前記送信部が送信無効であれば、録音バッファのオーディオデータを送信バッファに転送するとともに、前記送信バッファに所定量のオーディオデータがある場合は、前記送信部の送信動作を有効化し、
（３）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求がある場合は、録音バッファのオーディオデータを送信バッファに転送する
ことを特徴とするオーディオデータ入力装置。
【請求項８】
請求項７に記載のオーディオデータ入力装置において、
前記制御部は、さらに、前記フレーム周期毎に、
（４）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求が無い場合は、(a)送信バッファに記憶されたオーディオデータを１フレーム周期分消去し、録音バッファのオーディオデータを送信バッファに転送し、または、(b)録音バッファに記憶されたオーディオデータを１フレーム周期分消去する
ことを特徴とするオーディオデータ入力装置。
【請求項９】
請求項８に記載のオーディオデータ入力装置において、
前記プロセッサが、前記制御部に対して、前記（４）の場合に前記(a)または(b)の何れを適用するかを指示し、
前記制御部は、該指示に応じて、前記（４）の場合に前記(a)または(b)の何れかの動作を実行する
ことを特徴とするオーディオデータ入力装置。
【請求項１０】
請求項７に記載のオーディオデータ入力装置において、
前記制御部は、さらに、前記フレーム周期毎に、
（５）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、録音バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記送信部の送信動作を無効化するとともに、録音バッファおよび送信バッファのオーディオデータをクリアする
ことを特徴とするオーディオデータ入力装置。
【請求項１１】
請求項１０に記載のオーディオデータ入力装置において、
前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、
前記制御部は、前記自動復帰処理が有効であるときは、前記（５）の動作を実行し、前記自動復帰処理が無効であるときは、前記（５）の動作の代わりに、前記フレーム周期毎に実行している動作を停止して、以後は動作停止状態を維持する
ことを特徴とするオーディオデータ入力装置。
【請求項１２】
請求項７に記載のオーディオデータ入力装置において、
前記プロセッサは、前記通信バスを介して、前記ホスト装置から入力停止指示を受け取ったとき、その入力停止指示に応じて、前記制御部に対し、動作の停止を指示し、
前記制御部は、該動作の停止の指示に応じて、前記録音部のサンプリング書き込みの動作を停止する
ことを特徴とするオーディオデータ入力装置。
【請求項１３】
請求項７に記載のオーディオデータ入力装置において、
前記外部からのオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行し、前記録音部に出力する、デジタル信号処理部を備えており、
前記プロセッサは、受信するオーディオデータに関するパラメータを設定するものである
ことを特徴とするオーディオデータ入力装置。
【請求項１４】
請求項７から１３の何れか１つに記載のオーディオデータ入力装置において、
前記オーディオデータに関するパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とするオーディオデータ入力装置。
【請求項１５】
ホスト装置から、所定のフレーム周期毎に、通信バスを介して供給されるオーディオデータを入力し、所定の処理の後、出力するオーディオデータ出力装置であって、
先入れ先出し方式の受信バッファと、
先入れ先出し方式の再生バッファと、
前記通信バス上の信号からフレーム周期を検出する検出部と、
前記通信バスを介して、前記フレーム周期毎に、前記ホスト装置からの出力要求に応じて、前記ホスト装置から複数サンプルずつ送られてくる複数チャンネル（ｃｈ）のオーディオデータを受信し、受信した複数ｃｈのオーディオデータを前記受信バッファに書き込む、受信動作を行う受信部と、
前記再生バッファに記憶されている複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ読み出して、出力する再生部と、
装置全体を制御するプロセッサと、
前記プロセッサからの指示に従い、前記受信バッファおよび再生バッファに係るデータ転送を制御するとともに、前記受信部および再生部の動作を制御する制御部と
を備え、
前記プロセッサは、
（１）前記通信バスを介して、前記ホスト装置から、受信するオーディオデータに関するパラメータを受け取ったときは、前記制御部および前記再生部に、該パラメータを設定し、
（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの出力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、
前記制御部は、
前記プロセッサからの動作開始の指示に応じて、前記受信バッファと再生バッファをクリアし、前記受信部の受信動作を有効化するとともに、前記再生部の前記サンプル読み出しの動作を停止中とし、その後、フレーム周期が検出される毎に、
（１）前記受信部がオーディオデータを受信しており、かつ、前記再生部の前記サンプル読み出しの動作が停止中であれば、受信したオーディオデータを受信バッファから再生バッファに転送するとともに、再生バッファのオーディオデータが所定量に達したとき、前記再生部に対して、前記サンプル読み出しの動作の開始を指示して、その動作を開始させ、
（２）前記受信部がオーディオデータを受信しており、かつ、再生バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記再生部の前記サンプル読み出しの動作を停止するとともに、再生バッファのオーディオデータをクリアし、受信したオーディオデータを受信バッファから再生バッファに転送し、
（３）前記受信部がオーディオデータを受信しており、かつ、前記再生部の前記サンプル読み出しの動作が動作中であれば、受信したオーディオデータを受信バッファから再生バッファに転送し、
（４）前記受信部がオーディオデータを受信していなければ、前記再生部の前記サンプル読み出しの動作を停止する
ことを特徴とするオーディオ出力装置。
【請求項１６】
外部からオーディオデータを入力し、所定の処理の後、所定のフレーム周期毎に、通信バスを介してホスト装置に供給するオーディオ入力装置であって、
先入れ先出し方式の送信バッファと、
先入れ先出し方式の録音バッファと、
通信バス上の信号からフレーム周期を検出する検出部と、
前記外部から入力した複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ録音バッファに書き込む録音部と、
前記フレーム周期毎に、前記ホスト装置から送られる入力要求に応じて、送信バッファに記憶された複数ｃｈのオーディオデータを、前記通信バスを介して前記ホスト装置に複数サンプルずつ送信する、送信動作を行う送信部と、
装置全体を制御するプロセッサと、
前記プロセッサからの指示に従い、前記送信バッファおよび録音バッファに係るデータ転送を制御するとともに、前記送信部および録音部の動作を制御する制御部と
を備え、
前記プロセッサは、
（１）前記通信バスを介して、前記ホスト装置から、送信するオーディオデータに関するパラメータを受け取ったときは、前記制御部および前記録音部に、該パラメータを設定し、
（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの入力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、
前記制御部は、
前記プロセッサからの動作開始の指示に応じて、前記送信バッファと録音バッファをクリアし、前記送信部の送信動作を無効化するとともに、前記録音部の前記サンプル書き込みの動作を停止し、その後、フレーム周期が検出される毎に、
（１）前記録音部の前記サンプル書き込みの動作が停止中であれば、前記録音部に対して前記サンプル書き込みの動作の開始を指示して、その動作を開始させ、
（２）前記録音部の前記サンプル書き込みの動作が動作中であり、かつ、前記送信部が送信無効であれば、録音バッファのオーディオデータを送信バッファに転送するとともに、前記送信バッファに所定量のオーディオデータがある場合は、前記送信部の送信動作を有効化し、
（３）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求が無い場合は、(a)送信バッファに記憶されたオーディオデータを１フレーム周期分消去し、録音バッファのオーディオデータを送信バッファに転送し、または、(b)録音バッファに記憶されたオーディオデータを１フレーム周期分消去し、
（４）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、録音バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記送信部の送信動作を無効化するとともに、録音バッファおよび送信バッファのオーディオデータをクリアし、
（５）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求がある場合は、録音バッファのオーディオデータを送信バッファに転送する
ことを特徴とするオーディオデータ入力装置。
【請求項１７】
請求項１５に記載のオーディオデータ出力装置において、
前記オーディオデータに係るパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とするオーディオデータ出力装置。
【請求項１８】
請求項１６に記載のオーディオデータ入力装置において、
前記オーディオデータに係るパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とするオーディオデータ入力装置。
【請求項１９】
請求項１５に記載のオーディオデータ出力装置において、
前記再生部から出力されるオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行する、デジタル信号処理部を備えており、
前記プロセッサは、前記デジタル信号処理部における信号処理を規定するアルゴリズムやパラメータを設定するものである
ことを特徴とするオーディオデータ出力装置。
【請求項２０】
請求項１６に記載のオーディオデータ入力装置において、
前記外部からのオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行し、前記録音部に出力する、デジタル信号処理部を備えており、
前記プロセッサは、前記デジタル信号処理部における信号処理を規定するアルゴリズムやパラメータを設定するものである
ことを特徴とするオーディオデータ入力装置。
【請求項２１】
請求項１５に記載のオーディオデータ出力装置において、
前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、
前記制御部は、前記自動復帰処理が有効であるときは、前記（２）の動作を実行し、前記自動復帰処理が無効であるときは、前記（２）の動作の代わりに、前記フレーム周期が検出される毎に実行している動作を停止して、以後は動作停止状態を維持する
ことを特徴とするオーディオデータ出力装置。
【請求項２２】
請求項１６に記載のオーディオデータ入力装置において、
前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、
前記制御部は、前記自動復帰処理が有効であるときは、前記（４）の動作を実行し、前記自動復帰処理が無効であるときは、前記（４）の動作の代わりに、前記フレーム周期が検出される毎に実行している動作を停止して、以後は動作停止状態を維持する
ことを特徴とするオーディオデータ入力装置。
【請求項２３】
請求項１６に記載のオーディオデータ入力装置において、
前記プロセッサが、前記制御部に対して、前記（３）の場合に前記(a)または(b)の何れを適用するかを指示し、
前記制御部は、該指示に応じて、前記（３）の場合に前記(a)または(b)の何れかの動作を実行するものである
ことを特徴とするオーディオデータ入力装置。
【請求項２４】
請求項１５に記載のオーディオデータ出力装置において、
前記プロセッサは、前記通信バスを介して、前記ホスト装置から出力停止指示または入力停止指示を受け取ったとき、その出力停止指示または入力停止指示に応じて、前記制御部に対し、動作の停止を指示し、
前記制御部は、該動作の停止の指示に応じて、オーディオ信号の出力または入力動作を停止する
ことを特徴とするオーディオデータ出力装置。
【請求項２５】
請求項１６に記載のオーディオデータ入力装置において、
前記プロセッサは、前記通信バスを介して、前記ホスト装置から出力停止指示または入力停止指示を受け取ったとき、その出力停止指示または入力停止指示に応じて、前記制御部に対し、動作の停止を指示し、
前記制御部は、該動作の停止の指示に応じて、オーディオ信号の出力または入力動作を停止する
ことを特徴とするオーディオデータ入力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばＵＳＢ等の汎用インターフェースでＰＣと接続され、音響信号（オーディオデータ）の入出力機能を提供するオーディオデータ入力装置および出力装置に関する。
【背景技術】
【０００２】
従来より、オーディオやビデオのストリーミングが可能な汎用のＵＳＢインターフェース（Ｉ／Ｏ）回路（トランシーバおよびエンドポイントコントローラ）が、各社から提供されている。
【０００３】
また、ＵＳＢケーブルにより、パーソナルコンピュータ（ＰＣ）と接続され、ＰＣのWindows（登録商標），Mac OSX等のオペレーティングシステム（ＯＳ）上で動作する、CubaseやProtools等の音楽アプリケーションに対して、オーディオデータの入出力機能を提供するＵＳＢオーディオデバイスが知られている。音楽アプリケーションは、オーディオデータの外部からの入力や、外部への出力に、ＵＳＢオーディオデバイスを用いることができる。音楽アプリケーションは、ＵＳＢオーディオデバイスを用いて外部から入力したオーディオデータを、１のオーディオトラックに録音したり、１のオーディオトラックで再生したオーディオデータを、ＵＳＢオーディオデバイスを用いて外部へ出力する。
【０００４】
また、ＰＣによる、ＵＳＢオーディオデバイスを用いての、外部へのオーディオデータの出力、および、外部からのオーディオデータの入力では、それぞれ、ＵＳＢのアイソクロナス転送機能を用いて、ＰＣからＵＳＢオーディオデバイスへのオーディオデータのストリーミングと、ＵＳＢオーディオデバイスからＰＣへのオーディオデータのストリーミングが行われる。各ストリーミングは、オーディオデバイス側においては、ＣＰＵが、ＵＳＢの各フレーム周期毎に、ＵＳＢインターフェースやDirect Memory Access（ＤＭＡ）回路を制御することにより実現されている。
【０００５】
下記特許文献１には、ＰＣから送信されるオーディオデータをＵＳＢインタフェースで受信して再生する装置において、オーディオデータが送信されてくるタイミングでＣＰＵに割込をかけ、ＣＰＵがバッファ残量のチェックや再生クロックの制御を行うものが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２９２３７５
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上述したように、ＵＳＢ方式のデータ転送では、各フレーム周期毎（ＳＯＦパケットの受信毎）に、ＣＰＵ（ノードとなるデバイス側のＣＰＵ）に割り込みをかけ、ＣＰＵによるＵＳＢインターフェースやＤＭＡの制御処理を行っている。割り込みは１ｍ秒（ＵＳＢ１．１）ないし１２５μ秒（ＵＳＢ２．０）毎と、結構な頻度であり、また、オーディオデータのストリーミングを途切れさせないために、所定の時間内に割込処理を行うことが要求される。さらに、ＣＰＵは、デバイス全体の制御も行わなければならない。複数ｃｈのオーディオデータのストリーミングを行っている際には、ＰＣからの指示で、その複数の各ｃｈのパラメータ（音量、エフェクト等）を設定しなければならず、ＣＰＵの負荷はさらに増大する。従って、ＣＰＵには、高速で処理能力の高い処理装置が必要であった。そういったＣＰＵは、一般的に、回路規模が大きく、また、消費電力も大きい。
【０００８】
以上のような事情に鑑み、ＵＳＢ方式で接続するデバイスにおいては、低速で処理能力の低いＣＰＵであっても、オーディオデータのストリーミングが問題なく実現できるようにすることが望まれている。
【０００９】
この発明の目的は、ＵＳＢ等の規格で接続するオーディオデータの入力装置や出力装置において、低速で処理能力の低いＣＰＵであってもオーディオデータのストリーミングによるデータ転送が問題なく実現できるようにすることにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、所定のフレーム周期毎の処理でオーディオデータを転送するオーディオデータ出力装置および入力装置において、該フレーム周期毎の処理をＣＰＵ以外のハードウェアで実施し、ＣＰＵにはフレーム周期毎の割込がかからないようにしたことを特徴とする。
【００１１】
すなわち、請求項１に係る発明は、ホスト装置から、所定のフレーム周期毎に、通信バスを介して供給されるオーディオデータを入力し、所定の処理の後、出力するオーディオデータ出力装置であって、先入れ先出し方式の受信バッファを有し、前記通信バスを介して、前記フレーム周期毎に、前記ホスト装置からの出力要求に応じて、前記ホスト装置から複数サンプルずつ送られてくる複数チャンネル（ｃｈ）のオーディオデータを受信し、受信した複数ｃｈのオーディオデータを前記受信バッファに書き込む、受信動作を行う受信部と、先入れ先出し方式の再生バッファを含み、前記再生バッファに記憶されている複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ読み出して、出力する再生部と、装置全体を制御するプロセッサと、前記プロセッサからの指示に従い、前記受信部および再生部の動作を制御する制御部とを備え、前記プロセッサは、（１）前記通信バスを介して、前記ホスト装置から、受信するオーディオデータに関するパラメータを受け取ったときは、前記制御部に、該パラメータを設定し、（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの出力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、前記制御部は、前記プロセッサからの動作開始の指示に応じて、前記受信バッファと前記再生バッファをクリアし、前記受信部の受信動作を有効化するとともに、前記再生部のサンプル読み出しの動作を停止中とし、その後、前記フレーム周期毎に、（１）前記受信部がオーディオデータを受信しており、かつ、前記再生部のサンプル読み出しの動作が停止中であれば、受信したオーディオデータを前記受信バッファから前記再生バッファに転送するとともに、前記再生バッファのオーディオデータが所定量に達したとき、前記再生部に対して、前記サンプル読み出しの動作の開始を指示して、その動作を開始させ、（２）前記受信部がオーディオデータを受信しており、かつ、前記再生部の前記サンプル読み出しの動作が動作中であれば、受信したオーディオデータを前記受信バッファから前記再生バッファに転送し、（３）前記受信部がオーディオデータを受信していなければ、前記再生部の前記サンプル読み出しの動作を停止することを特徴とする。
【００１２】
請求項２に係る発明は、請求項１に記載のオーディオ出力装置において、前記制御部は、さらに、前記フレーム周期毎に、（４）前記受信部がオーディオデータを受信しており、かつ、前記再生バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記再生部の前記サンプル読み出しの動作を停止するとともに、前記再生バッファのオーディオデータをクリアし、受信したオーディオデータを前記受信バッファから再生バッファに転送することを特徴とする。
【００１３】
請求項３に係る発明は、請求項２に記載のオーディオデータ出力装置において、前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、前記制御部は、前記自動復帰処理が有効であるときは、前記（４）の動作を実行し、前記自動復帰処理が無効であるときは、前記（４）の動作の代わりに、前記フレーム周期毎に実行している動作を停止して、以後は動作停止状態を維持することを特徴とする。
【００１４】
請求項４に係る発明は、請求項１に記載のオーディオデータ出力装置において、前記プロセッサは、前記通信バスを介して、前記ホスト装置から出力停止指示を受け取ったとき、その出力停止指示に応じて、前記制御部に対し、動作の停止を指示し、前記制御部は、該動作の停止の指示に応じて、前記再生部のサンプル読み出しの動作を停止することを特徴とする。
【００１５】
請求項５に係る発明は、請求項１に記載のオーディオデータ出力装置において、前記再生部から出力されるオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行する、デジタル信号処理部を備えており、前記プロセッサは、受信するオーディオデータに関するパラメータを設定することを特徴とする。
【００１６】
請求項６に係る発明は、請求項１から５の何れか１つに記載のオーディオデータ出力装置において、前記オーディオデータに関するパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とする。
【００１７】
請求項７に係る発明は、外部からオーディオデータを入力し、所定の処理の後、所定のフレーム周期毎に、通信バスを介してホスト装置に供給するオーディオ入力装置であって、先入れ先出し方式の録音バッファを有し、前記外部から入力した複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ前記録音バッファに書き込む録音部と、先入れ先出し方式の送信バッファを有し、前記フレーム周期毎に、前記ホスト装置から送られる入力要求に応じて、前記送信バッファに記憶された複数ｃｈのオーディオデータを、前記通信バスを介して前記ホスト装置に複数サンプルずつ送信する、送信動作を行う送信部と、装置全体を制御するプロセッサと、前記プロセッサからの指示に従い、前記送信部および録音部の動作を制御する制御部とを備え、前記プロセッサは、（１）前記通信バスを介して、前記ホスト装置から、送信するオーディオデータに関するパラメータを受け取ったときは、前記制御部に、該パラメータを設定し、（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの入力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、前記制御部は、前記プロセッサからの動作開始の指示に応じて、前記送信バッファと録音バッファをクリアし、前記送信部の送信動作を無効化するとともに、前記録音部の前記サンプル書き込みの動作を停止し、その後、前記フレーム周期毎に、（１）前記録音部の前記サンプル書き込みの動作が停止中であれば、前記録音部に対して前記サンプル書き込みの動作の開始を指示して、その動作を開始させ、（２）前記録音部の前記サンプル書き込みの動作が動作中であり、かつ、前記送信部が送信無効であれば、録音バッファのオーディオデータを送信バッファに転送するとともに、前記送信バッファに所定量のオーディオデータがある場合は、前記送信部の送信動作を有効化し、（３）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求がある場合は、録音バッファのオーディオデータを送信バッファに転送することを特徴とする。
【００１８】
請求項８に係る発明は、請求項７に記載のオーディオデータ入力装置において、前記制御部は、さらに、前記フレーム周期毎に、（４）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求が無い場合は、(a)送信バッファに記憶されたオーディオデータを１フレーム周期分消去し、録音バッファのオーディオデータを送信バッファに転送し、または、(b)録音バッファに記憶されたオーディオデータを１フレーム周期分消去することを特徴とする。
【００１９】
請求項９に係る発明は、請求項８に記載のオーディオデータ入力装置において、前記プロセッサが、前記制御部に対して、前記（４）の場合に前記(a)または(b)の何れを適用するかを指示し、前記制御部は、該指示に応じて、前記（４）の場合に前記(a)または(b)の何れかの動作を実行することを特徴とする。
【００２０】
請求項１０に係る発明は、請求項７に記載のオーディオデータ入力装置において、前記制御部は、さらに、前記フレーム周期毎に、（５）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、録音バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記送信部の送信動作を無効化するとともに、録音バッファおよび送信バッファのオーディオデータをクリアすることを特徴とする。
【００２１】
請求項１１に係る発明は、請求項１０に記載のオーディオデータ入力装置において、前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、前記制御部は、前記自動復帰処理が有効であるときは、前記（５）の動作を実行し、前記自動復帰処理が無効であるときは、前記（５）の動作の代わりに、前記フレーム周期毎に実行している動作を停止して、以後は動作停止状態を維持することを特徴とする。
【００２２】
請求項１２に係る発明は、請求項７に記載のオーディオデータ入力装置において、前記プロセッサは、前記通信バスを介して、前記ホスト装置から入力停止指示を受け取ったとき、その入力停止指示に応じて、前記制御部に対し、動作の停止を指示し、前記制御部は、該動作の停止の指示に応じて、前記録音部のサンプリング書き込みの動作を停止することを特徴とする。
【００２３】
請求項１３に係る発明は、請求項７に記載のオーディオデータ入力装置において、前記外部からのオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行し、前記録音部に出力する、デジタル信号処理部を備えており、前記プロセッサは、受信するオーディオデータに関するパラメータを設定するものであることを特徴とする。
【００２４】
請求項１４に係る発明は、請求項７から１３の何れか１つに記載のオーディオデータ入力装置において、前記オーディオデータに関するパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とする。
【００２５】
請求項１５に係る発明は、ホスト装置から、所定のフレーム周期毎に、通信バスを介して供給されるオーディオデータを入力し、所定の処理の後、出力するオーディオデータ出力装置であって、先入れ先出し方式の受信バッファと、先入れ先出し方式の再生バッファと、前記通信バス上の信号からフレーム周期を検出する検出部と、前記通信バスを介して、前記フレーム周期毎に、前記ホスト装置からの出力要求に応じて、前記ホスト装置から複数サンプルずつ送られてくる複数チャンネル（ｃｈ）のオーディオデータを受信し、受信した複数ｃｈのオーディオデータを前記受信バッファに書き込む、受信動作を行う受信部と、前記再生バッファに記憶されている複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ読み出して、出力する再生部と、装置全体を制御するプロセッサと、前記プロセッサからの指示に従い、前記受信バッファおよび再生バッファに係るデータ転送を制御するとともに、前記受信部および再生部の動作を制御する制御部とを備え、前記プロセッサは、（１）前記通信バスを介して、前記ホスト装置から、受信するオーディオデータに関するパラメータを受け取ったときは、前記制御部および前記再生部に、該パラメータを設定し、（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの出力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、前記制御部は、前記プロセッサからの動作開始の指示に応じて、前記受信バッファと再生バッファをクリアし、前記受信部の受信動作を有効化するとともに、前記再生部の前記サンプル読み出しの動作を停止中とし、その後、フレーム周期が検出される毎に、（１）前記受信部がオーディオデータを受信しており、かつ、前記再生部の前記サンプル読み出しの動作が停止中であれば、受信したオーディオデータを受信バッファから再生バッファに転送するとともに、再生バッファのオーディオデータが所定量に達したとき、前記再生部に対して、前記サンプル読み出しの動作の開始を指示して、その動作を開始させ、（２）前記受信部がオーディオデータを受信しており、かつ、再生バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記再生部の前記サンプル読み出しの動作を停止するとともに、再生バッファのオーディオデータをクリアし、受信したオーディオデータを受信バッファから再生バッファに転送し、（３）前記受信部がオーディオデータを受信しており、かつ、前記再生部の前記サンプル読み出しの動作が動作中であれば、受信したオーディオデータを受信バッファから再生バッファに転送し、（４）前記受信部がオーディオデータを受信していなければ、前記再生部の前記サンプル読み出しの動作を停止することを特徴とする。
【００２６】
請求項１６に係る発明は、外部からオーディオデータを入力し、所定の処理の後、所定のフレーム周期毎に、通信バスを介してホスト装置に供給するオーディオ入力装置であって、先入れ先出し方式の送信バッファと、先入れ先出し方式の録音バッファと、通信バス上の信号からフレーム周期を検出する検出部と、前記外部から入力した複数ｃｈの各々のオーディオデータを、所定のサンプリング周期毎に、１サンプルずつ録音バッファに書き込む録音部と、前記フレーム周期毎に、前記ホスト装置から送られる入力要求に応じて、送信バッファに記憶された複数ｃｈのオーディオデータを、前記通信バスを介して前記ホスト装置に複数サンプルずつ送信する、送信動作を行う送信部と、装置全体を制御するプロセッサと、前記プロセッサからの指示に従い、前記送信バッファおよび録音バッファに係るデータ転送を制御するとともに、前記送信部および録音部の動作を制御する制御部とを備え、前記プロセッサは、（１）前記通信バスを介して、前記ホスト装置から、送信するオーディオデータに関するパラメータを受け取ったときは、前記制御部および前記録音部に、該パラメータを設定し、（２）前記通信バスを介して、前記ホスト装置から、オーディオデータの入力開始の指示を受け取ったとき、前記制御部に動作開始を指示し、前記制御部は、前記プロセッサからの動作開始の指示に応じて、前記送信バッファと録音バッファをクリアし、前記送信部の送信動作を無効化するとともに、前記録音部の前記サンプル書き込みの動作を停止し、その後、フレーム周期が検出される毎に、（１）前記録音部の前記サンプル書き込みの動作が停止中であれば、前記録音部に対して前記サンプル書き込みの動作の開始を指示して、その動作を開始させ、（２）前記録音部の前記サンプル書き込みの動作が動作中であり、かつ、前記送信部が送信無効であれば、録音バッファのオーディオデータを送信バッファに転送するとともに、前記送信バッファに所定量のオーディオデータがある場合は、前記送信部の送信動作を有効化し、（３）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求が無い場合は、(a)送信バッファに記憶されたオーディオデータを１フレーム周期分消去し、録音バッファのオーディオデータを送信バッファに転送し、または、(b)録音バッファに記憶されたオーディオデータを１フレーム周期分消去し、（４）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、録音バッファにデータ満杯またはデータ不足が生じていれば、自動復帰処理として、前記送信部の送信動作を無効化するとともに、録音バッファおよび送信バッファのオーディオデータをクリアし、（５）前記録音部の前記サンプル書き込みの動作が動作中であり、前記送信部の送信動作が有効化されており、かつ、前記ホスト装置から送られる前記入力要求がある場合は、録音バッファのオーディオデータを送信バッファに転送することを特徴とする。
【００２７】
請求項１７に係る発明は、請求項１５に記載のオーディオデータ出力装置において、前記オーディオデータに係るパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とする。請求項１８に係る発明は、請求項１６に記載のオーディオデータ入力装置において、前記オーディオデータに係るパラメータは、該オーディオデータのサンプリング周波数、サンプルのビット数、およびｃｈ数のうちの、少なくとも１つのパラメータを含むことを特徴とする。
【００２８】
請求項１９に係る発明は、請求項１５に記載のオーディオデータ出力装置において、前記再生部から出力されるオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行する、デジタル信号処理部を備えており、前記プロセッサは、前記デジタル信号処理部における信号処理を規定するアルゴリズムやパラメータを設定するものであることを特徴とする。
【００２９】
請求項２０に係る発明は、請求項１６に記載のオーディオデータ入力装置において、前記外部からのオーディオデータを入力し、サンプリング周期毎に複数ｃｈの各ｃｈのオーディオデータに対する信号処理を個別に実行し、前記録音部に出力する、デジタル信号処理部を備えており、前記プロセッサは、前記デジタル信号処理部における信号処理を規定するアルゴリズムやパラメータを設定するものであることを特徴とする。
【００３０】
請求項２１に係る発明は、請求項１５に記載のオーディオデータ出力装置において、前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、前記制御部は、前記自動復帰処理が有効であるときは、前記（２）の動作を実行し、前記自動復帰処理が無効であるときは、前記（２）の動作の代わりに、前記フレーム周期が検出される毎に実行している動作を停止して、以後は動作停止状態を維持することを特徴とする。
【００３１】
請求項２２に係る発明は、請求項１６に記載のオーディオデータ入力装置において、前記プロセッサが、前記制御部に対して、前記自動復帰処理の有効または無効を指示し、前記制御部は、前記自動復帰処理が有効であるときは、前記（４）の動作を実行し、前記自動復帰処理が無効であるときは、前記（４）の動作の代わりに、前記フレーム周期が検出される毎に実行している動作を停止して、以後は動作停止状態を維持することを特徴とする。
【００３２】
請求項２３に係る発明は、請求項１６に記載のオーディオデータ入力装置において、前記プロセッサが、前記制御部に対して、前記（３）の場合に前記(a)または(b)の何れを適用するかを指示し、前記制御部は、該指示に応じて、前記（３）の場合に前記(a)または(b)の何れかの動作を実行するものであることを特徴とする。
【００３３】
請求項２４に係る発明は、請求項１５に記載のオーディオデータ出力装置において、前記プロセッサは、前記通信バスを介して、前記ホスト装置から出力停止指示または入力停止指示を受け取ったとき、その出力停止指示または入力停止指示に応じて、前記制御部に対し、動作の停止を指示し、前記制御部は、該動作の停止の指示に応じて、オーディオ信号の出力または入力動作を停止することを特徴とする。請求項２５に係る発明は、請求項１６に記載のオーディオデータ入力装置において、前記プロセッサは、前記通信バスを介して、前記ホスト装置から出力停止指示または入力停止指示を受け取ったとき、その出力停止指示または入力停止指示に応じて、前記制御部に対し、動作の停止を指示し、前記制御部は、該動作の停止の指示に応じて、オーディオ信号の出力または入力動作を停止することを特徴とする。
【発明の効果】
【００３４】
本発明によれば、ホスト装置から出力されるオーディオデータを本発明に係る装置で入力する場合、および、本発明に係る装置から出力されるオーディオデータをホスト装置で入力する場合の何れも、フレーム周期毎（すなわちフレーム周期タイミングが検出される毎）に行うべき処理は、制御部（再生制御部および録音制御部）が適宜制御を行うことにより、プロセッサ以外のブロックで実行することができる。従って、プロセッサは、フレーム周期毎すなわちフレーム周期タイミングが検出されても、割込処理などを行わなくて済むため、低速で処理能力が低いものでよい。また、プロセッサの処理能力を、オーディオデータの入出力以外の各種の処理に振り分けることもできる。特に、バッファのデータ満杯や不足が生じた場合や、ホスト装置との間でオーディオデータの転送に不具合が生じた場合でも、プロセッサに負担をかけることなく、制御部の制御により自動復帰させることができる。
【図面の簡単な説明】
【００３５】
【図１】実施形態のＵＳＢオーディオデバイスの内部構成図
【図２】オーディオデータの入出力およびミキサの構成例を示すブロック図
【図３】オーディオデータの入出力およびエフェクタの構成例を示すブロック図
【図４】パケットの構成図
【図５】電源オン時の処理を示すフローチャート
【図６】再生時のＰＣ、ＣＰＵ、および再生制御部が行う処理の手順を示すフローチャート
【図７】ＰＣからの楽音信号の受信（再生）の際の再生制御部の動作を示すステートマシン図
【図８】録音時のＰＣ、ＣＰＵ、および録音制御部が行う処理の手順を示すフローチャート
【図９】楽音信号のＰＣへの送信（録音）の際の録音制御部の動作を示すステートマシン図
【発明を実施するための形態】
【００３６】
以下、図面を用いてこの発明の実施の形態を説明する。
【００３７】
図１は、この発明の１つの実施の形態であるＵＳＢ（Universal Serial Bus）オーディオデバイスの内部構成を示す。１００はホストとなるパーソナルコンピュータ（ＰＣ）、１２０はＰＣ１００とＵＳＢケーブル１５０で接続されたＵＳＢオーディオデバイスである。なお、以下ではＰＣ１００とＵＳＢオーディオデバイス１２０との間のデータ転送にＵＳＢ１．１を適用した例で説明する。
【００３８】
ＰＣ１００は、中央処理装置（ＣＰＵ）１０１、フラッシュメモリ１０２、ランダムアクセスメモリ（ＲＡＭ）１０３、ハードディスク（ＨＤＤ）１０４、タイマ１０５、ネットワーク入出力インターフェース（Ｉ／Ｏ）１０６、表示器Ｉ／Ｏ１０７、およびＵＳＢ＿Ｉ／Ｏ１０９を備える。ＣＰＵ１０１は、ＲＡＭ１０３などに格納されたプログラムを実行することにより、ＰＣ１００の全体の動作を制御する処理装置である。フラッシュメモリ１０２およびＨＤＤ１０４は、各種のプログラムやデータを格納する不揮発性の記憶装置である。タイマ１０５は、時間計測のためのタイマ回路である。ネットワークＩ／Ｏ１０６は、ローカルエリアネットワーク（ＬＡＮ）などのネットワークに接続するためのインターフェースである。表示器Ｉ／Ｏ１０７には表示器（ディスプレイ）１０８が接続され、ＣＰＵ１０１からの指示により各種の情報が表示器１０８に表示される。ＵＳＢ＿Ｉ／Ｏ１０９には、キーボード１１０、マウス１１１、およびＵＳＢオーディオデバイス１２０が接続されている。
【００３９】
ＰＣ１００上ではＤＡＷ（デジタル・オーディオ・ワークステーション）などの音楽アプリケーションが実行され、これによりＰＣ１００は、例えばオーディオデータの録音再生機能、オーディオデータの作成編集機能、ミキシング機能、およびシーケンサー機能などを実現する装置として動作する。
【００４０】
ＵＳＢオーディオデバイス（以下、単に「デバイス」と呼ぶ）１２０は、プリント基板上に、ＵＳＢ端子１２２、アナログデジタル変換器（ＡＤＣ）１２３、デジタルアナログ変換器（ＤＡＣ）１２４、半導体集積回路１２１、操作子１３６、および表示器１３８を配置して構成されている。１チップの集積回路である半導体集積回路１２１は、ＣＰＵ１３１、フラッシュメモリ１３２、ＲＡＭ１３３、タイマ１３４、操作子Ｉ／Ｏ１３５、表示器Ｉ／Ｏ１３７、ＤＳＰ１３９、波形Ｉ／Ｏ１４０、録音制御部１４１、録音ＦＩＦＯ１４２、再生制御部１４３、再生ＦＩＦＯ１４４、エンドポイントコントローラ１４５、およびＵＳＢトランシーバ１４９を備える。
【００４１】
ＣＰＵ１３１は、集積回路１２１の全体の動作を制御する処理装置である。フラッシュメモリ１３２は、ＣＰＵ１３１が実行するプログラム、ＤＳＰ１３９で実行させるマイクロプログラム、および各種のパラメータデータなどを記憶する不揮発性の記憶手段である。ＲＡＭ１３３は、ＣＰＵ１３１が実行・使用するプログラムやデータを格納する揮発性のワーキングメモリである。タイマ１３４は、所定のクロック信号を生成して集積回路１２１の各部に供給する。操作子Ｉ／Ｏ１３５は操作子１３６を、表示器Ｉ／Ｏ１３７は表示器１３８を、それぞれ接続するインターフェースである。操作子１３６により、集積回路１２１に対する各種の指示を入力できる。表示器１３８により、集積回路１２１の各種のデータを表示できる。
【００４２】
ＤＳＰ１３９は、ＣＰＵ１３１の制御の元で、ＣＰＵ１３１から設定されたマイクロプログラムおよび係数データで動作することにより、オーディオデータの信号処理を行う。ＤＳＰ１３９は、時分割処理で複数ｃｈのオーディオデータを処理することができる。ＤＳＰ１３９のオーディオデータの入出力は、波形Ｉ／Ｏ１４０を介して外部から入出力する経路と、ＰＣ１００との間でＵＳＢ端子１２２を介して入出力する経路がある。
【００４３】
波形Ｉ／Ｏ１４０は、シリアルインターフェース（ＵＳＢ以外のもの）によるオーディオデータ等の入出力機能を実現する。ＡＤＣ１２３は、マイク入力やライン入力などで並列に入力する３２ｃｈのアナログ音響信号をそれぞれディジタル音響信号（オーディオデータ）に変換し、さらに時分割３２ｃｈのシリアルデータに変換して、波形Ｉ／Ｏ１４０に出力する。波形Ｉ／Ｏ１４０は、入力したシリアルデータを３２ｃｈのパラレルなオーディオデータに変換し、ＤＳＰ１３９の入力レジスタに書き込むことにより、ＤＳＰ１３９に渡す。ＤＳＰ１３９は、所定のサンプリング周期毎に、前のサンプリング周期に入力レジスタに書き込まれた複数ｃｈのオーディオデータに対して信号処理を行い、その処理結果の複数ｃｈのオーディオデータを、次のサンプリング周期に読み出されるべきオーディオデータとして出力レジスタに書き込む。また、波形Ｉ／Ｏ１４０は、１サンプリング周期毎に、ＤＳＰ１３９の出力レジスタから、ＤＳＰ１３９で処理された３２ｃｈ分のパラレルのオーディオサンプルデータを時分割で読み出して時分割３２ｃｈのシリアルデータに変換し、ＤＡＣ１２４に出力する。ＤＡＣ１２４は、入力したシリアルデータを３２ｃｈのパラレルなオーディオデータに変換し、それぞれアナログ音響信号に変換して外部に出力する。
【００４４】
録音ＦＩＦＯ１４２は、サンプリング周期毎に複数ｃｈのオーディオデータを１サンプルずつ取り込み、取り込んだ複数ｃｈのオーディオデータをフレーム周期毎に出力する録音用のＦＩＦＯ（ＦＩＦＯ方式のバッファメモリ装置を含む録音部）であって、入力側にオーディオデータを前段のブロックから取り込むためのＤＭＡ（Direct Memory Access）回路、出力側にオーディオデータを後段のブロックに出力するためのＤＭＡ回路を備えている（それぞれ図示せず）。また、再生ＦＩＦＯ１４４は、フレーム周期毎に複数ｃｈのオーディオデータを取り込み、取り込んだ複数ｃｈのオーディオデータをサンプリング周期毎に１サンプルずつ出力するＦＩＦＯ（ＦＩＦＯ方式のバッファメモリ装置を含む再生部）であって、入力側にオーディオデータを前段のブロックから取り込むためのＤＭＡ回路、出力側にオーディオデータを後段のブロックに出力するためのＤＭＡ回路を備えている（それぞれ図示せず）。
【００４５】
また、集積回路１２１は、ＵＳＢインターフェースによるＵＳＢ端子１２２経由でのオーディオデータ等の入出力機能を持つ。ＵＳＢトランシーバ１４９は、ＵＳＢの通信プロトコルの物理レベルを担う回路である。エンドポイントコントローラ１４５は、ＵＳＢプロトコルにおいてエンドポイントを構成するＦＩＦＯ（First In First Out：先入れ先出し）バッファ１４６〜１４８を内部に備え、これらのバッファを制御するとともに、ホストとの間のデータ転送を制御するための回路である。
【００４６】
送信ＦＩＦＯ１４６は、集積回路１２１からＰＣ１００へのデータ転送（ホストであるＰＣ１００から見てＩＮ方向のアイソクロナス転送のパイプによるデータ転送）におけるエンドポイントとなるＦＩＦＯバッファ（ＦＩＦＯ方式のバッファメモリ装置を含む送信部）である。録音ＦＩＦＯ１４２は、入力側のＤＭＡ回路により、サンプリング周期毎に、ＰＣ１００に向けて出力したい複数ｃｈ分のオーディオサンプルをＤＳＰ１３９の出力レジスタから取り込む。この処理が複数繰り返され、録音ＦＩＦＯ１４２に、ある程度の量のオーディオデータが溜められる。録音ＦＩＦＯ１４２に溜められたオーディオデータは、その出力側のＤＭＡ回路により、所定のタイミングで送信ＦＩＦＯ１４６に転送される。以上のＤＳＰ１３９から録音ＦＩＦＯ１４２を介して送信ＦＩＦＯ１４６にオーディオデータを転送する処理は、録音制御部１４１の制御の下で、録音ＦＩＦＯ１４２の入力側と出力側のＤＭＡ回路により実現される（後に詳述する）。送信ＦＩＦＯ１４６に格納されたオーディオデータは、ＵＳＢのプロトコルに従って、ＵＳＢトランシーバ１４９およびＵＳＢ端子１２２を介してＰＣ１００に転送される。
【００４７】
受信ＦＩＦＯ１４７は、ＰＣ１００から集積回路１２１へのデータ転送（ホストであるＰＣ１００から見てＯＵＴ方向のアイソクロナス転送のパイプによるデータ転送）におけるエンドポイントとなるＦＩＦＯバッファ（ＦＩＦＯ方式のバッファメモリ装置を含む受信部）である。ＰＣ１００からＵＳＢ＿Ｉ／Ｏ１０９を介して出力されたオーディオデータ（複数ｃｈ×複数サンプリング周期分のデータ）は、ＵＳＢのプロトコルに従って、ＵＳＢ端子１２２およびＵＳＢトランシーバ１４９を介して受信ＦＩＦＯ１４７に格納される。受信ＦＩＦＯ１４７に格納された複数ｃｈのオーディオデータは、再生ＦＩＦＯ１４４の入力側のＤＭＡ回路により、所定のタイミングで再生ＦＩＦＯ１４４に転送される。再生ＦＩＦＯ１４４の複数ｃｈのオーディオデータは、その出力側のＤＭＡ回路により、サンプリング周期毎に、ＤＳＰ１３９の入力レジスタに書き込まれる。以上の受信ＦＩＦＯ１４７から再生ＦＩＦＯ１４４を介してＤＳＰ１３９にオーディオデータを転送する処理は、再生制御部１４３の制御の下で、再生ＦＩＦＯ１４４の入力側と出力側のＤＭＡ回路により実現される（後に詳述する）。
【００４８】
設定ＦＩＦＯ１４８は、集積回路１２１とＰＣ１００との間でセットアップ用の制御データや設定パラメータを転送するためのエンドポイント０となるＦＩＦＯバッファ（ＦＩＦＯ方式のバッファメモリ装置を含む設定部）である。設定ＦＩＦＯ１４８を利用する転送は、ＵＳＢ規格のコントロール転送のプロトコルを使用した双方向のデータ転送である。集積回路１２１からＰＣ１００にデータを送信する場合、ＣＰＵ１３１が送信データを設定ＦＩＦＯ１４８に格納すると、コントロール転送により設定ＦＩＦＯ１４８のデータがＰＣ１００に送信される。ＰＣ１００から集積回路１２１にコントロール転送で送信されたデータは設定ＦＩＦＯ１４８に格納される。ＣＰＵ１３１は、設定ＦＩＦＯ１４８から受信データを取り込むことができる。
【００４９】
以上のようなオーディオデータ等の入出力機能を持つデバイス１２０は、ＤＳＰ１３９にどのような信号処理を行わせるかによって、各種の音楽データ処理装置として機能する。例えば、ミキサやエフェクタなどである。
【００５０】
図２は、図１のシステムにおいてデバイス１２０をミキサとして機能させる場合の機能ブロック図である。ＡＤＣ２０１は、図１のＡＤＣ１２３と波形Ｉ／Ｏ１４０に相当する。ＡＤＣ２０１によりアナログディジタル変換された複数系統のオーディオデータは、入力パッチ２０２に入力する。ＵＳＢ入力２１２は、図１のＰＣ１００からデバイス１２０へＵＳＢインターフェース経由で入力するオーディオデータ（ｃｈ数は任意）を表す。入力パッチ２０２は、ＡＤＣ２０１やＵＳＢ入力２１２から入力したオーディオデータを４８個ある入力ｃｈ２０３に割り当てる任意結線を行う。その結線の設定は、ユーザが任意に行うことができる。入力ｃｈ２０３は、入力したオーディオデータに対するレベル制御や周波数特性の制御などの調整処理を行う。入力ｃｈ２０３の任意のｃｈのオーディオデータを１６本のミックスバス２０４へ出力し、該ミックスバス２０４上で任意に混合処理を行うことができる。
【００５１】
そのミキシング結果は、１６本のミックスバス２０４にそれぞれ対応する１６本の出力ｃｈ２０５に出力される。１６本の出力ｃｈ２０５は、出力側の調整処理を行う。出力ｃｈ２０５の出力は、出力パッチ２０６に入力する。出力パッチ２０６は、出力ｃｈ２０５からのオーディオデータおよび入力ｃｈ２０３からダイレクトに出力されたオーディオデータを、ＤＡＣ２０７の任意の出力系統またはＵＳＢ出力２１１に、割り当てる任意結線を行う。ＵＳＢ出力２１１は、図１のデバイス１２０からＰＣ１００へＵＳＢインターフェース経由で出力するオーディオデータ（ｃｈ数は任意）を表す。上述の入力パッチ２０２から出力パッチ２０６に至る各ブロックの機能は、図１のＤＳＰ１３９により実現される。また、ＤＡＣ２０７は、図１の波形Ｉ／Ｏ１４０とＤＡＣ１２４に相当する。ＤＡＣ２０７に入力した複数系統のオーディオデータは、ディジタルアナログ変換されて外部に出力される。
【００５２】
例えば、ＰＣ１００でオーディオデータの録音再生機能を果たす音楽アプリケーションが実行されていたとすると、ミキサとして機能するデバイス１２０から出力されたオーディオデータをＰＣ１００で録音（ハードディスクレコーディング）したり、ＰＣ１００で再生したオーディオデータをデバイス１２０に出力してミキシングに使用したりできる。
【００５３】
図３は、図１のシステムにおいてデバイス１２０をエフェクタとして機能させる場合の機能ブロック図である。ＡＤＣ３０１は、図１のＡＤＣ１２３と波形Ｉ／Ｏ１４０に相当する。ＡＤＣ３０１によりアナログディジタル変換された複数系統のオーディオデータは、エフェクタ（３２ｃｈ）３０２に入力する。エフェクタ３０２は、入力したオーディオデータに各種の効果を付与するものであり、その機能は図１のＤＳＰ１３９で実現される。エフェクタ３０２から出力されるオーディオデータは、ＵＳＢ出力３１１でＰＣ１００に出力したり、ダイレクト出力３１３を介してエフェクタ３０４に出力することができる。ＵＳＢ出力３１１は、図１のデバイス１２０からＰＣ１００へＵＳＢインターフェース経由で出力するオーディオデータ（ｃｈ数は任意）を表す。
【００５４】
ＰＣ１００から出力されたオーディオデータは、ＵＳＢ入力３１２でエフェクタ３０４に入力させることができる。ＵＳＢ入力３１２は、図１のＰＣ１００からデバイス１２０へＵＳＢインターフェース経由で入力するオーディオデータ（ｃｈ数は任意）を表す。エフェクタ３０４は、エフェクタ３０２と同様の、図１のＤＳＰ１３９で実現するエフェクタである。従って、ダイレクト出力３１３は、ＤＳＰ１３９内部で、あるエフェクト処理の出力を別のエフェクト処理へ入力する結線を設定することに相当する。エフェクト３０４の出力は、ＤＡＣ３０５に渡される。ＤＡＣ３０５は、図１のＤＡＣ１２４と波形Ｉ／Ｏ１４０に相当する。ＤＡＣ３０５に入力した複数系統のオーディオデータは、ディジタルアナログ変換されて外部に出力される。なお、上述のエフェクタ３０２，３０４は、入力したオーディオデータのエフェクトを付与せずそのままスルーするｃｈがあってもよい。
【００５５】
例えば、ＰＣ１００でオーディオデータの録音再生機能を果たす音楽アプリケーションが実行されていたとすると、エフェクタとして機能するデバイス１２０から出力された効果付与済みのオーディオデータをＰＣ１００で録音したり、ＰＣ１００で再生したオーディオデータをデバイス１２０に出力して効果付与することができる。
【００５６】
図４は、図１のＰＣ１００（ホスト）とデバイス１２０の集積回路１２１との間で送受信されるパケットの構成を示す。図４（ａ）は、ＵＳＢ規格に従い１ｍｓ（ミリ秒）周期で繰り返し転送されるフレームの構成を示す。１つのフレームは、ＳＯＦ（スタートオブフレーム）と呼ばれるパケットで開始される複数のトランザクションからなる。図４（ａ）および（ｂ）に示すように、トランザクションの中には、アイソクロナス転送で送受信されるオーディオデータを転送するトランザクション（Audio）の他、インタラプト転送で転送されるマウスのデータ転送のためのトランザクション（Mouse）やバルク転送で転送されるプリンタのデータ転送のためのトランザクション（Printer）などが含まれる場合がある。ホストは、フレームの先頭でＳＯＦをＵＳＢケーブルに接続されている全てのデバイスにブロードキャストし、その後のフレーム内のトランザクションの配置によりコントロール転送、バルク転送、インタラプト転送、およびアイソクロナス転送をスケジューリングする。なお、オーディオデータの転送に利用するアイソクロナス転送は、一定時間内のデータ量が保証されるように優先的にスケジューリングされる。
【００５７】
図４（ｃ）は、アイソクロナス転送におけるオーディオデータのトランザクションを構成するパケット列を示す。このパケット列は、トークンパケット（Token Packet）とデータパケット（Data Packet）からなる。
【００５８】
図４（ｄ）（１）に、ホストがブロードキャストするトークンパケットの構成を示す。ＳＹＮＣは、同期を取るためにパケットの先頭に付けられる１バイトデータである。ＰＩＤ（packet identifier）は、当該パケットの種別を表すデータであり、ここではＩｎ（デバイスからホストへのデータ転送を要求するトークン、すなわち「出力要求」であることを示すコード）またはＯｕｔ（ホストからデバイスへのデータ転送の要求するトークン、すなわち「入力要求」であることを示すコード）の何れかが設定される。ＡＤＤＲは、デバイスを特定するデバイスアドレスである。ＥＮＤＰは、エンドポイントを特定するエンドポイント番号の４ビットデータである。ＣＲＣ5は、５ビットのＣＲＣチェックコードである。ＥＯＰは、パケットの終了を示す。
【００５９】
図４（ｄ）（２）に、データパケットの構成を示す。ＳＹＮＣ，ＥＯＰは、上述のトークンパケットで説明した各データと同様である。ＰＩＤには、本パケットがデータパケットであることを示すコード（Data0）が設定される。ＣＲＣ１６は１６ビットのＣＲＣチェックコードである。ＤＡＴＡは、ホストからデバイスへ、または、デバイスからホストへ、転送するデータである。ＤＡＴＡは、図４（ｅ）に示すように０〜１０２３バイトの任意の長さのデータを必ずバイト単位で設定する。本実施形態では、ここに最大３２ｃｈの複数サンプリング周期分のオーディオデータを設定する。
【００６０】
ホストがブロードキャストした図４（ｄ）（１）のトークンパケットのＰＩＤにＩｎが設定されていたときは、これに続くデータパケットによりデバイスからホストへのデータ転送が行われる。この場合、トークンパケットのＡＤＤＲで特定されるデバイスが、当該トークンを取得し、トークンパケットのＥＮＤＰで特定されるエンドポイントのＦＩＦＯバッファに格納されているデータをＤＡＴＡに設定したデータパケットを作成し、ホストへ送信する。
【００６１】
ホストがブロードキャストした図４（ｄ）（１）のトークンパケットのＰＩＤにＯｕｔが設定されていたときは、これに続くデータパケットによりホストからデバイスへのデータ転送が行われる。この場合、トークンパケットのＡＤＤＲで特定されるデバイスが、当該トークンを取得し、続いてホストから送信されるデータパケットを受信し、該データパケットのＤＡＴＡに設定されているデータを、トークンパケットのＥＮＤＰで特定されるエンドポイントのＦＩＦＯバッファに取り込む。
【００６２】
なお、図４（ｄ）（３）に示すように、ハンドシェイクによるデータ再送要求は、アイソクロナス転送では行わない。また、図４（ｂ）では、各フレームに、オーディオのトランザクションが１つだけ配置されているが、各フレームには、オーディオのトランザクションを複数配置することができ、それにより、ＰＣ１００（ホスト）とデバイス１２０との間で時分割双方向のオーディオ転送が行える。
【００６３】
図５は、デバイス１２０の電源がオンされたとき（あるいはＰＣ１００とデバイス１２０とがＵＳＢケーブル１５０で接続されたとき）に、ＣＰＵ１３１が実行するメインルーチンのフローチャートを示す。ステップ５０１で初期化を行った後、ステップ５０２でイベント検出を行い、検出されたらステップ５０３から５０４に進んで、当該イベントに対応するイベント処理を行う。以後、同様の処理を繰り返す。
【００６４】
ステップ５０１の初期化では、ＰＣ１００側で動作しているＵＳＢ＿Ｉ／Ｏ１０９およびデバイスドライバと協働し、コントロール転送を利用してコンフィギュレーションを行う。このコンフィギュレーションでは、まずデバイス１２０の集積回路１２１からＰＣ１００にコンフィギュレーション用データ（予め集積回路１２１内の不揮発性の記憶手段に格納されているディスクリプタ）がコントロール転送で転送され、ＰＣ１００はそのデータを確認した後、集積回路１２１に対してコントロール転送で設定コマンドを送信する。このコンフィギュレーションにより、集積回路１２１（ないしデバイス１２０）にデバイスアドレスが割り当てられ、オーディオデータを転送するパイプおよび転送モードが設定される。
【００６５】
設定されるパイプは、ＰＣ１００から集積回路１２１へのデータ転送用のパイプ（ホスト側から見てＯＵＴ方向のパイプ）と、集積回路１２１からＰＣ１００へのデータ転送用のパイプ（ホスト側から見てＩＮ方向のパイプ）である。なお、上記ＯＵＴ方向のパイプを「ＯＵＴパイプ」、ＩＮ方向のパイプを「ＩＮパイプ」と呼ぶものとする。また、ＯＵＴパイプのデータ転送においてＰＣ１００からブロードキャストするトークンを「ＯＵＴトークン」、ＩＮパイプのデータ転送においてＰＣ１００からブロードキャストするトークンを「ＩＮトークン」と呼ぶものとする。上記パイプの設定により、ＩＮパイプでは送信ＦＩＦＯ１４６に対応するエンドポイント番号が決定され、ＯＵＴパイプでは受信ＦＩＦＯ１４７に対応するエンドポイント番号が決定される。これらのＩＮパイプおよびＯＵＴパイプは、何れも転送モードがアイソクロナス転送に設定される。これらの設定（デバイスアドレス、エンドポイント番号、および転送モードなど）は、ＰＣ１００側とエンドポイントコントローラ１４５側の双方で保持される。
【００６６】
以上のようなコンフィギュレーションにより、ＰＣ１００とデバイス１２０との間の予定された方式による通信の準備が整ったことになる。これ以後、ＰＣ１００は、デバイスアドレスとＩＮパイプのエンドポイント番号を指定してアイソクロナス転送で、オーディオデータをデバイス１２０から入力できる。また、ＰＣ１００は、デバイスアドレスとＯＵＴパイプのエンドポイント番号を指定してアイソクロナス転送で、オーディオデータをデバイス１２０に出力できる。
【００６７】
図６は、コンフィギュレーションの後、ＰＣ１００からデバイス１２０にオーディオデータを出力する際の処理の流れの概要を示すフローである。まず、ＰＣ１００がデバイス１２０に、オーディオデータ出力のためのＯＵＴ方向エンドポイントの設定コマンドを送信する（ステップ６０１）。これは、上述したコンフィギュレーションにより既に設定されているＯＵＴパイプを利用して転送するオーディオデータに係るパラメータを、コントロール転送を利用してＰＣ１００から集積回路１２１に通知する処理である。パラメータとしては、該パイプで転送するオーディオデータに関するサンプリング周波数、サンプルのビット数、および出力ｃｈ数などがある。該コマンドを受信したＣＰＵ１３１は、通知されたパラメータを、（適宜表現形式を変えて）ＤＳＰ１３９および再生制御部１４３に設定する（ステップ６０２）。また、ＤＳＰ１３９におけるアルゴリズムもＰＣ１００からデバイス１２０に送られ、ＣＰＵ１３１は、前記アルゴリズムをＤＳＰ１３９に送って設定する。
【００６８】
次に、ＰＣ１００からデバイス１２０に、コントロール転送で、オーディオデータの出力開始コマンドを送信し、集積回路１２１でオーディオデータを入力する動作の開始を指示する（ステップ６０３）。このコマンドを受けたＣＰＵ１３１は、再生制御部１４３に対して動作の開始を指示する（ステップ６０４）。再生制御部１４３は、ハードウェアの初期化を行い動作を開始する（ステップ６０５）。これ以降、ＰＣ１００は、信号処理させたいオーディオデータを前記ＯＵＴパイプを使用してデバイス１２０の集積回路１２１へ送信する処理（アイソクロナス送信処理：ここでＰＣ１００により実行されるコードは、該ＯＵＴパイプ経由の該デバイス１２０の１つのエンドポイント（受信ＦＩＦＯ１４７）へのオーディオデータの書き込み命令である。）を繰り返す（ステップ６０６）。再生制御部１４３は、これを受けて、次の図７に示すステートマシン図が示す各種処理を実行する（ステップ６０７）。ＰＣ１００は、ステップ６０６において、まず、Ｏｕｔに設定されたＰＩＤとデバイス１２０に割り当てられたアドレスＡＤＤＲと受信ＦＩＦＯ１４７に割り当てられたエンドポイント番号ＥＮＤＰとを含むトークンパケット（ＯＵＴトークン）を送信し、さらに続けて、１フレーム分の複数ｃｈのオーディオデータを含むデータパケットを送信する。デバイス１２０の集積回路１２１は、そのＯＵＴトークンのＡＤＤＲとＥＮＤＰとに基づいて次のデータパケットを受信すべきと認識し、そのデータパケットの複数ｃｈのオーディオデータを受信ＦＩＦＯ１４７に取り込む。
【００６９】
図７は、ＰＣ１００からオーディオデータを受信する場合の再生制御部１４３の動作を示すステートマシン図である。なお、本願で「再生」と言っているのは、典型的なケースとして、ＰＣ１００がそこにある一連のオーディオデータを、フレーム周期毎に１フレーム分ずつデバイス１２０に転送し、デバイス１２０においてサンプリング周期毎に１サンプルずつ外部に出力するケース（Render）を想定したものであって、その一連のオーディオデータは、必ずしもＰＣ１００がオーディオファイルから「再生」したオーディオデータではなくてもよく、ＰＣ１００に別のソース（本デバイス１２０と同じような別のデバイス、レコーダ等）からストリーミング入力されているオーディオデータであってもよい。
【００７０】
図７において、システムの電源がオンされ上述したコンフィギュレーションが実行された後、再生制御部１４３はアイドル状態７０８にある。その後、ＰＣ１００からデバイス１２０へのオーディオデータの出力のために図６のステップ６０１〜６０４が実行されると、出力開始コマンドに応じて、ステップ６０４で再生制御部１４３に動作開始が指示され、再生制御部１４３はアイドル状態７０８からハードウェア初期化７０１（ステップ６０５）へと移行する。この初期化７０１では、受信ＦＩＦＯ１４７と再生ＦＩＦＯ１４４をクリアするなどの初期化を行う。また、この初期化により、エンドポイントコントローラ１４５および再生ＦＩＦＯは、「受信有効」および「再生停止」にそれぞれ設定される。「受信有効」とは、ＵＳＢトランシーバ１４９とエンドポイントコントローラ１４５による受信動作（すなわち、前記ＯＵＴパイプを利用してＰＣ１００から送信されるオーディオデータを受信して受信ＦＩＦＯ１４７に格納する動作）を開始することを意味する。「再生停止」とは、再生ＦＩＦＯ１４４の出力側のＤＭＡ回路が、サンプリング周期毎に、再生ＦＩＦＯ１４４のオーディオデータを、ＤＳＰ１３９に１オーディオサンプルずつ転送する動作を停止中であることを意味する。初期化７０１の後、再生制御部１４３は、ＳＯＦ待ち７０２に移行する。
【００７１】
ＰＣ１００は、図６のステップ６０６で説明したとおり、信号処理させたいオーディオデータをＯＵＴパイプを使用して集積回路１２１へ送信する。集積回路１２１側は「受信有効」になっているので、ＯＵＴパイプから前記オーディオデータを受信して受信ＦＩＦＯ１４７に格納する。なお、エンドポイントコントローラ１４５は、ＳＯＦが受信されたとき、およびＯＵＴトークンが受信されたとき、それぞれその旨を再生制御部１４３に通知するものとする。再生制御部１４３は、ＳＯＦが受信されたとき、フレーム周期タイミング（具体的には、フレーム周期の境界であるＳＯＦ受信タイミング）を検出して図７の（１）〜（５）の分岐条件に従って、ＳＯＦ待ち７０２から状態が移行する。
【００７２】
（１）は「再生停止」かつ［ＯＵＴ］有りの状態でＳＯＦを受信した場合の分岐を示す。［ＯＵＴ］有りとは、いま受信したＳＯＦの直前のフレーム中でＯＵＴトークンが受信されていることを表す。この場合、受信ＦＩＦＯ１４７に受信したオーディオデータが存在するはずである。すなわち、（１）の条件は、ＤＳＰ１３９による再生ＦＩＦＯ１４４からのオーディオデータの取り込み動作が停止しており、受信ＦＩＦＯ１４７にオーディオデータが存在する場合である。この場合、状態７０３に移行し、再生ＦＩＦＯ１４４に再生開始できるだけのオーディオデータが充填されたか確認し、充填されていたら再生ＦＩＦＯ１４４の出力側のＤＭＡ回路に再生開始（これにより「再生停止」から「再生中」に移る）を指示して、状態７０４に移行する。未だ充填が完了していないときは、何もせずに状態７０４に移行する。状態７０４では、受信ＦＩＦＯ１４７中のオーディオデータを再生ＦＩＦＯ１４４にＤＭＡ転送する。その後、ＳＯＦ待ち７０２に戻る。状態７０３において、「再生中」となった再生ＦＩＦＯ１４４の出力側のＤＭＡ回路は、サンプリング周期毎に、再生ＦＩＦＯ１４４の複数ｃｈのオーディオデータを、ＤＳＰ１３９に１オーディオサンプルずつ転送する動作（再生動作）を、次に「再生停止」が指示されるまでの間、継続的に実行する。
【００７３】
（２）は「再生停止」かつ［ＯＵＴ］無しの状態でＳＯＦを受信した場合の分岐を示す。［ＯＵＴ］無しとは、いま受信したＳＯＦの直前のフレーム中で、デバイス１２０のアドレスＡＤＤＲと受信ＦＩＦＯ１４７のエンドポイント番号ＥＮＤＰとを含むＯＵＴトークンが受信されなかったことを表す。この場合、オーディオデータは受信されていないので、何もせずにＳＯＦ待ち７０２に戻る。
【００７４】
（３）は、再生ＦＩＦＯ１４４が満杯または不足、かつ、［ＯＵＴ］有りの状態でＳＯＦを受信した場合の分岐を示す。再生ＦＩＦＯ１４４には状態７０４のＤＭＡ転送でオーディオデータが書き込まれるが、このとき再生ＦＩＦＯ１４４が満杯になり、次に状態７０２に戻ってＳＯＦを受信した場合は、この（３）の分岐となる。また、再生ＦＩＦＯ１４４のオーディオデータは、その出力側のＤＭＡ回路によりサンプリング周期毎に１サンプルずつＤＳＰ１３９に供給され、ＤＳＰ１３９において処理されていくが、ＤＳＰ１３９が信号処理を安定的に継続して行うためには、常に所定量以上のオーディオデータが再生ＦＩＦＯ１４４中に存在することが必要である（状態７０３は、再生ＦＩＦＯ１４４に１フレーム分（当該所定量以上）のオーディオデータを充填するものである）。従って、再生制御部１４３は、再生ＦＩＦＯ１４４中のオーディオデータが前記所定量を下回ったことを検出するようになっており、それが検出されたとき「再生ＦＩＦＯ１４４が不足」となる。その状態でＳＯＦを受信した場合も、この（３）の分岐となる。
【００７５】
これらの条件の場合、状態７０５に移行し、エラー割込を発生させて、ＣＰＵ１３１にエラーを通知する。そして、エラー復帰処理を行う。エラー復帰処理では、再生ＦＩＦＯ１４４の出力側のＤＭＡ回路に対して「再生停止」を指示してその再生動作を停止させ、再生ＦＩＦＯ１４４をクリアする（空にする）などの初期化を行った後、状態７０４から動作を継続する。これにより、一旦、音は途切れるが、動作は継続できる。この動作の継続は、自動復帰機能のオン（有効）を意味する。また、エラーからの自動復帰機能はオフ（無効化）することもでき、オフに設定されている場合は、エラー復帰処理は行わず、７０６に示すように動作停止状態を継続するものとする。なお、これらの自動復帰機能のオンおよびオフは、ＣＰＵ１３１によって指示される。また、エラー復帰処理では、再生ＦＩＦＯ１４４をクリアし受信ＦＩＦＯ１４７をクリアしていない。これは、エラー時に再生ＦＩＦＯ１４４にオーディオデータが残っていれば、それをクリアしてしまったほうが、その後の再生の再開を早くでき、一方、受信ＦＩＦＯ１４７は、そこに入っているオーディオデータが、その後の再生の再開に使えるかもしれないので、クリアせずに使ったほうが、再生の再開を早くできることによる。
【００７６】
上記（３）の再生ＦＩＦＯ１４４が満杯の場合、「再生停止」にすることなく、再生ＦＩＦＯ１４４から所定量のデータを消去して空きを作り、動作を継続するようにしてもよい。また、再生ＦＩＦＯ１４４が不足の場合、「再生停止」にすることなく、再生ＦＩＦＯ１４４に全てゼロ値のサンプルで構成されるダミーのオーディオデータを所定量書き込んで、動作を継続するようにしてもよい。何れの場合も音は途切れてしまうが再生動作は継続できる。
【００７７】
（４）は「再生中」かつ［ＯＵＴ］有りの場合の分岐を示す。この場合、状態７０４に移行し、再生ＦＩＦＯ１４４の入力側のＤＭＡ回路により、受信ＦＩＦＯ１４７中の複数ｃｈのオーディオデータを、１フレーム分、再生ＦＩＦＯ１４４にＤＭＡ転送する。その後、ＳＯＦ待ち７０２に戻る。
【００７８】
（５）は「再生中」かつ［ＯＵＴ］無しの場合の分岐を示す。この場合、状態７０７に移行し、再生ＦＩＦＯ１４４の出力側のＤＭＡ回路を「再生停止」とし、ＳＯＦ待ち７０２に戻る。その後、［ＯＵＴ］有りになれば再び（１）の分岐から動作が再開される。
【００７９】
ＰＣ１００から送信されるオーディオデータを受信してＤＳＰ１３９で信号処理する典型的な流れは、まず状態７０１から７０２に移行し、（１）の分岐で状態７０２→７０３→７０４→７０２を何回か繰り返して再生ＦＩＦＯ１４４に複数ｃｈのオーディオデータを溜め、所定量が溜まったら再生開始される。再生ＦＩＦＯ１４４の出力側のＤＭＡ回路により再生された複数ｃｈのオーディオデータは、ＤＳＰ１３９に供給され信号処理される。以降は（４）の分岐で状態７０２→７０４→７０２を繰り返して、再生ＦＩＦＯ１４４の入力側のＤＭＡ回路による順次受信されるオーディオデータの受信ＦＩＦＯ１４７から再生ＦＩＦＯ１４４へのフレーム単位の転送と、出力側のＤＭＡ回路による再生ＦＩＦＯ１４４からＤＳＰ１３９へのサンプル単位の転送とを平行して継続する。この際、再生ＦＩＦＯ１４４の満杯または不足のエラーが発生すると、（３）の分岐でエラー復帰処理が自動的に実行される。また、ＰＣ１００からの送信が途切れてしまったときは、（５）の分岐で自動的に「再生停止」とされる。
【００８０】
なお、ＰＣ１００から転送されるオーディオデータのサンプリング周波数、サンプルのビット数、および出力ｃｈ数は図６のステップ６０２でＤＳＰ１３９および再生制御部１４３に設定されているので、再生制御部１４３は、再生ＦＩＦＯ１４４に格納されたオーディオデータが前記指定されたサンプリング周波数、サンプルのビット数、および出力ｃｈ数と適合しないことを検出できる。そのような「データサイズエラー」が検出された場合は（３）に分岐するようにしてもよい。
【００８１】
また、図６，７では図示していないが、ＰＣ１００はオーディオデータの出力を停止する場合、出力停止コマンドをコントロール転送でデバイス１２０に送る。これを受けて、集積回路１２１のＣＰＵ１３１は、再生制御部１４３に対して動作停止を指示する。この指示を受けた再生制御部１４３は、「受信無効」かつ「再生停止」とするとともに、図７の自動受信（再生）機能から抜けてアイドル状態７０８に移行する。
【００８２】
図８は、コンフィギュレーションの後、ＰＣ１００がデバイス１２０から出力されるオーディオデータを入力する際の処理の流れの概要を示すフローである。まず、ＰＣ１００がデバイス１２０に、オーディオデータ入力のためのＩＮ方向エンドポイントの設定コマンドを送信する（ステップ８０１）。これは、上述したコンフィギュレーションにより既に設定されているＩＮパイプを利用して転送するオーディオデータに係るパラメータを、コントロール転送を利用してＰＣ１００から集積回路１２１に通知する処理である。パラメータとしては、該パイプで転送するオーディオデータに関するサンプリング周波数、サンプルのビット数、および出力ｃｈ数などがある。該コマンドを受信したＣＰＵ１３１は、通知されたパラメータを、（適宜表現形式を変えて）ＤＳＰ１３９および録音制御部１４１に設定する（ステップ８０２）。また、この場合も、ＤＳＰ１３９におけるアルゴリズムもＰＣ１００からデバイス１２０に送られ、ＣＰＵ１３１は、前記アルゴリズムをＤＳＰ１３９に送って設定する。
【００８３】
次に、ＰＣ１００からデバイス１２０に、コントロール転送で、オーディオデータの入力開始コマンドを送信し、集積回路１２１からオーディオデータを出力する動作の開始を指示する（ステップ８０３）。このコマンドを受けたＣＰＵ１３１は、録音制御部１４１に対して動作の開始を指示する（ステップ８０４）。録音制御部１４１は、ハードウェアの初期化を行い動作を開始する（ステップ８０５）。これ以降、ＰＣ１００は、デバイス１２０の集積回路１２１に対してＩＮトークンを送信し、該トークンに続いて集積回路１２１から送信されるオーディオデータを前記ＩＮパイプを使用して受信する処理（アイソクロナス受信処理：ここでＰＣ１００により実行されるコードは、該ＩＮパイプ経由で該デバイスの１つのエンドポイント（送信ＦＩＦＯ１４６）からオーディオデータを読み出す命令である。）を繰り返す（ステップ８０６）。ステップ８０６では、まず、ＰＣ１００が、Ｏｕｔに設定されたＰＩＤとデバイス１２０に割り当てられたアドレスＡＤＤＲと送信ＦＩＦＯ１４６に割り当てられたエンドポイント番号ＥＮＤＰとを含むトークンパケット（ＯＵＴトークン）を送信する。続けて、デバイス１２０は、そのＯＵＴトークンのＡＤＤＲとＥＮＤＰとに基づいて次にデータパケットを送信すべきと認識し、１フレーム分の複数ｃｈのオーディオデータを含むデータパケットを送信する。そして、ＰＣ１００は、その送信されたデータパケットからオーディオデータを取り込む。録音制御部１４１は、次の図９に示すステートマシン図が示す各種処理を実行する。
【００８４】
図９は、デバイス１２０からＰＣ１００へオーディオデータを送信する場合の録音制御部１４１の動作を示すステートマシン図である。なお、本願で「録音」と言っているのは、典型的なケースとして、デバイス１２０にサンプリング周期毎に１サンプルずつ入力するオーディオデータを順次記憶し、フレーム周期毎に１フレーム分ずつＰＣ１００に転送し、ＰＣ１００において受信したオーディオデータを連結して一連のオーディオデータを再構成するケース（Capture）を想定しているが、その一連のオーディオデータは、必ずしもＰＣ１００によってオーディオファイルとして「録音」される必要はなく、ＰＣ１００から別のシンク（本デバイス１２０と同じような別のデバイス、レコーダ等）へストリーミング出力されるオーディオデータであってもよい。
【００８５】
図９において、システムの電源がオンされ上述したコンフィギュレーションが実行された後、録音制御部１４１はアイドル状態９０９にある。その後、ＰＣ１００がデバイス１２０からオーディオデータを入力するために図８のステップ８０１〜８０４が実行されると、入力開始コマンドに応じて、ステップ８０４で録音制御部１４１に動作開始が指示され、録音制御部１４１はアイドル状態９０９からハードウェア初期化９０１（ステップ８０５）へと移行する。この初期化９０１では、送信ＦＩＦＯ１４６と録音ＦＩＦＯ１４２をクリアするなどの初期化を行う。また、この初期化により、エンドポイントコントローラ１４５および録音ＦＩＦＯ１４２は、「送信無効」および「録音停止」にそれぞれ設定される。「送信無効」とは、ＵＳＢトランシーバ１４９とエンドポイントコントローラ１４５による送信動作（すなわち、前記ＩＮトークンを取得したとき、送信ＦＩＦＯ１４６に格納されているデータからデータパケットを生成して、前記ＩＮパイプによりＰＣ１００へ送信する動作）を行わないことを意味する。ただし、前記ＩＮトークンが送られてきた場合には、そのデータパケットの代わりに、複数ｃｈでかつ無音のオーディオデータを含むデータパケットがＰＣ１００へ送信されるので、トランザクション自体は成立している。「録音停止」とは、録音ＦＩＦＯ１４２の入力側のＤＭＡ回路が、複数ｃｈのオーディオデータを、サンプリング周期毎に、ＤＳＰ１３９の出力レジスタから１オーディオサンプルずつ録音ＦＩＦＯ１４２に転送する動作を停止中であることを意味する。初期化９０１の後、録音制御部１４１は、ＳＯＦ待ち９０２に移行する。
【００８６】
ＰＣ１００は、図８のステップ８０６で説明したとおり、ＩＮトークンを送信し、該トークンに続いてデバイス１２０から送信されるデータパケットを受信する動作を開始する。ただし、集積回路１２１側は未だ「送信無効」の状態であるので、前記ＩＮトークンを受信しても送信ＦＩＦＯ１４６に格納されているデータ（この時点ではデータは未だない）の送信は行われない。なお、エンドポイントコントローラ１４５は、ＳＯＦが受信されたとき、およびＩＮトークンが受信されたとき、それぞれその旨を録音制御部１４１に通知するものとする。録音制御部１４１は、ＳＯＦが受信されたとき、フレーム周期タイミング（具体的には、フレーム周期の境界であるＳＯＦ受信タイミング）を検出して図９の（１）〜（５）の分岐条件に従って、ＳＯＦ待ち９０２から状態が移行する。
【００８７】
（１）は録音開始前の「録音停止」の状態、すなわち、録音ＦＩＦＯ１４２の入力側のＤＭＡ回路による、ＤＳＰ１３９から録音ＦＩＦＯ１４２へのオーディオサンプルの転送動作が停止している状態でＳＯＦを受信した場合の分岐を示す。この場合、状態９０３に移行して、録音開始する（「録音停止」から「録音中」に移る）。これにより、録音ＦＩＦＯ１４２の入力側のＤＭＡ回路による録音動作が開始され、サンプリング周期毎に、複数ｃｈの各々の１オーディオサンプルがＤＳＰ１３９の出力レジスタから録音ＦＩＦＯ１４２に転送されて、録音ＦＩＦＯ１４２に溜められていく。「録音停止」から「録音中」に移行するタイミングを制御することにより、ＰＣ１００への送信開始時（何回か後のＳＯＦ受信時）に録音ＦＩＦＯ１４２に溜まっているオーディオサンプルの量（Ｘ：予測値、単位はフレーム）を調整できる。例えば、録音ＦＩＦＯ１４２が２フレーム分の容量である場合は、該移行タイミングを今回のＳＯＦ受信タイミングから半フレームの時間経過後とするのが良く（Ｘ＝１／２）、また、録音ＦＩＦＯ１４２が３フレーム分の容量である場合は、今回のＳＯＦ受信タイミングに直ちに「録音中」に移行するのが良い（Ｘ＝１）。最適な量Ｘは、録音ＦＩＦＯの容量をＳとしてＸ＝（Ｓ−１）／２と算出され、また、ＳＯＦ受信から移行タイミングまでの遅れ時間Ｄは、Ｄ＝１−Ｆｒａｃ（Ｘ）と算出される（Ｆｒａｃ（）は小数部を取り出す関数）。状態９０３の後、ＳＯＦ待ち９０２に戻る。
【００８８】
（２）は「録音中」かつ「送信無効」の状態でＳＯＦを受信した場合の分岐を示す。この場合、状態９０４に移行し、録音ＦＩＦＯ１４２に、送信ＦＩＦＯ１４６への転送を開始するのに最適な所定量Ｘのオーディオデータが（ほぼ）充填されたか確認し、充填されていたらＵＳＢトランシーバ１４９とエンドポイントコントローラ１４５に送信動作の開始（これにより「送信無効」から「送信有効」に移る）を指示して、状態９０５に移行する。未だ充填が完了していないときは、何もせずに状態９０５に移行する。状態９０５では、録音ＦＩＦＯ１４２の複数ｃｈのオーディオデータが、その出力側のＤＭＡ回路により、１フレーム分、送信ＦＩＦＯ１４６にＤＭＡ転送される。その後、ＳＯＦ待ち９０２に戻る。
【００８９】
（３）は「録音中」、「送信有効」、かつ［ＩＮ］無しの状態でＳＯＦを受信した場合の分岐を示す。［ＩＮ］無しとは、いま受信したＳＯＦの直前のフレーム中でＩＮトークンが受信されなかったことを表す。この場合、送信ＦＩＦＯ１４６中のデータが送信されないので、送信ＦＩＦＯ１４６または録音ＦＩＦＯ１４２で空き容量不足が発生する可能性がある。そこで、状態９０６に移行して、１フレーム中で送信するだけの量のオーディオデータを消去する。消去の方式としては２つの方式があり、予めどちらにするかを設定しておくことができる。第１の方式は、送信ＦＩＦＯ１４６から１フレーム中で送信するだけの量を消去する方式である。この場合は、その後（ａ）に示すように状態９０５に移行する。送信ＦＩＦＯ１４６の空きが増えたので、状態９０５でのＤＭＡ転送を実行できる。第２の方式は、録音ＦＩＦＯ１４２から１フレーム中で送信するだけの量を消去する方式である。この場合は、その後（ｂ）に示すようにＳＯＦ待ち９０２に移行する。録音ＦＩＦＯ１４２の空きが増えたので、ＤＳＰ１３９から録音ＦＩＦＯ１４２への書き込み動作は継続して実行できる。なお、前記（ａ）（ｂ）の選択は、ＣＰＵ１３１からの指示に従う。
【００９０】
（４）は「録音中」、「送信有効」、かつ録音ＦＩＦＯ１４２が満杯または不足の状態でＳＯＦを受信した場合の分岐を示す。「録音中」であるので、録音ＦＩＦＯ１４２には、その入力側のＤＭＡ回路により、サンプリング周期毎に、ＤＳＰ１３９の出力レジスタから複数ｃｈの各々の１オーディオサンプルデータが書き込まれるが、このとき録音ＦＩＦＯ１４２が満杯になって書き込むことができず、次にＳＯＦを受信した場合は、この（４）の分岐となる。また、録音ＦＩＦＯ１４２のオーディオデータは、基本的な手順では状態９０５のＤＭＡ転送で送信ＦＩＦＯ１４６に、１フレーム中に送信するだけの量が取り出されてホストに送信されていくものであるが、ホストへの送信を安定的に継続して行うためには、常に所定量以上のオーディオデータが録音ＦＩＦＯ１４２中に存在することが必要である（状態９０４は、録音ＦＩＦＯ１４２に１フレーム分（当該所定量以上）のオーディオデータを充填するものである）。従って、録音制御部１４１は、録音ＦＩＦＯ１４２中のオーディオデータが前記所定量を下回ったことを検出するようになっており、それが検出されたとき「録音ＦＩＦＯ１４２が不足」となる。その状態でＳＯＦを受信した場合も、この（４）の分岐となる。
【００９１】
上記（４）の分岐では、状態９０７に移行し、エラー割込を発生させて、ＣＰＵ１３１にエラーを通知する。そして、エラー復帰処理を行う。エラー復帰処理では、エンドポイントコントローラ１４５等による送信動作は「送信無効」とし、録音ＦＩＦＯ１４２の入力側のＤＭＡ回路によるＤＳＰ１３９から録音ＦＩＦＯ１４２への録音動作は停止（すなわち「録音停止」）とし、送信ＦＩＦＯ１４６と録音ＦＩＦＯ１４２をクリアする（空にする）などの初期化を行った後、状態９０２に戻って動作を継続する。この動作の継続は、自動復帰機能のオン（有効）を意味する。また、エラーからの自動復帰機能はオフ（無効化）することもでき、オフに設定されている場合は、エラー復帰処理は行わず、９０８に示すように動作停止状態を継続するものとする。なお、これらの自動復帰機能のオンおよびオフは、ＣＰＵ１３１によって指示される。また、「録音」でのエラー時には送信ＦＩＦＯ１４６と録音ＦＩＦＯ１４２の両方をクリアしている。これは、送信ＦＩＦＯ１４６は、オーディオデータの連続性が崩れているので必ずクリアする必要があるからであり、また録音ＦＩＦＯ１４２をクリアするのは、ＰＣからのＳＯＦ受信タイミングの録音ＦＩＦＯ１４２のオーディオデータのサンプル数を最適値に初期設定するためである。
【００９２】
上記（４）の録音ＦＩＦＯ１４２が満杯の場合、「送信無効」や「録音停止」にすることなく、録音ＦＩＦＯ１４２から次に送信ＦＩＦＯ１４６に転送すべきデータを消去して、動作を継続するようにしてもよい。また、上記（４）の録音ＦＩＦＯ１４２が不足の場合、「送信無効」や「録音停止」にすることなく、録音ＦＩＦＯ１４２に全てゼロ値のサンプルで構成されるダミーのオーディオデータを所定量録音ＦＩＦＯ１４２に書き込んで、動作を継続するようにしてもよい。何れの場合も音は途切れてしまうが動作は継続できる。
【００９３】
（５）は「録音中」、「送信有効」、かつ［ＩＮ］有りの場合の分岐を示す。この場合、状態９０５に移行し、録音ＦＩＦＯ１４２から送信ＦＩＦＯ１４６へのＤＭＡ転送を行う。その後、ＳＯＦ待ち９０２に戻る。
【００９４】
ＰＣ１００がＤＳＰ１３９から出力されるオーディオデータを入力する典型的な流れは、まず状態９０１から９０２に移行し、（１）の分岐で「録音中」すなわち、録音ＦＩＦＯ１４２による、サンプリング周期毎のＤＳＰ１３９から録音ＦＩＦＯ１４２へのオーディオデータの転送を有効とし、次に（２）の分岐の状態９０２→９０４で録音ＦＩＦＯ１４２に送信を開始するに最適な量Ｘのオーディオデータを溜めて「送信有効」とし、その量Ｘのデータがほぼ溜まったら状態９０５で録音ＦＩＦＯ１４２から送信ＦＩＦＯ１４６へＤＭＡ転送し、以降は（５）の分岐で状態９０２→９０５→９０２を繰り返してオーディオデータの送信を続けていく、というものである。この際、ＰＣ１００からのＩＮトークンが途切れたときは、（３）の分岐の状態９０２→９０６で１フレーム分のオーディオデータを消去して動作を継続する。また、録音ＦＩＦＯ１４２の満杯または不足のエラーが発生すると、（４）の分岐でエラー復帰処理が自動的に実行される。
【００９５】
なお、ＳＯＦの発生間隔とサンプリング周波数とに基づいて、各ＳＯＦに応じて送信すべきデータのサイズは微妙に変動する。例えば、１フレーム中で６サンプル転送することが基本になっていたとしても、ＳＯＦの周期が乱れたりすると、１フレーム中の転送サンプル数が５になったり７になったりする場合がある。しかし、想定されるサンプル数は何パターンかに特定できるので、転送データのサイズはそれらの各パターン毎のサイズになるはずである。そこで、転送データのサイズが変動して、それらのサイズの何れとも異なるデータサイズとなった場合に、その特定されたサイズのうちの大きいほうを超えないように丸め込んだり、「データサイズエラー」として検出するようにしてもよい。「データサイズエラー」が検出された場合は（４）に分岐するようにしてもよい。
【００９６】
また、図８，９では図示していないが、ＰＣ１００はオーディオデータの入力を停止する場合、入力停止コマンドをコントロール転送でデバイス１２０に送る。これを受けて、集積回路１２１のＣＰＵ１３１は、録音制御部１４１に対して動作停止を指示する。この指示を受けた録音制御部１４１は、「送信無効」かつ「録音停止」とするとともに、図９の自動送信（録音）機能から抜けてアイドル状態９０９に移行する。
【００９７】
上記図７や図８で説明したように、「再生」や「録音」における転送シーケンスおよび受信ＦＩＦＯや送信ＦＩＦＯに対するＤＭＡ転送などの動作は、ハードウェアである再生制御部１４３および録音制御部１４１による自動処理で実現され、ＣＰＵ１３１に負担をかけることがほとんど無い。従来のＵＳＢ方式のデバイスにおけるオーディオデータの入出力では、各フレーム周期毎にＣＰＵに割込をかけ、ＣＰＵがＵＳＢインターフェースやＤＭＡの制御を行っていたが、本実施形態ではハードウェアである再生制御部１４３や録音制御部１４１がそれらの処理を行うので、ＣＰＵ１３１の負荷を軽減できる。また、「再生」や「録音」時にイレギュラー動作が発生した場合のエラー検知と自動復帰処理も、再生制御部１４３や録音制御部１４１の制御の元で実行でき、ＣＰＵ１３１の負荷を軽減できる。
【００９８】
なお、上記実施形態ではＵＳＢ１．１を利用した例を説明したが、ＵＳＢ２．０その他の規格を利用してもよい。
【符号の説明】
【００９９】
１００…パーソナルコンピュータ（ＰＣ）、１０１…中央処理装置（ＣＰＵ）、１０２…フラッシュメモリ、１０３…ランダムアクセスメモリ（ＲＡＭ）、１０４…ハードディスク（ＨＤＤ）、１０５…タイマ、１０６…ネットワーク入出力インターフェース（Ｉ／Ｏ）、１０７…表示器Ｉ／Ｏ、１０８…表示器（ディスプレイ）、１０９…ＵＳＢ＿Ｉ／Ｏ、１１０…キーボード、１１１…マウス、１２０…ＵＳＢオーディオデバイス、１２１…半導体集積回路、１２２…ＵＳＢ端子、１２３…アナログデジタル変換器（ＡＤＣ）、１２４…デジタルアナログ変換器（ＤＡＣ）、１３１…ＣＰＵ、１３２…フラッシュメモリ、１３３…ＲＡＭ、１３４…タイマ、１３５…操作子Ｉ／Ｏ、１３６…操作子、１３７…表示器Ｉ／Ｏ、１３８…表示器、１３９…ＤＳＰ、１４０…波形Ｉ／Ｏ、１４１…録音制御部、１４２…録音ＦＩＦＯ、１４３…再生制御部、１４４…再生ＦＩＦＯ、１４５…エンドポイントコントローラ、１４６…送信ＦＩＦＯ、１４７…受信ＦＩＦＯ、１４８…設定ＦＩＦＯ、１４９…ＵＳＢトランシーバ、１５０…ＵＳＢケーブル。
【図１】
0005971550.tif 000002
【図２】
0005971550.tif 000003
【図３】
0005971550.tif 000004
【図４】
0005971550.tif 000005
【図５】
0005971550.tif 000006
【図６】
0005971550.tif 000007
【図７】
0005971550.tif 000008
【図８】
0005971550.tif 000009
【図９】
0005971550.tif 000010