(57)【特許請求の範囲】
【請求項１】
通信路を通じて外部機器と音声データの送受信を行なう音声データ送受信装置において、
第１の音声データを記憶する第１の記憶手段と、
前記外部機器が所定周期で発生して送信する同期データを前記通信路を通じて受信する同期データ受信手段と、
前記通信路を通じて前記外部機器から第１の音声データを受信して前記第１の記憶手段に書き込む音声データ受信手段と、
音声データの出力を司るクロック信号を周期的に発生するクロック発生手段と、
前記音声データ受信手段により受信して前記第１の記憶手段に書き込まれた第１の音声データを、前記クロック発生手段によって発生されたクロック信号に応じて出力する出力手段と、
前記同期データ受信手段により同期データを受信してから次の同期データを受信するまでの間に前記クロック発生手段によって発生されたクロック信号の数をカウントするクロック計数手段と、
前記外部機器へ送信する第２の音声データを記憶する第２の記憶手段と、
前記クロック計数手段によりカウントされたクロック信号の数に基づき、前記外部機器に送信すべき音声データのサンプル数を算出する算出手段と、
前記算出手段により算出されたサンプル数の音声データを前記第２の記憶手段から読み出し、前記同期データを受信する毎に前記通信路を通じて前記外部機器に送信する音声データ送信手段と
を有する音声データ送受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声データ送受信装置に関し、さらに詳細には、音声データを非同期転送する際の処理を改善した音声データ送受信装置に関する。
【背景技術】
【０００２】
近年、コンピュータ・インターフェースとして、パーソナル・コンピュータ周辺機器用バス規格が種々開発されており、こうしたパーソナル・コンピュータ周辺機器用バス規格としては、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ Ｓｅｒｉａｌ Ｂｕｓ：ユニバーサル・シリアル・バス）やＩＥＥＥ１３９４などがある。
【０００３】
そして、こうしたＵＳＢやＩＥＥＥ１３９４などのコンピュータ・インターフェースを用いることにより処理の高速化が図られ、ホスト・コンピュータ（以下、「ホスト」と称する。）と当該ホストに接続されるデバイスとの間で、例えば、デジタル・オーディオ・データなどの音声データのリアルタイム転送が可能となってきている。
【０００４】
ここで、上記したＵＳＢのデータ転送技術について説明すると、ＵＳＢでは、一本の物理的ケーブルに双方向に複数種類のデータを混在させて、当該複数種類のデータをリアルタイムで伝送することができるようになされている。
【０００５】
さらに詳細には、ＵＳＢにおいては、一本の物理的ケーブルに流されるデータは、個々にパケット化されており、パケット化されたデータは、フレームと称される１ｍＳｅｃ（１ミリ秒）の時間を分割して伝送されるものである。そして、この際に、図１に示すように、各フレームの先頭にはＳＯＦ（Ｓｔａｒｔ ＯｆＦｒａｍｅ：スタート・オブ・フレーム）と称されるフレーム番号を示すデータがホストから伝送線上に流され、ＳＯＦとＳＯＦとの間の時間を各パケットが時間分割されてホストからデバイス、あるいはその逆方向たるデバイスからホストへと伝送されるものである。
【０００６】
つまり、図１に示したように、例えば、デジタル・オーディオ・データを伝送する際には、機器が必要とする量のデータを１ミリ秒のフレーム内において各パケットに分割して送受信するようになされている。
【０００７】
なお、図１において、例えば、ＡおよびＡ＋１のパケットは、ホストからデバイスへ伝送される再生用のデジタル・オーディオ・データ（以下、「オーディオ再生データ」と称する。）であり、ＢおよびＢ＋１のパケットは、デバイスからホストへ伝送される録音用のデジタル・オーディオ・データ（以下、「オーディオ録音データ」と称する。）である。
【０００８】
さらに、伝送すべき別の種類のデータがある場合には、それぞれフレーム中の残余の時間を確保して伝送されることになる。
【０００９】
上記したように、ＵＳＢは、一本の物理的ケーブルに双方向に時分割で複数種類の情報を流し、ホストとデバイスとの間で送受信することができる伝送方式である。そして、ＵＳＢでは、ホストは接続されるデバイスとの同期をとるために、ホストが１ミリ秒毎にＳＯＦのデータを送信するようになされている。
【００１０】
ここで、データ転送の手法としては、例えば、デジタル・オーディオ・データの再生時に、一般に送信側であるホストのクロック（ＵＳＢにおいてはＳＯＦ）に受信側であるデバイスが同期する同期転送と、受信側のデバイスが独自に発生するクロックでデータ処理を行う非同期転送とがある。
【００１１】
例えば、ＵＳＢにおいては、同期転送では、デバイスはＳＯＦに自身のクロックを同期させ、ホストから送信されるデータたるオーディオ再生データを処理することになる。従って、同期転送によれば、ホストが送信したデータ量とデバイスが処理するデータ量とが正確に一致するようになるため、デバイスにおいて処理したデータ量をホストにフィードバックする必要はない。
【００１２】
しかしながら、非同期転送においては、送信側のホストのクロックたるＳＯＦと受信側のデバイスのクロックとの間に誤差があるため、送信側のホストは受信側のデバイスがどの位の量のデータを必要としているかを、受信側のデバイスからのフィードバックによって常に確認しながらデータ転送する必要がある。
【００１３】
即ち、非同期の転送では、上記したように、ホストが送信するＳＯＦにデバイスのクロックが同期しないため、双方のクロックに誤差を生じることになり、ホストからのデータの転送量とデバイスにおけるデータの処理量とが一致しないことになる。
【００１４】
ＵＳＢにおいては、こうしたホストからのデータの転送量とデバイスにおけるデータの処理量との不一致を補正するために、デバイスは、ホストから送信されるあるＳＯＦと次のＳＯＦとの間に、自分自身のクロックが幾つカウントされたかを計数し、図２に示すようにその計数結果たるクロック・カウント値をホストへフィードバックとして返信している。ホストは、返信されたクロック・カウント値から送信すべきデータ量を調整し、これによりホストとデバイスとの同期をとるようになされている。
【００１５】
即ち、ＵＳＢでは、デバイスからホストにフィードバックされるデータ（クロック・カウント値）は、あるＳＯＦと次のＳＯＦとの間に計数されたデバイスのサンプル・クロック数を表すデータのパケットになる。そして、ホストにおけるオーディオ再生データを送信する機構は、フィードバックされたクロック・カウント数に等しい量のデータを送信するという処理を、各フレーム毎に繰り返し行うことになる。
【００１６】
なお、上記したようにデータ量を調節して同期を取るようにすると、結果的にはデバイス側のクロックにホストが同期することになる。
【００１７】
ところで、上記した非同期転送の処理において、ホストとデバイスとの間の双方向で同種のデータを転送するようなデバイス、例えば、オーディオ録音再生装置では、図３に示すように、さらにデバイス側からホスト側へオーディオ録音データを転送する経路が必要になり、ホストならびにデバイスにおける処理が複雑化するという問題点があった。
【００１８】
なお、ＵＳＢでは、物理的にはＳＯＦ、デジタル・オーディオ・データ（オーディオ再生データならびにオーディオ録音データ）ならびにクロック・カウント値の各データはすべて同じケーブル中を流れることになるので、上記した問題点における「経路」とは、ＵＳＢに関しては論理的なものを意味するものである。しかしながら、データの種類毎に物理的にケーブルが用意されている通信形態においても、非同期転送の処理の場合には上記した同様に「経路」としてのケーブルがさらに必要となり、ホストならびにデバイスにおける処理が複雑化するという同種の問題点があった。
【００１９】
なお、本願出願人が特許出願のときに知っている先行技術は、文献公知発明に係る発明ではないため、記載すべき先行技術文献情報はない。
【発明の開示】
【発明が解決しようとする課題】
【００２０】
本発明は、上記したような従来の技術の問題点に鑑みてなされたものであり、その目的とするところは、双方向で音声データの通信を行う際における処理の簡素化を図るようにした音声データ送受信装置を提供しようとするものである。
【課題を解決するための手段】
【００２１】
上記目的を達成するために、本発明は、非同期転送においては、デバイスからホストに送信されるデータの量については、デバイスが自身のクロックでデータを処理し、処理した分に相当するデータを送信するようにホストに要求するために、あるＳＯＦと次のＳＯＦとの間にカウントされたクロック数から算出した値に基づいてデータの量を決定し、ホストはそのデータ量から逆算で送信するデータ量を決定することができることになり、図４に示すようにクロック・カウント値転送用の経路を省略することがきるという発想に基づいてなされたものである。
【００２２】
即ち、本発明の請求項１に記載の発明は、通信路を通じて外部機器と音声データの送受信を行なう音声データ送受信装置において、第１の音声データを記憶する第１の記憶手段と、上記外部機器が所定周期で発生して送信する同期データを上記通信路を通じて受信する同期データ受信手段と、上記通信路を通じて上記外部機器から第１の音声データを受信して上記第１の記憶手段に書き込む音声データ受信手段と、音声データの出力を司るクロック信号を周期的に発生するクロック発生手段と、上記音声データ受信手段により受信して上記第１の記憶手段に書き込まれた第１の音声データを、上記クロック発生手段によって発生されたクロック信号に応じて出力する出力手段と、上記同期データ受信手段により同期データを受信してから次の同期データを受信するまでの間に上記クロック発生手段によって発生されたクロック信号の数をカウントするクロック計数手段と、上記外部機器へ送信する第２の音声データを記憶する第２の記憶手段と、上記クロック計数手段によりカウントされたクロック信号の数に基づき、上記外部機器に送信すべき音声データのサンプル数を算出する算出手段と、上記算出手段により算出されたサンプル数の音声データを上記第２の記憶手段から読み出し、上記同期データを受信する毎に上記通信路を通じて上記外部機器に送信する音声データ送信手段とを有するようにしたものである。
【００２３】
ここで、上記請求項１に記載の発明に係る「音声データ送受信装置」は後述する実施の形態における「デバイス１００」に相当し、上記請求項１に記載の発明における「外部機器」は後述する実施の形態における「ホスト１０」に相当し、上記請求項１に記載の発明における「第１の音声データ」は後述する実施の形態における「オーディオ再生データ」に相当し、上記請求項１に記載の発明における「第２の音声データ」は後述する実施の形態における「オーディオ録音データ」に相当する。
【００２５】
また、上記請求項１に記載の発明における「同期データ」は、後述する実施の形態における「ＳＯＦ」に相当する。
【発明の効果】
【００２６】
本発明は、以上説明したように構成されているので、双方向で音声データの通信を行う際における処理の簡素化を図ることができるという優れた効果を奏する。
【発明を実施するための最良の形態】
【００２７】
以下、添付の図面を参照しながら、本発明による音声データ送受信装置の実施の形態の一例を詳細に説明する。
【００２８】
図４には、本発明による音声データ送受信装置を備えた音声データ送受信システムのブロック構成図が示されており、この図４に示す音声データ送受信システムにおいては、ホストとしての音声データ送受信装置（以下、「ホスト」と称する。）１０とデバイスとしての音声データ送受信装置（以下、「デバイス」と称する。）１００とがＵＳＢにより接続されており、ホスト１０からオーディオ再生データをデバイス１００へ送信してデバイス１００において音声の再生を行わせるとともに、デバイス１００が入力して得たオーディオ録音データをホスト１０に送信してホスト１０に記憶させるようになされている。
【００２９】
図５は、ホスト１０の詳細なブロック構成図であり、このホスト１０は、デバイス１００にオーディオ再生データを送信して音声を再生させるとともに、デバイス１００から送信されてくるオーディオ録音データを受信して記憶するものである。
【００３０】
そして、ホスト１０は、ＵＳＢホスト・コントローラ１２と、タイマー１４と、録音データ・バッファ１６と、再生データ・バッファ１８と、サンプル数バッファ２０と、第１サンプル数カウンタ２２と、第２サンプル数カウンタ２４と、ＵＳＢ受信バッファ２６と、ＵＳＢ送信バッファ２８とを有している。
【００３１】
ここで、タイマー１４は、１ミリ秒毎にＳＯＦタイミング信号を発生し、ＵＳＢホスト・コントローラ１２、第１サンプル数カウンタ２２ならびに第２サンプル数カウンタ２４へ供給するものである。
【００３２】
また、録音データ・バッファ１６は、デバイス１００より送信されてきたオーディオ録音データを記憶するものであり、再生データ・バッファ１８は、デバイス１００へ送信するオーディオ再生データを記憶するものである。
【００３３】
さらに、サンプル数バッファ２０は、第１サンプル数カウンタ２２のカウント値を格納するとともに、格納したカウント値を第２サンプル数カウンタ２４に読み出させるＦＩＦＯ（先入れ先出し）方式のバッファである。
【００３４】
また、ＵＳＢ受信バッファ２６は、デバイス１００から送信されてきたオーディオ録音データを格納しておくものであり、ＵＳＢ送信バッファ２８は、デバイス１００へ送信するオーディオ再生データを格納しておくものである。
【００３５】
ここで、ＵＳＢホスト・コントローラ１２は、タイマー１４により発生されるＳＯＦタイミング信号に基づいて、以下の（１）〜（３）の処理を行うものである。
【００３６】
（１）ＳＯＦをデバイス１００へ送信する。
【００３７】
（２）ＵＳＢ送信バッファ２８に記憶されたオーディオ再生データを、パケットとしてデバイス１００へ送信する。
【００３８】
（３）ＵＳＢを通じてデバイス１００からパケットとして送信されてきたオーディオ録音データを受信して、ＵＳＢ受信バッファ２６に書き込む。
【００３９】
次に、第１サンプル数カウンタ２２は、タイマー１４により発生されるＳＯＦタイミング信号に基づいて、以下の（１）〜（２）の処理を行うものである。
【００４０】
（１）ＵＳＢ受信バッファ２６に書き込まれたオーディオ録音データのサンプル数をカウントして、カウント値をサンプル数バッファ２０に格納する。
【００４１】
（２）ＵＳＢ受信バッファ２６に書き込まれたオーディオ録音データを、録音データ・バッファ１６に転送する。
【００４２】
さらに、第２サンプル数カウンタ２４は、タイマー１４により発生されるＳＯＦタイミング信号に基づいて、以下の（１）〜（２）の処理を行うものである。
【００４３】
（１）サンプル数バッファ２０よりカウント値を読み出す。
【００４４】
（２）カウント値の表わすサンプル数分のオーディオ再生データを、再生データ・バッファ１８からＵＳＢ送信バッファ２８に転送する。
【００４５】
次に、図６に示すデバイス１００の詳細なブロック構成図を参照しながら、デバイス１００について説明するが、このデバイス１００は、ホスト１０から送信されてくるオーディオ再生データを受信して再生するとともに、入力される音声信号をオーディオ録音データとしてホスト１０に送信するものである。
【００４６】
そして、デバイス１００は、クロック・カウンタ１０２と、クロック発振器１０４と、ＤＳＰ（デジタル・シグナル・プロセッサ）１０６と、デジタル／アナログ変換器（Ｄ／Ａ）１０８と、アナログ／デジタル変換器（Ａ／Ｄ）１１０と、デジタル・オーディオ・バッファ１１２と、ＵＳＢ送受信ロジック１１４と、オーディオ出力端子１１６と、オーディオ入力端子１１８とを有している。
【００４７】
ここで、クロック・カウンタ１０２は、クロック発振器１０４からクロックを供給されるとともに、ＵＳＢ送受信ロジック１１４からＳＯＦを受信した旨を伝えるＳＯＦ受信信号を供給され（なお、ＵＳＢ送受信ロジック１１４の動作の詳細については後述する。）、供給されたクロックならびにＳＯＦ受信信号に基づいて、あるＳＯＦと次のＳＯＦとの間に発生するクロックの数をカウントするものである。また、クロック・カウンタ１０２は、ＳＯＦ受信信号を受け取ると、カウントしたクロックの数（以下、「クロック・カウント値」と称する。）をＵＳＢ送受信ロジック１１４が読み取り可能なようにメモリ（図示せず）に保存するとともに、現在のクロック・カウント値をリセットする。
【００４８】
次に、クロック発振器１０４は、上記したクロック・カウンタ１０２、ＤＳＰ１０６ならびにＤ／Ａ１０８へクロックを供給するものである。
【００４９】
また、ＤＳＰ１０６は、クロック発振器１０４から供給されるクロックで駆動され、ＵＳＢ送受信ロジック１１４により受信されてデジタル・オーディオ・バッファ１１２の受信バッファに保存されているオーディオ再生データに信号処理を施し、当該信号処理した後のデータをＤ／Ａ１０８に出力する。一方、ＤＳＰ１０６は、Ａ／Ｄ１１０から供給されたオーディオ録音データに信号処理を施し、当該信号処理の後のデータをデジタル・オーディオ・バッファ１１２の送信バッファに書き込むものである。
【００５０】
さらに、Ｄ／Ａ１０８は、クロック発振器１０４から供給されるクロックで駆動され、上記したようにＤＳＰ１０６で信号処理を施されたオーディオ再生データを入力し、当該オーディオ再生データをアナログ信号に変換してオーディオ出力端子１１６から外部へ出力するものである。
【００５１】
一方、Ａ／Ｄ１１０は、外部からオーディオ入力端子１１８を介してから人力されたアナログの音声信号をデジタル信号に変換し、オーディオ録音データとしてＤＳＰ１０６へ出力するものである。
【００５２】
また、デジタル・オーディオ・バッファ１１２は、ＵＳＢ送受信ロジック１１４で受信されたオーディオ再生データを一時的に記憶しておく受信バッファと、ＤＳＰ１０６により信号処理を施されたオーディオ録音データを一時的に記憶しておく送信バッファとを有して構成されている。
【００５３】
そして、ＵＳＢ送受信ロジック１１４は、ＳＯＦを受信する毎に、即ち、１フレーム毎に、以下の（１）〜（４）の処理を行うものである。
【００５４】
（１）ＵＳＢを通じてホスト１０から送信されてきたＳＯＦを受信したときに、クロック・カウンタ１０２にＳＯＦを受信した旨を伝えるためのＳＯＦ受信信号を送出する。
【００５５】
（２）クロック・カウンタ１０２からクロック・カウント値を読み込む。
【００５６】
（３）ＵＳＢを通じてホスト１０からパケットとして送信されてきたオーディオ再生データを受信して、デジタル・オーディオ・バッファ１１２の受信バッファに書き込む。
【００５７】
（４）上記（２）において読み込んだクロック・カウント値から１フレームに送信すべきオーディオ録音データのサンプル数を計算し、計算したそのサンプル数分のオーディオ録音データを正確にデジタル・オーディオ・バッファ１１２の送信バッファより取り出して、パケットとしてホスト１０へ送信する。
【００５８】
従って、上記した音声データ送受信システムは、ホスト１０とデバイス１００との間で常に同種類のデータの転送を行い、かつ、データの転送量をデバイス１００側に同期させる場合に極めて有効である。
【００５９】
即ち、上記した音声データ送受信システムによれば、ホスト１０側で受信するパケットのデータ（オーディオ録音データ）の数から必要サンプル数を計算することにより、サンプル数フィードバック用のパケット伝送を無くすことができ、そのパケットのハンドリング（取り扱い）処理を省略することで伝送系やホスト１０の処理負荷を著しく軽減することができるようになる。
【００６０】
また、この音声データ送受信システムにおいて、オーディオ再生データの再生のみ行なう場合には、デバイス１００側からのパケットをサンプル数伝送用に使用するように適宜切り換えることにより、録音動作が行われない場合でもデバイスの必要サンプル数のフィードバックを効率よく行なうことができる。
【００６１】
つまり、この音声データ送受信システムにおいては、録音再生が同時に実行されているときは、デバイス１００からホスト１０に送られるパケットは録音データそのものだけでよいため、伝送系やホスト１０の処理の負荷が著しく軽減され、また、再生のみの場合は必要サンプル数のパケットを送るようにすればよい。
【図面の簡単な説明】
【００６２】
【図１】図１は、ＵＳＢにおける伝送線路上のデータを示す概念図である。
【図２】図２は、ＵＳＢにおいて非同期転送によりオーディオ再生データを転送する場合を示すブロック構成図である。
【図３】図３は、ＵＳＢにおいて非同期転送によりオーディオ再生データおよびオーディオ録音データを転送する場合を示すブロック構成図である。
【図４】図４は、本発明による音声データ送受信装置を備えた音声データ送受信システムのブロック構成図である。
【図５】図５は、本発明による音声データ送受信装置のホスト側の構成を示すブロック構成図である。
【図６】図６は、本発明による音声データ送受信装置のデバイス側の構成を示すブロック構成図である。
【符号の説明】
【００６３】
１０      ホスト
１２      ＵＳＢホスト・コントローラ
１４      タイマー
１６      録音データ・バッファ
１８      再生データ・バッファ
２０      サンプル数バッファ
２２      第１サンプル数カウンタ
２４      第２サンプル数カウンタ
２６      ＵＳＢ受信バッファ
２８      ＵＳＢ送信バッファ
１００      デバイス
１０２      クロック・カウンタ
１０４      クロック発振器
１０６      ＤＳＰ（デジタル・シグナル・プロセッサ）
１０８      デジタル／アナログ変換器（Ｄ／Ａ）
１１０      アナログ／デジタル変換器（Ａ／Ｄ）
１１２      デジタル・オーディオ・バッファ
１１４      ＵＳＢ送受信ロジック
１１６      オーディオ出力端子
１１８      オーディオ入力端子
【図１】
0004481329.tif 000002
【図２】
0004481329.tif 000003
【図３】
0004481329.tif 000004
【図４】
0004481329.tif 000005
【図５】
0004481329.tif 000006
【図６】
0004481329.tif 000007