JP2017130930A - リングバッファに基づいたデータの適応オフセット同期(adaptive offset synchronization) - Google Patents
リングバッファに基づいたデータの適応オフセット同期(adaptive offset synchronization) Download PDFInfo
- Publication number
- JP2017130930A JP2017130930A JP2017007268A JP2017007268A JP2017130930A JP 2017130930 A JP2017130930 A JP 2017130930A JP 2017007268 A JP2017007268 A JP 2017007268A JP 2017007268 A JP2017007268 A JP 2017007268A JP 2017130930 A JP2017130930 A JP 2017130930A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- buffer
- data
- read
- write
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
【課題】データをバッファするためのフロー制御方法を提供する。【解決手段】第1の回路と第2の回路の間でオペレーションを同期するための方法は、第1のレートで第1の回路104から第1のリングバッファ108へ受信データを書き込むことを含む。第1のリングバッファは、固定長のバッファエレメントおよびそれぞれの読み取りおよび書き込みバッファポインタを有する。バッファされた受信データは、第2のデータレートで第1のリングバッファ108から第2の回路106へ読み取られる。読み取りおよび書き込みバッファポインタのそれぞれのポジションが検出され、そして読み取りおよび書き込みポインタ間の相対的なポジションは、少なくとも所定の最小のスペーシングを強制するために動的に調整される。動的な調整は、リングバッファからまたはリングバッファへデータの一部を選択的に削除することまたは追加することを備える。【選択図】図1
Description
[0001] 本明細書の実施形態は、一般にデータ通信に関し、より具体的には、データをバッファするためのフロー制御を提供する方法および装置に関する。
[0002] 回路間のデータ転送は、多くのファクタが原因で非同期になることが多い。例えば、ボイスオーバIP(VOIP)アプリケーションにおいて、(パルス‐符号‐変調PCM符号化のような)アナログ‐デジタル符号化は、信号プロセッサがそれを受け取る(accept)ことができるレートと異なるレートでデータを生成し得る。バッファ回路は、典型的に、そのような回路間で通信されているデータのフローおよび減退(ebb)を、処理(handle)および吸収するための動的な手段(dynamic way)を提供する。
[0003] 1つの典型的なバッファリングの解決策は、固定数の(a fixed number of)バッファエレメントを有するリングまたは循環バッファ(ring or circular buffer)を用いる。それぞれの読み取りおよび書き込みポインタまたはインデックスは、利用可能なバッファ記憶容量をトラック(track)する。いくつかの状況では、バッファはフルになり得、バッファ内の最も古いデータの上書きを引き起こす。インデックスは、同じバッファエレメント位置を両方が指すことによってこの状態を識別する。上書きが原因でデータが失われる場合、システム中でノイズが生じ得る。
[0004] 上書きを最小にするために、大きいバッファ構成が用いられ得る。大きいバッファは、例えば、PCMコントローラとデジタルシグナルプロセッサ(DSP)間で作動中の多様な遅延を処理する(handle)ことが可能であり得る。残念ながら、大きいバッファを用いることは、システム待ち時間および回路スペースに、対応する増加を生じさせる。
[0005] 第1の回路と第2の回路の間でオペレーションを同期する方法が開示される。この方法は、第1のデータレートでデータを受信することと、そのデータをバッファすることに関わる。バッファすることは、固定長の(fixed length of)バッファエレメントおよびそれぞれの読み取りおよび書き込みバッファインジケータを有するバッファ回路によって処理される。バッファされたデータは、第2のデータレートで第2の回路に送られる(delivered)。第2のデータレートは、読み取りおよび書き込みバッファインジケータ間で強制(enforce)される最小のオフセットに基づく。オフセットの強制は、読み取りおよび書き込みバッファインジケータのそれぞれの位置を検出すること、ならびに少なくとも最小のオフセットを維持するために、インジケータ間の相対的なスペーシング(relative spacing)を動的に調整することによって、処理される。
[0006] 本明細書の実施形態は、例として例示され、添付図面の図によって限定されるように意図されていない。
[0007] 図1は、データの適応オフセット同期を提供するためにバッファ回路を用いるシステムの1つの実施形態のブロック図である。
[0008] 図2は、図1のシステムのためのオペレーションの1つのモードに関わるステップを例示する流れ図である。
[0009] 図3は、図1のシステムのためのオペレーションの第2のモードに関わるステップを示す流れ図を例示する。
[0010] 本明細書の実施形態に従って、第1の回路と第2の回路の間でオペレーションを同期するための方法および装置が開示される。この方法は、第1のレートで第1の回路から第1のリングバッファへ受信データ(receive data)を書き込むことに関わる。バッファは、固定長のバッファエレメントとそれぞれの読み取りおよび書き込みバッファインジケータを有する。バッファされた受信データは、第2のデータレートでリングバッファから第2の回路へ読み取られる。読み取りおよび書き込みバッファインジケータのそれぞれのポジションは検出され、インジケータ間の相対的なポジションは、少なくとも所定の最小のスペーシングを強制するために動的に調整される。この動的な調整は、リングバッファへまたはリングバッファからデータの一部を選択的に追加することまたは削除することを備える。結果的として、バッファされたデータへの上書きは最小にされ得、同時にシステム待ち時間も最適化し得る。
[0011] 続く説明において、本願の開示の十分な理解を提供するために、例えば、具体的なコンポーネント、回路およびプロセス等の多数の具体的な詳細が説明される。また、続く説明において、説明の目的で、本明細書の実施形態の十分な理解を提供するために、具体的な専門語が説明される。しかしながら、これらの具体的な詳細が本明細書の実施形態を実行するために必要とされない可能性があることは、当業者には明白であろう。他の例では、周知の回路およびデバイスが、本願の開示を不明確にすることを避けるために、ブロック図の形式で示される。本明細書で使用される「結合された(coupled)」という用語は、1つ以上の介在する(intervening)コンポーネントまたは回路を通して結合されること、あるいは直接結合されることを意味する。本明細書で説明される多様なバスを通して提供される信号はいずれも、他の信号と時分割多重化され得(time-multiplexed with)、1つ以上の共通のバスを通して提供され得る。加えて、回路エレメントまたはソフトウェアブロック間の相互接続(interconnection)は、バスとしてまたは単一の信号線として示され得る。バスの各々は、代わりに単一の信号線であり得、単一の信号線の各々は、代わりにバスであり得、単一の線またはバスは、コンポーネント間の通信のための無数の物理的または論理的なメカニズムのうちの任意の1つ以上を表してもよい。本明細書の実施形態は、本明細書で説明される具体的な例に限定されるように解釈されるべきではなく、添付の特許請求の範囲によって定義される全ての実施形態をそれらの範囲内に含むと解釈されるべきである。
[0012] より具体的には、一般に図1を参照して、信号処理オペレーションを実行するための集積回路(IC)デバイス102が示される。1つの具体的な実施形態では、信号処理はボイスオーバインターネットプロトコル(VOIP)通信に関わる。VOIP通信は、一般に、アナログ音声信号をとらえること(capturing)、その音声信号をデジタル化および符号化(encoding)すること、インターネットを介して送信するためにふさわしい方法でデジタル化された音声を処理することに関わる。VOIPを介しての会話 (conversation)は、従って、2つのリモートポイント間の双方向通信、および通信に関連する往復待ち時間に関わる。1つの具体的な実施形態では、VOIP処理を実行するために、ICデバイス102は、バッファ回路107を介してデジタルシグナルプロセッサ(DSP)等のような信号プロセッサ106とインタラクトするパルス符号変調(PCM)コントローラ104を用いる。
[0013] さらに図1を参照すると、1つの具体的な実施形態では、集積回路デバイス102は、データI/Oインタフェース回路112に結合された1つ以上のピン103で音声データを受信する。インタフェース回路112は、一般に、ICデバイス102が多様な物理的な伝送媒体とインタフェースで接続する(interface with)ことを可能にする送信および受信電気回路(示されていない)を含む。明確さの目的で、1つのピン103し
か示されていないが、複数のインタフェースピンが並列または直列スキーム(parallel or serial scheme)でデータを転送するために用いられ得ることが理解されるべきである。1つの実施形態では、リカバーされたクロック信号RCLK(recovered clock signal RCLK)の形式でタイミング基準(timing reference)を形成するために、タイミング情報は受信された音声データを伴う。さらに、ICのための有線データインタフェースが示されるおよび説明されるが、無線インタフェースも用いられ得、そのような状況では、インタフェースは、適切なRF変調電気回路を含むことになり、アンテナ電気回路に関連する。
か示されていないが、複数のインタフェースピンが並列または直列スキーム(parallel or serial scheme)でデータを転送するために用いられ得ることが理解されるべきである。1つの実施形態では、リカバーされたクロック信号RCLK(recovered clock signal RCLK)の形式でタイミング基準(timing reference)を形成するために、タイミング情報は受信された音声データを伴う。さらに、ICのための有線データインタフェースが示されるおよび説明されるが、無線インタフェースも用いられ得、そのような状況では、インタフェースは、適切なRF変調電気回路を含むことになり、アンテナ電気回路に関連する。
[0014] インタフェース112は、PCMコントローラ104に結合し、受信された音声信号のアナログ‐デジタル変換、ならびに、信号プロセッサ106によって処理される、および信号プロセッサ106から送信される信号のデジタル‐アナログ変換をもたらす。PCMコントローラは、音声信号を符号化する単に1つの方法であり、様々な異なる符号化アルゴリズムが用いられ得る。それぞれのアナログ‐デジタル(ADC)およびデジタル‐アナログ(DAC)コンバータ(示されていない)は、当業者に周知であるように、信号変換を実行する。PCMコントローラ104は、一般に、リカバーされたクロック信号RCLKに関して一致したデータレートで作動し、インタフェース112を介して転送される受信Rxおよび送信Txデータのアナログ‐デジタルおよびデジタル‐アナログ変換を実行する。PCMコントローラ104は、ICデバイス102に配置されるように示されるおよび説明されるが、これは、別個のICデバイスに存在し得る、ならびに、信号プロセッサ106と分離されてまたは組み合わさってパッケージ化され得る。
[0015] 信号プロセッサ106は、専用のデジタルシグナルプロセッサ(DSP)またはホストベースのソフトDSPを含むいくつかの形式のうちの1つをとり得る。信号プロセッサ106は、オンチップクロック(示されていない)によって生成されるローカルクロック信号CLKによってクロック(clocked)され得、PCMコントローラ104のレートと類似したレートで作動する。しかしながら、時折の優先争い(priority conflict)が原因で、信号プロセッサ106は、PCMコントローラ104に同期することができない可能性がある。
[0016] さらに図1を参照すると、バッファ回路107は、PCMコントローラ104と信号プロセッサ106との間のデータレートの不整合を処理するために、それらの間に配置される。1つの実施形態では、バッファ回路107は、リングバッファの形式をとるそれぞれの受信および送信バッファ108および110を含む。各リングバッファは、固定数のバッファ記憶セル111ならびにそれぞれの読み取りおよび書き込みインデックスまたはポインタを含み得る。受信バッファ108は、従って、受信読み取りポインタRIRxおよび受信書き込みポインタWIRxを用い、そして送信バッファ110は、送信読み取りポインタRITxおよび送信書き込みポインタWITxを用いる。
[0017] 受信バッファ108に関して、受信読み取りポインタRIRxは、信号プロセッサ106にどのくらいのデータが送られたかをそれのポインタポジションによって示す。ポジションのインジケーションは、次の読み取りオペレーションで読み取られることになるバッファ記憶セル111のアドレスを表すカウントの形式(form of a count)をとり得る。1つの実施形態では、受信読み取りポインタRIRxは、読み取りオペレーションのためのそれのタイミング基準としてのローカルクロック信号CLKに応答する。言い換えれば、受信読み取りポインタRIRxは、それのタイミング基準としてのローカルクロックCLKを使用して、クロックサイクルごとにそのセルの内容を読み取るために、それの次のセル位置にインクリメントする(increment)。
[0018] 他方では、受信バッファ108に関する受信書き込みポインタWIRxは、それのタイミング信号としてリカバーされたクロック信号RCLKを利用し、受信バッファ108にどのくらいのデータがロードされたかを受信読み取りポインタRIRxと類似したカウント値によって示す。読み取りおよび書き込みポインタが、それぞれのポジションを同じ受信バッファ記憶セルで示し、バッファに書き込まれるデータの量がバッファから読み取られるデータの量に一致する場合、したがってフルバッファを示す。結果として、さらなるバッファ容量の無い任意のさらなる書き込みオペレーションは、既存のデータを上書きすることになる。
[0019] 受信および送信バッファ108および110の読み取りおよび書き込みインデックスをクロックするためのタイミング基準は、PCMコントローラ104と信号プロセッサ106間の同期およびデータ品質を最大化する形でリカバーされたおよびローカルクロックRCLKおよびCLK間に構成される。この目的を達成するために、受信バッファ108に関する受信読み取りポインタRIRxおよび送信バッファ110に関する送信書き込みポインタWITxがローカルクロックCLKによってクロックされる一方、受信バッファ108に関する受信書き込みポインタWIRxおよび送信バッファ110に関する送信読み取りポインタRITxは、リカバーされたクロックRCLKによってクロックされる。
[0020] 上書きを避けるため、さらにバッファサイズと待ち時間を最小にするために、1つの実施形態では、信号プロセッサ106は、各リングバッファの読み取りおよび書き込みポインタ間の相対的なスペーシングをモニタおよび検出するモードで作動する。検出に基づいて、信号プロセッサ106は、バッファが既存のデータを上書きすることの発生を最小にするための読み取りおよび書き込みポインタ間の最小のスペーシングを強制する。「スペーシング」は従って、上書きが発生する前にバッファ回路107によって受け入れられる(absorbed)ことができる非同期オペレーションに値する読み取り/書き込みサイクルの数を表す。
[0021] 信号プロセッサ106は、音声通信(audio transmission)間のサービス品質に重大な影響を与え得るPCMコントローラ104と信号プロセッサ106間の望ましくない待ち時間を検出する第2のモードでも、作動する。それに応じて、信号プロセッサ106は、信号プロセッサ106の待ち時間を合わせる(match)ように送信バッファの読み取りおよび書き込みポインタRITxおよびWITx間のスペーシングを適応的に調整する(adaptively adjust)。これは、仮にデータが調整を通して失われ得るとしても実行される。つまり、上書きが避けられ得るだけでなく、PCMコントローラ104と信号プロセッサ106間の最適なレベルの同期が達成され得る。
[0022] 図2は、上で暗に示されたオペレーションの第1のモードに対応するオペレーションの方法を提示するステップの流れ図を例示する。ステップ202において、VOIP通信の間、音声データは、ICデバイス102によってインタフェース112で受信され、受信された音声データからリカバーされたクロック信号RCLKに対応するレートでPCM符号化するためにPCMコントローラ104に供給される(fed to)。ステップ204において、PCM符号化されたデータは次に、リカバーされたクロックRCLKによって決定づけられる(dictated by)レートで受信書き込みポインタWIRxが示すポジションで受信バッファ108に書き込まれる。ステップ206において、前に書き込まれてバッファされたデータはそれから、ローカルクロックレートCLKで受信バッファ108から信号プロセッサ106へ読み取られる。ステップ208において、信号プロセッサ106は、ポインタが最小のスペーシングを実際に示す(exhibit)かどうかの第1の決定(書き込みおよび読み取りポインタカウントの比較または同等のものを通した)によって、書き込みおよび読み取りポインタ間の最小のスペーシングを強制する。カウントがふさわしい最小のスペーシングを反映(reflect)する場合、するとさらなるデータが、ステップ202から始まって、バッファを循環する(cycled)。しかしながら、ステップ210において、カウントが所望のしきい値より小さいオフセットを反映する場合、ポインタは、オフセットを実現するために互いに対して調整される。現時点では、その方法は、データ受信ステップ202にまた繰り返して適用され、またはPCMコントローラ104と信号プロセッサ106間の待ち時間に対処するさらなるモードに携わり得る(バブル「A」(bubble “A”)を経由して)。
[0023] 次に図3を参照すると、PCMコントローラ104と信号プロセッサ106間の望ましくない待ち時間は、302において、回路間で作動中の遅延または待ち時間を検出することによって相殺され得(be compensated)、そしてステップ304において、待ち時間のしきい値が上回られるかどうかを決定する。極端な待ち時間は、例えばバッファの上書きによって引き起こされる周期的な損失データ問題に加え、重要な品質問題を引き起こし得る。待ち時間のしきい値が限度内(within limits)である場合、オペレーションは、図2のデータ受信ステップ202で再開する(バブル「B」を経由して)。
[0024] しかしながら、ステップ304において、待ち時間のしきい値が上回られる場合、ステップ306において、送信バッファの読み取りおよび書き込みポインタの相対的なポジションは、プロセッサの待ち時間を合わせるように適応的に調整される。1つの実施形態では、これは、待ち時間が限度内に入るまで反復の方法で(in an iterative manner)送信書き込みポインタWITxのポジションを調整することによって実行される。ある例では、これは、送信書き込みポインタWITxの適応調整が原因で取り除かれたバッファセル位置(1つまたは複数の)に存在するデータの一時的なデータ損失を引き起こし得る。データを失うことは、世間一般の通念に反するが、これは、データを保持することおよび待ち時間を容認すること(tolerating)より最適なサービス品質のためにより有益であると判断された。
[0025] 当業者は、本明細書で説明された実施形態によって与えられた利益および利点を理解するであろう。最小の読み取りおよび書き込みポインタオフセットを実施することができるオペレーションの第1のモードを提供することによって、バッファの上書きが原因のデータの損失は最小にされ得る。また、待ち時間の考慮(latency consideration)に基づいて送信ポインタを適応的に調整するためのオペレーションの第2のモードを提供することによって、最適なサービス品質が達成され得る。
[0026] 前述の明細書では、本明細書の実施形態は、その具体的な例示の実施形態に関して説明された。しかしながら、添付の特許請求の範囲で説明される本開示の広範な趣旨および範囲から逸脱することなく、それに多様な修正および変更がなされ得ることは明白であろう。例えば、本明細書で提供された説明の大半は、VOIPの文脈における音声データ同期に関する。しかしながら、様々なアプリケーションは、映像ベースのデータアプリケーション、ベーシックネットワーキングデータ転送アプリケーション等を含む本明細書の教示から利益を享受し得る。その結果、本明細書および図面は、限定的な意味でなく、例示的な意味でみなされるべきである。
[0026] 前述の明細書では、本明細書の実施形態は、その具体的な例示の実施形態に関して説明された。しかしながら、添付の特許請求の範囲で説明される本開示の広範な趣旨および範囲から逸脱することなく、それに多様な修正および変更がなされ得ることは明白であろう。例えば、本明細書で提供された説明の大半は、VOIPの文脈における音声データ同期に関する。しかしながら、様々なアプリケーションは、映像ベースのデータアプリケーション、ベーシックネットワーキングデータ転送アプリケーション等を含む本明細書の教示から利益を享受し得る。その結果、本明細書および図面は、限定的な意味でなく、例示的な意味でみなされるべきである。
なお、本願の出願当初の請求項と同一の記載を以下に付記する。
[C1] 第1の回路と第2の回路の間でオペレーションを同期する方法であって、
第1のレートで前記第1の回路から、第1のリングバッファへデータを書き込むことと、前記第1のリングバッファは、固定長のバッファエレメントとそれぞれの読み取りおよび書き込みバッファインジケータを有する、
第2のデータレートで前記第1のリングバッファから前記第2の回路へバッファされたデータを読み取ることと、
前記読み取りおよび書き込みバッファインジケータのそれぞれのポジションを検出することと、そして、
少なくとも所定の最小のスペーシングを強制するために前記インジケータ間の相対的なポジションを動的に調整することと、ここで、前記第1のリングバッファからまたは前記第1のリングバッファへ前記データの一部を選択的に削除するあるいは追加することを備える前記動的に調整することと、
を備える、方法。
[C2] 前記第2のデータレートで前記第2の回路から、第2のリングバッファへ送信データを書き込むことと、前記第2のリングバッファは、それぞれの書き込みおよび読み取りポインタを有する、
前記第1のデータレートで第2のリングバッファから前記第1の回路へ前記バッファされた送信データを読み取ることと、
遅延パラメータに基づいて前記第2のリングバッファの読み取りおよび書き込みポインタの前記ポジションを適応的に調整することと、
をさらに備える、C1に記載の方法。
[C3] 前記遅延パラメータは、前記第1の回路に関して前記第2の回路の作動中の待ち時間を備え、および適応的に調整することは、前記待ち時間を合わせるように前記第2のリングバッファの読み取りおよび書き込みポインタ間の前記相対的なポジションを適応的に調整することを備える、C2に記載の方法。
[C4] 前記第2のリングバッファに関する前記書き込みポインタは、前記第2の回路に関連する第1のタイミング基準に応じ、前記第2のリングバッファに関する前記読み取りポインタは、前記第1の回路に関連する第2のタイミング基準に応じる、C3に記載の方法。
[C5] 前記第1のおよび第2のタイミング基準間の位相差は、前記待ち時間に対応する、C4に記載の方法。
[C6] 前記第1のタイミング基準は、前記第1の回路によって受信されたデータでリカバーされたクロックを備え、前記第2のタイミング基準は、前記第2の回路をクロックするローカルクロックを備える、C4に記載の方法。
[C7] 第1のタイミング基準に関連する音声符号化回路と第2のタイミング基準に関連する信号プロセッサ間のオペレーションを同期する方法であって、
第1のモードで、それぞれの受信および送信バッファ回路の書き込みおよび読み取りポインタ間の最小のタイミングオフセットを実施することと、前記受信および送信バッファ回路は、前記音声符号化回路と前記信号プロセッサ間のそれぞれの受信および送信パス間で処理され、そして、
第2のモードで、前記音声符号化回路に関する前記信号プロセッサによって示される待ち時間を合わせるように、前記送信バッファ回路の前記読み取りおよび書き込みポインタ間のタイミングオフセットを適応的に調整することと、
を備える、方法。
[C8] 前記送信バッファ回路の前記書き込みポインタは、前記第2のタイミング基準に応じ、前記送信バッファ回路の前記読み取りポインタは、前記第1のタイミング基準に応ずる、C7に記載の方法。
[C9] 前記第1のタイミング基準は、前記音声符号化回路に関連するデータからリカバーされるクロックを備え、前記第2のタイミング基準は、前記信号プロセッサをクロックするローカルクロックを備える、C8に記載の方法。
[C10] 集積回路デバイスであって、
第1のタイミング基準に応じた第1の回路、
第2のタイミング基準に応じた第2の回路、そして、
受信書き込みポインタに応答して前記第1の回路からデータを受信するように作動する受信リングバッファを含むバッファ回路と、前記受信リングバッファは、受信読み取りポインタに応答して前記第2の回路にデータを送信するように作動する、
ここで、前記第2の回路は、前記受信読み取りおよび書き込みポインタ間の相対的なポジションを、それらの間の所定の最小のスペーシングを強制するために、調整する、
を備える、集積回路デバイス。
[C11] 送信書き込みポインタに応じて、前記第2の回路からデータを受信し、送信読み取りポインタに応じて、前記第1の回路に送信データを送信するための送信リングバッファ、ここで、前記送信書き込みポインタは前記第2のタイミング基準に同期される、および前記送信読み取りポインタは前記第1のタイミング基準に同期される、
をさらに備える、C10に記載の集積回路デバイス。
[C12] 前記第1の回路は、パルス符号変調(PCM)コントローラを備え、前記第2の回路は、ソフトDSP回路を備える、C10に記載の集積回路デバイス。
[C13] 前記第1のタイミング基準は、前記第1の回路に関連するデータからリカバーされた、リカバーされたクロック信号であり、前記第2のタイミング基準は、ローカルクロック信号を備える、C10に記載の集積回路デバイス。
[C14] 前記第2の回路は、
前記送信読み取りおよび書き込みポインタ間の前記相対的なポジションを検出するように、および前記送信読み取りおよび書き込みポインタ間で検出された遅延のしきい値レベルに基づいて前記相対的なポジションを適応的に調整するように、作動する論理を備える、C10に記載の集積回路デバイス。
[C15] 前記第2の回路は、前記第1の回路に関する待ち時間を示し、前記適応的に調整することは、前記待ち時間を合わせるように前記送信読み取りおよび書き込みポインタ間の前記相対的なスペーシングを再位置づけする、C14に記載の集積回路デバイス。
なお、本願の出願当初の請求項と同一の記載を以下に付記する。
[C1] 第1の回路と第2の回路の間でオペレーションを同期する方法であって、
第1のレートで前記第1の回路から、第1のリングバッファへデータを書き込むことと、前記第1のリングバッファは、固定長のバッファエレメントとそれぞれの読み取りおよび書き込みバッファインジケータを有する、
第2のデータレートで前記第1のリングバッファから前記第2の回路へバッファされたデータを読み取ることと、
前記読み取りおよび書き込みバッファインジケータのそれぞれのポジションを検出することと、そして、
少なくとも所定の最小のスペーシングを強制するために前記インジケータ間の相対的なポジションを動的に調整することと、ここで、前記第1のリングバッファからまたは前記第1のリングバッファへ前記データの一部を選択的に削除するあるいは追加することを備える前記動的に調整することと、
を備える、方法。
[C2] 前記第2のデータレートで前記第2の回路から、第2のリングバッファへ送信データを書き込むことと、前記第2のリングバッファは、それぞれの書き込みおよび読み取りポインタを有する、
前記第1のデータレートで第2のリングバッファから前記第1の回路へ前記バッファされた送信データを読み取ることと、
遅延パラメータに基づいて前記第2のリングバッファの読み取りおよび書き込みポインタの前記ポジションを適応的に調整することと、
をさらに備える、C1に記載の方法。
[C3] 前記遅延パラメータは、前記第1の回路に関して前記第2の回路の作動中の待ち時間を備え、および適応的に調整することは、前記待ち時間を合わせるように前記第2のリングバッファの読み取りおよび書き込みポインタ間の前記相対的なポジションを適応的に調整することを備える、C2に記載の方法。
[C4] 前記第2のリングバッファに関する前記書き込みポインタは、前記第2の回路に関連する第1のタイミング基準に応じ、前記第2のリングバッファに関する前記読み取りポインタは、前記第1の回路に関連する第2のタイミング基準に応じる、C3に記載の方法。
[C5] 前記第1のおよび第2のタイミング基準間の位相差は、前記待ち時間に対応する、C4に記載の方法。
[C6] 前記第1のタイミング基準は、前記第1の回路によって受信されたデータでリカバーされたクロックを備え、前記第2のタイミング基準は、前記第2の回路をクロックするローカルクロックを備える、C4に記載の方法。
[C7] 第1のタイミング基準に関連する音声符号化回路と第2のタイミング基準に関連する信号プロセッサ間のオペレーションを同期する方法であって、
第1のモードで、それぞれの受信および送信バッファ回路の書き込みおよび読み取りポインタ間の最小のタイミングオフセットを実施することと、前記受信および送信バッファ回路は、前記音声符号化回路と前記信号プロセッサ間のそれぞれの受信および送信パス間で処理され、そして、
第2のモードで、前記音声符号化回路に関する前記信号プロセッサによって示される待ち時間を合わせるように、前記送信バッファ回路の前記読み取りおよび書き込みポインタ間のタイミングオフセットを適応的に調整することと、
を備える、方法。
[C8] 前記送信バッファ回路の前記書き込みポインタは、前記第2のタイミング基準に応じ、前記送信バッファ回路の前記読み取りポインタは、前記第1のタイミング基準に応ずる、C7に記載の方法。
[C9] 前記第1のタイミング基準は、前記音声符号化回路に関連するデータからリカバーされるクロックを備え、前記第2のタイミング基準は、前記信号プロセッサをクロックするローカルクロックを備える、C8に記載の方法。
[C10] 集積回路デバイスであって、
第1のタイミング基準に応じた第1の回路、
第2のタイミング基準に応じた第2の回路、そして、
受信書き込みポインタに応答して前記第1の回路からデータを受信するように作動する受信リングバッファを含むバッファ回路と、前記受信リングバッファは、受信読み取りポインタに応答して前記第2の回路にデータを送信するように作動する、
ここで、前記第2の回路は、前記受信読み取りおよび書き込みポインタ間の相対的なポジションを、それらの間の所定の最小のスペーシングを強制するために、調整する、
を備える、集積回路デバイス。
[C11] 送信書き込みポインタに応じて、前記第2の回路からデータを受信し、送信読み取りポインタに応じて、前記第1の回路に送信データを送信するための送信リングバッファ、ここで、前記送信書き込みポインタは前記第2のタイミング基準に同期される、および前記送信読み取りポインタは前記第1のタイミング基準に同期される、
をさらに備える、C10に記載の集積回路デバイス。
[C12] 前記第1の回路は、パルス符号変調(PCM)コントローラを備え、前記第2の回路は、ソフトDSP回路を備える、C10に記載の集積回路デバイス。
[C13] 前記第1のタイミング基準は、前記第1の回路に関連するデータからリカバーされた、リカバーされたクロック信号であり、前記第2のタイミング基準は、ローカルクロック信号を備える、C10に記載の集積回路デバイス。
[C14] 前記第2の回路は、
前記送信読み取りおよび書き込みポインタ間の前記相対的なポジションを検出するように、および前記送信読み取りおよび書き込みポインタ間で検出された遅延のしきい値レベルに基づいて前記相対的なポジションを適応的に調整するように、作動する論理を備える、C10に記載の集積回路デバイス。
[C15] 前記第2の回路は、前記第1の回路に関する待ち時間を示し、前記適応的に調整することは、前記待ち時間を合わせるように前記送信読み取りおよび書き込みポインタ間の前記相対的なスペーシングを再位置づけする、C14に記載の集積回路デバイス。
Claims (15)
- 第1の回路と第2の回路の間でオペレーションを同期する方法であって、
第1のレートで前記第1の回路から、第1のリングバッファへデータを書き込むことと、前記第1のリングバッファは、固定長のバッファエレメントとそれぞれの読み取りおよび書き込みバッファインジケータを有する、
第2のデータレートで前記第1のリングバッファから前記第2の回路へバッファされたデータを読み取ることと、
前記読み取りおよび書き込みバッファインジケータのそれぞれのポジションを検出することと、そして、
少なくとも所定の最小のスペーシングを強制するために前記インジケータ間の相対的なポジションを動的に調整することと、ここで、前記第1のリングバッファからまたは前記第1のリングバッファへ前記データの一部を選択的に削除するあるいは追加することを備える前記動的に調整することと、
を備える、方法。 - 前記第2のデータレートで前記第2の回路から、第2のリングバッファへ送信データを書き込むことと、前記第2のリングバッファは、それぞれの書き込みおよび読み取りポインタを有する、
前記第1のデータレートで第2のリングバッファから前記第1の回路へ前記バッファされた送信データを読み取ることと、
遅延パラメータに基づいて前記第2のリングバッファの読み取りおよび書き込みポインタの前記ポジションを適応的に調整することと、
をさらに備える、請求項1に記載の方法。 - 前記遅延パラメータは、前記第1の回路に関して前記第2の回路の作動中の待ち時間を備え、および適応的に調整することは、前記待ち時間を合わせるように前記第2のリングバッファの読み取りおよび書き込みポインタ間の前記相対的なポジションを適応的に調整することを備える、請求項2に記載の方法。
- 前記第2のリングバッファに関する前記書き込みポインタは、前記第2の回路に関連する第1のタイミング基準に応じ、前記第2のリングバッファに関する前記読み取りポインタは、前記第1の回路に関連する第2のタイミング基準に応じる、請求項3に記載の方法。
- 前記第1のおよび第2のタイミング基準間の位相差は、前記待ち時間に対応する、請求項4に記載の方法。
- 前記第1のタイミング基準は、前記第1の回路によって受信されたデータでリカバーされたクロックを備え、前記第2のタイミング基準は、前記第2の回路をクロックするローカルクロックを備える、請求項4に記載の方法。
- 第1のタイミング基準に関連する音声符号化回路と第2のタイミング基準に関連する信号プロセッサ間のオペレーションを同期する方法であって、
第1のモードで、それぞれの受信および送信バッファ回路の書き込みおよび読み取りポインタ間の最小のタイミングオフセットを実施することと、前記受信および送信バッファ回路は、前記音声符号化回路と前記信号プロセッサ間のそれぞれの受信および送信パス間で処理され、そして、
第2のモードで、前記音声符号化回路に関する前記信号プロセッサによって示される待ち時間を合わせるように、前記送信バッファ回路の前記読み取りおよび書き込みポインタ間のタイミングオフセットを適応的に調整することと、
を備える、方法。 - 前記送信バッファ回路の前記書き込みポインタは、前記第2のタイミング基準に応じ、前記送信バッファ回路の前記読み取りポインタは、前記第1のタイミング基準に応ずる、請求項7に記載の方法。
- 前記第1のタイミング基準は、前記音声符号化回路に関連するデータからリカバーされるクロックを備え、前記第2のタイミング基準は、前記信号プロセッサをクロックするローカルクロックを備える、請求項8に記載の方法。
- 集積回路デバイスであって、
第1のタイミング基準に応じた第1の回路、
第2のタイミング基準に応じた第2の回路、そして、
受信書き込みポインタに応答して前記第1の回路からデータを受信するように作動する受信リングバッファを含むバッファ回路と、前記受信リングバッファは、受信読み取りポインタに応答して前記第2の回路にデータを送信するように作動する、
ここで、前記第2の回路は、前記受信読み取りおよび書き込みポインタ間の相対的なポジションを、それらの間の所定の最小のスペーシングを強制するために、調整する、
を備える、集積回路デバイス。 - 送信書き込みポインタに応じて、前記第2の回路からデータを受信し、送信読み取りポインタに応じて、前記第1の回路に送信データを送信するための送信リングバッファ、ここで、前記送信書き込みポインタは前記第2のタイミング基準に同期される、および前記送信読み取りポインタは前記第1のタイミング基準に同期される、
をさらに備える、請求項10に記載の集積回路デバイス。 - 前記第1の回路は、パルス符号変調(PCM)コントローラを備え、前記第2の回路は、ソフトDSP回路を備える、請求項10に記載の集積回路デバイス。
- 前記第1のタイミング基準は、前記第1の回路に関連するデータからリカバーされた、リカバーされたクロック信号であり、前記第2のタイミング基準は、ローカルクロック信号を備える、請求項10に記載の集積回路デバイス。
- 前記第2の回路は、
前記送信読み取りおよび書き込みポインタ間の前記相対的なポジションを検出するように、および前記送信読み取りおよび書き込みポインタ間で検出された遅延のしきい値レベルに基づいて前記相対的なポジションを適応的に調整するように、作動する論理を備える、請求項10に記載の集積回路デバイス。 - 前記第2の回路は、前記第1の回路に関する待ち時間を示し、前記適応的に調整することは、前記待ち時間を合わせるように前記送信読み取りおよび書き込みポインタ間の前記相対的なスペーシングを再位置づけする、請求項14に記載の集積回路デバイス。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017007268A JP2017130930A (ja) | 2017-01-19 | 2017-01-19 | リングバッファに基づいたデータの適応オフセット同期(adaptive offset synchronization) |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017007268A JP2017130930A (ja) | 2017-01-19 | 2017-01-19 | リングバッファに基づいたデータの適応オフセット同期(adaptive offset synchronization) |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015516406A Division JP6113839B2 (ja) | 2012-06-18 | 2012-06-18 | リングバッファに基づいたデータの適応オフセット同期(adaptiveoffsetsynchronization) |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017130930A true JP2017130930A (ja) | 2017-07-27 |
Family
ID=59396390
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017007268A Pending JP2017130930A (ja) | 2017-01-19 | 2017-01-19 | リングバッファに基づいたデータの適応オフセット同期(adaptive offset synchronization) |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2017130930A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2020255239A1 (ja) * | 2019-06-18 | 2020-12-24 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61191134A (ja) * | 1985-02-19 | 1986-08-25 | Mitsubishi Electric Corp | プレジオクロナス整合装置 |
JP2003274216A (ja) * | 2002-03-18 | 2003-09-26 | Mitsubishi Electric Corp | データ同期化装置 |
US20050058148A1 (en) * | 2003-09-15 | 2005-03-17 | Broadcom Corporation | Elasticity buffer for streaming data |
JP2008048392A (ja) * | 2006-08-16 | 2008-02-28 | Qnx Software Systems (Wavemakers) Inc | データストリームのクロック同期化 |
-
2017
- 2017-01-19 JP JP2017007268A patent/JP2017130930A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61191134A (ja) * | 1985-02-19 | 1986-08-25 | Mitsubishi Electric Corp | プレジオクロナス整合装置 |
JP2003274216A (ja) * | 2002-03-18 | 2003-09-26 | Mitsubishi Electric Corp | データ同期化装置 |
US20050058148A1 (en) * | 2003-09-15 | 2005-03-17 | Broadcom Corporation | Elasticity buffer for streaming data |
JP2008048392A (ja) * | 2006-08-16 | 2008-02-28 | Qnx Software Systems (Wavemakers) Inc | データストリームのクロック同期化 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2020255239A1 (ja) * | 2019-06-18 | 2020-12-24 | ||
JP7277824B2 (ja) | 2019-06-18 | 2023-05-19 | 日本電信電話株式会社 | データ処理装置、データ処理方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5721830A (en) | Host signal processing communication system that compensates for missed execution of signal maintenance procedures | |
JP6113839B2 (ja) | リングバッファに基づいたデータの適応オフセット同期(adaptiveoffsetsynchronization) | |
US8589720B2 (en) | Synchronizing timing mismatch by data insertion | |
US7042911B2 (en) | Synchronization control device | |
US7480282B2 (en) | Methods and apparatus for controlling ethernet packet transfers between clock domains | |
JP3798292B2 (ja) | データ同期化回路及び通信インターフェース回路 | |
JPH05122106A (ja) | 半導体集積回路装置 | |
JP2017130930A (ja) | リングバッファに基づいたデータの適応オフセット同期(adaptive offset synchronization) | |
US10536260B2 (en) | Baseband integrated circuit for performing digital communication with radio frequency integrated circuit and device including the same | |
US7697555B1 (en) | Fibre channel SERDES with elastic transmitter FIFO | |
KR100907805B1 (ko) | 에이엑스아이 매트릭스 시스템과 에이에이치비 마스터시스템간의 데이터 전송을 위한 랩퍼 장치 및 제어 방법 | |
US20240039652A1 (en) | Synchronizing communication channels between digital front-end processors | |
CN101331695B (zh) | 经物理层将数据从介质访问控制装置发送至天线的方法和系统 | |
CN110535619B (zh) | 多速率数字传感器同步 | |
US7899955B2 (en) | Asynchronous data buffer | |
CN110601784B (zh) | Tdm接口扩展方法及装置、设备、可读存储介质 | |
US20230136070A1 (en) | Methods and apparatus to synchronize signals in energy efficient ethernet protocols | |
WO2023139963A1 (ja) | 半導体装置、電子機器 | |
KR100440970B1 (ko) | 데이터 전송을 조기에 종료하는 장치 및 방법 | |
JP2005210212A (ja) | データ転送回路 | |
JP2000092122A (ja) | 音声伝送装置 | |
JPH07110018B2 (ja) | シリアル通信装置 | |
JP2003304301A (ja) | 回線終端装置およびその回線側フロー制御方法および端末側フロー制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20180911 |