JP4299731B2 - Reception device and reception reproduction method - Google Patents
Reception device and reception reproduction method Download PDFInfo
- Publication number
- JP4299731B2 JP4299731B2 JP2004157243A JP2004157243A JP4299731B2 JP 4299731 B2 JP4299731 B2 JP 4299731B2 JP 2004157243 A JP2004157243 A JP 2004157243A JP 2004157243 A JP2004157243 A JP 2004157243A JP 4299731 B2 JP4299731 B2 JP 4299731B2
- Authority
- JP
- Japan
- Prior art keywords
- reception
- packet
- packets
- receiving
- sampling frequency
- 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.)
- Active
Links
Images
Description
本発明は、例えばビルの構内放送設備などに用いられるディジタルデータ通信システムに関する。 The present invention relates to a digital data communication system used, for example, in a building broadcasting facility.
LANなどのネットワーク上でのディジタルデータ通信システムでは、テキストや静止画像だけでなく、音声や動画像などのデータをパケット化して通信を行う。ディジタル通信及び再生方式の1つに、データの最後までの受信を待たずに再生する「ストリーミング再生方式」がある。ストリーミング再生方式では、音声や動画像をリアルタイムに伝送する方式であり、送信装置及び受信装置にそれぞれ送信バッファ及び受信バッファが設けられる。この方式における送信装置及び受信装置の処理は、次のようになる。 In a digital data communication system on a network such as a LAN, communication is performed by packetizing not only text and still images but also data such as voice and moving images. One of the digital communication and reproduction methods is a “streaming reproduction method” in which reproduction is performed without waiting for reception until the end of data. The streaming reproduction method is a method for transmitting audio and moving images in real time, and a transmission buffer and a reception buffer are provided in the transmission device and the reception device, respectively. The processing of the transmitting device and the receiving device in this method is as follows.
例えば音声通信の場合、送信装置に入力されたアナログ音声信号は、アナログ/ディジタル変換器(ADC)によりディジタル音声データに変換され、送信バッファに蓄積される。受信装置は、パケットを受信して分解し、ディジタル音声データを受信バッファに蓄積する。受信バッファのデータ蓄積量が一定以上になると、ディジタル音声データが受信バッファから読み出され、ディジタル/アナログ変換器(DAC)でアナログ音声データに変換され、出力される。 For example, in the case of voice communication, an analog voice signal input to a transmission device is converted into digital voice data by an analog / digital converter (ADC) and stored in a transmission buffer. The receiving device receives and disassembles the packet, and stores the digital audio data in the receiving buffer. When the amount of data stored in the reception buffer exceeds a certain level, the digital audio data is read from the reception buffer, converted into analog audio data by a digital / analog converter (DAC), and output.
この通信システムにおける音声や動画像の通信では、以下の2つのことが要求される。
1.受信装置は、連続したデータのパケットを、送信装置におけるパケットの送信間隔と同じ時間間隔で受信すること。
2.送信装置におけるサンプリング周波数(以下、送信側サンプリング周波数)fsと受信装置におけるサンプリング周波数(以下、受信側サンプリング周波数)frとが一致すること。
In the communication of voice and moving images in this communication system, the following two things are required.
1. The receiving device receives continuous data packets at the same time interval as the packet transmission interval in the transmitting device.
2. The sampling frequency (hereinafter referred to as “transmission-side sampling frequency”) fs in the transmission device and the sampling frequency (hereinafter referred to as “reception-side sampling frequency”) fr in the reception device must match.
しかし、ネットワークのトラフィックの状況によっては、パケットの伝送時間に揺らぎが生じる、衝突によりパケットが欠落したり順番通り到着しない、などの不具合が生じる。また、送信装置と受信装置とでは、別々の内部クロックに基づくサンプリング周波数を用いるため、送信側サンプリング周波数fsと受信側サンプリング周波数frとに誤差が生じる。よって、同一時間当たりに送信されるパケットに含まれるデータ量と再生されるデータ量とにずれが生じる。そのため、再生中に受信バッファのデータ蓄積量がゼロになってしまい、再生が停止するアンダーフローが発生する場合がある。アンダーフローが生じると音切れが生じ、音声品質が劣化してしまう。逆に、受信したパケットを受信バッファに吸収しきれないオーバーフローが発生する場合もある。オーバーフローが生じると、受信したパケットは破棄されるため、音声データが不連続となりノイズの発生を招く。 However, depending on the network traffic conditions, there are problems such as fluctuations in packet transmission time, packet loss due to collision, and failure to arrive in order. Further, since the transmission device and the reception device use sampling frequencies based on different internal clocks, an error occurs between the transmission-side sampling frequency fs and the reception-side sampling frequency fr. Therefore, there is a difference between the amount of data included in packets transmitted per same time and the amount of data to be reproduced. For this reason, the amount of data stored in the reception buffer becomes zero during reproduction, which may cause an underflow that stops reproduction. When an underflow occurs, the sound is cut off and the sound quality is deteriorated. Conversely, an overflow may occur in which the received packet cannot be absorbed by the reception buffer. When the overflow occurs, the received packet is discarded, so that the voice data becomes discontinuous and causes noise.
そこで、音声などのデータの品質を高めるために、受信装置におけるサンプリング周波数を補正する補正手段を有する受信装置が特許文献1に記載されている。特許文献1に記載の受信装置は、ディジタルデータとともにパケット送信時刻を含む第1及び第2パケットを送信装置から順次受信し、パケットの送信時刻及びパケットを受信した受信時刻を取得する。ここで、パケット送信時刻とは、第1及び第2パケットが送信装置から受信装置へ送信される時刻である。そして、所定数のパケットを送信するのに要する時間として送信間隔を算出し、所定数のパケットを受信するのに要する時間として受信間隔を算出する。この送信間隔と受信間隔との差が小さくなるように受信側サンプリング周波数frを補正する。よって、送信装置及び受信装置でのサンプリング周波数の誤差に起因するアンダーフローやオーバーフローを抑制し、再生されるデータの品質を高めることができる。
しかし、特許文献1に記載の受信装置では、アンダーフローやオーバーフローを抑制することはできるものの、受信側サンプリング周波数frを調整するために、送信装置から受信装置へパケット送信時刻等の時刻情報を送信しなければならない。そのため、送信装置は、送信するパケットにパケット送信時刻等の時刻情報を組み込む必要がある。よって、送信装置と受信装置とが一体とならなければサンプリング周波数の誤差を補正できない。また、時刻情報を組み込むことでパケットのデータ量が増加し、伝送効率の低下や使用する帯域幅の増加を招く。
However, although the receiving apparatus described in
そこで、本発明は、送信装置側によらずに受信装置側だけで受信側サンプリング周波数の補正を行い、音質を高めることができる受信装置を提供することを目的とする。 SUMMARY OF THE INVENTION An object of the present invention is to provide a receiving apparatus that can improve the sound quality by correcting the receiving side sampling frequency only on the receiving apparatus side, not on the transmitting apparatus side.
本願第1発明は、上記の課題を解決するために、送信装置に通信網を介して接続された受信装置であって、前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信手段と、前記複数のパケットそれぞれに含まれるディジタルデータを一時的に蓄積する受信バッファと、受信側サンプリング周波数frを生成する周波数生成手段と、前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換手段と、受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信手段がk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正手段とを備える受信装置を提供する。 In order to solve the above-described problems, the first invention of the present application is a receiving device connected to a transmitting device via a communication network, and receives a plurality of packets sequentially from the transmitting device via the communication network. Means, a reception buffer for temporarily storing digital data included in each of the plurality of packets, a frequency generation means for generating a reception-side sampling frequency fr, and a reception buffer according to the reception-side sampling frequency fr. For each packet group G n (n is a natural number) composed of a conversion means for reading out digital data and converting it into analog data, and a predetermined number k (k ≧ 2) packets determined on the receiving side A reception interval ΔTr indicating a time required for the means to receive k packets, and a digital signal included in each of the k packets. And a correction unit that obtains a reading interval ΔTo indicating a time required to read the total data from the reception buffer, and calculates a reception-side sampling frequency fr in the packet group G n based on the following conditions: I will provide a.
例えば、受信手段が時刻Tr0〜Tr1の間に100個のパケットG n (nは自然数)を受信している。この受信手段で受信されたそれぞれのパケットに含まれるディジタルデータは、受信バッファに一時的に蓄積される。そして、100個のパケットのディジタルデータが時刻To0からTo1の間に受信バッファから読み出される。ここで、100個のうち最初と最後のパケットの受信時刻から受信間隔ΔTr=Tr1−Tr0が算出される。また、100個のうち最初と最後のパケットの読出時刻からディジタルデータの読出間隔ΔTo=Tr1−Tr0が算出される。補正手段は、算出された受信間隔ΔTrと読出間隔ΔToとがfr=fr’×(ΔTo÷ΔTr)の条件になるように受信側サンプリング周波数frを補正する。fr’はパケット群G (n−1) における受信側サンプリング周波数。
ここで、受信間隔ΔTrは、送信装置から受信装置への両パケットの送信間隔に応答している。よって、受信側サンプリング周波数frを前記のように補正することで、送信側サンプリング周波数fsと受信側サンプリング周波数frとを所定の関係にすることができる。以上の処理を行うことで、受信バッファの蓄積量を制御し、オーバーフローやアンダーフローを防止し、再生されるデータの品質を高めることができる。また、前述の受信側サンプリング周波数frの補正は、受信装置側で取得した受信時刻及び読出時刻に基づいて行われる。よって、送信装置側からパケット送信時刻、パケット送信間隔等の送信側サンプリング周波数fsに関連する時刻情報を受信装置側に送信する必要がない。そのため、送信するパケットのパケット構成を簡略化し、パケットのデータ量を削減することで、パケットの伝送効率の向上や使用する帯域幅を減少することができる。なお、所定の関係とは、受信側サンプリング周波数frと送信側サンプリング周波数fsが、fr:fs=1:1、fr:fs=1:2等になる関係であり、等倍速、所定の倍速の読み出しに対応することができる。
For example, 100 packets G n between the receiving means time Tr0~Tr1 (n is a natural number) are receiving. The digital data included in each packet received by the receiving means is temporarily stored in the reception buffer. Then, 100 packets of digital data are read from the reception buffer between times To0 and To1. Here, the reception interval ΔTr =
Here, the reception interval ΔTr is responsive to the transmission interval of both packets from the transmission device to the reception device. Therefore, by correcting the reception-side sampling frequency fr as described above, the transmission-side sampling frequency fs and the reception-side sampling frequency fr can be in a predetermined relationship. By performing the above processing, it is possible to control the accumulation amount of the reception buffer, prevent overflow and underflow, and improve the quality of reproduced data. Further, the correction of the reception side sampling frequency fr described above is performed based on the reception time and reading time acquired on the reception device side. Therefore, there is no need to transmit time information related to the transmission side sampling frequency fs such as the packet transmission time and the packet transmission interval from the transmission device side to the reception device side. Therefore, by simplifying the packet configuration of the packet to be transmitted and reducing the data amount of the packet, the packet transmission efficiency can be improved and the bandwidth to be used can be reduced. The predetermined relationship is a relationship in which the reception-side sampling frequency fr and the transmission-side sampling frequency fs are fr: fs = 1: 1, fr: fs = 1: 2, and the like. Reading can be supported.
本願第2発明は、本願第1発明において、前記周波数生成手段としてVCO(Voltage Control Oscillator)を用い、前記補正手段は前記VCOへの印加電圧を調整することにより、前記受信側サンプリング周波数frを補正する受信装置を提供する。
本願第3発明は、本願第1発明において、前記受信手段により受信されたパケットの送信順位及び前記受信バッファ内の蓄積量を監視し、パケットを正常に受信しているか否かを判定する監視手段をさらに備え、前記変換手段は、前記監視手段におけるパケットを正常に受信しているか否かの判定に応じて、蓄積されたディジタルデータを前記受信バッファから読み出し、前記受信バッファは、前記監視手段におけるパケットを正常に受信しているか否かの判定、及び当該受信バッファ内の蓄積量に応じて、ディジタルデータを蓄積する受信装置を提供する。
本願第4発明は、送信装置に通信網を介して接続された受信装置に用いられる受信再生方法であって、前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信ステップと、前記複数のパケットそれぞれに含まれるディジタルデータを一時的に受信バッファに蓄積する蓄積ステップと、受信側サンプリング周波数frを生成する周波数生成ステップと、前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換ステップと、受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信ステップでk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正する補正ステップとを含む受信再生方法を提供する。
fr=fr’×(ΔTo÷ΔTr)
ここで、fr’はパケット群G(n−1)における受信側サンプリング周波数。
According to a second aspect of the present invention, in the first aspect of the present invention, a VCO (Voltage Control Oscillator) is used as the frequency generation means, and the correction means corrects the reception-side sampling frequency fr by adjusting an applied voltage to the VCO. A receiving apparatus is provided.
The third invention of the present application is the monitoring means according to the first invention of the present application, which monitors the transmission order of the packets received by the receiving means and the accumulation amount in the reception buffer, and determines whether or not the packets are normally received. The conversion means reads out the stored digital data from the reception buffer according to the determination as to whether or not the monitoring means has received the packet normally, and the reception buffer is in the monitoring means Provided is a receiving device for storing digital data in accordance with determination as to whether or not a packet is normally received and the amount stored in the reception buffer.
A fourth invention of the present application is a reception reproduction method used for a reception device connected to a transmission device via a communication network, wherein a reception step of sequentially receiving a plurality of packets from the transmission device via the communication network; An accumulation step for temporarily accumulating digital data included in each of the plurality of packets in a reception buffer, a frequency generation step for generating a reception-side sampling frequency fr, and an accumulation in the reception buffer according to the reception-side sampling frequency fr For each packet group G n (n is a natural number) composed of a predetermined number k (k ≧ 2) packets determined on the receiving side, A reception interval ΔTr indicating the time required to receive k packets in the step, and the k packets. A reading interval ΔTo indicating the time required to read the digital data contained in each from the reception buffer is obtained, and the reception-side sampling frequency fr in the packet group Gn is calculated based on the following conditions: And a receiving / reproducing method including a correcting step for correcting.
fr = fr ′ × (ΔTo ÷ ΔTr)
Here, fr ′ is the reception-side sampling frequency in the packet group G (n−1).
本願第5発明は、送信装置に通信網を介して接続された受信装置に用いられる受信再生プログラムであって、前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信手段、前記複数のパケットそれぞれに含まれるディジタルデータを一時的に蓄積する受信バッファ、受信側サンプリング周波数frを生成する周波数生成手段、前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換手段、及び、受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信手段がk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正手段としてコンピュータを機能させるための受信再生プログラムを提供する。
fr=fr’×(ΔTo÷ΔTr)
ここで、fr’はパケット群G (n−1) における受信側サンプリング周波数。
A fifth invention of the present application is a reception reproduction program used for a reception device connected to a transmission device via a communication network, the reception means sequentially receiving a plurality of packets from the transmission device via the communication network, A reception buffer for temporarily storing digital data included in each of a plurality of packets, frequency generation means for generating a reception-side sampling frequency fr, and reading out the digital data stored in the reception buffer according to the reception-side sampling frequency fr; For each packet group G n (n is a natural number) composed of conversion means for converting into analog data and a predetermined number k (k ≧ 2) packets determined on the receiving side, the receiving means includes k pieces A reception interval ΔTr indicating the time required to receive a packet, and a digital included in each of the k packets. The reading interval ΔTo indicating the time required to read the total data from the reception buffer is acquired, and the computer is caused to function as correction means for calculating the reception-side sampling frequency fr in the packet group G n based on the following conditions: A receiving / reproducing program is provided.
fr = fr ′ × (ΔTo ÷ ΔTr)
Here, fr ′ is the receiving-side sampling frequency in the packet group G (n−1) .
本願第6発明は、送信装置に通信網を介して接続された受信装置に用いられる受信再生プログラムを記録した、コンピュータ読み取り可能な記録媒体であって、前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信ステップと、前記複数のパケットそれぞれに含まれるディジタルデータを一時的に受信バッファに蓄積する蓄積ステップと、受信側サンプリング周波数frを生成する周波数生成ステップと、前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換ステップと、受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信ステップでk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正する補正ステップとを実行するための受信再生プログラムを記録した、コンピュータ読み取り可能な記録媒体を提供する。
fr=fr’×(ΔTo÷ΔTr)
ここで、fr’はパケット群G (n−1) における受信側サンプリング周波数。
A sixth invention of the present application is a computer-readable recording medium in which a reception / playback program used in a reception device connected to a transmission device via a communication network is recorded, wherein a plurality of packets are transmitted via the communication network. A reception step for sequentially receiving from the transmission device; a storage step for temporarily storing digital data contained in each of the plurality of packets in a reception buffer; a frequency generation step for generating a reception-side sampling frequency fr; and the reception-side sampling A packet group G n composed of a conversion step of reading digital data stored in the reception buffer according to the frequency fr and converting it into analog data, and a predetermined number k (k ≧ 2) packets determined on the reception side (n is a natural number) for each, to receive the k packets in the receiving step A reception interval ΔTr indicating the time that the k pieces of digital data packets are included in each acquired a read interval ΔTo indicating the time required to read from the receive buffer, the based on the following conditions recording the received reproducing program for executing a correction step of correcting for calculating the reception side sampling frequency fr in the packet group G n, and a computer-readable recording medium.
fr = fr ′ × (ΔTo ÷ ΔTr)
Here, fr ′ is the receiving-side sampling frequency in the packet group G (n−1) .
本願第7発明は、放送システムであって、音声入力手段と、前記音声入力手段に接続され、入力された音声を送信側サンプリング周波数fsに基づいてサンプリングすることによりディジタル音声データに変換し、前記ディジタル音声データを含むパケットを順次伝送路に出力する音声送信手段と、前記音声送信手段と前記伝送路を介して接続され、前記ディジタル音声データを受信側サンプリング周波数frに基づいてアナログ音声データに変換する音声受信手段と、前記音声受信手段に接続され、前記アナログ音声データを出力する音声出力手段とを含む放送システムを提供する。ここで、前記音声受信手段は、複数のパケットを前記送信装置から順次受信する受信手段と、前記複数のパケットそれぞれに含まれるディジタルデータを一時的に蓄積する受信バッファと、受信側サンプリング周波数frを生成する周波数生成手段と、前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換手段と、受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信手段がk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正手段とを有するものである。
fr=fr’×(ΔTo÷ΔTr)
ここで、fr’はパケット群G (n−1) における受信側サンプリング周波数。
The seventh invention of the present application is a broadcasting system, which is connected to the voice input means and the voice input means, and converts the input voice into digital voice data by sampling based on the transmission side sampling frequency fs, Voice transmission means for sequentially outputting packets including digital voice data to the transmission path, and connected to the voice transmission means via the transmission path, and converting the digital voice data into analog voice data based on the sampling frequency fr on the receiving side And a voice output unit connected to the voice receiving unit and outputting the analog voice data. Here, the voice receiving means includes a receiving means for sequentially receiving a plurality of packets from the transmitting device, a receiving buffer for temporarily storing digital data included in each of the plurality of packets, and a receiving-side sampling frequency fr. A frequency generation means for generating, a conversion means for reading out digital data stored in the reception buffer according to the reception side sampling frequency fr and converting it into analog data, and a predetermined number k (k ≧ 2) determined on the reception side For each packet group G n (n is a natural number) composed of packets , the reception means includes a reception interval ΔTr indicating the time required for receiving k packets, and each of the k packets. get a read interval ΔTo indicating the time required for digital data to read from the receive buffer being, Based on the following conditions and has a correction means for calculating a reception side sampling frequency fr in the packet group G n.
fr = fr ′ × (ΔTo ÷ ΔTr)
Here, fr ′ is the receiving-side sampling frequency in the packet group G (n−1) .
本発明を用いれば、送信装置側からパケット送信時刻、パケット送信間隔等の送信側サンプリング周波数fsに関連する時刻情報を受信装置側に送信することなく、受信側サンプリング周波数frの補正を行うことができる。 By using the present invention, the reception side sampling frequency fr can be corrected without transmitting time information related to the transmission side sampling frequency fs such as packet transmission time and packet transmission interval from the transmission side to the reception side. it can.
<発明の概要>
本発明では、送信装置から送信されるパケットが受信装置の受信部で受信されるときの受信間隔と、パケットに含まれるディジタルデータが受信バッファから読み出されるときの読出間隔とに基づいて受信側サンプリング周波数frを補正する。
図1は、本発明の概要を示す概念説明図である。ここでは、パケット100個を1つのパケット群として受信間隔及び読出間隔を算出するものとする。受信装置の受信部が、時刻Tr0〜Tr1の間にパケットP0〜P100を順次受信する。受信部で受信されたパケットP0〜P100に含まれるディジタルデータは、受信バッファに一時的に蓄積され、時刻To0からTo1の間に受信バッファから読み出される。ここで、パケットP0とパケットP100との受信時刻から1つのパケット群を構成するパケット100個を受信するのに要する時間として、受信間隔ΔTr1=Tr1−Tr0が算出される。また、パケットP0とパケットP100とに含まれるディジタルデータの読出時刻からパケット100個に含まれるディジタルデータを読み出すのに要する時間として、読出間隔ΔTo1=To1−To0が算出される。次に、受信間隔ΔTr1と読出間隔ΔTo1との差を検出し、この差が小さくなるように受信側サンプリング周波数frを補正する。同様に、次の100個のパケットについても同様の処理を行う。ここで、次のパケット群の受信間隔ΔTr2は、パケットP100とパケットP200との受信時刻の差からΔTr2=Tr2−Tr1として算出される。また、次のパケット群の読出間隔ΔTo2は、パケットP100とパケットP200とに含まれるディジタルデータの読出時刻の差からΔTo2=To2−To1として算出される。そして、受信間隔ΔTr1と読出間隔ΔTo1との差が小さくなるように受信側サンプリング周波数frを補正する。以上のように、100個のパケット単位で同様の処理を繰り返し行うことで、送信装置と受信装置とのサンプリング周波数の誤差による受信バッファのオーバーフローやアンダーフローを防止し、再生されるデータの品質を高めることができる。
<Outline of the invention>
In the present invention, the sampling on the receiving side is performed based on the reception interval when the packet transmitted from the transmission device is received by the reception unit of the reception device and the reading interval when the digital data included in the packet is read from the reception buffer. The frequency fr is corrected.
FIG. 1 is a conceptual explanatory diagram showing an outline of the present invention. Here, it is assumed that the reception interval and the reading interval are calculated with 100 packets as one packet group. The receiving unit of the receiving apparatus sequentially receives the packets P 0 to P 100 during the times Tr 0 to Tr 1 . The digital data included in the packets P 0 to P 100 received by the receiving unit is temporarily stored in the reception buffer, and is read from the reception buffer between times To 0 and To 1 . Here, the reception interval ΔTr 1 = Tr 1 −Tr 0 is calculated as the time required to receive 100 packets constituting one packet group from the reception times of the packets P 0 and P 100 . Further, a reading interval ΔTo 1 = To 1 −To 0 is calculated as the time required to read the digital data contained in 100 packets from the reading time of the digital data contained in the packets P 0 and P 100 . Next, the difference between the reception interval ΔTr 1 and the reading interval ΔTo 1 is detected, and the reception-side sampling frequency fr is corrected so as to reduce this difference. Similarly, the same processing is performed for the next 100 packets. Here, the reception interval ΔTr 2 of the next packet group is calculated as ΔTr 2 = Tr 2 −Tr 1 from the difference in reception time between the packet P 100 and the packet P 200 . Further, the reading interval ΔTo 2 of the next packet group is calculated as ΔTo 2 = To 2 −To 1 from the difference in reading time of the digital data included in the packet P 100 and the packet P 200 . Then, the reception side sampling frequency fr is corrected so that the difference between the reception interval ΔTr 1 and the reading interval ΔTo 1 becomes small. As described above, by repeating the same processing in units of 100 packets, the overflow and underflow of the reception buffer due to the sampling frequency error between the transmission device and the reception device can be prevented, and the quality of the reproduced data can be improved. Can be increased.
上記のように、受信側サンプリング周波数frの補正は、送信装置からパケット送信間隔などの時刻情報を受信することなく、受信装置で取得した受信間隔及び読出間隔に基づいて行われる。よって、送信装置及び受信装置間で時刻情報を送受信する必要がなく、受信装置のみで受信側サンプリング周波数frの補正を行うことができる。
<第1実施形態例>
次に、本発明の受信装置を適用した音声通信システムについて、第1実施形態例を挙げて詳細に説明する。以下では、所定数k(kは自然数でk≧2)個のパケットを1つのパケット群として受信間隔及び読出間隔を算出するものとする。
[構成]
図2は、第1実施形態例に係る音声通信システムの構成を示すブロック図である。音声通信システム10は、送信装置1と受信装置2とがLANなどのネットワーク3により接続されて構成されている。なお、図2では、ネットワーク3に接続されている送信装置1及び受信装置2はそれぞれ1つしか示されていないが、通常は複数の送信装置1及び受信装置2がネットワーク3に接続される。また、送信装置1と受信装置2とは、一体に構成されていても良い。
As described above, the correction of the reception-side sampling frequency fr is performed based on the reception interval and reading interval acquired by the reception device without receiving time information such as a packet transmission interval from the transmission device. Therefore, it is not necessary to transmit / receive time information between the transmission device and the reception device, and the reception-side sampling frequency fr can be corrected only by the reception device.
<First embodiment>
Next, a voice communication system to which the receiving apparatus of the present invention is applied will be described in detail with reference to the first embodiment. In the following, it is assumed that a predetermined number k (k is a natural number and k ≧ 2) packets are used as one packet group to calculate the reception interval and the reading interval.
[Constitution]
FIG. 2 is a block diagram showing the configuration of the voice communication system according to the first embodiment. The
送信装置1は、入力部11、増幅器13、ADC15、入力バッファ17、符号化部19、送信バッファ21、送信部23及びVCO25を有している。マイクなどの入力部11に入力された音声は、アナログ音声信号に変換される。このアナログ音声信号は、増幅器13により増幅され、VCO25が発生するサンプリング周波数fsに基づいてADC15によりディジタル音声データに変換され、入力バッファ17に蓄積される。符号化部19は、入力バッファ17に蓄積されているディジタル音声データを圧縮音声符号化情報に符号化し、送信バッファ21に蓄積する。なお、VCO25は、印加電圧により発生するサンプリング周波数fsを変化させることができる。送信部23は、送信バッファ21の圧縮音声符号化情報をパケットに組み立て、一定の時間間隔でネットワーク3に送出する。
The
受信装置2は、受信部31、受信時刻取得部33、受信バッファ35、受信バッファ監視部37、読出部39、復号化部41、再生バッファ43、読出時刻取得部45、DAC47、増幅器49、出力部51、補正部53及びVCO55を有している。ネットワーク3に送出されたパケットは、受信部31により受信され分解される。分解された圧縮音声符号化情報は、受信バッファ35に格納される。読出部39は、後述の読出時刻取得部45が1パケット分のディジタル音声データをカウントする毎に起動し、1パケット分の圧縮音声符号化情報を受信バッファ35から復号化部41に出力する。そして、圧縮音声符号化情報は、復号化部41により復号化及び伸長され、ディジタル音声データになる。このディジタル音声データは、再生バッファ43に格納される。そして、読出時刻取得部45は、受信側サンプリング周波数frで再生バッファ43からディジタル音声データを読み出す。そして、読み出されたディジタル音声データは、DAC47により受信側サンプリング周波数frでアナログ音声信号に変換される。この受信側サンプリング周波数frは、VCO55により生成される。アナログ音声信号は、増幅器49により増幅され、スピーカなどの出力部51から空気中に拡声される。受信バッファ監視部37は、受信バッファ35内のデータ量を監視する。ここで、送信装置1側の符号化部19が省略される場合、受信装置2の復号化部41を省略することができる。スピーカなどの出力部51は、受信装置2と独立に設けてもよい。
The
受信時刻取得部33は、1つのパケット群を構成する所定数k個(kは自然数でk≧2)のパケットが受信部31において受信される毎に、つまり所定数k個毎にパケットの受信時刻を取得する。そして、それぞれの受信時刻の差から1つのパケット群を構成する所定数k個のパケットを受信するのに要する時間として受信間隔を算出する。
読出時刻取得部45は、DAC47により再生バッファ43から読み出されてアナログ変換された後、再生されるディジタル音声データ(以下、再生データ)の1パケット分をカウントする。再生データ量のカウントは、例えば、1パケット分のディジタル音声データが再生される毎に発生する割り込みをカウントすることにより行う。また、読出時刻取得部45は、再生データを1パケット分カウントする毎に読出部39を呼出し、読出部39に次の1パケット分の圧縮音声符号化情報を受信バッファ35から読み出させる。さらに、読出時刻取得部45は、1つのパケット群を構成する所定数k個のパケットに含まれる圧縮音声符号化情報が受信バッファ35から読み出される毎に、つまり再生データを所定数k個分カウントする毎に読出時刻を取得する。そして、取得した読出時刻の差から1つのパケット群を構成する所定数k個のパケットに含まれる圧縮音声符号化情報を読み出すのに要する時間として読出間隔を算出する。
The reception
The read
補正部53は、受信時刻取得部33及び読出時刻取得部45から受信間隔及び読出間隔を取得し、受信間隔と読出間隔との誤差が小さくなるように受信側サンプリング周波数frを補正する。
上記の受信装置は、送信装置から受信装置へのパケットの送信間隔に応答してパケットを受信する。つまり、パケットの受信間隔は、パケットの送信間隔に応答している。また、送信側サンプリング周波数fsはパケットの送信間隔と反比例する関係にある。同様に、受信側サンプリング周波数frは、パケットの読出間隔と反比例する関係にある。よって、受信間隔と読出間隔との誤差を小さくするように受信側サンプリング周波数frを補正することで、受信側サンプリング周波数frを送信側サンプリング周波数fsに近づけることができる。そのため、送信側及び受信側でのサンプリング周波数の誤差に起因するアンダーフローやオーバーフローを抑制し、再生されるデータの品質を高めることができる。
The
The receiving device receives a packet in response to a transmission interval of packets from the transmitting device to the receiving device. That is, the packet reception interval responds to the packet transmission interval. Further, the transmission side sampling frequency fs is inversely proportional to the packet transmission interval. Similarly, the receiving-side sampling frequency fr is inversely proportional to the packet reading interval. Therefore, the reception-side sampling frequency fr can be brought close to the transmission-side sampling frequency fs by correcting the reception-side sampling frequency fr so as to reduce the error between the reception interval and the reading interval. Therefore, underflow and overflow caused by sampling frequency errors on the transmission side and the reception side can be suppressed, and the quality of reproduced data can be improved.
また、補正部53は、受信間隔と読出間隔とが所定の関係になるように受信側サンプリング周波数frを補正しても良い。つまり、受信間隔と読出間隔とが1:1の関係に限定されず、例えば1:2、1:3等の所定の関係になるように受信側サンプリング周波数frを補正する。このように補正することで、受信側サンプリング周波数frと送信側サンプリング周波数fsとを所定の関係にすることができる。よって、例えば2倍速、3倍速などの読み出しに対応しつつ、アンダーフローやオーバーフローを抑制することができる。
The
以下に、受信間隔と読出間隔とが1:1の関係になるように受信側サンプリング周波数frを補正する場合を例に挙げ、受信間隔及び読出間隔の取得方法及び受信側サンプリング周波数frの補正についてより詳細に説明する。
(1)受信間隔及び読出間隔の算出方法
まず、受信間隔及び読出間隔の取得方法について図3を用いてより詳細に説明する。ここで、受信部31は、最初のパケットP0から順次パケットP1、パケットP2…を受信しており、所定数k個のパケットによりパケット群G1、パケット群G2…パケット群Gnが構成される。ここで、パケットPの添字は、パケットの送信順を表す番号であり、パケット群Gnの添字は、パケット群の送信順を表す番号である。さらに、受信時刻Trn、読出間隔Ton、受信間隔ΔTrn、読出間隔ΔTonの各添字は、パケット群Gnの添字に対応している。また、添字nは、0以上の自然数である。以下、各パケット群毎に受信時間及び読出時間の算出方法を説明する。
a)1番目のパケット群G1について
受信時刻取得部33は、1番目のパケット群G1に含まれる最初のパケットP0の受信部31での受信時刻Tr0を取得する。次に、最初のパケットP0からk個目のパケットPkの受信部31での受信時刻Tr1を取得する。そして、受信時刻取得部33は、受信時刻Tr1とTr0との差から1番目のパケット群G1を構成する所定数k個のパケットを受信するのに要した時間として、受信間隔ΔTr1=Tr1−Tr0を算出する。
In the following, a case where the reception-side sampling frequency fr is corrected so that the reception interval and the reading interval have a 1: 1 relationship will be described as an example. This will be described in more detail.
(1) Calculation Method for Reception Interval and Read Interval First, a method for obtaining a reception interval and a read interval will be described in more detail with reference to FIG. Here, the
a) Regarding the first packet group G 1 The reception
一方、読出時刻取得部45は、最初のパケットP0に含まれる圧縮音声符号化情報が受信バッファ35から読み出される読出時刻To0を取得する。次に、最初のパケットP0からk個目のパケットPkに含まれる圧縮音声符号化情報の読出時刻To1を取得する。そして、読出時刻取得部45は、読出時刻To1とTo0との差から1番目のパケット群G1を構成する所定数k個のパケットに含まれる圧縮音声符号化情報を読み出すのに要した時間として、読出間隔ΔTo1=To1−To0を算出する。
b)2番目のパケット群について
2番目のパケット群G2に含まれる最初のパケットの受信時刻として、1番目のパケット群G1の最後のパケットPkの受信時刻Tr1が用いられる。次に、受信時刻取得部33は、パケットPkからk個目のパケットP2kの受信部31での受信時刻Tr2を取得する。そして、受信時刻取得部33は、受信時刻Tr2とTr1との差から2番目のパケット群G2の受信間隔ΔTr2=Tr2−Tr1を算出する。
On the other hand, the read
b) for the second packet group as the reception time of the first packet included in the second packet group G 2, reception time Tr 1 of the first of the last packet P k packet group G 1 it is used. Next, the reception
同様に、読出時刻取得部45は、パケットPkに含まれる圧縮音声符号化情報の読出時刻To1と、パケットP2kに含まれる圧縮音声符号化情報の読出時刻To2との差から読出間隔ΔTo2=To2−To1を算出する。
c)n番目のパケット群について
受信時刻取得部33は、n番目のパケット群Gnに含まれる最初のパケットP(n-1)kの受信部31での受信時刻Tr(n-1)を取得する。次に、最初のパケットP(n-1)kからk個目のパケットPnkの受信部31での受信時刻Trnを取得する。そして、受信時刻取得部33は、受信時刻TrnとTr(n-1)との差からn番目のパケット群Gnを構成する所定数k個のパケットを受信するのに要した時間として、受信間隔ΔTrn=Trn−Tr(n-1)を算出する。ここで、P(n-1)kは、パケット群G(n-1)に含まれる最後のパケットである。
Similarly, the read
c) About the n-th packet group The reception
一方、読出時刻取得部45は、読出時刻取得部45は、パケットP(n-1)kに含まれる圧縮音声符号化情報の読出時刻To(n-1)と、パケットPnkに含まれる圧縮音声符号化情報の読出時刻Tonとの差から読出間隔ΔTon=Ton−To(n-1)を算出する。
(2)受信側サンプリング周波数frの補正
補正部53は、受信時刻取得部33から取得した受信間隔と読出時刻取得部45から取得した読出間隔との誤差が小さくなるように、次のように受信側サンプリング周波数frを補正する。
a)1番目のパケット群G1について
1番目のパケット群G1における補正後の受信側サンプリング周波数fr1は、次式のように算出される。
On the other hand, the read
(2) Correction of Receiving-Sampling Frequency fr The
a) the receiving side the sampling frequency fr 1 corrected for the first packet group G 1 in the first packet group G 1 is calculated by the following equation.
fr1=fr0×(ΔTo1÷ΔTr1)
ここで、fr0:補正前の受信側サンプリング周波数である。
b)2番目のパケット群G2について
2番目のパケット群G2における補正後の受信側サンプリング周波数fr2は、次式のように算出される。
fr 1 = fr 0 × (ΔTo 1 ÷ ΔTr 1 )
Here, fr 0 is the reception-side sampling frequency before correction.
b) the receiving side the sampling frequency fr 2 after correction for the second packet group G 2 in the second packet group G 2 is calculated by the following equation.
fr2=fr1×(ΔTo2÷ΔTr2)
ここで、fr1:1番目のパケット群G1における補正後の受信側サンプリング周波数である。
c)n番目のパケット群G2について
n番目のパケット群Gnにおける補正後の受信側サンプリング周波数frnは、次式のように算出される。
fr 2 = fr 1 × (ΔTo 2 ÷ ΔTr 2 )
Here, fr 1 is the reception-side sampling frequency after correction in the first packet group G 1 .
c) About the n-th packet group G 2 The corrected reception-side sampling frequency fr n in the n-th packet group G n is calculated as follows.
frn=fr(n-1)×(ΔTon÷ΔTrn)
ここで、fr(n-1):n−1番目のパケット群G(n-1)における補正後の受信側サンプリング周波数である。
[パケット構成]
図4(a)に、送受信されるパケットの構成例を示す。パケットには、IPヘッダ、UDPヘッダ及び音声ディジタルデータが含まれている。IPヘッダには、送信元のIPアドレス、送信先のIPアドレスなどが記述されている。UDPヘッダには、送信元ポート番号、送信先ポート番号、メッセージ長などが記述されている。なお、IPパケットのデータ部にUDPパケットではなくTCPパケットを用いることもでき、その場合にはUDPヘッダに代えてTCPヘッダが用いられる。
fr n = fr (n−1) × (ΔTo n ÷ ΔTr n )
Here, fr (n- 1) is the corrected reception-side sampling frequency in the (n-1) th packet group G (n-1) .
[Packet structure]
FIG. 4A shows a configuration example of a packet to be transmitted / received. The packet includes an IP header, a UDP header, and voice digital data. In the IP header, a source IP address, a destination IP address, and the like are described. In the UDP header, a transmission source port number, a transmission destination port number, a message length, and the like are described. Note that a TCP packet can be used instead of a UDP packet in the data portion of the IP packet. In this case, a TCP header is used instead of the UDP header.
送受信されるパケットの別の構成例を図4(b)に示す。図4(b)に示すパケットには、さらにRTPヘッダが含まれている。RTPヘッダには、例えば下記の情報が含まれている。
a)バージョン
b)パディング
c)CSRC:CSRC識別子を何個含んでいるかを示す。
FIG. 4B shows another configuration example of the transmitted / received packet. The packet shown in FIG. 4B further includes an RTP header. The RTP header includes the following information, for example.
a) Version b) Padding c) CSRC: Indicates how many CSRC identifiers are included.
d)ペイロードタイプ
e)シーケンシャル番号:パケットの順番を示す。
g)SSRC:送信装置の識別子
h)CSRC:元の送信者の識別子リスト。
図4(b)のようにパケットが構成されている場合、受信時刻取得部33及び読出時刻取得部45は、シーケンシャル番号に基づいて受信時刻及び読出時刻を取得する。
[処理]
次に、前記構成を有する受信装置2が行う処理の流れについて詳細に説明する。受信装置2は、受信処理、再生処理、受信時刻取得処理、読出時刻取得処理及び補正処理の5つの処理を実行する。以下、これらの処理について、図面を参照しつつ具体的に説明する。
(1)受信処理
図5は、受信装置2が行う受信処理の流れの一例を示すフローチャートである。受信装置2は、送信装置1から通信の開始を示すコマンドを受信することにより、以下の処理を開始する。
d) Payload type e) Sequential number: Indicates the order of packets.
g) SSRC: transmitting device identifier h) CSRC: original sender identifier list.
When the packet is configured as shown in FIG. 4B, the reception
[processing]
Next, the flow of processing performed by the receiving
(1) Reception Processing FIG. 5 is a flowchart illustrating an example of the flow of reception processing performed by the
ステップS1:受信部31は、通信の終了を示すコマンドを送信装置1から受信するまで、以下のステップS2〜S6までの処理を行う。通信の終了を示すコマンドを受信すると、処理を終了する。
ステップS2:受信部31は、パケットを待機しており、パケットを受信すると、ステップS3に移行する。
Step S1: The receiving
Step S2: The receiving
ステップS3、S4:受信バッファ監視部37は、受信バッファ35に新たな圧縮音声符号化情報を書き込む空きメモリがあるか否かを判断する(S3)。空きメモリがあれば、受信部31は、受信したパケットを受信バッファ35に格納する(S4)。
ステップS5、S6:受信バッファ35に空きメモリがない場合、受信部31は、受信バッファ35内に蓄積されている古い圧縮音声符号化情報を破棄し(S5)、新たに受信したパケットの圧縮音声符号化情報を受信バッファ35に書き込む(S6)。
Steps S3 and S4: The reception
Steps S5 and S6: When there is no free memory in the
以上の処理により、受信バッファ35に次々に圧縮音声符号化情報を蓄積する。なお、上記ステップS1では、送信装置1から通信の終了を示すコマンドを受信する場合を記載したが、受信装置2内のコマンドに基づいて通信を終了しても良い。また、上記ステップS5及びS6においては、古い圧縮音声符号化情報を受信バッファ35に保持しておき、新たに受信したパケットの圧縮音声符号化情報を破棄しても良い。
(2)再生処理
図6は、受信装置2が行う再生処理の流れの一例を示すフローチャートである。受信装置2は、送信装置1から通信の開始を示すコマンドを受信することにより、以下の処理を開始する。
Through the above processing, the compressed audio coding information is accumulated in the
(2) Reproduction Process FIG. 6 is a flowchart illustrating an example of the flow of the reproduction process performed by the
ステップS11:受信バッファ監視部37は、再生開始条件が満たされたか否かを判断する。再生開始条件の一例としては、「受信バッファ35に蓄積される圧縮音声符号化情報のデータ量≧しきい値D1」が挙げられる。しきい値D1としては、ネットワーク負荷や再生速度を考慮した上で、通信システムに適合する経験値を求める。
ステップS12:受信バッファ監視部37は、再生開始条件が満たされた場合は、読出部39に再生開始信号を送信する。再生開始信号を受信した読出部39は、音声の再生処理を開始させる。
Step S11: The reception
Step S12: The reception
ステップS13:受信装置2が、通信の終了を示すコマンドを送信装置1から受信するまで、以下のステップS14〜S17までの再生処理を行う。通信の終了を示すコマンドを受信すると、再生処理を終了する。
ステップS14:再生が継続している場合は、読出部39は、読出時刻取得部45の呼出に応答して、受信バッファ35から圧縮音声符号化情報を1パケット分ずつ読み出す。ついで、復号化部41は、1パケットに含まれている圧縮音声符号化情報を、順次伸長及び復号化し、再生バッファ43に格納する。再生バッファ43に格納されたディジタル音声データは、DAC47により補正後の受信側サンプリング周波数frに基いてアナログ音声信号に変換され、増幅器49により増幅されて出力部51から空気中に拡声される。1パケットに含まれる圧縮音声符号化情報を全てアナログデータに変換して出力するまで、再生を行う。
Step S13: Until the
Step S14: When the reproduction is continued, the
ステップS15、S16:1パケット分の再生が終了すると、受信バッファ監視部37は、受信バッファ35内に蓄積されている圧縮音声符号化情報があるか否かを判断する(S15)。受信バッファ35に圧縮音声符号化情報が蓄積されている場合は、読出部39は、1パケット分の圧縮音声符号化情報を受信バッファ35から読み出す(S16)。
ステップS17:受信バッファ35に圧縮音声符号化情報が蓄積されていない場合は、読出部39は、受信バッファ監視部37からの指示により1パケット分の無音データを再生バッファ43に挿入する。
Steps S15 and S16: When the reproduction of one packet is completed, the reception
Step S17: When the compressed audio coding information is not stored in the
なお、上記では、送信装置1から通信の開始又は通信終了を示すコマンドを受信する場合を記載したが、受信装置2内のコマンドに基づいて通信を開始又は終了しても良い。
(3)受信時刻取得処理
図7は、受信装置2が行う受信時刻取得処理の流れの一例を示すフローチャートである。受信時刻取得部33は、前述の通り、1つのパケット群を構成する所定数k個のパケット毎に受信部31での受信時刻を取得する。
In the above description, the case where a command indicating the start or end of communication is received from the
(3) Reception Time Acquisition Process FIG. 7 is a flowchart illustrating an example of the flow of the reception time acquisition process performed by the
ステップS21:パケット群の送信順を表すパケット群Gnの添字nの初期値として、n=0に設定する。
ステップS22、S23:受信部31は、1番目のパケット群G1に含まれる最初のパケットP0を受信する(S22)。そして、受信時刻取得部33は、1番目のパケット群G1に含まれる最初のパケットP0の受信部31での受信時刻Tr0を取得する(S23)。
Step S21: n = 0 is set as the initial value of the subscript n of the packet group G n indicating the transmission order of the packet group.
Steps S22 and S23: The receiving
ステップS24:nの値を加算する。
ステップS25:受信装置2が、通信の終了を示すコマンドを送信装置1から受信するまで、ステップS24〜S30までの受信時刻取得処理を行う。通信の終了を示すコマンドを受信すると、受信時刻取得処理を終了する。
ステップS26、S27:受信部31は、順次、パケットを受信する(S26)。受信時刻取得部33は、受信部31がパケットを受信するたびにパケット数をカウントする(S27)。
Step S24: The value of n is added.
Step S25: Until the
Steps S26 and S27: The receiving
ステップS28:受信時刻取得部33は、1つのパケット群を構成するパケットの所定数kをカウントしたかどうかを判定する。所定数kをカウントしていなければ、ステップS25に戻り、受信部31によりさらにパケットを受信する。
ステップS29:受信時刻取得部33は、所定数kをカウントしていれば、所定数kをカウント後に受信部31において受信されたパケットの受信時刻Trnを取得する。ここで、受信時刻取得部33は、1番目のパケット群G1における所定数kカウント後の受信時刻としてTr1を取得する。また、この受信時刻Tr1は、2番目のパケット群G2における最初のパケットの受信時刻となる。つまり、n番目のパケット群Gnにおける最初のパケットの受信時刻としてTr(n-1)を取得し、所定数kカウント後の受信時刻としてTrnを取得する。
Step S28: The reception
Step S29: If the predetermined number k is counted, the reception
ステップS30:受信時刻取得部33は、最初のパケットの受信時刻と所定数kカウント後のパケットの受信時刻との差から受信間隔を算出する。n番目のパケット群Gnにおける受信間隔としてΔTrn=Trn−Tr(n-1)が算出される。
なお、上記では、送信装置1から通信開始又は通信終了を示すコマンドを受信する場合を記載したが、受信装置2内のコマンドに基づいて通信を開始又は終了しても良い。
(4)読出時刻取得処理
図8は、受信装置2が行う読出時刻取得処理の流れの一例を示すフローチャートである。読出時刻取得部45は、受信時刻取得部33と同様に、1つのパケット群を構成する所定数k個のパケットに含まれる圧縮音声符号化情報を、受信バッファ35から読み出すのに応答してその読出時刻を取得する。つまり、読出時刻取得部45は、再生データを所定数k個分カウントする毎に読出時刻を取得する。
Step S30: The reception
In the above description, a case where a command indicating communication start or communication end is received from the
(4) Reading Time Acquisition Process FIG. 8 is a flowchart illustrating an example of a reading time acquisition process performed by the receiving
ステップS31:パケット群の送信順を表すパケット群Gnの添字nの初期値として、n=0に設定する。
ステップS32、S33:読出時刻取得部45は、最初の再生データを1パケット分カウントすると、読出部39を呼び出す。読出部39は、その呼出に応答して1番目のパケット群G1に含まれる最初のパケットP0に含まれる圧縮音声符号化情報を受信バッファ35から読み出す(S32)。そして、読出時刻取得部45は、1番目のパケット群G1に含まれる最初のパケットP0に含まれる圧縮音声符号化情報の読出時刻Tr0を取得する(S33)。
Step S31: n = 0 is set as the initial value of the subscript n of the packet group G n indicating the transmission order of the packet group.
Steps S32 and S33: The reading
ステップS34:次に、nの値を加算する。
ステップS35:受信装置2が、通信の終了を示すコマンドを送信装置1から受信するまで、ステップS34〜S40までの読出時刻取得処理を行う。通信の終了を示すコマンドを受信すると、読出時刻取得処理を終了する。
ステップS36、S37:読出時刻取得部45は、DAC47により再生バッファ43から読み出されてアナログ変換された後、再生される再生データをカウントする(S36)。読出時刻取得部45は、再生データを1パケット分カウントする毎に読出部39を呼出し、読出部39は、読出時刻取得部45の呼出に応答して受信バッファ35から順次、圧縮音声符号化情報を読み出す(S37)。ここで、受信バッファ35内に圧縮音声符号化情報が蓄積されていない場合は、再生バッファ43には無音データが挿入されており、読出時刻取得部45は、再生データのカウントと同様に無音データをカウントする。
Step S34: Next, the value of n is added.
Step S35: Read time acquisition processing from steps S34 to S40 is performed until the
Steps S36 and S37: The read
ステップS38:読出時刻取得部45は、1つのパケット群を構成するパケットの所定数k分だけ、再生データ量をカウントしたかどうかを判定する。所定数kをカウントしていなければ、ステップS35に戻り、読出部49によりさらに圧縮音声符号化情報を読み出す。
ステップS39:読出時刻取得部45は、所定数kをカウントしていれば、所定数kをカウント後に受信バッファから読み出された圧縮音声符号化情報の読出時刻Tonを取得する。なお、受信バッファ35内に圧縮音声符号化情報が蓄積されておらず、無音データが再生バッファ43に挿入されている場合は、読出部49が無音データを挿入した時刻を圧縮音声符号化情報の読出時刻として取得する。あるいは、読出時刻取得部45が読出部39を呼び出した時刻を読出時刻として取得する。ここで、読出時刻取得部45は、1番目のパケット群G1における所定数kカウント後の圧縮音声符号化情報の読出時刻としてTo1を取得する。また、この読出時刻To1は、2番目のパケット群G2における最初のパケットに含まれる圧縮音声符号化情報の読出時刻となる。つまり、n番目のパケット群Gnにおける最初のパケットの読出時刻としてTo(n-1)を取得し、所定数kカウント後の読出時刻としてTonを取得する。
Step S38: The read
Step S39: If the predetermined number k is counted, the reading
ステップS40:読出時刻取得部45は、最初のパケットに含まれる圧縮音声符号化情報の読出時刻と、所定数kカウント後のパケットに含まれる圧縮音声符号化情報の読出時刻との差から読出間隔を算出する。よって、n番目のパケット群Gnにおける読出間隔としてΔTon=Ton−To(n-1)が算出される。
なお、上記では、送信装置1から通信開始又は通信終了を示すコマンドを受信する場合を記載したが、受信装置2内のコマンドに基づいて通信を開始又は終了しても良い。
(5)補正処理
図9は、補正処理の流れの一例を示すフローチャートである。
Step S40: The read
In the above description, a case where a command indicating communication start or communication end is received from the
(5) Correction Processing FIG. 9 is a flowchart showing an example of the flow of correction processing.
ステップS41:補正部53は、受信時刻取得部33から受信間隔ΔTrnを、読出時刻取得部45から読出間隔ΔTonを取得したかどうかを判定する。
ステップS42:受信間隔及び読出間隔を取得した場合は、受信間隔と読出間隔との誤差が小さくなるように受信側サンプリング周波数frを補正する。ここで、n番目のパケット群Gnにおける補正後の受信側サンプリング周波数をfrnは、次式のように算出される。
Step S41:
Step S42: When the receiving interval and the reading interval are acquired, the receiving side sampling frequency fr is corrected so that the error between the receiving interval and the reading interval is reduced. Here, the corrected receiving side sampling frequency fr n in the n-th packet group G n is calculated as follows.
frn=fr(n-1)×(ΔTon÷ΔTrn)
ここで、fr(n-1):n−1番目のパケット群G(n-1)における補正後の受信側サンプリング周波数である。
より具体的には、補正部53は、VCO55に印加する電圧値Vcを補正することにより受信側サンプリング周波数frnの補正を行っている。例えば、新たな電圧値Vcは、以下のようにして算出することができる。
fr n = fr (n−1) × (ΔTo n ÷ ΔTr n )
Here, fr (n- 1) is the corrected reception-side sampling frequency in the (n-1) th packet group G (n-1) .
More specifically, the
Vc(V)=Vcp+D・Vmax/2F
ここで、Vcp:補正前の電圧値
Vmax:VCO制御電圧の上限
F:VCO制御電圧の振幅(+方向及び−方向)
D=A・(ΔTrn−ΔTon)/ΔTon
A:変換係数
である。
Vc (V) = Vcp + D · Vmax / 2F
Where Vcp: voltage value before correction
Vmax: Upper limit of VCO control voltage
F: Amplitude of VCO control voltage (+ direction and-direction)
D = A · (ΔTr n −ΔTo n ) / ΔTo n
A: Conversion coefficient
It is.
そして、補正部53は、算出した電圧値Vcを、VCO55に出力する。これにより、新たな電圧Vcに基づいて受信側サンプリング周波数frnが生成される。
ステップS43:補正部53は、通信終了の信号を受信していない場合は、次のパケット群についてステップS41〜S43の処理を行う。
ここで、受信側サンプリング周波数frnの補正は、次式のように係数aを用いて行うことができる。
Then, the
Step S43: When the
Here, the correction of the reception-side sampling frequency fr n can be performed using the coefficient a as in the following equation.
frn=fr(n-1)+
a×{fr(n-1)×(ΔTon÷ΔTrn)−fr(n-1)}
このように係数aを与えることで、補正による受信側サンプリング周波数frの変化を緩やかに設定する。例えば、数回の補正により徐々に受信側サンプリング周波数frを送信側サンプリング周波数fsに近づける。よって、補正による音質の急激な変化を和らげ、音質の低下を低減することができる。また、測定誤差がある場合に、測定誤差にすぐに応答して受信側サンプリング周波数frが補正される場合等の誤動作を低減することができる。
fr n = fr (n-1) +
a × {fr (n−1) × (ΔTo n ÷ ΔTr n ) −fr (n−1) }
By giving the coefficient a in this way, a change in the reception-side sampling frequency fr due to the correction is set gently. For example, the reception-side sampling frequency fr is gradually brought closer to the transmission-side sampling frequency fs by several corrections. Therefore, a sudden change in sound quality due to correction can be mitigated, and a decrease in sound quality can be reduced. Further, when there is a measurement error, it is possible to reduce malfunctions such as when the reception-side sampling frequency fr is corrected in response to the measurement error immediately.
また、前述したように、受信間隔と読出間隔とが1:1の関係になるように補正することに限定されず、例えば1:2等の所定の関係になるように受信側サンプリング周波数frを補正しても良い。
[効果]
上記の通り、受信装置2において取得した受信間隔及び読出間隔に基づいて受信側サンプリング周波数frを補正することができる。よって、受信バッファの蓄積量を制御し、オーバーフローやアンダーフローを防止し、再生されるデータの品質を高めることができる。また、受信時刻及び読出時刻は、受信装置側で取得される。よって、送信装置側からパケット送信時刻、パケット送信間隔に関連する時刻情報を受信装置側に送信する必要がない。そのため、送信するパケットのパケット構成を簡略化し、時刻情報のパケットへの組込時刻やパケットのデータ量を削減することで、パケットの伝送効率の向上や使用する帯域幅を減少することができる。
Further, as described above, the correction is not limited to the correction so that the reception interval and the reading interval have a relationship of 1: 1, but the reception-side sampling frequency fr is set so as to have a predetermined relationship such as 1: 2. It may be corrected.
[effect]
As described above, the reception-side sampling frequency fr can be corrected based on the reception interval and reading interval acquired by the
なお、送信装置1から一定間隔でパケットが送信されている必要はなく、不定の間隔でパケットが送信されている場合であっても第1実施形態例を適用可能である。ただし、送信装置1から一定間隔でパケットが送信されている場合は、受信側サンプリング周波数frを補正することにより個々のパケットの受信間隔と読出間隔とを一致させることができる。つまり、上記では受信側サンプリング周波数frの補正はパケット群毎に行われるため、パケット群を構成する個々のパケット毎の受信間隔と読出間隔との差の補正は困難である。しかし、送信装置1から一定間隔でパケットが送信されている場合は、受信側サンプリング周波数frを補正することで、個々のパケットの受信間隔とディジタルデータの読出間隔とを一致させることができる。よって、受信バッファ量が安定し、アンダーフローやオーバーフローの抑制をより細やかに行うことができる。
<第2実施形態例>
第2実施形態例では、アンダーフローやオーバーフローを抑制しつつパケットの欠落、パケットの受信装置への到達の遅れや揺らぎ等のネットワーク障害に対する対策を行う。
[構成]
第2実施形態例に係る音声通信システムの構成は、図2に示す第1実施形態例と同様であるので説明は省略する。また、送信されるパケットは、前記第1実施形態例の図4(b)に示すRTPヘッダを含む。よって、受信部31は、受信したパケットからパケットのシーケンシャル番号SNnを取得する。また、受信バッファ監視部37は、パケットのシーケンシャル番号SNnを監視している。さらに、パケットの欠落、パケットの受信装置への到達の遅れや揺らぎ等のネットワーク障害を検出するために、受信バッファ監視部37は、受信バッファ35内のデータの蓄積量を監視する。
The packets need not be transmitted from the
<Second Embodiment>
In the second embodiment, countermeasures are taken against network failures such as packet loss, packet arrival delay and fluctuation while suppressing underflow and overflow.
[Constitution]
The configuration of the voice communication system according to the second embodiment is the same as that of the first embodiment shown in FIG. Further, the transmitted packet includes the RTP header shown in FIG. 4B of the first embodiment. Therefore, the receiving
以下では、所定数k(kは自然数でk≧2)個のパケットを1つのパケット群として受信間隔及び読出間隔を算出するものとする。また、所定数kのパケットを受信するのに要する受信間隔の平均をΔTravとする。
次に、受信装置2が行う処理の流れについて、ネットワーク障害に対する対策とともに詳細に説明する。まず、ネットワーク障害について説明する。
[ネットワーク障害]
ネットワーク障害により送信装置1から受信するパケットに損失が生じたり、受信パケットの到達時刻が遅延したりする。ネットワーク障害を、例えば(a)パケットロスト、(b)バーストロスト、(c)ゆらぎの3種類に分類し、図10を用いて各々を説明する。図10は、送信装置1から送信され、受信部31において受信されるパケットを時刻の推移とともに示す説明図である。
a)パケットロスト
図10(a)は、パケットロストの説明図である。シーケンシャル番号SN98、SN99のパケットP98、P99は、受信部31において正常に受信される。しかし、送信装置1から送信されるパケットに損失が生じ、シーケンシャル番号SN100、SN101のパケットP100、P101が受信部31において受信できていない。次に、受信部31は、パケットP99の次にシーケンシャル番号SN102のパケットP102を受信する。よって、受信バッファ35には、パケットP100、P101に含まれる有効な圧縮音声符号化情報は格納されず、パケットP100、P101に対応する無効な圧縮音声符号化情報が格納され、受信バッファ35から再生バッファ43へ読み出しが行われている。ここで、受信バッファ35内のデータの蓄積量が“0”にならない場合をパケットロストと定義する。つまり、パケットロストの場合は、損失したパケットのデータ分は受信バッファ35により吸収できる。
b)バーストロスト
図10(b)は、バーストロストの説明図である。シーケンシャル番号SN11のパケットP11までは、受信部31において正常に受信される。しかし、送信装置1から送信されるパケットに損失が生じ、シーケンシャル番号SN12〜SN51までのパケットP12〜パケットP51が受信部31において受信できていない。そして、受信部31は、パケットP11の次にシーケンシャル番号SN52のパケットP52を受信する。ここで、シーケンシャル番号SN12〜SN51までのパケットP12〜パケットP51が受信バッファ35に格納されないことにより、受信バッファ35内のデータの蓄積量が“0”になる場合をバーストロストと定義する。前述のパケットロストとは、パケットの損失が生じた場合に受信バッファ35内のデータの蓄積量が“0”になる点で異なる。
In the following, it is assumed that a predetermined number k (k is a natural number and k ≧ 2) packets are used as one packet group to calculate the reception interval and the reading interval. In addition, an average of reception intervals required to receive a predetermined number k of packets is ΔTrav.
Next, the flow of processing performed by the receiving
[Network failure]
A packet received from the
a) Packet Loss FIG. 10A is an explanatory diagram of packet loss. The packets P 98 and P 99 with sequential numbers SN 98 and SN 99 are normally received by the receiving
b) Burst Lost FIG. 10B is an explanatory diagram of burst lost. Up to the packet P 11 with the sequential number SN 11 is normally received by the receiving
バーストロストが生じた場合、バーストロスト後に受信するパケットが、ネットワーク障害がなければ本来受信される時刻に受信された時は、受信したパケットを受信バッファ35に書き込む。例えば、シーケンシャル番号SN51のパケットP51までのパケットは損失したが、パケットP52が本来受信される時刻に受信された場合は、パケットP52は受信バッファ35に書き込まれる。一方、本来と異なる時刻に受信された場合には、古いパケットが受信されたとして破棄する。
c)ゆらぎ
図10(c)は、ゆらぎの説明図である。シーケンシャル番号SN11のパケットP11までは、受信部31において正常に受信される。しかし、ネットワークのゆらぎなどによりシーケンシャル番号SN11の次のパケットP12が受信部31において受信されるまでに遅延が生じている。ここで、パケットP12の受信部31での受信に遅延が生じることにより、受信バッファ35内のデータの蓄積量が“0”になる場合をゆらぎと定義する。
When burst loss occurs, when a packet received after burst loss is received at a time when it is originally received unless there is a network failure, the received packet is written in the
c) Fluctuation FIG. 10C is an explanatory diagram of fluctuation. Up to the packet P 11 with the sequential number SN 11 is normally received by the receiving
ゆらぎが生じた場合、ゆらぎ後に受信するパケットは、受信部31で本来受信される時刻から遅れ、短い時間間隔で受信される。よって、ゆらぎ後に受信されるパケットが本来の受信時刻に受信されるまで、受信したパケットを破棄する。そして、本来の受信時刻に受信されるようになると、受信したパケットを受信バッファ35に書き込む。
[処理]
次に、各部で行われる処理について説明する。
(1)状態判定処理
まず、パケットの損失や到達時刻の遅延がなくパケットを正常に受信しているか、あるいはネットワーク障害によりパケットロスト、バーストロスト、ゆらぎの状態にあるかについての状態判定処理を説明する。この状態判定処理は、後述の再生処理中に受信バッファ監視部37により行われる。以下、受信したパケットには、図4(b)に示すようにシーケンシャル番号SNnが含まれていることとする。なお、受信バッファ監視部37は、受信部31において受信したパケットのシーケンシャル番号SNnを監視するとともに、受信バッファ35内の受信バッファ量を監視している。
a)パケットを送信順に遅延無く正常に受信しているか
パケットを送信順に受信しているかは、受信しているパケットのシーケンシャル番号SNnを受信バッファ監視部37により監視し、シーケンシャル番号SNnの前後関係や抜けが無いか等を判定することにより行う。さらに、パケットの受信に遅れが生じていないかは、受信バッファ監視部37により受信バッファ35内の受信バッファ量を監視することにより行う。例えば、パケットを損失している場合やパケットの受信に遅れが生じている場合には、受信バッファ35への圧縮音声符号化情報の格納がないまま圧縮音声符号化情報が読み出され、受信バッファ量が減少する。この減少が無いことを見ることで正常であることを判定する。
b)パケットロストの状態であるか
パケットロストの状態であるかは、受信バッファ監視部37によりシーケンシャル番号SNnの抜けが無いかを判定することにより行う。ここで、パケットロストでは受信バッファ35で吸収できる程度のパケットの損失であるため、受信バッファ35内の受信バッファ量は減少するが受信バッファ量が“0”にはならない。
c)バーストロスト又はゆらぎの状態であるか
バーストロスト又はゆらぎの状態であるかは、受信バッファ量が“0”であるかを判定することにより行う。この場合、受信バッファ35で吸収できる以上のパケットを損失しているため、受信バッファ35内の受信バッファ量が“0”になる。バーストロスト又はゆらぎの状態であると判定された場合は、受信バッファ監視部37は、バーストロスト又はゆらぎの状態にあることを示す「ロストフラグ」を立てる。
When fluctuations occur, packets received after the fluctuations are received at short time intervals, delayed from the time at which the
[processing]
Next, processing performed in each unit will be described.
(1) State determination processing First, state determination processing for whether a packet is received normally without packet loss or arrival time delay, or whether it is in a packet lost, burst lost, or fluctuation state due to a network failure will be described. To do. This state determination process is performed by the reception
a) Whether the packets are normally received in the order of transmission without delay Whether the packets are received in the order of transmission is determined by monitoring the sequential number SN n of the received packet by the reception
b) Whether the packet is lost or not is determined by determining whether the sequential number SN n is missing by the reception
c) Whether the data is in the burst lost or fluctuation state or the burst lost or fluctuation state is determined by determining whether the reception buffer amount is “0”. In this case, since more packets than can be absorbed by the
さらに、バーストロストかゆらぎのいずれかであるかは、例えばシーケンシャル番号SNnを比較することにより次のように行う。図10(b)及び(c)に示すように、バーストロスト又はゆらぎが発生する直前に受信部31が受信したパケットのシーケンシャル番号をSNlastとする。ここで、バーストロスト又はゆらぎが発生した場合は、受信バッファ監視部37が受信バッファ35の受信バッファ量が“0”となっていることを監視しており、受信バッファ監視部37からの指示により再生バッファ43には無音データが挿入される。この無音データの挿入回数をCsdとして、バーストロスト又はゆらぎが発生していなければ現在受信するはずの受信パケットのシーケンシャル番号を推定する。推定される推定シーケンシャル番号SNeは、SNe=SNlast+Csdより算出できる。ここで、バーストロスト又はゆらぎが発生した直後に受信する受信パケットのシーケンシャル番号をSNaとする。このシーケンシャル番号SNaと推定シーケンシャル番号SNeとを比較する。推定シーケンシャル番号SNeとシーケンシャル番号SNaとの差が許容範囲内である場合はバーストロストであると判定する。つまり、推定シーケンシャル番号SNeまでのパケットは損失しているが、その後に受信したパケットは本来受信される時刻に受信されている。一方、許容範囲内でない場合は、推定シーケンシャル番号SNeとシーケンシャル番号SNaとの間に開きがあり、パケットの受信時刻に遅延が発生しており、ゆらぎの状態であると判定する。
(2)受信処理
次に、受信処理について説明する。図11は、受信装置2が行う受信処理の流れの一例を示すフローチャートである。受信装置2は、送信装置1から通信の開始を示すコマンドを受信することにより、以下の処理を開始する。
Further, whether it is a burst lost or a fluctuation is performed, for example, by comparing sequential numbers SN n as follows. As shown in FIGS. 10B and 10C, the sequential number of the packet received by the receiving
(2) Reception processing Next, reception processing will be described. FIG. 11 is a flowchart illustrating an example of a flow of reception processing performed by the
ステップS51:受信部31は、通信の終了を示すコマンドを送信装置1から受信するまで、以下のステップS52〜S61までの処理を行う。通信の終了を示すコマンドを受信すると、処理を終了する。
ステップS52:受信部31は、パケットを待機しており、パケットを受信すると、ステップS53に移行する。
Step S51: The receiving
Step S52: The receiving
ステップS53:受信バッファ監視部37は、バーストロスト又はゆらぎの状態にあることを示す「ロストフラグ」が立っているかどうかを確認する。「ロストフラグ」は、後述の再生処理中で行われる状態判定処理の結果を示す。
ステップS54:「ロストフラグ」が立っていない場合、つまり、パケットを正常に受信しているか、パケットロストの状態である場合は、受信バッファ35への書き込みが可能かどうかを判定する。これは、パケットの受信に許容範囲以上の遅延が発生し、古いパケットを受信しているためである。書き込みが可能であると判定された場合は、ステップS55に進み、書き込みが不可能であると判定された場合は、ステップS61に進む。
Step S53: The reception
Step S54: If the “lost flag” is not set, that is, if the packet is normally received or the packet is lost, it is determined whether or not writing to the
ステップS55:受信バッファ監視部37は、受信バッファ35に新たな圧縮音声符号化情報を書き込む空きメモリがあるか否かを判断する。
ステップS56:空きメモリがあれば、受信部31は、受信したパケットを受信バッファ35に書き込む。
ステップS57、S58:受信バッファ35に空きメモリがない場合、受信部31は、受信バッファ35内に蓄積されている古い圧縮音声符号化情報を破棄し(S57)、新たに受信したパケットの圧縮音声符号化情報を受信バッファ35に書き込む(S58)。
Step S55: The reception
Step S56: If there is free memory, the receiving
Steps S57 and S58: When there is no free memory in the
ステップS59:「ロストフラグ」が立っている場合、つまり、バーストロスト又はゆらぎの状態である場合は、受信バッファ35への書き込みが可能かどうかを判定する。これは、バーストロストの場合は受信したパケットは本来受信される時刻に受信されているが、ゆらぎの場合はパケットの受信に許容範囲以上の遅延が発生し、古いパケットを受信しているためである。よって、ゆらぎの場合は、許容範囲以上の遅延後に受信された古いパケットを破棄する必要がある。そこで、受信バッファ監視部37は、現在受信している受信パケットのシーケンシャル番号SNaと推定シーケンシャル番号SNeとの比較を行う。そして比較結果に基づいて、現在受信しているパケットに含まれる圧縮音声符号化情報を受信バッファ35に書き込むかどうかを判定する。受信したパケットが、本来受信される時刻に受信されている場合は、書き込むと判定する。一方、受信したパケットが、本来受信される時刻よりも許容範囲以上の遅延後に受信されている場合は、書き込まないと判定する。
Step S59: If the “lost flag” is set, that is, if it is in a burst lost or fluctuation state, it is determined whether or not writing to the
ステップS60:ステップS59において書き込むと判定された場合は、現在受信しているパケットに含まれる圧縮音声符号化情報を受信バッファ35に書き込むことを示す「書き込み再開フラグ」を立てる。次に、ステップS55に進み、受信バッファ35への書き込みを行う。
ステップS61:一方、ステップS59において書き込まないと判定された場合は、現在受信しているパケットを破棄する。
Step S60: If it is determined in step S59 that writing is to be performed, a “write restart flag” indicating that the compressed audio coding information included in the currently received packet is to be written to the
Step S61: On the other hand, if it is determined in step S59 that writing is not performed, the currently received packet is discarded.
以上の処理により、受信バッファ35に次々に圧縮音声符号化情報を蓄積する。なお、上記ステップS51では、送信装置1から通信の終了を示すコマンドを受信する場合を記載したが、受信装置2内のコマンドに基づいて通信を終了しても良い。また、上記ステップS57及びS58においては、古い圧縮音声符号化情報を受信バッファ35に保持しておき、新たに受信したパケットの圧縮音声符号化情報を破棄しても良い。
(2)再生処理
次に、再生処理について説明する。図12は、受信装置2が行う再生処理の流れの一例を示すフローチャートである。受信装置2は、送信装置1から通信の開始を示すコマンドを受信することにより、以下の処理を開始する。
Through the above processing, the compressed audio coding information is accumulated in the
(2) Reproduction Process Next, the reproduction process will be described. FIG. 12 is a flowchart illustrating an example of the flow of reproduction processing performed by the
ステップS62、S63:受信バッファ監視部37は、再生開始条件が満たされたか否かを判断し、満たされた場合は読出部39に再生開始信号を送信する(S62)。再生開始信号を受信した読出部39は、音声の再生処理を開始させる(S63)。
ステップS64:受信装置2が、通信の終了を示すコマンドを送信装置1から受信するまで、ステップS64〜S77までの再生処理を行う。通信の終了を示すコマンドを受信すると、再生処理を終了する。
Steps S62 and S63: The reception
Step S64: Until the
ステップS65:再生が継続している場合は、読出部39は、読出時刻取得部45の呼出に応答して、受信バッファ35から圧縮音声符号化情報を1パケット分ずつ読み出す。ついで、復号化部41、再生バッファ43、読出時刻取得部45、DAC47、増幅器49及び出力部51により、1パケットに含まれる圧縮音声符号化情報を全てアナログデータに変換して出力されるまで、再生が行われる。
Step S65: When the reproduction is continued, the
ステップS66:1パケット分の再生が終了すると、受信バッファ監視部37は、バーストロスト又はゆらぎの状態にあることを示す「ロストフラグ」が立っているかどうかを確認する。このときの「ロストフラグ」は、ステップS65で1パケットを再生する前の状態を示している。「ロストフラグ」が立っていない場合、つまり、ステップS65の1パケット再生する前において、パケットを正常に受信しているか、パケットロストの状態にあった場合は、ステップS67へ進む。一方、「ロストフラグ」が立っている場合、つまり、バーストロスト又はゆらぎの状態であった場合はステップS74へ進む。
Step S66: When the reproduction for one packet is completed, the reception
ステップS67、S68:パケットを正常に受信しているか、パケットロストの状態にあった場合は、受信バッファ監視部37は、ステップS65で1パケットを再生した後において、受信バッファ35内に圧縮音声符号化情報が蓄積されているか否かを判断する(S67)。受信バッファ35に圧縮音声符号化情報が蓄積されている場合は、読出部39は、1パケット分の圧縮音声符号化情報を受信バッファ35から読み出す(S68)。
Steps S67 and S68: If the packet is normally received or is in a packet lost state, the reception
ステップS69:受信バッファ35に圧縮音声符号化情報が蓄積されていない場合は、受信バッファ監視部37は、ステップS65で1パケットを再生した後における状態判定処理を行う。
ステップS70、S71:ステップS69の状態判定処理の結果、バーストロストまたはゆらぎの状態ではないと判定された場合は、読出部39は、受信バッファ監視部37の指示により1パケット分の無音データを再生バッファ43に挿入する。
Step S69: If compressed audio coding information is not accumulated in the
Steps S70 and S71: If it is determined as a result of the state determination process in step S69 that the burst lost or fluctuation state is not detected, the
ステップS72、73:ステップS70において、バーストロストまたはゆらぎの状態にあると判定された場合は、受信バッファ監視部37は、「ロストフラグ」を立てる(S72)。このとき、受信部31はパケットを正常に受信できていないため、受信時刻取得部33においてパケットの受信時刻を取得できていない。そのため、受信時刻取得部33は、1つのパケット群を構成する所定数kのパケットを受信するのに要する受信間隔の平均ΔTravを、パケットを損失したパケット群の受信間隔と設定する(S73)。その後、ステップS71に進み、無音データを挿入する。
Steps S72 and 73: If it is determined in step S70 that the burst lost or fluctuation state exists, the reception
ステップS74:ステップS66において、ステップS65で1パケットを再生する前の状態が、バーストロスト又はゆらぎの状態であったと判定された場合は、「書き込み再開フラグ」が立っているかどうかを判定する。「書き込み再開フラグ」は、受信処理のステップS60において立てられるフラグであり、現在受信している受信パケットを受信バッファ35に書き込むかどうかを示す。
Step S74: If it is determined in step S66 that the state before reproducing one packet in step S65 is a burst lost or fluctuation state, it is determined whether or not a “write resume flag” is set. The “write restart flag” is a flag set in step S60 of the reception process, and indicates whether or not the currently received reception packet is to be written in the
ステップS75、S76:「書き込み再開フラグ」が立っている場合、つまり、現在受信している受信パケットを受信バッファ35に書き込む場合は、「ロストフラグ」を終了する(S75)。ここでは、現在受信しているパケットの受信バッファ35への書き込みが再開され、バーストロスト又はゆらぎの状態から脱している。そして、読出部39は、1パケット分の圧縮音声符号化情報を受信バッファ35から読み出す(S76)。
Steps S75 and S76: When the “write resume flag” is set, that is, when the currently received reception packet is written to the
ステップS77:「書き込み再開フラグ」が立っていない場合、つまり、現在受信しているパケットを破棄する場合は、読出部39は、受信バッファ監視部37の指示により1パケット分の無音データを再生バッファ43に挿入する。
なお、上記では、送信装置1から通信開始又は通信終了を示すコマンドを受信する場合を記載したが、受信装置2内のコマンドに基づいて通信を開始又は終了しても良い。
(3)受信時刻取得処理
図13は、受信装置2が行う受信時刻取得処理の流れの一例を示すフローチャートである。受信時刻取得部33は、前述の通り、1つのパケット群を構成する所定数k個のパケットが受信部31において受信される毎に、つまり所定数k個毎にパケットの受信時刻を取得する。
Step S77: If the “write resume flag” is not set, that is, if the currently received packet is discarded, the
In the above description, a case where a command indicating communication start or communication end is received from the
(3) Reception Time Acquisition Processing FIG. 13 is a flowchart illustrating an example of the flow of reception time acquisition processing performed by the
以下、パケットの損失や受信時刻の遅延を監視する基準となるシーケンシャル番号を基準シーケンシャル番号SNnとする。ここで、基準シーケンシャル番号SNnの添字nは、パケット群Gnに対応している。
ステップS81:受信時間取得処理の開始にあたって、受信バッファ監視部37は、基準シーケンシャル番号SNnの初期値として、及びパケット群の送信順を表すパケット群Gnの添字nの初期値として、n=0に設定する。
Hereinafter, a sequential number serving as a reference for monitoring packet loss and reception time delay is referred to as a reference sequential number SN n . Here, the subscript n of the reference sequential number SN n corresponds to the packet group G n .
Step S81: At the start of the reception time acquisition process, the reception
ステップS82、S83:受信部31は、1番目のパケット群G1に含まれる最初のパケットP0を受信する(S82)。そして、受信バッファ監視部37は、1番目のパケット群G1に含まれる最初のパケットP0のシーケンシャル番号SNrをRTPヘッダから取得する(S83)。
ステップS84:次に、受信バッファ監視部37は、取得した最初のシーケンシャル番号SNrを、最初のパケットP0の基準シーケンシャル番号SN0に設定(SN0=SNr)する。例えば、取得したパケットP0のシーケンシャル番号が“3”である場合は、SN0=SN3となる。
Steps S82 and S83: The receiving
Step S84: Next, the reception
ステップS85:受信時刻取得部33は、最初のパケットP0の受信部31での受信時刻Tr0を取得する。
ステップS86:次に、nを加算する。nが1加算されることにより、基準シーケンシャル番号はSN1、SN2、SN3…となる。
ステップS87:ステップS86における加算前の基準シーケンシャル番号SNn-1に、1つのパケット群を構成するパケットの個数である所定数kを加算し、基準シーケンシャル番号SNnを算出する。例えば、基準シーケンシャル番号SN1=SN0+k、SN2=SN1+k、…となる。この基準シーケンシャル番号SNnのパケットを受信した時刻に基づいて受信間隔が算出される。
Step S85: The reception
Step S86: Next, n is added. By adding 1 to n, the reference sequential numbers are SN 1 , SN 2 , SN 3 .
Step S87: A predetermined number k, which is the number of packets constituting one packet group, is added to the reference sequential number SN n-1 before addition in step S86 to calculate the reference sequential number SN n . For example, reference sequential numbers SN 1 = SN 0 + k, SN 2 = SN 1 + k,. The reception interval is calculated based on the time when the packet having the reference sequential number SN n is received.
ステップS88:受信装置2が、通信の終了を示すコマンドを送信装置1から受信するまで受信時刻取得処理を行う。通信の終了を示すコマンドを受信すると、受信時刻取得処理を終了する。
ステップS89、S90:受信部31は、順次、パケットを受信する(S89)。受信バッファ監視部37は、受信したパケットのシーケンシャル番号SNrをRTPヘッダから取得する(S90)。
Step S88: Reception time acquisition processing is performed until the
Steps S89 and S90: The receiving
ステップS91:受信バッファ監視部37は、バーストロスト又はゆらぎの状態にあるかを判定する。
ステップS92:バーストロスト又はゆらぎの状態でない場合は、ステップS90で取得したパケットのシーケンシャル番号SNrがステップS87で算出した基準シーケンシャル番号SNn以上(SNr≧SNn)であるか比較する。SNr<SNnである場合は、ステップS88に戻り、パケットを受信する。例えば、基準シーケンシャル番号SN0=SN3である場合、ステップS87において次の基準シーケンシャル番号SN1がSN1=SN(3+k)と算出される。よって、受信したパケットのシーケンシャル番号SNrがSNr=SN(3+k)になるまでステップS88〜ステップS92を繰り返す。
Step S91: The reception
Step S92: If it is not the state of the burst lost or wobble, sequential number SN r packet acquired in step S90 is compared whether the reference sequential number SN n or calculated in step S87 (SN r ≧ SN n) . If SN r <SN n , the process returns to step S88 to receive the packet. For example, when the reference sequential number SN 0 = SN 3 , the next reference sequential number SN 1 is calculated as SN 1 = SN (3 + k) in step S87. Therefore, steps S88 to S92 are repeated until the sequential number SN r of the received packet becomes SN r = SN (3 + k) .
ステップS93:SNr≧SNnである場合は、基準シーケンシャル番号SNnと受信したパケットのシーケンシャル番号SNrが等しい(SNr=SNn)かどうかを判定する。
ステップS94:SNr=SNnである場合、つまりパケットの損失がなく正常にパケットを受信している場合、受信時刻取得部33は、シーケンシャル番号SNr(SNr=SNn)のパケットの受信時刻をTrnを取得する。ここで、受信時刻取得部33は、SNr=SN1である場合、1番目のパケット群G1における所定数k個のパケットを受信した後の受信時刻としてTr1を取得する。また、この受信時刻Tr1は、2番目のパケット群G2における最初のパケットの受信時刻となる。つまり、n番目のパケット群Gnにおける最初のパケットの受信時刻としてTr(n-1)を取得し、所定数k個のパケットを受信した後の受信時刻としてTrnを取得する。
Step S93: If SNr ≧ SNn, it is determined whether or not the reference sequential number SNn is equal to the sequential number SNr of the received packet (SNr = SNn).
Step S94: When SNr = SNn, that is, when the packet is normally received without packet loss, the reception
ステップS95:ステップS93において、基準シーケンシャル番号SNnとシーケンシャル番号SNrが等しくないと判定された場合、つまりSNr>SNnでありパケットロストの状態である場合は、まず現在受信しているシーケンシャル番号SNrのパケットの受信時刻RTrを取得する。
ステップS96:次に、パケットロストにより損失したパケットの欠落数LCをLC=SNr−SNnより算出する。なお、パケット欠落数は、受信バッファ監視部37により受信バッファ量を監視することによっても算出できる。つまり、パケットの損失により受信バッファ35にはパケットが格納されないため、受信バッファ監視部37により受信バッファ量の減少を監視することでパケット欠落数LCを求めることができる。
Step S95: If it is determined in step S93 that the reference sequential number SNn is not equal to the sequential number SNr, that is, if SNr> SNn and the packet is lost, the packet of the sequential number SNr currently received is firstly received. The reception time RTr of is acquired.
Step S96: Next, the number of lost packets LC lost due to packet loss is calculated from LC = SNr−SNn. Note that the number of missing packets can also be calculated by monitoring the reception buffer amount by the reception
ステップS97:パケットを受信できなかった時刻Tcをパケット欠落数LCを用いて算出する。ここで、所定数kのパケットを受信するのに要する受信間隔の平均をΔTravとし、パケット1個当たりの受信間隔をΔTrav/kである。よって、パケットを受信できなかった時刻Tc=LC×ΔTrav/kと算出される。
ステップS98:次に、1つのパケット群の最後のパケットについて、パケットを損失することなく受信した場合における受信時刻を推定する。推定受信時刻Teは、現在の受信時刻RTrから、パケットを受信できなかった時刻Tc=LC×ΔTrav/kを減算(Te=RTr−Tc)することにより算出される。
Step S97: Time Tc at which the packet could not be received is calculated using the packet loss number LC. Here, the average of reception intervals required to receive a predetermined number k of packets is ΔTrav, and the reception interval per packet is ΔTrav / k. Therefore, the time when the packet cannot be received is calculated as Tc = LC × ΔTrav / k.
Step S98: Next, the reception time when the last packet of one packet group is received without loss is estimated. The estimated reception time Te is calculated by subtracting the time Tc = LC × ΔTrav / k at which the packet could not be received from the current reception time RTr (Te = RTr−Tc).
図10(a)を用いてより詳細に説明する。パケットの損失が無ければ受信部31がシーケンシャル番号SN100のパケットP100を受信する。つまり、基準シーケンシャル番号がSN100とされているとする。このとき、図10(a)では、P100及び次のパケットP101のパケットを損失し、シーケンシャル番号SN100とSN101を受信できていない。また、パケットロスト後にシーケンシャル番号SN102のパケットを受信しており、シーケンシャル番号がSN102である。よって、パケットの欠落数LC=SN102−SN100=2と算出される。さらに、シーケンシャル番号SN102の受信時刻はRTr102である。
よって、パケットを受信できなかった時刻Tc=2×ΔTrav/100となり、推定受信時刻Te=RTr102−2×ΔTrav/100と算出される。
This will be described in more detail with reference to FIG. If there is no packet loss, the receiving
Therefore, the time Tc = 2 × ΔTrav / 100 when the packet could not be received is calculated, and the estimated reception time Te = RTr102-2 × ΔTrav / 100 is calculated.
ステップS99:ステップS94において受信時刻Trnを取得した場合には、受信時刻取得部33は、n番目のパケット群Gnにおける受信間隔としてΔTrn=Trn−Tr(n-1)を算出する。また、ステップS98において推定受信時刻Teを算出した場合には、n番目のパケット群Gnにおける受信間隔としてΔTrn=Te−Tr(n-1)を算出する。
なお、ステップS91において、バーストロスト又はゆらぎの状態であると判定された場合は、受信時刻取得部33は、再生処理のステップS72において設定された受信間隔の平均ΔTravを受信間隔として取得する。
(4)読出時刻取得処理及び補正処理
読出時刻取得処理及び補正処理は、第1実施形態例と同様の処理であるので説明を省略する。
[効果]
上記の通り、ネットワーク障害が生じている場合であっても、受信装置2において取得した受信間隔ΔTr及び読出間隔ΔToに基づいて受信側サンプリング周波数frを補正することができる。よって、送信装置側からパケット送信時刻、パケット送信間隔等の送信側サンプリング周波数fsに関連する時刻情報を受信装置側に送信することなく、受信側サンプリング周波数frの補正を行うことができる。
Step S99: When the reception time Tr n is acquired in step S94, the reception
If it is determined in step S91 that the state is a burst lost or a fluctuation, the reception
(4) Reading time acquisition process and correction process The reading time acquisition process and the correction process are the same as those in the first embodiment, and a description thereof will be omitted.
[effect]
As described above, even when a network failure occurs, the reception-side sampling frequency fr can be corrected based on the reception interval ΔTr and the reading interval ΔTo acquired in the
なお、送信装置1から一定間隔でパケットが送信されている必要はなく、不定の間隔でパケットが送信されている場合であっても第2実施形態例を適用可能である。一定の間隔でパケットが送信されている場合は、前述のΔTravから推定受信時刻Teをより正確に算出することができる。
<その他の実施形態例>
(A)前述の第1及び第2実施形態例では、音声通信システムについて説明したが、本発明に係る受信装置は、音声通信だけでなく、動画像通信にも好ましく用いられる。また、静止画像、テキストデータなどの受信装置としても好適である。
The packets need not be transmitted from the
<Other embodiment examples>
(A) In the first and second embodiments described above, the voice communication system has been described. However, the receiving apparatus according to the present invention is preferably used not only for voice communication but also for moving picture communication. Further, it is also suitable as a receiving device for still images, text data, and the like.
(B)コンピュータに前述の処理を実行させるプログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体は、本発明に含まれる。ここで記録媒体としては、コンピュータが読み書き可能なフレキシブルディスク、ハードディスク、半導体メモリ、CD−ROM、DVD、光磁気ディスク(MO)、その他のものが挙げられる。 (B) A program that causes a computer to execute the above-described processing and a computer-readable recording medium that records the program are included in the present invention. Here, examples of the recording medium include a computer readable / writable flexible disk, hard disk, semiconductor memory, CD-ROM, DVD, magneto-optical disk (MO), and others.
本発明を用いれば、ストリーム再生方式を採用した通信システムの受信装置で再生される音声の品質を高めることを期待できる。 By using the present invention, it can be expected to improve the quality of audio reproduced by a receiving apparatus of a communication system that employs a stream reproduction method.
1:送信装置
2:受信装置
3:ネットワーク
31:受信部
33:受信時刻取得部
35:受信バッファ
37:受信バッファ監視部
39:読出部
43:再生バッファ
45:読出時刻取得部
53:補正部
1: Transmission device 2: Reception device 3: Network 31: Reception unit
33: Reception time acquisition unit
35: Receive buffer
37: Receive buffer monitoring unit
39: Reading unit 43: Playback buffer 45: Reading time acquisition unit 53: Correction unit
Claims (7)
前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信手段と、
前記複数のパケットそれぞれに含まれるディジタルデータを一時的に蓄積する受信バッファと、
受信側サンプリング周波数frを生成する周波数生成手段と、
前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換手段と、
受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信手段がk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正手段と、
を備える受信装置。
fr=fr’×(ΔTo÷ΔTr)
ここで、fr’はパケット群G (n−1) における受信側サンプリング周波数。 A receiving device connected to a transmitting device via a communication network,
Receiving means for sequentially receiving a plurality of packets from the transmitting device via the communication network;
A reception buffer for temporarily storing digital data included in each of the plurality of packets;
A frequency generating means for generating a receiving side sampling frequency fr;
Conversion means for reading out digital data stored in the reception buffer according to the reception-side sampling frequency fr and converting it into analog data;
For each packet group G n (n is a natural number) composed of a predetermined number k (k ≧ 2) packets determined on the receiving side, the time required for the receiving means to receive k packets is calculated. And a reading interval ΔTo indicating a time required for reading the digital data contained in each of the k packets from the receiving buffer, and obtaining the packet group G based on the following conditions: and correcting means for calculating a reception side sampling frequency fr in n,
A receiving device.
fr = fr ′ × (ΔTo ÷ ΔTr)
Here, fr ′ is the receiving-side sampling frequency in the packet group G (n−1) .
前記補正手段は、前記VCOへの印加電圧を調整することにより、前記受信側サンプリング周波数frを補正する、請求項1に記載の受信装置。 As the frequency generation means, a VCO (Voltage Control Oscillator) is used,
The receiving apparatus according to claim 1, wherein the correction unit corrects the reception-side sampling frequency fr by adjusting a voltage applied to the VCO .
前記変換手段は、
前記監視手段におけるパケットを正常に受信しているか否かの判定に応じて、蓄積されたディジタルデータを前記受信バッファから読み出し、
前記受信バッファは、
前記監視手段におけるパケットを正常に受信しているか否かの判定、及び当該受信バッファ内の蓄積量に応じて、ディジタルデータを蓄積する、請求項1に記載の受信装置。 Monitoring means for monitoring the transmission order of the packets received by the receiving means and the amount stored in the reception buffer, and further determining whether or not the packets are normally received;
The converting means includes
In response to the determination as to whether or not the monitoring means has received the packet normally, the stored digital data is read from the reception buffer,
The receive buffer is
The receiving apparatus according to claim 1 , wherein digital data is accumulated in accordance with a determination as to whether or not a packet is normally received by the monitoring unit and an accumulation amount in the reception buffer .
前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信ステップと、A reception step of sequentially receiving a plurality of packets from the transmission device via the communication network;
前記複数のパケットそれぞれに含まれるディジタルデータを一時的に受信バッファに蓄積する蓄積ステップと、An accumulation step of temporarily accumulating digital data included in each of the plurality of packets in a reception buffer;
受信側サンプリング周波数frを生成する周波数生成ステップと、A frequency generation step of generating a reception-side sampling frequency fr;
前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換ステップと、A conversion step of reading the digital data stored in the reception buffer according to the reception-side sampling frequency fr and converting it into analog data;
受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群GPacket group G composed of a predetermined number k (k ≧ 2) packets determined on the receiving side nn (nは自然数)ごとに、前記受信ステップでk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群GFor each (n is a natural number), the reception interval ΔTr indicating the time taken to receive k packets in the reception step and the digital data included in each of the k packets are read from the reception buffer. And a reading interval ΔTo indicating the time required for the packet group G based on the following conditions: nn における受信側サンプリング周波数frを算出する補正する補正ステップと、A correction step for correcting the reception-side sampling frequency fr in
を含む受信再生方法。Receiving and playing method including:
fr=fr’×(ΔTo÷ΔTr)fr = fr ′ × (ΔTo ÷ ΔTr)
ここで、fr’はパケット群GHere, fr ′ is the packet group G (n−1)(N-1) における受信側サンプリング周波数。Receiver sampling frequency at.
前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信手段、
前記複数のパケットそれぞれに含まれるディジタルデータを一時的に蓄積する受信バッファ、
受信側サンプリング周波数frを生成する周波数生成手段、
前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換手段、及び
受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信手段がk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正手段、
としてコンピュータを機能させるための受信再生プログラム。
fr=fr’×(ΔTo÷ΔTr)
ここで、fr’はパケット群G (n−1) における受信側サンプリング周波数。 A reception reproduction program used for a reception device connected to a transmission device via a communication network,
Receiving means for sequentially receiving a plurality of packets from the transmitting device via the communication network ;
Reception buffer for temporarily storing the digital data included in each of the plurality of packets,
A frequency generating means for generating a receiving side sampling frequency fr ;
Conversion means for reading digital data stored in the reception buffer according to the reception-side sampling frequency fr and converting it into analog data ;
For each packet group G n (n is a natural number) composed of a predetermined number k (k ≧ 2) packets determined on the receiving side, the time required for the receiving means to receive k packets is calculated. And a reading interval ΔTo indicating a time required for reading the digital data contained in each of the k packets from the receiving buffer, and obtaining the packet group G based on the following conditions: correcting means for calculating a reception side sampling frequency fr in n,
As a reception / reproduction program for causing a computer to function .
fr = fr ′ × (ΔTo ÷ ΔTr)
Here, fr ′ is the receiving-side sampling frequency in the packet group G (n−1) .
前記通信網を介し、複数のパケットを前記送信装置から順次受信する受信ステップと、
前記複数のパケットそれぞれに含まれるディジタルデータを一時的に受信バッファに蓄積する蓄積ステップと、
受信側サンプリング周波数frを生成する周波数生成ステップと、
前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換ステップと、
受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群G n (nは自然数)ごとに、前記受信ステップでk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群G n における受信側サンプリング周波数frを算出する補正する補正ステップと、
を実行するための受信再生プログラムを記録した、コンピュータ読み取り可能な記録媒体。
fr=fr’×(ΔTo÷ΔTr)
ここで、fr’はパケット群G (n−1) における受信側サンプリング周波数。 A computer-readable recording medium on which a reception / playback program used for a reception device connected to a transmission device via a communication network is recorded ,
A reception step of sequentially receiving a plurality of packets from the transmission device via the communication network;
An accumulation step of temporarily accumulating digital data included in each of the plurality of packets in a reception buffer;
A frequency generation step of generating a reception-side sampling frequency fr;
A conversion step of reading the digital data stored in the reception buffer according to the reception-side sampling frequency fr and converting it into analog data;
For each packet group G n (n is a natural number) composed of a predetermined number k (k ≧ 2) packets determined on the receiving side, the time required to receive k packets in the reception step is determined. And a reading interval ΔTo indicating a time required for reading the digital data contained in each of the k packets from the receiving buffer, and obtaining the packet group G based on the following conditions: a correction step of correcting for calculating the reception side sampling frequency fr in n,
Recording the received playback program order to execute the computer-readable recording medium.
fr = fr ′ × (ΔTo ÷ ΔTr)
Here, fr ′ is the receiving-side sampling frequency in the packet group G (n−1) .
音声入力手段と、Voice input means;
前記音声入力手段に接続され、入力された音声を送信側サンプリング周波数fsに基づいてサンプリングすることによりディジタル音声データに変換し、前記ディジタル音声データを含むパケットを順次伝送路に出力する音声送信手段と、A voice transmission unit connected to the voice input unit, which converts the input voice into digital voice data by sampling based on the transmission-side sampling frequency fs, and sequentially outputs packets including the digital voice data to the transmission path; ,
前記音声送信手段と前記伝送路を介して接続され、前記ディジタル音声データを受信側サンプリング周波数frに基づいてアナログ音声データに変換する音声受信手段と、Voice receiving means connected to the voice transmitting means via the transmission line, and converting the digital voice data into analog voice data based on a receiving-side sampling frequency fr;
前記音声受信手段に接続され、前記アナログ音声データを出力する音声出力手段とを含み、 Voice output means connected to the voice receiving means and outputting the analog voice data;
前記音声受信手段は、The voice receiving means is
複数のパケットを前記送信装置から順次受信する受信手段と、Receiving means for sequentially receiving a plurality of packets from the transmitting device;
前記複数のパケットそれぞれに含まれるディジタルデータを一時的に蓄積する受信バッファと、A reception buffer for temporarily storing digital data included in each of the plurality of packets;
受信側サンプリング周波数frを生成する周波数生成手段と、A frequency generating means for generating a receiving side sampling frequency fr;
前記受信側サンプリング周波数frに従って前記受信バッファに蓄積されているディジタルデータを読み出し、アナログデータに変換する変換手段と、Conversion means for reading out digital data stored in the reception buffer according to the reception-side sampling frequency fr and converting it into analog data;
受信側で定められた所定数k(k≧2)個のパケットで構成されるパケット群GPacket group G composed of a predetermined number k (k ≧ 2) packets determined on the receiving side nn (nは自然数)ごとに、前記受信手段がk個のパケットを受信するのに要した時間を示す受信間隔ΔTrと、前記k個のパケットそれぞれに含まれているディジタルデータを前記受信バッファから読み出すのに要した時間を示す読出間隔ΔToとを取得し、以下の条件に基づいて当該パケット群GFor each (n is a natural number), the reception means ΔTr indicating the time required for the reception means to receive k packets and the digital data contained in each of the k packets are read from the reception buffer. And a reading interval ΔTo indicating the time required for the packet group G based on the following conditions: nn における受信側サンプリング周波数frを算出する補正手段と、Correction means for calculating the receiving-side sampling frequency fr in
を備えている放送システム。Broadcast system equipped with.
fr=fr’×(ΔTo÷ΔTr)fr = fr ′ × (ΔTo ÷ ΔTr)
ここで、fr’はパケット群GHere, fr ′ is the packet group G (n−1)(N-1) における受信側サンプリング周波数。Receiver sampling frequency at.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004157243A JP4299731B2 (en) | 2004-05-27 | 2004-05-27 | Reception device and reception reproduction method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004157243A JP4299731B2 (en) | 2004-05-27 | 2004-05-27 | Reception device and reception reproduction method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005341203A JP2005341203A (en) | 2005-12-08 |
JP4299731B2 true JP4299731B2 (en) | 2009-07-22 |
Family
ID=35494258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004157243A Active JP4299731B2 (en) | 2004-05-27 | 2004-05-27 | Reception device and reception reproduction method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4299731B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013092515A (en) * | 2011-10-06 | 2013-05-16 | Sony Corp | Frequency difference detection device, frequency difference detection method, and program |
JP6827296B2 (en) * | 2016-11-01 | 2021-02-10 | 日本電信電話株式会社 | Data communication method |
CN113409801B (en) * | 2021-08-05 | 2024-03-19 | 云从科技集团股份有限公司 | Noise processing method, system, medium and device for real-time audio stream playing |
-
2004
- 2004-05-27 JP JP2004157243A patent/JP4299731B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2005341203A (en) | 2005-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3699910B2 (en) | Data transmission apparatus, data transmission method and program | |
US7453897B2 (en) | Network media playout | |
US7061863B2 (en) | Data communication system, data receiving terminal and data sending terminal | |
US9246644B2 (en) | Jitter buffer | |
US8855145B2 (en) | Jitter buffer | |
JP4842075B2 (en) | Audio transmission device | |
US7787500B2 (en) | Packet receiving method and device | |
JP5109787B2 (en) | Data transmission system, program and method | |
US8948213B2 (en) | Jitter buffer | |
JP2005151600A (en) | Data transmission unit, data transmission method, and program | |
US20020136205A1 (en) | Packet data processing apparatus and packet data processing method | |
JP4076981B2 (en) | Communication terminal apparatus and buffer control method | |
US20070133619A1 (en) | Apparatus and method of processing bitstream of embedded codec which is received in units of packets | |
JP4299731B2 (en) | Reception device and reception reproduction method | |
JP4597826B2 (en) | COMMUNICATION DEVICE, ITS COMMUNICATION METHOD, COMMUNICATION PROGRAM, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING THE COMMUNICATION PROGRAM | |
JP4376165B2 (en) | Receiver, clock adjustment method, and broadcasting system | |
JP4623867B2 (en) | Reception device and reception reproduction method | |
JP2002330180A (en) | Reception device and reception reproducing method | |
JP2007027813A (en) | Communication system | |
US20080140854A1 (en) | Method and apparatus for streaming av data | |
JP4266733B2 (en) | Video receiver | |
JP2002330181A (en) | Reception device and reception reproducing method | |
JP4730797B2 (en) | Reception device and reception reproduction method | |
JP4338083B2 (en) | Digital audio playback device | |
JPH04357735A (en) | Voice packet communication equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060530 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081009 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081021 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20081219 |
|
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: 20090331 |
|
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: 20090417 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4299731 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: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120424 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130424 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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |