JP3417392B2 - 同期制御装置 - Google Patents
同期制御装置Info
- Publication number
- JP3417392B2 JP3417392B2 JP2000273279A JP2000273279A JP3417392B2 JP 3417392 B2 JP3417392 B2 JP 3417392B2 JP 2000273279 A JP2000273279 A JP 2000273279A JP 2000273279 A JP2000273279 A JP 2000273279A JP 3417392 B2 JP3417392 B2 JP 3417392B2
- Authority
- JP
- Japan
- Prior art keywords
- synchronization
- data
- packet data
- buffer
- bus clock
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/062—Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
- H04J3/0632—Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Small-Scale Networks (AREA)
Description
転送されてくるパケットデータを受信して同期再生する
際に用いられる同期制御装置に関する。
てUSB(Universal Serial Bus)がある。最近では、
このUSBにより他の機器と接続可能な多くの種類のデ
ジタル機器が提供されており、USBの適用範囲が拡大
しつつある。
たデータ転送の形態として、1msecの周期(以下、
USBフレームという)で発生するバスクロックをトリ
ガとして、送信側から受信側へのパケットデータ転送を
繰り返すアイソクロナス転送がある。
ソクロナス転送を利用し、AC3(Audio Code 3)等
の符号化データの転送を行うオーディオ通信システムを
検討してきた。
を示すブロック図である。図7に示すように、このオー
ディオ通信システムは、コンピュータ1とオーディオ再
生装置2とをUSB3により接続してなるものである。
図7において、コンピュータ1は、AC3符号化データ
の記録されたDVDを収容して駆動するDVDドライブ
を有しており(図示略)、さらに図7に示すAC3再生
部101とUSBインタフェース102とを有してい
る。
C3再生部101とUSBインタフェース102の機能
について説明する。まず、AC3再生部101は、図示
しないDVDからAC3符号化データを読み出して出力
する装置である。ここで、DVDに記録されたAC3符
号化データは、オーディオ信号を48kHzのサンプリ
ングクロックによりサンプリングし、このサンプリング
により得られるPCMサンプルに対し、1536個単位
で圧縮符号化を施すことにより得られたものである(図
8(a)参照)。AC3再生部101は、1536/4
8kHz=32msecの同期フレーム毎に、1536
個分のPCMサンプルに対応したAC3符号化データを
読み出して出力する(図8(b)参照)。
レーム内にAC3再生部101から出力されたAC3符
号化データを1または複数のパケットとし、このパケッ
トを1msecのUSBフレーム毎に1個ずつ、USB
3を介してオーディオ再生装置2に転送する。ここで、
1同期フレーム内にAC3再生部101から出力される
AC3符号化データは、圧縮符号化がなされている。こ
のため、1同期フレーム内の32個のUSBフレームの
途中で、パケットとして転送すべきAC3符号化データ
がなくなる。この場合、USBインタフェース102
は、その同期フレーム内の残りの各USBフレームにお
いて0データをオーディオ再生装置2に転送する。以上
がAC3再生部101とUSBインタフェース102の
機能の概略である。
ようにしてコンピュータ1側からUSB3を介して送ら
れてくるAC3符号化データのパケットを受け取って復
号を行えば、AC3による圧縮符号化前のオーディオ信
号を再生することができるはずである。
品質を劣化させることなく、オーディオ再生装置2側に
おいてAC3符号化データの同期再生を行うことが困難
であった。以下、図9を参照し、その理由について詳述
する。
生部101のタイミング制御用のクロックとは別のクロ
ックに同期して動作する。従って、USBインタフェー
ス102におけるバスクロックの周波数は同期フレーム
の周波数の32倍と必ずしも一致せず、バスクロックの
周波数が定常的にまたは一時的に同期フレームの周波数
の32倍よりも微妙に低くなったり、微妙に高くなった
りする。
ームの周波数の32倍よりも低いと、図9(a)に例示
するように、ある同期フレームSyncF−1では32
個のUSBパケットがバスクロックにより適正なタイミ
ングで転送されるが、その後、時間の経過に伴って、バ
スクロックの位相が同期フレームに対して次第に遅れて
ゆく。そして、同期フレームSncF−M1では、本
来、その同期フレームSncF−M1において出力され
たAC3符号化データの最初のパケットを送信すべきタ
イミングになっても、その前の同期フレームの最後のパ
ケット(32番目のパケット)の送信が終わっていない
という事態が生じる。
ムの周波数の32倍よりも高いと、図9(b)に例示す
るように、時間の経過に伴って、バスクロックの位相が
同期フレームに対して次第に進む。このため、図9
(b)に例示するように、ある同期フレームSncF−
M2における最後のパケット(32番目のパケット)の
転送が終わり、次の同期フレームに出力されるAC3符
号化データの最初のパケットを送信すべきタイミングと
なっているのに、その最初のパケットの生成が間に合わ
ないという事態が生じる。
ェース102は、例えば図9(a)における同期フレー
ムSyncF−M1の前の同期フレームでは31個でパ
ケットの転送を止め、図9(b)における同期フレーム
SyncF−M2では32個目のパケットを転送した
後、さらにその後のバスクロックに同期して33個目の
パケット(0データ)を転送するという制御を行う。
クロックの周波数が同期フレームの周波数の32倍に正
確に一致していない場合でも、各同期フレームにおいて
AC3再生部101から出力されるAC3符号化データ
の全てを遅滞なく転送することができる。
結果、図7のオーディオ再生装置2におけるAC3符号
化データの受信タイミングに1USBフレーム相当のジ
ッタが発生することとなる。図9(c)および(d)は
その例を示すものである。
期フレームにおいて32個のUSBパケットの転送が行
われるが、稀に31個のUSBパケットが転送される同
期フレームがある。この31個のUSBパケットが転送
される同期フレームの後の同期フレームにおいてオーデ
ィオ再生装置2に受信されるAC3符号化データは、理
想的には1USBフレームだけ後に受信されるべきもの
である。
期フレームにおいて32個のUSBパケットの転送が行
われるが、稀に33個のUSBパケットが転送される同
期フレームがある。この33個のUSBパケットが転送
される同期フレームの後の同期フレームにおいてオーデ
ィオ再生装置2に受信されるAC3符号化データは、理
想的には1USBフレームだけ前に受信されるべきもの
である。
msecの同期フレーム(この同期フレームは、コンピ
ュータ1のAC3再生部101側の同期フレームとは非
同期である)に同期して、AC3符号化データの同期再
生が行われるが、この同期再生は、AC3符号化データ
のパケットをFIFO(先入れ先出し)バッファに順次
格納し、いわゆる同期判定を行うとともにこの判定結果
に従ってFIFOバッファにおけるパケットの読み出し
周波数の制御を行うことにより行っている。このため、
オーディオ再生装置2におけるAC3符号化データのパ
ケットの受信タイミングに1USBフレームにも及ぶ大
きなジッタがあると、同期判定に支障を来たし、正常な
同期再生を行うことができないという問題があった。
されたものであり、同期判定に支障を来すことなく、U
SBを介してアイソクロナス転送されてくるデジタルオ
ーディオデータの同期再生を行うことができる同期制御
装置を提供することを目的としている。
周期的なバスクロックに同期してパケットデータを順次
受信し、前記バスクロックの発生周期よりも長い周期で
ある同期フレーム単位で、受信された1または複数のパ
ケットデータを1つのデータ列にまとめて出力する同期
制御装置において、先入れ先出し方式のバッファと、前
記バスクロックに同期し、受信されたパケットデータま
たは0データを前記バッファに書き込む書込制御部と、
前記バッファから読み出し未了のデータを読み出す読出
制御部と、前記バスクロックの発生タイミングにおいて
前記バッファにおける読み出し未了のデータの量と同期
点情報との差分が許容範囲から外れている場合にその差
分を許容範囲内に収めるための前記読出制御部によるデ
ータの読出レートの制御を行う同期判定部と、前記同期
点情報を前記同期点判定部に供給する手段であって、前
記バスクロックに同期して到来する複数の連続したパケ
ットデータの先頭のパケットデータを検知し、この先頭
のパケットデータから次の先頭のパケットデータまでの
期間が前記同期フレームよりも短くなった場合には、前
記バッファにおける当該次の先頭のパケットデータの直
前に所定量の0データを挿入するとともに当該同期点情
報を所定量小さくする同期点制御部とを具備する同期制
御装置を提供するものである。また、請求項2に係る発
明は、この同期制御装置において、前記同期点制御部
は、前記同期点情報を所定量小さくした後、暫時元へ戻
す制御を行うことを特徴とする。次に、請求項3に係る
発明は、周期的なバスクロックに同期してパケットデー
タを順次受信し、前記バスクロックの発生周期よりも長
い周期である同期フレーム単位で、受信された1または
複数のパケットデータを1つのデータ列にまとめて出力
する同期制御装置において、先入れ先出し方式のバッフ
ァと、前記バスクロックに同期し、受信されたパケット
データまたは0データを前記バッファに書き込む書込制
御部と、前記バッファから読み出し未了のデータを読み
出す読出制御部と、前記バスクロックの発生タイミング
において前記バッファにおける読み出し未了のデータの
量と同期点情報との差分が許容範囲から外れている場合
にその差分を許容範囲内に収めるための前記読出制御部
によるデータの読出レートの制御を行う同期判定部と、
前記同期点情報を前記同期点判定部に供給する手段であ
って、前記バスクロックに同期して到来する複数の連続
したパケットデータの先頭のパケットデータを検知し、
この先頭のパケットデータから次の先頭のパケットデー
タまでの期間が前記同期フレームよりも長くなった場合
には、前記同期点情報を所定量大きくする同期点制御部
とを具備することを特徴とする同期制御装置を提供する
ものである。また、請求項4に係る発明は、この同期制
御装置において、前記同期点制御部は、前記同期点情報
を所定量大きくした後、暫時元へ戻す制御を行うことを
特徴とする。次に、請求項5に係る発明は、周期的なバ
スクロックに同期してパケットデータを順次受信し、前
記バスクロックの発生周期よりも長い周期である同期フ
レーム単位で、受信された1または複数のパケットデー
タを1つのデータ列にまとめて出力する同期制御装置に
おいて、先入れ先出し方式のバッファと、前記バスクロ
ックに同期し、受信されたパケットデータまたは0デー
タを前記バッファに書き込む書込制御部と、前記バッフ
ァから読み出し未了のデータを読み出す読出制御部と、
前記バスクロックの発生タイミングにおいて前記バッフ
ァにおける読み出し未了のデータの量と同期点情報との
差分が許容範囲から外れている場合にその差分を許容範
囲内に収めるための前記読出制御部によるデータの読出
レートの制御を行う同期判定部と、前記バスクロックに
同期して到来する複数の連続したパケットデータの先頭
のパケットデータからプリアンブルを生成するプリアン
ブル生成部と、前記同期点情報を前記同期点判定部に供
給する手段であって、前記バスクロックに同期して到来
する複数の連続したパケットデータの先頭のパケットデ
ータを検知したとき、前記プリアンブルのデータ長に相
当する量だけ前記同期点情報をシフトして前記同期判定
部に供給し、この同期判定部による判定の後、前記同期
点情報を元に戻す同期点制御部とを具備することを特徴
とする同期制御装置を提供するものである。
するため、実施の形態について説明する。かかる実施の
形態は、本発明の一態様を示すものであり、この発明を
限定するものではなく、本発明の範囲で任意に変更可能
である。
御回路20とオーディオ再生部24の構成を示すブロッ
ク図である。この図1に示す各装置は、例えば図7にお
けるオーディオ再生装置2の内部に設けられるものであ
る。
PU21と、このCPU21に外付けされた発振器22
と、プリバッファ23Pと、デュアルポートRAMなど
により構成されたFIFOバッファ23とを有してい
る。
FIFOバッファ23により、USB3を介してアイソ
クロナス転送されてくるUSBパケットをバッファリン
グし、IEC958に対応した形式に変換されたAC3
データを生成し、オーディオ再生部24に供給する役割
を担っている。
するUSBパケットを示し、図2(b)はこの同期制御
回路20によって生成されるIEC958に対応した形
式に変換されたAC3データを示している。図2(a)
において、USBパケットは、1msecのUSBフレ
ーム毎に1個ずつ送信されてくる。従って、同期フレー
ムが32msecである場合、その同期フレームでは、
32個のUSBパケットが受信される。各USBパケッ
トは、192バイトのAC3符号化データまたは0デー
タをペイロードとして含んでいる。同期制御回路20に
順次到来するUSBパケットは、一旦、プリバッファ2
3Pに格納された後、所定個数のUSBフレームだけ遅
延されて、FIFOバッファ23に転送される。また、
図2(b)に示すように、IEC958に対応した形式
に変換されたAC3データは、プリアンブルと、1同期
フレーム内に受信されたAC3符号化データを受信され
た順番に並べてまとめたデータ列と0データ列とにより
構成されている。同期制御回路20は、AC3で定義さ
れる1同期フレーム(すなわちIEC958の1同期フ
レーム)の期間にIEC958形式に変換されたAC3
データを、発振器22の基準クロックを分周して得た読
出クロック(例えば、サンプリング周波数が48KH
z)に従ってFIFOバッファ23から読み出してオー
ディオ再生部24に供給する。
御部201と、読出制御部202と、プリアンブル生成
部203と、同期判定部204と、同期点制御部205
とを有している。これらは、CPU21が所定のソフト
ウェアを実行することにより営まれる諸機能をハードウ
ェア的なモジュールとして表したものである。勿論、こ
れらのモジュールをハードウェアによって構成してもよ
い。
SBパケットが受信され、そのプリバッファ23Pに格
納される毎に、書込アドレスを順次インクリメントしつ
つFIFOバッファ23に供給し、USBパケットのペ
イロードであるAC3符号化データまたは0データをプ
リバッファ23Pから読み出してFIFOバッファ23
に書き込む制御を行う。
3に格納されたAC3符号化データまたは0データを古
いものから順に読み出し、IEC958に対応した形式
に変換されたAC3データとしてオーディオ再生部24
に供給する手段である。この読出制御部202は、例え
ば発振器22から出力される基準クロックを分周する分
周比可変の分周器と、この分周器から得られるクロック
をカウントし、カウント値を読出アドレスRADRとし
てFIFOバッファ23に供給するカウンタと、このカ
ウンタのカウント値を強制的に操作する回路とを有して
いる(いずれも図示略)。
ムにおける最初のUSBフレームに受信され、FIFO
バッファ23に格納されたUSBパケット内のAC3符
号化データに基づいて、IEC958形式に変換された
AC3データのプリアンブルを生成する手段である。こ
のプリアンブル生成部203によって生成されたプリア
ンブルは、書込制御部201により、FIFOバッファ
23内の該当するエリアに書き込まれる。
始タイミングSOFを検知する毎に、その時点において
FIFOバッファ23に供給されている書込アドレスW
ADRと読出アドレスRADRを取り込み、FIFOバ
ッファ23から未だ読み出されていないデータの量をこ
れらのアドレスの差から求め、FIFOバッファ23の
オーバフローまたはアンダフローの危険性があるか否か
を判定する。そして、オーバフローまたはアンダフロー
の危険性がある場合には、これを回避するために、読出
アドレスRADRの供給レートの修正を指示する周波数
制御指令を読出制御部202に送る。すなわち、FIF
Oバッファ23への書き込みレートに対して、FIFO
バッファ23からの読み出しレートが高く、アンダーフ
ローの危険性がある場合、同期判定部204は、読出ア
ドレスRADRの供給レートを低下させる周波数制御指
令を読出制御部202に送る。これに対し、FIFOバ
ッファ23への書き込みレートに対してFIFOバッフ
ァ23からの読み出しレートが低く、オーバフローの危
険性がある場合、同期判定部204は、読出アドレスR
ADRの供給レートを上昇させる周波数制御指令を読出
制御部202に送るのである。
の危険性の有無に関する判定は、同期点制御部205に
よって指定される同期点に基づいて行われる。この同期
点は、FIFOバッファ23への書き込みレートに適応
した理想的な読み出しレートでFIFOバッファ23か
らAC3符号化データまたは0データが読み出されてい
るとした場合のUSBフレーム開始タイミングSOFに
おけるFIFOバッファ23の読出アドレスRADRで
ある。同期点判定部204は、下記式(1)が満たされ
るか否かにより、周波数制御指令の送出が不要かどうか
を判定する。 |(バッファサイズ−バッファ空き容量)−同期点|<許容値α ……(1)
(バッファサイズ−バッファ空き容量)は、FIFOバ
ッファ23に書き込まれた後、未だに読み出されていな
いデータの量であり、書込アドレスWADRと読出アド
レスRADRとから求められる。
開始タイミングSOFを検知する毎に、同期点を演算し
て同期判定部204に供給する手段である。通常は、U
SBフレームの開始タイミングSOFの検出時点におけ
る書込アドレスWADRから所定のオフセットを減算し
たアドレスが同期点とする。しかし、本実施形態では、
同期フレームの切り換わりタイミングおよびその後の幾
つかのUSBフレームにおいて、同期判定部204に対
して指定する同期点をこの通常の同期点から変更した
り、次第に元の通常の同期点に戻す処理を行う。なお、
この処理の詳細については、本実施形態の動作説明の中
で取り上げる。
作を示すフローチャートである。また、図4〜図6は同
期点制御部205の動作を示す図である。以下、これら
の図を参照し、本実施形態の動作を説明する。
USBフレームの切り換わりがある毎に、CPU21に
より、USBフレームの個数のカウントが行われるとと
もに、図3にフローを示す割り込み処理が実行される。
21は、プリバッファ23PからFIFOバッファ23
に送るべきUSBパケットのペイロードが0データであ
るか否かを判断する(ステップS1)。ここで、FIF
Oバッファ23に送るべきペイロードが、0データであ
る場合には、この判断結果は「YES」となり、処理は
ステップS2に進む。
SBフレームのカウント値が「33」以上になったか否
かを判断する。
場合、CPU21は、FIFOバッファ23に送るべき
0データが当該同期フレームにおける最後の0データか
否かを判断する(ステップS3)。この判断は具体的に
は次のようにして行われる。すなわち、その0データの
後に受信されたUSBパケットのペイロードがAC3符
号化データを含んでいるような場合には、そのAC3符
号化データは、新たな同期フレームの最初のAC3符号
化データであり、FIFOバッファ23に送るべき0デ
ータは、その直前の同期フレームの最後の0データであ
ると判断するのである。
場合には、その0データをFIFOバッファ23に転送
する(ステップS5)。
は、同期点が通常値からずれているか否かを判断する
(ステップS20)。ステップS3からステップS5を
直接介してステップS20に進んだ場合には、同期点の
通常値からの変更を伴う処理が何等行われていないの
で、このステップS20の判断結果は「NO」となり、
割り込み処理を終了することとなる。
となる場合、具体的には、FIFOバッファ23に送る
べき0データが当該同期フレームにおける最後の0デー
タであり、かつ、当該同期フレームにおけるUSBフレ
ームの個数が「32」である場合に行われる処理につい
て説明する。
介してステップS4に進む。ここで、図4を参照し、こ
の場合に行われる処理を説明する。図4には、FIFO
バッファ23におけるデータの格納状態の推移と同期点
の推移が示されている。また、図面が煩雑になるのを防
ぐため、図4では、FIFOバッファ23内の各エリア
のうち同期点となっているところを中心に固定し、その
前後約384バイト分の記憶エリアの格納状態が示され
ている。後で参照する図5および図6も同様である。
ットがプリバッファ23Pの最終段(次回、FIFOバ
ッファ23に転送されるUSBパケットを格納するエリ
ア)に格納されているものとする。この時点においてF
IFOバッファ23には、図4(a)に示すように31
番目までの受信USBパケットのペイロードが格納され
ている。そして、この時点では31番目までのペイロー
ド(0データ)の終了する位置に同期点がある。図1に
おける同期判定部204では、この同期点を用いて、前
掲式(1)の判定が行われる。
は、この同期点から184バイトだけ後方(後に読み出
されるアドレス)にシフトした位置、すなわち、通常の
同期点よりもプリアンブル分(8バイト)だけ前方の位
置を次回のUSBフレームにおける同期点として設定す
る(図4(c)(d)参照)。
SBパケットのペイロードに含まれる192バイトの0
データのうち184バイトの0データをプリバッファ2
3PからFIFOバッファ23に転送する(ステップS
5)。
態は図4(b)に示すものとなる。ここで、32番目の
0データとして、192バイトよりも8バイト少ない1
84バイトの0データをFIFOバッファ23に書き込
むのは、次のUSBフレームにおいて8バイトのプリア
ンブルを書き込むためのエリアをFIFOバッファ23
内に確保しておくためである。
S20へ進む。この場合も当該USBにおける同期点は
通常値からシフトしていないので、その判断結果が「N
O」となって割り込み処理が終了する。
USBフレームにおいて新たな同期フレームの最初のA
C3符号化データがプリバッファ23PからFIFOバ
ッファ23に転送されるものとする。この場合、割り込
み処理では、ステップS1の判断結果が「NO」となっ
てステップS11に進む。
Oバッファ23に転送すべきデータが最初のAC3符号
化データか否かを判断する。この場合、ステップS11
の判断結果は「YES」となり、CPU21は、その時
点におけるUSBフレームのカウント値を直前の同期フ
レームにおけるUSBフレームの個数として記憶した
後、USBフレームのカウント値を「1」に初期化し、
ステップS12の処理に進む。
は、直前の同期フレームにおけるUSBフレームの個数
が「31」か否かを判断する。この判断結果が「NO」
である場合、CPU21はステップS12からステップ
S13の処理に進む。
には、図4(c)に示すように32番目までの受信US
Bパケットのペイロードが格納されている。そして、3
2番目のペイロード(0データ)は、バイト長が通常よ
りもプリアンブル分(8バイト分)少なく、184バイ
トしかない。しかしながら、1USBフレームだけ前に
実行されたステップS4の処理において、現USBフレ
ームにおける同期点は通常よりもプリアンブル分だけシ
フトした位置、すなわち、184バイトの0データが終
わる位置に設定されている。そして、図1における同期
判定部204では、この同期点を用いて前掲式(1)の
判定が行われる。このため、直前の同期フレームの最後
において8バイト分だけ少なく0データが書き込まれた
としても、これが原因となって不当にオーバフローまた
はアンダーフローの判定が行われることはない。
と、CPU21は、プリバッファ23Pに格納された1
番目のUSBパケット内の192バイトのAC3符号化
データを読み出してプリアンブルを生成し、このプリア
ンブルをFIFOバッファ23に書き込み、同期点を8
バイト分シフトして通常の位置に戻す(ステップS1
3)。次いでCPU21は、このプリアンブルに続けて
同期フレームの最初のAC3符号化データをFIFOバ
ッファ23に書き込む(ステップS15)。この結果、
FIFOバッファ23の格納状態は図4(d)に示すも
のとなる。
プS20へ進み、その判断結果が「NO」となって割り
込み処理が終了する。
の時点においてFIFOバッファ23に送るべきデータ
が同期フレームにおける最後の0データであり、かつ、
当該同期フレームにおけるUSBフレームの個数が「3
1」である場合に行われる処理について説明する。
データが検知される前(すなわち、USBフレームのカ
ウント値が「31」以下であるとき)にその同期フレー
ムの次の同期フレームの最初のAC3符号化データがス
テップS1において検知され、ステップS11およびS
12の判断結果がいずれも「YES」となり、ステップ
S14に進むことになる。
プリアンブルの付加とこれに伴う同期点変更処理が行わ
れる。以下、図5を参照し、このステップS14の処理
について説明する。
トが受信され、プリバッファ23Pに格納されているも
のとする。この時点においてFIFOバッファ23に
は、図5(a)に示すように直前の同期フレームの31
番目までの受信USBパケットのペイロードが格納され
ている。このときCPU21は、ステップS2において
新たな同期フレームの最初のAC3符号化データが受信
されたことを検知しているため、その最初のAC3符号
化データ(192バイト)に付加すべき8バイトのプリ
アンブルを生成する。そして、184バイトの0データ
とこの8バイトのプリアンブルとをFIFOバッファ2
3に書き込む。この結果、FIFOバッファ23の格納
状態は図5(b)に示すものとなる。次に、CPU21
は、プリバッファ23Pから読み出した最初のAC3符
号化データ(192バイト)をFIFOバッファ23に
書き込む。この結果、FIFOバッファ23の格納状態
は図5(c)に示すものとなる。このときCPU21
は、1USBの間に通常よりも192バイトだけ余計に
データの書き込みを行ったことに対応し、次のUSBフ
レームにおける同期点の設定位置を192バイト分シフ
トする。以上がステップS14における処理である。
ームの最初のAC3符号化データがプリバッファ23P
からFIFOバッファ23に転送され、FIFOバッフ
ァ23の格納状態は図5(d)に示すものとなる。
PU21は、同期点が初期値からずれているか否かを判
断する(ステップS20)。ここで、ステップS14が
実行された後は、同期点が通常値から192バイトだけ
後方(読み出しが後に行われるアドレス)にシフトされ
ている。この場合、ステップS20の判断結果は「YE
S」のなり、CPU21は、ステップS21の処理を実
行する。このステップS21では、CPU21は、通常
値からシフトした同期点を例えば1USBフレーム当た
り所定バイトという具合に、暫時前方へシフトし、元に
戻す操作を行う。そして、このステップS21の処理を
終えると、割り込み処理を終了する。
の時点においてFIFOバッファ23に送るべきデータ
が0データであり、かつ、USBフレームのカウント値
が「33」になっていた場合に行われる処理について図
6を参照しつつ説明する。
結果がいずれも「YES」となり、CPU21はステッ
プS6の処理を実行する。このステップS6においてC
PU21は、同期点をプリアンブル分(8バイト分)だ
け前方にシフトし(図6(a)参照)、さらに192バ
イト分だけ前方にシフトする(図6(b)参照)。そし
て、この場合には0データのFIFOバッファ23への
転送(ステップS5)が行われることなく、割り込み処
理が終了する。
フレームの最初のAC3符号化データがFIFOバッフ
ァ23に転送されるときには、ステップS1の判断結果
が「NO」、ステップS11の判断結果が「YES」、
ステップS12の判断結果が「YES」となり、ステッ
プS13に進むこととなる。
は、プリバッファ23P内の最初のAC3符号化データ
からプリアンブルを生成して、FIFOバッファ23に
書き込む。次いでCPU21は、このプリアンブルに続
けてプリバッファ23P内の最初のAC3符号化データ
をFIFOバッファ23に転送する(ステップS1
5)。この結果、FIFOバッファ23は図6(d)に
示す格納状態となる。
PU21は、同期点が通常値からずれているか否かを判
断する(ステップS20)。この場合、ステップS20
の判断結果は「YES」となり、ステップS21におい
てCPU21は、通常値からシフトした同期点を例えば
1USBフレーム当たり所定バイトという具合に、暫時
後方へシフトし、通常値に戻す操作を行う。そして、こ
のステップS21の処理を終えると、割り込み処理を終
了する。
データをFIFOバッファ23に転送すべきときには、
ステップS1、S11を介してステップS15が実行さ
れ、このステップS15においてAC3符号化データの
FIFOバッファ23への転送が行われる。この場合に
おいて、同期点が初期値からずれている場合にはステッ
プS21の同期点の暫時シフトが行われる。
ば、送信側からアイソクロナス転送されてくるデータを
FIFOバッファによりバッファリングし、所定周期毎
にまとめて出力する場合において、データ受信タイミン
グに発生する大きなジッタによりFIFOへのデータの
書込とFIFOバッファからのデータの読み出しとの関
係の定常性が失われるときに、データの書き込みと読み
出しとの同期判定に用いる同期点を操作して、FIFO
バッファのアンダフローまたはオーバフローに関して誤
った判定がなされるのを防止するので、同期判定に支障
を来すことなく受信データの同期再生を行うことができ
る。
構成を示すブロック図である。
SBパケットと同期制御回路から出力されるIEC95
8形式に変換されたAC3データを示す図である。
る。
る。
る。
る。
ムを例示する図である。
生部とUSBインタフェースの動作を示すタイムチャー
トである。
ロナス転送時においてジッタが発生する現象を説明する
タイムチャートである。
FOバッファ、201……書込制御部、202……読出
制御部、203……プリアンブル生成部、204……同
期点判定部、205……同期点制御部。
Claims (5)
- 【請求項1】 周期的なバスクロックに同期してパケッ
トデータを順次受信し、前記バスクロックの発生周期よ
りも長い周期である同期フレーム単位で、受信された1
または複数のパケットデータを1つのデータ列にまとめ
て出力する同期制御装置において、 先入れ先出し方式のバッファと、 前記バスクロックに同期し、受信されたパケットデータ
または0データを前記バッファに書き込む書込制御部
と、 前記バッファから読み出し未了のデータを読み出す読出
制御部と、 前記バスクロックの発生タイミングにおいて前記バッフ
ァにおける読み出し未了のデータの量と同期点情報との
差分が許容範囲から外れている場合にその差分を許容範
囲内に収めるための前記読出制御部によるデータの読出
レートの制御を行う同期判定部と、 前記同期点情報を前記同期点判定部に供給する手段であ
って、前記バスクロックに同期して到来する複数の連続
したパケットデータの先頭のパケットデータを検知し、
この先頭のパケットデータから次の先頭のパケットデー
タまでの期間が前記同期フレームよりも短くなった場合
には、前記バッファにおける当該次の先頭のパケットデ
ータの直前に所定量の0データを挿入するとともに当該
同期点情報を所定量小さくする同期点制御部とを具備す
ることを特徴とする同期制御装置。 - 【請求項2】 前記同期点制御部は、前記同期点情報を
所定量小さくした後、暫時元へ戻す制御を行うことを特
徴とする請求項1に記載の同期制御装置。 - 【請求項3】 周期的なバスクロックに同期してパケッ
トデータを順次受信し、前記バスクロックの発生周期よ
りも長い周期である同期フレーム単位で、受信された1
または複数のパケットデータを1つのデータ列にまとめ
て出力する同期制御装置において、 先入れ先出し方式のバッファと、 前記バスクロックに同期し、受信されたパケットデータ
または0データを前記バッファに書き込む書込制御部
と、 前記バッファから読み出し未了のデータを読み出す読出
制御部と、 前記バスクロックの発生タイミングにおいて前記バッフ
ァにおける読み出し未了のデータの量と同期点情報との
差分が許容範囲から外れている場合にその差分を許容範
囲内に収めるための前記読出制御部によるデータの読出
レートの制御を行う同期判定部と、 前記同期点情報を前記同期点判定部に供給する手段であ
って、前記バスクロックに同期して到来する複数の連続
したパケットデータの先頭のパケットデータを検知し、
この先頭のパケットデータから次の先頭のパケットデー
タまでの期間が前記同期フレームよりも長くなった場合
には、前記同期点情報を所定量大きくする同期点制御部
とを具備することを特徴とする同期制御装置。 - 【請求項4】 前記同期点制御部は、前記同期点情報を
所定量大きくした後、暫時元へ戻す制御を行うことを特
徴とする請求項3に記載の同期制御装置。 - 【請求項5】 周期的なバスクロックに同期してパケッ
トデータを順次受信し、前記バスクロックの発生周期よ
りも長い周期である同期フレーム単位で、受信された1
または複数のパケットデータを1つのデータ列にまとめ
て出力する同期制御装置において、 先入れ先出し方式のバッファと、 前記バスクロックに同期し、受信されたパケットデータ
または0データを前記バッファに書き込む書込制御部
と、 前記バッファから読み出し未了のデータを読み出す読出
制御部と、 前記バスクロックの発生タイミングにおいて前記バッフ
ァにおける読み出し未了のデータの量と同期点情報との
差分が許容範囲から外れている場合にその差分を許容範
囲内に収めるための前記読出制御部によるデータの読出
レートの制御を行う同期判定部と、 前記バスクロックに同期して到来する複数の連続したパ
ケットデータの先頭のパケットデータからプリアンブル
を生成するプリアンブル生成部と、 前記同期点情報を前記同期点判定部に供給する手段であ
って、前記バスクロックに同期して到来する複数の連続
したパケットデータの先頭のパケットデータを検知した
とき、前記プリアンブルのデータ長に相当する量だけ前
記同期点情報をシフトして前記同期判定部に供給し、こ
の同期判定部による判定の後、前記同期点情報を元に戻
す同期点制御部とを具備することを特徴とする同期制御
装置。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000273279A JP3417392B2 (ja) | 2000-09-08 | 2000-09-08 | 同期制御装置 |
EP01121459A EP1189140B1 (en) | 2000-09-08 | 2001-09-07 | Synchronization control device |
DE2001617078 DE60117078T2 (de) | 2000-09-08 | 2001-09-07 | Vorrichtung zur Überwachung der Synchronisierung |
US09/969,522 US7042911B2 (en) | 2000-09-08 | 2001-10-02 | Synchronization control device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000273279A JP3417392B2 (ja) | 2000-09-08 | 2000-09-08 | 同期制御装置 |
US09/969,522 US7042911B2 (en) | 2000-09-08 | 2001-10-02 | Synchronization control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002084264A JP2002084264A (ja) | 2002-03-22 |
JP3417392B2 true JP3417392B2 (ja) | 2003-06-16 |
Family
ID=26599552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000273279A Expired - Fee Related JP3417392B2 (ja) | 2000-09-08 | 2000-09-08 | 同期制御装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7042911B2 (ja) |
EP (1) | EP1189140B1 (ja) |
JP (1) | JP3417392B2 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2492811C (en) * | 2002-07-17 | 2012-05-08 | Fiberbyte Pty Ltd | Synchronized multichannel universal serial bus |
US7464287B2 (en) * | 2004-03-31 | 2008-12-09 | Intel Corporation | Strategy to verify asynchronous links across chips |
TWI304694B (en) * | 2004-09-22 | 2008-12-21 | Free Systems Pte Ltd | A method and apparatus for ensuring high quality audio playback in a wireless or wired digital audio communication system |
US20060062329A1 (en) * | 2004-09-22 | 2006-03-23 | Freesystems Pte., Ltd. | Apparatus and method for adaptive digital locking and soft evaluation of data symbols in a wireless digital communication system |
US20060062338A1 (en) * | 2004-09-22 | 2006-03-23 | Freesystems Pte., Ltd. | Method and apparatus for ensuring high quality audio playback in a wireless or wired digital audio communication system |
US7646836B1 (en) * | 2005-03-01 | 2010-01-12 | Network Equipment Technologies, Inc. | Dynamic clock rate matching across an asynchronous network |
JP2007110184A (ja) * | 2005-10-11 | 2007-04-26 | Matsushita Electric Ind Co Ltd | ジッタ補正回路、ジッタ補正方法、及び復調装置 |
US20070133952A1 (en) * | 2005-12-08 | 2007-06-14 | Samsung Electronics Co., Ltd. | Method and system for reproducing contents |
US8069294B2 (en) | 2006-03-30 | 2011-11-29 | Intel Corporation | Power-optimized frame synchronization for multiple USB controllers with non-uniform frame rates |
US7839897B2 (en) * | 2006-09-29 | 2010-11-23 | Agere Systems Inc. | Methods and apparatus for unidirectional timing message transport over packet networks |
TW200921325A (en) * | 2007-11-05 | 2009-05-16 | Holtek Semiconductor Inc | Frequency synchronous apparatus and method |
US20090167943A1 (en) * | 2007-12-27 | 2009-07-02 | Vimicro Corporation | Apparatus and Method for Synchronizing Video and Audio Data |
WO2009113238A1 (ja) * | 2008-03-14 | 2009-09-17 | パナソニック株式会社 | ホスト機器 |
EP2529531B1 (en) * | 2010-01-27 | 2019-10-09 | Koninklijke KPN N.V. | Method, system and device for synchronization of media streams |
US8782355B1 (en) * | 2010-11-22 | 2014-07-15 | Marvell International Ltd. | Method and apparatus to prevent FIFO overflow and underflow by adjusting one of a write rate and a read rate |
EP2670157B1 (en) | 2012-06-01 | 2019-10-02 | Koninklijke KPN N.V. | Fingerprint-based inter-destination media synchronization |
US9633408B2 (en) | 2013-06-14 | 2017-04-25 | Microsoft Technology Licensing, Llc | Coalescing graphics operations |
US9430808B2 (en) * | 2013-06-19 | 2016-08-30 | Microsoft Technology Licensing, Llc | Synchronization points for state information |
TW201705010A (zh) * | 2015-07-31 | 2017-02-01 | 盛微先進科技股份有限公司 | 通用序列匯流排(usb)音訊傳輸調整之裝置與方法 |
CN108089834B (zh) * | 2017-11-07 | 2021-04-30 | 潍坊歌尔电子有限公司 | 一种播放同步方法、装置和usb声卡 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5859641A (ja) * | 1981-10-05 | 1983-04-08 | Nec Corp | デイジタル伝送装置 |
JPH04286233A (ja) * | 1991-03-14 | 1992-10-12 | Nec Corp | スタッフ同期回路 |
DE4205959A1 (de) * | 1992-02-27 | 1993-09-02 | Philips Patentverwaltung | Schaltungsanordnung zum ausgleich von frequenz- und/oder phasenschwankungen zwischen einem ankommenden und einem abgehenden signal |
US5452010A (en) * | 1994-07-18 | 1995-09-19 | Tektronix, Inc. | Synchronizing digital video inputs |
US6092142A (en) * | 1998-02-26 | 2000-07-18 | Intel Corporation | Method and apparatus to introduce programmable delays when replaying isochronous data packets |
US6400683B1 (en) * | 1998-04-30 | 2002-06-04 | Cisco Technology, Inc. | Adaptive clock recovery in asynchronous transfer mode networks |
US6721328B1 (en) * | 1999-11-19 | 2004-04-13 | Adc Telecommunications, Inc. | Adaptive clock recovery for circuit emulation service |
-
2000
- 2000-09-08 JP JP2000273279A patent/JP3417392B2/ja not_active Expired - Fee Related
-
2001
- 2001-09-07 EP EP01121459A patent/EP1189140B1/en not_active Expired - Lifetime
- 2001-10-02 US US09/969,522 patent/US7042911B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002084264A (ja) | 2002-03-22 |
US7042911B2 (en) | 2006-05-09 |
EP1189140B1 (en) | 2006-02-08 |
EP1189140A1 (en) | 2002-03-20 |
US20030063627A1 (en) | 2003-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3417392B2 (ja) | 同期制御装置 | |
JP3203978B2 (ja) | データ送受信装置、データ受信装置及びデータ送信装置 | |
US5923902A (en) | System for synchronizing a plurality of nodes to concurrently generate output signals by adjusting relative timelags based on a maximum estimated timelag | |
USRE45120E1 (en) | Digital signal transmission method, digital signal transmission system, digital signal transmitting apparatus and recording medium | |
JP2007501428A (ja) | バッファ管理システム、ディジタルオーディオ受信機、ヘッドホン、スピーカ、バッファ管理方法 | |
JP3894582B2 (ja) | データ転送システム、送信機及び受信機 | |
US6363428B1 (en) | Apparatus for and method of separating header information from data in an IEEE 1394-1995 serial bus network | |
EP1449378A2 (en) | System and method for compensating packet delay variations | |
US6735223B1 (en) | Method of controlling offset of time stamp and apparatus for transmitting packet using the same | |
US20070162168A1 (en) | Audio signal delay apparatus and method | |
JP4228081B2 (ja) | データ変換システム | |
JP3482893B2 (ja) | インターフェイス装置 | |
US7065291B2 (en) | Method of processing data packets, and video recording/playback apparatus incorporating the method | |
KR100208371B1 (ko) | 데이터전송 프레임의 포맷과 전송장치 및 그 송신제어방법 | |
JP2000004423A (ja) | 情報再生装置及び方法 | |
JP5089225B2 (ja) | 中継処理方法及び中継ノード装置 | |
JP2002077241A (ja) | 非同期音声データ処理方式 | |
JPH1022960A (ja) | メディア符号化装置 | |
JP4211928B2 (ja) | 通信モジュール、これを有する再生装置、ナビゲーション装置及びディスプレイ装置 | |
JP4290818B2 (ja) | ビット演算付加データの高速転送回路 | |
JP2005286845A (ja) | 複数機器同期稼働システム | |
JP2005303831A (ja) | データ受信装置、データ受信方法、データ送信装置、及びデータ送信方法 | |
JP2776455B2 (ja) | 多入出力ファイル装置の制御方式 | |
JP2962288B2 (ja) | ディジタルコードレス電話機 | |
JP3578156B2 (ja) | パケット受信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090411 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090411 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100411 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110411 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120411 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130411 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140411 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |