JP2005354542A - 受信装置 - Google Patents
受信装置 Download PDFInfo
- Publication number
- JP2005354542A JP2005354542A JP2004174888A JP2004174888A JP2005354542A JP 2005354542 A JP2005354542 A JP 2005354542A JP 2004174888 A JP2004174888 A JP 2004174888A JP 2004174888 A JP2004174888 A JP 2004174888A JP 2005354542 A JP2005354542 A JP 2005354542A
- Authority
- JP
- Japan
- Prior art keywords
- data
- reception buffer
- amount
- stored
- receiving
- 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.)
- Granted
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
【解決手段】 受信バッファ27が受信手段21による受信データを一時的に記憶し、受信データ読出手段24、28が当該データをクロック信号発生手段23によるクロック信号に基づくタイミングで読み出し、第1の受信バッファデータ量調整手段26がデータ量検出手段25、26により受信バッファの記憶データ量が上限値を超えたこと或いは下限値未満であることを検出した場合には所定量のデータを削除し或いは記憶させ、第2の受信バッファデータ量調整手段26がこの回数が所定の時間内に閾値を超えた場合には比較的大きい量のデータを削除する或いは記憶させる。
【選択図】 図1
Description
ここで、従来技術を使った送受信端末でのクロック同期化方法の一例として、MPEGシステムを例に説明する。
MPEGシステムの規格では、送信側となるエンコーダ側でデータストリームの中にクロックリファレンスを多重し、このクロックリファレンスを使って受信側のシステムクロックに位相同期ループ(PLL:Phase Lock Loop)をかけて送受信端末のクロック同期化を実現している。なお、PLLの動作の詳細が、例えば、ISO/IEC 国際標準 13818−1 0.8.2 Synchronizationに記載されている(非特許文献1)。
このように、従来では、例えば、PLLにより送信側と受信側のクロック周波数のずれ合わせを行うことは、伝送にネットワークを使うとネットワークジッタの影響でずれ調整に使うデータがタイミング良く得られなくなるため難しく、つまり、PLLをかけるクロックリファレンス値そのものがネットワークではジッタして送られてくるため、受信端末のクロックに安定したPLLロックをかけることは非常に困難であった。
このため、従来では、受信側バッファのデータ破綻(オーバーフロー若しくはアンダーフロー)が発生してしまうといった不具合があった。
すなわち、受信手段が、データを受信する。クロック信号発生手段が、クロック信号(受信側のクロック信号)を発生させる。受信バッファが、前記受信手段により受信されたデータを一時的に記憶する。受信データ読出手段が、前記受信バッファに記憶されたデータを、前記クロック信号発生手段により発生させられたクロック信号に基づくタイミングで、読み出す。データ量検出手段が、前記受信バッファに記憶されたデータの量が所定値(所定の上限値)を超えたこと或いは所定値(所定の下限値)未満であることを検出する。第1の受信バッファデータ量調整手段が、前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の上限値を超えたことが検出された場合には、前記受信バッファに記憶された所定のデータ量(第1の削除データ量)のデータを削除し、また、前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の下限値未満であることが検出された場合には、前記受信バッファに所定のデータ量(第1の記憶データ量)のデータを記憶させる。第2の受信バッファデータ量調整手段が、所定の時間内に前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の上限値を超えたことが検出された回数が所定の閾値(第1の閾値)を超えた場合には、前記受信バッファに記憶された所定のデータ量(前記第1の削除データ量と比べて大きい第2の削除データ量)のデータを削除し、また、所定の時間内に前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の下限値未満であることが検出された回数が所定の閾値(第2の閾値)を超えた場合には、前記受信バッファに所定のデータ量(前記第1の記憶データ量と比べて大きい第2の記憶データ量)のデータを記憶させる。
また、受信バッファに記憶されたデータの量が所定の上限値を超える頻度を確認し、ある所定の時間内にその頻度が所定の回数以下であった場合には、受信バッファに記憶されるデータの量の変動はネットワークジッタを主な原因とするものと判定する一方、所定の時間内に所定の回数を超えた場合には、受信バッファに記憶されるデータの量の変動は送受信端末における動作クロックの偏差を主な原因とするものと判定して、受信バッファから比較的に大きい量のデータが削除されるため、受信バッファのデータ量の変動となる主原因を推測してその原因に合わせて受信バッファに記憶されるデータの量を適度な量に調整することができる。
このように、例えば、ネットワークを使ったリアルタイムデータ伝送において発生するネットワークジッタや送受信端末における動作クロックの偏差に起因して生じる受信側バッファのデータ破綻(オーバーフロー若しくはアンダーフロー)を回避することができる。
また、所定の下限値未満であることを検出する態様としては、例えば、所定の下限値以下であることを検出する態様が用いられてもよい。
また、所定の閾値を超えたことを検出する態様としては、例えば、所定の閾値以上であることを検出する態様が用いられてもよい。
また、受信装置では、前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の上限値を超えたこと或いは所定の下限値未満であることを検出したが、所定の時間内に検出された回数が第1の閾値或いは第2の閾値を超えない場合には通信回線のジッタが主な原因であるとみなし、また、所定の時間内に検出された回数が第1の閾値或いは第2の閾値を超えた場合には送信装置と受信装置との間におけるクロック信号の周波数偏差が主な原因であるとみなす。
また、受信や送信といった通信としては、例えば、有線の通信が用いられてもよく、無線の通信が用いられてもよい。
また、受信バッファとしては、例えば、データを記憶するメモリを用いて構成することができる。
また、受信バッファに記憶されたデータを読み出すタイミングとしては、種々なタイミングが用いられてもよく、例えば、周期的なタイミングを用いることができる。
また、受信バッファに記憶されたデータの量に関する所定の上限値や所定の下限値としては、それぞれ、種々な値が用いられてもよい。
また、所定の時間としては、種々な時間が用いられてもよい。
また、受信バッファに記憶されたデータの量が所定の上限値を超えたか否か或いは所定の下限値未満であるか否かをデータ量検出手段により判定して検出を行うタイミングとしては、種々なタイミングが用いられてもよく、例えば、一定の周期的なタイミングを用いることができる。そして、所定の時間内に検出された回数がカウントされて、当該回数と閾値とが比較される。
例えば、第1の削除データ量としては、受信バッファの最大容量から上限値に相当する量を引いた結果に相当する量以上を用いることができ、また、第1の記憶データ量としては、下限値に相当する量以上を用いることができる。
また、例えば、第2の削除データ量や第2の記憶データ量としては、受信バッファの全容量の1/2に相当する量などを用いることができる。
また、第1の閾値や、第2の閾値としては、それぞれ種々な値が用いられてもよい。また、第1の閾値と第2の閾値として同じ値を用いるようにしてもよい。
また、第1の削除データ量と第1の記憶データ量として同じ値を用いるようにしてもよい。
また、第2の削除データ量と第2の記憶データ量として同じ値を用いるようにしてもよい。
通信システムでは、送信装置がデータを送信し、受信装置が当該データを受信する。
例えば、送信装置から受信装置へネットワークを介してデータを送信する。
ここで、ネットワークとしては、種々なものが用いられてもよい。
一構成例として、データを送信する送信装置において、クロック信号(送信側のクロック信号)を発生させるクロック信号発生手段と、前記クロック信号発生手段により発生させられたクロック信号に基づくタイミングで送信対象となるデータを出力する送信対象データ出力手段と、前記送信対象データ出力手段により出力されたデータを送信する送信手段と、を備える。
ここで、送信対象となるデータを出力するタイミングとしては、種々なタイミングが用いられてもよく、例えば、周期的なタイミングを用いることができる。
ここで、データの重要度の高さを表す値としては、種々な値が用いられてもよく、例えば、2以上の段階で表す値が用いられてもよく、或いは、連続的な値が用いられてもよい。
また、データの重要度の高さを表す値が同一であるデータについては、例えば、時間的に新しい方が重要度が高く(大きく)、時間的に古い方が重要度が低い(小さい)とみなすことができる。
また、データ重要度値設定手段を送信装置に備えた場合には、送信対象となるデータに対して設定された重要度の高さを表す値の情報が、当該データに対応付けられて、送信装置から受信装置へ送信される。受信装置は、受信した当該情報に基づいて、当該データの重要度の高さを表す値を検出する。
一構成例として、前記データ重要度値設定手段は、データのレベルに関して1つ以上の閾値を用いて、データのレベルと閾値との大小を比較した結果に基づいて、データの重要度を表す値を設定する。
本例では、送信装置と受信装置とがネットワークを介してデータを通信する通信システムを用いて説明を行う。
図1には、送信装置の一構成例を示してあり、また、ネットワーク11の一例を示してある。
本例の送信装置は、クロック発振器1と、分周回路2と、A/D(Analog to Digital)変換器3と、ノイズキャンセラ4と、蓄積バッファ5と、圧縮処理部6と、閾値出力部7と、プライオリティ生成部8と、パケット化処理部9を備えている。
図2には、受信装置の一構成例を示してあり、また、ネットワーク11の一例を示してある。
本例の受信装置は、分離部21と、伸張処理部22と、クロック発振器23と、分周回路24と、閾値出力部25と、制御コントロール部26と、受信バッファ27と、D/A(Digital to Analog)変換器28を備えている。
なお、本例では、送信装置から受信装置へデータを送信する場合を示すが、例えば、送信装置や受信装置はそれぞれ送信機能と受信機能の両方を有した送受信装置の構成部として構成されており、2つの送受信装置の間で双方向にデータを通信することが行われる。
クロック発振器1は、送信側のシステムクロック(送信システムクロック)であり、所定のクロック信号を発生させて分周回路2へ出力する。
分周回路2は、クロック発振器1からのクロック信号を分周した信号(分周クロック信号)をA/D変換器3へ出力する。
A/D変換器3は、分周回路2からの分周クロック信号で動作する。
A/D変換器3は、送信対象となるアナログ音声信号を入力し、入力したアナログ音声信号を分周クロック信号でサンプリングしたパルス符号変調(PCM:Pulse Code Modulation)データへ変換してノイズキャンセラ4へ出力する。
本例では、A/D変換器3の量子化精度が16ビット(例えば、HEX表示)であるとし、電源電圧がVddであるとし、DC成分(Vdd/2)の上に振幅Vddのサイン波を重畳した信号をA/D変換器3に入力すると、出力は、(Vdd/2)レベルの信号をデジタル値0x0000(無音データ)へ変換し、Vddレベルの信号を最大値0x7FFFへ変換し、GNDレベルの信号を最小値0x8000へ変換するものとなる。
また、本例では、分周クロック信号の周波数が8kHzであるとすると、16ビットのPCMデータが125μs毎に固定ビットレートでA/D変換器3から出力されて、ノイズキャンセラ4へ送られる。125μs毎のPCMデータが1サンプル分のデータとなる。
本例では、最初のサンプルが届いてから30ms後には240サンプルのPCMデータが蓄積バッファ5に蓄積することになる。
なお、本例では、125μs毎に1サンプルとして、30ms間隔で240サンプルを単位として1パケットに乗せて送信する場合を示すが、例えば、30msという値や240サンプルという値は、遅延と効率とのトレードオフで決定される調整値であり、他の種々な値が用いられてもよい。
圧縮処理部6は、30msに1回の割合で240サンプルのPCMデータを取り込み、これを符号化圧縮した圧縮データをパケット化処理部9へ送出する。本例では、圧縮処理にかかる実処理時間はデータを取り込む周期(30ms)以内に収まるものとして、パケット化処理部9への送信も30ms間隔で行われるとする。
本例では、データのプライオリティ情報とは、受信バッファでデータの補間又は削除処理を行った際に受信側ユーザが受ける違和感と相関関係にある情報のことであり、例えば、データが不連続になっても違和感を受けないような無音に近いデータや背景雑音しか含まれないような小さなレベルのデータには低いプライオリティの情報を付け、逆に、データが不連続になったら違和感が大きい或る一定レベル以上のデータには高いプライオリティの情報を付ける。
データにプライオリティを付けることにより、受信バッファが破綻しそうになったら、受信バッファに蓄積されているPCMデータの中で最も低いプライオリティの情報を有するデータに対して削除若しくは補間を行い、データの不連続性に起因して受信側ユーザが受ける違和感を抑えることができる。
図4には、プライオリティ生成部8によるプライオリティの生成の一例を示してある。グラフの横軸は時間を示しており、縦軸は蓄積バッファ5から転送される240サンプルのPCMデータの音声レベル(デジタル値)を示している。
理想的には、無音に相当するPCMデータのデジタル値は0x0000となり、正の最大値はA/D変換器3により0x7FFFとなり、負の最大値はA/D変換器3により0x8000となる。
PCMデータのデジタル値はA/D変換器3への入力アナログ音声信号の振幅をリニアにアナログ−デジタル変換した値であるため、時間的に隣接するサンプルのデジタル値の差分が大きくて変動が激しい期間ほど、音声としては大きく明瞭なものとなり、逆に、差分が小さくて変動が鈍い期間ほど、音声としては低く不明瞭に聞こえる。なお、PCMには非圧縮のものと圧縮のものとがあり、リニアとは非圧縮の方を指す。
そして、240サンプルのPCMデータのうち、不明瞭レベルの範囲に存在するサンプルの割合が多いとプライオリティを低くし、例えば、240サンプル中で80%以上のサンプルが不明瞭レベルの範囲に該当すれば「C」というプライオリティ情報を付け、240サンプル中で79〜50%のサンプルが不明瞭レベルの範囲に該当すれば「B」というプライオリティ情報を付け、他の場合(つまり、49%以下の場合)には「A」というプライオリティ情報を付けて、このようなプライオリティ情報をパケット化処理部9へ送る。
なお、本例では、3段階のプライオリティ情報を用いた場合を示すが、プライオリティ情報の段階の数としては種々であってもよい。
受信装置では、送信装置から送信側クロック(送信システムクロック)を基準に送出されたRTPパケットがネットワークジッタaを含んで到着するため、RTPパケットを受信するタイミングは(30ms±a)の時間間隔となる。
分離部21は、ネットワーク11から受信したRTPパケットのペイロード部に付加されているプライオリティ情報と圧縮データを分離し、分離した圧縮データを伸張処理部22へ転送し、分離したプライオリティ情報を制御コントロール部26へ転送する。
伸張処理部22は、分離部21からの圧縮データを伸張して16ビットのPCMデータへ変換する。本例では、この実処理時間は圧縮データを受け取る時間間隔(30ms±a)と比べて非常に短く、1回の処理時間が固定であるとすると、取り込む圧縮データのレートと後段にある受信バッファ27へ出力するPCMデータのレートとは等しいとみなせる。つまり、(30ms±a)の周期で240サンプルずつPCMデータを伸張処理部22から受信バッファ27へ送ることになる。
分周回路24は、クロック発振器23からのクロック信号を分周した信号(分周クロック信号)をD/A変換器28へ出力する。本例では、分周クロック信号は、受信バッファ27及び制御コントロール部26へも入力される。
受信バッファ27は、伸張処理部22から送られてくる240サンプルのPCMデータを一旦貯めてから、貯めたPCMデータをD/A変換器28へ転送するためのバッファである。
本例では、受信バッファ27には送信側クロック(送信システムクロック)を基準とする(30ms±a)の周期でデータが書き込まれる一方、受信バッファ27からの読み出しはクロック発振器23で発生した受信システムクロックを基準とするD/A変換器28の動作レートで行われる。
そこで、本例では、受信バッファ27のデータ蓄積位置の変動を監視して、バッファが破綻しそうな時には、蓄積データの一部を削除若しくは補間して、受信バッファ27の破綻を防ぐようにする。
また、本例では、2つの要因で受信バッファ27のデータ蓄積位置が変動するため、要因を切り分けて、最適な処理を行う必要がある。1つの要因はネットワークジッタaに起因するものであり、もう1つの要因は送受信端末のシステムクロック偏差に起因するものである。
この場合には、30msに1回、バースト的に240サンプルのPCMデータが伸張処理部22から受信バッファ27に書き込まれ、125μsの一定間隔で1サンプルずつ受信バッファ27からD/A変換器28へPCMデータが読み出される。この場合には、入出力のインターフェイスは同期化されているため、受信バッファ27のデータ蓄積位置の変動範囲は常に1〜240サンプルの範囲に収まる。
この場合には、ネットワークジッタaが無視できた(つまり、a=0である)としても、A/D変換器3とD/A変換器28の動作クロックの周波数偏差により、5分間で最大240クロックのずれが発生することになる。これは、受信バッファ27のデータ蓄積位置が5分間で240サンプル分単調増加若しくは単調減少したデータ蓄積位置へシフトすることを意味する。
更に、実際には、上記したA/D変換器3とD/A変換器28の動作クロックの周波数偏差の問題に加えて、ネットワークジッタaを無視することができないため、受信バッファ27のデータ蓄積位置は、5分間で240サンプルずつ増加若しくは減少した位置へシフトするのに加えて、ネットワークジッタaによるデータ蓄積位置の増減分が加えられる。
しかし、実際には、ネットワーク上の複合要因により、必ずしも想定範囲以内にネットワークジッタaが収まるとは限らない。そこで、本例では、受信バッファ27の許容を超えるネットワークジッタaを考慮するため、受信バッファ27のデータ蓄積位置の変動を所定時間だけ累積させながら監視して、データ蓄積位置の変動が許容を超えたネットワークジッタaを主因としたものであるのか或いはクロックの周波数偏差を主因としたものであるのかを判断し、受信バッファ27が破綻しそうな時には、この判断結果に従って制御コントロール部26内の処理を切り替えて、蓄積データの制御を行う。
制御コントロール部26は、これらの入力信号をもとに受信バッファ27のデータ蓄積位置を把握する。具体的には、受信バッファ27におけるデータ入力とデータ出力との差分を把握して、現在におけるデータ蓄積位置を検知する。
また、本例では、閾値出力部25に所定の閾値レベルD(例えば、HEX表示)及び所定の閾値レベルE(例えば、HEX表示)が予め設定されており、そして、制御コントロール部26は、分離部21から出力されるプライオリティ情報と閾値出力部25から出力される閾値レベルD、Eを入力して、これらの入力情報に基づいて、制御信号を受信バッファ27へ送信して、受信バッファ27のデータ蓄積位置の制御(コントロール)を行う。
また、制御コントロール部26は、D/A変換器28に対してフラグを出力する。
図5には、受信バッファ27のデータ蓄積領域の一例を示してある。
同図の例では、エンプティに近い方の240サンプル分の領域がプリエンプティ領域として設定されており、フルに近い方の240サンプル分の領域がプリオーバー領域として設定されており、他の領域が定常領域として設定されている。また、プリエンプティ領域であるか否かを判定するための閾値レベルD(定常領域の下限値)と、プリオーバー領域であるか否かを判定するための閾値レベルE(定常領域の上限値)が設定されている。また、データ蓄積領域の中央の値の位置が参照位置として設定されている。
また、プリエンプティ領域とは、閾値レベルD以下の領域を指し、つまり、バッファ容量としてはエンプティに近い領域を指す。
また、プリオーバー領域とは、閾値レベルE以上の領域を指し、つまり、バッファ容量としてはフルに近い領域を指す。
D/A変換器28は、クロック発振器23による受信システムクロックを分周回路24で分周した分周クロックで動作しており、制御コントロール部26から送られてくるフラグをもとに一定レートで受信バッファ27からデータの読み出しを開始する。
D/A変換器28は、受信バッファ27から一定レートで読み出したPCMデータをアナログ音声信号へ変換(再生)して出力する。
制御コントロール部26では、図5に示されるように、予め、受信バッファ27のハーフサイズ位置(半分の位置)を参照位置として定義しておく。
制御コントロール部26は、受信バッファ27に書き込まれるPCMデータと同じ入力データをカウントして、受信バッファ27のデータ蓄積位置の動きを監視する。制御コントロール部26は、受信バッファ27のデータ蓄積位置が参照位置を越えたかどうかを判断し(ステップS1)、データ蓄積位置が参照位置を越えたらD/A変換器28へ例えばハイ(High)のフラグを出して、受信バッファ27が読み出し可能な状態になったことを知らせる(ステップS2)。一方、受信バッファ27のデータ蓄積位置が参照位置に満たない間は、制御コントロール部26は、データ蓄積位置が参照位置を越えるまで監視を行う(ステップS1)。
例えば、受信バッファ27のサイズを±150msのネットワークジッタaを許容することができるサイズ(240サンプル×10個のサイズ)とし、プリエンプティ領域とプリオーバー領域をそれぞれ240サンプル分の領域とすると、D/A変換器28によるデータ読み出しが開始した直後は、受信バッファ27の蓄積データが当該受信バッファ27のハーフサイズ位置(半分の位置)にあるため、受信バッファ27のデータ蓄積位置は定常領域に位置することになる。
例えば、クロックの周波数偏差を主因としたものであれば、データ蓄積位置は単調増加若しくは単調減少の方向へずれるため、プリエンプティ領域若しくはプリオーバー領域へ一旦シフトしてしまえば定常領域へ戻ることはない。従って、所定時間内においてプリエンプティ領域若しくはプリオーバー領域へシフトする累積回数は増え、カウント値は定期的に増加するはずである。
一方、許容範囲を超えるネットワークジッタaを主因としたものであれば、一時的にデータ蓄積位置がシフトすることも考えられるが、通常は、ネットワークジッタaにより大きくパケットが遅延した後は、パケットは時間的に詰まって到着するため、データ蓄積位置としては一時的にプリエンプティ領域若しくはプリオーバー領域へシフトしたとしても再び定常領域へ戻ることになる。従って、受信バッファ27の許容を超えるネットワークジッタaによりデータ蓄積位置がシフトした場合には、所定時間内においてプリエンプティ領域若しくはプリオーバー領域へシフトする累積回数は、上記したクロックの周波数偏差を主因としたものと比べて、不定期的にカウントアップすると考えられる。
また、本例では、データ蓄積位置がプリエンプティ領域にシフトしている状態の回数をカウントするプリエンプティカウンタと、データ蓄積位置がプリオーバー領域にシフトしている状態の回数をカウントするプリオーバーカウンタを設けて、それぞれカウント値を計数する。
本例では、受信バッファ27のデータ蓄積位置の監視処理(ステップS4)を開始した時からの時間経過を制御コントロール部26が備えるタイマを使って計り、予め定めておいた所定期間内において受信バッファ27のデータ蓄積位置がプリエンプティ領域若しくはプリオーバー領域へシフトする回数をカウントする。そして、当該所定期間が経過した場合には(ステップS6、S12、S19)、カウント値をゼロにクリアするとともに(ステップS7、S13、S20)、再度ゼロから時間経過を計り始める(ステップS3)。なお、本例では、クロック偏差を主因としたものと判断して受信バッファ27に対するデータの削除又は補間を行った場合においても(ステップS14、S21)、カウント値をゼロにクリアして(ステップS15、S22)、再度ゼロから時間経過を計り始める。
上記の判断及び制御について説明する。
まず、制御コントロール部26は、受信バッファ27のデータ蓄積位置が当該受信バッファ27のいずれの領域に位置するかを確認する(ステップS5、S8)。図6の例では、データ蓄積位置が定常領域に位置するか否かを判定し(ステップS5)、定常領域に位置しない場合にはデータ蓄積位置がプリエンプティ領域に位置するか否かを判定することにより(ステップS8)、データ蓄積位置が定常領域とプリエンプティ領域とプリオーバー領域のいずれの領域に位置するかを判定する。
この結果(ステップS8)、受信バッファ27のデータ蓄積位置が定常領域にあることを判定した場合には、制御コントロール部26は、所定時間が経過しているか否かを判定し(ステップS6)、所定時間が経過していないときには、受信バッファ27の蓄積データに対しては特に処理を行わずに、再びデータ蓄積位置の監視を続ける(ステップS4)。一方、所定時間が経過したときには、プリエンプティカウンタ及びプリオーバーカウンタのカウント値をゼロにクリアして(ステップS7)、再び時間の経過の把握を開始する(ステップS3)。
そして、制御コントロール部26は、プリエンプティカウンタのカウント値と所定の閾値(設定値)との大小の比較を行い(ステップS10)、当該比較結果に基づいて、受信バッファ27の蓄積データに対する処理を切り替える。なお、前記のように、プリエンプティカウンタは、所定時間が経過するとカウント値がゼロにクリアされるものである。
その後、制御コントロール部26は、所定時間が経過しているか否かを判定し(ステップS12)、所定時間が経過していないときには、再びデータ蓄積位置の監視を続ける(ステップS4)。一方、所定時間が経過したときには、プリエンプティカウンタ及びプリオーバーカウンタのカウント値をゼロにクリアして(ステップS13)、再び時間の経過の把握を開始する(ステップS3)。
そして、制御コントロール部26は、プリオーバーカウンタのカウント値と所定の閾値(設定値)との大小の比較を行い(ステップS17)、当該比較結果に基づいて、受信バッファ27の蓄積データに対する処理を切り替える。なお、前記のように、プリオーバーカウンタは、所定時間が経過するとカウント値がゼロにクリアされるものである。
なお、プライオリティが最も低い蓄積データ(240サンプル)が複数あった場合には、一例として、制御コントロール部26は、古い方の蓄積データを削除する対象として選択して削除する。この場合、制御コントロール部26は、例えば、受信バッファ27の領域中でデータが保存されている相対的な位置に基づいて当該データが新しいか或いは古いかを判断する。
その後、制御コントロール部26は、所定時間が経過しているか否かを判定し(ステップS19)、所定時間が経過していないときには、再びデータ蓄積位置の監視を続ける(ステップS4)。一方、所定時間が経過したときには、プリエンプティカウンタ及びプリオーバーカウンタのカウント値をゼロにクリアして(ステップS20)、再び時間の経過の把握を開始する(ステップS3)。
具体的には、例えば、受信バッファ27のデータ蓄積量の異常がネットワークジッタaに起因する場合には、240サンプル分のデータで調整を行う(ステップS11、S18)。
また、例えば、受信バッファ27のデータ蓄積量の異常がクロック偏差に起因する場合には、受信バッファ27のハーフサイズ分のデータで調整を行う(ステップS14、S21)。
よって、本例では、異常がネットワークジッタaに起因する場合には、240サンプル分の微調整を1回だけ行うことで済ませて、その後にネットワークの状況が回復するかも知れないことから、大きな量のデータ補間又はデータ削除を行わない。
一方、本例では、異常がクロック偏差に起因する場合には、240サンプル分の微調整で済まそうとしてもその後も状況は回復せずに常にプリエンプティ領域若しくはプリオーバー領域の付近でシステムが動作することとなりシステムの安定性が欠け且つ少量とは言っても無音データが定期的に連続して挿入されることとなることから、一時的には大きな違和感が生まれることになるが、ハーフサイズ分のデータ補間又はデータ削除を行って、受信バッファ27のデータ蓄積量をハーフサイズに戻す。ハーフサイズまで戻せば、図5に示される上限及び下限までのデータ蓄積量の余裕ができ、つまり、バッファ破綻に対してマージンが取れている状態となり、システムは安定的に動作する。
また、本例では、図6に示される一連の処理は、概略的には、受信バッファ27内のデータ量(データ蓄積位置)を監視して、必要であれば、受信バッファ27内にデータを補間する又は受信バッファ27内のデータを削除するという内容のものであり、この処理の動作とは非同期に、受信バッファ27へのデータ書き込みや受信バッファ27からのデータ読み出しが常に行われている。なお、D/A変換器28により受信バッファ27からデータを読み出す処理は、制御コントロール部26からD/A変換器28へのフラグがハイ(High)となって立っている場合に行われる。
また、本例では、クロック周波数のずれは調整されないため、送信側のクロック発振器1と受信側のクロック発振器23とのずれは直らないままであり、例えば、送信側より受信側のクロックの方が高い場合には、図6に示されるステップS14の処理へ進むことはあっても、図6に示されるステップS21の処理へ進むことは無い。
また、本例の通信システムでは、送信装置は送信するデータにプライオリティ情報を付加し、受信装置は受信したデータに付加されたプライオリティ情報に基づいて受信バッファ27について蓄積データの補間処理や削除処理を行う。
すなわち、図5に示されるように受信機の受信バッファ27についてデータ蓄積位置の上限の閾値及び下限の閾値を設定し、そして、受信バッファ27内のデータ量を監視して、上限の閾値を超えたら(上回ったら)ネットワークジッタaに対応したデータ削除態様でデータを削除し、下限の閾値を超えたら(下回ったら)ネットワークジッタaに対応したデータ補間態様で無音データを補間する。これに際して、所定時間内に上限の閾値を越える回数や下限の閾値を超える回数をカウントし、そのカウント値が所定の閾値(設定値)を超える場合には、送受信機器におけるクロックの周波数偏差を主因とする異常であると判断して、前記とは異なる態様で、データの削除やデータの補間を行う。
また、送信側では、音声レベルに関する所定の閾値により無音区間などを判別して音声データに重要度(本例では、プライオリティ情報)を付け、受信側では、受信バッファ27が破綻しそうになったら、プライオリティが低くて重要度が低い音声データから優先させて削除を行う。
本例の通信システムでは、送信側と受信側のクロック周波数ずれは調整せずに、そのまま、ずれたままで動作するが、受信バッファ27のデータ蓄積位置(データ量)を監視して、当該データ蓄積位置に応じて所定の制御を行うことにより、クロック周波数ずれの影響を最小限に留めることができる。
このように、本例では、例えば、インターネットなどのネットワークを経由して通信する送受信端末について、送受信端末のクロックの非同期により発生する受信バッファ27の破綻を効果的に回避することができる。
また、本例の通信システムの送信装置では、クロック発振器1の機能によりクロック信号発生手段が構成されており、分周回路2やA/D変換器3により所定のタイミングで送信対象となるデータをA/D変換器3から出力する機能により送信対象データ出力手段が構成されており、パケット化処理部9の機能により送信手段が構成されており、閾値出力部7の機能やプライオリティ生成部8の機能によりデータの重要度の高さを表す値(本例では、プライオリティの情報)を設定する機能によりデータ重要度値設定手段が構成されている。
また、本発明の適用分野としては、必ずしも以上に示したものに限られず、本発明は、種々な分野に適用することが可能なものである。
また、本発明に係る受信装置や送信装置や通信システムなどにおいて行われる各種の処理としては、例えばプロセッサやメモリ等を備えたハードウエア資源においてプロセッサがROM(Read Only Memory)に格納された制御プログラムを実行することにより制御される構成が用いられてもよく、また、例えば当該処理を実行するための各機能手段が独立したハードウエア回路として構成されてもよい。
また、本発明は上記の制御プログラムを格納したフロッピー(登録商標)ディスクやCD(Compact Disc)−ROM等のコンピュータにより読み取り可能な記録媒体や当該プログラム(自体)として把握することもでき、当該制御プログラムを当該記録媒体からコンピュータに入力してプロセッサに実行させることにより、本発明に係る処理を遂行させることができる。
Claims (1)
- データを受信する受信装置において、
データを受信する受信手段と、
クロック信号を発生させるクロック信号発生手段と、
前記受信手段により受信されたデータを一時的に記憶する受信バッファと、
前記受信バッファに記憶されたデータを前記クロック信号発生手段により発生させられたクロック信号に基づくタイミングで読み出す受信データ読出手段と、
前記受信バッファに記憶されたデータの量が所定の上限値を超えたこと或いは所定の下限値未満であることを検出するデータ量検出手段と、
前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の上限値を超えたことが検出された場合には前記受信バッファに記憶された第1の削除データ量のデータを削除し、前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の下限値未満であることが検出された場合には前記受信バッファに第1の記憶データ量のデータを記憶させる第1の受信バッファデータ量調整手段と、
所定の時間内に前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の上限値を超えたことが検出された回数が第1の閾値を超えた場合には前記受信バッファに記憶された前記第1の削除データ量と比べて大きい第2の削除データ量のデータを削除し、所定の時間内に前記データ量検出手段により前記受信バッファに記憶されたデータの量が所定の下限値未満であることが検出された回数が第2の閾値を超えた場合には前記受信バッファに前記第1の記憶データ量と比べて大きい第2の記憶データ量のデータを記憶させる第2の受信バッファデータ量調整手段と、
を備えたことを特徴とする受信装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004174888A JP4476034B2 (ja) | 2004-06-14 | 2004-06-14 | 受信装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004174888A JP4476034B2 (ja) | 2004-06-14 | 2004-06-14 | 受信装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005354542A true JP2005354542A (ja) | 2005-12-22 |
JP4476034B2 JP4476034B2 (ja) | 2010-06-09 |
Family
ID=35588591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004174888A Expired - Fee Related JP4476034B2 (ja) | 2004-06-14 | 2004-06-14 | 受信装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4476034B2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007201756A (ja) * | 2006-01-26 | 2007-08-09 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP2008193248A (ja) * | 2007-02-01 | 2008-08-21 | Matsushita Electric Ind Co Ltd | 画像符号化装置および画像復号化装置 |
JP2010220072A (ja) * | 2009-03-18 | 2010-09-30 | Fujitsu Telecom Networks Ltd | ディジタル音声信号伝送装置及びディジタル音声信号伝送方法 |
JP2012090170A (ja) * | 2010-10-21 | 2012-05-10 | Nec Access Technica Ltd | パケット送受信装置、方法及びプログラム |
JP2018007192A (ja) * | 2016-07-08 | 2018-01-11 | シントレーディング株式会社 | 音声通信システム、送信装置、受信装置、送信方法、受信方法、およびプログラム |
-
2004
- 2004-06-14 JP JP2004174888A patent/JP4476034B2/ja not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007201756A (ja) * | 2006-01-26 | 2007-08-09 | Sony Corp | 情報処理装置および方法、並びにプログラム |
US8218548B2 (en) | 2006-01-26 | 2012-07-10 | Sony Corporation | Information processing apparatus, method, and program |
CN101022386B (zh) * | 2006-01-26 | 2012-10-10 | 索尼株式会社 | 信息处理装置和信息处理方法 |
JP2008193248A (ja) * | 2007-02-01 | 2008-08-21 | Matsushita Electric Ind Co Ltd | 画像符号化装置および画像復号化装置 |
US8102919B2 (en) | 2007-02-01 | 2012-01-24 | Panasonic Corporation | Image coding apparatus and image decoding apparatus |
JP2010220072A (ja) * | 2009-03-18 | 2010-09-30 | Fujitsu Telecom Networks Ltd | ディジタル音声信号伝送装置及びディジタル音声信号伝送方法 |
JP2012090170A (ja) * | 2010-10-21 | 2012-05-10 | Nec Access Technica Ltd | パケット送受信装置、方法及びプログラム |
JP2018007192A (ja) * | 2016-07-08 | 2018-01-11 | シントレーディング株式会社 | 音声通信システム、送信装置、受信装置、送信方法、受信方法、およびプログラム |
WO2018008618A1 (ja) * | 2016-07-08 | 2018-01-11 | シントレーディング株式会社 | 音声通信システム、送信装置、受信装置、送信方法、受信方法、および記録媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP4476034B2 (ja) | 2010-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7756233B2 (en) | Data receiving device and data receiving method | |
KR100564057B1 (ko) | 엔코딩시스템및방법,디코딩시스템및방법,엔코딩데이타기록장치및방법과,엔코딩데이타전송장치및방법 | |
EP1763175B1 (en) | Stream data reception/reproduction device and stream data reception/reproduction method | |
JP3655249B2 (ja) | データ受信再生方法およびデータ通信装置 | |
US8149883B2 (en) | Data receiving device, data receiving method, and computer product | |
EP2306736B1 (en) | Method and apparatus for processing video and audio data received in decoding system | |
JPWO2005067252A1 (ja) | データ受信装置 | |
JP2002077233A (ja) | リアルタイム情報受信装置 | |
US20080186972A1 (en) | Data Stream Synchronization | |
US8249171B2 (en) | MPEG-2 transport stream packet synchronizer | |
WO2000003510A1 (en) | Variable codec frame length for multistream applications | |
US20150030088A1 (en) | Clock recovery for media stream in bursty network channel | |
JP2001045067A (ja) | 音声伝送装置 | |
JP4476034B2 (ja) | 受信装置 | |
US7848930B2 (en) | Control mechanism for audio rate adjustment | |
JP4376165B2 (ja) | 受信装置,クロック調整方法および放送システム | |
JP3617655B2 (ja) | エンコードシステムおよびエンコード方法、デコードシステムおよびデコード方法、エンコードデータ記録装置およびエンコードデータ記録方法、エンコードデータ伝送装置およびエンコードデータ伝送方法、並びに記録媒体 | |
JP2001016267A (ja) | 通信装置および方法、並びに媒体 | |
JP2006174001A (ja) | データ伝送におけるクロック同期方式およびデータ伝送システム | |
JP2006254041A (ja) | クロック再生情報生成回路及びクロック再生回路 | |
JP4224749B2 (ja) | 通信装置、通信方法、および記録媒体 | |
JP2007295491A (ja) | ストリーミングデータ受信装置及びジッタ除去回路 | |
JP2004104701A (ja) | 通信端末装置及びデータ通信プログラム | |
JP4245876B2 (ja) | データ処理装置及びそれを備えたデータ伝送システム | |
JP4338083B2 (ja) | ディジタル音声再生装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070612 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070928 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071016 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100128 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100223 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100309 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4476034 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130319 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140319 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |