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
Application number
JP2000273279A
Other languages
English (en)
Other versions
JP2002084264A (ja
Inventor
匡史 利谷
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2000273279A priority Critical patent/JP3417392B2/ja
Priority to DE2001617078 priority patent/DE60117078T2/de
Priority to EP01121459A priority patent/EP1189140B1/en
Priority to US09/969,522 priority patent/US7042911B2/en
Publication of JP2002084264A publication Critical patent/JP2002084264A/ja
Application granted granted Critical
Publication of JP3417392B2 publication Critical patent/JP3417392B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、アイソクロナス
転送されてくるパケットデータを受信して同期再生する
際に用いられる同期制御装置に関する。
【0002】
【従来の技術】デジタル機器間を接続するケーブルとし
てUSB(Universal Serial Bus)がある。最近では、
このUSBにより他の機器と接続可能な多くの種類のデ
ジタル機器が提供されており、USBの適用範囲が拡大
しつつある。
【0003】
【発明が解決しようとする課題】さて、USBを利用し
たデータ転送の形態として、1msecの周期(以下、
USBフレームという)で発生するバスクロックをトリ
ガとして、送信側から受信側へのパケットデータ転送を
繰り返すアイソクロナス転送がある。
【0004】これまで本願発明者は、このUSBのアイ
ソクロナス転送を利用し、AC3(Audio Code 3)等
の符号化データの転送を行うオーディオ通信システムを
検討してきた。
【0005】図7はこのオーディオ通信システムの構成
を示すブロック図である。図7に示すように、このオー
ディオ通信システムは、コンピュータ1とオーディオ再
生装置2とをUSB3により接続してなるものである。
図7において、コンピュータ1は、AC3符号化データ
の記録されたDVDを収容して駆動するDVDドライブ
を有しており(図示略)、さらに図7に示すAC3再生
部101とUSBインタフェース102とを有してい
る。
【0006】ここで、図8(a)〜(c)を参照し、A
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)参照)。
【0007】USBインタフェース102は、1同期フ
レーム内に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の
機能の概略である。
【0008】図7に示すオーディオ再生装置では、この
ようにしてコンピュータ1側からUSB3を介して送ら
れてくるAC3符号化データのパケットを受け取って復
号を行えば、AC3による圧縮符号化前のオーディオ信
号を再生することができるはずである。
【0009】ところが、以上説明したシステムは、再生
品質を劣化させることなく、オーディオ再生装置2側に
おいてAC3符号化データの同期再生を行うことが困難
であった。以下、図9を参照し、その理由について詳述
する。
【0010】USBインタフェース102は、AC3再
生部101のタイミング制御用のクロックとは別のクロ
ックに同期して動作する。従って、USBインタフェー
ス102におけるバスクロックの周波数は同期フレーム
の周波数の32倍と必ずしも一致せず、バスクロックの
周波数が定常的にまたは一時的に同期フレームの周波数
の32倍よりも微妙に低くなったり、微妙に高くなった
りする。
【0011】ここで、バスクロックの周波数が同期フレ
ームの周波数の32倍よりも低いと、図9(a)に例示
するように、ある同期フレームSyncF−1では32
個のUSBパケットがバスクロックにより適正なタイミ
ングで転送されるが、その後、時間の経過に伴って、バ
スクロックの位相が同期フレームに対して次第に遅れて
ゆく。そして、同期フレームSncF−M1では、本
来、その同期フレームSncF−M1において出力され
たAC3符号化データの最初のパケットを送信すべきタ
イミングになっても、その前の同期フレームの最後のパ
ケット(32番目のパケット)の送信が終わっていない
という事態が生じる。
【0012】また、バスクロックの周波数が同期フレー
ムの周波数の32倍よりも高いと、図9(b)に例示す
るように、時間の経過に伴って、バスクロックの位相が
同期フレームに対して次第に進む。このため、図9
(b)に例示するように、ある同期フレームSncF−
M2における最後のパケット(32番目のパケット)の
転送が終わり、次の同期フレームに出力されるAC3符
号化データの最初のパケットを送信すべきタイミングと
なっているのに、その最初のパケットの生成が間に合わ
ないという事態が生じる。
【0013】このような事態に対応し、USBインタフ
ェース102は、例えば図9(a)における同期フレー
ムSyncF−M1の前の同期フレームでは31個でパ
ケットの転送を止め、図9(b)における同期フレーム
SyncF−M2では32個目のパケットを転送した
後、さらにその後のバスクロックに同期して33個目の
パケット(0データ)を転送するという制御を行う。
【0014】このようなパケット転送制御により、バス
クロックの周波数が同期フレームの周波数の32倍に正
確に一致していない場合でも、各同期フレームにおいて
AC3再生部101から出力されるAC3符号化データ
の全てを遅滞なく転送することができる。
【0015】ところが、このようなパケット転送制御の
結果、図7のオーディオ再生装置2におけるAC3符号
化データの受信タイミングに1USBフレーム相当のジ
ッタが発生することとなる。図9(c)および(d)は
その例を示すものである。
【0016】まず、図9(c)に示す例では、殆どの同
期フレームにおいて32個のUSBパケットの転送が行
われるが、稀に31個のUSBパケットが転送される同
期フレームがある。この31個のUSBパケットが転送
される同期フレームの後の同期フレームにおいてオーデ
ィオ再生装置2に受信されるAC3符号化データは、理
想的には1USBフレームだけ後に受信されるべきもの
である。
【0017】また、図9(d)に示す例では、殆どの同
期フレームにおいて32個のUSBパケットの転送が行
われるが、稀に33個のUSBパケットが転送される同
期フレームがある。この33個のUSBパケットが転送
される同期フレームの後の同期フレームにおいてオーデ
ィオ再生装置2に受信されるAC3符号化データは、理
想的には1USBフレームだけ前に受信されるべきもの
である。
【0018】ここで、オーディオ再生装置2では、32
msecの同期フレーム(この同期フレームは、コンピ
ュータ1のAC3再生部101側の同期フレームとは非
同期である)に同期して、AC3符号化データの同期再
生が行われるが、この同期再生は、AC3符号化データ
のパケットをFIFO(先入れ先出し)バッファに順次
格納し、いわゆる同期判定を行うとともにこの判定結果
に従ってFIFOバッファにおけるパケットの読み出し
周波数の制御を行うことにより行っている。このため、
オーディオ再生装置2におけるAC3符号化データのパ
ケットの受信タイミングに1USBフレームにも及ぶ大
きなジッタがあると、同期判定に支障を来たし、正常な
同期再生を行うことができないという問題があった。
【0019】この発明は、以上説明した事情に鑑みてな
されたものであり、同期判定に支障を来すことなく、U
SBを介してアイソクロナス転送されてくるデジタルオ
ーディオデータの同期再生を行うことができる同期制御
装置を提供することを目的としている。
【0020】
【課題を解決するための手段】請求項1に係る発明は、
周期的なバスクロックに同期してパケットデータを順次
受信し、前記バスクロックの発生周期よりも長い周期で
ある同期フレーム単位で、受信された1または複数のパ
ケットデータを1つのデータ列にまとめて出力する同期
制御装置において、先入れ先出し方式のバッファと、前
記バスクロックに同期し、受信されたパケットデータま
たは0データを前記バッファに書き込む書込制御部と、
前記バッファから読み出し未了のデータを読み出す読出
制御部と、前記バスクロックの発生タイミングにおいて
前記バッファにおける読み出し未了のデータの量と同期
点情報との差分が許容範囲から外れている場合にその差
分を許容範囲内に収めるための前記読出制御部によるデ
ータの読出レートの制御を行う同期判定部と、前記同期
点情報を前記同期点判定部に供給する手段であって、前
記バスクロックに同期して到来する複数の連続したパケ
ットデータの先頭のパケットデータを検知し、この先頭
のパケットデータから次の先頭のパケットデータまでの
期間が前記同期フレームよりも短くなった場合には、前
記バッファにおける当該次の先頭のパケットデータの直
前に所定量の0データを挿入するとともに当該同期点情
報を所定量小さくする同期点制御部とを具備する同期制
御装置を提供するものである。また、請求項2に係る発
明は、この同期制御装置において、前記同期点制御部
は、前記同期点情報を所定量小さくした後、暫時元へ戻
す制御を行うことを特徴とする。次に、請求項3に係る
発明は、周期的なバスクロックに同期してパケットデー
タを順次受信し、前記バスクロックの発生周期よりも長
い周期である同期フレーム単位で、受信された1または
複数のパケットデータを1つのデータ列にまとめて出力
する同期制御装置において、先入れ先出し方式のバッフ
ァと、前記バスクロックに同期し、受信されたパケット
データまたは0データを前記バッファに書き込む書込制
御部と、前記バッファから読み出し未了のデータを読み
出す読出制御部と、前記バスクロックの発生タイミング
において前記バッファにおける読み出し未了のデータの
量と同期点情報との差分が許容範囲から外れている場合
にその差分を許容範囲内に収めるための前記読出制御部
によるデータの読出レートの制御を行う同期判定部と、
前記同期点情報を前記同期点判定部に供給する手段であ
って、前記バスクロックに同期して到来する複数の連続
したパケットデータの先頭のパケットデータを検知し、
この先頭のパケットデータから次の先頭のパケットデー
タまでの期間が前記同期フレームよりも長くなった場合
には、前記同期点情報を所定量大きくする同期点制御部
とを具備することを特徴とする同期制御装置を提供する
ものである。また、請求項4に係る発明は、この同期制
御装置において、前記同期点制御部は、前記同期点情報
を所定量大きくした後、暫時元へ戻す制御を行うことを
特徴とする。次に、請求項5に係る発明は、周期的なバ
スクロックに同期してパケットデータを順次受信し、前
記バスクロックの発生周期よりも長い周期である同期フ
レーム単位で、受信された1または複数のパケットデー
タを1つのデータ列にまとめて出力する同期制御装置に
おいて、先入れ先出し方式のバッファと、前記バスクロ
ックに同期し、受信されたパケットデータまたは0デー
タを前記バッファに書き込む書込制御部と、前記バッフ
ァから読み出し未了のデータを読み出す読出制御部と、
前記バスクロックの発生タイミングにおいて前記バッフ
ァにおける読み出し未了のデータの量と同期点情報との
差分が許容範囲から外れている場合にその差分を許容範
囲内に収めるための前記読出制御部によるデータの読出
レートの制御を行う同期判定部と、前記バスクロックに
同期して到来する複数の連続したパケットデータの先頭
のパケットデータからプリアンブルを生成するプリアン
ブル生成部と、前記同期点情報を前記同期点判定部に供
給する手段であって、前記バスクロックに同期して到来
する複数の連続したパケットデータの先頭のパケットデ
ータを検知したとき、前記プリアンブルのデータ長に相
当する量だけ前記同期点情報をシフトして前記同期判定
部に供給し、この同期判定部による判定の後、前記同期
点情報を元に戻す同期点制御部とを具備することを特徴
とする同期制御装置を提供するものである。
【0021】
【発明の実施の形態】以下、本発明を更に理解しやすく
するため、実施の形態について説明する。かかる実施の
形態は、本発明の一態様を示すものであり、この発明を
限定するものではなく、本発明の範囲で任意に変更可能
である。
【0022】図1はこの発明の一実施形態である同期制
御回路20とオーディオ再生部24の構成を示すブロッ
ク図である。この図1に示す各装置は、例えば図7にお
けるオーディオ再生装置2の内部に設けられるものであ
る。
【0023】本実施形態に係る同期制御回路20は、C
PU21と、このCPU21に外付けされた発振器22
と、プリバッファ23Pと、デュアルポートRAMなど
により構成されたFIFOバッファ23とを有してい
る。
【0024】CPU21は、プリバッファ23Pおよび
FIFOバッファ23により、USB3を介してアイソ
クロナス転送されてくるUSBパケットをバッファリン
グし、IEC958に対応した形式に変換されたAC3
データを生成し、オーディオ再生部24に供給する役割
を担っている。
【0025】図2(a)は同期制御回路20に順次到来
する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に供給する。
【0026】図1に示すように、CPU21は、書込制
御部201と、読出制御部202と、プリアンブル生成
部203と、同期判定部204と、同期点制御部205
とを有している。これらは、CPU21が所定のソフト
ウェアを実行することにより営まれる諸機能をハードウ
ェア的なモジュールとして表したものである。勿論、こ
れらのモジュールをハードウェアによって構成してもよ
い。
【0027】書込制御部201は、USB3を介してU
SBパケットが受信され、そのプリバッファ23Pに格
納される毎に、書込アドレスを順次インクリメントしつ
つFIFOバッファ23に供給し、USBパケットのペ
イロードであるAC3符号化データまたは0データをプ
リバッファ23Pから読み出してFIFOバッファ23
に書き込む制御を行う。
【0028】読出制御部202は、FIFOバッファ2
3に格納されたAC3符号化データまたは0データを古
いものから順に読み出し、IEC958に対応した形式
に変換されたAC3データとしてオーディオ再生部24
に供給する手段である。この読出制御部202は、例え
ば発振器22から出力される基準クロックを分周する分
周比可変の分周器と、この分周器から得られるクロック
をカウントし、カウント値を読出アドレスRADRとし
てFIFOバッファ23に供給するカウンタと、このカ
ウンタのカウント値を強制的に操作する回路とを有して
いる(いずれも図示略)。
【0029】プリアンブル生成部203は、同期フレー
ムにおける最初のUSBフレームに受信され、FIFO
バッファ23に格納されたUSBパケット内のAC3符
号化データに基づいて、IEC958形式に変換された
AC3データのプリアンブルを生成する手段である。こ
のプリアンブル生成部203によって生成されたプリア
ンブルは、書込制御部201により、FIFOバッファ
23内の該当するエリアに書き込まれる。
【0030】同期判定部204は、USBフレームの開
始タイミング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に送るのである。
【0031】ここで、オーバフローまたはアンダフロー
の危険性の有無に関する判定は、同期点制御部205に
よって指定される同期点に基づいて行われる。この同期
点は、FIFOバッファ23への書き込みレートに適応
した理想的な読み出しレートでFIFOバッファ23か
らAC3符号化データまたは0データが読み出されてい
るとした場合のUSBフレーム開始タイミングSOFに
おけるFIFOバッファ23の読出アドレスRADRで
ある。同期点判定部204は、下記式(1)が満たされ
るか否かにより、周波数制御指令の送出が不要かどうか
を判定する。 |(バッファサイズ−バッファ空き容量)−同期点|<許容値α ……(1)
【0032】上記式(1)において、左辺第1項である
(バッファサイズ−バッファ空き容量)は、FIFOバ
ッファ23に書き込まれた後、未だに読み出されていな
いデータの量であり、書込アドレスWADRと読出アド
レスRADRとから求められる。
【0033】同期点制御部205は、USBフレームの
開始タイミングSOFを検知する毎に、同期点を演算し
て同期判定部204に供給する手段である。通常は、U
SBフレームの開始タイミングSOFの検出時点におけ
る書込アドレスWADRから所定のオフセットを減算し
たアドレスが同期点とする。しかし、本実施形態では、
同期フレームの切り換わりタイミングおよびその後の幾
つかのUSBフレームにおいて、同期判定部204に対
して指定する同期点をこの通常の同期点から変更した
り、次第に元の通常の同期点に戻す処理を行う。なお、
この処理の詳細については、本実施形態の動作説明の中
で取り上げる。
【0034】図3は本実施形態におけるCPU21の動
作を示すフローチャートである。また、図4〜図6は同
期点制御部205の動作を示す図である。以下、これら
の図を参照し、本実施形態の動作を説明する。
【0035】本実施形態に係る同期制御回路20では、
USBフレームの切り換わりがある毎に、CPU21に
より、USBフレームの個数のカウントが行われるとと
もに、図3にフローを示す割り込み処理が実行される。
【0036】この割り込み処理において、まず、CPU
21は、プリバッファ23PからFIFOバッファ23
に送るべきUSBパケットのペイロードが0データであ
るか否かを判断する(ステップS1)。ここで、FIF
Oバッファ23に送るべきペイロードが、0データであ
る場合には、この判断結果は「YES」となり、処理は
ステップS2に進む。
【0037】ステップS2に進むと、CPU21は、U
SBフレームのカウント値が「33」以上になったか否
かを判断する。
【0038】ステップS2の判断結果が「NO」である
場合、CPU21は、FIFOバッファ23に送るべき
0データが当該同期フレームにおける最後の0データか
否かを判断する(ステップS3)。この判断は具体的に
は次のようにして行われる。すなわち、その0データの
後に受信されたUSBパケットのペイロードがAC3符
号化データを含んでいるような場合には、そのAC3符
号化データは、新たな同期フレームの最初のAC3符号
化データであり、FIFOバッファ23に送るべき0デ
ータは、その直前の同期フレームの最後の0データであ
ると判断するのである。
【0039】ステップS3の判断結果が「NO」である
場合には、その0データをFIFOバッファ23に転送
する(ステップS5)。
【0040】ステップS5が終了すると、CPU21
は、同期点が通常値からずれているか否かを判断する
(ステップS20)。ステップS3からステップS5を
直接介してステップS20に進んだ場合には、同期点の
通常値からの変更を伴う処理が何等行われていないの
で、このステップS20の判断結果は「NO」となり、
割り込み処理を終了することとなる。
【0041】次にステップS3の判断結果が「YES」
となる場合、具体的には、FIFOバッファ23に送る
べき0データが当該同期フレームにおける最後の0デー
タであり、かつ、当該同期フレームにおけるUSBフレ
ームの個数が「32」である場合に行われる処理につい
て説明する。
【0042】この場合、CPU21は、ステップS3を
介してステップS4に進む。ここで、図4を参照し、こ
の場合に行われる処理を説明する。図4には、FIFO
バッファ23におけるデータの格納状態の推移と同期点
の推移が示されている。また、図面が煩雑になるのを防
ぐため、図4では、FIFOバッファ23内の各エリア
のうち同期点となっているところを中心に固定し、その
前後約384バイト分の記憶エリアの格納状態が示され
ている。後で参照する図5および図6も同様である。
【0043】ある同期フレームの32番目のUSBパケ
ットがプリバッファ23Pの最終段(次回、FIFOバ
ッファ23に転送されるUSBパケットを格納するエリ
ア)に格納されているものとする。この時点においてF
IFOバッファ23には、図4(a)に示すように31
番目までの受信USBパケットのペイロードが格納され
ている。そして、この時点では31番目までのペイロー
ド(0データ)の終了する位置に同期点がある。図1に
おける同期判定部204では、この同期点を用いて、前
掲式(1)の判定が行われる。
【0044】そして、ステップS4においてCPU21
は、この同期点から184バイトだけ後方(後に読み出
されるアドレス)にシフトした位置、すなわち、通常の
同期点よりもプリアンブル分(8バイト)だけ前方の位
置を次回のUSBフレームにおける同期点として設定す
る(図4(c)(d)参照)。
【0045】そして、CPU21は、32番目の受信U
SBパケットのペイロードに含まれる192バイトの0
データのうち184バイトの0データをプリバッファ2
3PからFIFOバッファ23に転送する(ステップS
5)。
【0046】この結果、FIFOバッファ23の格納状
態は図4(b)に示すものとなる。ここで、32番目の
0データとして、192バイトよりも8バイト少ない1
84バイトの0データをFIFOバッファ23に書き込
むのは、次のUSBフレームにおいて8バイトのプリア
ンブルを書き込むためのエリアをFIFOバッファ23
内に確保しておくためである。
【0047】ステップS5の処理が終わると、ステップ
S20へ進む。この場合も当該USBにおける同期点は
通常値からシフトしていないので、その判断結果が「N
O」となって割り込み処理が終了する。
【0048】次に、USBフレームが切り換わり、その
USBフレームにおいて新たな同期フレームの最初のA
C3符号化データがプリバッファ23PからFIFOバ
ッファ23に転送されるものとする。この場合、割り込
み処理では、ステップS1の判断結果が「NO」となっ
てステップS11に進む。
【0049】そして、このステップS11では、FIF
Oバッファ23に転送すべきデータが最初のAC3符号
化データか否かを判断する。この場合、ステップS11
の判断結果は「YES」となり、CPU21は、その時
点におけるUSBフレームのカウント値を直前の同期フ
レームにおけるUSBフレームの個数として記憶した
後、USBフレームのカウント値を「1」に初期化し、
ステップS12の処理に進む。
【0050】このステップS12においてCPU21
は、直前の同期フレームにおけるUSBフレームの個数
が「31」か否かを判断する。この判断結果が「NO」
である場合、CPU21はステップS12からステップ
S13の処理に進む。
【0051】この時点において、FIFOバッファ23
には、図4(c)に示すように32番目までの受信US
Bパケットのペイロードが格納されている。そして、3
2番目のペイロード(0データ)は、バイト長が通常よ
りもプリアンブル分(8バイト分)少なく、184バイ
トしかない。しかしながら、1USBフレームだけ前に
実行されたステップS4の処理において、現USBフレ
ームにおける同期点は通常よりもプリアンブル分だけシ
フトした位置、すなわち、184バイトの0データが終
わる位置に設定されている。そして、図1における同期
判定部204では、この同期点を用いて前掲式(1)の
判定が行われる。このため、直前の同期フレームの最後
において8バイト分だけ少なく0データが書き込まれた
としても、これが原因となって不当にオーバフローまた
はアンダーフローの判定が行われることはない。
【0052】同期判定部204による同期判定が終わる
と、CPU21は、プリバッファ23Pに格納された1
番目のUSBパケット内の192バイトのAC3符号化
データを読み出してプリアンブルを生成し、このプリア
ンブルをFIFOバッファ23に書き込み、同期点を8
バイト分シフトして通常の位置に戻す(ステップS1
3)。次いでCPU21は、このプリアンブルに続けて
同期フレームの最初のAC3符号化データをFIFOバ
ッファ23に書き込む(ステップS15)。この結果、
FIFOバッファ23の格納状態は図4(d)に示すも
のとなる。
【0053】ステップS15の処理が終わると、ステッ
プS20へ進み、その判断結果が「NO」となって割り
込み処理が終了する。
【0054】次に、割り込み処理が開始されたとき、そ
の時点においてFIFOバッファ23に送るべきデータ
が同期フレームにおける最後の0データであり、かつ、
当該同期フレームにおけるUSBフレームの個数が「3
1」である場合に行われる処理について説明する。
【0055】この場合、ステップS3において最後の0
データが検知される前(すなわち、USBフレームのカ
ウント値が「31」以下であるとき)にその同期フレー
ムの次の同期フレームの最初のAC3符号化データがス
テップS1において検知され、ステップS11およびS
12の判断結果がいずれも「YES」となり、ステップ
S14に進むことになる。
【0056】このステップS14では、0データおよび
プリアンブルの付加とこれに伴う同期点変更処理が行わ
れる。以下、図5を参照し、このステップS14の処理
について説明する。
【0057】新たな同期フレームの最初のUSBパケッ
トが受信され、プリバッファ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における処理である。
【0058】次にステップS15では、新たな同期フレ
ームの最初のAC3符号化データがプリバッファ23P
からFIFOバッファ23に転送され、FIFOバッフ
ァ23の格納状態は図5(d)に示すものとなる。
【0059】そして、ステップS15が終了すると、C
PU21は、同期点が初期値からずれているか否かを判
断する(ステップS20)。ここで、ステップS14が
実行された後は、同期点が通常値から192バイトだけ
後方(読み出しが後に行われるアドレス)にシフトされ
ている。この場合、ステップS20の判断結果は「YE
S」のなり、CPU21は、ステップS21の処理を実
行する。このステップS21では、CPU21は、通常
値からシフトした同期点を例えば1USBフレーム当た
り所定バイトという具合に、暫時前方へシフトし、元に
戻す操作を行う。そして、このステップS21の処理を
終えると、割り込み処理を終了する。
【0060】次に、割り込み処理が開始されたとき、そ
の時点においてFIFOバッファ23に送るべきデータ
が0データであり、かつ、USBフレームのカウント値
が「33」になっていた場合に行われる処理について図
6を参照しつつ説明する。
【0061】この場合、ステップS1およびS2の判断
結果がいずれも「YES」となり、CPU21はステッ
プS6の処理を実行する。このステップS6においてC
PU21は、同期点をプリアンブル分(8バイト分)だ
け前方にシフトし(図6(a)参照)、さらに192バ
イト分だけ前方にシフトする(図6(b)参照)。そし
て、この場合には0データのFIFOバッファ23への
転送(ステップS5)が行われることなく、割り込み処
理が終了する。
【0062】そして、次のUSBフレームになって同期
フレームの最初のAC3符号化データがFIFOバッフ
ァ23に転送されるときには、ステップS1の判断結果
が「NO」、ステップS11の判断結果が「YES」、
ステップS12の判断結果が「YES」となり、ステッ
プS13に進むこととなる。
【0063】このステップS13においてCPU21
は、プリバッファ23P内の最初のAC3符号化データ
からプリアンブルを生成して、FIFOバッファ23に
書き込む。次いでCPU21は、このプリアンブルに続
けてプリバッファ23P内の最初のAC3符号化データ
をFIFOバッファ23に転送する(ステップS1
5)。この結果、FIFOバッファ23は図6(d)に
示す格納状態となる。
【0064】そして、ステップS15が終了すると、C
PU21は、同期点が通常値からずれているか否かを判
断する(ステップS20)。この場合、ステップS20
の判断結果は「YES」となり、ステップS21におい
てCPU21は、通常値からシフトした同期点を例えば
1USBフレーム当たり所定バイトという具合に、暫時
後方へシフトし、通常値に戻す操作を行う。そして、こ
のステップS21の処理を終えると、割り込み処理を終
了する。
【0065】同期フレームの2番目以降のAC3符号化
データをFIFOバッファ23に転送すべきときには、
ステップS1、S11を介してステップS15が実行さ
れ、このステップS15においてAC3符号化データの
FIFOバッファ23への転送が行われる。この場合に
おいて、同期点が初期値からずれている場合にはステッ
プS21の同期点の暫時シフトが行われる。
【0066】
【発明の効果】以上説明したように、この発明によれ
ば、送信側からアイソクロナス転送されてくるデータを
FIFOバッファによりバッファリングし、所定周期毎
にまとめて出力する場合において、データ受信タイミン
グに発生する大きなジッタによりFIFOへのデータの
書込とFIFOバッファからのデータの読み出しとの関
係の定常性が失われるときに、データの書き込みと読み
出しとの同期判定に用いる同期点を操作して、FIFO
バッファのアンダフローまたはオーバフローに関して誤
った判定がなされるのを防止するので、同期判定に支障
を来すことなく受信データの同期再生を行うことができ
る。
【図面の簡単な説明】
【図1】 この発明の一実施形態である同期制御回路の
構成を示すブロック図である。
【図2】 同実施形態に係る同期制御回路に到来するU
SBパケットと同期制御回路から出力されるIEC95
8形式に変換されたAC3データを示す図である。
【図3】 同実施形態の動作を示すフローチャートであ
る。
【図4】 同実施形態における同期点制御を示す図であ
る。
【図5】 同実施形態における同期点制御を示す図であ
る。
【図6】 同実施形態における同期点制御を示す図であ
る。
【図7】 この発明が適用されるオーディオ通信システ
ムを例示する図である。
【図8】 同オーディオ通信システムにおけるAC3再
生部とUSBインタフェースの動作を示すタイムチャー
トである。
【図9】 USBによるAC3符号化データのアイソク
ロナス転送時においてジッタが発生する現象を説明する
タイムチャートである。
【符号の説明】
20……同期制御回路、21……CPU、23……FI
FOバッファ、201……書込制御部、202……読出
制御部、203……プリアンブル生成部、204……同
期点判定部、205……同期点制御部。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI // H04L 7/08 H04L 11/00 310A (58)調査した分野(Int.Cl.7,DB名) H04L 7/00 G06F 13/38 310 G06F 13/38 350 G11B 20/14 351 H04L 12/28 H04L 7/08

Claims (5)

    (57)【特許請求の範囲】
  1. 【請求項1】 周期的なバスクロックに同期してパケッ
    トデータを順次受信し、前記バスクロックの発生周期よ
    りも長い周期である同期フレーム単位で、受信された1
    または複数のパケットデータを1つのデータ列にまとめ
    て出力する同期制御装置において、 先入れ先出し方式のバッファと、 前記バスクロックに同期し、受信されたパケットデータ
    または0データを前記バッファに書き込む書込制御部
    と、 前記バッファから読み出し未了のデータを読み出す読出
    制御部と、 前記バスクロックの発生タイミングにおいて前記バッフ
    ァにおける読み出し未了のデータの量と同期点情報との
    差分が許容範囲から外れている場合にその差分を許容範
    囲内に収めるための前記読出制御部によるデータの読出
    レートの制御を行う同期判定部と、 前記同期点情報を前記同期点判定部に供給する手段であ
    って、前記バスクロックに同期して到来する複数の連続
    したパケットデータの先頭のパケットデータを検知し、
    この先頭のパケットデータから次の先頭のパケットデー
    タまでの期間が前記同期フレームよりも短くなった場合
    には、前記バッファにおける当該次の先頭のパケットデ
    ータの直前に所定量の0データを挿入するとともに当該
    同期点情報を所定量小さくする同期点制御部とを具備す
    ることを特徴とする同期制御装置。
  2. 【請求項2】 前記同期点制御部は、前記同期点情報を
    所定量小さくした後、暫時元へ戻す制御を行うことを特
    徴とする請求項1に記載の同期制御装置。
  3. 【請求項3】 周期的なバスクロックに同期してパケッ
    トデータを順次受信し、前記バスクロックの発生周期よ
    りも長い周期である同期フレーム単位で、受信された1
    または複数のパケットデータを1つのデータ列にまとめ
    て出力する同期制御装置において、 先入れ先出し方式のバッファと、 前記バスクロックに同期し、受信されたパケットデータ
    または0データを前記バッファに書き込む書込制御部
    と、 前記バッファから読み出し未了のデータを読み出す読出
    制御部と、 前記バスクロックの発生タイミングにおいて前記バッフ
    ァにおける読み出し未了のデータの量と同期点情報との
    差分が許容範囲から外れている場合にその差分を許容範
    囲内に収めるための前記読出制御部によるデータの読出
    レートの制御を行う同期判定部と、 前記同期点情報を前記同期点判定部に供給する手段であ
    って、前記バスクロックに同期して到来する複数の連続
    したパケットデータの先頭のパケットデータを検知し、
    この先頭のパケットデータから次の先頭のパケットデー
    タまでの期間が前記同期フレームよりも長くなった場合
    には、前記同期点情報を所定量大きくする同期点制御部
    とを具備することを特徴とする同期制御装置。
  4. 【請求項4】 前記同期点制御部は、前記同期点情報を
    所定量大きくした後、暫時元へ戻す制御を行うことを特
    徴とする請求項3に記載の同期制御装置。
  5. 【請求項5】 周期的なバスクロックに同期してパケッ
    トデータを順次受信し、前記バスクロックの発生周期よ
    りも長い周期である同期フレーム単位で、受信された1
    または複数のパケットデータを1つのデータ列にまとめ
    て出力する同期制御装置において、 先入れ先出し方式のバッファと、 前記バスクロックに同期し、受信されたパケットデータ
    または0データを前記バッファに書き込む書込制御部
    と、 前記バッファから読み出し未了のデータを読み出す読出
    制御部と、 前記バスクロックの発生タイミングにおいて前記バッフ
    ァにおける読み出し未了のデータの量と同期点情報との
    差分が許容範囲から外れている場合にその差分を許容範
    囲内に収めるための前記読出制御部によるデータの読出
    レートの制御を行う同期判定部と、 前記バスクロックに同期して到来する複数の連続したパ
    ケットデータの先頭のパケットデータからプリアンブル
    を生成するプリアンブル生成部と、 前記同期点情報を前記同期点判定部に供給する手段であ
    って、前記バスクロックに同期して到来する複数の連続
    したパケットデータの先頭のパケットデータを検知した
    とき、前記プリアンブルのデータ長に相当する量だけ前
    記同期点情報をシフトして前記同期判定部に供給し、こ
    の同期判定部による判定の後、前記同期点情報を元に戻
    す同期点制御部とを具備することを特徴とする同期制御
    装置。
JP2000273279A 2000-09-08 2000-09-08 同期制御装置 Expired - Fee Related JP3417392B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2000273279A JP3417392B2 (ja) 2000-09-08 2000-09-08 同期制御装置
DE2001617078 DE60117078T2 (de) 2000-09-08 2001-09-07 Vorrichtung zur Überwachung der Synchronisierung
EP01121459A EP1189140B1 (en) 2000-09-08 2001-09-07 Synchronization control device
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1901178B1 (en) * 2002-07-17 2010-02-24 Chronologic 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
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
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
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 パナソニック株式会社 ホスト機器
US8839340B2 (en) * 2010-01-27 2014-09-16 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)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
EP1189140B1 (en) 2006-02-08
EP1189140A1 (en) 2002-03-20
JP2002084264A (ja) 2002-03-22
US7042911B2 (en) 2006-05-09
US20030063627A1 (en) 2003-04-03

Similar Documents

Publication Publication Date Title
JP3417392B2 (ja) 同期制御装置
JP3203978B2 (ja) データ送受信装置、データ受信装置及びデータ送信装置
JP3679808B2 (ja) 信号処理システム
USRE45120E1 (en) Digital signal transmission method, digital signal transmission system, digital signal transmitting apparatus and recording medium
JP2007501428A (ja) バッファ管理システム、ディジタルオーディオ受信機、ヘッドホン、スピーカ、バッファ管理方法
JP3185863B2 (ja) データ多重化方法および装置
WO2003048900A2 (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) データ変換システム
JP3546799B2 (ja) データ送受信装置
JP3482893B2 (ja) インターフェイス装置
US7065291B2 (en) Method of processing data packets, and video recording/playback apparatus incorporating the method
JP2000004423A (ja) 情報再生装置及び方法
JP5089225B2 (ja) 中継処理方法及び中継ノード装置
JP2002077241A (ja) 非同期音声データ処理方式
JP4211928B2 (ja) 通信モジュール、これを有する再生装置、ナビゲーション装置及びディスプレイ装置
JP4290818B2 (ja) ビット演算付加データの高速転送回路
JP2005286845A (ja) 複数機器同期稼働システム
JP2005303831A (ja) データ受信装置、データ受信方法、データ送信装置、及びデータ送信方法
JP2776455B2 (ja) 多入出力ファイル装置の制御方式
JP2962288B2 (ja) ディジタルコードレス電話機
JP3578156B2 (ja) パケット受信装置
JP2009259333A (ja) 再生装置及び再生方法
JP5119933B2 (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