JP2004127123A - Data transmitter, data transmission method, program, storage medium, data receiver and data reception method - Google Patents

Data transmitter, data transmission method, program, storage medium, data receiver and data reception method Download PDF

Info

Publication number
JP2004127123A
JP2004127123A JP2002292808A JP2002292808A JP2004127123A JP 2004127123 A JP2004127123 A JP 2004127123A JP 2002292808 A JP2002292808 A JP 2002292808A JP 2002292808 A JP2002292808 A JP 2002292808A JP 2004127123 A JP2004127123 A JP 2004127123A
Authority
JP
Japan
Prior art keywords
data
packet
transmitted
procedure
transmission
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002292808A
Other languages
Japanese (ja)
Inventor
Hajime Ichimura
市村 元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002292808A priority Critical patent/JP2004127123A/en
Publication of JP2004127123A publication Critical patent/JP2004127123A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce costs and enhance compatibility of a disk drive. <P>SOLUTION: The disk drive 1 which transmits data read from a disk and held in a buffer RAM to a D/A converter 10 determines data quantity to be stored in a packet based on a control signal CNT to be transmitted from the D/A converter 10. In addition, the control signal CNT is the one for instructing variability of data transfer rate according to D/A conversion processing speed. Then, the disk drive is constituted so that data for the determined data quantity is read from the buffer RAM, the packet is generated and transmitted to the D/A converter 10. In the case of this packet transmitting operation, the data transfer rate from the disk drive 1 becomes the one conforming to speed of D/A conversion processing of the D/A converter 10. Thus, as the disk driver 1, structure for continuously reproducing the data from the disk, for example, by providing a circuit for generating a master clock, etc. becomes unnecessary. <P>COPYRIGHT: (C)2004,JPO

Description

【0001】
【発明の属する技術分野】
本発明は、例えばデジタルデータを送信するデータ送信装置及びその方法、また、このようなデータ送信装置が実行するプログラム、また、このプログラムが記憶される記憶媒体に関する。また、このようなデータ送信装置に対応するデータ受信装置及びその方法に関する。
【0002】
【従来の技術】
近年においては、例えばディスクメディアとして、オーディオデータが記録されたCD−DA(Digital Audio)などに代表される、オーディオ用ディスクが広く普及している。また、例えばDVDなどの普及により、オーディオデータよりも大容量のビデオデータが記録されたディスクメディアも普及してきている。このようなディスクメディアに記録されるオーディオデータやビデオデータは、例えば一般にパーソナルコンピュータなどで扱われる文書や静止画像等のファイルのデータとは異なり、時間的連続性が保たれるようにして連続再生されるべきデータである。
【0003】
上記したようなオーディオデータやビデオデータが記録されたディスクメディアを再生するシステムの例として、CD−DAに記録されたオーディオデータを再生するシステムの構成例を図12に示す。
この図においては、CD−DAを再生可能なディスクドライブ100と、このディスクドライブ100によりCD−DAから再生されたデータをデータ伝送路を介して入力し、例えばD/A変換してアナログオーディオ信号として出力するD/Aコンバータ110が示される。
【0004】
この図に示すディスクドライブ100は、ディスク再生部101とクロック発生器102を備えている。
この場合のディスク再生部101は、例えば光学ピックアップによりCD−DAから読み出した信号について、EFM復調処理、CIRCによるエラー訂正処理などを行って、サンプリング周波数が44.1KHz、サンプリングビットが16ビットのフォーマットのデジタルオーディオデータを再生する。
また、この場合のディスク再生部101における再生処理は、クロック発生器102から供給されるマスタークロックMCLに基づくタイミングによって実行される。このクロック発生器102は、図示するようにして水晶発振器102aにて生成される水晶発振子精度の周波数信号に基づいて、マスタークロックMCLを生成するようにされている。
【0005】
ディスク再生部101により再生されたデジタルオーディオ信号は、デジタルデータ伝送路LNにより、D/Aコンバータ110に対して送信出力される。
この場合、デジタルデータ伝送路LNとしては、例えばIEC60958が採用される。
【0006】
デジタルデータ伝送路LNがIEC60958である場合には、ディスク再生部101では、周知のようにして、再生したデジタルオーディオデータについてバイフェーズ変調を行ってストリームデータとして出力するようにされる。
【0007】
D/Aコンバータ110は、D/A変換処理部111と、PLL回路112を備える。
D/A変換処理部111では、デジタルデータ伝送路LNから入力されたデジタルオーディオデータについて、D/A変換を行ってアナログオーディオ信号として出力する。D/A変換処理部111は、PLL回路により生成されるマスタークロックMCLに基づくタイミングによりD/A変換処理を実行する。
【0008】
PLL回路112は、デジタルデータ伝送路LNから入力されたデジタルオーディオデータのストリームに含まれるクロック成分(時間情報)を抽出する。そして、このクロック成分に基づいて、デジタルデータ伝送路LNから入力されたデジタルオーディオデータに同期したマスタークロックMCLを生成し、D/A変換処理部111に供給する。
【0009】
また、デジタルデータのインターフェイスとして、近年ではIEEE1394が普及してきている。周知のように、このIEEE1394データインターフェイスは、ストリーム伝送ではなくパケット伝送であるが、このようなIEEE1394データインターフェイスによっても、デジタルオーディオデータの時間的連続性が保たれるようにして、データ伝送を行うことが可能である。
【0010】
図13は、デジタルデータ伝送路LNとしてIEEE1394データインターフェイスを採用した場合に対応する、CD再生システムの構成例を示している。この図に示すシステム構成としては、ディスクドライブ100AとD/Aコンバータ110Aを備える。なお、この図において、図12と同一部分には同一符号を付して説明を省略する。
ディスクドライブ100Aにおいては、VCO(Voltage Controlled Oscillator)103が備えられている。このVCO103は、周知のようにして、ディスク再生部101においてCD−DAから読み出されたEFM信号を入力してクロックを生成するPLL回路を形成するものである。
つまり、ディスクドライブ100Aでは、ディスク再生部101にてCD−DAから再生されるEFM信号を入力してクロックを生成するPLL回路が備えられる。そして周知のように、ディスク再生部101におけるディスク回転サーボ制御動作は、VCO103から出力される周波数信号に基づいて行われる。また、CD−DAから読み出した信号の復調処理は、VCO103から出力される発振信号から生成されるマスタークロックMCLに基づいたタイミングにより実行されることになる。
【0011】
この場合、ディスク再生部101により再生されたデジタルオーディオデータは、IEEE1394データインターフェイスに対応するインターフェイス部104に入力される。インターフェイス部104では、入力されたデータについて、アイソクロナス・パケットのフォーマットによりパケット化を行う。そして、このアイソクロナス・パケットを、所定タイミングにより、デジタルデータ伝送路LNを介してD/Aコンバータ110Aに順次送出する。
【0012】
この場合のD/Aコンバータ110Aにおいては、マスタークロックMCLを生成する回路部位としてクロック発生器114を備える。クロック発生器114は、水晶発振器114aの発振周波数を利用して、水晶発振子精度のマスタークロックMCLを生成し、D/A変換処理部111に供給する。
【0013】
D/A変換処理部111は、上記した水晶発振子精度のマスタークロックMCLに基づくタイミングで信号処理を実行する。この場合、D/A変換処理部111は、デジタルデータ伝送路LNを介してのデータ伝送がパケット伝送であることに対応して、作業領域としてバッファRAM113を備える。
D/A変換処理部111では、デジタルデータ伝送路LNから伝送されてきたアイソクロナス・パケットを受信入力し、アイソクロナス・パケットからデジタルオーディオデータを抽出し、バッファRAM113に書き込んで保持させる。なお、この場合のバッファRAM113に対する書き込み/読み出しは、いわゆるリングバッファとしての動作が得られるようにして行う。
そして、D/A変換処理部111は、バッファRAM113に書き込んで蓄積させたデータについて、クロック発生器114から供給されるマスタークロックMCLのタイミングに従って連続的に読み出しを行い、D/A変換処理を実行してアナログオーディオ信号として出力する。
【0014】
また、D/A変換処理部111では、上記のようにして、バッファRAM113に対するデータの書き込み/読み出しを実行している際において、バッファRAM113の残量を検出するようにもしている。そして、検出した残量に基づいて、バッファRAM113がオーバーフロー、アンダーフローしないように、ディスクドライブ100A側から送信されるデータ転送速度を制御するためのコントロール信号CNTを生成して、ディスクドライブ100A側に送信出力する。なお、バッファRAM113の残量は、D/A変換処理部111におけるデータ処理速度(タイミング)に対応する。つまり、残量が増加してオーバーフローに近づいている状態は、D/A変換処理部111におけるデータ処理速度が遅れている状態に対応する。また、残量が減少してアンダーフローに近づいている状態は、D/A変換処理部111におけるデータ処理速度が進行している状態に対応する。
【0015】
ディスクドライブ100Aでは、受信したコントロール信号CNTに応じて、VCO103の発振周波数に基づいて生成されるマスタークロックMCLについて、例えば±1%の範囲で可変するように動作する。
このようにして、ディスクドライブ100AのマスタークロックMCLが可変されることで、ディスク再生部101においては、ディスク回転速度が可変され、また、ディスクから読み出される信号に対する信号処理速度も、ディスク回転速度に対応して可変されることになる。これにより、ディスク再生部101により再生されるデジタルオーディオデータのデータレートが可変される。
【0016】
インターフェイス部104では、入力されたデジタルオーディオデータについてパケット化を施して、アイソクロナス・パケットとして送信出力するが、上記のようにして可変されたデータレートによるデジタルオーディオデータが入力されるのに応じては、例えば一定周期ごとに送出すべきアイソクロナス・パケットに格納すべきデジタルオーディオデータのデータサイズが可変されることになる。
これにより、ディスクドライブ100AからD/Aコンバータ110Aに伝送されるデータについての、単位時間あたりのデータ転送速度が可変されることとなる。そして、これにより、D/Aコンバータ110AにおけるバッファRAM113におけるオーバーフロー、及びアンダーフローが生じないようにされる。この結果、D/A変換処理部111では、バッファRAM113から、連続的にデータを読み出してD/A変換する処理を継続すること可能となり、D/A変換処理部111からは、時間的連続性が保たれるようにしてアナログオーディオ信号が出力されることになる。
【0017】
ここで、上記図12及び図13に示したシステム構成について、ディスクドライブ側とD/Aコンバータとを同期させるための構成について比較してみると、次のようなことがいえる。
先ず、図12に示すシステムでは、ディスクドライブ100側において、水晶発振子精度で固定のマスタークロックMCLにより、CD−DAから連続的にデータを読み出してD/Aコンバータ110に伝送しており、D/Aコンバータ110では、伝送されてきたデジタルオーディオデータに同期するマスタークロックMCLを生成して信号処理を実行する構成とされている。
【0018】
これに対して、図13に示すシステムの場合、ディスクドライブ100Aでは、PLL回路(VCO103)によって生成したマスタークロックMCLにより、ディスク回転速度に同期するようにして、CD−DAから連続的にデジタルオーディオデータを再生してD/Aコンバータ110Aに伝送するようにしている。
そして、D/Aコンバータ110A側では、水晶発振子精度で固定のマスタークロックMCLによりD/A変換処理等の信号処理を実行している。そのうえでD/Aコンバータ110Aでは、バッファRAM113の残量に応じて、ディスクドライブ100A側におけるマスタークロックMCL(VCO103の発振周波数)を可変させ、ディスク再生速度(つまり、D/Aコンバータ110Aに対するデータ転送速度)をコントロールしている。つまり、D/Aコンバータ110A側の処理タイミングにディスク再生速度を同期させているものである。
【0019】
つまり、図12に示したシステム構成では、ディスクドライブ100側がクロックマスターとなり、D/Aコンバータ100側がディスクドライブ100から伝送されるデータ転送速度に同期して信号処理を実行するように構成されている。
これに対して、図13に示したシステムでは、D/Aコンバータ110A側がクロックマスターとされており、ディスクドライブ100A側では、D/Aコンバータ110Aの処理タイミングに同期させるようにして、データ転送速度を可変するようにされている。
【0020】
【発明が解決しようとする課題】
上記のようにして、図12及び図13に示したシステムでは、クロックマスターとなる装置が互いに異なるという相違点は有するのであるが、ディスクドライブ100、100Aの何れにおいても、ディスク再生部101は、マスタークロックMCLに基づいた処理タイミングで、CD−DAから連続的にデジタルオーディオ信号を読み出して再生出力しているという点で共通している。
このようなディスク再生部101の構成は、例えばデジタルオーディオ信号を連続再生する必要上、従来からのCDプレーヤなどに採用されている構成である。
【0021】
これに対して、近年においては、例えばCD−ROMドライブなどに代表されるように、パーソナルコンピュータにディスクドライブを搭載することが広く普及している。
しかしながら、上記したようなパーソナルコンピュータに搭載されるディスクドライブは、本来は、CD−ROMなどに記録された、ファイルとしてのデータを読み出すことを目的として構成されており、CD−DAなどのような、連続再生することが要求されるデータを読み出すことは想定していない。
このため、パーソナルコンピュータに搭載されるディスクドライブの基本構成としては、装填されたディスクから、所定のデータ単位によりデータの読み出しを行って、例えばパケット伝送により、RAM、キャッシュメモリなどに転送する動作となるようにされている。換言すれば、図12又は図13に示したディスクドライブ100,100Aのようにして、マスタークロックに同期させてディスクから連続的にデータ再生をする必要はないから、クロック発生器102、及びVCO103(PLL回路)などのマスタークロックMCLを生成する回路部位は本来有してはいない。
【0022】
現状のパーソナルコンピュータとしては、上記したようなCD−ROMドライブなどのディスクドライブによっても、CD−DAからデジタルオーディオデータを連続再生することが可能とされている。
しかしながら、これが可能とされているのは、CD−DAなどの連続再生に対応するために、上記したようなクロック発生器やPLL回路を追加的に備えて、ディスクから読み出した信号を連続的に再生可能なように構成しているためである。
【0023】
つまり、現状においては、CD−ROMドライブなどの、本来はパケット伝送に対応した、マスタークロック不要のデータ読み出し動作を実行するディスクドライブにより、デジタルオーディオデータを連続再生させるのにあたっては、上記のようにして、マスタークロック生成のための回路を付加的に設けていることになる。
【0024】
これによっては、先ず、マスタークロック生成のための回路を付加することにより、ディスクドライブとしての装置が高コスト化してしまうという問題を有している。
【0025】
また、近年においては、CD−DAだけではなく、各種フォーマットによるDVDをはじめとしてディスクメディアの種類が増加している傾向にある。このような各種のディスクには、連続再生すべきデータとして、各種フォーマットのデジタルオーディオデータや、デジタルビデオデータを記録することが可能である。
ただし、上記した各種のディスク間では、データを連続再生する際のマスタークロックの周波数が、データフォーマット、ディスクフォーマットなどに応じて異なってくることとなる。
このため、ディスクドライブにより、各種のディスクメディアに対応して、データを連続再生可能な構成を採ることとした場合には、対応すべきディスクメディアやデータフォーマットごとの規格に従って、それぞれ異なる周波数のマスタークロックが生成可能なように構成しなければならないこととなる。具体的には、ディスクメディアやデータフォーマットごとに対応したマスタークロックが生成されるように、例えば複数のクロック発生器やPLL回路を備えたり、複数系統のクロックを分周する回路を備えることになる。
【0026】
このように、データの連続再生が可能なディスクドライブとして、多様なディスクメディアに対応させようとしても、上記のようにして、多様な周波数のマスタークロックに対応した構成を採る必要がある。
このような構成を採ることは実際に困難であり、また、実現したとしても、やはりコストアップになってしまう。また、新たに策定されたフォーマットによるディスクやデジタルオーディ/ビデオデータに後から対応することも、ハードウェアの追加変更を伴うから現実的には非常に困難である。つまり、これまでの連続再生可能なディスクドライブは、互換性に乏しく、また、新規フォーマットへの対応などの拡張性、汎用性も乏しいものとなっている。
【0027】
【課題を解決するための手段】
そこで本発明は上記した課題を考慮してデータ送信装置として次のように構成する。
つまり、データ受信装置にてデジタルデータの連続再生を可能とするためにデータ受信装置から送信され、このデータ送信装置が送信すべきデータのデータ転送速度を制御するための制御信号を受信する受信手段と、記録媒体から所定のデータ単位によりデジタルデータを読み出す読み出し手段と、この読み出し手段により読み出されたデジタルデータを一時的に記憶保持する記憶手段と、受信手段により受信した制御信号に応じて、パケットに格納すべきデータ量を決定する決定手段と、この決定手段により決定されたデータ量のデジタルデータを上記記憶手段から読み出し、この読み出したデータをパケットに格納するようにしてパケットを生成するパケット生成手段と、このパケット生成手段により生成されたパケットを上記データ受信装置に対して送信する送信手段とを備えてデータ送信装置を構成することとした。
【0028】
また、データ送信方法として次のように構成することとした。
つまり、データ受信装置にてデジタルデータの連続再生を可能とするために上記データ受信装置から送信され、データ送信装置から送信すべきデータのデータ転送速度を制御するための制御信号を受信する受信手順と、記録媒体から所定のデータ単位によりデジタルデータを読み出させるための読み出し制御手順と、この読み出し制御手順により読み出されたデジタルデータを一時的に記憶領域に保持させる記憶制御手順と、受信手順により受信した制御信号に応じて、パケットに格納すべきデータ量を決定する決定手順と、この決定手順により決定されたデータ量のデジタルデータを上記記憶領域から読み出し、この読み出したデータをパケットに格納するようにしてパケットを生成するパケット生成手順と、このパケット生成手順により生成されたパケットを上記データ受信装置に対して送信する送信手順とを実行するように構成した。
【0029】
また、プログラムとしては、データ受信装置にてデジタルデータの連続再生を可能とするために上記データ受信装置から送信され、データ送信装置から送信すべきデータのデータ転送速度を制御するための制御信号を受信する受信手順と、記録媒体から所定のデータ単位によりデジタルデータを読み出させるための読み出し制御手順と、この読み出し制御手順により読み出されたデジタルデータを一時的に記憶領域に保持させる記憶制御手順と、受信手順により受信した制御信号に応じて、パケットに格納すべきデータ量を決定する決定手順と、この決定手順により決定されたデータ量のデジタルデータを上記記憶領域から読み出し、この読み出したデータをパケットに格納するようにしてパケットを生成するパケット生成手順と、このパケット生成手順により生成されたパケットを上記データ受信装置に対して送信する送信手順とをデータ送信装置に実行させるように構成することとした。
【0030】
また、本発明の記憶媒体として、上記発明によるプログラムを記憶させることとした。
【0031】
上記各構成によると、本発明によるデータ送信装置は、記録媒体に記録された連続再生されるべきデータを読み出して一時的に記憶手段に保持し、この記憶手段(記憶領域)からデータを読み出してパケット伝送により送信する構成を採る。そのうえで、データ送信装置は、データ受信装置側から送信されてくる制御信号を受信し、この制御信号に応じて、パケットに格納すべきデータ量を直接的に可変する。これにより、データ受信装置側におけるデータ連続再生のための処理の速度タイミングに適合した、データ転送速度とするようにしている。
このような構成であれば、データ送信装置における記録媒体からのデータの読み出しのデータレートについて、データ受信装置側におけるデータ連続再生のための処理の速度タイミングに適合させる必要はないこととなる。つまり、記録媒体から所定のデータ単位により読み出しを行って、記憶手段に転送する機能さえ有していればよい。
【0032】
また、データ受信装置としては次のように構成する。
つまり、データ送信装置から送信されるパケットを受信する受信手段と、この受信手段により受信したパケットに格納されたデータを順次入力して、マスタークロックに基づくタイミングで、入力されたデータについて連続再生が行われるように復調処理を実行する復調手段と、上記マスタークロックに基づくタイミングで、入力信号が連続的なデータとなるように変調処理を実行する信号処理手段と、この信号処理手段により得られたデータを所要のデータ量分格納して生成したパケットを、データ送信装置が送信すべきデータのデータ転送速度を制御するための制御信号として、データ送信装置に対して、所定タイミングで順次送信する送信手段とを備えることとした。
【0033】
また、データ受信方法としては次のように構成する。
データ送信装置から送信されるパケットを受信する受信手順と、この受信手順により受信したパケットに格納されたデータを順次入力して、マスタークロックに基づくタイミングで、入力されたデータについて連続再生が行われるように復調処理を実行する復調手順と、上記マスタークロックに基づくタイミングで、入力信号が連続的なデータとなるように変調処理を実行する信号処理手順と、この信号処理手順により得られたデータを所要のデータ量分格納して生成したパケットを、データ送信装置が送信すべきデータのデータ転送速度を制御するための制御信号として、データ送信装置に対して、所定タイミングで順次送信する送信手順とを実行するように構成することとした。
【0034】
上記構成によると、データ受信装置では、パケットとして受信したデータをマスタークロックに基づくタイミングで連続再生(復調処理)する。そして、データ送信装置が送信すべきデータのデータ転送速度を制御するための制御信号としては、上記連続再生と同じマスタークロックに基づいて変調処理を行って得た連続的データを格納したパケットのシーケンスとなる。
この場合、連続再生のための復調処理と、上記変調処理は、同一のマスタークロックに基づいて実行されるから、互いに同期が取れている状態にある。そして、データ送信装置側において、例えばこの制御信号としてのデータ転送速度に応じて、自身のデータ転送速度を可変するようにすれば、結果として、データ受信装置側の復調処理の速度タイミングに対応したデータ転送速度とすることができるものである。
【0035】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。以降の説明は次の順序で行う。
1.第1の実施の形態
1−1.システム構成
1−2.アイソクロナス・パケット
1−3.ディスクドライブのパケット送出動作
1−3−1.パケット送出動作(ブロッキング伝送)
1−3−2.パケット送出動作(ノンブロッキング伝送)
1−3−3.パケット送出のための機能処理
1−3−4.データサイズ決定処理(ブロッキング伝送)
1−3−5.データサイズ決定処理(ノンブロッキング伝送)
2.第2の実施の形態
【0036】
1.第1の実施の形態
1−1.システム構成
図1は、本発明の第1の実施の形態としてのデータ再生システムの構成例を示している。この図に示すデータ再生システムは、SACD(Super Audio CD)を再生可能な構成が採られている。
SACDは、ΣΔ変調を用いた1ビットデジタルオーディオ信号方式(DSD:Direct Stream Digital)を用いたメディアである。このDSD信号は、CD−DAに記録されるデジタルオーディオ信号のサンプリング周波数fs(fs=44.1KHz)の64倍という高いサンプリング周波数である2.8224MHzを有し、ΔΣ変調された1ビット量子化のデジタルオーディオ信号である。周波数帯域はDC成分〜100KHzの広範囲であり、可聴周波数帯域を越えた信号再生を可能としている。また、ダイナミックレンジはオーディオ帯域全体で120(dB)を実現できるデータ形式である。
【0037】
図1に示すデータ再生システムは、ディスクドライブ1及びD/Aコンバータ10から成る。
ディスクドライブ1は、ディスク再生部2、システムコントローラ3、バッファRAM4、及びインターフェイス部5から成る。
ディスク再生部2は、SACDに対応して信号の読み出しが可能な構成が採られている。ただし、このディスク再生部2は、SACDに記録されるデジタルオーディオ信号(DSD信号)を連続的に再生する機能は有していない。つまり、DSD信号の連続再生に必要なマスタークロックを生成するためのクロック発生器又はPLL回路は備えていない。
【0038】
ディスク再生部2では、SACDに記録されている信号について、一定のデータ単位による読み出しを行い、このようにして読み出した信号について、SACDフォーマットに対応する、EFM−Plus復調(eight to fourteen demodulation Plus)を行うとともに積符号(product code)に基づくエラー訂正処理などのデコード処理を実行する。そして、この場合には、デコード処理後の再生データをシステムコントローラ3に伝送するようにされる。
なお、この場合におけるディスク再生部2による上記データ読み出し及びデコード処理は、少なくとも、1倍速よりも高速な倍速度によって実行される。また、ディスク再生部2によるディスクからのデータ読み出しは、間欠的に実行することも可能とされている。
【0039】
システムコントローラ3では、ディスク再生部2から伝送された再生データをバッファRAM4に書き込んで一時的にさせる。つまり、ディスク再生部2から伝送された再生データは、バッファRAM4において一時的に蓄積される。なお、この場合のシステムコントローラ3は、バッファRAM4においていわゆるリングバッファとしての動作が得られるようにして、バッファRAM4に対する書き込み/読み出し制御を実行するようにされている。
【0040】
また、システムコントローラ3は、上記のようにしてバッファRAM4に蓄積させた再生データについて所要のタイミングで読み出しを行って、インターフェイス部5に転送し、再生データ送信を指示する。インターフェイス部5では、デジタルデータ伝送路LNを介して、D/Aコンバータ10に対して再生データを送信する。
【0041】
ここで、本実施の形態としては、上記デジタルデータ伝送路LNによる再生データの伝送を、IEEE1394データインターフェイスによるアイソクロナス(Isochronous)通信により行うものとされる。周知のようにして、IEEE1394によるアイソクロナス通信は、所要のデータサイズを周期的に送受信することを保証する通信方式である。デジタルオーディオ信号やデジタルビデオ信号などの連続再生すべきデータを伝送する場合には、アイソクロナス・パケットにデータを格納してパケット化し、このアイソクロナス・パケット単位によりデータ伝送を行うのが一般的である。これに対して、アイソクロナス通信の周期と関係なく非同期で通信する方式は、アシンクロナス(Asynchronous)通信といわれる。
【0042】
このようなIEEE1394データインターフェイスの下でのアイソクロナス通信による再生データの伝送は、概略次のようになる。
前述もしたように、バッファRAM4には、SACDから再生された再生データが蓄積されている。システムコントローラ3は、所定タイミングで、バッファRAM4に蓄積されているデータから、パケット化に必要とされる所要量の再生データについての読み出しを実行する。そして、このようにして読み出した再生データをインターフェイス部5に伝送して、送信を指示する。
インターフェイス5では、上記のようにして送信指示と共に入力される再生データをアイソクロナス・パケットに格納するようにしてパケット化し、このアイソクロナス・パケットを、デジタルデータ伝送路LNに対して順次出力するようにされる。
【0043】
ここで、アイソクロナス通信においては、8KHzのサイクル周期ごとにパケット伝送できることとしている。従って、上記したインターフェイス部5におけるパケットの生成処理、及びパケット送出処理は、8KHzのサイクル周期に応じたタイミングで実行されることになる。また、パケット伝送すべき再生データをバッファRAM4から読み出して、インターフェイス部5に伝送するためのシステムコントローラ3の読み出し処理も、おなじく、8KHzのサイクル周期に応じたタイミングで実行されるものとなる。
【0044】
D/Aコンバータ10は、D/A変換処理部11、クロック発生器12、及びバッファRAM13を備える。
クロック発生器12は、水晶発振器12aにより発生される発振周波数に基づいてマスタークロックMCLを生成し、D/A変換処理部11に対して供給する。この場合のマスタークロックMCLの周波数は、例えばDSD信号についてD/A変換処理を実行することに対応して設定されている。具体的には、DSD信号は、サンプリング周波数2.8224MHzによる1ビット量子化のデータであるから、1(bit)×2.8224MHz=2.8224MHzに対応したクロック周波数となる。
【0045】
D/A変換処理部11では、デジタルデータ伝送路LNにより伝送されたアイソクロナス・パケットを受信してアンパケット化を実行する。つまり、受信したアイソクロナス・パケットに格納されている再生データを抽出する。そして、この抽出した再生データをバッファRAM4に転送して書き込み、ここに一時蓄積させる。
このバッファRAM13も、D/A変換処理部11による書き込み/読み出し処理によってリングバッファとしての動作が得られるようになっている。
【0046】
そして、D/A変換処理部11では、バッファRAM13に蓄積された再生データ(DSD信号)について、上記クロック発生器12から出力されるマスタークロックMCLに基づくタイミングで、連続的に読み出しを行う。そして、このようにして読み出したデータについてD/A変換を行ってアナログオーディオ信号として出力するようにされる。
【0047】
また、D/A変換処理部11は、バッファRAM13におけるデータ残量を監視するようにしている。データ残量は、例えばバッファRAM13に対する書込アドレスと読出アドレスの値の差を算出することにより得ることができる。
そして、D/A変換処理部11では、バッファRAM13のデータ残量に基づいて、ディスクドライブ10側からの単位時間あたりのデータ転送速度を制御するためのコントロール信号CNTを生成する。
つまり、例えばバッファRAM13のデータ残量が一定量よりも増加した場合には、その増加量に対応してデータ転送速度を低くすることを指示し、一定量よりも減少した場合には、その低下量に応じてデータ転送速度を高くすることを指示するコントロール信号CNTを生成して、ディスクドライブ1側に送信出力する。
ここで、バッファRAM13のデータ残量は、D/A変換処理部11におけるデータ処理の速度タイミングのジッターに対応する。つまり、データ残量が一定量よりも増加してオーバーフローに近づいている状態は、D/A変換処理部11におけるデータ処理速度が遅れている状態に対応する。これに対して、データ残量が一定量よりも減少してアンダーフローに近づいている状態は、D/A変換処理部11におけるデータ処理速度が進行している状態に対応する。
【0048】
そして、ディスクドライブ1が、受信したコントロール信号CNTに応じて、デジタルデータ伝送路LNに送出するデータ転送速度を可変するように動作することで、D/A変換処理部11のバッファRAM13のデータ残量は、常にほぼ適切となるようにして制御されることになる。つまり、バッファRAM13においてオーバーフロー若しくはアンダーフローが生じないようにコントロールされる。
【0049】
なお、コントロール信号CNTとしては、例えばIEEE1394データインターフェイスのもとで定義を行い、IEEE1394のデータバスを介してコマンドとしてアシンクロナス通信により送信するようにすればよい。この場合、コントロール信号CNTのための伝送路と、再生データのためのデジタルデータ伝送路LNは、実際には共通のIEEE1394のバスとされることになる。
【0050】
この場合、ディスクドライブ1では、コントロール信号CNTをインターフェイス部5により受信して、システムコントローラ3により取得するようにされている。
システムコントローラ3では、受信取得したコントロール信号CNTに基づいて、デジタルデータ伝送路LNから送出するデータ転送速度を可変するように制御処理を実行する。つまり、本実施の形態としては、D/Aコンバータ10がクロックマスターであり、ディスクドライブ1を、D/Aコンバータ10の動作タイミングに追随して同期させる構成を採っていることになる。
そして、本実施の形態では、同期のためにデータ転送速度を可変するのにあたって、概念的には、8KHzの周期ごとにアイソクロナス・パケットに格納して送出する再生データのサイズ(データ量)をダイナミックに可変するように制御処理を実行する。
【0051】
なお、確認のために述べておくと、従来として図13に示したシステムにおいても、D/Aコンバータ110Aがクロックマスターであり、ディスクドライブ100AがD/Aコンバータ110Aに追随して同期する関係にある。また、図13のシステムについても、結果的に、デジタルデータ伝送路LNから送出されるアイソクロナス・パケット内の再生データのサイズは変化する。
【0052】
しかしながら、図13のディスクドライブ100Aにおいて、コントロール信号CNTに応じて直接的に制御するのは、マスタークロックMCLの周波数(つまり、VCO13の発振周波数)であり、これにより、ディスク回転速度及びデコード処理速度が変化する結果、周期的に送出されるアイソクロナス・パケット内の再生データのサイズが変化するものである。
【0053】
これに対して、本実施の形態において、ディスクドライブ1がコントロール信号CNTに応じて直接的に可変するのは、バッファRAM4から読み出してアイソクロナス・パケットに格納すべきデータサイズである。
これにより、本実施の形態としては、D/Aコンバータ10をマスタークロックとした構成において、データ連続再生に対応したクロック生成のための構成(例えばPLL回路)をディスクドライブ1に備えなくとも、ディスクドライブ1がD/Aコンバータ10の処理タイミングに同期して、データ転送速度を可変できるようにしているものである。
【0054】
1−2.アイソクロナス・パケット
ここで、上記したディスクドライブ1におけるアイソクロナス・パケット内のデータサイズの可変を伴うパケット送出動作を説明するのに先立って、本実施の形態に関連するIEEE1394の伝送フォーマットについて説明しておく。
先ず、アイソクロナス・パケットの構造について、図11を参照して説明する。
アイソクロナス・パケットは、CIP(Common Isochronos Packet)ともいわれる。
CIPの先頭32ビット(1quadlet)は、1394パケットヘッダとされている。
1394パケットヘッダにおいて上位から順に16ビットの領域は、data_Length、続く2ビットの領域はtag、続く6ビットの領域はchannel、続く4ビットはtcode、続く4ビットは、syとされている。
そして、1394パケットヘッダに続く1quadletの領域はheader_CRCが格納される。
【0055】
header_CRCに続く2quadletの領域がCIPヘッダとなる。CIPヘッダの上位quadletの上位2ビットには、それぞれ‘0’‘0’が格納され、続く6ビットの領域はSID(送信ノード番号)を示す。SIDに続く8ビットの領域はDBS(データブロックサイズ)であり、データブロックのサイズ(パケット化の単位データ量)が示される。続いては、FN(2ビット)、QPC(3ビット)の領域が設定されており、FNにはパケット化する際に分割した数が示され、QPCには分割するために追加したquadlet数が示される。
SPH(1ビット)にはソースパケットのヘッダのフラグが示され、DBCにはパケット内のデータブロック数を示すカウンタの値が格納される。DBCの値によってブロック単位のデータの欠落が検出できる。
【0056】
CIPヘッダの下位quadletの上位2ビットにはそれぞれ‘0’‘0’が格納される。そして、これに続いてFMT(6ビット)、FDF(24ビット)の領域が設けられる。FMTには信号フォーマット(伝送フォーマット)が示され、ここに示される値によって、当該CIPに格納されるデータ種類(データフォーマット)が識別可能となる。具体的には、MPEGストリームデータ、Audioストリームデータ、デジタルビデオカメラ(DV)ストリームデータ等の識別が可能になる。
FDFは、フォーマット依存フィールドであり、上記FMTにより分類されたデータフォーマットについて更に細分化した分類を示す領域とされる。オーディオに関するデータで有れば、例えばリニアオーディオデータであるのか、MIDIデータであるのかといった識別が可能になる。
【0057】
ここで、例えばFMTによりMPEGであることが示されている場合、FDFにはTSF(タイムシフトフラグ)といわれる同期制御情報が格納される。また、FMTによりDVCR(デジタルビデオカメラ)であることが示されている場合、FDFは、図11の右下に示すように定義される。ここでは、上位から順に、50/60(1ビット)により1秒間のフィールド数を規定し、STYPE(5ビット)によりビデオのフォーマットがSDとHDの何れとされてるのかが示され、SYTによりフレーム同期用のタイムスタンプが示される。
【0058】
また、本実施の形態に対応するSACDからの再生データ(DSD信号)であることがFMTにより示される場合にも、FDFのフィールドには、SYTが格納されることとなっており、これにより、フレーム同期が得られるようになっている。
【0059】
上記CIPヘッダに続けては、データブロックの領域が配置される。このデータブロックの領域には、FMT,FDFによって示されるデータが、n個のデータブロック(quadlet)のシーケンスによって格納される、本実施の形態において、バッファRAM4により読み出されたDSD信号としての再生データは、このデータブロックのシーケンスとして格納されることになる。
そして、データブロックに続けては、最後にdata_CRCが配置される。
【0060】
1−3.ディスクドライブのパケット送出動作
1−3−1.パケット送出動作(ブロッキング伝送)
続いては、ディスクドライブ1により、SACDからの再生データ(DSD信号)をアイソクロナス・パケットを送出する動作について説明する。
先ず、本実施の形態では、IEEE1394データインターフェイスの規格の下でSACDのデータ(DSD信号)を伝送するのにあたり、1アイソクロナス・パケットに格納すべき基本的なデータサイズを次のようにして求めることとした。なお、SACDのデータ(DSD信号)は、IEEE1394データインターフェイスの規格として、TA Document 2001003において、伝送可能なデータタイプの1つとして定義されている。
【0061】
DSD信号は、サンプリング周波数2.8224MHzのオーディオ信号であるから、このオーディオ信号のデータレートは、
1bit x 2.82224MHz = 2.8224M bit per sec
となる。
そして、前述もしたように、アイソクロナス通信における転送サイクルは8KHzであるから、1アイソクロナス・パケットにより転送すべきデータサイズとしては、
2.8224M bit / 8k = 352.8 bit per cycle
として表すことができる。
【0062】
図11にも示したように、アイソクロナス・パケットにおけるデータブロックの単位は、1quadlet=32bitとなる。そして、DSD信号については、1quadlet=32bitのうち、24bitを使用する。
転送サイクルごとに送出できるデータ量はこのquadlet単位であることとされている。従って、1アイソクロナス・パケットにより転送すべきデータサイズをquadlet単位としてあつかった場合には、
352.8 bit / 24 bit = 14.7 quadlet per cycle
として表される。つまり、理想的には、8KHz周期ごとに送出されるアイソクロナス・パケットに対して、 14.7 quadlet分のデータブロックサイズのDSD信号のデータを格納すればよいということが導き出される。
【0063】
上記したことを踏まえて、本実施の形態のディスクドライブ1では、以降説明するようにして、再生データであるDSD信号をアイソクロナス・パケットに格納して送出する。
ところで、IEEE1394データインターフェイスの規格では、アイソクロナス・パケットによるデータ伝送は、周知のようにしてブロッキング伝送とノンブロッキング伝送の2つの方式が規定されている。
ブロッキング伝送は、アイソクロナス・パケットごとに格納するデータサイズを固定とはするが、データを伝送しない転送サイクル期間が設けられることが許可される伝送方式である。これに対して、ノンブロッキング伝送は、アイソクロナス・パケットごとに格納するデータサイズを可変することが許可されるが、各転送サイクルごとに必ずデータを格納して伝送することが規定される伝送方式である。
【0064】
先ず、DSD信号をブロッキング伝送により送出する場合について、図2を参照して説明する。
図2(a)は、SYTタイミングパルスを示している。このSYTタイミングパルスは、図11に示したアイソクロナス・パケットの構造において、CIPヘッダ内のFDFフィールドにおけるSYTに格納されるタイムスタンプに同期したパルスであり、例えば7.35KHzの周波数を有する。ここでは、SYTタイミングパルスの1周期に対応する期間を、SYT期間ということにする。
【0065】
図2(b)には、DSD信号のイベントシーケンスが示される。このイベントシーケンスは、各イベントのタイミングが、1quadlet分のデータに対応していることからも分かるように、SACDから再生されてバッファRAM4に蓄積される再生データ(DSD信号)をデータブロック(quadlet=24bit)単位で配列させたデータ列に対応する。そしてこの図では、SYTのタイムスタンプにより更新されるイベント(データブロック)をその時間経過に従って、R2,R3,R4として示している。ここでは、これらR2,R3,R4・・・は、SYTのタイムスタンプの値も示すこととする。このSYTに対応するイベントの再生データ部分は、SYTに同期したフレームの先頭データとなる。
また、これら図2(a)、(b)を参照して分かるように、SYT期間には、それぞれ16のイベントが対応している。つまり、伝送データがDSD信号である場合には、SYTタイミングパルスの1周期ごとに対応して16quadlet分が伝送されるべきこととなっているものである。
【0066】
そして、上記図2(b)においてイベントシーケンスとして模式的に示されるバッファRAM4内のDSD信号は、システムコントローラ3によって読み出されてインターフェイス部5により、アイソクロナス・パケットに格納されてパケット化されることになる。
図2(c)には、転送サイクルごとにアイソクロナス・パケットに格納される再生データ(DSD信号)が、データブロック(quadlet)単位により示されている。先にも説明したように、アイソクロナス・パケットの転送サイクル(nominal isochronous cycle)は8KHzであり、上記したSYTタイミングパルスの周波数である7.35KHzよりも0.65KHz高い。
【0067】
DSD信号をパケット伝送するとした場合、前述のように、理想的には、サイクル周期ごとに14.7 quadletのサイズのデータを送出すべきとなる。但し、実際にアイソクロナス・パケットに格納して送出するデータサイズは、整数倍のquadlet数であることとして規定されている。この点については、後述するノンブロッキング伝送でも同様である。
【0068】
そこで本実施の形態では、ブロッキング伝送において、DSD信号をアイソクロナス・パケットに格納するのにあたって、その格納すべきデータサイズは、16quadletで一定とする。
これは、上記図2(a)(b)により説明したように、SYTタイミングパルスの1周期のタイミングに対して、DSD信号のデータレートとしては、16quadlet分の再生データが伝送される関係となっていることに基づく。そして、このように16quadletによる伝送とすれば、転送サイクルごとに送出される再生データは、フレーム単位とすることができる。これは、図2(c)に示される、16quadletの再生データの先頭のquadletが、SYTのタイムスタンプの更新タイミングに対応していることからも分かる。
【0069】
図2(c)において、先ず、期間t2〜t3に対応する最初の転送サイクル(nominal isochronous cycle)においては、図2(b)に示す時点t1直前の1SYT期間における、SYT=R1から始まるとされる16quadlet分のDSD信号が、アイソクロナス・パケットに格納され、送出されている。
この期間t2〜t3の転送サイクルにより送出されるアイソクロナス・パケットのCIPパケットヘッダ内に格納されるDBCは、図2(d)に示される。この場合には初期値である0が示されている。ここでのDBCは、1アイソクロナス・パケットにより伝送されるデータのquadlet数を積算した値とされる。
また、このアイソクロナス・パケットのSYTに格納される値は、図2(e)に示すように、R1となっている。
【0070】
また、続く期間t3〜t5としての転送サイクルにおいては、図2(b)において、期間t1〜t4のSYT期間に対応する16quadlet分のDSD信号が、アイソクロナス・パケットに格納されて送出される。
この期間t3〜t5としての転送サイクルにより送出されるアイソクロナス・パケットのDBCは、直前の転送サイクルにおいて16quadletのDSD信号が送出されたことに応じて、カウントアップされていることで、図2(d)に示すように、値16を格納することになる。また、図2(e)に示すように、アイソクロナス・パケットのSYTはR2を示す。
【0071】
そして、上記期間t3〜t5に続く、期間t5〜t7の転送サイクルにおいては、エンプティパケットか、NO−DATAのアイソクロナス・パケットを送出している。つまり、この期間t5〜t7に対応しては、バッファRAM4から再生データ(DSD信号)を読み出して送出することは行わないものである。
この場合、送出パケットには、DSD信号の実体が格納されないから、図2(e)に示すSYTは、No Infoとされ、意味のある値は格納されない。ただし、パケットを送出しているかぎりは、図2(d)に示すアイソクロナス・パケットのDBCは、カウントアップされた値が格納される。ここでは、直前の転送サイクルにより転送されたアイソクロナス・パケットのDBCの値16から、さらに16カウントアップした、値32が格納される。
【0072】
上記期間t5〜t7に続く、期間t7〜t9の転送サイクルでは、図2(b)において、期間t4〜期間t6に対応する、SYT=R3から始まる16quadlet分のDSD信号がアイソクロナス・パケットに格納されて送出される。つまり、この期間t7〜t9では、先の期間t3〜t5においてバッファRAM4から読み出してパケット化したDSD信号に対して、後続するとされる16quadlet分のDSD信号をパケット化している。
この期間t7〜t9の転送サイクルによるアイソクロナス・パケットのDBCは、さらに16カウントアップされて、図2(d)に示すように、値48を示す。また、このアイソクロナス・パケットに格納されるSYTはR3を示す。
【0073】
さらに、期間t7〜t9に続く、時点t9から開始される転送サイクルにおいては、図2(b)において期間t6〜t8対応する、SYT=R4から始まる16quadlet分のDSD信号をアイソクロナス・パケットにより送出するようにされる。
この時点t9から開始される転送サイクルによるアイソクロナス・パケットのDBCは、図2(d)に示すように、値48から16カウントアップして得られる値64が示される。値48を示す。また、このアイソクロナス・パケットに格納されるSYTは、図2(e)に示すようにR4を示す。
【0074】
このようにして本実施の形態では、ブロッキング伝送にあたっては、原則として、16quadletで固定としたデータサイズをアイソクロナス・パケットに格納して送出するようにされている。
ただし、図2(c)の期間t5〜t7においては、エンプティパケット若しくはNO−DATAのアイソクロナス・パケットを送出することとしており、DSD信号の実体を送出することは行っていない。つまり、本実施の形態のブロッキング伝送としては、間欠的にエンプティパケット若しくはNO−DATAのアイソクロナス・パケットを送出していることになるが、これは、次のような理由による。
【0075】
前述もしたように、DSD信号の伝送は、理想的には、サイクル周期ごとに14.7 quadletである。また、先にも説明したように、アイソクロナス・パケットの転送サイクル(nominal isochronous cycle)は8KHzであるのに対して、図2(a)に示すSYTタイミングパルスの周波数は7.35KHzとされており、アイソクロナス・パケットの転送サイクルのほうが速い周期となっている。これは、図2(a)(b)に示すSYT期間及びこれに対応するイベントシーケンスのタイミングに対して、図2(c)に示す転送サイクルのタイミングのほうが時間的に進行していることからも分かる。
【0076】
このため、アイソクロナス・パケットに対して16quadletで固定のデータサイズによるDSD信号を必ず格納して伝送することとすると、単位時間あたりのデータ転送速度が、実際のDSD信号のデータレートよりも高くなる。
これにより、例えば、図2において、転送サイクルの開始時点となる時点t5のイベントシーケンスにおいて示されるように、次に送出すべきSYTタイムスタンプR3から始まる16quadlet分のデータは、バッファRAM4への書き込みが完了していない。つまり、時点t5の転送サイクルの開始時においては、次に送出すべき16quadlet分のデータが準備されていないことになる。
【0077】
そこで、本実施の形態のブロッキング伝送としては、上記のようにして、バッファRAM4において、次に転送すべき16quadlet分のデータが蓄積されていない状態となった場合には、エンプティパケット若しくはNO−DATAのアイソクロナス・パケットを送信することで、DSD信号が伝送されない転送サイクルの期間を設けるようにされる。
そして、このようにして、所要のタイミングによってDSD信号が伝送されない転送サイクルの期間を形成することによっては、結果的に、或る一定時間幅におけるデータ転送レート(データ転送レート速度)について、DSD信号のデータレート(2.8224M bit per sec)と同等とすることができる。これにより、受信側のデータ処理速度との同期が得られるようにして、受信側におけるデータ処理に破綻がないようにすることができる。なお、本実施の形態において、「受信側のデータ処理速度との同期を図る」ということは、受信側でデータ処理のために備えるバッファRAMのオーバーフロー、又はアンダーフローが生じないようにすることを指す、
また、このような本実施の形態としてのブロッキング伝送を、アイソクロナス・パケットに格納すべきデータサイズとしてみた場合には、16quadletに対応するデータサイズと、0のデータサイズとの間で可変しているということがいえる。
【0078】
そして、例えば上記のようにしてアイソクロナス・パケットに格納されて送出されたDSD信号としての再生データは、図1にても説明したように、D/Aコンバータ10にて受信され、バッファRAM13に蓄積される。そして、D/A変換処理部11では、バッファRAM13に蓄積された再生データを連続的に読み出して、D/A変換処理を実行する。
【0079】
図2(f)は、D/A変換処理に対応するイベントシーケンスを示している。これは、D/A変換処理のためにバッファRAM13から読み出される再生データ(DSD信号)を、quadlet単位により示していることにも対応する。
そして、この図2(f)に示すイベントシーケンスに対応するquadlet単位の再生データは、図2(g)に示すようにして、D/Aコンバータ10側で再生されたSYTタイミングパルスに同期して、SYT期間ごとに16quadletとなる速度タイミングでD/A変換されることになる。
この図2(f)(g)により示すデータ処理のタイミングは、先の図2(a)(b)と同じとなっていることが分かる。つまり、D/Aコンバータ10側では、ディスクドライブ1側で再生されたDSD信号について、このDSD信号に対応したデータレート及び時間情報(SYT)に基づいて、適正なタイミングでデータ処理を実行していることになる。
また、この図では、図2(b)と図2(f)を比較して分かるように、ディスクドライブ1側におけるイベントシーケンスのタイミングに対して、D/Aコンバータ10側のイベントシーケンスのタイミングが、伝送に要したとされる時間分に対応して遅延(TRANSFER DELAY)していることも示されている。
【0080】
そして、上記のようにしてブロッキング伝送を実際に実行するのにあたっては、必要最小限なこととして、DSD信号の本来のデータレートと同等のデータ転送レートにより、アイソクロナス・パケットによるデータ伝送が行われるように、16quadlet分を格納するのか、若しくは、0quadlet(エンプティパケット又はNo−Dataパケット)とするのかを決定する必要がある。
そこで、本実施の形態としては、このようなブロッキング伝送におけるデータサイズの決定についての処理動作として、図3のフローチャートに示す処理を実行することとする。
なお、図1に示すシステムでは、ディスクドライブ1は、D/Aコンバータ10側から送信されるコントロール信号CNTに基づいて、アイソクロナス・パケットに格納すべき再生データのサイズ決定を行うようにされている。しかし、ここでは、説明を分かりやすくするために、コントロール信号CNTに基づくデータ決定処理の要素を含まない、基本的な処理について説明する。つまり、単純に、DSD信号をストリーム出力する場合において、DSD信号のデータレート(2.8224M bit per sec)に応じたデータ転送レートが得られるようにするためのデータサイズ決定処理について示す。コントロール信号CNTを決定要素として含むデータサイズ決定処理については、後述する。
【0081】
そして、図3に示す処理動作は次のようになる。なお、この図に示す処理を、図1のディスクドライブ1に対応させた場合には、システムコントローラ3が実行すべきこととなる。
ここで、再生データとしてのDSD信号の送出を開始するタイミングに至ったとされると、先ず、ステップS101において、初期設定を行う。
この初期設定としては、先ず、1アイソクロナス・パケットに格納すべき、理想のデータサイズを示す数値であるXと、累積計算レジスタの値を示す変数Zとについて、それぞれ、
X=14.7
Z=0.0
に初期化する。なお、以降においては、数値Xについては、「理想送出データサイズX」ということにし、変数Zについては、「累積計算レジスタ値Z」ということにする。
これまでにも述べているように、1アイソクロナス・パケットに格納すべきデータサイズの理想値は、14.7quadletであるから、理想送出データサイズXには、この理想値としてのquadlet数である14.7をセットするものである。この図に示す処理において、この理想送出データサイズXは、固定値となる。
また、累積計算レジスタ値Zは、以降の説明から分かるように、連続して16quadletの再生データを送出している場合において、実際の送出データサイズ(16quadlet)と理想の送出データサイズ(14.7quadlet±1%)との差分を累積して得られる値であり、本来要求されるデータレートと、実際のデータ送出によるデータ転送レートとの差を表すものとなる。従って、再生データとしてのDSD信号の送出開始時においては、0.0がセットされることになる。
【0082】
上記のようにして初期化が実行された後は、データ送出が終了するまで、ステップS102〜ステップS106として示す処理を、繰り返し実行する。
先ず、転送サイクルの開始時であるサイクルスタートのタイミングに応じては、ステップS102において、現在の累積計算レジスタ値Zについて、
Z<16quadlet
の関係が成立するか否かについて判別する。
【0083】
累積計算レジスタ値Zは、上記もしたように、本来要求されるデータレートと、実際のデータ送出によるデータレートとの差を表すものであり、この累積計算レジスタ値Zが16quadletに満たないということは、この時点において、バッファRAM4において、16quadlet以上の読み出すべきデータが蓄積されている状態に対応する。
そこで、ステップS102において、累積計算レジスタ値Zが16quadletに満たないとして、肯定結果が得られた場合には、ステップS103以降の処理に進むようにされる。
【0084】
ステップS103においては、実際に送出すべきデータサイズを示す変数Y(「実際送出データサイズY」という)として、
Y=16
を設定する。つまり、アイソクロナス・パケットに格納すべき実際のデータサイズを、16quadletとすることを決定するものである。これにより、例えば次の転送サイクルのタイミングで、バッファRAM4から16quadlet分のデータの読み出しが行われて、アイソクロナス・パケットに格納され、送出されることになる。
【0085】
次のステップS104では、累積計算レジスタ値Zについて、理想送出データサイズX(=14.7)、及び現在の実際送出データサイズY(ここでは常にY=16となる)により、
Z=Z+(Y−X)
で表される演算を行って更新する。そして、次のサイクルスタートのタイミングに応じて、ステップS102の処理に戻るようにされる。
上記演算式から分かるように、累積計算レジスタ値Zは、ステップS102→S103の処理を経て、16quadletのサイズのDSD信号を送信した場合において、この実際に送出した16quadletのサイズと、理想送出データサイズXである14.7quadletとの差分値である1.3が積算されて得られる値となる。これは即ち、前述もしたように、現時点における、DSD信号の本来のデータレートと、実際に送出されているデータのデータ転送レートとの誤差を、quadlet(24bit)単位に基づいて示しているものである。
【0086】
また、ステップS102において、累積計算レジスタ値ZについてZ<16quadletが成立していないとして否定の判別結果が得られた場合には、ステップS105以降の処理に進む。
ステップS102において、否定の判別結果が得られる場合とは、累積計算レジスタ値Zが、16quadlet以上となった場合である。これは、即ち、現在時点において、バッファRAM4における読み出すべきデータの蓄積量が16quadletよりも少ないとされる状態であることを示している。
そこで、この場合には、ステップS105により、実際送出データサイズYについてY=0をセットする。これにより、今回の転送サイクルによっては、エンプティパケット又はNo−Dataパケットが送出されることとなる。
そして、続くステップS106では、現在の累積計算レジスタ値Zについて、
Z=Z−16
で表される演算を行って更新を行う。
ステップS105の処理に応じて、エンプティパケット又はNo−Dataパケットを送出することによっては、この転送サイクルにおいて、ブロッキング伝送すべき16quadlet分のデータが送出されなかったこととなる。上記ステップS106の処理は、このことに応じて、累積計算レジスタ値Zとして実質的に16quadlet分を差し引く必要があることに対応して行われるものである。実際においては、ステップS106の演算処理によっては、累積計算レジスタ値Zは、0.0に近い値が得られるものとなる。
そして、ステップS106の処理が実行された後は、次のサイクルスタートのタイミングで、ステップS102の処理に戻るようにされる。
【0087】
本実施の形態では、上記のようにして、ステップS102の判別結果に基づいて、アイソクロナス・パケットに格納すべき再生データ(DSD信号)のサイズとして、16quadletとするか0quadlet(エンプティパケット又はNo−Dataパケット)とするのかを決定するようにしている。これにより、或る単位時間における実際のデータ転送レート(データ転送速度)について、本来のDSD信号のデータレートと同等となるようにしている。
【0088】
1−3−2.パケット送出動作(ノンブロッキング伝送)
続いては、ディスクドライブ1により、SACDからの再生データ(DSD信号)をアイソクロナス・パケットを送出する動作として、ノンブロッキング伝送による場合について、図4を参照して説明する。
ノンブロッキング伝送は、前述もしたように、アイソクロナス・パケットごとに格納するデータサイズを可変することが許可される。ただし、各転送サイクルごとに必ずデータを格納して伝送すべきとされている。
【0089】
図4において、図4(a)(b)には、先に説明した図2(a)(b)と同様に、SYTタイミングパルスと、このSYTタイミングパルスに対応したDSD信号のイベントシーケンスが示されている。
【0090】
そして、本実施の形態において、ノンブロッキング伝送によりDSD信号を伝送する場合には、図4(c)に示すようにして、14quadlet分の再生データ(DSD信号)を格納したアイソクロナス・パケット、又は15quadletの再生データ(DSD信号)を格納したアイソクロナス・パケットを生成して、送出することとしている。
つまり、DSD信号の伝送は、理想的には、サイクル周期ごとに14.7 quadletとされているから、ここでは、その前後の整数値のquadlet数である、14quadlet又は15quadletの再生データを格納して適宜送出することとしている。
これにより、アイソクロナス・パケットに格納すべき再生データのサイズについて、14quadletと15quadletの何れとするのかを、転送サイクルごとに適切に決定していくようにすることで、結果的に、或る1纏まりの連続するサイクルにより送出されるquadlet数の平均が14.7 quadletとなるようにすることができる。つまり、或る時間幅におけるデータ転送レートが、DSD信号が有するデータレート(2.8224M bit per sec)と同等となるようにすることが可能となり、受信側におけるデータ処理に同期させたデータ転送レート(データ転送速度)を維持することが可能となる。
【0091】
ここで、図4(c)においては、具体例として、先ず、期間t2〜t3の転送サイクル(nominal isochronous cycle)では、14quadletの再生データを格納することとしている。この14quadletの再生データにおいては、図4(b)に示すイベントシーケンスが示すSYT=R1に対応する1quadlet分のデータが、14番目のquadletとなっている。
この期間t2〜t3の転送サイクルにより送出されるアイソクロナス・パケットのDBCは、この場合には、例えば図4(d)に示すようにして、3が示される。
また、ブロックデータとしてSYT=R1に対応する1quadlet分のデータが格納されていることに対応して、このアイソクロナス・パケットのSYTには、R1を示す値が格納される。
【0092】
続く期間t3〜t5としての転送サイクルにおいては、上記SYT=R1に対応する1quadlet分のデータに続く、14quadlet分の再生データを格納している。
SYTは16quadletごとのタイミングで更新されるから、この14quadlet分の再生データには、SYTと同期したフレーム先頭データは格納されていないことになる。このため、図4(e)に示すSYTは、No Infoとなる。また、図4(d)に示すDBCは、先の転送サイクルにおける値が3であった状態から、14quadlet分のカウントアップが行われることで、17を示すことになる。
【0093】
そして、次の期間t5〜t7の転送サイクルにおいては、先の転送サイクル(期間t3〜t5)において送出した再生データに続く、15quadlet分の再生データを格納している。
この15quadlet分の再生データには、SYT=R2のイベントに対応する1quadlet分のデータが含まれる。このため、アイソクロナス・パケットのSYTには、図4(e)に示すように、R2を示す値が格納される。また、この場合のDBCは、先の転送サイクル(期間t3〜t5)において14quadlet分送出されたことに対応して、17の値とされた状態から14のカウントアップが行われ、図4(d)に示すように、31が格納される。
【0094】
また、さらに次の期間t7〜t9の転送サイクルにおいては、先の転送サイクル(期間t5〜t7)において送出した再生データに続く、15quadlet分の再生データを格納している。
この15quadlet分の再生データには、SYT=R3のイベントに対応する1quadlet分のデータが含まれるので、アイソクロナス・パケットのSYTは、図4(e)に示すように、R3となる。また、図4(d)のDBCは、先の転送サイクル(期間t5〜t7)において15quadlet分送出されていることで、31に対して、さらに15のカウントアップが行われ、46となる。
【0095】
そして、時点t9から始まる転送サイクルにおいては、先の転送サイクル(期間t7〜t9)において送出した再生データに続く、15quadlet分の再生データを格納している。
この15quadlet分の再生データは、SYT=R3のイベントに対応する1quadlet分のデータを含むことから、図4(e)のSYTはR4となる。図4(d)のDBCは、先の転送サイクル(期間t7〜t9)において15quadlet分送出されていることで、46に対して15のカウントアップが行われ、61となる。
【0096】
ノンブロッキング伝送の場合、アイソクロナス・パケットに格納するquadlet数は14又は15となる。これに対して、SYTに対応するフレームは、16quadletである。このために、図4(c)にも示されているように、アイソクロナス・パケットに格納される14quadlet、又は15quadlet分の再生データにおいて、SYTのタイムスタンプ(R1,R2,R3,R4・・・)に対応するquadletのデータは、必ずしも、存在するとは限らない。また、存在しているとしても、ブロッキング伝送の場合のようにして、必ずデータブロックの先頭となるものではない。
しかしながら、このようにしてノンブロッキング伝送により再生データ(DSD信号)を送出したとしても、これを受信するD/Aコンバータ10側では、受信した再生データから、SYTのタイムスタンプの情報を抽出して、SYTタイミングパルスを生成するようにされる。これにより、図4(f)(g)に示すようにして、バッファRAM13に蓄積させた再生データ(DSD信号)について、フレーム単位で適正に処理が実行されるものである。
【0097】
そして、上記図4に示したノンブロッキング伝送を実際に行うのにあたっても、DSD信号の本来のデータレートと同等のデータ転送レートにより、データ伝送が行われるように、アイソクロナス・パケットに格納すべき再生データのサイズについて、14quadletと15quadletの何れとするのかを決定する必要がある。
このための処理動作を、図5のフローチャートに示す。なお、この図5に示す処理としても、単純に、DSD信号をストリーム出力する場合において、DSD信号のデータレート(2.8224M bit per sec)に応じたデータ転送レートが得られるようにするための基本的なデータサイズ決定処理について示すこととする。ノンブロッキング伝送における、コントロール信号CNTを決定要素として含むデータサイズ決定処理については後述する。
【0098】
この図5においても、再生データとしてのDSD信号の送出を開始するタイミングに至ったとされると、先ず、ステップS201において初期設定を行うようにしている。この初期設定の処理は、図3のステップS101と同様にして、理想送出データサイズXと、累積計算レジスタ値Zとについて、それぞれ、
X=14.7
Z=0.0
に初期化する。
【0099】
そして、上記ステップS201により初期化を実行した後においては、サイクルスタートのタイミングに応じて、ステップS202により、現在の累積計算レジスタ値Zについて、
Z<1quadlet
の関係が成立するか否かについて判別する。
この場合の累積計算レジスタ値Zとしても、上記もしたように、本来要求されるデータレートと、実際のデータ送出によるデータレートとの差を表す。但し、ステップS202における比較対象値は、1quadletとされている。これは、ノンブロッキング伝送では、送出すべきテータサイズが14quadlet又は15quadletとされて、両者に1quadletの差があることに対応して設定されたものであるそして、ステップS202において、累積計算レジスタ値Zが1quadletに満たないとして、肯定結果が得られた場合には、ステップS203の処理に進む。
【0100】
ステップS203においては、実際送出データサイズYとして、
Y=15
を設定する。つまり、今回の転送サイクルにより送出するアイソクロナス・パケットに格納すべき実際のデータサイズを、15quadletとすることを決定する。このステップS203の処理を実行した後はステップS205に進む。
【0101】
一方、ステップS202において、累積計算レジスタ値Zが1quadlet以上であるとして否定結果が得られた場合には、ステップS204の処理に進む。
ステップS204においては、実際送出データサイズYとして、
Y=14
を設定し、ステップS205に進む。
【0102】
ステップS205では、累積計算レジスタ値Zについて、理想送出データサイズX(=14.7)、及び現在の実際送出データサイズY(Y=16又はY=15となる)により、
Z=Z+(Y−X)
で表される演算を行って更新する。そして、次のサイクルスタートのタイミングに応じて、ステップS202の処理に戻るようにされる。
【0103】
このような処理によると、累積計算レジスタ値Zが1quadlet未満であれば、15quadletとし、1quadlet以上であれば14quadletとするようにして、アイソクロナス・パケットに格納すべきデータサイズを決定することになる。
これにより、実際のデータ転送レートとして、本来のDSD信号のデータレートと同等のデータ転送レート(データ転送速度)とすることができる。
【0104】
1−3−3.パケット送出のための機能処理
本実施の形態としては、上記のようにしてDSD信号をブロッキング伝送、又はノンブロッキング伝送により送出する。そのうえで、図1に示す第1の実施の形態としてのディスクドライブ1では、受信装置であるD/Aコンバータ10のデータ処理の速度タイミングと同期が得られるように、D/Aコンバータ10から送信されるコントロール信号CNTに基づいても、アイソクロナス・パケットに格納すべきデータサイズを決定していくようにされる。つまり、データ転送レート(データ転送速度)を制御するものである。
【0105】
そこで、先ずは、上記したアイソクロナス・パケットに格納すべきデータサイズの決定処理を含む、ディスクドライブ1のパケット送出のための処理の流れについて、図6を参照して説明する。
図6には、先に図1に示したディスクドライブ1のハードウェア構成に基づいて実現されるアイソクロナス・パケット送出のための処理が、機能ブロックとして示されている。また、この図に示す処理の流れは、ブロッキング伝送とノンブロッキング伝送とで共通となるものである。
【0106】
この図に示すようにして、ディスクドライブ1により実現されるパケット送出処理に関する機能としては、送出速度決定機能21、データサイズ決定機能22、パケット生成機能23、データ読込機能24、パケット送出機能25を備えることとなる。
送出速度決定機能21は、D/Aコンバータ10から入力されたコントロール信号CNTを入力して、デジタルデータ伝送路LNから送出する再生データの送出速度を決定する。データサイズ決定機能22では、送出速度決定機能21により決定された送出速度に対応して、1つのアイソクロナス・パケットに格納して送出すべき再生データのサイズを決定する。データサイズ決定機能22としては、ブロッキング伝送に対応しては、16quadlet分のサイズ又は0quadletとすることが決定されることになる。また、ノンブロッキング伝送に対応しては、14quadlet又は15quadlet分のサイズとすることが決定される。
これら、送出速度決定機能21、データサイズ決定機能22は、コントロール信号CNTを入力したシステムコントローラ3の動作となる。
【0107】
パケット生成機能23は、上記データサイズ決定機能22により決定されたデータサイズに対応するデータ量の読み出しを、データ読込機能24に指示する。データ読込機能24は、SACDから読み込んでバッファRAM4に蓄積させている再生データ(DSD信号)のうちから、指示されたデータ量の再生データを読み出す。この読出タイミングは、これまでの説明から理解されるように、アイソクロナス・パケットの転送サイクル(8KHz)に応じたものとなる。また、読み出されるデータ量は、ブロッキング伝送であれば、16quadlet分、若しくは、読出を実行しないことで、0quadletに対応することになる。また、ノンブロッキング伝送であれば、14quadlet又は15quadlet分に対応することになる。
そして、パケット生成機能23によっては、上記のようにして読み出した再生データ(DSD信号)をデータブロックの領域に格納するようにして、アイソクロナス・パケットを生成する。
このパケット生成機能23及びデータ読込機能24はシステムコントローラ3によるバッファRAM4に対するデータの読み出し処理と、システムコントローラ3の制御に応じたインターフェイス部5によるパケット生成処理として得られる。
【0108】
パケット送出機能24は、上記パケット生成機能23により生成されたパケットを、例えば生成後の次の転送サイクルにおいて、デジタルデータ伝送路LNを介して受信側(D/Aコンバータ10)に対して送出する。
このパケット送出機能24は、システムコントローラ3の制御に応じたインターフェイス部5によるパケット送信出力処理として得られる。
【0109】
1−3−4.データサイズ決定処理(ブロッキング伝送)
以降においては、システムコントローラ3が、上記図6に示したデータサイズ決定機能22を実現するために実行すべき処理動作について説明することとする。つまり、コントロール信号CNTに基づいたデータサイズ決定処理である。
ここでは先ず、ブロッキング伝送の場合について説明する。本実施の形態としてのブロッキング伝送の基本的な動作は、先に図2及び図3により説明したとおりであり、データサイズ決定機能22を実現する処理は、これに基づくものとなる。
【0110】
図7のフローチャートは、データサイズ決定機能22によるデータサイズ決定処理として、ブロッキング伝送の場合における処理を示している。
なお、この図7に示す処理において、S301,S302,S303,S308,ステップS309,S310は、先に図3に示したステップS101〜S106の各ステップと同じ処理となる。
【0111】
この図に示す処理においても、再生データとしてのDSD信号の送出を開始するタイミングに至ったとされると、ステップS301により、理想送出データサイズX=14.7、累積計算レジスタ値Zについて、
X=14.7
Z=0.0
と初期化を行っている。なお、理想送出データサイズXは、本来は、14.7で固定となる定数であり、図3の処理では、定数として可変されることはないようにされていた。しかし、この図に示す処理においては、理想送出データサイズXは、後述するようにして、コントロール信号CNTの値に応じて、所要の値に可変される変数として扱われる。
【0112】
上記のようにして初期化が実行された後は、データ送出が完了するまで、サイクルスタートのタイミングごとに、ステップS302から処理が繰り返し実行される。
このステップS302においても、図3のステップS302と同様に、現在の累積計算レジスタ値Zについて、
Z<16quadlet
の関係が成立するか否かについて判別する。そして、肯定結果が得られた場合にはステップS303以降の処理に進む。
先ず、ステップS303においては、実際送出データサイズYとして、
Y=16
を設定し、ステップS304の処理に進む。
【0113】
ここで、システムコントローラ3は、D/Aコンバータ10から送信されてくるコントロール信号CNTを受信して、その値を認識するようにされている。ここでは、コントロール信号CNTとしては、データ転送速度について、+1%可変する(1%速くする)ことを指示する値と、0%可変する(変化無し)ことを指示する値と、−1%可変する(1%遅くする)ことを指示する値との、3値を取ることとする。
そして、ステップS304においては、現在時点において得られているコントロール信号CNTの値について判別を行う。
【0114】
上記ステップS304における判別結果として、+1%可変を指示する値であることを判別した場合には、ステップS305に進む。ステップS305では、理想送出データサイズXについて、X=14.847をセットする。このX=14.847の数値は、+1%可変に対応して、
X=14.7×1.01=14.847
という演算を行うことにより得られる値である。
また、ステップS304における判別結果として、0%可変を指示する値であることを判別した場合には、ステップS306に進んで、本来の理想送出データサイズの値であるX=14.7をセットする。
また、ステップS304における判別結果として、−1%可変を指示する値であることを判別した場合には、ステップS307に進み、理想送出データサイズXについて、X=14.553をセットする。このX=14.553の数値は、−1%可変に対応して、
X=14.7×099=14.553
という演算を行うことで得られる。
上記ステップS305、S306、S307の何れかの処理を実行した後は、ステップS308の処理に進む。
【0115】
ステップS308では、累積計算レジスタ値Zについて、現在の理想送出データサイズX、及び現在の実際送出データサイズY(ここでは常にY=16となる)により、
Z=Z+(Y−X)
で表される演算を行って更新する。
そして、次のサイクルスタートのタイミングに応じて、ステップS302の処理に戻るようにされる。
【0116】
ステップS302において、否定の判別結果が得られた場合には、ステップS309→310の処理に進む。このステップS309→310の処理は、図3のステップS105及びステップS106と同じ処理となることから、ここでの説明は省略する。
ステップS310の処理が実行された後は、次のサイクルスタートのタイミングでステップS302の処理に戻ることになる。
【0117】
上記した処理動作によると、ステップS304、及びステップS305,S306,S307の処理によって、理想送出データサイズXの値は、コントロール信号CNTの値により指示されるデータレートの可変率に応じて可変されることになる。つまり、理想送出データサイズXは、コントロール信号CNTが指示するデータレートに応じた数値を取るようにして変更されることになる。そして、このようにして変更された理想送出データサイズXを用いて、ステップS308により、累積計算レジスタ値Zを更新するようにしている。
【0118】
上記した処理によれば、ステップS302において比較される累積計算レジスタ値Zとしては、変更された理想送出データサイズXの値が反映されることになる。つまり、コントロール信号CNTが指示するデータレートに応じて、その値が変更された累積計算レジスタ値Zとなっているものである。
そして、この累積計算レジスタ値Zを比較対象としてステップS302における処理を実行することで、このステップS302の判別結果としては、コントロール信号CNTが指示するデータレートを加味した、データサイズの決定結果が得られることとなる。
この結果、図1に示すシステムにおいては、ディスクドライブ1から送出するデータのデータ転送レート(データ転送速度)について、D/Aコンバータ10のデータ処理動作に同期するようにして制御することが可能となっている。
【0119】
1−3−5.データサイズ決定処理(ノンブロッキング伝送)
続いては、システムコントローラ3が実行する、上記図6に示したデータサイズ決定機能22に対応する処理動作として、ノンブロッキング伝送の場合の処理動作について説明する。
なお、この場合の処理としても、図4及び図5により説明したノンブロッキング伝送の基本的動作を前提としている。
【0120】
図8のフローチャートは、ノンブロッキング伝送としての、データサイズ決定機能22によるデータサイズ決定処理を示している。
この図8に示す処理において、S401,S402,S403,S404は、図5に示したステップS201,S202,S203,S204と同じとなる。そして、S403又はS404の処理によって、実際送出データサイズYとして、Y=15又はY=14を設定した後において、ステップS405以降の処理を実行することになる。
【0121】
ステップS405の判別処理、及びこの判別結果に基づくステップS406,S407,S408の処理は、図7に示したステップS304の判別処理、及びこの判別結果に基づくステップS305,S306,S307の各処理と同じとされる。
つまり、判別したコントロール信号CNTの値に応じて、理想送出データサイズXについて可変する処理となる。
【0122】
そして、上記ステップS305,S306,S307の何れかの処理によって、値が可変された理想送出データサイズXを使用して、累積計算レジスタ値Zについて、
Z=Z+(Y−X)
で表される演算を行って更新する。そして、次のサイクルスタートのタイミングで、ステップS402の処理に戻る。
【0123】
このような処理によっても、ステップS409において比較される累積計算レジスタ値Zとしては、コントロール信号CNTが指示するデータレートに応じて変更された理想送出データサイズXの値が反映されることになる。そして、この累積計算レジスタ値Zを比較対象としてステップS402における処理が実行される。これにより、ステップS402の判別処理は、コントロール信号CNTが指示するデータレートを加味してデータサイズを決定するものとなる。
つまり、ノンブロッキング伝送による場合としても、ディスクドライブ1から送出するデータのデータ転送レート(データ転送速度)について、D/Aコンバータ10のデータ処理動作に同期するようにして制御することが可能となる。
【0124】
そして、これまでに説明したような実施の形態の構成によれば、再生データの連続再生処理は、受信装置であるD/Aコンバータ10に依存していることになる。
つまり、D/Aコンバータ10がクロックマスターとなって、連続再生処理をマスタークロックに基づいて実行する。そして、D/Aコンバータ10に同期させるためのディスクドライブ1側のデータ転送速度の可変は、アイソクロナス・パケット内に格納すべきデータサイズを直接的に変更することで実現している。また、アイソクロナス・パケットに格納する再生データは、ディスク再生部2によりディスクから読み出して、一旦、バッファRAM4に蓄積させたデータである。
このような構成によれば、ディスクドライブ1におけるディスク再生としては、ディスクからしかるべきデータレートによって連続的に信号を読み出して再生出力するための機能を有する必要性はないことになる。つまり、ディスクドライブ1においては、マスタークロックを生成するためのクロック発生器やPLL回路などを設ける必要はないこととなる。
これにより、デジタルオーディオ信号やデジタルビデオ信号などの、連続再生することが要求されるデータをディスクから再生するのにあたっては、クロック生成機能を有していないディスクドライブを使用することが可能になる。例えばSACD以外の例として、現状であれば、クロック発生機能を備えないいわゆるCD−ROMドライブを備えたシステムにより、CD−DAに記録されるデジタルオーディオ信号を適正に連続再生することが可能となる。
【0125】
2.第2の実施の形態
続いて、本発明の第2の実施の形態について説明する。
図9は、第2の実施の形態としてのシステム構成を示す。なお、この図において図1と同一部分には同一符号を付して説明を省略する。
図9のシステムは、ディスクドライブ1とD/Aコンバータ10Aを備えて構成されている。ディスクドライブ1のブロック構成は図1と同様となることから、ここでの説明は省略する。
【0126】
D/Aコンバータ10Aでは、例えば図1に示したD/Aコンバータ10の構成において、先ず、A/D変換処理部16が追加される。そして、水晶発振器12aを備えるクロック発生器12から出力されるマスタークロックMCLは、図示するようにして、D/A変換処理部11及びA/D変換処理部12に対して供給するようにされている。
また、この場合には、A/D変換処理部16が追加されたことに対応して入出力器14が備えられる。
入出力器14は、D/Aコンバータ10Aに入力される入力信号と、D/Aコンバータ10Aから出力される出力信号についての入出力を処理する部位とされる。本実施の形態では、デジタルデータ伝送路LN,LN1がIEEE1394データインターフェイスに対応する。従って、入出力器14は、IEEE1394に対応する入出力インターフェイス機能を備えることになる。また、この場合においては、入出力器14に対してバッファRAM15が備えられる構成となっている。
【0127】
この図に示すシステムにおいても、ディスクドライブ1からは、SACDから再生した再生データが、アイソクロナス・パケットとして、IEEE1394データインターフェイスに対応するデジタルデータ伝送路LNにより送出され、D/Aコンバータ10A側で受信されることになる。
入出力器14は、ディスクドライブ1からデジタルデータ伝送路LNにより送出されたアイソクロナス・パケット(再生データ)を受信する。そして、受信したアイソクロナス・パケットについてアンパケット化して、再生データ及びSYT(タイムスタンプ)の情報の抽出などを行う。ここで、抽出された再生データはバッファRAM15に蓄積される。
なお、この受信取得した再生データについてのバッファRAM15に対する書き込み/読み出しは、リングバッファとしての動作に対応したものとなる。
【0128】
D/A変換処理部11では、入出力器14を介するようにして、バッファRAM15から再生データの読み出しを行って、マスタークロックMCLに基づいたタイミングでD/A変換処理を実行し、アナログオーディオ信号として出力する。確認のために述べておくと、本実施の形態におけるD/A変換処理部11は、SACDからの再生データである、DSD信号をD/A変換するための構成を有している。
【0129】
また、逆にA/D変換処理部16では、外部からアナログオーディオ信号を入力して、マスタークロックMCLに基づいたタイミングで、A/D変換処理を行ってデジタルオーディオ信号に変換して出力する。この場合、A/D変換処理部16は、入力されたアナログオーディオ信号について、SACDフォーマットに対応するDSD信号としてのデジタルオーディオ信号に変換する構成を採る。
【0130】
なお、詳しいことは後述するが、A/D変換処理部16により得られるデジタルオーディオ信号は、音声として再生出力するのに利用するのではない。このデジタルオーディオ信号は、ディスクドライブ1に送出する際のデータレート(アイソクロナス・パケット内のデータサイズ)に応じて、ディスクドライブ1側において、自身が送出する再生データのデータ転送レートを可変するために使用される。従って、A/D変換処理部16に入力されるアナログオーディオ信号としてのコンテンツ(内容)は特に問わない。
また、上記したことに基づいて、以降において、A/D変換処理部16から出力されてディスクドライブ1側に送出するデジタルオーディオ信号としては、「コントロール用データ」ともいうことにする。
【0131】
A/D変換処理部16から出力されたコントロール用データ(デジタルオーディオ信号)は、入出力器14に対して入力される。入出力器14では、A/D変換処理部16から入力されたコントロール用データを、バッファRAM15に対して書き込んで一時的に保持して蓄積させる。この蓄積動作もリングバッファとしての動作に依るものとすればよい。
そして、入出力器14では、上記のようにしてバッファRAM15に蓄積されているコントロール用データから、必要なサイズのデータの読み出しを行って、アイソクロナス・パケットに格納して、デジタルデータ伝送路LN1によりディスクドライブ1に対して送出する。
なお、入出力器14によるコントロール用データの送出動作は、図2により説明したブロッキング伝送、または、図4により説明したノンブロッキング伝送としての動作となる。
この場合、入出力器14は、A/D変換処理部16によるA/D変換処理はマスタークロックMCLに基づいたタイミングで実行されている。このため、入出力器14では、ブロッキング伝送であれば図3に示した処理によって、また、ノンブロッキング伝送であれば図5に示した処理によって、アイソクロナス・パケットに格納すべきコントロール用データのデータサイズを決定するようにすればよい。
【0132】
D/Aコンバータ10Aの入出力器14から、デジタルデータLN1を介してアイソクロナス・パケットのシーケンスにより送出されるコントロール用データは、ディスクドライブ1のインターフェイス部5にて受信取得される。
【0133】
例えば図1に示すシステムの場合、ディスクドライブ1は、D/Aコンバータ10から送信されるコントロール信号CNTに基づいて、D/A変換処理部11のデータ処理の速度タイミングと同期するように、再生データのデータ転送レートを可変していた。
第2の実施の形態のディスクドライブ1は、上記のようにして受信取得されたコントロール用データを利用して、次のようにして、D/A変換処理部11のデータ処理の速度タイミングと同期するように、再生データのデータ転送レートを可変するようにされる。つまり、アイソクロナス・パケットに格納すべき再生データのサイズを決定する。
【0134】
図10は、図9に示すディスクドライブ1におけるアイソクロナス・パケット送出のための処理を機能ブロックとして示している。なお、図6と同一部分には同一符号を付している。
図10と、図6とを比較すると、図10では、図6に示されていた送出速度決定機能21に代えて、データサイズ測定機能21Aが示されている点が異なる。データサイズ測定機能21は、デジタルデータ伝送路LN1から受信取得したコントロール用データを入力する。
コントロール用データは、アイソクロナス・パケット単位によりサイクル周期ごとに伝送されてくる。そこで、データサイズ測定機能21では、アイソクロナス・パケットに格納されているコントロール用データのデータサイズを測定するようにされる。
この測定結果としては、コントロール用データの送出がブロッキング伝送によるものであれば、16quadlet又は0quadletの何れかの結果が得られることになる。また、ノンブロッキング伝送であれば、15quadlet又は14quadletの何れかの結果が得られることになる。
【0135】
そして、この場合のデータサイズ決定機能22では、アイソクロナス・パケットに格納して送出すべき再生データのサイズを決定するのにあたり、上記データサイズ測定機能21の測定結果を利用する。
先ず、コントロール用データがブロッキング伝送により伝送される場合においては次のようになる。
ブロッキング伝送の場合において、データサイズ測定機能21が測定結果として16quadletを出力したのであれば、データサイズ決定機能22としては、再生データのデータサイズにつき、測定結果と同じ、16quadletであるとして決定する。
また、測定結果が0quadletである場合には、再生データのデータサイズについて、同様に、測定結果と同じ、0quadletであるとして決定する。
【0136】
また、コントロール用データがノンブロッキング伝送により伝送される場合も同様である。
つまり、データサイズ測定機能21の測定結果が15quadletであれば、再生データのデータサイズについて、同じ15quadletとする。また、測定結果が14quadletであれば、同じ14quadletとするものである。
【0137】
そして、上記のようにして得られたデータサイズ決定機能22の決定結果に基づいて、以降のパケット生成機能23、データ読込機能24、及びパケット送出機能25としての処理が、図6にて説明したようにして実行される。そして、このような処理が、転送サイクルごとに実行される。
これによっては、ディスクドライブ1側では、コントロール用データと同じデータサイズの再生データをアイソクロナス・パケットに格納して、D/Aコンバータ10Aに送出する動作が得られることになる。
そして、このような動作が行われることによっては、ディスクドライブ1から送出する再生データのデータ転送レートは、常に、D/Aコンバータ10から送出されるコントロール用データのデータ転送レートと一致するようにされる。
ここで、D/Aコンバータ10から送出されるコントロール用データのデータ転送レートは、コントロール用データとしてのデジタルオーディオ信号を出力するA/D変換処理部16の処理速度タイミングに依存して決定される。そして、A/D変換処理部16は、D/A変換処理部11と同じマスタークロックMCLに基づいて処理を実行するから、A/D変換処理部16とD/A変換処理部11の処理速度タイミングは、常に同じであるということになる。
そして、上記したようにディスクドライブ1から送出する再生データのデータ転送レートが、コントロール用データのデータ転送レートと一致するということは、ディスクドライブ1からの再生データのデータ転送レートは、D/A変換処理部11の処理速度タイミングに同期したものとなっているということになる。第2の実施の形態では、このようにして、コントロール用データを利用して、ディスクドライブ1のデータ転送レート(データ転送速度)と、D/A変換処理部11の処理速度タイミングとの同期を図るようにされる。
【0138】
なお、第1の実施の形態及び第2の実施の形態においては、これまでの説明のようにして、アイソクロナス・パケットに格納すべきデータサイズを決定するようにした上で、可変速伝送にも対応することが可能である。
先ず、第1の実施の形態におけるシステム構成においては、D/Aコンバータ10のD/A変換処理部11から、現在のデータ処理速度についての倍速度の数値の情報を、ディスクドライブ1のシステムコントローラ3に送信して通知するように構成する。先ず、システムコントローラ3は、ディスク再生部2において、この通知された倍速度よりも高速な倍速度によって、ディスク再生が行われるように制御を実行する。これにより、バッファRAM4に対して、倍速度のデータ送出に対応したタイミングによるデータ読み出しが実行されるとしても、アンダーフローが生じないようにされる。
【0139】
そして、システムコントローラ3は、図6に示すデータサイズ決定機能22の処理として、通知された倍速度の数値に応じて、アイソクロナス・パケットに格納すべきデータサイズを算出する。
具体例として、D/A変換処理部11のデータ処理速度が2倍速であることに対応して、通知された倍速度の数値が2である場合を挙げて説明する。
ブロッキング伝送時においては、先の図7に示した処理として、先ずは、ステップS301における初期設定として、理想送出データサイズXについて、
X=14.7×2=29.4
を設定する。
また、ステップS302においては、累積計算レジスタ値Zについて、
Z>32(16×2)quadlet
が成立するか否かについて判別する。
そして、ステップS303にて、設定する実際送出データ量Yとしては、
Y=32(=16×2)
を設定する。
さらに、ステップS305,S306,S307においては、それぞれ、
X=29.694(=29.4×1.01)
X=29.4
X=29.106(=29.4×0.99)
を設定すればよい。
このようにして、必要なパラメータについて、倍速度の数値2に対応して、1倍速時の2倍の値を設定することで、ディスクドライブ1から送出するデータ転送レートも2倍速とすることができる。
つまりは、データサイズ決定処理において用いる所要のパラメータ数値について、n倍速度に対応してn倍の値を設定すれば、D/A変換処理部11側で設定された倍速度と同期した可変速伝送が可能となる。
【0140】
また、ノンブロッキング伝送についても、この点は同様であり、例えば図8に示したフローチャートで用いている所要のパラメータの値について、倍速度に対応した倍数を設定することで、可変速伝送が可能となるものである。
【0141】
また、第2の実施の形態においては、可変速伝送を可能とするのに、次のような構成を考えることができる。
先ず、D/Aコンバータ10Aにおいては、コントロール用データを生成するA/D変換処理部16におけるA/D変換処理が1倍速であるとする。これに対して、D/A変換処理部11における再生データについてのD/A変換処理は2倍速であるとする。例えばA/D変換処理部16では、サンプリング周波数48KHz、2chの信号フォーマットに対応したA/D変換処理を実行し、D/A変換処理部11では、サンプリング周波数96(=48×2)KHz、2chの信号フォーマットに対応したD/A変換処理を実行するような場合を想定することができる。
ここで留意すべきことは、A/D変換処理部16におけるA/D変換処理と、D/A変換処理部11におけるD/A変換処理との倍速度が異なっているとしても、A/D変換処理部16及びD/A変換処理部11が同じマスタークロックMCLに基づいてデータ処理を実行している以上、両者の処理速度タイミングは、マスタークロックMCLに基づいて同期したものとなっていることである。
【0142】
そして、この場合においても、D/Aコンバータ10Aからディスクドライブ1のシステムコントローラ3に対して、倍速度の数値の情報を通知するようにされる。この倍速度の数値の情報は、例えばA/D変換処理部16におけるA/D変換処理速度を1倍速としてみなした上で、このA/D変換処理速度に対するD/A変換処理部11のD/A変換処理速度の倍数値とされることになる。つまりは、A/D変換処理部16におけるA/D変換処理速度をAとし、D/A変換処理部11のD/A変換処理速度をBとすれば、B/Aを算出して得た値を、倍速度の数値とすればよい。
【0143】
そして、ディスクドライブ1のシステムコントローラ3では、先に図10によって説明したように、コントロール用データを入力して、データサイズ測定機能21Aによりデータサイズを測定し、測定結果をデータサイズ決定機能22に出力する。
【0144】
先の説明では、A/D変換処理部16におけるA/D変換処理速度と、D/A変換処理部11におけるD/A変換処理速度は、等速度であることを前提としていた。このため、データサイズ決定機能22では、データサイズ測定機能21Aにより測定されたデータサイズ(quadlet数)と同じデータサイズを、アイソクロナス・パケットに格納すべきデータサイズとして決定していたものである。
これに対して、上記のようにして、倍速度の数値情報が通知される場合においては、データサイズ決定機能22は、データサイズ測定機能21Aにより測定されたデータサイズ(quadlet数)に対して、倍速度の数値を乗算して得た値に基づいて、実際に送出すべきデータサイズを決定するようにされる。
【0145】
簡単な例として、例えば前述したように、D/A変換処理部11における再生データについてのD/A変換処理について2倍速が設定されているとした場合を考えてみる。
例えばブロッキング伝送の場合には、データサイズ測定機能21Aによっては、16quadletか0quadletであることが測定結果として得られる。そして、データサイズ決定機能22は、測定結果が16quadletである場合には、16×2=32の演算を行って、32quadletであるとして決定することになる。0quadletである場合には、0×2=0quadletとして決定することになるから、エンプティパケット又はNo−dataパケットを送出することになる。
【0146】
なお、ノンブロッキング伝送の場合には、データサイズ測定機能21Aによっては、15quadletか14quadletであることが測定結果として得られる。従って、データサイズ決定機能22は、この測定結果に応じて、30(=15×2)quadlet、又は28(=14×2)quadletの何れかを決定するようにされる。
【0147】
また、第1及び第2の実施の形態において、ディスクドライブ1が実行すべきパケット送出のための制御処理は、例えばシステムコントローラ3内に備えられるとされる、ROMに格納されたプログラムに従って実行されるものとされる。
【0148】
また、このようなプログラムは、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、MO(Magnet Optical)ディスク、DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウェアとして提供することができる。
例えば、本実施の形態であれば、ディスク再生部2により再生可能なディスクメディアにプログラムを記録し、パッケージソフトウェアとして提供することができる。これに対応して、ディスクドライバ1としては、ディスクからプログラムを読み出し、システムコントローラ3の内部ROMに記憶させることで、このプログラムをインストールできる。また、このようなプログラムを、各種記録媒体に記憶させておくことによっては、本実施の形態としての動作を、汎用のパーソナルコンピュータなどにもインストールして実行させることが可能になる。
なお、プログラムは、上記のようなリムーバブルな記録媒体からインストールする他、プログラムを記憶しているサーバなどから、LAN(Local Area Network)、インターネットなどのネットワークを介してダウンロードさせる構成とすることも可能である。
【0149】
また、本発明としては上記各実施の形態により説明した構成に限定されるものではない。
第1及び第2の実施の形態として、図1及び図9に示したシステム構成は、図面上では、それぞれ個々に独立した別体の機器を伝送路等により接続した構成としている。しかしながら、実際としては、例えばパーソナルコンピュータなどをはじめとした各種情報処理装置、電子機器などに搭載されるような構成とされてもよい。
また、図1及び図9に示したディスクドライブ1は、少なくともSACDを再生可能な構成としているが、再生可能なディスクメディアとしては、これに限定されるものではない。そして、これに伴って、デジタルデータ伝送路LNにより送出すべき信号のフォーマットも、SACDに対応するDSD信号以外とされてよいものであり、例えば他のフォーマットのデジタルオーディオ信号、デジタルビデオ信号とされてよい。また、再生データが記録されるメディアとしても、例えばテープメディアなど、ディスクメディアに限定される必要はない。
【0150】
また、受信側のデバイスに関しては、上記各実施の形態では、D/Aコンバータとしている。つまり、本発明における受信側の変調処理としてD/A変換処理であることとしている。しかし、本発明としてはこれに限定されるものではなく、送信側から送出されたデータについて、マスタークロックに基づくタイミングで連続再生に関連する所要のデータ処理を実行する構成を採るデバイスであれば、限定されるものではない。
さらに、上記各実施の形態では、送信側から受信側にデータを伝送するのに、IEEE1394データインターフェイスを採用しているが、パケット化を行ってデータの送受信を行うことのできる他のデータインターフェイスが採用されてよいものである。また、この場合のデータインターフェイスとしては、パーソナルコンピュータなどに採用されるローカルバスとされてもよいものである。
【0151】
【発明の効果】
以上説明したように本発明は、記録媒体から読み出して記憶手段(バッファRAM)に保持させたデータをデータ受信装置(D/Aコンバータ)側に送出するデータ送信装置(ディスクドライブ)の動作として、先ずは、データ受信装置から送信される制御信号(コントロール信号CNT又はコントロール用データ)を受信する。そして、この受信した制御信号に基づいて、パケット(アイソクロナス・パケット)に格納すべきデータ量(データサイズ:quadlet数)を決定したうえで、この決定したデータ量分のデータを記憶手段から読み出してパケットを生成して、データ受信装置側に送出するようにされる。
ここで、制御信号は、データ受信装置側での連続再生のための処理(例えばD/A変換処理)が破綻しないように、データ送信装置のデータ転送速度を制御することを目的として生成、送出されるものである。従って、この制御信号に応じて、パケットに格納するデータ量を決定することによっては、データ送信装置側から送出するデータのデータ転送レートを、データ受信装置側における上記連続再生のための処理速度タイミングに適合したものとすることが可能となる。
【0152】
そして、このようなデータ送信装置の動作は、データ受信装置からの制御信号に応じて、パケットに格納すべきデータサイズを直接的に可変制御しているということがいえる。このような構成の場合、記録媒体からデータを読み出す動作としては、所要のタイミングにより、所定のデータ単位により纏めて読み出して、逐次、記憶手段に保持させるようにすればよいことになる。つまりは、記録媒体から連続的にデータを再生するのに必要とされる、マスタークロック生成のための手段を備える必要はない。
【0153】
これにより本発明としては、連続再生すべきデータが記録された記録媒体からデータを読み出すための再生装置(データ送信装置)としては、マスタークロック生成のための構成を採る必要がないことから、それだけコストダウンが図られることとなる。
【0154】
また、再生装置としては、所要のタイミングにより、所定のデータ単位により纏めて読み出して、逐次、記憶手段に保持させる動作を実行するだけでよく、データの連続再生は、データ受信装置側の構成に依存する。
従って、本発明による再生装置(データ送信装置)としては、各種記録媒体に記録される各種の信号フォーマットに関わらず、共通して用いることが可能となる。つまり、信号フォーマットに対する広い互換性が得られることにもなる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態のシステム構成例を示すブロック図である。
【図2】実施の形態におけるブロッキング伝送によるデータ送出タイミング例を示すタイミングチャートである。
【図3】実施の形態のブロッキング伝送において、パケット内のデータサイズを決定するための基本的処理動作を示すフローチャートである。
【図4】実施の形態におけるノンブロッキング伝送によるデータ送出タイミング例を示すタイミングチャートである。
【図5】実施の形態のノンブロッキング伝送において、パケット内のデータサイズを決定するための基本的処理動作を示すフローチャートである。
【図6】第1の実施の形態におけるパケット送出処理の流れを示すブロック図である。
【図7】第1の実施の形態としての、パケット内のデータサイズ決定のための処理動作を示すフローチャートである。
【図8】第2の実施の形態としての、パケット内のデータサイズ決定のための処理動作を示すフローチャートである。
【図9】第2の実施の形態のシステム構成例を示すブロック図である。
【図10】第2の実施の形態におけるパケット送出処理の流れを示すブロック図である。
【図11】アイソクロナス・パケットの構造を示す説明図である。
【図12】従来としてのシステム構成例を示すブロック図である。
【図13】従来としてのシステム構成の他の例を示すブロック図である。
【符号の説明】
1 ディスクドライブ、2 ディスク再生部、3 システムコントローラ、4バッファRAM、5 インターフェイス部、10,10A D/Aコンバータ、11 D/A変換処理部、12 クロック発生器、13 水晶発振器、14 入出力器、15 バッファRAM、16 A/D変換処理部、21 送出速度決定機能、21A データサイズ測定機能、22 データサイズ決定機能、23 パケット生成機能、24 データ読込機能、25 パケット送出機能、CNT コントロール信号、LN,LN1 デジタルデータ伝送路
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data transmission device and method for transmitting digital data, for example, a program executed by such a data transmission device, and a storage medium on which the program is stored. In addition, the present invention relates to a data receiving device and a method corresponding to such a data transmitting device.
[0002]
[Prior art]
2. Description of the Related Art In recent years, audio discs, such as a CD-DA (Digital Audio) on which audio data is recorded, are widely used as disc media. Further, with the spread of, for example, DVDs, disk media on which video data having a larger capacity than audio data is recorded have also become widespread. The audio data and video data recorded on such a disk medium are different from, for example, data of a file such as a document or a still image generally handled by a personal computer or the like, and are continuously reproduced so that temporal continuity is maintained. Data to be done.
[0003]
FIG. 12 shows a configuration example of a system for reproducing audio data recorded on a CD-DA as an example of a system for reproducing a disk medium on which audio data and video data are recorded as described above.
In this figure, a disk drive 100 capable of reproducing a CD-DA, and data reproduced from the CD-DA by the disk drive 100 are input via a data transmission path, for example, D / A converted and converted into an analog audio signal. Is output.
[0004]
The disk drive 100 shown in this figure includes a disk reproducing unit 101 and a clock generator 102.
In this case, the disc reproducing unit 101 performs EFM demodulation processing, error correction processing by CIRC, and the like on the signal read from the CD-DA by, for example, an optical pickup, and a format in which the sampling frequency is 44.1 KHz and the sampling bit is 16 bits. To play digital audio data.
In this case, the reproducing process in the disk reproducing unit 101 is executed at a timing based on the master clock MCL supplied from the clock generator 102. The clock generator 102 is configured to generate a master clock MCL based on a frequency signal of crystal oscillator accuracy generated by a crystal oscillator 102a as shown in the figure.
[0005]
The digital audio signal reproduced by the disk reproducing unit 101 is transmitted and output to the D / A converter 110 via the digital data transmission line LN.
In this case, for example, IEC60958 is adopted as the digital data transmission line LN.
[0006]
When the digital data transmission line LN is IEC60958, the disc reproducing unit 101 performs bi-phase modulation on the reproduced digital audio data and outputs it as stream data, as is well known.
[0007]
The D / A converter 110 includes a D / A conversion processing unit 111 and a PLL circuit 112.
The D / A conversion processing unit 111 performs D / A conversion on the digital audio data input from the digital data transmission line LN and outputs it as an analog audio signal. The D / A conversion processing unit 111 executes the D / A conversion processing at a timing based on the master clock MCL generated by the PLL circuit.
[0008]
The PLL circuit 112 extracts a clock component (time information) included in the digital audio data stream input from the digital data transmission line LN. Then, based on the clock component, a master clock MCL synchronized with the digital audio data input from the digital data transmission line LN is generated and supplied to the D / A conversion processing unit 111.
[0009]
In recent years, IEEE 1394 has become widespread as an interface for digital data. As is well known, the IEEE 1394 data interface is not a stream transmission but a packet transmission. However, even with such an IEEE 1394 data interface, data transmission is performed such that temporal continuity of digital audio data is maintained. It is possible.
[0010]
FIG. 13 shows a configuration example of a CD reproduction system corresponding to a case where an IEEE 1394 data interface is adopted as the digital data transmission line LN. The system configuration shown in this figure includes a disk drive 100A and a D / A converter 110A. In this figure, the same parts as those in FIG.
The disk drive 100A includes a VCO (Voltage Controlled Oscillator) 103. As is well known, the VCO 103 forms a PLL circuit that receives the EFM signal read from the CD-DA in the disk reproducing unit 101 and generates a clock.
That is, the disk drive 100A is provided with a PLL circuit that receives the EFM signal reproduced from the CD-DA by the disk reproducing unit 101 and generates a clock. As is well known, the disk rotation servo control operation in the disk reproducing unit 101 is performed based on a frequency signal output from the VCO 103. The demodulation of the signal read from the CD-DA is executed at a timing based on the master clock MCL generated from the oscillation signal output from the VCO 103.
[0011]
In this case, the digital audio data reproduced by the disk reproducing unit 101 is input to the interface unit 104 corresponding to the IEEE 1394 data interface. The interface unit 104 packetizes the input data according to an isochronous packet format. Then, the isochronous packets are sequentially transmitted to the D / A converter 110A via the digital data transmission line LN at a predetermined timing.
[0012]
The D / A converter 110A in this case includes a clock generator 114 as a circuit part for generating the master clock MCL. The clock generator 114 generates a master clock MCL with crystal oscillator accuracy using the oscillation frequency of the crystal oscillator 114a, and supplies the master clock MCL to the D / A conversion processing unit 111.
[0013]
The D / A conversion processing unit 111 performs signal processing at a timing based on the master clock MCL having the above-described crystal oscillator accuracy. In this case, the D / A conversion processing unit 111 includes a buffer RAM 113 as a work area in response to data transmission via the digital data transmission path LN being packet transmission.
The D / A conversion processing unit 111 receives and inputs an isochronous packet transmitted from the digital data transmission line LN, extracts digital audio data from the isochronous packet, writes the digital audio data in the buffer RAM 113, and holds the buffer RAM 113. Note that writing / reading to / from the buffer RAM 113 in this case is performed so as to obtain an operation as a so-called ring buffer.
Then, the D / A conversion processing unit 111 continuously reads the data written and accumulated in the buffer RAM 113 in accordance with the timing of the master clock MCL supplied from the clock generator 114, and executes the D / A conversion processing. And outputs it as an analog audio signal.
[0014]
In addition, the D / A conversion processing unit 111 detects the remaining amount of the buffer RAM 113 when writing / reading data to / from the buffer RAM 113 as described above. Then, based on the detected remaining amount, a control signal CNT for controlling the data transfer rate transmitted from the disk drive 100A side is generated so that the buffer RAM 113 does not overflow or underflow, and is sent to the disk drive 100A side. Send and output. Note that the remaining amount of the buffer RAM 113 corresponds to the data processing speed (timing) in the D / A conversion processing unit 111. That is, a state in which the remaining amount increases and approaches an overflow corresponds to a state in which the data processing speed in the D / A conversion processing unit 111 is slow. A state in which the remaining amount is decreasing and approaching an underflow corresponds to a state in which the data processing speed in the D / A conversion processing unit 111 is increasing.
[0015]
The disk drive 100A operates so that the master clock MCL generated based on the oscillation frequency of the VCO 103 varies within a range of, for example, ± 1% according to the received control signal CNT.
In this manner, by changing the master clock MCL of the disk drive 100A, the disk rotation speed is changed in the disk playback unit 101, and the signal processing speed for signals read from the disk is also reduced to the disk rotation speed. It will be changed correspondingly. Thereby, the data rate of the digital audio data reproduced by the disk reproducing unit 101 is changed.
[0016]
In the interface unit 104, the input digital audio data is packetized and transmitted and output as an isochronous packet. However, in response to the input of the digital audio data at the data rate varied as described above, For example, the data size of digital audio data to be stored in an isochronous packet to be transmitted at regular intervals is changed.
As a result, the data transfer rate per unit time of the data transmitted from the disk drive 100A to the D / A converter 110A can be varied. Thus, overflow and underflow in the buffer RAM 113 of the D / A converter 110A are prevented from occurring. As a result, the D / A conversion processing unit 111 can continuously read data from the buffer RAM 113 and continue the process of D / A conversion, and the D / A conversion processing unit 111 Is maintained so that the analog audio signal is output.
[0017]
Here, comparing the system configuration shown in FIGS. 12 and 13 with the configuration for synchronizing the disk drive and the D / A converter, the following can be said.
First, in the system shown in FIG. 12, on the disk drive 100 side, data is continuously read from the CD-DA and transmitted to the D / A converter 110 by the master clock MCL fixed with the crystal oscillator accuracy. The / A converter 110 is configured to generate a master clock MCL synchronized with transmitted digital audio data and execute signal processing.
[0018]
On the other hand, in the case of the system shown in FIG. 13, in the disk drive 100A, digital audio is continuously output from the CD-DA in synchronization with the disk rotation speed by the master clock MCL generated by the PLL circuit (VCO 103). The data is reproduced and transmitted to the D / A converter 110A.
On the D / A converter 110A side, signal processing such as D / A conversion processing is executed by a master clock MCL fixed with crystal oscillator accuracy. Then, in the D / A converter 110A, the master clock MCL (oscillation frequency of the VCO 103) on the disk drive 100A side is varied according to the remaining amount of the buffer RAM 113, and the disk reproduction speed (that is, the data transfer speed to the D / A converter 110A) is changed. ). That is, the disk playback speed is synchronized with the processing timing of the D / A converter 110A.
[0019]
That is, in the system configuration shown in FIG. 12, the disk drive 100 is a clock master, and the D / A converter 100 is configured to execute signal processing in synchronization with the data transfer speed transmitted from the disk drive 100. .
On the other hand, in the system shown in FIG. 13, the D / A converter 110A side is used as a clock master, and the disk drive 100A side synchronizes with the processing timing of the D / A converter 110A so as to synchronize the data transfer speed. Is made to be variable.
[0020]
[Problems to be solved by the invention]
As described above, the systems shown in FIG. 12 and FIG. 13 have the difference that the devices that become the clock masters are different from each other. However, in each of the disk drives 100 and 100A, the disk reproducing unit 101 The common point is that digital audio signals are continuously read from the CD-DA and reproduced and output at processing timing based on the master clock MCL.
Such a configuration of the disc reproducing unit 101 is, for example, a configuration employed in a conventional CD player or the like because it is necessary to continuously reproduce digital audio signals.
[0021]
On the other hand, in recent years, mounting a disk drive on a personal computer, such as a CD-ROM drive, has become widespread.
However, the disk drive mounted on the personal computer as described above is originally configured to read data as a file recorded on a CD-ROM or the like. It is not assumed that data required to be continuously reproduced is read.
For this reason, the basic configuration of a disk drive mounted on a personal computer includes an operation of reading data from a loaded disk in a predetermined data unit and transferring the data to a RAM, a cache memory, or the like by packet transmission, for example. Has been to be. In other words, there is no need to continuously reproduce data from the disk in synchronization with the master clock as in the disk drives 100 and 100A shown in FIG. 12 or FIG. 13, so that the clock generator 102 and the VCO 103 ( A circuit portion for generating the master clock MCL, such as a PLL circuit, is not originally provided.
[0022]
As a current personal computer, it is possible to continuously reproduce digital audio data from a CD-DA using a disk drive such as the above-described CD-ROM drive.
However, this is possible because, in order to cope with continuous reproduction of CD-DA and the like, a clock generator and a PLL circuit as described above are additionally provided to continuously read a signal read from a disk. This is because it is configured to be reproducible.
[0023]
In other words, under the present circumstances, in order to continuously reproduce digital audio data by a disk drive such as a CD-ROM drive that performs a data read operation that does not require a master clock and that originally supports packet transmission, the above-described method is used. Thus, a circuit for generating a master clock is additionally provided.
[0024]
In this case, first, there is a problem that the cost of the device as a disk drive is increased by adding a circuit for generating a master clock.
[0025]
In recent years, not only CD-DAs, but also DVD media of various formats, and types of disk media tend to increase. Various types of digital audio data and digital video data can be recorded on such various types of discs as data to be continuously reproduced.
However, the frequency of the master clock at the time of continuously reproducing data differs between the various types of disks described above according to the data format, the disk format, and the like.
For this reason, when adopting a configuration in which data can be continuously played back by a disk drive in correspondence with various types of disk media, masters having different frequencies according to the standards for the corresponding disk media and data format are used. The configuration must be such that a clock can be generated. Specifically, for example, a plurality of clock generators and PLL circuits are provided so that a master clock corresponding to each disk medium or data format is generated, or a circuit that divides a plurality of clocks is provided. .
[0026]
As described above, even if a disk drive capable of continuously reproducing data is adapted to various disk media, it is necessary to adopt a configuration corresponding to a master clock having various frequencies as described above.
It is actually difficult to adopt such a configuration, and even if it is realized, the cost also increases. In addition, it is very difficult in practice to respond to a disk or digital audio / video data in a newly defined format because of the additional change of hardware. In other words, the conventional disk drives capable of continuous reproduction have poor compatibility, and lack expandability and versatility such as support for new formats.
[0027]
[Means for Solving the Problems]
Therefore, the present invention is configured as follows as a data transmission device in consideration of the above-described problem.
That is, a receiving means which receives a control signal transmitted from the data receiving apparatus to enable continuous reproduction of digital data by the data receiving apparatus and which controls a data transfer rate of data to be transmitted by the data transmitting apparatus. Reading means for reading digital data in a predetermined data unit from a recording medium, storage means for temporarily storing and holding digital data read by the reading means, and a control signal received by the receiving means, Determining means for determining the amount of data to be stored in the packet; and a packet for reading the digital data of the amount of data determined by the determining means from the storage means and storing the read data in the packet to generate a packet. Generating means for receiving the packet generated by the packet generating means, It was possible to configure the data transmitting apparatus and a transmitting means for transmitting to the device.
[0028]
The data transmission method is configured as follows.
That is, a receiving procedure for receiving a control signal transmitted from the data receiving apparatus to enable continuous reproduction of digital data in the data receiving apparatus and for controlling a data transfer rate of data to be transmitted from the data transmitting apparatus. A read control procedure for reading digital data from a recording medium in a predetermined data unit, a storage control procedure for temporarily holding digital data read by the read control procedure in a storage area, and a reception procedure Determining a data amount to be stored in the packet in accordance with the control signal received by the controller, reading digital data of the data amount determined by the determining procedure from the storage area, and storing the read data in the packet A packet generation procedure for generating a packet in accordance with The made packets configured to perform a transmission step of transmitting to said data receiving device.
[0029]
In addition, the program includes a control signal transmitted from the data receiving device to enable continuous reproduction of digital data in the data receiving device, and for controlling a data transfer rate of data to be transmitted from the data transmitting device. A receiving procedure for receiving, a read control procedure for reading digital data from the recording medium in a predetermined data unit, and a storage control procedure for temporarily holding digital data read by the read control procedure in a storage area A determining procedure for determining the amount of data to be stored in the packet in accordance with the control signal received in the receiving procedure; and reading out the digital data of the amount of data determined by the determining procedure from the storage area, Packet generation procedure for generating a packet by storing the The generated packet was be configured to perform a transmission step of transmitting to said data receiving device to the data transmission device by preparative generation procedure.
[0030]
Further, the program according to the present invention is stored as a storage medium of the present invention.
[0031]
According to each of the above configurations, the data transmitting apparatus according to the present invention reads out data to be continuously reproduced recorded on the recording medium, temporarily stores the data in the storage means, and reads out the data from the storage means (storage area). A configuration for transmitting by packet transmission is adopted. Then, the data transmitting device receives the control signal transmitted from the data receiving device side, and directly varies the amount of data to be stored in the packet according to the control signal. Thus, the data transfer speed is adapted to the speed timing of the process for continuous data reproduction on the data receiving device side.
With such a configuration, it is not necessary to adapt the data rate of reading data from the recording medium in the data transmitting device to the speed timing of the process for continuous data reproduction on the data receiving device side. That is, it is only necessary to have a function of reading data from the recording medium in a predetermined data unit and transferring the data to the storage means.
[0032]
Further, the data receiving device is configured as follows.
That is, receiving means for receiving a packet transmitted from the data transmitting apparatus, and data stored in the packet received by the receiving means are sequentially input, and continuous reproduction of the input data is performed at a timing based on the master clock. Demodulation means for performing demodulation processing to be performed, signal processing means for performing modulation processing so that an input signal becomes continuous data at a timing based on the master clock, and a signal obtained by the signal processing means. A transmission in which packets generated by storing data of a required data amount are sequentially transmitted at predetermined timing to the data transmission device as control signals for controlling the data transfer rate of data to be transmitted by the data transmission device. Means.
[0033]
The data receiving method is configured as follows.
A reception procedure for receiving a packet transmitted from the data transmission apparatus, and data stored in the packet received by the reception procedure are sequentially input, and the input data is continuously reproduced at a timing based on the master clock. A demodulation procedure for performing demodulation processing, a signal processing procedure for performing modulation processing so that an input signal becomes continuous data at a timing based on the master clock, and data obtained by the signal processing procedure are performed. Transmitting a packet generated by storing a required amount of data as a control signal for controlling a data transfer rate of data to be transmitted by the data transmitting device to the data transmitting device sequentially at a predetermined timing; and To be executed.
[0034]
According to the above configuration, the data receiving apparatus continuously reproduces (demodulates) data received as a packet at a timing based on the master clock. The control signal for controlling the data transfer rate of the data to be transmitted by the data transmitting device includes a sequence of packets storing continuous data obtained by performing a modulation process based on the same master clock as in the continuous reproduction. It becomes.
In this case, since the demodulation processing for continuous reproduction and the modulation processing are performed based on the same master clock, they are in synchronization with each other. Then, on the data transmitting device side, if its own data transfer speed is varied, for example, in accordance with the data transfer speed as this control signal, as a result, it corresponds to the speed timing of the demodulation processing on the data receiving device side. It can be a data transfer rate.
[0035]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described. The following description will be made in the following order.
1. First embodiment
1-1. System configuration
1-2. Isochronous packet
1-3. Disk drive packet transmission operation
1-3-1. Packet transmission operation (blocking transmission)
1-3-2. Packet sending operation (non-blocking transmission)
1-3-3. Function processing for packet transmission
1-3-4. Data size determination processing (blocking transmission)
1-3-5. Data size determination processing (non-blocking transmission)
2. Second embodiment
[0036]
1. First embodiment
1-1. System configuration
FIG. 1 shows a configuration example of a data reproduction system according to a first embodiment of the present invention. The data reproduction system shown in this figure has a configuration capable of reproducing an SACD (Super Audio CD).
SACD is a medium using a 1-bit digital audio signal system (DSD: Direct Stream Digital) using ΣΔ modulation. This DSD signal has a sampling frequency of 2.8224 MHz, which is 64 times higher than the sampling frequency fs (fs = 44.1 KHz) of the digital audio signal recorded on the CD-DA, and is ΔΣ modulated 1-bit quantization. Digital audio signal. The frequency band is a wide range from a DC component to 100 KHz, and enables signal reproduction beyond the audible frequency band. The dynamic range is a data format that can realize 120 (dB) over the entire audio band.
[0037]
The data reproduction system shown in FIG. 1 includes a disk drive 1 and a D / A converter 10.
The disk drive 1 includes a disk reproducing unit 2, a system controller 3, a buffer RAM 4, and an interface unit 5.
The disc reproducing unit 2 has a configuration in which a signal can be read in accordance with the SACD. However, the disc reproducing unit 2 does not have a function of continuously reproducing a digital audio signal (DSD signal) recorded on the SACD. That is, no clock generator or PLL circuit for generating a master clock required for continuous reproduction of the DSD signal is provided.
[0038]
The disc reproducing unit 2 reads a signal recorded on the SACD in a fixed data unit, and performs EFM-Plus demodulation (right to fourteen demodulation Plus) corresponding to the SACD format on the signal thus read. And a decoding process such as an error correction process based on a product code is performed. Then, in this case, the reproduced data after the decoding process is transmitted to the system controller 3.
In this case, the data reading and decoding processing by the disk reproducing unit 2 is executed at least at a double speed higher than the normal speed. Further, the reading of data from the disk by the disk reproducing unit 2 can be executed intermittently.
[0039]
The system controller 3 writes the reproduced data transmitted from the disk reproducing unit 2 to the buffer RAM 4 to temporarily store the data. That is, the reproduction data transmitted from the disk reproduction unit 2 is temporarily stored in the buffer RAM 4. In this case, the system controller 3 executes writing / reading control on the buffer RAM 4 so that the buffer RAM 4 can operate as a so-called ring buffer.
[0040]
Further, the system controller 3 reads out the reproduction data accumulated in the buffer RAM 4 as described above at a required timing, transfers the read data to the interface unit 5, and instructs the transmission of the reproduction data. The interface unit 5 transmits reproduced data to the D / A converter 10 via the digital data transmission line LN.
[0041]
Here, in the present embodiment, transmission of reproduction data through the digital data transmission line LN is performed by isochronous (Isochronous) communication using an IEEE1394 data interface. As is well known, the isochronous communication according to IEEE 1394 is a communication method that guarantees that a required data size is periodically transmitted and received. When transmitting data to be continuously reproduced, such as a digital audio signal and a digital video signal, it is common to store the data in an isochronous packet and packetize the data, and perform data transmission in units of the isochronous packet. On the other hand, a method of performing asynchronous communication irrespective of the cycle of isochronous communication is referred to as asynchronous communication.
[0042]
Transmission of reproduced data by isochronous communication under such an IEEE 1394 data interface is roughly as follows.
As described above, the buffer RAM 4 stores the reproduction data reproduced from the SACD. At a predetermined timing, the system controller 3 reads out the required amount of reproduced data required for packetization from the data stored in the buffer RAM 4. Then, the read data thus read is transmitted to the interface unit 5 to instruct transmission.
In the interface 5, the reproduced data input together with the transmission instruction is packetized by storing it in an isochronous packet as described above, and the isochronous packet is sequentially output to the digital data transmission line LN. You.
[0043]
Here, in the isochronous communication, it is assumed that a packet can be transmitted every 8 KHz cycle period. Therefore, the packet generation processing and the packet transmission processing in the interface unit 5 described above are executed at a timing corresponding to the cycle period of 8 KHz. In addition, the read processing of the system controller 3 for reading the reproduction data to be transmitted from the buffer RAM 4 and transmitting the reproduction data to the interface unit 5 is also executed at a timing corresponding to the cycle period of 8 KHz.
[0044]
The D / A converter 10 includes a D / A conversion processing unit 11, a clock generator 12, and a buffer RAM 13.
The clock generator 12 generates a master clock MCL based on the oscillation frequency generated by the crystal oscillator 12a, and supplies the master clock MCL to the D / A conversion processing unit 11. In this case, the frequency of the master clock MCL is set, for example, in correspondence with executing D / A conversion processing on the DSD signal. Specifically, since the DSD signal is 1-bit quantized data at a sampling frequency of 2.8224 MHz, it has a clock frequency corresponding to 1 (bit) × 2.8224 MHz = 2.8224 MHz.
[0045]
The D / A conversion processing unit 11 receives the isochronous packet transmitted through the digital data transmission line LN and executes unpacketization. That is, the reproduction data stored in the received isochronous packet is extracted. Then, the extracted reproduced data is transferred to the buffer RAM 4 and written therein, where it is temporarily stored.
The buffer RAM 13 can also operate as a ring buffer by the write / read processing by the D / A conversion processing unit 11.
[0046]
Then, the D / A conversion processing unit 11 continuously reads the reproduction data (DSD signal) stored in the buffer RAM 13 at a timing based on the master clock MCL output from the clock generator 12. Then, D / A conversion is performed on the data thus read out, and the data is output as an analog audio signal.
[0047]
Further, the D / A conversion processing unit 11 monitors the remaining amount of data in the buffer RAM 13. The remaining data amount can be obtained, for example, by calculating the difference between the value of the write address and the value of the read address for the buffer RAM 13.
Then, the D / A conversion processing unit 11 generates a control signal CNT for controlling the data transfer speed per unit time from the disk drive 10 based on the remaining amount of data in the buffer RAM 13.
That is, for example, when the remaining amount of data in the buffer RAM 13 increases beyond a certain amount, an instruction is issued to lower the data transfer speed in accordance with the increase amount. A control signal CNT instructing to increase the data transfer rate according to the amount is generated and transmitted to the disk drive 1 side.
Here, the remaining amount of data in the buffer RAM 13 corresponds to the jitter of the speed timing of the data processing in the D / A conversion processing unit 11. That is, a state in which the remaining data amount is more than a certain amount and is approaching an overflow corresponds to a state in which the data processing speed in the D / A conversion processing unit 11 is slow. On the other hand, a state in which the remaining data amount is smaller than the fixed amount and approaches an underflow corresponds to a state in which the data processing speed in the D / A conversion processing unit 11 is increasing.
[0048]
Then, the disk drive 1 operates so as to vary the data transfer rate to be transmitted to the digital data transmission line LN in accordance with the received control signal CNT, so that the data remaining in the buffer RAM 13 of the D / A conversion processing unit 11 is changed. The amount will always be controlled to be approximately appropriate. That is, control is performed so that overflow or underflow does not occur in the buffer RAM 13.
[0049]
The control signal CNT may be defined under, for example, an IEEE 1394 data interface, and transmitted as a command through an IEEE 1394 data bus by asynchronous communication. In this case, the transmission path for the control signal CNT and the digital data transmission path LN for the reproduction data are actually a common IEEE 1394 bus.
[0050]
In this case, in the disk drive 1, the control signal CNT is received by the interface unit 5 and acquired by the system controller 3.
The system controller 3 executes a control process based on the received and obtained control signal CNT so as to vary the data transfer rate transmitted from the digital data transmission line LN. That is, the present embodiment adopts a configuration in which the D / A converter 10 is a clock master and the disk drive 1 is synchronized with the operation timing of the D / A converter 10.
In the present embodiment, when changing the data transfer rate for synchronization, conceptually, the size (data amount) of the reproduction data stored in the isochronous packet and transmitted at an interval of 8 kHz is dynamically changed. The control process is executed so as to change to.
[0051]
It should be noted that, for the sake of confirmation, in the conventional system shown in FIG. 13, the D / A converter 110A is a clock master, and the disk drive 100A follows the D / A converter 110A and synchronizes. is there. Also in the system of FIG. 13, as a result, the size of the reproduction data in the isochronous packet transmitted from the digital data transmission line LN changes.
[0052]
However, in the disk drive 100A of FIG. 13, what is directly controlled in accordance with the control signal CNT is the frequency of the master clock MCL (that is, the oscillation frequency of the VCO 13). As a result, the size of the reproduction data in the isochronous packet transmitted periodically changes.
[0053]
On the other hand, in the present embodiment, what is directly varied by the disk drive 1 according to the control signal CNT is the data size to be read from the buffer RAM 4 and stored in the isochronous packet.
As a result, according to the present embodiment, in the configuration in which the D / A converter 10 is used as a master clock, the disk drive 1 does not have a configuration (for example, a PLL circuit) for generating a clock corresponding to continuous data reproduction. The drive 1 can change the data transfer speed in synchronization with the processing timing of the D / A converter 10.
[0054]
1-2. Isochronous packet
Here, prior to describing a packet transmission operation involving a variable data size in an isochronous packet in the disk drive 1, an IEEE 1394 transmission format related to the present embodiment will be described.
First, the structure of the isochronous packet will be described with reference to FIG.
The isochronous packet is also called CIP (Common Isochronos Packet).
The first 32 bits (1 quadlet) of the CIP are a 1394 packet header.
In the 1394 packet header, a 16-bit area is data_Length, a 2-bit area is tag, a 6-bit area is channel, a 4-bit area is tcode, and a 4-bit area is sy.
Then, a header_CRC is stored in an area of 1 quadlet following the 1394 packet header.
[0055]
An area of 2 quadlets following the header_CRC is a CIP header. In the upper two bits of the upper quadlet of the CIP header, '0' and '0' are stored, and the subsequent 6-bit area indicates an SID (transmission node number). An 8-bit area following the SID is a DBS (data block size), and indicates the size of the data block (unit data amount of packetization). Subsequently, areas of FN (2 bits) and QPC (3 bits) are set, FN indicates the number of divisions at the time of packetization, and QPC indicates the number of quadlets added for division. Is shown.
SPH (1 bit) indicates a flag of the header of the source packet, and DBC stores a counter value indicating the number of data blocks in the packet. Missing data in block units can be detected based on the value of DBC.
[0056]
The upper two bits of the lower quadlet of the CIP header respectively store '0' and '0'. Subsequently, areas of FMT (6 bits) and FDF (24 bits) are provided. The signal format (transmission format) is shown in the FMT, and the type of data (data format) stored in the CIP can be identified by the value shown here. Specifically, it becomes possible to identify MPEG stream data, Audio stream data, digital video camera (DV) stream data, and the like.
The FDF is a format-dependent field, and is an area indicating a further subdivided classification of the data format classified by the FMT. If the data is related to audio, for example, it is possible to identify whether the data is linear audio data or MIDI data.
[0057]
Here, for example, when the FMT indicates that it is MPEG, the FDF stores synchronization control information called TSF (time shift flag). When the FMT indicates that the camera is a DVCR (digital video camera), the FDF is defined as shown in the lower right of FIG. Here, the number of fields per second is defined by 50/60 (1 bit) in order from the top, and STYPE (5 bits) indicates whether the video format is SD or HD, and SYT indicates the frame format. A time stamp for synchronization is shown.
[0058]
Also, when FMT indicates that the data is reproduction data (DSD signal) from the SACD according to the present embodiment, SYT is to be stored in the field of FDF. Frame synchronization can be obtained.
[0059]
Following the CIP header, a data block area is arranged. In this data block area, data indicated by FMT and FDF is stored in a sequence of n data blocks (quadlets). In the present embodiment, reproduction as a DSD signal read by the buffer RAM 4 is performed. Data will be stored as this sequence of data blocks.
After the data block, data_CRC is finally placed.
[0060]
1-3. Disk drive packet transmission operation
1-3-1. Packet transmission operation (blocking transmission)
Subsequently, an operation of transmitting an isochronous packet of the reproduction data (DSD signal) from the SACD by the disk drive 1 will be described.
First, in this embodiment, when transmitting SACD data (DSD signal) under the IEEE 1394 data interface standard, a basic data size to be stored in one isochronous packet is determined as follows. And Note that SACD data (DSD signal) is defined as one of data types that can be transmitted in TA Document 2001003 as a standard of the IEEE 1394 data interface.
[0061]
Since the DSD signal is an audio signal having a sampling frequency of 2.8224 MHz, the data rate of this audio signal is:
1 bit x 2.82224 MHz = 2.8224 M bit per sec
It becomes.
As described above, the transfer cycle in isochronous communication is 8 KHz, so the data size to be transferred by one isochronous packet is as follows.
2.8224 Mbit / 8k = 352.8 bit per cycle
Can be expressed as
[0062]
As shown in FIG. 11, the unit of the data block in the isochronous packet is 1 quadlet = 32 bits. As for the DSD signal, 24 bits out of 1 quadlet = 32 bits are used.
The amount of data that can be transmitted for each transfer cycle is in quadlet units. Therefore, when the data size to be transferred by one isochronous packet is treated as a quadlet unit,
352.8 bits / 24 bits = 14.7 quadlet per cycle
It is expressed as That is, it is derived that ideally, data of a DSD signal having a data block size of 14.7 quadlets should be stored for an isochronous packet transmitted every 8 KHz cycle.
[0063]
Based on the above, the disk drive 1 of the present embodiment stores the DSD signal, which is reproduction data, in an isochronous packet and sends it out, as described below.
By the way, according to the standard of the IEEE 1394 data interface, data transmission by isochronous packets is defined in two well-known methods, blocking transmission and non-blocking transmission.
The blocking transmission is a transmission method in which the data size stored for each isochronous packet is fixed, but a transfer cycle period during which no data is transmitted is permitted. On the other hand, non-blocking transmission is a transmission method in which the data size to be stored for each isochronous packet is allowed to be changed, but data is always stored and transmitted for each transfer cycle. .
[0064]
First, a case where a DSD signal is transmitted by blocking transmission will be described with reference to FIG.
FIG. 2A shows a SYT timing pulse. The SYT timing pulse is a pulse synchronized with the time stamp stored in the SYT in the FDF field in the CIP header in the structure of the isochronous packet shown in FIG. 11, and has a frequency of 7.35 KHz, for example. Here, a period corresponding to one cycle of the SYT timing pulse is referred to as a SYT period.
[0065]
FIG. 2B shows an event sequence of the DSD signal. In this event sequence, as can be seen from the fact that the timing of each event corresponds to one quadlet of data, the reproduced data (DSD signal) reproduced from the SACD and stored in the buffer RAM 4 is converted into a data block (quadlet = It corresponds to a data string arranged in units of 24 bits). In this figure, events (data blocks) updated by the SYT time stamp are indicated as R2, R3, and R4 according to the lapse of time. Here, these R2, R3, R4... Also indicate the value of the SYT time stamp. The playback data portion of the event corresponding to the SYT is the head data of the frame synchronized with the SYT.
As can be seen with reference to FIGS. 2A and 2B, 16 events correspond to each SYT period. That is, when the transmission data is a DSD signal, 16 quadlets should be transmitted corresponding to each cycle of the SYT timing pulse.
[0066]
The DSD signal in the buffer RAM 4 schematically shown as an event sequence in FIG. 2B is read out by the system controller 3 and stored in an isochronous packet by the interface unit 5 to be packetized. become.
FIG. 2C shows the reproduction data (DSD signal) stored in the isochronous packet for each transfer cycle in data block (quadlet) units. As described above, the transfer cycle of the isochronous packet (nominal isochronous cycle) is 8 KHz, which is 0.65 KHz higher than the above-mentioned frequency of the SYT timing pulse, 7.35 KHz.
[0067]
If the DSD signal is transmitted in packets, as described above, ideally, data having a size of 14.7 quadlets should be transmitted for each cycle period. However, the data size actually stored and transmitted in the isochronous packet is defined as an integer multiple of the number of quadlets. This is the same in non-blocking transmission described later.
[0068]
Therefore, in the present embodiment, in storing the DSD signal in the isochronous packet in the blocking transmission, the data size to be stored is fixed at 16 quadlets.
As described with reference to FIGS. 2A and 2B, this is a relationship in which 16 quadlets of reproduced data are transmitted as the data rate of the DSD signal with respect to the timing of one cycle of the SYT timing pulse. Based on that. If the transmission is performed by 16 quadlets in this way, the reproduction data transmitted for each transfer cycle can be frame units. This can be understood from the fact that the first quadlet of the 16-quadlet playback data shown in FIG. 2C corresponds to the update timing of the SYT time stamp.
[0069]
In FIG. 2C, first, in the first transfer cycle (nominal isochronous cycle) corresponding to the period t2 to t3, it is assumed that SYT = R1 in the 1 SYT period immediately before the time t1 shown in FIG. 2B. DSD signals for 16 quadlets are stored in an isochronous packet and transmitted.
FIG. 2D shows the DBC stored in the CIP packet header of the isochronous packet transmitted in the transfer cycle of the period t2 to t3. In this case, 0 which is the initial value is shown. Here, DBC is a value obtained by integrating the number of quadlets of data transmitted by one isochronous packet.
The value stored in the SYT of this isochronous packet is R1, as shown in FIG.
[0070]
In the subsequent transfer cycle as periods t3 to t5, in FIG. 2B, a DSD signal for 16 quadlets corresponding to the SYT period of periods t1 to t4 is stored in an isochronous packet and transmitted.
The DBC of the isochronous packet transmitted in the transfer cycle during the period t3 to t5 is counted up in response to the transmission of the 16 quadlet DSD signal in the immediately preceding transfer cycle, and as shown in FIG. ), The value 16 is stored. As shown in FIG. 2E, the SYT of the isochronous packet indicates R2.
[0071]
Then, in the transfer cycle of the periods t5 to t7 subsequent to the periods t3 to t5, an empty packet or an isochronous packet of NO-DATA is transmitted. That is, in the period from t5 to t7, the reproduction data (DSD signal) is not read out from the buffer RAM 4 and transmitted.
In this case, since the entity of the DSD signal is not stored in the transmission packet, SYT shown in FIG. 2E is set to No Info, and a meaningful value is not stored. However, as long as the packet is transmitted, the DBC of the isochronous packet shown in FIG. 2D stores the counted up value. Here, a value 32 is stored, which is 16 more counted up from the DBC value 16 of the isochronous packet transferred in the immediately preceding transfer cycle.
[0072]
In the transfer cycle of the period t7 to t9 following the period t5 to t7, in FIG. 2B, the DSD signal of 16 quadlets starting from SYT = R3 corresponding to the period t4 to t6 is stored in the isochronous packet. Sent out. In other words, in the period t7 to t9, the DSD signal read from the buffer RAM 4 and packetized in the previous period t3 to t5 is packetized with the subsequent 16 quadlet DSD signal.
The DBC of the isochronous packet in the transfer cycle during the period t7 to t9 is further counted up by 16 to show the value 48 as shown in FIG. SYT stored in this isochronous packet indicates R3.
[0073]
Further, in the transfer cycle starting from the time point t9 following the time periods t7 to t9, the DSD signal for 16 quadlets starting from SYT = R4 corresponding to the time period t6 to t8 in FIG. Is to be.
As shown in FIG. 2D, the DBC of the isochronous packet in the transfer cycle started from the time point t9 has a value 64 obtained by counting up from the value 48 by 16. Shows the value 48. The SYT stored in the isochronous packet indicates R4 as shown in FIG.
[0074]
In this way, in the present embodiment, in blocking transmission, a data size fixed at 16 quadlets is stored in an isochronous packet and transmitted in principle.
However, during the period from t5 to t7 in FIG. 2C, an empty packet or a NO-DATA isochronous packet is transmitted, and the actual DSD signal is not transmitted. In other words, in the blocking transmission according to the present embodiment, an empty packet or a NO-DATA isochronous packet is intermittently transmitted, for the following reason.
[0075]
As mentioned above, the transmission of the DSD signal is ideally 14.7 quadlets per cycle period. Further, as described above, the transfer cycle of the isochronous packet (nominal isochronous cycle) is 8 KHz, whereas the frequency of the SYT timing pulse shown in FIG. 2A is 7.35 KHz. The transfer cycle of the isochronous packet is faster. This is because the timing of the transfer cycle shown in FIG. 2C progresses temporally with respect to the timing of the SYT period shown in FIGS. 2A and 2B and the corresponding event sequence. I understand.
[0076]
Therefore, if a DSD signal with a fixed data size of 16 quadlets is always stored and transmitted for an isochronous packet, the data transfer rate per unit time will be higher than the actual data rate of the DSD signal.
As a result, for example, as shown in the event sequence at time t5, which is the start time of the transfer cycle in FIG. 2, the data for 16 quadlets starting from the SYT time stamp R3 to be transmitted next is written into the buffer RAM 4. Not completed. In other words, at the start of the transfer cycle at time t5, data for the next 16 quadlets to be transmitted is not prepared.
[0077]
Therefore, as described above, the blocking transmission according to the present embodiment is performed when the buffer RAM 4 does not store 16 quadlets of data to be transferred next, when an empty packet or NO-DATA By transmitting the isochronous packet, a period of a transfer cycle in which the DSD signal is not transmitted is provided.
By forming a period of the transfer cycle in which the DSD signal is not transmitted at the required timing in this way, as a result, the DSD signal is not transmitted for a certain fixed time width. (2.8224M bit per sec). As a result, synchronization with the data processing speed on the receiving side can be obtained, and data processing on the receiving side can be prevented from being broken. In the present embodiment, “synchronizing with the data processing speed on the receiving side” means that the buffer RAM provided for data processing on the receiving side does not overflow or underflow. Point,
When the blocking transmission according to the present embodiment is regarded as a data size to be stored in an isochronous packet, the data size is variable between a data size corresponding to 16 quadlets and a data size of 0. It can be said that.
[0078]
For example, the reproduction data as the DSD signal stored and transmitted in the isochronous packet as described above is received by the D / A converter 10 and stored in the buffer RAM 13 as described in FIG. Is done. Then, the D / A conversion processing section 11 continuously reads out the reproduction data stored in the buffer RAM 13 and executes the D / A conversion processing.
[0079]
FIG. 2F shows an event sequence corresponding to the D / A conversion processing. This also corresponds to the fact that the reproduction data (DSD signal) read from the buffer RAM 13 for the D / A conversion processing is indicated in quadlet units.
The reproduced data in quadlet units corresponding to the event sequence shown in FIG. 2 (f) is synchronized with the SYT timing pulse reproduced on the D / A converter 10 side as shown in FIG. 2 (g). , SYT period, D / A conversion is performed at a speed timing of 16 quadlets.
It can be seen that the timings of the data processing shown in FIGS. 2F and 2G are the same as those in FIGS. 2A and 2B. That is, the D / A converter 10 performs data processing on the DSD signal reproduced by the disk drive 1 at an appropriate timing based on the data rate and time information (SYT) corresponding to the DSD signal. Will be.
Also, in this figure, as can be seen by comparing FIG. 2B and FIG. 2F, the event sequence timing on the D / A converter 10 side is different from the event sequence timing on the disk drive 1 side. It is also shown that a delay (TRANSFER DELAY) occurs corresponding to the time required for transmission.
[0080]
When the blocking transmission is actually performed as described above, as a necessary minimum, the data transmission by the isochronous packet is performed at a data transfer rate equivalent to the original data rate of the DSD signal. It is necessary to determine whether to store 16 quadlets or 0 quadlets (empty packet or No-Data packet).
Thus, in the present embodiment, the processing shown in the flowchart of FIG. 3 is executed as the processing operation for determining the data size in such blocking transmission.
In the system shown in FIG. 1, the disk drive 1 determines the size of the reproduction data to be stored in the isochronous packet based on the control signal CNT transmitted from the D / A converter 10. . However, here, for simplicity of explanation, a basic process that does not include an element of the data determination process based on the control signal CNT will be described. That is, a data size determination process for simply obtaining a data transfer rate according to the data rate (2.8224 M bit per sec) of the DSD signal when the DSD signal is stream-outputted will be described. The data size determination processing including the control signal CNT as a determination element will be described later.
[0081]
Then, the processing operation shown in FIG. 3 is as follows. When the processing shown in this figure is applied to the disk drive 1 in FIG. 1, the system controller 3 must execute the processing.
Here, when it is determined that the timing to start transmitting the DSD signal as reproduction data has been reached, first, in step S101, initialization is performed.
As the initial setting, first, for a numerical value X indicating an ideal data size to be stored in one isochronous packet and a variable Z indicating a value of a cumulative calculation register,
X = 14.7
Z = 0.0
Initialize to Hereinafter, the numerical value X is referred to as “ideal transmission data size X”, and the variable Z is referred to as “accumulated calculation register value Z”.
As described above, since the ideal value of the data size to be stored in one isochronous packet is 14.7 quadlets, the ideal transmission data size X is the number of quadlets as this ideal value. .7 is set. In the processing shown in this figure, the ideal transmission data size X is a fixed value.
As will be understood from the following description, the cumulative calculation register value Z indicates the actual transmission data size (16 quadlet) and the ideal transmission data size (14.7 quadlet) when 16 quadlet playback data is continuously transmitted. ± 1%), and represents the difference between the originally required data rate and the data transfer rate due to actual data transmission. Therefore, at the start of transmission of the DSD signal as reproduction data, 0.0 is set.
[0082]
After the initialization is performed as described above, the processing shown as steps S102 to S106 is repeatedly executed until the data transmission is completed.
First, according to the cycle start timing at the start of the transfer cycle, in step S102, the current accumulated calculation register value Z
Z <16quadlet
It is determined whether or not the relationship is established.
[0083]
As described above, the cumulative calculation register value Z represents a difference between the originally requested data rate and the data rate by actual data transmission, and the cumulative calculation register value Z is smaller than 16 quadlets. At this point corresponds to a state in which 16 or more quadlets of data to be read are stored in the buffer RAM 4.
Therefore, in step S102, if the cumulative calculation register value Z is less than 16 quadlets and a positive result is obtained, the process proceeds to step S103 and subsequent steps.
[0084]
In step S103, as a variable Y (referred to as “actual transmission data size Y”) indicating the data size to be actually transmitted,
Y = 16
Set. That is, it is determined that the actual data size to be stored in the isochronous packet is 16 quadlets. As a result, for example, at the timing of the next transfer cycle, data of 16 quadlets is read from the buffer RAM 4, stored in an isochronous packet, and transmitted.
[0085]
In the next step S104, the accumulated calculation register value Z is calculated based on the ideal transmission data size X (= 14.7) and the current actual transmission data size Y (here, Y = 16 always).
Z = Z + (Y−X)
Is updated by performing the operation represented by. Then, the process returns to step S102 according to the timing of the next cycle start.
As can be seen from the above equation, when the DSD signal having the size of 16 quadlets is transmitted through the processing from step S102 to S103, the cumulative calculation register value Z is equal to the size of the 16 quadlets actually transmitted and the ideal transmission data size. A value obtained by integrating 1.3, which is a difference value from 14.7 quadlets, which is X, is obtained. That is, as described above, this indicates the error between the original data rate of the DSD signal and the data transfer rate of the data actually transmitted at the present time based on the quadlet (24 bit) unit. It is.
[0086]
In step S102, if a negative determination result is obtained that Z <16 quadlet is not established for the accumulated calculation register value Z, the process proceeds to step S105 and subsequent steps.
A case where a negative determination result is obtained in step S102 is a case where the cumulative calculation register value Z becomes equal to or greater than 16 quadlets. This indicates that, at the present time, the amount of data to be read in the buffer RAM 4 is assumed to be smaller than 16 quadlets.
Therefore, in this case, Y = 0 is set for the actual transmission data size Y in step S105. As a result, an empty packet or a No-Data packet is transmitted depending on the current transfer cycle.
Then, in the subsequent step S106, regarding the current accumulated calculation register value Z,
Z = Z-16
Is performed by performing the calculation represented by.
By transmitting an empty packet or a No-Data packet in accordance with the processing in step S105, it is determined that 16 quadlets of data to be blocked and transmitted are not transmitted in this transfer cycle. The processing in step S106 is performed in response to the fact that it is necessary to substantially subtract 16 quadlets as the cumulative calculation register value Z. In practice, a value close to 0.0 is obtained as the cumulative calculation register value Z depending on the calculation processing in step S106.
After the process of step S106 is performed, the process returns to step S102 at the next cycle start timing.
[0087]
In the present embodiment, as described above, based on the determination result of step S102, the size of the reproduction data (DSD signal) to be stored in the isochronous packet is set to 16 quadlets or 0 quadlet (empty packet or No-Data). Packet). Thus, the actual data transfer rate (data transfer rate) in a certain unit time is made equal to the original data rate of the DSD signal.
[0088]
1-3-2. Packet sending operation (non-blocking transmission)
Next, a description will be given of a case where non-blocking transmission is performed as an operation of transmitting an isochronous packet of reproduction data (DSD signal) from the SACD by the disk drive 1 with reference to FIG.
In the non-blocking transmission, as described above, the data size to be stored for each isochronous packet is allowed to vary. However, it is stated that data must be stored and transmitted every transfer cycle.
[0089]
4A and 4B show a SYT timing pulse and an event sequence of a DSD signal corresponding to the SYT timing pulse, similarly to FIGS. 2A and 2B described above. Have been.
[0090]
In the present embodiment, when transmitting a DSD signal by non-blocking transmission, as shown in FIG. 4C, an isochronous packet storing reproduction data (DSD signal) for 14 quadlets or a 15 quadlet is stored. An isochronous packet storing the reproduction data (DSD signal) is generated and transmitted.
That is, the transmission of the DSD signal is ideally set to 14.7 quadlets for each cycle period. In this case, the reproduced data of 14 quadlets or 15 quadlets, which are the integer numbers of quadlets before and after that, are stored. And send it out accordingly.
As a result, as to the size of the reproduction data to be stored in the isochronous packet, which of 14 quadlets and 15 quadlets is determined appropriately for each transfer cycle, as a result, a certain group is obtained. , The average of the number of quadlets sent out in successive cycles of 14.7 quadlets is 14.7 quadlets. That is, the data transfer rate in a certain time width can be made equal to the data rate (2.8224 M bit per sec) of the DSD signal, and the data transfer rate synchronized with the data processing on the receiving side can be achieved. (Data transfer speed) can be maintained.
[0091]
Here, in FIG. 4C, as a specific example, first, in a transfer cycle (nominal isochronous cycle) of the period t2 to t3, 14 quadlets of reproduction data are stored. In the reproduced data of the 14 quadlets, the data of one quadlet corresponding to SYT = R1 indicated by the event sequence shown in FIG. 4B is the 14th quadlet.
In this case, the DBC of the isochronous packet transmitted in the transfer cycle of the period t2 to t3 is, for example, 3 as shown in FIG.
In addition, in correspondence with the storage of 1 quadlet of data corresponding to SYT = R1 as block data, a value indicating R1 is stored in SYT of this isochronous packet.
[0092]
In the transfer cycle as the subsequent period t3 to t5, 14 quadlets of reproduced data are stored following the 1 quadlet of data corresponding to SYT = R1.
Since the SYT is updated at the timing of every 16 quadlets, the reproduced data of the 14 quadlets does not include the frame head data synchronized with the SYT. Therefore, the SYT shown in FIG. 4E is No Info. In addition, the DBC shown in FIG. 4D indicates 17 by counting up by 14 quadlets from the state where the value in the previous transfer cycle was 3.
[0093]
Then, in the transfer cycle of the next period t5 to t7, 15 quadlets of reproduced data following the reproduced data transmitted in the previous transfer cycle (period t3 to t5) are stored.
The reproduction data for 15 quadlets includes data for 1 quadlet corresponding to the event of SYT = R2. Therefore, a value indicating R2 is stored in the SYT of the isochronous packet as shown in FIG. In this case, the DBC counts up from 14 to 14 in response to the transmission of 14 quadlets in the previous transfer cycle (period t3 to t5). 31) is stored.
[0094]
Further, in the transfer cycle of the next period t7 to t9, the reproduction data for 15 quadlets following the reproduction data transmitted in the previous transfer cycle (period t5 to t7) is stored.
Since the reproduced data of 15 quadlets includes data of 1 quadlet corresponding to the event of SYT = R3, the SYT of the isochronous packet is R3 as shown in FIG. In addition, the DBC in FIG. 4D has been sent out for 15 quadlets in the previous transfer cycle (period t5 to t7), so that the count up of 31 is further performed on 31 and the count becomes 46.
[0095]
Then, in the transfer cycle starting from time point t9, 15 quadlets of reproduced data following the reproduced data transmitted in the previous transfer cycle (period t7 to t9) are stored.
Since the reproduced data for 15 quadlets includes data for 1 quadlet corresponding to the event of SYT = R3, the SYT in FIG. 4E is R4. In the DBC of FIG. 4D, 15 quadlets have been transmitted in the previous transfer cycle (period t7 to t9), so that the count of 15 is performed on 46, and the DBC becomes 61.
[0096]
In the case of non-blocking transmission, the number of quadlets stored in an isochronous packet is 14 or 15. On the other hand, the frame corresponding to SYT is 16 quadlets. For this reason, as shown in FIG. 4C, SYT time stamps (R1, R2, R3, R4...) Are used in the reproduction data of 14 quadlets or 15 quadlets stored in the isochronous packet. ) Does not always exist. Even if it exists, it does not always become the head of a data block as in the case of blocking transmission.
However, even if the reproduction data (DSD signal) is transmitted by the non-blocking transmission in this way, the D / A converter 10 receiving the data extracts the information of the SYT time stamp from the received reproduction data. A SYT timing pulse is generated. As a result, as shown in FIGS. 4F and 4G, the reproduction data (DSD signal) stored in the buffer RAM 13 is appropriately processed in frame units.
[0097]
When the non-blocking transmission shown in FIG. 4 is actually performed, the reproduced data to be stored in the isochronous packet is transmitted at a data transfer rate equivalent to the original data rate of the DSD signal. It is necessary to determine whether the size is 14 quadlet or 15 quadlet.
The processing operation for this is shown in the flowchart of FIG. Note that the processing shown in FIG. 5 is also intended to simply obtain a data transfer rate corresponding to the data rate (2.8224 Mbit per sec) of the DSD signal when the DSD signal is stream-output. Basic data size determination processing will be described. The data size determination processing including the control signal CNT as a determination element in non-blocking transmission will be described later.
[0098]
In FIG. 5 as well, when it is determined that it is time to start sending a DSD signal as reproduction data, first, in step S201, initial settings are performed. This initial setting process is performed for the ideal transmission data size X and the cumulative calculation register value Z in the same manner as in step S101 of FIG.
X = 14.7
Z = 0.0
Initialize to
[0099]
After the initialization is performed in step S201, the current accumulated calculation register value Z is calculated in step S202 according to the cycle start timing.
Z <1 quadlet
It is determined whether or not the relationship is established.
As described above, the cumulative calculation register value Z in this case also indicates the difference between the originally requested data rate and the data rate by actual data transmission. However, the comparison target value in step S202 is 1 quadlet. In the non-blocking transmission, the data size to be transmitted is set to 14 quadlets or 15 quadlets, and is set in response to the difference of 1 quadlet between them. In step S202, the accumulated calculation register value Z is set to If the result is less than 1 quadlet and a positive result is obtained, the process proceeds to step S203.
[0100]
In step S203, as the actual transmission data size Y,
Y = 15
Set. That is, it is determined that the actual data size to be stored in the isochronous packet transmitted in the current transfer cycle is 15 quadlets. After executing the processing in step S203, the process proceeds to step S205.
[0101]
On the other hand, if a negative result is obtained in step S202 that the cumulative calculation register value Z is equal to or larger than 1 quadlet, the process proceeds to step S204.
In step S204, as the actual transmission data size Y,
Y = 14
Is set, and the process proceeds to step S205.
[0102]
In step S205, the cumulative transmission register value Z is calculated based on the ideal transmission data size X (= 14.7) and the current actual transmission data size Y (Y = 16 or Y = 15).
Z = Z + (Y−X)
Is updated by performing the operation represented by. Then, the process returns to step S202 according to the timing of the next cycle start.
[0103]
According to such processing, the data size to be stored in the isochronous packet is determined such that if the cumulative calculation register value Z is less than 1 quadlet, it is 15 quadlets, and if it is 1 quadlet or more, it is 14 quadlets.
As a result, the actual data transfer rate can be set to the same data transfer rate (data transfer rate) as the data rate of the original DSD signal.
[0104]
1-3-3. Function processing for packet transmission
In the present embodiment, the DSD signal is transmitted by blocking transmission or non-blocking transmission as described above. In addition, in the disk drive 1 according to the first embodiment shown in FIG. 1, the data is transmitted from the D / A converter 10 so that the data processing speed timing and synchronization of the D / A converter 10 as the receiving device can be obtained. Based on the control signal CNT, the data size to be stored in the isochronous packet is determined. That is, it controls the data transfer rate (data transfer rate).
[0105]
Therefore, first, a flow of a process for transmitting a packet of the disk drive 1 including a process of determining a data size to be stored in the above-mentioned isochronous packet will be described with reference to FIG.
FIG. 6 shows, as functional blocks, a process for transmitting an isochronous packet realized based on the hardware configuration of the disk drive 1 shown in FIG. The processing flow shown in this figure is common to blocking transmission and non-blocking transmission.
[0106]
As shown in this figure, the functions related to the packet transmission processing realized by the disk drive 1 include a transmission speed determining function 21, a data size determining function 22, a packet generating function 23, a data reading function 24, and a packet transmitting function 25. Will be prepared.
The transmission speed determination function 21 receives the control signal CNT input from the D / A converter 10 and determines the transmission speed of the reproduction data transmitted from the digital data transmission line LN. The data size determination function 22 determines the size of the reproduction data to be stored and transmitted in one isochronous packet in accordance with the transmission speed determined by the transmission speed determination function 21. The data size determination function 22 determines that the size is 16 quadlets or 0 quadlet in response to blocking transmission. In addition, the size is determined to be 14 quadlets or 15 quadlets corresponding to the non-blocking transmission.
The transmission speed determining function 21 and the data size determining function 22 are operations of the system controller 3 that has received the control signal CNT.
[0107]
The packet generating function 23 instructs the data reading function 24 to read a data amount corresponding to the data size determined by the data size determining function 22. The data reading function 24 reads the specified amount of reproduced data from the reproduced data (DSD signal) read from the SACD and stored in the buffer RAM 4. The read timing is in accordance with the transfer cycle (8 KHz) of the isochronous packet, as understood from the above description. Also, the data amount to be read corresponds to 16 quadlets for blocking transmission or 0 quadlets by not performing reading. Also, in the case of non-blocking transmission, it corresponds to 14 quadlets or 15 quadlets.
The packet generation function 23 generates the isochronous packet by storing the read data (DSD signal) read out as described above in the data block area.
The packet generating function 23 and the data reading function 24 are obtained as a process of reading data from the buffer RAM 4 by the system controller 3 and a process of generating a packet by the interface unit 5 under the control of the system controller 3.
[0108]
The packet transmitting function 24 transmits the packet generated by the packet generating function 23 to the receiving side (D / A converter 10) via the digital data transmission line LN, for example, in the next transfer cycle after the generation. .
The packet transmission function 24 is obtained as a packet transmission output process by the interface unit 5 under the control of the system controller 3.
[0109]
1-3-4. Data size determination processing (blocking transmission)
Hereinafter, the processing operation that the system controller 3 should execute to implement the data size determination function 22 shown in FIG. 6 will be described. That is, the data size is determined based on the control signal CNT.
Here, the case of blocking transmission will be described first. The basic operation of the blocking transmission according to the present embodiment is as described above with reference to FIGS. 2 and 3, and the processing for realizing the data size determination function 22 is based on this.
[0110]
The flowchart in FIG. 7 shows processing in the case of blocking transmission as data size determination processing by the data size determination function 22.
Note that, in the process shown in FIG. 7, S301, S302, S303, S308, steps S309, and S310 are the same processes as the steps S101 to S106 previously shown in FIG.
[0111]
Also in the processing shown in FIG. 11, if it is determined that the timing to start transmitting the DSD signal as the reproduction data has come, in step S301, the ideal transmission data size X = 14.7 and the cumulative calculation register value Z
X = 14.7
Z = 0.0
And initialization. Note that the ideal transmission data size X is originally a constant which is fixed at 14.7, and is not changed as a constant in the processing of FIG. However, in the processing shown in this figure, the ideal transmission data size X is treated as a variable that can be changed to a required value according to the value of the control signal CNT as described later.
[0112]
After the initialization is performed as described above, the process is repeatedly executed from step S302 at each cycle start timing until data transmission is completed.
Also in this step S302, similarly to step S302 in FIG.
Z <16quadlet
It is determined whether or not the relationship is established. Then, when a positive result is obtained, the process proceeds to the processes after step S303.
First, in step S303, as the actual transmission data size Y,
Y = 16
Is set, and the process proceeds to step S304.
[0113]
Here, the system controller 3 receives the control signal CNT transmitted from the D / A converter 10 and recognizes the value. Here, as the control signal CNT, a value indicating that the data transfer speed is changed by + 1% (increase by 1%), a value indicating that the data transfer speed is changed by 0% (no change), and a value of −1% (A 1% delay).
Then, in step S304, the value of the control signal CNT obtained at the present time is determined.
[0114]
If it is determined in step S304 that the value indicates a + 1% variable, the process proceeds to step S305. In step S305, X = 14.847 is set for the ideal transmission data size X. The value of X = 14.847 corresponds to + 1% variable,
X = 14.7 × 1.01 = 14.847
This is a value obtained by performing the above operation.
If it is determined in step S304 that the value indicates a 0% variable, the flow advances to step S306 to set X = 14.7, which is the value of the original ideal transmission data size. .
If it is determined in step S304 that the value indicates a -1% variable, the process advances to step S307 to set X = 14.553 for the ideal transmission data size X. This value of X = 14.553 corresponds to a -1% variable,
X = 14.7 × 099 = 14.553
Is obtained by performing the following operation.
After executing any one of the steps S305, S306, and S307, the process proceeds to step S308.
[0115]
In step S308, the cumulative calculation register value Z is calculated based on the current ideal transmission data size X and the current actual transmission data size Y (here, Y = 16 always).
Z = Z + (Y−X)
Is updated by performing the operation represented by.
Then, the process returns to step S302 in accordance with the timing of the next cycle start.
[0116]
If a negative determination result is obtained in step S302, the process proceeds to steps S309 → 310. The processing from step S309 to step S310 is the same as the processing in step S105 and step S106 in FIG. 3, and a description thereof will be omitted.
After the process of step S310 is performed, the process returns to step S302 at the next cycle start timing.
[0117]
According to the above-described processing operation, the value of the ideal transmission data size X is varied according to the variable rate of the data rate indicated by the value of the control signal CNT by the processing of step S304 and steps S305, S306, and S307. Will be. That is, the ideal transmission data size X is changed so as to take a numerical value corresponding to the data rate indicated by the control signal CNT. Then, the cumulative calculation register value Z is updated in step S308 using the ideal transmission data size X changed in this way.
[0118]
According to the above-described processing, the value of the changed ideal transmission data size X is reflected as the cumulative calculation register value Z compared in step S302. That is, the value is the accumulated calculation register value Z changed in accordance with the data rate indicated by the control signal CNT.
Then, by executing the processing in step S302 with the accumulated calculation register value Z as a comparison target, a determination result of the data size in consideration of the data rate indicated by the control signal CNT is obtained as the determination result in step S302. Will be done.
As a result, in the system shown in FIG. 1, it is possible to control the data transfer rate (data transfer rate) of the data transmitted from the disk drive 1 in synchronization with the data processing operation of the D / A converter 10. Has become.
[0119]
1-3-5. Data size determination processing (non-blocking transmission)
Subsequently, as a processing operation performed by the system controller 3 corresponding to the data size determination function 22 shown in FIG. 6, a processing operation in the case of non-blocking transmission will be described.
The processing in this case is also based on the basic operation of the non-blocking transmission described with reference to FIGS.
[0120]
The flowchart of FIG. 8 shows a data size determination process by the data size determination function 22 as non-blocking transmission.
In the processing shown in FIG. 8, S401, S402, S403, and S404 are the same as steps S201, S202, S203, and S204 shown in FIG. Then, after setting Y = 15 or Y = 14 as the actual transmission data size Y by the processing of S403 or S404, the processing from step S405 is executed.
[0121]
The determination processing in step S405 and the processing in steps S406, S407, and S408 based on the determination result are the same as the determination processing in step S304 illustrated in FIG. 7 and the processing in steps S305, S306, and S307 based on the determination result. It is said.
That is, the process is to vary the ideal transmission data size X in accordance with the value of the determined control signal CNT.
[0122]
Then, using the ideal transmission data size X whose value has been changed by any one of the above-described steps S305, S306, and S307,
Z = Z + (Y−X)
Is updated by performing the operation represented by. Then, at the timing of the next cycle start, the process returns to step S402.
[0123]
Even with such processing, the value of the ideal transmission data size X changed according to the data rate indicated by the control signal CNT is reflected as the cumulative calculation register value Z compared in step S409. Then, the process in step S402 is executed using the accumulated calculation register value Z as a comparison target. Accordingly, the determination processing in step S402 determines the data size in consideration of the data rate indicated by the control signal CNT.
That is, even in the case of the non-blocking transmission, it is possible to control the data transfer rate (data transfer rate) of the data transmitted from the disk drive 1 in synchronization with the data processing operation of the D / A converter 10.
[0124]
Then, according to the configuration of the embodiment described above, the continuous reproduction processing of the reproduction data depends on the D / A converter 10 which is the receiving device.
That is, the D / A converter 10 becomes the clock master, and executes the continuous reproduction processing based on the master clock. The variable data transfer speed on the disk drive 1 side for synchronizing with the D / A converter 10 is realized by directly changing the data size to be stored in the isochronous packet. The reproduced data stored in the isochronous packet is data read from the disk by the disk reproducing unit 2 and temporarily stored in the buffer RAM 4.
According to such a configuration, it is not necessary for the disk drive 1 to have a function of continuously reading a signal from a disk at an appropriate data rate and reproducing and outputting the signal. That is, in the disk drive 1, there is no need to provide a clock generator or a PLL circuit for generating a master clock.
This makes it possible to use a disk drive that does not have a clock generation function when reproducing data, such as digital audio signals and digital video signals, that are required to be continuously reproduced from a disk. For example, as an example other than the SACD, at present, a system having a so-called CD-ROM drive without a clock generation function can appropriately and continuously reproduce digital audio signals recorded on a CD-DA. .
[0125]
2. Second embodiment
Subsequently, a second embodiment of the present invention will be described.
FIG. 9 shows a system configuration according to the second embodiment. In this figure, the same parts as those in FIG.
The system shown in FIG. 9 includes a disk drive 1 and a D / A converter 10A. Since the block configuration of the disk drive 1 is the same as that of FIG. 1, the description is omitted here.
[0126]
In the D / A converter 10A, for example, in the configuration of the D / A converter 10 shown in FIG. 1, first, an A / D conversion processing unit 16 is added. The master clock MCL output from the clock generator 12 including the crystal oscillator 12a is supplied to the D / A conversion processing unit 11 and the A / D conversion processing unit 12 as illustrated. I have.
In this case, the input / output unit 14 is provided in response to the addition of the A / D conversion processing unit 16.
The input / output unit 14 is a unit that processes input and output of an input signal input to the D / A converter 10A and an output signal output from the D / A converter 10A. In the present embodiment, the digital data transmission lines LN and LN1 correspond to the IEEE 1394 data interface. Therefore, the input / output unit 14 has an input / output interface function corresponding to IEEE1394. In this case, the input / output unit 14 is provided with a buffer RAM 15.
[0127]
Also in the system shown in this figure, the reproduced data reproduced from the SACD is transmitted as an isochronous packet from the disk drive 1 via the digital data transmission line LN corresponding to the IEEE1394 data interface, and is received by the D / A converter 10A. Will be done.
The input / output unit 14 receives an isochronous packet (reproduced data) transmitted from the disk drive 1 via the digital data transmission line LN. Then, the received isochronous packet is unpacketized, and the reproduction data and SYT (time stamp) information are extracted. Here, the extracted reproduction data is stored in the buffer RAM 15.
The writing / reading of the received and obtained reproduction data to / from the buffer RAM 15 corresponds to the operation as a ring buffer.
[0128]
The D / A conversion processing unit 11 reads the reproduction data from the buffer RAM 15 via the input / output unit 14, executes the D / A conversion processing at a timing based on the master clock MCL, and outputs the analog audio signal. Is output as For the sake of confirmation, the D / A conversion processing unit 11 in the present embodiment has a configuration for D / A converting a DSD signal, which is playback data from an SACD.
[0129]
Conversely, the A / D conversion processing unit 16 receives an analog audio signal from the outside, performs A / D conversion processing at a timing based on the master clock MCL, converts the signal into a digital audio signal, and outputs the digital audio signal. In this case, the A / D conversion processing unit 16 converts the input analog audio signal into a digital audio signal as a DSD signal corresponding to the SACD format.
[0130]
Although the details will be described later, the digital audio signal obtained by the A / D conversion processing unit 16 is not used for reproducing and outputting as audio. The digital audio signal is transmitted to the disk drive 1 in accordance with a data rate (data size in an isochronous packet) at the disk drive 1 in order to vary the data transfer rate of the reproduction data transmitted by the disk drive 1 itself. used. Therefore, the content as an analog audio signal input to the A / D conversion processing unit 16 is not particularly limited.
Further, based on the above, the digital audio signal output from the A / D conversion processing unit 16 and transmitted to the disk drive 1 will hereinafter be referred to as “control data”.
[0131]
The control data (digital audio signal) output from the A / D conversion processing unit 16 is input to the input / output unit 14. In the input / output unit 14, the control data input from the A / D conversion processing unit 16 is written into the buffer RAM 15, and temporarily stored and accumulated. This accumulation operation may be based on the operation as the ring buffer.
The input / output unit 14 reads data of a required size from the control data stored in the buffer RAM 15 as described above, stores the read data in an isochronous packet, and transmits the read data to the digital data transmission line LN1. It is sent to the disk drive 1.
The transmission operation of the control data by the input / output unit 14 is an operation as the blocking transmission described with reference to FIG. 2 or the non-blocking transmission described with reference to FIG.
In this case, in the input / output unit 14, the A / D conversion processing by the A / D conversion processing unit 16 is executed at a timing based on the master clock MCL. Therefore, in the input / output unit 14, the data size of the control data to be stored in the isochronous packet is obtained by the processing shown in FIG. 3 for the blocking transmission and the processing shown in FIG. 5 for the non-blocking transmission. May be determined.
[0132]
The control data transmitted from the input / output unit 14 of the D / A converter 10A via the digital data LN1 in the sequence of the isochronous packet is received and acquired by the interface unit 5 of the disk drive 1.
[0133]
For example, in the case of the system shown in FIG. 1, the disk drive 1 reproduces data based on the control signal CNT transmitted from the D / A converter 10 so as to synchronize with the data processing speed timing of the D / A conversion processing unit 11. The data transfer rate of data was variable.
The disk drive 1 of the second embodiment uses the control data received and obtained as described above to synchronize with the data processing speed timing of the D / A conversion processing unit 11 as follows. In such a case, the data transfer rate of the reproduced data is changed. That is, the size of the reproduction data to be stored in the isochronous packet is determined.
[0134]
FIG. 10 shows, as functional blocks, a process for transmitting an isochronous packet in the disk drive 1 shown in FIG. The same parts as those in FIG. 6 are denoted by the same reference numerals.
10 is different from FIG. 6 in that a data size measuring function 21A is shown in FIG. 10 instead of the sending speed determining function 21 shown in FIG. The data size measurement function 21 inputs control data received and acquired from the digital data transmission line LN1.
The control data is transmitted in cycle units on an isochronous packet basis. Therefore, the data size measurement function 21 measures the data size of the control data stored in the isochronous packet.
As a result of this measurement, if the transmission of the control data is based on blocking transmission, either a 16 quadlet or 0 quadlet result will be obtained. In the case of non-blocking transmission, a result of either 15 quadlets or 14 quadlets is obtained.
[0135]
In this case, the data size determination function 22 uses the measurement result of the data size measurement function 21 to determine the size of the reproduction data to be stored and transmitted in the isochronous packet.
First, the case where the control data is transmitted by the blocking transmission is as follows.
In the case of the blocking transmission, if the data size measurement function 21 outputs 16 quadlets as the measurement result, the data size determination function 22 determines the data size of the reproduced data as being 16 quadlets, which is the same as the measurement result.
When the measurement result is 0 quadlet, the data size of the reproduction data is similarly determined to be 0 quadlet, which is the same as the measurement result.
[0136]
The same applies to the case where control data is transmitted by non-blocking transmission.
That is, if the measurement result of the data size measurement function 21 is 15 quadlets, the data size of the reproduced data is set to the same 15 quadlets. If the measurement result is 14 quadlets, the same 14 quadlets are used.
[0137]
Then, based on the determination result of the data size determination function 22 obtained as described above, the subsequent processing as the packet generation function 23, the data read function 24, and the packet transmission function 25 has been described with reference to FIG. It is executed as follows. Then, such processing is executed for each transfer cycle.
As a result, the disk drive 1 obtains an operation of storing reproduced data having the same data size as the control data in an isochronous packet and transmitting the data to the D / A converter 10A.
By performing such an operation, the data transfer rate of the reproduced data sent from the disk drive 1 always coincides with the data transfer rate of the control data sent from the D / A converter 10. Is done.
Here, the data transfer rate of the control data transmitted from the D / A converter 10 is determined depending on the processing speed timing of the A / D conversion processing unit 16 that outputs a digital audio signal as the control data. . Since the A / D conversion processing unit 16 performs processing based on the same master clock MCL as the D / A conversion processing unit 11, the processing speed of the A / D conversion processing unit 16 and the D / A conversion processing unit 11 The timing will always be the same.
As described above, the fact that the data transfer rate of the reproduced data sent from the disk drive 1 matches the data transfer rate of the control data means that the data transfer rate of the reproduced data from the disk drive 1 is D / A This means that the processing speed is synchronized with the processing speed timing of the conversion processing unit 11. In the second embodiment, the data transfer rate (data transfer rate) of the disk drive 1 and the processing speed timing of the D / A conversion processing unit 11 are synchronized using the control data in this manner. It is made to plan.
[0138]
In the first embodiment and the second embodiment, as described above, the data size to be stored in the isochronous packet is determined. It is possible to respond.
First, in the system configuration according to the first embodiment, the information of the numerical value of the double speed for the current data processing speed is transmitted from the D / A conversion processing unit 11 of the D / A converter 10 to the system controller of the disk drive 1. 3 to be notified. First, the system controller 3 controls the disc reproducing unit 2 to perform disc reproduction at a double speed higher than the notified double speed. Thus, even if data is read from the buffer RAM 4 at a timing corresponding to double-speed data transmission, an underflow is prevented from occurring.
[0139]
Then, the system controller 3 calculates the data size to be stored in the isochronous packet according to the notified value of the double speed as the process of the data size determination function 22 shown in FIG.
As a specific example, a case will be described in which the numerical value of the notified double speed is 2, corresponding to the double speed of the data processing speed of the D / A conversion processing unit 11.
At the time of the blocking transmission, as the processing shown in FIG. 7, first, as an initial setting in step S301, the ideal transmission data size X
X = 14.7 × 2 = 29.4
Set.
Also, in step S302, regarding the cumulative calculation register value Z,
Z> 32 (16 × 2) quadlet
Is determined as to whether or not.
Then, in step S303, the actual transmission data amount Y to be set is
Y = 32 (= 16 × 2)
Set.
Further, in steps S305, S306, and S307,
X = 29.694 (= 29.4 × 1.01)
X = 29.4
X = 29.106 (= 29.4 × 0.99)
Should be set.
In this way, by setting the required parameter to a value twice as fast as that of the 1 × speed corresponding to the value 2 of the double speed, the data transfer rate transmitted from the disk drive 1 can also be set to 2 × speed. it can.
In other words, if the required parameter value used in the data size determination process is set to n times the value corresponding to the n times speed, the variable speed synchronized with the double speed set by the D / A conversion processing unit 11 side Transmission becomes possible.
[0140]
The same applies to non-blocking transmission. For example, by setting a multiple corresponding to the double speed for the value of a required parameter used in the flowchart shown in FIG. 8, variable speed transmission becomes possible. It becomes.
[0141]
In the second embodiment, the following configuration can be considered to enable variable-speed transmission.
First, in the D / A converter 10A, it is assumed that the A / D conversion processing in the A / D conversion processing unit 16 that generates control data is 1 × speed. On the other hand, it is assumed that the D / A conversion processing on the reproduced data in the D / A conversion processing unit 11 is at double speed. For example, the A / D conversion processing section 16 performs A / D conversion processing corresponding to a sampling frequency of 48 KHz and a signal format of 2 ch, and the D / A conversion processing section 11 has a sampling frequency of 96 (= 48 × 2) KHz. A case where D / A conversion processing corresponding to a 2ch signal format is executed can be assumed.
It should be noted here that even if the A / D conversion processing in the A / D conversion processing section 16 and the D / A conversion processing in the D / A conversion processing section 11 are different in the double speed, the A / D conversion processing is performed. As long as the conversion processing unit 16 and the D / A conversion processing unit 11 perform data processing based on the same master clock MCL, the processing speed timings of both are synchronized based on the master clock MCL. It is.
[0142]
Also in this case, the D / A converter 10A notifies the system controller 3 of the disk drive 1 of the information of the numerical value of the double speed. The information of the numerical value of the double speed is obtained by, for example, assuming that the A / D conversion processing speed in the A / D conversion processing unit 16 is 1 ×, and calculating the D / A conversion processing unit 11 / A conversion processing speed. That is, assuming that the A / D conversion processing speed in the A / D conversion processing unit 16 is A and the D / A conversion processing speed in the D / A conversion processing unit 11 is B, B / A is calculated and obtained. The value may be a double speed numerical value.
[0143]
Then, the system controller 3 of the disk drive 1 inputs the control data, measures the data size by the data size measurement function 21A, and sends the measurement result to the data size determination function 22, as described above with reference to FIG. Output.
[0144]
In the above description, it is assumed that the A / D conversion processing speed in the A / D conversion processing unit 16 and the D / A conversion processing speed in the D / A conversion processing unit 11 are equal. For this reason, the data size determination function 22 determines the same data size as the data size (number of quadlets) measured by the data size measurement function 21A as the data size to be stored in the isochronous packet.
On the other hand, when the numerical information of the double speed is notified as described above, the data size determination function 22 determines the data size (the number of quadlets) with respect to the data size (the number of quadlets) measured by the data size measurement function 21A. Based on the value obtained by multiplying the numerical value of the double speed, the data size to be actually transmitted is determined.
[0145]
As a simple example, let us consider a case where the double speed is set for the D / A conversion processing on the reproduction data in the D / A conversion processing unit 11 as described above.
For example, in the case of blocking transmission, depending on the data size measurement function 21A, a measurement result of 16 quadlets or 0 quadlets is obtained. Then, when the measurement result is 16 quadlets, the data size determination function 22 performs the calculation of 16 × 2 = 32 and determines that the data is 32 quadlets. In the case of 0 quadlet, it is determined that 0 × 2 = 0 quadlet, so that an empty packet or No-data packet is transmitted.
[0146]
In the case of non-blocking transmission, a measurement result of 15 quadlets or 14 quadlets is obtained depending on the data size measurement function 21A. Therefore, the data size determination function 22 is configured to determine either 30 (= 15 × 2) quadlets or 28 (= 14 × 2) quadlets in accordance with the measurement result.
[0147]
In the first and second embodiments, the control process for transmitting a packet to be executed by the disk drive 1 is executed according to a program stored in a ROM, which is assumed to be provided in the system controller 3, for example. It is assumed that.
[0148]
Further, such a program is temporarily stored in a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Only Memory), an MO (Magnet Optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, and a semiconductor memory. Alternatively, it can be stored (recorded) permanently. Such a removable recording medium can be provided as so-called package software.
For example, in the present embodiment, the program can be recorded on a disk medium that can be reproduced by the disk reproducing unit 2 and provided as package software. In response to this, the disk driver 1 can install the program by reading the program from the disk and storing the program in the internal ROM of the system controller 3. In addition, by storing such a program in various recording media, it is possible to install and execute the operation according to the present embodiment on a general-purpose personal computer or the like.
The program may be installed from a removable recording medium as described above, or may be configured to be downloaded from a server or the like storing the program via a network such as a LAN (Local Area Network) or the Internet. It is.
[0149]
Further, the present invention is not limited to the configurations described in the above embodiments.
As the first and second embodiments, the system configurations shown in FIGS. 1 and 9 have a configuration in which separate and independent devices are connected to each other by a transmission line or the like in the drawings. However, in actuality, for example, the configuration may be such that it is mounted on various information processing apparatuses such as a personal computer and the like, electronic equipment, and the like.
Further, the disk drive 1 shown in FIGS. 1 and 9 has a configuration capable of reproducing at least an SACD, but the disk medium that can be reproduced is not limited to this. Accordingly, the format of the signal to be transmitted through the digital data transmission line LN may be a format other than the DSD signal corresponding to the SACD, such as a digital audio signal or a digital video signal of another format. May be. Also, the medium on which the reproduction data is recorded need not be limited to a disk medium such as a tape medium.
[0150]
In each of the above embodiments, a D / A converter is used as a receiving device. That is, the modulation processing on the receiving side in the present invention is a D / A conversion processing. However, the present invention is not limited to this, and any device that adopts a configuration that executes required data processing related to continuous reproduction at a timing based on a master clock for data transmitted from the transmission side is possible. It is not limited.
Further, in each of the above embodiments, the IEEE 1394 data interface is used to transmit data from the transmission side to the reception side. However, other data interfaces that can perform packetization to transmit and receive data are used. It can be adopted. Further, the data interface in this case may be a local bus employed in a personal computer or the like.
[0151]
【The invention's effect】
As described above, according to the present invention, the operation of a data transmission device (disk drive) for transmitting data read from a recording medium and held in a storage means (buffer RAM) to a data reception device (D / A converter) side includes: First, a control signal (control signal CNT or control data) transmitted from the data receiving device is received. Then, based on the received control signal, the data amount (data size: number of quadlets) to be stored in the packet (isochronous packet) is determined, and the data corresponding to the determined data amount is read out from the storage means. A packet is generated and transmitted to the data receiving device.
Here, the control signal is generated and transmitted for the purpose of controlling the data transfer rate of the data transmitting device so that the process for continuous reproduction (for example, D / A conversion process) on the data receiving device side does not fail. Is what is done. Therefore, by determining the amount of data to be stored in the packet in accordance with the control signal, the data transfer rate of the data transmitted from the data transmitting device is set to the processing speed timing for the continuous reproduction on the data receiving device. Can be adapted.
[0152]
Then, it can be said that such an operation of the data transmission device directly variably controls the data size to be stored in the packet according to the control signal from the data reception device. In the case of such a configuration, the operation of reading data from the recording medium may be to collectively read data in a predetermined data unit at a required timing and sequentially store the data in the storage unit. That is, there is no need to provide a means for generating a master clock, which is required for continuously reproducing data from a recording medium.
[0153]
As a result, the present invention does not require a configuration for generating a master clock as a reproducing device (data transmitting device) for reading data from a recording medium on which data to be continuously reproduced is recorded. Cost reduction will be achieved.
[0154]
In addition, the reproducing device only needs to execute the operation of reading out the data in a predetermined data unit at a required timing and sequentially holding the data in the storage unit. Dependent.
Therefore, the reproducing apparatus (data transmitting apparatus) according to the present invention can be commonly used regardless of various signal formats recorded on various recording media. That is, wide compatibility with the signal format can be obtained.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an example of a system configuration according to a first embodiment of this invention.
FIG. 2 is a timing chart showing an example of data transmission timing by blocking transmission in the embodiment.
FIG. 3 is a flowchart illustrating a basic processing operation for determining a data size in a packet in the blocking transmission according to the embodiment;
FIG. 4 is a timing chart showing an example of data transmission timing by non-blocking transmission in the embodiment.
FIG. 5 is a flowchart illustrating a basic processing operation for determining a data size in a packet in non-blocking transmission according to the embodiment;
FIG. 6 is a block diagram illustrating a flow of a packet transmission process according to the first embodiment.
FIG. 7 is a flowchart illustrating a processing operation for determining a data size in a packet according to the first embodiment;
FIG. 8 is a flowchart illustrating a processing operation for determining a data size in a packet according to a second embodiment.
FIG. 9 is a block diagram illustrating a system configuration example according to a second embodiment;
FIG. 10 is a block diagram illustrating a flow of a packet transmission process according to the second embodiment.
FIG. 11 is an explanatory diagram showing the structure of an isochronous packet.
FIG. 12 is a block diagram showing an example of a conventional system configuration.
FIG. 13 is a block diagram showing another example of a conventional system configuration.
[Explanation of symbols]
1 disk drive, 2 disk playback unit, 3 system controller, 4 buffer RAM, 5 interface unit, 10, 10A D / A converter, 11 D / A conversion processing unit, 12 clock generator, 13 crystal oscillator, 14 input / output unit , 15 buffer RAM, 16 A / D conversion processing unit, 21 transmission speed determination function, 21A data size measurement function, 22 data size determination function, 23 packet generation function, 24 data reading function, 25 packet transmission function, CNT control signal, LN, LN1 Digital data transmission path

Claims (8)

データ受信装置にてデジタルデータの連続再生を可能とするために上記データ受信装置から送信され、このデータ送信装置が送信すべきデータのデータ転送速度を制御するための制御信号を受信する受信手段と、
記録媒体から所定のデータ単位によりデジタルデータを読み出す読み出し手段と、
上記読み出し手段により読み出されたデジタルデータを一時的に記憶保持する記憶手段と、
上記受信手段により受信した制御信号に応じて、パケットに格納すべきデータ量を決定する決定手段と、
上記決定手段により決定されたデータ量のデジタルデータを上記記憶手段から読み出し、この読み出したデータをパケットに格納するようにしてパケットを生成するパケット生成手段と、
上記パケット生成手段により生成されたパケットを上記データ受信装置に対して送信する送信手段と、
を備えることを特徴とするデータ送信装置。
Receiving means for receiving a control signal transmitted from the data receiving apparatus to enable continuous reproduction of digital data in the data receiving apparatus and controlling a data transfer rate of data to be transmitted by the data transmitting apparatus; ,
Reading means for reading digital data in a predetermined data unit from a recording medium;
Storage means for temporarily storing and holding digital data read by the reading means,
Determining means for determining the amount of data to be stored in the packet according to the control signal received by the receiving means;
Packet generation means for reading digital data of the data amount determined by the determination means from the storage means, and generating a packet by storing the read data in the packet;
Transmitting means for transmitting the packet generated by the packet generating means to the data receiving device;
A data transmission device comprising:
上記受信手段は、
上記制御信号として、上記データ送信装置から送信すべきデジタルデータの送信速度を制御するための送信速度制御信号を受信するものとされ、
上記決定手段は、
上記受信手段により受信した上記送信速度制御信号に基づいて、パケットに格納すべきデータ量を決定する、
ことを特徴とする請求項1に記載のデータ送信装置。
The receiving means,
As the control signal, a transmission speed control signal for controlling the transmission speed of digital data to be transmitted from the data transmission device is to be received,
The determining means is:
Based on the transmission rate control signal received by the receiving means, determine the amount of data to be stored in the packet,
The data transmission device according to claim 1, wherein:
上記受信手段は、
上記制御信号として、上記データ受信装置から送信されてくる、データが格納されたパケットを受信するものとされ、
上記決定手段は、
上記受信手段により受信したパケットに格納されたデータ量に基づいて、上記パケット生成手段により生成するパケットに格納すべきデータ量を決定する、
ことを特徴とする請求項1に記載のデータ送信装置。
The receiving means,
As the control signal, a packet transmitted from the data receiving device and containing data is received.
The determining means is:
Based on the amount of data stored in the packet received by the receiving means, determine the amount of data to be stored in the packet generated by the packet generating means,
The data transmission device according to claim 1, wherein:
データ受信装置にてデジタルデータの連続再生を可能とするために上記データ受信装置から送信され、データ送信装置から送信すべきデータのデータ転送速度を制御するための制御信号を受信する受信手順と、
記録媒体から所定のデータ単位によりデジタルデータを読み出させるための読み出し制御手順と、
上記読み出し制御手順により読み出されたデジタルデータを一時的に記憶領域に保持させる記憶制御手順と、
上記受信手順により受信した制御信号に応じて、パケットに格納すべきデータ量を決定する決定手順と、
上記決定手順により決定されたデータ量のデジタルデータを上記記憶領域から読み出し、この読み出したデータをパケットに格納するようにしてパケットを生成するパケット生成手順と、
上記パケット生成手順により生成されたパケットを上記データ受信装置に対して送信する送信手順と、
を実行することを特徴とするデータ送信方法。
A reception procedure for receiving a control signal transmitted from the data reception apparatus to enable continuous reproduction of digital data in the data reception apparatus and for controlling a data transfer rate of data to be transmitted from the data transmission apparatus,
A read control procedure for reading digital data by a predetermined data unit from a recording medium,
A storage control procedure for temporarily holding digital data read by the read control procedure in a storage area,
A determining step of determining an amount of data to be stored in the packet according to the control signal received by the receiving step;
A packet generation procedure of reading digital data of the data amount determined by the determination procedure from the storage area and generating a packet by storing the read data in the packet;
A transmission procedure for transmitting the packet generated by the packet generation procedure to the data receiving apparatus;
And a data transmission method.
データ受信装置にてデジタルデータの連続再生を可能とするために上記データ受信装置から送信され、データ送信装置から送信すべきデータのデータ転送速度を制御するための制御信号を受信する受信手順と、
記録媒体から所定のデータ単位によりデジタルデータを読み出させるための読み出し制御手順と、
上記読み出し制御手順により読み出されたデジタルデータを一時的に記憶領域に保持させる記憶制御手順と、
上記受信手順により受信した制御信号に応じて、パケットに格納すべきデータ量を決定する決定手順と、
上記決定手順により決定されたデータ量のデジタルデータを上記記憶領域から読み出し、この読み出したデータをパケットに格納するようにしてパケットを生成するパケット生成手順と、
上記パケット生成手順により生成されたパケットを上記データ受信装置に対して送信する送信手順と、
をデータ送信装置に実行させることを特徴とするプログラム。
A reception procedure for receiving a control signal transmitted from the data reception apparatus to enable continuous reproduction of digital data in the data reception apparatus and for controlling a data transfer rate of data to be transmitted from the data transmission apparatus,
A read control procedure for reading digital data by a predetermined data unit from a recording medium,
A storage control procedure for temporarily holding digital data read by the read control procedure in a storage area,
A determining step of determining an amount of data to be stored in the packet according to the control signal received by the receiving step;
A packet generation procedure of reading digital data of the data amount determined by the determination procedure from the storage area and generating a packet by storing the read data in the packet;
A transmission procedure for transmitting the packet generated by the packet generation procedure to the data receiving apparatus;
Which causes a data transmission device to execute the program.
データ受信装置にてデジタルデータの連続再生を可能とするために上記データ受信装置から送信され、データ送信装置から送信すべきデータのデータ転送速度を制御するための制御信号を受信する受信手順と、
記録媒体から所定のデータ単位によりデジタルデータを読み出させるための読み出し制御手順と、
上記読み出し制御手順により読み出されたデジタルデータを一時的に記憶領域に保持させる記憶制御手順と、
上記受信手順により受信した制御信号に応じて、パケットに格納すべきデータ量を決定する決定手順と、
上記決定手順により決定されたデータ量のデジタルデータを上記記憶領域から読み出し、この読み出したデータをパケットに格納するようにしてパケットを生成するパケット生成手順と、
上記パケット生成手順により生成されたパケットを上記データ受信装置に対して送信する送信手順と、をデータ送信装置に実行させるプログラム、
を記憶した記憶媒体。
A reception procedure for receiving a control signal transmitted from the data reception apparatus to enable continuous reproduction of digital data in the data reception apparatus and for controlling a data transfer rate of data to be transmitted from the data transmission apparatus,
A read control procedure for reading digital data by a predetermined data unit from a recording medium,
A storage control procedure for temporarily holding digital data read by the read control procedure in a storage area,
A determining step of determining an amount of data to be stored in the packet according to the control signal received by the receiving step;
A packet generation procedure of reading digital data of the data amount determined by the determination procedure from the storage area and generating a packet by storing the read data in the packet;
A transmission procedure for transmitting the packet generated by the packet generation procedure to the data reception apparatus;
Storage medium in which is stored.
データ送信装置から送信されるパケットを受信する受信手段と、
上記受信手段により受信したパケットに格納されたデータを順次入力して、マスタークロックに基づくタイミングで、入力されたデータについて連続再生が行われるように復調処理を実行する復調手段と、
上記マスタークロックに基づくタイミングで、入力信号が連続的なデータとなるように変調処理を実行する信号処理手段と、
上記信号処理手段により得られたデータを所要のデータ量分格納して生成したパケットを、上記データ送信装置が送信すべきデータのデータ転送速度を制御するための制御信号として、上記データ送信装置に対して、所定タイミングで順次送信する送信手段と、
を備えることを特徴とするデータ受信装置。
Receiving means for receiving a packet transmitted from the data transmitting device;
Demodulation means for sequentially inputting the data stored in the packet received by the reception means, and performing a demodulation process so that continuous reproduction is performed on the input data at a timing based on the master clock;
At a timing based on the master clock, signal processing means for performing a modulation process so that the input signal becomes continuous data,
A packet generated by storing the data obtained by the signal processing means for a required amount of data, as a control signal for controlling the data transfer rate of the data to be transmitted by the data transmission device, to the data transmission device. On the other hand, transmitting means for sequentially transmitting at a predetermined timing,
A data receiving device comprising:
データ送信装置から送信されるパケットを受信する受信手順と、
上記受信手順により受信したパケットに格納されたデータを順次入力して、マスタークロックに基づくタイミングで、入力されたデータについて連続再生が行われるように復調処理を実行する復調手順と、
上記マスタークロックに基づくタイミングで、入力信号が連続的なデータとなるように変調処理を実行する信号処理手順と、
上記信号処理手順により得られたデータを所要のデータ量分格納して生成したパケットを、上記データ送信装置が送信すべきデータのデータ転送速度を制御するための制御信号として、上記データ送信装置に対して、所定タイミングで順次送信する送信手順と、
を実行することを特徴とするデータ受信方法。
A receiving procedure for receiving a packet transmitted from the data transmitting apparatus;
A demodulation procedure for sequentially inputting the data stored in the packet received by the above-described reception procedure, and performing a demodulation process so that continuous reproduction is performed on the input data at a timing based on the master clock;
At a timing based on the master clock, a signal processing procedure for performing a modulation process so that the input signal becomes continuous data;
A packet generated by storing the data obtained by the signal processing procedure for a required data amount, as a control signal for controlling the data transfer rate of the data to be transmitted by the data transmission device, to the data transmission device. On the other hand, a transmission procedure for sequentially transmitting at a predetermined timing,
A data receiving method.
JP2002292808A 2002-10-04 2002-10-04 Data transmitter, data transmission method, program, storage medium, data receiver and data reception method Pending JP2004127123A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002292808A JP2004127123A (en) 2002-10-04 2002-10-04 Data transmitter, data transmission method, program, storage medium, data receiver and data reception method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002292808A JP2004127123A (en) 2002-10-04 2002-10-04 Data transmitter, data transmission method, program, storage medium, data receiver and data reception method

Publications (1)

Publication Number Publication Date
JP2004127123A true JP2004127123A (en) 2004-04-22

Family

ID=32283954

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002292808A Pending JP2004127123A (en) 2002-10-04 2002-10-04 Data transmitter, data transmission method, program, storage medium, data receiver and data reception method

Country Status (1)

Country Link
JP (1) JP2004127123A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007194845A (en) * 2006-01-18 2007-08-02 Sony Corp Content reproduction system and content reproduction method
KR101341229B1 (en) * 2007-10-19 2014-01-02 소니 주식회사 Cec enhancement

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007194845A (en) * 2006-01-18 2007-08-02 Sony Corp Content reproduction system and content reproduction method
US8115870B2 (en) 2006-01-18 2012-02-14 Sony Corporation Content reproducing system and content reproducing method
KR101341229B1 (en) * 2007-10-19 2014-01-02 소니 주식회사 Cec enhancement

Similar Documents

Publication Publication Date Title
CN100438635C (en) System for modifying the time-base of a video signal
US7106224B2 (en) Communication system and method for sample rate converting data onto or from a network using a high speed frequency comparison technique
JP3516206B2 (en) Data stream processing apparatus and method, and program storage medium
US20040032922A1 (en) Communication system and method for sending and receiving data at a higher or lower sample rate than a network frame rate using a phase locked loop
JP4880068B2 (en) Transmission device, reception device, and content reproduction system
US20070008984A1 (en) Buffer management system, digital audio receiver, headphones, loudspeaker, method of buffer management
US7272202B2 (en) Communication system and method for generating slave clocks and sample clocks at the source and destination ports of a synchronous network using the network frame rate
JP2010165403A (en) Multitrack recorder and synchronous recording method using a plurality of multitrack recorders
JP2000512115A (en) Data transfer system, transmitter and receiver
JP4061791B2 (en) Digital data playback device
US6735223B1 (en) Method of controlling offset of time stamp and apparatus for transmitting packet using the same
JP2004127123A (en) Data transmitter, data transmission method, program, storage medium, data receiver and data reception method
US8380330B2 (en) Transmitting apparatus and control method therefor and receiving apparatus and control method therefor
KR100673802B1 (en) Transmitting method transmitting system and transmitter
KR100852679B1 (en) Method and apparatus for controlling the insertion of stuffing data into a bitstream to be recorded
JP4558486B2 (en) A communication system for sending data to and receiving data at a network frame rate using a phase locked loop, sample rate conversion, or a synchronous clock generated from the network frame rate
JP2008035197A (en) Clocking circuit, video processor and clock adjustment method
JP2004072217A (en) Data reproducing apparatus
US20080084936A1 (en) Data Communication System, Data Reproducing Device, and Method of Reproducing Data
JP2006507725A (en) Single clock data communication in DSD system
JP3627743B2 (en) Node in data transmission system
JP3477071B2 (en) Data transmission system, data transmission device and data reception device
JP2907118B2 (en) Data transfer circuit
JP2006014079A (en) Digital signal processor and digital signal processing method
JP2008113429A (en) Digital data transmission apparatus

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080226

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080701