JP2005184383A - System, apparatus and method for real-time data communication - Google Patents
System, apparatus and method for real-time data communication Download PDFInfo
- Publication number
- JP2005184383A JP2005184383A JP2003421381A JP2003421381A JP2005184383A JP 2005184383 A JP2005184383 A JP 2005184383A JP 2003421381 A JP2003421381 A JP 2003421381A JP 2003421381 A JP2003421381 A JP 2003421381A JP 2005184383 A JP2005184383 A JP 2005184383A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- real
- time data
- sound
- data
- 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
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
Description
本発明は、例えば、リアルタイムデータの通信を行うリアルタイムデータ通信システムに関するものである。 The present invention relates to a real-time data communication system for performing real-time data communication, for example.
従来、サーバから端末にサウンドデータを伝送して、端末側でサウンドデータを再生するシステムでは、ケーブルを介した近距離の接続ではサーバから端末にサウンドデータと共にクロックを送ってサーバと端末の同期を取るようにしていた。また、ネットワークを介した任意の距離の接続ではサーバから端末にサウンドデータのパケットにクロックを入れて送ってサーバと端末の同期を取るようにしていた。 Conventionally, in a system in which sound data is transmitted from a server to a terminal and the sound data is played back on the terminal side, the server and the terminal are synchronized by sending a clock together with the sound data from the server to the terminal in a short-distance connection via a cable. I was trying to take it. Further, when connecting at an arbitrary distance via a network, the server and the terminal are synchronized by sending a clock to the sound data packet from the server to the terminal.
このような同期方法は、位相同期と呼ばれ、サーバと端末の演算処理部間で動作クロックを合わせるように行われていた。また、サウンドデータとビデオデータとの間で同期をとるAV(Audio/Video)同期と呼ばれる同期方法があった。 Such a synchronization method is called phase synchronization, and is performed so as to synchronize the operation clock between the arithmetic processing unit of the server and the terminal. There has also been a synchronization method called AV (Audio / Video) synchronization that synchronizes sound data and video data.
また、特許文献1には、コスト高とすることなく、データのアンダーフローまたはオーバーフローの発生を防止することができるようにするデータ処理装置が開示されている。このデータ処理装置では、そのために、クロックずれ測定部は、メモリーに格納されたデータ量の増減から、クロックのずれを測定する。そして、制御判定部は、クロックずれ測定部の判定結果、およびメモリーに格納されているデータに基づいて、補正処理を行う位置、およびどのような補正をするかを判定する。さらに、データ量制御部は、制御判定部の判定結果、およびメモリーに格納されているデータに基づいて、補正処理を行う位置におけるデータを削除するか、または生成することで、補正処理を実行し、メモリーのデータを補正データで書き換えるようにしている。
上述した従来の同期方法では、ネットワークを介した伝送では、ディジタル音声データは一般に一定のサンプリング周波数でサンプリングされ、そのクロック成分をディジタル音声データと共に送信することで回避していたが、このような同期方法では、ネットワークを介した伝送特有の各端末間で生じる微小なクロックのズレに対処することが出来ず、長時間の連続再生に耐えることができないため、リアルタイム伝送ができなくなるという不都合があった。 In the conventional synchronization method described above, digital audio data is generally sampled at a constant sampling frequency and transmitted by transmitting the clock component together with the digital audio data in the transmission via the network. This method has a disadvantage in that it cannot cope with a minute clock shift occurring between each terminal peculiar to transmission via a network and cannot withstand continuous reproduction for a long time, so that real-time transmission cannot be performed. .
また、端末装置内部の中央演算処理部とサウンド再生部間で、クロックがずれている場合、それらの間で同期信号をやり取りすることで、回避することが考えられるが、リアルタイム伝送システムに用いる汎用端末では、そのような処理が不可能であるという不都合があった。 Also, if the clocks are shifted between the central processing unit and the sound playback unit inside the terminal device, it can be avoided by exchanging synchronization signals between them. The terminal has a disadvantage that such processing is impossible.
特許文献1では、装置内部のデータのアンダーフローまたはオーバーフローの発生を防止することができるが、ネットワークを介して伝送されるデータを処理する際の各端末間で生じる微小なクロックのズレに対処することが出来ないという不都合があった。
In
そこで、本発明は、かかる点に鑑みてなされたものであり、ネットワーク伝送特有のクロックのズレに対処して、リアルタイム伝送による長時間の連続再生を可能にするリアルタイムデータ通信システム、リアルタイムデータ通信装置およびリアルタイムデータ通信方法を提供することを課題とする。 Therefore, the present invention has been made in view of such a point, and copes with a clock shift peculiar to network transmission and enables real-time data communication system and real-time data communication apparatus capable of continuous reproduction for a long time by real-time transmission. It is another object of the present invention to provide a real-time data communication method.
上記課題を解決し、本発明の目的を達成するため、本発明のリアルタイムデータ通信システムは、入力されたリアルタイムデータを記録する記録部と、リアルタイムデータを送信する送信部と、リアルタイムデータを送信するために記録部及び送信部の状態を制御する制御部とを有する送信部と、送信部からネットワークを介して送信されたリアルタイムデータを受信する受信部と、受信されたリアルタイムデータを再生する再生部と、リアルタイムデータを受信するために受信部及び再生部の状態を制御する制御部とを有する受信部と、リアルタイムデータを伝送するのに送信部の記録部と受信部の再生部の同期をとるための制御をする同期手段とを備えたものである。 In order to solve the above-described problems and achieve the object of the present invention, a real-time data communication system of the present invention transmits a recording unit that records input real-time data, a transmission unit that transmits real-time data, and transmits real-time data. Therefore, a transmission unit having a recording unit and a control unit that controls the state of the transmission unit, a reception unit that receives real-time data transmitted from the transmission unit via the network, and a reproduction unit that reproduces the received real-time data And a receiving unit having a control unit for controlling the state of the receiving unit and the reproducing unit to receive the real-time data, and a recording unit of the transmitting unit and a reproducing unit of the receiving unit are synchronized to transmit the real-time data. And synchronization means for controlling the operation.
これにより、リアルタイムデータ通信システムにおいて、同期手段はリアルタイムデータを伝送するのに送信部の記録部と受信部の再生部の同期をとるための制御をするので、送信部の記録部と受信部の再生部の間でクロックのズレが生じることが無くなる。 Thus, in the real-time data communication system, the synchronization means controls to synchronize the recording unit of the transmission unit and the reproduction unit of the reception unit to transmit real-time data. A clock shift does not occur between the reproduction units.
また、本発明のリアルタイムデータ通信装置は、送信側からネットワークを介して送信されたリアルタイムデータを受信する受信部と、受信されたリアルタイムデータを再生する再生部と、リアルタイムデータを受信するために受信部及び再生部の状態を制御する制御部とを有する受信部と、リアルタイムデータを伝送するのに送信側の入力されたリアルタイムデータを記録する記録部と受信部の再生部の同期をとるための制御をする同期手段とを備えている。 In addition, the real-time data communication apparatus of the present invention includes a receiving unit that receives real-time data transmitted from the transmission side via a network, a reproducing unit that reproduces the received real-time data, and a reception unit that receives the real-time data. A receiving unit having a control unit for controlling the state of the recording unit and the reproducing unit, a recording unit for recording real-time data input on the transmission side to transmit real-time data, and a reproducing unit of the receiving unit And synchronization means for controlling.
これにより、リアルタイムデータ通信装置において、同期手段はリアルタイムデータを伝送するのに送信側の記録部と受信部の再生部の同期をとるための制御をするので、送信側の記録部と受信部の再生部の間でクロックのズレが生じることが無くなる。 Thus, in the real-time data communication apparatus, the synchronization means controls to synchronize the recording unit on the transmission side and the reproduction unit on the reception unit to transmit real-time data. A clock shift does not occur between the reproduction units.
また、本発明のリアルタイムデータ通信方法は、送信部では、入力されたリアルタイムデータを記録部により記録するステップと、リアルタイムデータを送信部により送信するステップと、リアルタイムデータを送信するために記録部及び送信部の状態を制御部により制御するステップとを有し、受信部では、送信部からネットワークを介して送信されたリアルタイムデータを受信部により受信するステップと、受信されたリアルタイムデータを再生部により再生するステップと、リアルタイムデータを受信するために受信部及び再生部の状態を制御部により制御するステップとを有すると共に、リアルタイムデータを伝送するのに送信部の記録部と受信部の再生部の同期を同期手段によりとるための制御をするステップとを備えたものである。 Further, in the real-time data communication method of the present invention, the transmitting unit records the input real-time data by the recording unit, the step of transmitting the real-time data by the transmitting unit, the recording unit for transmitting the real-time data, and A step of controlling the state of the transmission unit by the control unit, and at the reception unit, the step of receiving the real-time data transmitted from the transmission unit via the network by the reception unit, and the received real-time data by the reproduction unit A step of reproducing and a step of controlling the states of the receiving unit and the reproducing unit by the control unit in order to receive the real-time data, and for transmitting the real-time data, And a step for performing control to achieve synchronization by means of synchronization means. .
これにより、リアルタイムデータ通信方法において、同期を取るステップではリアルタイムデータを伝送するのに送信部の記録部と受信部の再生部の同期をとるための制御をするので、送信部の記録部と受信部の再生部の間でクロックのズレが生じることが無くなる。 Thus, in the real-time data communication method, in the step of obtaining synchronization, control is performed to synchronize the recording unit of the transmission unit and the reproduction unit of the reception unit in order to transmit real-time data. This eliminates the occurrence of a clock shift between the reproduction units.
本発明のリアルタイムデータ通信システムによれば、送信部の記録部と受信部の再生部の間でクロックのズレが生じることを無くすことができ、これにより、リアルタイム伝送の質を向上させることができ、長時間の連続再生を可能にするリアルタイムデータ通信システムを得ることができる。 According to the real-time data communication system of the present invention, it is possible to eliminate the occurrence of clock deviation between the recording unit of the transmission unit and the reproduction unit of the reception unit, thereby improving the quality of real-time transmission. In addition, a real-time data communication system that enables continuous reproduction for a long time can be obtained.
本発明のリアルタイムデータ通信装置によれば、送信側の記録部と受信部の再生部の間でクロックのズレが生じることを無くすことができ、これにより、リアルタイム伝送による再生動作の質を向上させることができ、長時間の連続再生を可能にするリアルタイムデータ通信装置を得ることができる。 According to the real-time data communication apparatus of the present invention, it is possible to eliminate a clock shift between the recording unit on the transmission side and the reproduction unit of the reception unit, thereby improving the quality of the reproduction operation by real-time transmission. Therefore, a real-time data communication apparatus that can continuously reproduce for a long time can be obtained.
また、本発明のリアルタイムデータ通信方法によれば、送信部の記録部と受信部の再生部の間でクロックのズレが生じることを無くすことができ、これにより、リアルタイム伝送の質を向上させることができ、長時間の連続再生を可能にするリアルタイムデータ通信方法を得ることができる。 In addition, according to the real-time data communication method of the present invention, it is possible to eliminate the occurrence of clock shift between the recording unit of the transmission unit and the reproduction unit of the reception unit, thereby improving the quality of real-time transmission. Thus, a real-time data communication method that enables continuous reproduction for a long time can be obtained.
以下に、本発明の実施の形態について、適宜、図面を参照しながら説明する。
図1は、本発明の実施の形態に適用されるリアルタイムデータ通信システムの構成を示す図である。
本発明では、サウンドデータのようなリアルタイムデータを伝送する機器構成を想定する。説明をわかりやすくするために、1及び3で示す双方の端末A,Bを送信側、受信側にしているが、どちらも同時に送受信できるものでも構わない。
Embodiments of the present invention will be described below with reference to the drawings as appropriate.
FIG. 1 is a diagram showing a configuration of a real-time data communication system applied to the embodiment of the present invention.
The present invention assumes a device configuration that transmits real-time data such as sound data. For ease of explanation, both terminals A and B indicated by 1 and 3 are on the transmitting side and the receiving side, but both may be capable of transmitting and receiving at the same time.
図1において、ネットワーク2を介して1及び3で示す端末A,Bでサウンドデータを送受信する場合、端末間でのクロックの差によって生じる位相のずれを修正するために、同期を合わせるための同期モジュールが必要になる。一般的に、端末同士の演算処理部間で動作クロックを合わせる位相同期を行うことにより、ネットワーク2上の異なる端末間で、音声や映像などのデータをリアルタイムにやり取りすることが可能となる。
In FIG. 1, when sound data is transmitted and received by terminals A and B indicated by 1 and 3 via the
もし、同期モジュールなしで、音声データや画像データのやり取りを行うと、各端末間でのクロック差によって、送信側の動作に対して受信側の動作の遅延の増大が生じることが予想される。このため、受信側でリアルタイムの再生ができないことになる。または、リアルタイム伝送で要求される一定の再生タイミングにてデータが到着していないと受信側の演算処理部で誤認されることにより、リアルタイム再生の処理をすることができなくなる可能性がある。そこで、本発明では、受信側でリアルタイム再生を行うことができるように、以下に述べるような再生部での同期処理をするようにしている。 If audio data and image data are exchanged without a synchronization module, it is expected that the delay in the operation on the reception side will increase with respect to the operation on the transmission side due to the clock difference between the terminals. For this reason, real-time reproduction cannot be performed on the receiving side. Alternatively, if data has not arrived at a certain reproduction timing required for real-time transmission, it may be misrecognized by the arithmetic processing unit on the receiving side, and real-time reproduction processing may not be performed. Therefore, in the present invention, the synchronization processing in the playback unit as described below is performed so that real-time playback can be performed on the receiving side.
図2は、リアルタイムデータ通信システムにおける端末内部の構成を示す図である。
図2において、入力部12から入力されたサウンドデータは、送信側、つまりキャプチャ側の端末内部11のサウンド記録部13に供給される。サウンド記録部13は入力されたサウンドデータをエンコードなどの信号処理可能に一旦メモリに記憶して必要に応じて読み出しをする。中央演算処理部15はサウンド記録部13のサウンドデータに対するエンコードなどの信号処理及び書き込み又は読み出し動作を制御する。
FIG. 2 is a diagram showing the internal configuration of the terminal in the real-time data communication system.
In FIG. 2, the sound data input from the input unit 12 is supplied to the
サウンド記録部13で読み出されてエンコードなどの信号処理を施されたサウンドデータはデータ送信部14に供給される。データ送信部14は、サウンドデータに対して送信のためのシャフリングやパケット生成などの信号処理を施して、送信のための信号処理を施されたサウンドデータを図1に示したネットワーク2を介して再生側の端末21に伝送する。中央演算処理部15はサウンド記録部13のサウンドデータに対する送信のための信号処理動作を制御する。
The sound data read by the
また、受信側、つまり再生側の端末内部21のデータ受信部22はキャプチャ側の端末内部11のデータ送信部14からネットワーク2を介して伝送されたサウンドデータを受信する。データ受信部22は、受信したサウンドデータに対して受信のためのパケット取出しやデシャフリングなどの信号処理を施して、受信のための信号処理を施されたサウンドデータをサウンド再生部23に供給する。中央演算処理部24はデータ受信部22の受信のための動作を制御する。
Further, the
サウンド再生部23は、サウンドデータをデコードして再生し、音響出力信号を生成して出力部25に供給する。中央演算処理部24はサウンド再生部23のデコード及び音響出力の動作を制御する。出力部25は音響出力信号に基づいて音響出力を行う。
The
ここで、キャプチャ側の端末内部11の中央演算処理部15と再生側の端末内部21の中央演算処理部24は同期モジュールを用いて動作クロックを合わせて26で示すように位相同期をとっている。しかし、キャプチャ側の端末内部11のサウンド記録部13と再生側の端末内部21のサウンド再生部23では27で示すようにネットワーク伝送特有の同期ずれが生じることがある。
Here, the
上述した同期モジュールにより送信側端末11及び受信側端末21同士の中央演算処理部15、24間で動作クロックを合わせて26で示すように位相同期をとったとしても、サウンドデータを再生するサウンド再生部23のクロックと中央演算処理部24との間でクロックのズレがある場合、送受信間で微小な同期の誤差が生じることになる。
Sound reproduction that reproduces sound data even when phase synchronization is achieved as indicated by 26 in which the operation clocks are synchronized between the
もし、サウンド再生部23のクロックが中央演算処理部24のクロックよりも早い場合は、受信端末21でバッファーメモリに対してサウンドデータの蓄積データ量が少なくなりすぎるバッファーアンダーランが起こる可能性が高くなり、結果として音響出力が途切れることになる。逆に、サウンド再生部23のクロックが遅い場合は、受信端末21でバッファーメモリに対してサウンドデータの蓄積データ量が多くなりすぎるバッファーオーバーフローが起こり、結果として音響出力の遅延が生じる原因になる。同様にして、送信端末11側でもクロックずれにより上述した受信側端末21と同様の現象が起こる可能性がある。
If the clock of the
一般的にネットワーク伝送に用いる位相同期を行う同期モジュールは、上述したように中央演算処理部15、24のクロックを送受信を行う各端末間で同期させるものであり、マスター側となる送信側の中央演算処理15部とサウンド記録部13との間で生じるクロックの差、スレーブ側となる受信側のサウンド再生部23との間で生じるクロックの差に対しては、上述したネットワーク伝送に用いる位相同期を行う同期モジュールだけでは解決できない。
In general, a synchronization module that performs phase synchronization used for network transmission synchronizes the clocks of the
そこで、図3の33で示すように、ネットワーク2を介して送受信を行う各端末1,3間でのサウンド記録再生部31とサウンド記録再生部32との間で同期を取る必要があるが、実際にサウンド記録再生部31とサウンド記録再生部32との間で直接同期を取る制御を行うことができないため、この方法は現実的な解決方法ではない。従って、上述した位相同期と端末内部の同期を行うことが直接的な解決方法であるといえる。
Therefore, as indicated by 33 in FIG. 3, it is necessary to establish synchronization between the sound recording / reproducing
しかしながら、マスターとスレーブ間のクロック同期が行えないような端末の場合、必ず前述したような問題が発生する。そこで、以下に説明するような本発明の手法を用いることにより、ネットワークを介したサウンドデータのスムーズな記録及び再生を行うことが可能となる。 However, in the case of a terminal that cannot perform clock synchronization between the master and the slave, the above-described problem always occurs. Therefore, by using the method of the present invention as described below, sound data can be smoothly recorded and reproduced via a network.
図4は、サウンド再生時の受信側端末の構成例を示す図である。
図4においては、サウンド再生部41の後段のサウンドカード部44が独自にサウンドカードバッファ部45を備えていると構成を示しているが、これに限らず、サウンドカード部44が独自のサウンドカードバッファ部45を備えていない場合は、サウンド再生部41がサウンドカード部44のサウンドカードバッファ部45の役割も担うことになる。
FIG. 4 is a diagram illustrating a configuration example of a receiving terminal at the time of sound reproduction.
FIG. 4 shows a configuration in which the
各々の機能を説明すると、サウンドカード部44のサウンドカードバッファ部45では、バッファに溜められているデータを随時ディジタル/アナログ変換を行うサウンドカード46へと渡すことにより、出力部25から音響出力を途切れることなく再生して出力する仕組みになっている。ユーザ空間(点線の左側)の中央演算処理部24からはサウンドカード部44のサウンドカードバッファ部45へのサウンドデータの書き込み又は読み出し及びサウンドカード46のディジタル/アナログ変換を行うタイミングを制御するのみでサウンドカード部44のサウンドカードバッファ部45におけるサウンドデータの流れを直接制御することは出来ない。
Explaining each function, the sound
そこで、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量を監視しながらメモリー部43を介してサウンドカードバッファ部45へサウンドデータを転送していくようにメモリー制御する。
Therefore, the increase /
ここで、サウンド再生部41のメモリー部43に設けられる間引き・補間部50は、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ量の増加又は減少に基づいて47で示すようにサウンドカードバッファ部45へ転送されるサウンドデータ量が一定となるようにデータ量の間引き又は補間を行うようにメモリー制御する。
Here, the thinning / interpolating
次にデータの流れを説明する。太線の矢印がデジタルサウンドデータの流れを示している。細線は中央演算処理部24から各部への制御データの流れを示している。データ受信部22にて、図1に示したネットワーク2を介して図2に示した送信側、つまりキャプチャ側の端末内部11から送られてきたデータをデパケタイズ、つまりパケットからヘッダー部などを除いてデータ部分を取り出す。デパケタイズされたデジタルサウンドデータはサウンド再生部41に渡される。
Next, the data flow will be described. Thick line arrows indicate the flow of digital sound data. A thin line indicates a flow of control data from the
図5は、リアルタイム性のためのメモリー制御の例を示す図である。
図5において、予め、上述したようにネットワーク伝送に用いる同期モジュールを用いて、送信側51のCPU(Central Processing Unit)54と受信側56のCPU58のクロックとは位相同期を行うにより同期しているものとする。また、図5に示すCPU54、58は図2に示した中央演算処理部15、24に対応し、図5に示すバッファ55、57は図2に示したデータ送信部14、データ受信部22に対応し、図5に示すサウンドカードバッファ53は図2に示したサウンド記録部13に対応する。なお、以下に示すずれD1〜Dnの値はデジタルサウンドデータの入力からの遅延時間の一例を示すものであり、これに限られるものではない。
FIG. 5 is a diagram illustrating an example of memory control for real-time performance.
In FIG. 5, using the synchronization module used for network transmission as described above, the CPU (Central Processing Unit) 54 on the transmission side 51 and the clock of the
ここで、送信側51のサウンドカードバッファ53とCPU54との間で生じる遅延時間がずれD1で示すように32msであるとし、また、受信側56のCPU58とバッファ57との間で生じる遅延時間がずれD2で示すように30msであるとしたとき、バッファ57とサウンドカードバッファ59との間で65に示す上述したメモリー制御を行うことにより、CPU58とサウンドカードバッファ59との間で生じる遅延時間がずれD3で示すように38ms以内となるようにする。
Here, it is assumed that the delay time generated between the sound card buffer 53 on the transmission side 51 and the
その際、メモリー制御により、ずれD3の上限閾値が38msとなるようにデータ量の間引きを行うようにし、又はずれD3の下限閾値が15msとなるようにデータ量の補間を行うようにして、バッファ57からサウンドカードバッファ59にサウンドデータを供給する。 At this time, the data amount is thinned out so that the upper limit threshold value of the deviation D3 becomes 38 ms by memory control, or the data amount is interpolated so that the lower limit threshold value of the deviation D3 becomes 15 ms. Sound data is supplied from 57 to the sound card buffer 59.
その結果、受信側56の入力側のバッファ57から出力側のスピーカ60までの間で生じる遅延時間をD4(=D2+D3)で示すように68ms以内にすることができる。これにより、このネットワーク伝送システムにおいて送信側51の入力端子52から受信側56のスピーカ60までの間で生じる遅延時間をDn(=D1+D2+D3)で示すように100ms以内にすることができる。このDn(=D1+D2+D3)で示す100msは例えばネットワーク伝送におけるリアルタイム伝送を保証する一定の時間とされる値となる。
As a result, the delay time generated between the
なお、上述において、送信側51のCPU54バッファ55との間で生じる遅延時間によるずれを問題としていないのは、最終的に、受信側56の入力側のバッファ57から出力側のスピーカ60までの間で生じる遅延時間をD4(=D2+D3)で示すように68ms以内にすることができれば問題ないからである。
It should be noted that in the above description, there is no problem with the delay due to the delay with the
図6は、サウンド再生部41のサウンド制御部の制御を示すフローチャートである。
図6において、ステップS1で、データの受信をする。具体的には、図4に示したサウンド再生部41のサウンド制御部及びデコード部42は、データ受信部22から供給されるサウンドデータの受信をする。
FIG. 6 is a flowchart showing the control of the sound control unit of the
In FIG. 6, data is received in step S1. Specifically, the sound control unit and the
ステップS2で、デコードは必要であるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42は、受信したデータが圧縮符号化などのエンコード処理が施されていか否かを判断する。
In step S2, it is determined whether or not decoding is necessary. Specifically, the sound control unit and the
ステップS2で受信したデータが圧縮符号化などのエンコード処理が施されていた場合は、ステップS3へ移行して、圧縮符号化などのエンコード処理が施されているデータのデコードを行う。具体的には、サウンド再生部41のサウンド制御部及びデコード部42は、伸張復号化などのデコード処理を行う。
If the data received in step S2 has been subjected to an encoding process such as compression encoding, the process proceeds to step S3, where the data subjected to the encoding process such as compression encoding is decoded. Specifically, the sound control unit and the
その後、ステップS4で、サウンドカードバッファ部のデータ量lengthを調べる。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量を監視する。
Thereafter, in step S4, the data amount length of the sound card buffer unit is checked. Specifically, the increase /
ステップS5で、増加減少傾向であるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量を監視した結果が、増加又は減少傾向であるか否かを判断する。
In step S5, it is determined whether or not there is a tendency to increase or decrease. Specifically, the increase /
ステップS5で監視結果が増加又は減少傾向である場合は、ステップS6へ移行して、
メモリー部の制御を行う。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、メモリー部43の間引き・補間部50に対してサウンドカードバッファ部45へ転送されるサウンドデータ量が一定となるようにデータ量の間引き又は補間を行うようにメモリー制御を行う。ステップS5で監視結果が増加又は減少傾向でない場合は、直接ステップS7へ移行する。
If the monitoring result is increasing or decreasing in step S5, the process proceeds to step S6.
Control the memory section. Specifically, the increase /
ステップS7で、サウンドカードバッファ部へデータ転送を行う。具体的には、サウンド再生部41のサウンド制御部及びデコード部42は、メモリー部43を介してデジタルサウンドデータをサウンドカード部44のサウンドカードバッファ部45に渡す。
In step S7, data is transferred to the sound card buffer unit. Specifically, the sound control unit and
図7は、サウンド制御部の増加・減少判断部の動作を示すフローチャートである。図7は、上述した図6のステップS5の増加・減少判断の具体的な処理を示すものである。
ステップS11で、サウンドカードバッファ部のデータ量lengthを保持する。具体的には、図4に示したサウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量を保持する。
FIG. 7 is a flowchart showing the operation of the increase / decrease determination unit of the sound control unit. FIG. 7 shows the specific processing of the increase / decrease determination in step S5 of FIG.
In step S11, the data amount length of the sound card buffer unit is held. Specifically, the increase /
ステップS12で、過去のデータ量の平均Aveとデータ量lengthから平均を求める。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量の過去の平均Aveと現在のデータ量lengthから平均を求める。平均を求める理由は、オペレーションシステムOSはタイムシェアリングで動作するため、監視タイミングが一定にならないためである。
In step S12, an average is obtained from the average Ave of the past data amount and the data amount length. Specifically, the increase /
ステップS13で、タイムアウトであるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、監視期間がリアルタイム伝送を保証する一定の時間、例えば100msを越えたか否かを判断する。
In step S13, it is determined whether or not a timeout has occurred. Specifically, the increase /
ステップS13でタイムアウトでないときは、ステップS14へ移行して、タイムアウトでない状態を認識する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、監視期間がリアルタイム伝送を保証する一定の時間、例えば図5に示したように100msを越えていないことを認識する。
If it is not timed out in step S13, the process proceeds to step S14 to recognize a state that is not timed out. More specifically, the increase /
ステップS13でタイムアウトであるときは、ステップS15へ移行して、過去の平均Ave>一つ前の時間区間の平均Ave_oldであるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、過去のデータ量の平均Aveが出力単位の一つ前の時間区間のデータ量の平均Ave_oldであるか否かを判断する。
If it is timed out in step S13, the process proceeds to step S15, and it is determined whether or not the past average Ave> the average Ave_old of the previous time interval. Specifically, the increase /
ステップS15で過去の平均Ave>一つ前の時間区間の平均Ave_oldであるときは、ステップS16へ移行して、過去の平均Ave>上限閾値であるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、過去のデータ量の平均Aveが図5に示したずれD3の上限閾値38msより大きいか否かを判断する。
If it is determined in step S15 that the past average Ave> the average Ave_old of the previous time interval, the process proceeds to step S16 to determine whether the past average Ave> the upper limit threshold value. Specifically, the increase /
ステップS16で過去の平均Ave>上限閾値であるときは、ステップS17へ移行して、増加と判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量が増加したと判断する。
If it is determined in step S16 that the past average Ave> the upper limit threshold, the process proceeds to step S17, where it is determined that the increase has occurred. Specifically, the increase /
ステップS15で過去の平均Ave>一つ前の時間区間の平均Ave_oldでないときは、ステップS18へ移行して、過去の平均Ave<下限閾値であるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、過去のデータ量の平均Aveが図5に示したずれD3の下限閾値15msより小さいか否かを判断する。
If it is determined in step S15 that the past average Ave is not greater than the average Ave_old of the previous time interval, the process proceeds to step S18 to determine whether the past average Ave <the lower limit threshold value. Specifically, the increase /
ステップS18で過去の平均Ave<下限閾値であるときは、ステップS19へ移行して、減少と判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量が減少したと判断する。
If it is determined in step S18 that the past average Ave <the lower limit threshold, the process proceeds to step S19, where it is determined that the value is decreasing. Specifically, the increase /
ステップS13でタイムアウトでないとき、ステップS16で過去の平均Ave>上限閾値でないとき、ステップS18で過去の平均Ave<下限閾値でないときは、直接ステップS14へ移行する。 When it is not time-out at step S13, when past average Ave> the upper limit threshold is not satisfied at step S16, or when past average Ave <the lower limit threshold is not satisfied at step S18, the process directly proceeds to step S14.
図7ではタイマーまたは再生したサウンドデータのサンプル数に相当するものを基準にある閾値を超えた場合にかぎり、増加減少傾向を調べるようにしている。このようにすることにより、全体の計算量の削減につながると共に、頻繁なサンプリング周波数の変更を抑制することが可能となる。具体的には定期的な時間間隔で、平均値Aveをもとめ、一つ前の時間区間の平均Ave_oldと比較し、かつ上限閾値と下限閾値とを比較することで、増加、減少を判断する。 In FIG. 7, the increase / decrease tendency is examined only when a threshold value exceeding a reference value corresponding to the number of samples of the timer or reproduced sound data is exceeded. By doing so, it is possible to reduce the overall calculation amount and to suppress frequent changes in the sampling frequency. Specifically, the average value Ave is obtained at regular time intervals, compared with the average Ave_old of the previous time interval, and the upper threshold value and the lower threshold value are compared to determine increase or decrease.
実際に、複数のプロセスを使用するようなプログラムでは、オペレーションシステムOSのスケジューリングによっては制御部に回ってくるタイミングがずれる可能性がある。また、サウンドデータの遅着や早着により、バッファ量の変動は激しいものとなる場合がある。それによってサウンドカードバッファ部に溜められているデータ量にぶれが生じるため、上記のような増加減少を判断する機構が必要となる。さらに、ここで設定する上限下限閾値は、リアルタイム性をどこまで保持させるかに依存している。 In fact, in a program that uses a plurality of processes, there is a possibility that the timing of turning to the control unit may be shifted depending on the scheduling of the operation system OS. In addition, due to the late arrival or early arrival of sound data, fluctuations in the buffer amount may become severe. As a result, the amount of data stored in the sound card buffer unit is fluctuated, and thus a mechanism for determining the increase or decrease as described above is required. Furthermore, the upper and lower limit threshold values set here depend on how much real-time property is maintained.
つまり、上限閾値が大きいほど、遅延が増大することになるため、低遅延化を図るためにはある程度小さくする必要がある。また、下限閾値はサウンドカードバッファ部のバッファーアンダーランが起こらないようにするための閾値であるため、この値をあまりにも小さくするとサウンドカードバッファ部のバッファーアンダーランが頻発する恐れがあるためある程度の値に設定する必要がある。 That is, the larger the upper limit threshold, the greater the delay. Therefore, it is necessary to reduce the delay to some extent in order to reduce the delay. The lower threshold is a threshold for preventing the buffer underrun of the sound card buffer from occurring. If this value is too small, the buffer underrun of the sound card buffer may occur frequently. Must be set to a value.
図8は、サウンド制御部のメモリー部の間引き及び補間の制御を示すフローチャートである。
図8において、ステップS21で、増加であるか否か判断する。具体的には、図4に示したサウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量が増加しているか否かを判断する。
FIG. 8 is a flowchart showing the thinning and interpolation control of the memory unit of the sound control unit.
In FIG. 8, it is determined in step S21 whether or not there is an increase. Specifically, the increase /
ステップS21で増加であるときは、ステップS22へ移行し、メモリー部にためられたデータを間引く。具体的には、サウンド再生部41のメモリー部43に設けられる間引き・補間部50は、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ量の増加に基づいて47で示すようにサウンドカードバッファ部45へ転送されるサウンドデータ量が一定となるようにデータ量の間引きを行うようにメモリー制御する。
If it is increased in step S21, the process proceeds to step S22, and the data stored in the memory unit is thinned out. Specifically, the decimation /
ステップS21で増加でないときは、ステップS23へ移行し、メモリー部にためられたデータを補間する。具体的には、サウンド再生部41のメモリー部43に設けられる間引き・補間部50は、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ量の減少に基づいて47で示すようにサウンドカードバッファ部45へ転送されるサウンドデータ量が一定となるようにデータ量の補間を行うようにメモリー制御する。
If it is not increased in step S21, the process proceeds to step S23 to interpolate the data stored in the memory unit. Specifically, the decimation /
図8で示すサウンド制御部の制御方法では、メモリー部43のサウンドデータ量を間引きや水増しによって補間する。バッファ量が増加傾向にある場合はメモリー部43のサウンドデータ量を削減する方向へ、減少傾向にある場合は増加させる方向でサウンドカードバッファ部45に供給されるサウンドデータ量を調節する。そのときの調整量は毎時間に扱うデジタルサウンドデータの量をDeltaとするとDelta/Divとする。ここでDivは整数であり、システムに依存するものとする。
In the control method of the sound control unit shown in FIG. 8, the amount of sound data in the
図9は、サウンド制御部のメモリー部の具体的な制御を示すフローチャートである。
図9において、ステップS31で、増加であるか否か判断する。具体的には、図4に示したサウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量が増加しているか否かを判断する。
FIG. 9 is a flowchart showing specific control of the memory unit of the sound control unit.
In FIG. 9, it is determined in step S31 whether or not there is an increase. Specifically, the increase /
ステップS31で増加であるときは、ステップS32へ移行し、急激な変化があるか否かを判断する。具体的には、図4に示したサウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量の増加が急激な変化をしているか否かを判断する。
If it is an increase in step S31, the process proceeds to step S32 to determine whether or not there is a sudden change. Specifically, the increase /
ステップS32で急激な変化がないときは、ステップS33へ移行して、データを削除する。具体的には、サウンド再生部41のメモリー部43に設けられる間引き・補間部50は、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ量の増加の急激な変化のないことに基づいて47で示すようにサウンドカードバッファ部45へ転送されるサウンドデータ量が一定となるようにメモリー部43のデータを削除する。
If there is no abrupt change in step S32, the process proceeds to step S33, and the data is deleted. Specifically, the thinning / interpolating
ステップS31で増加でないときは、ステップS34へ移行し、急激な変化があるか否かを判断する。具体的には、図4に示したサウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量の減少が急激な変化をしているか否かを判断する。
If it is not increased in step S31, the process proceeds to step S34 to determine whether or not there is a sudden change. Specifically, the increase /
ステップS34で急激な変化がないときは、ステップS35へ移行して、前のデータを繰り返す。具体的には、サウンド再生部41のメモリー部43に設けられる間引き・補間部50は、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ量の減少の急激な変化のないことに基づいて47で示すようにサウンドカードバッファ部45へ転送されるサウンドデータ量が一定となるようにメモリー部43の前の時間区間のデータを繰り返してコピーする。
ステップS32で急激な変化があるとき、ステップS34で急激な変化があるときは、直ちに終了する。
When there is no sudden change in step S34, the process proceeds to step S35, and the previous data is repeated. Specifically, the decimation /
If there is a sudden change in step S32, or if there is a sudden change in step S34, the process ends immediately.
上述したように、メモリー部43のデータを間引く場合は、そのデータの前の時間区間のデータ、多少の遅延を許すなら後ろの時間区間のデータも参照して急激な音量レベル等の変化がある場合はそのメモリー制御の処理を行わず、急激な変化が見られない場合はデータの削除をする。逆に、水増しする場合も同様に、急激な変化が起きていない場合に限り、以前の時間区間のデータを再挿入することで、水増しすることが可能である。
As described above, when the data in the
図10は、全バッファをクリアする際のサウンド制御部の増加・減少判断部の動作を示すフローチャートである。
ステップS41で、サウンドカードバッファ部のデータ量lengthを保持する。具体的には、図4に示したサウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量を保持する。
FIG. 10 is a flowchart showing the operation of the increase / decrease determination unit of the sound control unit when clearing all buffers.
In step S41, the data amount length of the sound card buffer unit is held. Specifically, the increase /
ステップS42で、データ量length>閾値であるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカードバッファ部45のデータ量lengthが異常閾値より大きいか否かを判断する。この異常閾値は例えば図5に示したずれD3の上限閾値38msの2倍の値となる。
In step S42, it is determined whether data amount length> threshold value. Specifically, the increase /
ステップS42でデータ量length>閾値であるときは、ステップS43へ移行して、サウンドカードバッファをクリアする。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカードバッファ部45のデータをクリアする。
If the data amount length> the threshold value in step S42, the process proceeds to step S43, and the sound card buffer is cleared. Specifically, the increase /
ステップS45で、過去のデータ量の平均Aveとデータ量lengthから平均を求める。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量の過去の平均Aveと現在のデータ量lengthから平均を求める。平均を求める理由は、オペレーションシステムOSはタイムシェアリングで動作するため、監視タイミングが一定にならないためである。
In step S45, an average is obtained from the average Ave of the past data amount and the data amount length. Specifically, the increase /
ステップS46で、タイムアウトであるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、監視期間がリアルタイム伝送を保証する一定の時間、例えば100msを越えたか否かを判断する。
In step S46, it is determined whether or not a timeout has occurred. Specifically, the increase /
ステップS46でタイムアウトでないときは、ステップS44へ移行して、タイムアウトでない状態を認識する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、監視期間がリアルタイム伝送を保証する一定の時間、例えば図5に示したように100msを越えていないことを認識する。
If it is not timed out in step S46, the process proceeds to step S44 to recognize a state that is not timed out. More specifically, the increase /
ステップS46でタイムアウトであるときは、ステップS47へ移行して、過去の平均Ave>一つ前の時間区間の平均Ave_oldであるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、過去のデータ量の平均Aveが出力単位の一つ前の時間区間のデータ量の平均Ave_oldであるか否かを判断する。
If it is timed out in step S46, the process proceeds to step S47, and it is determined whether or not the past average Ave> the average Ave_old of the previous time interval. Specifically, the increase /
ステップS47で過去の平均Ave>一つ前の時間区間の平均Ave_oldであるときは、ステップS48へ移行して、過去の平均Ave>上限閾値であるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、過去のデータ量の平均Aveが図5に示したずれD3の上限閾値38msより大きいか否かを判断する。
If it is determined in step S47 that the past average Ave> the average Ave_old of the previous time interval, the process proceeds to step S48 to determine whether the past average Ave> the upper limit threshold value. Specifically, the increase /
ステップS48で過去の平均Ave>上限閾値であるときは、ステップS49へ移行して、増加と判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量が増加したと判断する。
When it is determined in step S48 that the past average Ave> the upper limit threshold, the process proceeds to step S49, and it is determined that the increase has occurred. Specifically, the increase /
ステップS47で過去の平均Ave>一つ前の時間区間の平均Ave_oldでないときは、ステップS50へ移行して、過去の平均Ave<下限閾値であるか否かを判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、過去のデータ量の平均Aveが図5に示したずれD3の下限閾値15msより小さいか否かを判断する。
If it is determined in step S47 that the past average Ave> the average Ave_old of the previous time interval is not reached, the process proceeds to step S50, and it is determined whether or not the past average Ave <the lower limit threshold value. Specifically, the increase /
ステップS50で過去の平均Ave<下限閾値であるときは、ステップS51へ移行して、減少と判断する。具体的には、サウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49は、サウンドカード部44のサウンドカードバッファ部45のサウンドデータのデータ量が減少したと判断する。
If it is determined in step S50 that the past average Ave <the lower limit threshold, the process proceeds to step S51, and it is determined that the value is decreasing. Specifically, the increase /
ステップS43でサウンドカードバッファをクリアしたとき、ステップS46でタイムアウトでないとき、ステップS50で過去の平均Ave>上限閾値でないとき、ステップS48で過去の平均Ave<下限閾値でないときは、直接ステップS44へ移行する。 If the sound card buffer is cleared in step S43, if it is not timed out in step S46, if the past average Ave is not the upper threshold value in step S50, or if the past average Ave is not less than the lower threshold value in step S48, the process proceeds directly to step S44. To do.
図11は、間引き・補間・クリアの例を示す図である。
図11において、図4に示したメモリー部43からサウンドカードバッファ部45に供給されるサウンドデータ量をDeltaとするとDelta/Divとする。ここでDivは整数であり、システムに依存するものとする。
FIG. 11 is a diagram illustrating an example of thinning, interpolation, and clear.
In FIG. 11, when the amount of sound data supplied to the sound
ここで、T時点で、サウンドカードバッファ部45のサウンドデータ量が上限閾値111よりも大きいときメモリー部43のサウンドデータ量を115に示すように間引く。このとき、112に示すように、現時点(T)の時間区間のデータを間引くようにし、113に示すように、前(T−1)の時間区間のデータは間引かないように処理される。
Here, at time T, when the amount of sound data in the sound
また、T−2時点で、サウンドカードバッファ部45のサウンドデータ量が上限閾値111よりも小さいときメモリー部43のサウンドデータ量を115に示すように水増しによって補間して、サウンドデータ量を例えば32ms分に相当するデータ量Deltaにする。
At time T-2, when the amount of sound data in the sound
また、Tn−3時点で、サウンドカードバッファ部45のサウンドデータ量が下限閾値116よりも小さいときメモリー部43のサウンドデータ量を117に示すように、Tn−2時点、Tn−1時点、及びTn時点の下限閾値116を超えるまで補間する。
Further, at time Tn-3, when the amount of sound data in the sound
さらに、サウンドカードバッファ部45のサウンドデータ量が118に示す異常閾値(=上限閾値×2)を超えるときは、119に示すように現在のデータのみサウンドカードバッファ側に出力すると共に、120に示すように異常値をサウンドカードバッファでクリアする。
Further, when the amount of sound data in the sound
このように図4に示したサウンドカードバッファ部45のサウンドデータ量が増加傾向にある場合はメモリー部43のサウンドデータ量を削減する方向へ、減少傾向にある場合は増加させる方向でサウンドカードバッファ部45に供給されるサウンドデータ量を調節する。
As described above, when the amount of sound data in the sound
上述した処理は、図4に示したサウンド再生部41のメモリー部43に設けられる間引き・補間部50がメモリー部に対して、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ量の増加又は減少に基づいて行われる。
In the processing described above, the thinning / interpolating
図12は、急激な変化の例を示す図である。
図12において、図4に示したサウンド再生部41のメモリー部43に設けられる間引き・補間部50は、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ125のサンプルレベル121を見て、サウンドデータ量の増加の急激な変化のないことに基づいて124で示すようにサウンドカードバッファ部45へ転送されるサウンドデータ量が一定となるようにメモリー部43のデータを間引くようにする。
FIG. 12 is a diagram illustrating an example of an abrupt change.
In FIG. 12, the thinning / interpolating
また、サウンドデータ123のサンプルレベル121を見て、サウンドデータ量の急激な音量レベル等の変化がある場合は間引きの処理を行わないようにする。ここで、急激な変化の判断は、例えば、|過去の平均Ave−一つ前の時間区間の平均Ave_old|>1000バイトとなることで判断する。リアルタイム伝送においては、1000バイトは16msの時間に伝送されるデータ量に相当する。2000バイトは上述した上限閾値38msの時間に伝送されるデータ量に相当する。
Further, when the
ここでは、急激な増加の場合のみを示した急激な減少の場合も同様に処理される。この処理も、同様に、図4に示したサウンド再生部41のメモリー部43に設けられる間引き・補間部50がメモリー部に対して、増加減少判断部49によるサウンドカード部44のサウンドカードバッファ部45のサウンドデータ量の急激な増加又は減少に基づいて行われる。
Here, the same processing is performed for the case of a sudden decrease that shows only the case of a sudden increase. Similarly, in this process, the thinning / interpolating
上述したように、なんらかの突発的な不具合によりサウンドデータがサウンドカードバッファ部にたまった場合に対処するために、ある異常閾値を超えた場合は強制的に全サウンドカードバッファ部をクリアする。このようにすると、音響出力が、寸断される可能性が高いが、サウンドカードバッファ部にデジタルサウンドデータが溜まって遅延が発生するよりもリアルタイム通信を考えるとこのような安全弁的な機構を取り入れた方が、より安定的な動作が可能となる。さらに、このようにすることにより、送受信間での遅延を閾値以下に保つことが可能となる。 As described above, in order to deal with a case where sound data accumulates in the sound card buffer unit due to some unexpected failure, all sound card buffer units are forcibly cleared when a certain abnormal threshold is exceeded. In this way, there is a high possibility that the sound output will be cut off, but when considering real-time communication rather than delaying due to the accumulation of digital sound data in the sound card buffer unit, such a safety valve mechanism was adopted. More stable operation is possible. Furthermore, by doing in this way, it becomes possible to keep the delay between transmission and reception below a threshold value.
上述したメモリー制御を行うことにより、サウンドカードバッファ部のバッファーアンダーランやバッファーオーバーフローを回避することができる。また、サウンドデータの間引きや、水増しをさせるかの条件をサウンド再生部41のサウンド制御部及びデコード部42に設けられる増加減少判断部49により判定をすることにより、ユーザには制御の状態が知覚することができないようになっている。
By performing the memory control described above, it is possible to avoid buffer underrun and buffer overflow of the sound card buffer unit. Further, by determining whether the sound data is thinned out or padded, the sound control unit of the
また、サウンドカードバッファ部のデータ量が大幅に増した場合に、異常閾値を設けることで突発的な遅延の増大を回避することも可能となる。
また、大量のバッファリングを必要としないため、ネットワークを介した、リアルタイムなコミュニケーションに適しているといえる。
In addition, when the data amount of the sound card buffer unit is greatly increased, it is possible to avoid a sudden increase in delay by providing an abnormal threshold value.
Moreover, since a large amount of buffering is not required, it can be said that it is suitable for real-time communication via a network.
本発明の実施の形態は、上述したサウンドデータに限らず、リアルタイム伝送に用いられる連続した他のデータ、例えば、ビデオデータに適用可能である。 The embodiment of the present invention is not limited to the sound data described above, but can be applied to other continuous data used for real-time transmission, for example, video data.
1……端末A、2……ネットワーク、3……端末B、11……端末内部(キャプチャ側)、12……入力部、13……サウンド記録部,14……データ送信部、15……中央演算処理部、21……端末内部(再生側)、22……データ受信部、23……サウンド再生部、24……中央演算処理部、25……出力部、26……位相同期とれる、27……同期ずれる、31……サウンド記録再生部、32……サウンド記録再生部、33……同期を行う、41……サウンド再生部、42……サウンド制御部及びデコード部、43……メモリー部、44……サウンドカード部、45……サウンドカードバッファ部、46……サウンドカード、47……一定レート、48……監視、49……増加減少判断部、50……間引き・補間部、51……送信側、52……入力端子、53……サウンドカードバッファ、54……CPU、55……バッファ、56……受信側、57……バッファ、58……CPU、59……サウンドカードバッファ、60……スピーカ、61……位相同期、62……一定レート、111……上限閾値、112……現時点(T)のデータを間引く、113……前(T−1)のデータは間引かない、114……間引、115……補間、116……下限閾値、……117……補間、118……異常閾値、119……現在のデータのみサウンドカードバッファ側に出力する、120……異常値をサウンドカードバッファでクリアする、121……サンプルレベルを見る、122……間引かない、123……急激な変化のあるデータ、124……間引く、125……急激な変化のないデータ、126……急激な変化の判断基準
DESCRIPTION OF
Claims (14)
入力されたリアルタイムデータを記録する記録部と、上記リアルタイムデータを送信する送信部と、上記リアルタイムデータを送信するために上記記録部及び送信部の状態を制御する制御部とを有する送信部と、
上記送信部からネットワークを介して送信されたリアルタイムデータを受信する受信部と、受信されたリアルタイムデータを再生する再生部と、上記リアルタイムデータを受信するために上記受信部及び再生部の状態を制御する制御部とを有する受信部と、
上記リアルタイムデータを伝送するのに上記送信部の上記記録部と上記受信部の上記再生部の同期をとるための制御をする同期手段と
を備えたことを特徴とするリアルタイムデータ通信システム。 In a real-time data communication system for receiving and reproducing real-time data transmitted from a transmission side via a network on a reception side,
A recording unit that records input real-time data, a transmission unit that transmits the real-time data, and a transmission unit that controls a state of the recording unit and the transmission unit to transmit the real-time data;
A receiving unit that receives real-time data transmitted from the transmitting unit via the network, a reproducing unit that reproduces the received real-time data, and controls the states of the receiving unit and the reproducing unit to receive the real-time data A receiving unit having a control unit,
A real-time data communication system comprising: synchronization means for controlling to synchronize the recording unit of the transmitting unit and the reproducing unit of the receiving unit for transmitting the real-time data.
上記同期手段は、上記受信部の上記再生部に設けたことを特徴とするリアルタイムデータ通信システム。 The real-time data communication system according to claim 1, wherein
The real-time data communication system according to claim 1, wherein the synchronization means is provided in the reproduction unit of the reception unit.
上記同期手段は、上記送信部の上記制御部と上記受信部の上記制御部の同期をとる位相同期手段と共に用いることを特徴とするリアルタイムデータ通信システム。 The real-time data communication system according to claim 1, wherein
The real-time data communication system, wherein the synchronization means is used together with a phase synchronization means for synchronizing the control section of the transmission section and the control section of the reception section.
上記同期手段は、上記受信部の上記再生部の出力データ量の増加又は減少を判断する判断部を設けたことを特徴とするリアルタイムデータ通信システム。 The real-time data communication system according to claim 2,
The real-time data communication system according to claim 1, wherein the synchronization means includes a determination unit that determines whether the output data amount of the reproduction unit of the reception unit is increased or decreased.
上記同期手段は、上記判断部による出力データ量の増加又は減少に基づいて上記出力データ量が一定となるようにデータ量の間引き又は補間を行う間引き・補間部を設けたことを特徴とするリアルタイムデータ通信システム。 The real-time data communication system according to claim 4,
The synchronization means includes a thinning-out / interpolating unit for thinning out or interpolating the data amount so that the output data amount becomes constant based on the increase or decrease in the output data amount by the determining unit. Data communication system.
上記送信側からネットワークを介して送信されたリアルタイムデータを受信する受信部と、受信されたリアルタイムデータを再生する再生部と、上記リアルタイムデータを受信するために上記受信部及び再生部の状態を制御する制御部とを有する受信部と、
上記リアルタイムデータを伝送するのに上記送信側の入力されたリアルタイムデータを記録する記録部と上記受信部の上記再生部の同期をとるための制御をする同期手段と
を備えたことを特徴とするリアルタイムデータ通信装置。 In the real-time data communication apparatus on the receiving side that receives and reproduces the real-time data transmitted from the transmission side via the network,
A receiving unit that receives real-time data transmitted from the transmitting side via the network, a reproducing unit that reproduces the received real-time data, and controls the states of the receiving unit and the reproducing unit to receive the real-time data A receiving unit having a control unit,
A recording unit for recording the real-time data input on the transmission side and a synchronization unit for controlling to synchronize the reproduction unit of the reception unit for transmitting the real-time data are provided. Real-time data communication device.
上記同期手段は、上記送信側の制御を行う制御部と上記受信部の上記制御部の同期をとる位相同期手段と共に用いることを特徴とするリアルタイムデータ通信装置。 The real-time data communication apparatus according to claim 6, wherein
The real-time data communication apparatus according to claim 1, wherein the synchronization unit is used together with a phase synchronization unit that synchronizes the control unit that controls the transmission side and the control unit of the reception unit.
上記同期手段は、上記受信部の上記再生部の出力データ量の増加又は減少を判断する判断部を設けたことを特徴とするリアルタイムデータ通信装置。 The real-time data communication apparatus according to claim 6, wherein
The real-time data communication apparatus according to claim 1, wherein the synchronization means includes a determination unit that determines whether the output data amount of the reproduction unit of the reception unit is increased or decreased.
上記同期手段は、上記判断部による出力データ量の増加又は減少に基づいて上記出力データ量が一定となるようにデータ量の間引き又は補間を行う間引き・補間部を設けたことを特徴とするリアルタイムデータ通信装置。 The real-time data communication apparatus according to claim 8,
The synchronization means includes a thinning-out / interpolating unit for thinning out or interpolating the data amount so that the output data amount becomes constant based on the increase or decrease in the output data amount by the determining unit. Data communication device.
送信部では、
入力されたリアルタイムデータを記録部により記録するステップと、上記リアルタイムデータを送信部により送信するステップと、上記リアルタイムデータを送信するために上記記録部及び送信部の状態を制御部により制御するステップとを有し、
受信部では、
上記送信部からネットワークを介して送信されたリアルタイムデータを受信部により受信するステップと、受信されたリアルタイムデータを再生部により再生するステップと、上記リアルタイムデータを受信するために上記受信部及び再生部の状態を制御部により制御するステップとを有すると共に、
上記リアルタイムデータを伝送するのに上記送信部の上記記録部と上記受信部の上記再生部の同期を同期手段によりとるための制御をするステップと
を備えたことを特徴とするリアルタイムデータ通信方法。 In a real-time data communication method in a real-time data communication system for receiving and reproducing real-time data transmitted from a transmission side via a network on a reception side,
In the transmitter,
A step of recording input real-time data by a recording unit; a step of transmitting the real-time data by a transmission unit; and a step of controlling a state of the recording unit and the transmission unit by a control unit to transmit the real-time data; Have
In the receiver,
A step of receiving real-time data transmitted from the transmission unit via a network by a receiving unit; a step of reproducing the received real-time data by a reproducing unit; and the receiving unit and the reproducing unit for receiving the real-time data And a step of controlling the state of
A real-time data communication method comprising: a step of controlling the synchronization unit to synchronize the recording unit of the transmission unit and the reproduction unit of the reception unit for transmitting the real-time data.
上記同期をとるステップは、上記受信部の上記再生するステップ中に設けたことを特徴とするリアルタイムデータ通信方法。 The real-time data communication method according to claim 10.
The real time data communication method according to claim 1, wherein the synchronization step is provided during the reproduction step of the reception unit.
上記同期をとるための制御をするステップは、上記送信部の上記制御部と上記受信部の上記制御部の同期をとる位相同期をとるステップと共に用いることを特徴とするリアルタイムデータ通信方法。 The real-time data communication method according to claim 10.
The step of performing control for synchronization is used in combination with the step of phase synchronization for synchronizing the control unit of the transmission unit and the control unit of the reception unit.
上記同期をとるための制御をするステップ中に、上記受信部の上記再生部の出力データ量の増加又は減少を判断部により判断するステップを設けたことを特徴とするリアルタイムデータ通信方法。 The real-time data communication method according to claim 11.
A real-time data communication method comprising: a step of determining, by a determination unit, an increase or decrease in the amount of output data of the reproduction unit of the reception unit during the step of performing control for synchronization.
上記同期をとるための制御をするステップ中に、上記判断するステップによる出力データ量の増加又は減少に基づいて上記出力データ量が一定となるように間引き・補間部によりデータ量の間引き又は補間を行うステップを設けたことを特徴とするリアルタイムデータ通信方法。 The real-time data method according to claim 13.
During the step of controlling to achieve the synchronization, the data amount is thinned out or interpolated by the thinning / interpolating unit so that the output data amount becomes constant based on the increase or decrease in the output data amount by the determining step. The real-time data communication method characterized by providing the step to perform.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003421381A JP2005184383A (en) | 2003-12-18 | 2003-12-18 | System, apparatus and method for real-time data communication |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003421381A JP2005184383A (en) | 2003-12-18 | 2003-12-18 | System, apparatus and method for real-time data communication |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005184383A true JP2005184383A (en) | 2005-07-07 |
Family
ID=34782623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003421381A Pending JP2005184383A (en) | 2003-12-18 | 2003-12-18 | System, apparatus and method for real-time data communication |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005184383A (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007082045A (en) * | 2005-09-16 | 2007-03-29 | Toa Corp | Communication device and method, communication program, and computer readable recording medium, where communication program is recorded |
JP2010288158A (en) * | 2009-06-12 | 2010-12-24 | Sony Corp | Information processing apparatus, synchronization correction method, and computer program |
JP2014078971A (en) * | 2008-04-15 | 2014-05-01 | Qualcomm Incorporated | Synchronizing timing mismatch by data deletion |
WO2014064781A1 (en) * | 2012-10-24 | 2014-05-01 | 三菱電機株式会社 | Digital broadcast receiving apparatus and digital broadcast receiving method |
JP2018160872A (en) * | 2017-03-24 | 2018-10-11 | ヤマハ株式会社 | Sound data processing apparatus and sound data processing method |
CN109495776A (en) * | 2018-12-20 | 2019-03-19 | 青岛海信电器股份有限公司 | The method and intelligent terminal that a kind of audio sends, plays |
US11190836B2 (en) | 2018-12-20 | 2021-11-30 | Hisense Visual Technology Co., Ltd. | Audio playing and transmitting methods and apparatuses |
-
2003
- 2003-12-18 JP JP2003421381A patent/JP2005184383A/en active Pending
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007082045A (en) * | 2005-09-16 | 2007-03-29 | Toa Corp | Communication device and method, communication program, and computer readable recording medium, where communication program is recorded |
JP4597826B2 (en) * | 2005-09-16 | 2010-12-15 | ティーオーエー株式会社 | COMMUNICATION DEVICE, ITS COMMUNICATION METHOD, COMMUNICATION PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE COMMUNICATION PROGRAM |
JP2014078971A (en) * | 2008-04-15 | 2014-05-01 | Qualcomm Incorporated | Synchronizing timing mismatch by data deletion |
JP2010288158A (en) * | 2009-06-12 | 2010-12-24 | Sony Corp | Information processing apparatus, synchronization correction method, and computer program |
US9954671B2 (en) | 2009-06-12 | 2018-04-24 | Sony Corporation | Information processing apparatus, synchronization correction method and computer program |
US8971355B2 (en) | 2009-06-12 | 2015-03-03 | Sony Corporation | Information processing apparatus, synchronization correction method and computer program |
US9479324B2 (en) | 2009-06-12 | 2016-10-25 | Sony Corporation | Information processing apparatus, synchronization correction method and computer program |
US9232116B2 (en) | 2012-10-24 | 2016-01-05 | Mitsubishi Electric Corporation | Digital broadcast receiving apparatus and digital broadcast receiving method |
JP5800999B2 (en) * | 2012-10-24 | 2015-10-28 | 三菱電機株式会社 | Digital broadcast receiving apparatus and digital broadcast receiving method |
CN104756437A (en) * | 2012-10-24 | 2015-07-01 | 三菱电机株式会社 | Digital broadcast receiving apparatus and digital broadcast receiving method |
CN104756437B (en) * | 2012-10-24 | 2017-11-17 | 三菱电机株式会社 | Digital broacast receiver and digital broadcast receiving method |
WO2014064781A1 (en) * | 2012-10-24 | 2014-05-01 | 三菱電機株式会社 | Digital broadcast receiving apparatus and digital broadcast receiving method |
JP2018160872A (en) * | 2017-03-24 | 2018-10-11 | ヤマハ株式会社 | Sound data processing apparatus and sound data processing method |
CN109495776A (en) * | 2018-12-20 | 2019-03-19 | 青岛海信电器股份有限公司 | The method and intelligent terminal that a kind of audio sends, plays |
CN109495776B (en) * | 2018-12-20 | 2021-02-05 | 海信视像科技股份有限公司 | Audio sending and playing method and intelligent terminal |
US11190836B2 (en) | 2018-12-20 | 2021-11-30 | Hisense Visual Technology Co., Ltd. | Audio playing and transmitting methods and apparatuses |
US11871075B2 (en) | 2018-12-20 | 2024-01-09 | Hisense Visual Technology Co., Ltd. | Audio playing and transmitting methods and apparatuses |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3687188B2 (en) | Packet transmission method | |
JP4361561B2 (en) | Data receiving apparatus and data receiving method | |
US7228059B2 (en) | Audio reproducing apparatus and audio reproduction control method for use in the same | |
US20070008984A1 (en) | Buffer management system, digital audio receiver, headphones, loudspeaker, method of buffer management | |
JP5026167B2 (en) | Stream transmission server and stream transmission system | |
JP2002064788A (en) | Data stream processor and method, and program storage medium | |
JP2006514799A (en) | Method and system for resynchronizing a drifted data stream with minimal perceptible artifacts | |
US7336652B2 (en) | Data communication apparatus and data communication method | |
US20050041643A1 (en) | Data communication apparatus and data communication method | |
JP2005184383A (en) | System, apparatus and method for real-time data communication | |
JP3558983B2 (en) | Digital broadcast recording and playback device | |
JP4597826B2 (en) | COMMUNICATION DEVICE, ITS COMMUNICATION METHOD, COMMUNICATION PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE COMMUNICATION PROGRAM | |
JP5186094B2 (en) | Communication terminal, multimedia playback control method, and program | |
JP2007104569A (en) | Data receiving device | |
JP4376165B2 (en) | Receiver, clock adjustment method, and broadcasting system | |
JP2001168883A (en) | Method for adjusting time stamp offset and packet- transmitting device using the same | |
US6061778A (en) | Digital signal processor for detecting out-of-sync and jitter from two clock signals and controlling the interpolation based on deviation and jitter amount | |
JP2008028490A (en) | Ip network terminal adapter and clock control method for use therein | |
JP2006135657A (en) | Device and method for receiving data | |
JP3893392B2 (en) | Reception processing device, reception device, control program, and recording medium recording control program | |
JP3518835B2 (en) | Transmission equipment | |
US20010026680A1 (en) | Method of processing data packets, and video recording/playback apparatus incorporating the method | |
JP2005277461A (en) | Data transmission system | |
JP2005285298A (en) | Av apparatus, av system, and av apparatus control method | |
JP2003101952A (en) | Device for recording digital signal |