(57)【要約】   【課題】バッファの記憶容量を減らすとともに、レイテンシーの短いデジタルデータ伝送装置を提供する。  【解決手段】ＳＯＦパケットにより設定されたタイマがカウントアップしパケットの確定が行われる。この時刻は、次のＳＯＦパケットを受信する前であって、パケットの確定に要する時間を確保する時刻である。  このパケット確定信号により、フレーム”ｊ”に積み上げられたデータは、パケットＰｊとして確定される。  同様に、フレーム”ｋ”においても、データが積み上げられ、次のフレームで送信される。フレーム”ｌ”においても同様に、パケット確定指示によりパケットが確定され、ＳＯＦパケットを受信した直後にイントークンを受信しても、バッファにはパケットが待機しているので、エラーとならずに送信される。  【選択図】    図４
2005064665.tif 000002
【特許請求の範囲】
【請求項１】
デジタルデータを入力する入力手段と、
デジタルデータを伝送するバスの時間単位を示す所定のパケットを検出する検出手段と、
その検出手段により前記パケットを検出したときから前記バスの時間単位より短い所定時間を計時する計時手段と、
その計時手段により所定時間を計時したとき、前記入力手段により入力されたデジタルデータを伝送する送信パケットを確定するパケット確定手段とを備えたことを特徴とするデジタルデータ伝送装置。
【請求項２】
前記デジタルデータは、音声のデータであることを特徴とする請求項１記載のデジタルデータ伝送装置。
【請求項３】
前記検出手段は、前記デジタルデータを伝送するＵＳＢバスの時間単位を示すＳＯＦパケットを検出するものであることを特徴とする請求項１又は２記載のデジタルデータ伝送装置。
【請求項４】
前記入力手段に入力されるデジタルデータを記憶する二つバッファと、
その二つのバッファの一方に前記デジタルデータを書き込み、前記計時手段により所定時間を計時したときそのバッファに記憶されたデジタルデータをパケットとして確定するとともに、それ以降に入力されるデジタルデータを他方のバッファに書き込むよう制御する制御手段とを備えたことを特徴とする請求項１から３のいずれかに記載のデジタルデータ伝送装置。
【請求項５】
前記パケット確定手段により確定されたパケットを送信指示に応じて送信する送信手段とを備えたことを特徴とする請求項１から４のいずれかに記載のデジタルデータ伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルデータを伝送するバスを用いて効率よくデータ転送を行うことができるデジタルデータ伝送装置に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ等を用いるデータ伝送の規格としてＵＳＢ（Universal Serial Bus)やＩＥＥＥ(Institute of Electrical and Electronics Engineers)１３９４が知られている。これらの規格は、近年、デバイスの高速化が進み、オーディオデータやビデオデータやデジタルカメラの映像データの高速伝送に用いられている。
【０００３】
ＵＳＢを例として説明すると、ＵＳＢでは、ホストとなるデバイスと複数のファンクションと呼ばれるデバイスが接続され、ホストと各ファンクションとの間でパケットの送受が行われる。
【０００４】
図２は、バスの中を流れるパケットの状態を模式的に表した図である。バスは、フレームという時間で管理されており、ハイスピードＵＳＢ（ＵＳＢ２．０）では、１２５μｓである。（遅いタイプは、１ｍｓである）
ホストはこの時間間隔でバスにＳＯＦ（スタート・オブ・フレーム）パケットを送信し、このＳＯＦの間に複数のパケットの送受が、ホストとファンクションとの間で実行される。その一つ一つのパケット送受がトランザクションと呼ばれ、図２ではＴｘとして表されている。
【０００５】
フレーム内でのトランザクションが有効な区間は、ＥＯＦ（エンド・オブ・フレーム）という時刻で終了する。
【０００６】
図２（１）では、最初のフレームでは、４つのトランザクションが実行され、次のフレームでは、６つのトランザクションが実行される様子を表している。
【０００７】
これらのトランザクションは、ホストが各デバイスから収集したそのデバイスのトランザクションに要する時間をもとにスケジューリングを行い、フレーム毎に、フレーム内のトランザクションを割り当てる。
【０００８】
特定の機器に関しては、図２（２）に示すようにトランザクションが割り当てられる。この特定の機器がデータを送信する場合には、ホストが、送信を割り当てる時刻にイントークンと呼ばれる命令を送ることによりトランザクションを割り当てる。
【０００９】
このイントークンに応じて特定の機器は、データを送信するが、ホストがこのイントークンを発行する時刻は、状況に応じてフレームの時間内で変動する。ファンクションは、このイントークンの受信直後にパケットを送信しなければエラーとなるので、イントークンを受信する前にパケットを用意しておく必要がある。
【００１０】
図３は、従来のオーディオデータの転送の様子を模式的に説明する図であり、ハイスピードＵＳＢにおいて、サンプリング周波数に応じてＡ／Ｄ変換されたサンプルデータを、ホストへ送信する場合を表している。
【００１１】
サンプリング周波数が４８ｋＨｚの場合には、１２５μｓのフレーム内にちょうど６個のサンプルデータが得られ、結果的にパケットには６個のサンプルデータが収納されて転送される。
【００１２】
図３は、この場合を想定しているが、サンプリング周期とフレームとは、完全に同期しているのではないため、フレーム内のサンプル数が、５個になったり７個になる場合もある。
【００１３】
また、サンプリング周波数が４４．１ｋＨｚの場合には、フレーム内にサンプルデータが６個または５個得られる。
【００１４】
従って、パケットが持つサンプルデータの数は、一定ではなく、パケット毎に変動する。パケット毎に送信するサンプルデータの数を決め、送信できる状態にすることをパケットの確定という。
【００１５】
図３は、横軸が時間であり、（１）は、サンプリング周波数のクロックを表し、１周期毎に１サンプルづつＡ／Ｄ変換器より入力される。
【００１６】
（２）は、フレームごとに順次入力されるサンプルデータがオーディオバッファ（ここでは、ＲＡＭ１２に設けられている）に積み上げられていく様子を示している。ここでは、６つのサンプルデータがフレーム中で順次積み上げられている。
【００１７】
ｃＰｉは、フレーム”ｉ”期間中に蓄積されるパケット候補であり、パケットが確定されるとパケットＰｉとなる。
【００１８】
（４）に示す「Ｓ」が、ＳＯＦを受信した時刻を表し、このときパケットを確定している。（３）は、バッファの様子を表すもので、ここでは、２つのパケット分のバッファがＵＳＢインターフェースチップに用意されている。
【００１９】
”ｊ”のフレームでは、順次サンプルデータがオーディオバッファに記憶され、バッファにはフレーム”ｉ”の期間に積み上げられたデータがパケットＰｉとして確定されて記憶されており、「Ｓ」で示す時刻にＳＯＦパケットを受信した様子が示されている。
【００２０】
このＳＯＦに応じて、フレーム”ｊ”で積み上げられた６つのサンプルデータがＵＳＢインターフェースチップ内のバッファに転送され、パケットＰｊとして確定される。従って、この時点では、２つのバッファそれぞれにパケットＰｉ、Ｐｊが記憶されている。
【００２１】
次にイントークンを受信すると、パケットＰｉが送信され、パケットＰｊがバッファに残る。
【００２２】
再度ＳＯＦを受信すると、フレーム”ｋ”でオーディオバッファに積み上げられたデータがパケットＰｋとして確定され、バッファには、２つのパケットＰｊ、Ｐｋが待機することになる。
【００２３】
同様に、つぎのフレームでも、イントークンに応じてパケットＰｊが送信され、パケットＰｋがバッファに残る。
【００２４】
つぎにＳＯＦを受信すると、フレーム”ｌ”で蓄積されたデータの確定を開始するが、ＳＯＦの受信直後にイントークンを受信し、パケットＰｋを送信し、その後、フレーム”ｌ”で確定されたパケットＰｌがバッファに記憶される。
【００２５】
したがって、イントークンを受信したときには、少なくとも一つのパケットが待機しているので、エラーが発生しない。
【特許文献１】特開平２００２−１６４８７３号公報
【発明の開示】
【発明が解決しようとする課題】
【００２６】
しかしながら、上記記載の従来の方法では、オーディオバッファとＵＳＢインターフェースチップ内の２つのバッファの少なくとも３つのバッファが必要であった。また、図３（５）に示すように、データの蓄積を開始してから送信されるまでの遅れ時間であるレイテンシーは、２フレーム時間以上となっていた。例えば、フレーム”ｊ”で蓄積を開始したデータは、フレーム”ｌ”で送信され、（５）のＰｊで示すレイテンシーとなる。
【００２７】
パケットＰｋについても図に示す通りであり、この従来の方法では、レイテンシーが２フレーム時間以上であった。
【００２８】
本発明は、上述した問題点を解決するためになされたものであり、バッファの記憶容量を減らすとともに、レイテンシーの短いデジタルデータ伝送装置を提供することを目的とする。
【課題を解決するための手段】
【００２９】
この目的を達成するために、請求項１記載のデジタルデータ伝送装置は、デジタルデータを入力する入力手段と、デジタルデータを伝送するバスの時間単位を示す所定のパケットを検出する検出手段と、その検出手段により前記パケットを検出したときから前記バスの時間単位より短い所定時間を計時する計時手段と、その計時手段により所定時間を計時したとき、前記入力手段により入力されたデジタルデータを伝送する送信パケットを確定するパケット確定手段とを備えている。
【００３０】
請求項２記載のデジタルデータ伝送装置は、請求項１記載のデジタルデータ伝送装置であって、前記デジタルデータは、音声のデータである。
【００３１】
請求項３記載のデジタルデータ伝送装置は、請求項１又は２記載のデジタルデータ伝送装置であって、前記検出手段は、前記デジタルデータを伝送するＵＳＢバスの時間単位を示すＳＯＦパケットを検出するものである。
【００３２】
請求項４記載のデジタルデータ伝送装置は、請求項１から３のいずれかに記載のデジタルデータ伝送装置であって、前記入力手段に入力されるデジタルデータを記憶する二つバッファと、その二つのバッファの一方に前記デジタルデータを書き込み、前記計時手段により所定時間を計時したときそのバッファに記憶されたデジタルデータをパケットとして確定するとともに、それ以降に入力されるデジタルデータを他方のバッファに書き込むよう制御する制御手段とを備えている。
【００３３】
請求項５記載のデジタルデータ伝送装置は、請求項１から４のいずれかに記載のデジタルデータ伝送装置であって、前記パケット確定手段により確定されたパケットを送信指示に応じて送信する送信手段を備えている。
【発明の効果】
【００３４】
本発明によれば、デジタルデータを伝送するバスの時間単位を示すＳＯＦパケットを検出すると、そのときからフレーム時間より短い所定時間を計時し、その所定時間を計時したとき、デジタルデータを伝送する送信パケットを確定するので、従来の方法に比べ送信バッファを減らすことができるとともに、信号伝送の遅れも短いという効果がある。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の好ましい実施例について、添付図面を参照して説明する。
【００３６】
図１には、本発明の実施の形態の一例によるデジタルデータ伝送装置１のブロック構成図が示されている。このデジタルデータ伝送装置１は、入力されるアナログの音声をＡ／Ｄ変換器１４により変換されたデジタルオーディオデータをホストデバイスに伝送するものである。
【００３７】
このデジタルデータ伝送装置１は、ホストとなるパーソナル・コンピュータなどとＵＳＢ規格の伝送ケーブルにより接続されて、ファンクションとして動作するＵＳＢオーディオ機器である。
【００３８】
ＣＰＵ１０は、ＲＯＭ１１に記憶されたプログラムに従って各種処理を行う。
【００３９】
ＲＡＭ１２は、ＣＰＵ１０が処理を行う際にワークエリアとして使用する一時記憶するためのメモリで、以下に述べる第１の実施例では、オーディオバッファとして機能する。
【００４０】
ＵＳＢインターフェースチップ１３は、受信したＵＳＢパケットを解釈しＣＰＵ１０へ渡したり、オーディオデータをパケットとして送信を行うものである。
【００４１】
Ａ／Ｄ変換器１４は、入力されるアナログ音声信号を所定のサンプリング周波数（例えば４４．１ＫＨｚ）でサンプリングし、デジタルデータ（例えば１６ビット）に変換するものである。Ａ／Ｄ変換された値は、順次ＵＳＢインターフェースチップ１３のバッファに記憶される。
【００４２】
また、ＵＳＢインターフェースチップ１３は、ＣＰＵ１０から、パケットを確定するよう指示を受けたときにパケットを確定し、その後、イントークンを受信すると、確定したパケットを送信する。
【００４３】
タイマ１５は、所定のクロック信号を計数することにより計時を行うもので、ＵＳＢインターフェースチップ１３が、ＳＯＦパケットを受信したとき、タイマ１５の計数値がリセットされ、所定の時刻（ＭｙＴｘＢｌａｎｋ）に到達すると、到達したことを表す値をラッチに書き込むように設定されている。
【００４４】
デジタルＩ／Ｏ１６は、所定の規格のデジタルオーディオ信号の送受信端子であり、ＵＳＢインターフェースチップ１３で受信したオーディオデータを出力したり、Ａ／Ｄ変換器１４から入力した信号をＵＳＢインターフェースチップ１３から出力するのと同様にデジタルＩ／Ｏより入力したオーディオデータをＵＳＢインターフェースチップ１３を通じて出力する。
【実施例１】
【００４５】
以上の構成において、図４を参照して実施例１について説明する。
【００４６】
この実施例１では、ＣＰＵ１０は、Ａ／Ｄ変換器１４によるＡ／Ｄ変換が完了する毎に、ＲＡＭ１２に設けられたオーディオバッファにサンプルデータを順次書き込むと共に、タイマ１５により計時される時刻が所定時刻に到達している場合は、オーディオバッファに記憶されたサンプルデータをＵＳＢインターフェースチップ１３内のバッファに転送し、パケットとして確定され、送信される。
【００４７】
図４は、図３と同様、（１）は、サンプリング周波数のクロックを表し、（２）は、そのクロックに同期してＡ／Ｄ変換されたデジタルデータが順次オーディオバッファに蓄積され、パケット確定信号により確定される様子を示している。
【００４８】
（３）は、ＵＳＢインターフェースチップ１３のバッファの様子を表すもので、パケット１つ分のメモリが用意されている。
【００４９】
（４）は、ＳＯＦパケットの受信によりタイマ１５がリセットされ、タイマ１５がＭｙＴｘＢｌａｎｋという時刻に到達するとパケットを確定する様子と、タイマ１５がＭｙＴｘＢｌａｎｋ時刻に到達したことを示すラッチの状態を表し、（５）は、各フレームに送信されるパケットのレイテンシーを表す。
【００５０】
この図４において、フレーム”ｊ”において、バッファには、フレーム”ｉ”において確定されたパケットＰｉが待機しており、イントークンの受信により、そのパケットＰｉが送信され、バッファには、パケットが待機していない状態となる。
【００５１】
ＳＯＦパケットによりタイマ１５がリセットされ、所定のクロックのカウントを開始し、ＭｙＴｘＢｌａｎｋ時刻を計時すると、パケットの確定が行われる。
【００５２】
このＭｙＴｘＢｌａｎｋ時刻は、イントークンを受信する時刻の後であって、次のＳＯＦパケットを受信する前の、パケットの確定に要する時間を確保することのできる時刻である。
【００５３】
以下、図５のフローチャートを参照して、上記したデジタルデータ伝送装置１のＣＰＵ１０の処理について説明する。このフローチャートは、Ａ／Ｄ変換器１４による変換が完了したという通知が入力された時、起動されるプログラムである。
【００５４】
まず、タイマ１５が計時する時刻がＭｙＴｘＢｌａｎｋの期間に入っているか否かを示すラッチを確認する（Ｓ１）。
【００５５】
そのラッチがＭｙＴｘＢｌａｎｋの期間に入っていることを示す場合は（Ｓ１：Ｙｅｓ）、これまでにＲＡＭ１２のオーディオバッファに書き込まれたデータをＵＳＢインターフェースチップ１３のバッファに転送し（Ｓ２）、次にパケットを確定するよう、ＵＳＢインターフェースチップ１３に指示する（Ｓ３）。
【００５６】
次に、同じＭｙＴｘＢｌａｎｋを検出しないように、ＭｙＴｘＢｌａｎｋ期間を表すラッチをクリアする（Ｓ４）。
【００５７】
Ｓ１の処理においてＮｏの場合とＳ４の処理が終了した場合との次に、Ａ／Ｄ変換器１４により変換されたデジタルオーディオデータをオーディオバッファに書き込む（Ｓ５）。
【００５８】
ＵＳＢインターフェースチップ１３は、Ｓ２の処理により転送されたデータに基づいてパケットを確定する。その後、イントークンを受信した場合には、確定されているパケットを送信する。
【００５９】
図４を参照すると、フレーム”ｊ”期間に積み上げられたデータは、パケットＰｊとして確定され、次にイントークンを受信すると送信される。
【００６０】
同様に、フレーム”ｋ”において積み上げられたデータは、パケットＰｋとして確定され、次のフレーム”ｌ”で送信される。フレーム”ｌ”においても同様に、パケット確定指示によりパケットＰｌが確定され、ＳＯＦパケットを受信した直後にイントークンを受信しても、バッファにはパケットが待機しているので、エラーとならずに送信される。
【００６１】
（５）に示すように、この転送方法では、フレーム”ｊ”でオーディオバッファに記憶されたサンプルデータは、パケットＰｊとして確定され、次のフレーム”ｋ”で送信されるため、レイテンシーが１フレーム＋αであり、従来の方法では少なくとも２フレームを要していたので、改善されていることが分かる。
【実施例２】
【００６２】
上記の実施例１では、ＲＡＭ１２に設けられたオーディオバッファとＵＳＢインターフェースチップ１３内のバッファが１つの場合について述べたが、ＵＳＢインターフェースチップ１３内にバッファを２つ設け、交互にデータを蓄積する実施例２について説明する。
【００６３】
ＵＳＢインターフェースチップ１３内に第１のバッファと第２のバッファを備え、交互にパケットの作成に使用する。すなわち、第１のバッファにデータを記憶し、ＭｙＴｘＢｌａｎｋの時刻により第１のバッファのパケットの確定を指示した直後は、第１のバッファには新たなデータは、書き込みを行えないので、第２のバッファに書き込む。次のＭｙＴｘＢｌａｎｋの時刻までは、第２のバッファにデータを書き込み、次のＭｙＴｘＢｌａｎｋの時刻に至ると第２のバッファのパケットを確定し、第１のバッファにデータの記憶を開始するというように二つのバッファを交互に使用する方法である。
【００６４】
図６は、この第２の実施例のデータ処理の様子を表した図である。この図において、（１）は、第１のバッファにデータが蓄積される様子を、（２）は、第２のバッファにデータが蓄積される様子をそれぞれ表している。
【００６５】
（３）は、ＵＳＢにおいて送受されるパケットであるＳＯＦとＵＳＢインターフェースチップ１３から送信されたパケットおよびＳＯＦにより決定される各フレームが表されている。
【００６６】
（４）は、タイマ１５が、ＳＯＦによりリセットされて、計時を開始し、ＭｙＴｘＢｌａｎｋ期間に到達し、ラッチが設定される様子を表している。
【００６７】
この図から分かるように、フレーム”ｊ”の期間では、第１のバッファにデータが蓄積され、ＭｙＴｘＢｌａｎｋ期間に新たなデータが入力されると第１のバッファに対してパケット確定指示が出され、第１のバッファに記憶されたデータは、パケットＰｊとして確定される。新たなデータは第２のバッファに記憶され、フレーム”ｋ”中にイントークンを受信すると、パケットＰｊは送信される。
【００６８】
同様に、再びＭｙＴｘＢｌａｎｋ期間に新たなデータが入力されると、第２のバッファにパケット確定の指示が出され、第２のバッファに記憶されたデータは、パケットＰｋとして確定される。新たなデータは、第１のバッファに記憶される。
【００６９】
以下同様に、第１のバッファと第２のバッファが交互にデータを蓄積し、パケット確定が行われて送信されることを繰り返す。
【００７０】
以下、図７のフローチャートを参照しながら、上記したデジタルデータ伝送装置１のＣＰＵ１０の処理について説明する。このフローチャートは、Ａ／Ｄ変換器１４による変換が完了したという通知が入力された時、起動されるプログラムである。
【００７１】
まず、タイマ１５が計時する時刻がＭｙＴｘＢｌａｎｋの期間に入っているか否かを示すラッチを確認する（Ｓ１１）。
【００７２】
そのラッチがＭｙＴｘＢｌａｎｋの期間に入っていることを示す場合は（Ｓ１１：Ｙｅｓ）、これまでにＵＳＢインターフェースチップ１３のバッファに書き込まれたデータ分にてパケットを確定するよう、ＵＳＢインターフェースチップ１３に指示する（Ｓ１２）。
【００７３】
つぎに、同じＭｙＴｘＢｌａｎｋを検出しないように、タイマ１５により計時したタイムアップしたことを表すラッチをクリアする（Ｓ１３）。
【００７４】
Ｓ１１の処理においてＮｏの場合とＳ１３の処理が終了した場合との次に、Ａ／Ｄ変換器１４により変換されたデジタルオーディオデータをＵＳＢインターフェースチップ１３に転送する（Ｓ１４）。
【００７５】
なお、特許請求の範囲の請求項１記載の入力手段は、Ａ／Ｄ変換器１４が該当し、検出手段およびパケット確定手段は、ＵＳＢインターフェースチップ１３が該当し、計時手段は、タイマ１５が該当する。
【００７６】
また、請求項４記載の制御手段および請求項５記載の送信手段は、ＵＳＢインターフェースチップ１３が、該当する。
【００７７】
以上、上記実施例に基づき本発明を説明したが、本発明は、上記実施例に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
【００７８】
例えば、上記実施例では、Ａ／Ｄ変換された値をＵＳＢにより転送する場合について説明したが、デジタルＩ／Ｏから入力されるデジタルオーディオデータを順次パケットとして送る場合に適用してもよい。
【００７９】
また、上記実施例では、ＣＰＵ１０がタイマ１５の計時するＭｙＴｘＢｌａｎｋ時刻に至ったか否かを監視し、その時刻になっていると判別した場合には、ＵＳＢインターフェースチップ１３に、パケット確定の指示を出していたが、タイマ１５が直接ＵＳＢインターフェースチップ１３へ信号を送信してもよい。
【００８０】
また、ＵＳＢインターフェースチップ１３にタイマ１５を内蔵し、ＭｙＴｘＢｌａｎｋの時間情報は、ＣＰＵにより設定できるようにしてもよい。
また、上記実施例ではＣＰＵ１０により、Ａ／Ｄ変換されたサンプルデータを取り込み、オーディオバッファまたはＵＳＢインターフェースチップ１３のバッファに書き込むように構成したが、専用の回路によりこれらの制御を行ってもよい。
【図面の簡単な説明】
【００８１】
【図１】本発明のデジタルデータ伝送装置のブロック図である。
【図２】ＵＳＢにおける情報が伝送される様子を表す図である。
【図３】従来のデータ伝送方法を表す図である。
【図４】本発明の実施例１におけるデータ伝送方法を表す図である。
【図５】実施例１におけるＣＰＵが実行する処理を表すフローチャートである。
【図６】実施例２におけるデータ伝送方法を表す図である。
【図７】実施例２におけるＣＰＵが実行する処理を表すフローチャートである。
【符号の説明】
【００８２】
１                  デジタルデータ伝送装置
１０                ＣＰＵ
１３                ＵＳＢインターフェースチップ
１４                Ａ／Ｄ変換器
１５                タイマ
【図１】
2005064665.tif 000003
【図２】
2005064665.tif 000004
【図３】
2005064665.tif 000005
【図４】
2005064665.tif 000006
【図５】
2005064665.tif 000007
【図６】
2005064665.tif 000008
【図７】
2005064665.tif 000009