JP4269933B2 - IP telephone dynamic buffer control method and apparatus - Google Patents

IP telephone dynamic buffer control method and apparatus Download PDF

Info

Publication number
JP4269933B2
JP4269933B2 JP2003425993A JP2003425993A JP4269933B2 JP 4269933 B2 JP4269933 B2 JP 4269933B2 JP 2003425993 A JP2003425993 A JP 2003425993A JP 2003425993 A JP2003425993 A JP 2003425993A JP 4269933 B2 JP4269933 B2 JP 4269933B2
Authority
JP
Japan
Prior art keywords
buffer
received
seq
packet
reception
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003425993A
Other languages
Japanese (ja)
Other versions
JP2005184701A (en
Inventor
哲 服部
和男 櫻井
潤次 高橋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Iwatsu Electric Co Ltd
Original Assignee
Iwatsu Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Iwatsu Electric Co Ltd filed Critical Iwatsu Electric Co Ltd
Priority to JP2003425993A priority Critical patent/JP4269933B2/en
Publication of JP2005184701A publication Critical patent/JP2005184701A/en
Application granted granted Critical
Publication of JP4269933B2 publication Critical patent/JP4269933B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、IP(インターネット・プロトコル)網を介して実行される音声通信に関する。より具体的には、IP電話のバッファをダイナミックに制御して、高品質の通話を可能にする方法と装置を提供せんとするものである。   The present invention relates to voice communication performed over an IP (Internet Protocol) network. More specifically, the present invention intends to provide a method and apparatus for dynamically controlling a buffer of an IP phone to enable high-quality calls.

IP(インターネット・プロトコル)網を介して実行される音声パケット伝送(以下、IP電話という)では、ネットワークにおける音声パケット(以下、パケットと略す)の伝搬時間のゆらぎが、音声通話品質に大きな影響を与えるため、受信側端末のバッファにおいてゆらぎを吸収させることで、一定の音声通話品質を確保している。     In voice packet transmission (hereinafter referred to as IP telephone) performed over an IP (Internet Protocol) network, fluctuations in the propagation time of voice packets (hereinafter referred to as packets) in the network have a significant effect on voice call quality. Therefore, a certain voice call quality is ensured by absorbing fluctuations in the buffer of the receiving terminal.

受信端末のバッファサイズを一定に保つ固定バッファ制御方式や、RTP(Real Time Protocol)のタイム・スタンプを利用してバッファサイズを動的に変化させるダイナミック・バッファ制御方式などがある。これらの受信端末では、IP網からパケットが到着すると、一旦バッファに格納し、正しい順序に整列してから音声を再生する仕組みになっている。しかしながら、IP網が輻輳してパケットロスが発生したり、パケットの遅延がゆらいだりすると、パケットをバッファに適正に受信することが困難になる。   There are a fixed buffer control system that keeps the buffer size of the receiving terminal constant, and a dynamic buffer control system that dynamically changes the buffer size using a RTP (Real Time Protocol) time stamp. In these receiving terminals, when a packet arrives from the IP network, it is temporarily stored in a buffer and arranged in the correct order to reproduce the voice. However, when the IP network is congested and packet loss occurs or the packet delay fluctuates, it becomes difficult to properly receive the packet in the buffer.

RTP(Real Time Protocol)のタイム・スタンプを利用したダイナミック・バッファ制御方式では、パケットの受信間隔のゆらぎ(以下、ジッタという)の情報に基づいて、突発的なジッタの変動にも瞬時に追随するようなバッファの増減処理が行われている。しかし、バッファの増減処理自体が音声通話品質低下の原因になるため、このようなバッファ増減処理の回数が多発するバッファ制御は、良好な通話品質を維持するためには不適切である。   In the dynamic buffer control method using a RTP (Real Time Protocol) time stamp, an abrupt change in jitter is instantaneously tracked based on information on fluctuations in packet reception intervals (hereinafter referred to as jitter). Such buffer increase / decrease processing is performed. However, since the buffer increase / decrease process itself causes a decrease in voice call quality, such buffer control in which the number of buffer increase / decrease processes frequently occurs is inappropriate for maintaining good call quality.

図23は、従来のバッファ部の正常受信時のバッファ動作を示している。(a)には、受信パケットの順序を示すSeq No.と、その受信タイミングが太線で示されている。(b)には、バッファ部に含まれたA〜Eの、たとえばバッファ・サイズ5のバッファ(FIFO:First In First Out)と、格納しているSeq No.が示されている。(c)には、音声データが出力されるタイミングとSeq No.が示されている。(d)には、音声の受信端末における周期T(例えば、10ms)の受信クロックが示されている。バッファ部では、受信したパケットのSeq No.に従って、正しい順序に並びかえて格納する。   FIG. 23 shows a buffer operation during normal reception of the conventional buffer unit. In (a), a Seq No. indicating the order of received packets and the reception timing thereof are indicated by bold lines. In (b), for example, a buffer having a buffer size of 5 (FIFO: First In First Out) of A to E included in the buffer unit and the stored Seq No. are shown. (C) shows the timing and Seq No. at which audio data is output. In (d), a reception clock having a period T (for example, 10 ms) in the voice receiving terminal is shown. The buffer unit stores the packets in the correct order according to the Seq No. of the received packet.

(a)の受信パケットと(d)の受信クロックのタイミングは、一致しており、受信パケットの受信順序に乱れ(前後に入れ代わる)もない(IP網における伝搬時間のゆらぎが許容範囲内である)。t=0においてSeq No.1の受信パケットを受けると、それを直ちにバッファAに格納する。同様に、t=Tにおいて、Seq No.2の受信パケットを受けると、それを直ちにバッファAに格納し、Seq No.1の音声データはバッファBにシフトされる。この格納およびシフト動作は、周期Tにくらべて十分に短時間(例えば、10ns)のうちに実行される。この動作を繰り返してt=4Tになると、5個のバッファA〜Eは満杯になる。その直後に、Seq No.1の音声データを出力する。以後、t=5TにおいてSeq No.6の受信パケットを受けると、その直後に、Seq No.2の音声データを出力する。   The timing of the received packet in (a) and the timing of the received clock in (d) are the same, and the reception order of the received packets is not disturbed (replaced before and after) (the fluctuation of the propagation time in the IP network is within the allowable range). ). When a received packet of Seq No. 1 is received at t = 0, it is immediately stored in the buffer A. Similarly, when a received packet of Seq No. 2 is received at t = T, it is immediately stored in buffer A, and the audio data of Seq No. 1 is shifted to buffer B. This storing and shifting operation is executed within a sufficiently short time (for example, 10 ns) compared to the period T. When this operation is repeated until t = 4T, the five buffers A to E become full. Immediately after that, Seq No. 1 audio data is output. Thereafter, when a received packet of Seq No. 6 is received at t = 5T, immediately after that, the audio data of Seq No. 2 is output.

図24は、従来のバッファ部のオーバーラン発生時のバッファ動作を示している。(a),(b),(c),(d)に示した記号は、図23に示したものに同じである。ただし、(b)のバッファに記された(xx)は、xxを格納するための未使用バッファであることを意味する。オーバーラン(又はアンダーラン)傾向の発生は、IP網のゆらぎの影響が十分に小さく無視できる場合には、送信端末のクロック周期が受信端末のクロック周期Tよりも若干短い(又は長い)場合に発生する。実際には、両クロック周期が長期間にわたり完全に一致することはあり得ない。図24では理解を容易にするために、(a)の受信パケットの周期は、(d)の受信クロック周期Tより誇張して短く表している。   FIG. 24 shows a buffer operation when an overrun of the conventional buffer unit occurs. The symbols shown in (a), (b), (c), and (d) are the same as those shown in FIG. However, (xx) written in the buffer (b) means an unused buffer for storing xx. The occurrence of the overrun (or underrun) tendency occurs when the influence of the fluctuation of the IP network is sufficiently small and can be ignored, when the clock period of the transmitting terminal is slightly shorter (or longer) than the clock period T of the receiving terminal. appear. In practice, it is impossible for both clock periods to coincide completely over a long period of time. In FIG. 24, for easy understanding, the period of the received packet (a) is exaggerated and shorter than the reception clock period T of (d).

図24(a)の受信パケットSeq No.9を受信する直前までは(b)のバッファA(B〜E)には、Seq No.8(7〜4)が格納されていたが、t=8Tでシフトされて、バッファAにはSeq No.9を書き込み可能となる。そこで受信パケットSeq No.9をt=8Tのタイミングで受けると、(b)のバッファAに書き込まれ(c)にSeq No.5の音声データ出力が得られる。(a)の受信パケットはオーバーラン傾向(受信パケットの時間間隔がTよりも小)にあり、そのSeq No.10の到来時点では、未だバッファAに受信パケットSeq No.10を書き込める状態になっていない。そのために、受信パケットSeq No.10は破棄される。   Until just before receiving the received packet Seq No. 9 in FIG. 24A, Seq No. 8 (7 to 4) is stored in the buffer A (B to E) in (b), but t = Shifted by 8T, Seq No. 9 can be written to buffer A. Therefore, when the received packet Seq No. 9 is received at the timing of t = 8T, it is written into the buffer A in (b) and the audio data output of Seq No. 5 is obtained in (c). The received packet in (a) has an overrun tendency (the time interval of the received packet is smaller than T), and when the Seq No. 10 arrives, the received packet Seq No. 10 can still be written to the buffer A. Not. Therefore, the received packet Seq No. 10 is discarded.

t=9Tのタイミングで(b)のバッファAは受信パケットSeq No.10を書き込み可能となるが、未使用のままとなり、Seq No.9〜6のデータはシフトされ、(c)にはSeq No.6の音声データ出力が得られる。受信パケットSeq No.11が到来した時点(9T<t<10T)では、バッファAは受信パケットSeq No.10を書き込み可能としており、Seq No.11は書き込みて゛きずに破棄され未使用のままとなる。同様にして、t=13Tになると、バッファA〜Eはすべて未使用のままとなり、(c)にはSeq No.10の音声データは得られず無音となる。したがって、t=13T以後は無音状態が継続する。このように、一度オーバーランが発生すると、その後の全てのパケットに対して受信不可能となる。   At time t = 9T, the buffer A in (b) can write the received packet Seq No. 10, but remains unused, the data in Seq No. 9 to 6 is shifted, and (c) contains Seq. No.6 audio data output is obtained. When the received packet Seq No. 11 arrives (9T <t <10T), the buffer A can write the received packet Seq No. 10, and the Seq No. 11 is written and discarded without being left unused. Become. Similarly, when t = 13T, all the buffers A to E remain unused, and the audio data of Seq No. 10 is not obtained in (c), and the sound becomes silent. Accordingly, the silent state continues after t = 13T. Thus, once an overrun occurs, it cannot be received for all subsequent packets.

この受信不可能な事態を回避するためには、未来(バッファAの上)側にバッファを付加すればよい。しかしながら、オーバーラン傾向が続くならば、更にバッファを未来側に付加しなければならなくなる。すなわち、オーバーラン傾向の半永久的な継続に対処するためには、最初から膨大な数のバッファを未来側に設けておくか、未来側にバッファを付加し続けなければならない。ただし、オーバーランの途中でパケットに大きな遅延が発生した場合には、受信機能を一時的に回復することもあり得るが、それは一時的な回復にすぎず、オーバーラン対策とはなり得ない。   In order to avoid this unreceivable situation, a buffer may be added to the future (above buffer A). However, if the overrun trend continues, more buffers must be added to the future side. That is, in order to cope with the semi-permanent continuation of the overrun tendency, it is necessary to provide a huge number of buffers on the future side from the beginning or to continue adding buffers to the future side. However, when a large delay occurs in the packet in the middle of overrun, the reception function may be temporarily recovered, but this is only temporary recovery and cannot be a countermeasure against overrun.

図25は、従来のバッファ部のアンダーラン発生時のバッファ動作を示している。(a),(b),(c),(d)に示した記号は、図23および24に示したものに同じである。図25(a)の受信パケットSeq No.9をt=8Tのタイミングで受けると、(b)のバッファAに書き込まれ(c)にSeq No.5の音声データ出力が得られる。t=9Tのタイミングではシフトされ、バッファB〜EにSeq No.9〜6が格納され、バッファAはSeq No.10の到来を待つ未使用バッファとなり、(c)にはSeq No.6の音声データ出力が得られる。(a)の受信パケットはアンダーラン傾向にあり、そのSeq No.10の到来時点では、すでにバッファAは受信パケットSeq No.10を書き込める状態になっており、Seq No.10はただちに書き込まれる(書き込まれた状態は図示せず)。   FIG. 25 shows a buffer operation when an underrun occurs in the conventional buffer unit. The symbols shown in (a), (b), (c), and (d) are the same as those shown in FIGS. When the received packet Seq No. 9 in FIG. 25A is received at the timing of t = 8T, it is written in the buffer A in (b), and the audio data output of Seq No. 5 is obtained in (c). Shifted at the timing of t = 9T, Seq Nos. 9 to 6 are stored in buffers B to E, buffer A becomes an unused buffer waiting for the arrival of Seq No. 10, and (c) shows Seq No. 6 Audio data output is obtained. The received packet in (a) tends to underrun, and when Seq No. 10 arrives, the buffer A is already ready to write the received packet Seq No. 10, and Seq No. 10 is immediately written ( (The written state is not shown).

同様にして、t=10Tのタイミングでシフトされ、バッファB〜EにSeq No.10〜7が格納され、バッファAはSeq No.11の到来を待つ未使用バッファとなり、(c)にはSeq No.7の音声データ出力が得られる。(a)の受信パケットSeq No.11の到来時点では、すでにバッファAは受信パケットSeq No.11を書き込める状態になっており、Seq No.11はただちに書き込まれる(書き込まれた状態は図示せず)。   Similarly, it is shifted at the timing of t = 10T, Seq Nos. 10 to 7 are stored in the buffers B to E, the buffer A becomes an unused buffer waiting for the arrival of Seq No. 11, and (c) includes Seq No.7 audio data output is obtained. When the received packet Seq No. 11 in (a) arrives, the buffer A is already in a state where the received packet Seq No. 11 can be written, and Seq No. 11 is written immediately (the written state is not shown). ).

このようにして、t=13Tのタイミングでシフトされると、バッファC〜EにSeq No.12〜10が格納され、バッファAとBはSeq No.14と13の到来を待つ未使用バッファとなり、(c)にはSeq No.10の音声データ出力が得られる。t=13Tのタイミングでは、未使用バッファはAとBの2個に増加している。時間の経過とともに未使用バッファの数は増えて、全バッファA〜Eが未使用となる。その後は、(c)の音声データ出力は全く得られなくなり、受信不能となる。
特開2002− 64545号公報 特開2002−185498号公報
In this way, when shifted at the timing of t = 13T, Seq Nos. 12 to 10 are stored in the buffers C to E, and the buffers A and B become unused buffers waiting for the arrival of Seq Nos. 14 and 13. , (C), Seq No. 10 audio data output is obtained. At the timing of t = 13T, the number of unused buffers has increased to two, A and B. As time passes, the number of unused buffers increases, and all buffers A to E become unused. Thereafter, the audio data output of (c) is not obtained at all, and reception is impossible.
JP 2002-64545 A JP 2002-185498 A

オーバーラン(又はアンダーラン)傾向の発生は、IP網の伝播時間のゆらぎの影響を無視すると、送信端末のクロック周期が受信端末のクロック周期よりも若干短い(又は長い)場合に発生する。実際には、送信端末と受信端末の両クロック周期が長期間にわたり完全に一致することはあり得ない。したがって、オーバーランまたはアンダーランは必ず発生する問題である。オーバーランまたはアンダーラン発生時の対策として、バッファの初期化が行われている。この場合の通話品質は、著しく劣化したものとなる。さらに、IP網の状況により突発的にパケットの受信間隔が変化するゆらぎが発生する場合があるが、このようなゆらぎに対して即時にバッファの増減をすることは、バッファ増減の頻度を増やすこととなり、バッファの増減処理自体が音声通話品質の著しい低下の原因となってしまう。   The occurrence of an overrun (or underrun) tendency occurs when the clock period of the transmitting terminal is slightly shorter (or longer) than the clock period of the receiving terminal, ignoring the influence of fluctuations in the propagation time of the IP network. Actually, the clock periods of both the transmitting terminal and the receiving terminal cannot coincide completely over a long period of time. Therefore, overrun or underrun is a problem that always occurs. The buffer is initialized as a countermeasure when an overrun or underrun occurs. In this case, the call quality is significantly deteriorated. Furthermore, there may occur fluctuations in which the packet reception interval suddenly changes depending on the situation of the IP network. Immediate increase / decrease of the buffer in response to such fluctuation increases the frequency of buffer increase / decrease. Thus, the buffer increase / decrease process itself causes a significant decrease in voice call quality.

そこで、オーバーランまたはアンダーラン発生時の対策として、バッファの初期化をせず、また、パケットの受信間隔が変動するゆらぎが発生しても即時にバッファの増減をすることもなく、あるいはバッファの初期化を行うこともなく、音声通話品質の著しい低下を防止することが解決すべき課題となっている。また、端末を移動した時や、通信量の大幅な変化があった時など、ネットワーク環境が大きく変化した場合でも、手動によるバッファサイズの変更をする必要がなく、人手による操作を加えずに安定した動作をする良好な保守性を得ることが望まれている。   Therefore, as a countermeasure when an overrun or underrun occurs, the buffer is not initialized, and even when fluctuations occur in the packet reception interval, the buffer is not immediately increased or decreased, or Preventing a significant drop in voice call quality without performing initialization is a problem to be solved. In addition, even when the network environment changes significantly, such as when the terminal is moved or when there is a significant change in traffic, there is no need to manually change the buffer size and it is stable without any manual operation. It is desired to obtain good maintainability for performing the above operation.

本発明は、上記の課題を解決することを最も主要な特徴とする。受信したパケットの受信データが格納される複数のバッファのうちに、受信パケットの受信データのオーバーランおよびアンダーランのラン傾向を検知するためのラン検知バッファを設定し、そにおける受信位置を解析することにより、ラン傾向を検知し、ラン傾向が検知されたときには、受信位置を補正する。突発的に発生するジッタに対しては、所定の期間における受信データの受信データロス率を測定し、それが大きい場合には、複数のバッファからなるバッファの数を増加せしめ、受信データの遅延パケット率を測定しそれが小さい場合には、前記複数のバッファからなるバッファの数を減少せしめ、受信から音声データ出力までの時間を短くするようにした。   The main feature of the present invention is to solve the above problems. Set up a run detection buffer to detect the tendency of overrun and underrun of the received data of the received packet among the multiple buffers that store the received data of the received packet, and analyze the reception position there Thus, the run tendency is detected, and when the run tendency is detected, the reception position is corrected. For sudden jitter, the received data loss rate of the received data in a predetermined period is measured, and if it is large, the number of buffers composed of a plurality of buffers is increased, and the received data delay packet When the rate was measured and it was small, the number of buffers consisting of the plurality of buffers was decreased to shorten the time from reception to audio data output.

本発明のIP電話のダイナミック・バッファ制御方法と装置によるならば、所定の期間、オーバーランとアンダーランの傾向を検知し、ラン傾向が続いたときに、それに合わせた受信位置および検知バッファの位置の補正をし、受信データロス率と遅延パケット率が所定の範囲外となったときにはバッファ数を増減するようにしたから、パケットの受信間隔の突発的なゆらぎに対して即応することもなくなり、バッファサイズ変更の頻度も大幅に減少し、突発的なゆらぎやオーバーランおよびアンダーランによる障害の発生を未然に防止し、音声通話品質を向上せしめると同時に高い保守性を得ることができた。   According to the dynamic buffer control method and apparatus of the IP telephone of the present invention, the tendency of overrun and underrun is detected for a predetermined period, and when the run tendency continues, the reception position and the position of the detection buffer are adjusted accordingly. Since the number of buffers was increased or decreased when the received data loss rate and the delayed packet rate were outside the predetermined range, there was no immediate response to sudden fluctuations in the packet reception interval, The frequency of buffer size changes has also been greatly reduced, preventing sudden fluctuations and failures due to overruns and underruns, improving voice call quality and at the same time achieving high maintainability.

所定の期間、受信データのロス率と遅延パケット率を確認するための受信データロス・遅延率確認器と、受信パケットのラン傾向を検出するためのラン傾向検知器と、それらの確認データやラン傾向にあわせてバッファの増減をし、受信位置とラン検知バッファの位置を補正するためのバッファ増減器と、受信・ラン検知位置補正器を設けることにより実現した。   A reception data loss / delay rate checker for confirming the loss rate and delay packet rate of received data for a predetermined period, a run tendency detector for detecting a run tendency of received packets, and the confirmation data and run This was realized by providing a buffer increase / decrease unit to correct the reception position and the position of the run detection buffer, and a reception / run detection position correction unit to increase / decrease the buffer according to the trend.

図1は、本発明の一実施例の構成図である。 パケット受信部5は、伝送路I/F部2を介してIP網に接続され、パケットを受信すると、受信パケット15をダイナミック・バッファ部6に送る。ダイナミック・バッファ部6は検知バッファを含んだ複数のバッファを含んでおり、受信パケット15がどのバッファに受信されたかを示す受信位置信号16と、検知バッファにおいて検知した検知バッファ信号17を、受信位置解析・制御部10に送る。   FIG. 1 is a block diagram of an embodiment of the present invention. The packet receiving unit 5 is connected to the IP network via the transmission path I / F unit 2 and, when receiving the packet, sends the received packet 15 to the dynamic buffer unit 6. The dynamic buffer unit 6 includes a plurality of buffers including a detection buffer. A reception position signal 16 indicating to which buffer the received packet 15 is received and a detection buffer signal 17 detected in the detection buffer are received as reception positions. The data is sent to the analysis / control unit 10.

受信位置解析・制御部10は受信位置信号16と検知バッファ信号17を受けて、受信パケット15の受信位置およびラン検知バッファの位置を解析し、制御するためのバッファ増減指示信号38と受信・ラン検知位置指示信号39をダイナミック・バッファ部6に送る。受信位置解析・制御部10の制御により、ダイナミック・バッファ部6は音声データ19を得て、それを音声符号化部7へ送る。音声符号化部7の出力は端末I/F部3を介して音声端末に印加される。音声端末からの音声信号は、端末I/F部3を介してパケット組立送信部8に印加され、その出力は伝送路I/F部2を介してIP網側に送られる。   The reception position analysis / control unit 10 receives the reception position signal 16 and the detection buffer signal 17, analyzes the reception position of the reception packet 15 and the position of the run detection buffer, and receives a buffer increase / decrease instruction signal 38 and a reception / run command. A detection position instruction signal 39 is sent to the dynamic buffer unit 6. Under the control of the reception position analysis / control unit 10, the dynamic buffer unit 6 obtains audio data 19 and sends it to the audio encoding unit 7. The output of the speech encoding unit 7 is applied to the speech terminal via the terminal I / F unit 3. A voice signal from the voice terminal is applied to the packet assembly / transmission unit 8 via the terminal I / F unit 3, and its output is sent to the IP network side via the transmission line I / F unit 2.

図2には、受信位置解析・制御部10の内部構成が、ダイナミック・バッファ部6と関係づけて示されている。受信位置解析・制御部10には、受信処理部20と再生処理部30が含まれている。受信処理部20には、位置計算用データ受信器21、受信データロス・遅延率確認器22およびラン傾向検知器23が含まれている。再生処理部30には、バッファ増減器31と受信・ラン検知位置補正器32が含まれている。受信位置信号16と検知バッファ信号17を受けた位置計算用データ受信器21は、受信位置信号16の時間的位置と検知バッファの位置を計算し、受信位置・ラン傾向信号27を受信データロス・遅延率確認器22およびラン傾向検知器23に送る。   FIG. 2 shows the internal configuration of the reception position analysis / control unit 10 in relation to the dynamic buffer unit 6. The reception position analysis / control unit 10 includes a reception processing unit 20 and a reproduction processing unit 30. The reception processing unit 20 includes a position calculation data receiver 21, a reception data loss / delay rate checker 22, and a run tendency detector 23. The reproduction processing unit 30 includes a buffer increase / decrease unit 31 and a reception / run detection position corrector 32. Upon receiving the reception position signal 16 and the detection buffer signal 17, the position calculation data receiver 21 calculates the temporal position of the reception position signal 16 and the position of the detection buffer, and receives the reception position / run tendency signal 27 as the reception data loss / The data is sent to the delay rate checker 22 and the run tendency detector 23.

受信データロス・遅延率確認器22は、受信位置・ラン傾向信号27を受けて、受信したパケットのロスの割合である受信データロス率Lと遅延パケットの割合である遅延パケット率Dを求める。受信データロス率Lは式(1)で求める。ここで、Tは所定の期間、Tは受信クロックの周期、Nは所定の期間Tの間に受信したパケットの数である。
=[{T/(TN)}−1]×100[%] (1)
式(1)において、たとえば、T=100T、N=99とすると、 Lは1%となる。{T/(TN)}<1ならばパケットロスが発生(たとえば、T=100T、N=101)している。パケットロスは、正常時に期待した時点よりもIP網におけるゆらぎ(ジッタ)により早期に受信パケット15を受けたときに発生する。遅延パケットは、正常時に期待した時点よりもIP網におけるゆらぎ(ジッタ)により遅れた時点で受信パケット15を受けたときに発生する。
The reception data loss / delay rate checker 22 receives the reception position / run tendency signal 27 and obtains a reception data loss rate L p that is a rate of loss of received packets and a delay packet rate D D that is a rate of delay packets. Ask. The reception data loss rate L p is obtained by equation (1). Here, T p is a predetermined period, T is the period of the reception clock, and N R is the number of packets received during the predetermined period T p .
L p = [{T p / (TN R )} − 1] × 100 [%] (1)
In the formula (1), for example, when T p = 100T and N R = 99, L p is 1%. If {T p / (TN R )} <1, packet loss occurs (for example, T p = 100T, N R = 101). The packet loss occurs when the received packet 15 is received earlier due to fluctuations (jitter) in the IP network than when expected at the normal time. The delayed packet is generated when the received packet 15 is received at a point delayed by fluctuation (jitter) in the IP network from a point expected at normal time.

図3には、突発的に遅延パケットが発生し、その発生率である遅延パケット率が小さくなった場合に対処するためのバッファ減少処理の動作が示されている。(a)には、受信パケット15の順序を示すSeq No.と、その受信タイミングが太線で示されている。(b)には、ダイナミック・バッファ部6に含まれたA〜Eの、たとえばバッファ・サイズ5のバッファ(FIFO:First In First Out)と、格納しているパケットのSeq No.が示されている。チE,チDと記されているのは、遅延検知バッファであることを表している。(a)の受信パケット15が(d)の受信クロックよりも遅れてくることを、遅延検知バッファのSeq No.を監視することにより、検出することができる。(c)には、音声データ19が出力されるタイミングとパケットのSeq No.が示されている。(d)には、音声の受信端末における周期Tの受信クロックが示されている。     FIG. 3 shows an operation of buffer reduction processing to cope with a case where a delay packet is suddenly generated and the delay packet rate, which is the generation rate, is reduced. In (a), the Seq No. indicating the order of the received packets 15 and the reception timing thereof are indicated by bold lines. In (b), buffers A to E included in the dynamic buffer unit 6, for example, a buffer size 5 (FIFO: First In First Out), and the Seq No. of the stored packet are shown. Yes. “E” and “D” indicate a delay detection buffer. It can be detected by monitoring the Seq No. of the delay detection buffer that the received packet 15 in (a) is delayed from the received clock in (d). (C) shows the timing at which the audio data 19 is output and the Seq No. of the packet. (D) shows a reception clock having a period T in the voice receiving terminal.

遅延検知バッファは、音声再生に一番近い(最も遅延した)位置にあるバッファチE,チDに設定され、それ以外のバッファA〜DまたはA〜Cに受信されることなく、直接に、遅延検知バッファチE,チDに受信されるパケットを遅延検知パケットと定義する。したがって、バッファA〜DまたはA〜Cに受信されてからシフトダウンより遅延検知バッファチEまたはチDに格納されるパケットは、遅延検知パケットではない。所定の期間Tにおいて受信した受信パケット数Nに対する遅延検知パケット数Nの割合である遅延パケット率Dは、式(2)のようになる。
=(N/N)×100[%] (2)
The delay detection buffer is set at the buffer positions E and D at the position closest to the audio reproduction (most delayed), and is directly received without being received by the other buffers A to D or A to C. A packet received by the detection buffers E and D is defined as a delay detection packet. Therefore, a packet that is received in the buffers A to D or A to C and then stored in the delay detection buffer E or D after the shift down is not a delay detection packet. Delayed packets ratio D D is the percentage of the delay detection packet number N D of the received packet number N R received in a predetermined period of time T p is as equation (2).
D D = (N D / N R ) × 100 [%] (2)

これを図3において説明すると、例えば、所定の期間Tを9T〜11T(実際にはもっと長い期間)に設定したとき、この期間9T〜11Tにおいては、(a)の受信パケット15のSeq No.10〜12が受信され(Seq No.12はt=11Tに受信したのと等価)受信パケット数N=2であり、t=9T、t=10T、t=11Tの各時点における遅延検知バッファはチE、チD、チDであり、A〜D(t=9T)またはA〜C(t=10T,11T)に受信することなく、直接に遅延検知バッファチE、チDに格納される受信パケットは存在しないから、遅延検知パケット数N=0となる。遅延パケット率Dは0%を得る。 Referring to the FIG. 3 this, for example, when setting the predetermined time period T p in 9T~11T (actually longer period), in this period 9T~11T, Seq No of the received packet 15 (a) .10-12 are received (Seq No. 12 is equivalent to that received at t = 11T). The number of received packets is N R = 2, and delay detection at each time point of t = 9T, t = 10T, and t = 11T The buffers are Chi E, Chi D, Chi D, and are stored in the delay detection buffers Chi E, Chi D directly without being received by AD (t = 9T) or AC (t = 10T, 11T). Since there is no received packet, the number of delay detection packets N D = 0. Delayed packets rate D D get 0%.

この遅延パケット率Dは、受信データロス率Lと同様に受信データロス・遅延率確認器22において求める。この遅延パケット率Dは、遅延パケット率Dの値が所定の値である許容遅延パケット率DDthの値より小さい場合には、バッファ・サイズ(バッファの数)が適正サイズよりも長過ぎると判断し、遅延検知バッファであるチEをt=9T+ΔTにおいて削除し、すなわち、バッファの数を減少せしめ、音声再生に一番近いバッファをチDとして遅延検知バッファにする。ここでTは、たとえば10msであり、ΔTは、たとえば10ns程度の時間である。
This delay packet rate D D is determined in the received data loss deferral rate validator 22 similarly to the received data loss rate L P. This delay packet rate D D, if the value of the delay packet rate D D is less than the value of the allowable delay packet rate D Dth is a predetermined value, the buffer size (number of buffers) is too long than the appropriate size Therefore, the delay E buffer C is deleted at t = 9T + ΔT, that is, the number of buffers is reduced, and the buffer closest to the audio reproduction is set as D to be a delay detection buffer. Here, T is, for example, 10 ms, and ΔT is, for example, about 10 ns.

図4には、バッファ減少処理を説明した図3の一部の時間軸を拡大した図を示している。t=10Tにおいては、(b)のダイナミック・バッファ部6のバッファAは、(a)の受信パケット15のSeq No.11を受信してはいないから未使用バッファになっている。(a)の受信パケット15のSeq No.11を受信した時点で、バッファAはSeq No.11を格納する。t=11Tになると、(b)のダイナミック・バッファ部6のデータはシフトされ、バッファAは、(a)の受信パケット15のSeq No.12を受信してはいないから未使用バッファになる。(a)の受信パケット15のSeq No.12を受信した時点で、バッファAはSeq No.12を格納する。ここで(a)の受信パケット15のSeq No.11は、t=10Tとt=11Tの間で受信しているが、t=11Tの時点では、t=10Tの時点で受信した場合と同じ結果になっている。   FIG. 4 is an enlarged view of a part of the time axis of FIG. 3 illustrating the buffer reduction process. At t = 10T, the buffer A of the dynamic buffer unit 6 in (b) is an unused buffer because Seq No. 11 of the received packet 15 in (a) has not been received. When Seq No. 11 of the received packet 15 in (a) is received, the buffer A stores Seq No. 11. When t = 11T, the data in the dynamic buffer unit 6 in (b) is shifted, and the buffer A becomes an unused buffer because Seq No. 12 of the received packet 15 in (a) has not been received. When Seq No. 12 of received packet 15 in (a) is received, buffer A stores Seq No. 12. Here, Seq No. 11 of the received packet 15 of (a) is received between t = 10T and t = 11T, but at the time of t = 11T, it is the same as when received at the time of t = 10T. It is the result.

図5には図3とは異なるタイミングで受信パケットを受信した場合のダイナミック・バッファ部6のバッファ減少処理における遅延パケット率算出の様子が説明されている。ダイナミック・バッファ部6は、バッファA〜Eから成り、Eは検知バッファになっている。t=T以前においては、(b)のダイナミック・バッファ部6のバッファA〜Eは空のままで、未使用バッファになっている。   FIG. 5 illustrates how the delay packet rate is calculated in the buffer reduction process of the dynamic buffer unit 6 when a received packet is received at a timing different from that in FIG. The dynamic buffer unit 6 includes buffers A to E, and E is a detection buffer. Before t = T, the buffers A to E of the dynamic buffer unit 6 in FIG. 6B remain empty and are unused buffers.

図5(a)の受信パケット15のSeq No.1をt=Tに受けるとバッファAに格納される。(a)の受信パケット15のSeq No.2〜5は、突発的ゆらぎ(ジッタ)のために正常な時点よりも遅れて受信している。(a)の受信パケット15のSeq No.6以降は正常なタイミングで受信している。たとえば、(a)の受信パケット15のSeq No.2は、正常ならばt=2Tで受信できる。それが、突発的ゆらぎにより3T≦t<4Tで受信したものであり、t=3Tで受信した場合と同じ結果となるので、t=3Tで受信したように図示している。同じく、(a)の受信パケット15のSeq No.3は5T≦t<6Tで、Seq No.4は5T≦t<6Tで、Seq No.5は9T≦t<10Tで受信した場合を表している。   When Seq No. 1 of the received packet 15 in FIG. 5A is received at t = T, it is stored in the buffer A. Seq Nos. 2 to 5 of the received packet 15 in (a) are received later than the normal time due to sudden fluctuation (jitter). From Seq No. 6 onward of the received packet 15 in (a), it is received at a normal timing. For example, Seq No. 2 of the received packet 15 in (a) can be received at t = 2T if normal. It is received at 3T ≦ t <4T due to sudden fluctuation, and the result is the same as when it is received at t = 3T, so that it is shown as received at t = 3T. Similarly, Seq No. 3 of the received packet 15 in (a) represents a case where 5T ≦ t <6T, Seq No. 4 is received with 5T ≦ t <6T, and Seq No. 5 is received with 9T ≦ t <10T. ing.

図5において、所定の期間Tを1T〜10Tに設定したとき(T=10T)、この期間1T〜10Tにおいては(a)の受信パケット15のSeq No.1〜10が受信(受信パケット数N=10)されている。(b)のダイナミック・バッファ部6の遅延検知バッファチEに、他のA〜Dを経由することなく、直接に格納したのは、t=9TにおけるSeq No.5のパケットのみである(遅延検知パケット数N=1)。遅延パケット率D=(N/N)×100[%]=10%となる。所定の遅延パケット率DDthよりも小さな遅延パケット率Dの値が所定の期間続いた場合には、バッファEは不要として、図3と4で説明したバッファ減少処理をする。ダイナミック・バッファ部6のバッファ数が減少することにより、受信から音声データ19の再生までの時間が短縮されて、音質が向上する。 In FIG. 5, when a predetermined period T p is set to 1T to 10T (T p = 10T), Seq Nos. 1 to 10 of the received packet 15 of (a) are received (received packet) during this period 1T to 10T. The number N R = 10). Only the packet of Seq No. 5 at t = 9T is directly stored in the delay detection buffer E of the dynamic buffer unit 6 in (b) without passing through other A to D (delay detection). Number of packets N D = 1). Delay packet rate D D = (N D / N R ) × 100 [%] = 10%. If the value of the small delay packet rate D D than the predetermined delay packet rate D Dth lasted a predetermined period of time, the buffer E as required, to the buffer decreasing process described in FIG. 3 and 4. By reducing the number of buffers in the dynamic buffer unit 6, the time from reception to reproduction of the audio data 19 is shortened, and the sound quality is improved.

式(1)および(2)で求めた受信データロス率Lおよび遅延パケット率Dは、ロス・遅延率信号28として受信データロス・遅延率確認器22から出力されて再生処理部30に含まれたバッファ増減器31に印加される。 ラン傾向検知器23は、受信位置・ラン傾向信号27を受けて、受信パケット15がダイナミック・バッファ部6に含まれた複数バッファのうちのラン検知バッファとして指定したバッファに受信されたかを検知し、それによりラン傾向を確認して、受信位置・ラン傾向確認信号29を出力する。 Receive data loss rate L p and the delay packet rate D D obtained by the formula (1) and (2), the Los delay rate signal 28 the reproduction processing unit 30 is output from the received data loss deferral rate validator 22 as It is applied to the included buffer increase / decrease unit 31. The run tendency detector 23 receives the reception position / run tendency signal 27 and detects whether the received packet 15 is received by a buffer designated as a run detection buffer among a plurality of buffers included in the dynamic buffer unit 6. Thus, the run tendency is confirmed, and the reception position / run tendency confirmation signal 29 is output.

バッファ増減器31は、ロス・遅延率信号28を受けて、ダイナミック・バッファ部6に含まれた複数バッファの数を増加すべきか減少すべきかを判断し、必要に応じて検知バッファを設定し変更するべく、バッファ増減指示信号38をダイナミック・バッファ部6に送る。受信・ラン検知位置補正器32は受信位置・ラン傾向確認信号29を受けて、ダイナミック・バッファ部6に含まれた複数バッファのどのバッファに次の受信データ15を格納すべきか指示する受信・ラン検知位置指示信号39をダイナミック・バッファ部6に送る。   The buffer increase / decrease unit 31 receives the loss / delay rate signal 28, determines whether the number of the plurality of buffers included in the dynamic buffer unit 6 should be increased or decreased, and sets and changes the detection buffer as necessary. Therefore, a buffer increase / decrease instruction signal 38 is sent to the dynamic buffer unit 6. The reception / run detection position corrector 32 receives the reception position / run tendency confirmation signal 29 and instructs the buffer / buffer in the plurality of buffers included in the dynamic buffer unit 6 to store the next reception data 15. A detection position instruction signal 39 is sent to the dynamic buffer unit 6.

図6には、受信データロス率Lが大きい場合に対処するためのバッファ増加処理の動作が示されている。(a)には、受信パケット15の順序を示すSeq No.と、その受信タイミングが太線で示されている。(b)には、ダイナミック・バッファ部6に含まれたA〜E(F)の、たとえばバッファ・サイズ5(6)のバッファ(FIFO:First In First Out)と、格納しているパケットのSeq No.が示されている。(c)には、音声データ19が出力されるタイミングとパケットのSeq No.が示されている。(d)には、受信端末における周期Tの受信クロックが示されている。 FIG. 6 shows an operation of buffer increase processing for coping with a case where the reception data loss rate L p is large. In (a), the Seq No. indicating the order of the received packets 15 and the reception timing thereof are indicated by bold lines. (B) includes, for example, buffers (FIFO: First In First Out) of A to E (F) included in the dynamic buffer unit 6, and Seq of the stored packet. No. is shown. (C) shows the timing at which the audio data 19 is output and the Seq No. of the packet. (D) shows a reception clock having a period T at the receiving terminal.

同図(d)の受信クロックの時刻t=9T以前の所定の期間Tにおいて受信データロス(パケットロス)率Lの値が、所定の値Lpthよりも大きいと受信データロス・遅延率確認器22において判定され、時刻t=9Tの直後(t=9T+ΔT、ただし、0<ΔT<<T:例えばΔT=10ns、T=10ms)において、バッファEの過去側に無音データの書き込まれたバッファFを追加する増加処理を行う。時刻t=10Tにおいては、時刻9T<t<10Tの間に受けた(a)のSeq No.11の受信パケット15をバッファAに書き込み、以下順にシフトして、Bに10を、Cに9を、Dに8を、Eに7をシフトし、Fに無音を格納して、(c)の音声データ19として無音を出力する。このようにして、未使用バッファの発生は、防止される。 If the value of the reception data loss (packet loss) rate L p is larger than the predetermined value L pth in the predetermined period T p before the time t = 9T of the reception clock in FIG. Immediately after time t = 9T (t = 9T + ΔT, where 0 <ΔT << T: for example, ΔT = 10 ns, T = 10 ms), the silent data is written to the past side of the buffer E. Increase processing for adding the buffer F is performed. At time t = 10T, the received packet 15 of Seq No. 11 of (a) received during time 9T <t <10T is written to the buffer A, shifted in the following order, 10 to B, 9 to C , 8 in D, 7 in E, silence is stored in F, and silence is output as audio data 19 in (c). In this way, the generation of unused buffers is prevented.

図7には、バッファ増加処理を説明した図6の一部の時間軸を拡大した図を示している。t=9Tにおいて、(b)のダイナミック・バッファ部6のバッファAは、(a)の受信パケット15のSeq No.10を受信し格納する。その直後の時点91においてシフトダウンされて、バッファAはSeq No.11を書き込み可能な未使用バッファとなる。さらに、時点92において、無音データの書き込まれたバッファFを追加する増加処理を行う。この増加処理においてバッファAを未使用にしてSeq No.11の印加を待つ。(a)の受信パケット15のSeq No.11を受信した時点で、バッファAはSeq No.11を格納する。バッファFには、無音が格納されている。t=10Tになると、バッファFの無音のデータは、(c)の音声データ19として出力される。t=10Tの直後の時点101において格納データをシフトダウンしてバッファAを未使用にしてSeq No.12の印加を待つ。(a)の受信パケット15のSeq No.12を受信した時点で、バッファAはSeq No.12を格納する。   FIG. 7 is an enlarged view of a part of the time axis of FIG. 6 for explaining the buffer increase processing. At t = 9T, the buffer A of the dynamic buffer unit 6 in (b) receives and stores Seq No. 10 of the received packet 15 in (a). At a time point 91 immediately after that, the buffer A becomes an unused buffer to which Seq No. 11 can be written. Further, at time 92, an increase process for adding a buffer F in which silence data is written is performed. In this increase processing, the buffer A is not used and the application of Seq No. 11 is awaited. When Seq No. 11 of the received packet 15 in (a) is received, the buffer A stores Seq No. 11. The buffer F stores silence. When t = 10T, the silent data in the buffer F is output as the audio data 19 in (c). At time 101 immediately after t = 10T, the stored data is shifted down, the buffer A is not used, and the application of Seq No. 12 is awaited. When Seq No. 12 of received packet 15 in (a) is received, buffer A stores Seq No. 12.

図8には、ダイナミック・バッファ部6のオーバーラン補正処理のバッファ動作が示されている。(a)には、受信パケット15の順序を示すSeq No.と、その受信タイミングが太線で示されている。(b)には、ダイナミック・バッファ部6に含まれたa,A〜Eの、たとえばバッファ・サイズ5+1のバッファ(FIFO:First In First Out)と、格納しているパケット(音声データ)のSeq No.が示されている。オaと記されているのは、オーバーラン検知バッファであることを表している。受信パケット15が受信クロックよりも短い周期である(オーバーラン傾向にある)ことを、オーバーラン検知バッファのSeq No.を監視することにより、検出することができる。(c)には、音声データ19が出力されるタイミングとパケットのSeq No.が示されている。(d)には、受信端末における周期Tの受信クロックが示されている。   FIG. 8 shows the buffer operation of the overrun correction process of the dynamic buffer unit 6. In (a), the Seq No. indicating the order of the received packets 15 and the reception timing thereof are indicated by bold lines. (B) includes, for example, a buffer of 5 + 1 buffer size (FIFO: First In First Out) included in the dynamic buffer unit 6 and a packet (voice data) stored therein. Seq No. is shown. “O” indicates that the buffer is an overrun detection buffer. It can be detected by monitoring the Seq No. of the overrun detection buffer that the received packet 15 has a cycle shorter than the reception clock (which tends to be overrun). (C) shows the timing at which the audio data 19 is output and the Seq No. of the packet. (D) shows a reception clock having a period T at the receiving terminal.

オーバーラン対策用のバッファとして、バッファオaをバッファAの未来側(Aの上)に設けている。オーバーラン傾向にある(a)の受信パケット15のSeq No.10を受けても、それをオーバーラン対策用のバッファオaに格納することができる。バッファオaに格納されたことは、オーバーラン傾向にあることを意味するから、t=9T+ΔT(0<ΔT<<T)の時点で格納してあるデータを1バッファ分シフトダウンし、AにはSeq No.10のデータを格納し、BにはSeq No.9のデータを格納し、・・・EにはSeq No.6のデータを格納する。バッファオaはSeq No.11のデータを格納することが可能な状態になっている。(a)の受信パケット15のSeq No.11を受けると、バッファオaはSeq No.11のデータを格納する。   A buffer A is provided on the future side (above A) of the buffer A as a buffer for overrun countermeasures. Even if Seq No. 10 of the received packet 15 of (a) which tends to be overrun is received, it can be stored in the buffer a for countermeasure against overrun. Since the data stored in the buffer a means that there is an overrun tendency, the data stored at the time of t = 9T + ΔT (0 <ΔT << T) is shifted down by one buffer, and A Stores Seq No. 10 data, B stores Seq No. 9 data,... E stores Seq No. 6 data. The buffer a is in a state where the data of Seq No. 11 can be stored. Upon receipt of Seq No. 11 of the received packet 15 of (a), the buffer a stores the data of Seq No. 11.

t=10Tになると1バッファ分シフトして、バッファAはSeq No.11のデータを格納して、Seq No.7の(c)音声データ19を出力し、バッファaにSeq No.12のデータを格納することができる状態(未使用バッファ)となる。未使用バッファであったオーバーラン検知バッファaに書き込みがあった(t=9T)ことを検出することにより、オーバーラン補正処理が可能となる。   When t = 10T, the data is shifted by one buffer, buffer A stores the data of Seq No. 11, outputs (c) audio data 19 of Seq No. 7, and the data of Seq No. 12 to buffer a Can be stored (unused buffer). By detecting that there is a write in the overrun detection buffer a which was an unused buffer (t = 9T), overrun correction processing becomes possible.

図9には、オーバーラン補正処理を説明した図8の一部の時間軸を拡大した図を示している。t=9Tにおいて、オーバーラン傾向にある(a)の受信パケット15のSeq No.10を受けて、オーバーラン対策用のバッファaに格納する。バッファオaに格納されたことは、オーバーラン傾向にあることを意味するから、t=9T+ΔT(0<ΔT<<T)の時点91で格納してあるデータを1バッファ分シフトダウンし、AにはSeq No.10のデータを格納し、BにはSeq No.9のデータを格納し、・・・EにはSeq No.6のデータを格納する。   FIG. 9 is an enlarged view of a part of the time axis of FIG. 8 illustrating the overrun correction process. At t = 9T, Seq No. 10 of the received packet 15 of (a) that tends to overrun is received and stored in the buffer a for overrun countermeasures. Since the fact that the data is stored in the buffer a means that there is an overrun tendency, the data stored at the time point 91 of t = 9T + ΔT (0 <ΔT << T) is shifted down by one buffer, A stores data of Seq No. 10, B stores data of Seq No. 9,... E stores Seq No. 6 data.

バッファオaはSeq No.11のデータを格納することが可能な状態になっている。(a)の受信パケット15のSeq No.11を受けると、バッファオaはSeq No.11のデータを格納する。t=10Tになると1バッファ分シフトして、バッファAはSeq No.11のデータを格納して、Seq No.7の(c)音声データ19を出力する。バッファオaはSeq No.12のデータを格納することができる状態(未使用バッファ)となる。(a)の受信パケット15のSeq No.12を受けると、バッファオaはSeq No.12のデータを格納する。かくして、未使用バッファであったオーバーラン検知バッファオaに書き込みがあった(t=9Tほか)ことを検出することにより、オーバーラン補正処理が可能となる。   The buffer a is in a state where the data of Seq No. 11 can be stored. Upon receipt of Seq No. 11 of the received packet 15 of (a), the buffer a stores the data of Seq No. 11. When t = 10T, the data is shifted by one buffer, the buffer A stores the data of Seq No. 11, and outputs (c) audio data 19 of Seq No. 7. The buffer a is in a state (unused buffer) in which data of Seq No. 12 can be stored. When Seq No. 12 of the received packet 15 in (a) is received, the buffer a stores the data of Seq No. 12. Thus, the overrun correction process can be performed by detecting that the overrun detection buffer a which was an unused buffer has been written (t = 9T, etc.).

図10には、図8および図9に示したタイミングからかなり経過したタイミングで受信パケット15を受信した場合のオーバーラン補正処理時の時間軸拡大図を示している。ここでは、49T≦t<50Tの間に(a)の受信パケット15のSeq No.51と52の2個のパケットを受信した場合の補正処理を示している。(a)の受信パケット15のSeq No.50を受けると、それをバッファオaに格納する。t=49Tになると、シフトダウンして、バッファオaはSeq No.51を受信することのできる未使用バッファとなり、(c)の音声データ19としてSeq No.46のデータを出力する。(a)の受信パケット15のSeq No.51を受信すると、それを未使用のバッファオaに格納する。その直後の時点107においてシフトダウンしてバッファオaを(a)の受信パケット15のSeq No.52を受信可能とする未使用バッファとして設定する。   FIG. 10 shows an enlarged view of the time axis at the time of overrun correction processing when the received packet 15 is received at a timing considerably elapsed from the timing shown in FIGS. Here, correction processing is shown when two packets of Seq No. 51 and 52 of the received packet 15 of (a) are received during 49T ≦ t <50T. When Seq No. 50 of the received packet 15 of (a) is received, it is stored in the buffer a. When t = 49T, the buffer is shifted down and the buffer a becomes an unused buffer capable of receiving Seq No. 51, and the data of Seq No. 46 is output as the audio data 19 of (c). When Seq No. 51 of the received packet 15 of (a) is received, it is stored in the unused buffer a. At time 107 immediately after that, the buffer a is set as an unused buffer that can receive Seq No. 52 of the received packet 15 in FIG.

さらに、すでにオーバーラン傾向を検知して所定の時間が経過しているために、時点107の動作に続いて時点108においてもシフトダウンしてバッファオaをSeq No.53を受信可能とする未使用バッファとして設定する。バッファAはSeq No.52を受信可能とする未使用バッファであり、バッファB〜EにはSeq No.51〜48のデータが格納され、Seq No.47のデータは破棄される。(a)の受信パケット15のSeq No.52を受信すると、未使用であったバッファAに格納する。その直後の時点t=50Tにおいて、Seq No.48のデータが(c)の音声データ19として出力される。   Furthermore, since a predetermined time has elapsed since the overrun tendency has already been detected, the buffer A is not used so that it can receive Seq No. 53 by shifting down at time 108 following the operation at time 107. Set as a buffer. The buffer A is an unused buffer that can receive Seq No. 52. The data of Seq No. 51 to 48 is stored in the buffers B to E, and the data of Seq No. 47 is discarded. When Seq No. 52 of the received packet 15 of (a) is received, it is stored in the unused buffer A. Immediately after that, at time t = 50T, the data of Seq No. 48 is output as the audio data 19 of (c).

図11には、ダイナミック・バッファ部6のアンダーラン補正処理のバッファ動作が示されている。(a)には、受信パケット15の順序を示すSeq No.と、その受信タイミングが太線で示されている。(b)には、ダイナミック・バッファ部6に含まれたA〜Eの、たとえばバッファ・サイズ5のバッファ(FIFO:First In First Out)と、格納しているパケット(音声データ)のSeq No.が示されている。アBと記されているのは、バッファBがアンダーラン検知バッファであることを表している。受信パケット15が受信クロックよりも長い周期で来る(アンダーラン傾向にある)ことを、アンダーラン検知バッファのSeq No.を監視することにより、検出することができる。(c)には、音声データ19が出力されるタイミングとパケット(音声データ)のSeq No.が示されている。(d)には、受信端末における周期Tの受信クロックが示されている。   FIG. 11 shows the buffer operation of the underrun correction process of the dynamic buffer unit 6. In (a), the Seq No. indicating the order of the received packets 15 and the reception timing thereof are indicated by bold lines. In (b), for example, a buffer size 5 (FIFO: First In First Out) of A to E included in the dynamic buffer unit 6 and the Seq No. of the stored packet (voice data) are shown. It is shown. “A” indicates that the buffer B is an underrun detection buffer. It can be detected by monitoring the Seq No. of the underrun detection buffer that the received packet 15 comes in a cycle longer than the reception clock (which tends to underrun). (C) shows the output timing of the audio data 19 and the Seq No. of the packet (audio data). (D) shows a reception clock having a period T at the receiving terminal.

アンダーラン対策用のバッファとして、バッファBをバッファAの過去側(Aの下)に設けている。アンダーラン傾向にある(a)の受信パケット15を続けて受けると、(d)の受信クロックの1周期Tの間に、(a)の受信パケット15を1個も受信することができない場合が発生するので、未使用バッファ(xx)が連続して発生することがある。それが所定の回数続いた時点t=10Tにおいては、バッファAとBが未使用になっている。その後Seq No.10をバッファAを経ることなくバッファBに直接受信し、バッファAはSeq No.11のデータを格納可能な未使用バッファとなり、バッファアBにはSeq No.10のデータを格納し、・・・Eには無音のデータを格納する。 t=11Tになると、(c)の音声データ19として無音を出力する。バッファAは、Seq No.11のデータを格納することができる未使用バッファのままである。その後Seq No.11の(a)の受信パケット15を受けてバッファAはSeq No.11のデータを格納することができる。このアンダーラン補正処理により未使用バッファの増加を防止することができる。   Buffer B is provided on the past side of buffer A (below A) as a buffer for countermeasures against underrun. When receiving the received packet 15 of (a) that tends to underrun, it may not be possible to receive any of the received packets 15 of (a) during one period T of the received clock of (d). As a result, unused buffers (xx) may occur continuously. At the time point t = 10T when this has continued for a predetermined number of times, the buffers A and B are unused. After that, Seq No. 10 is directly received by Buffer B without going through Buffer A, Buffer A becomes an unused buffer that can store Seq No. 11 data, and Buffer A B stores Seq No. 10 data. , ... E stores silent data. When t = 11T, silence is output as the audio data 19 of (c). The buffer A remains an unused buffer that can store the data of Seq No. 11. Thereafter, upon receipt of the received packet 15 of Seq No. 11 (a), the buffer A can store the data of Seq No. 11. This underrun correction process can prevent an increase in unused buffers.

図12には、アンダーラン補正処理を説明した図11の一部の時間軸を拡大した図を示している。t=10T以前においてバッファAが常に未使用であることをウォッチし続け、アンダーラン傾向を検知している。t=10Tにおいて、バッファAとBは未使用であり、アンダーラン傾向は続いている。(a)の受信パケット15のSeq No.10を受けて、バッファAおよびアンダーラン検知バッファBを経ることなく、アンダーラン検知バッファBまたはそれよりも過去側(バッファC,D,E)のバッファCに直接格納する。バッファCに直接受信したことは、アンダーラン傾向が長い期間続いたことを意味するから、受信パケット15のSeq No.10を受けた直後の時点105において出力側に近いバッファEに無音のデータを格納する。 t=11Tになると、(c)音声データ19として無音を出力し、バッファAは、Seq No.11のデータを格納することができる未使用バッファとなる。その後Seq No.11の(a)の受信パケット15を受けてバッファAはSeq No.11のデータを格納する。このアンダーラン補正処理により未使用バッファの増加を防止する。   FIG. 12 is an enlarged view of a part of the time axis of FIG. 11 for explaining the underrun correction processing. Before t = 10T, it keeps monitoring that the buffer A is always unused, and detects an underrun tendency. At t = 10T, buffers A and B are unused and the underrun trend continues. In response to Seq No. 10 of the received packet 15 of (a), the buffer of the underrun detection buffer B or the past side (buffers C, D, E) without passing through the buffer A and the underrun detection buffer B Store directly in C. The fact that the direct reception in the buffer C means that the underrun tendency has continued for a long period of time, so that at the time 105 immediately after receiving the Seq No. 10 of the received packet 15, the silent data is stored in the buffer E near the output side Store. When t = 11T, (c) silence is output as the audio data 19, and the buffer A becomes an unused buffer capable of storing Seq No. 11 data. Thereafter, upon receipt of the received packet 15 of (a) of Seq No. 11, the buffer A stores the data of Seq No. 11. This underrun correction process prevents an increase in unused buffers.

図13および図14は、受信位置解析・制御部10に含まれた受信処理部20の動作の流れを示している。動作が開始すると、ダイナミック・バッファ部6のバッファをすべて空にして、バッファAにSeq No.1の受信パケット15を受信できるようにする。すなわち、バッファAを未使用バッファ(1)にして仮初期化する(S11、図13)。バッファに受信パケット15を受けるのを待っており(S12)、受信パケット15を受けて受信割り込みを検知する(S13Y)。その受信割り込みが通話開始後最初の受信、あるいは、IP網における伝搬時間のゆらぎやラン傾向により受信パケット15の一部が欠落して通話が中断し、その後の通話開始後最初の受信であることを確認したときには(S14Y)、バッファを初期化して次に受信すべき受信パケット15のSeq No.に対して未使用バッファ(xx)を準備する(S15)。   13 and 14 show the flow of operations of the reception processing unit 20 included in the reception position analysis / control unit 10. When the operation starts, all the buffers of the dynamic buffer unit 6 are emptied so that the buffer A can receive the received packet 15 of Seq No. 1. That is, the buffer A is set to an unused buffer (1) and temporarily initialized (S11, FIG. 13). Waiting to receive the received packet 15 in the buffer (S12), receiving the received packet 15 and detecting a reception interrupt (S13Y). The reception interruption is the first reception after the start of the call or the first reception after the start of the subsequent call because a part of the received packet 15 is lost due to the fluctuation of the propagation time in the IP network or the run tendency. (S14Y), the buffer is initialized and an unused buffer (xx) is prepared for the Seq No. of the received packet 15 to be received next (S15).

通話開始後最初の受信ではなく(S14N)、あるいは初期化した場合は(S15)、受信パケット15のSeq No.Nが、格納対象のSeq No.に対して、過去のものとなっているか、格納対象なのか、未だ格納対象となっていない未来のものであるかを判断する(S16、図14)。過去の場合は、すでに格納対象とはなっていないから、その受信データ(受信パケット15)の破棄をし(S17)、データ破棄数Nをカウントする(S18)。データ破棄数Nをカウントすることによって、処理不要なデータ数を知ることができる。 If Seq No. N of received packet 15 is not the first received after the start of the call (S14N) or if it is initialized (S15), is Seq No. It is determined whether it is a storage object or a future object that has not yet been stored (S16, FIG. 14). For the past, because not in the already stored object, the discarding of the received data (received packet 15) (S17), counting the data discard number N A (S18). By counting the data discard number N A, it is possible to know the number of processing unnecessary data.

格納対象となっている場合は、ダイナミック・バッファ部6にデータを書き込んでSeq No.を更新する(S19)。受信パケット15のSeq No.が格納対象よりも未来のものである(受信パケットの一部が欠落した)場合は、ダイナミック・バッファ6を再構築して、以後のSeq No.の受信パケット15を格納できるように未使用バッファ(xx)を設定する(S20)。   If it is to be stored, the data is written in the dynamic buffer unit 6 and the Seq No. is updated (S19). If the Seq No. of the received packet 15 is in the future than the storage target (a part of the received packet is missing), the dynamic buffer 6 is reconstructed and the received packet 15 of the subsequent Seq No. An unused buffer (xx) is set so that it can be stored (S20).

受信位置信号16により受けたデータが、位置計算用データであることを位置計算用データ受信器21において確認すると(S21Y)、受信パケット15の受信データロス率Lを確認する処理をし(S22)、パケット受信位置の確認処理をしてステップS12(図13)の動作に戻る(S23)。 When the position calculation data receiver 21 confirms that the data received by the reception position signal 16 is position calculation data (S21Y), a process of checking the reception data loss rate L p of the reception packet 15 is performed (S22). ) The packet reception position is confirmed, and the operation returns to the operation of step S12 (FIG. 13) (S23).

図15には、図14ステップS22のデータロス率確認処理のサブルーチンが示されている。データロス率確認処理が開始されると、受信データロス率Lを分析するタイミングであれば(S31Y)、図10の時点108に示した受信データ破棄をしたデータ破棄数Nと受信パケット数Nとから受信データロス率Lと遅延パケット率Dを式(1)および式(2)により計算する。 FIG. 15 shows a subroutine of the data loss rate confirmation processing in step S22 of FIG. When the data loss rate confirmation processing is started, the received data loss rate L p is the timing for analyzing the received data loss rate L p (S31Y), and the received data discard number N A and the received packet number shown at time 108 in FIG. From N R , the received data loss rate L p and the delayed packet rate D D are calculated by Equations (1) and (2).

受信データロス率Lが所定の受信データロス率Lpthと比較され、L≧Lpthとなっていたときには(S33Y)、図6で示したバッファ増加処理をするためにバッファ増加ビット(Incbit)をオン(ON)にし(S34)、データ破棄数Nを0にリセットして(S35)、受信データロス率確認処理(S22、図14)は終了する。分析するタイミングでもなく(S31N)、L≧Lpthとなっていないときにも(S33N)、受信データロス率確認処理(S22、図14)は終了する。 When the reception data loss rate L p is compared with a predetermined reception data loss rate L pth and L p ≧ L pth is satisfied (S33Y), the buffer increase bit (Incbit) is used to perform the buffer increase processing shown in FIG. ) was turned on (oN) (S34), the data discard number N a is reset to 0 (S35), the received data loss rate confirmation process (S22, FIG. 14) ends. The reception data loss rate confirmation process (S22, FIG. 14) ends even when it is not time to analyze (S31N) and L p ≧ L pth is not satisfied (S33N).

図16および図17には、図14ステップS23のパケット受信位置確認処理のサブルーチンが示されている。パケット受信位置確認処理が開始されると、受信パケット15が、たとえば、図11のバッファのどの位置Xに受信しているか(図11では、X=アB、)を、受信位置により計算する(S51、図16)。 FIGS. 16 and 17 show a subroutine of the packet reception position confirmation process in step S23 of FIG. When the packet reception position confirmation process is started, for example, at which position X i of the buffer in FIG. 11 the received packet 15 is received (X i = A B in FIG. 11) is calculated based on the reception position. (S51, FIG. 16).

受信位置Xにより、分析するタイミングであることを確認すると(S52Y)、バッファ減少判定処理係数β[%]を計算する。たとえば、図3(b)ダイナミック・バッファ部6のt=9Tにおいて、遅延検知バッファチEに他のバッファA〜Dを経ることなく、受信パケット15の100個のうちの何個が直接受信されるかを検出し、たとえば、2個が検出された場合は、β=2%と計算する。このバッファ減少判定処理係数βを所定のバッファ減少判定処理係数βth(たとえば、3%)と比較し、β<βthならば(S54Y)、図3で示したバッファ減少処理をするためにバッファ減少ビット(Decbit)をオン(ON)にし(S55)、オーバーラン検知ステップS56(図17)へと進む。ステップS54(図14)においてβ<βthでない場合も(S54N)、オーバーラン検知ステップS56(図17)へと進む。 By receiving the position X i, when confirming that it is time to analyze (S52Y), the buffer reduces determination processing coefficients β calculating a [%]. For example, at t = 9T of the dynamic buffer unit 6 in FIG. 3B, some of the 100 received packets 15 are directly received by the delay detection buffer E without passing through the other buffers A to D. For example, when two are detected, β = 2% is calculated. The buffer decrease determination processing coefficient β is compared with a predetermined buffer decrease determination processing coefficient β th (for example, 3%). If β <β th (S54Y), the buffer decrease processing is performed to perform the buffer decrease processing shown in FIG. The decrease bit (Decbit) is turned on (S55), and the process proceeds to the overrun detection step S56 (FIG. 17). Step S54 may not be beta <beta th (FIG. 14) proceeds to (S54N), the overrun detection step S56 (FIG. 17).

オーバーラン検知バッファ(図8参照)により、オーバーランを検知した場合には(S56Y、図17)、オーバービット(Overbit)をオン(ON)にする(図8のオaをAの上に付加する)(S57)。アンダーランを検知すると(S56N、S58Y)、アンダービット(Underbit)をオン(ON)にする(図11のt=10T+ΔTにおいて最も過去側に無音データを挿入する)(S59)。そこで、次回に備えて受信位置を解析する周期mをm+1にインクリメントし(S60)、受信位置の指標iをi+1にインクリメントして、パケット受信位置確認処理のサブルーチンは終了する(S61)。ここで、アンダーランを検知しなかった場合(S58N)も、ステップS60へと進む。分析するタイミングではなかった場合(S52N、図16)も、ステップS61へと進む。   When an overrun is detected by the overrun detection buffer (see FIG. 8) (S56Y, FIG. 17), the overbit (Overbit) is turned on (ON in FIG. 8 is added on A). (S57). When the underrun is detected (S56N, S58Y), the underbit (Underbit) is turned on (ON) (silence data is inserted on the most past side at t = 10T + ΔT in FIG. 11) (S59). Therefore, in preparation for the next time, the period m for analyzing the reception position is incremented to m + 1 (S60), the index i of the reception position is incremented to i + 1, and the packet reception position confirmation processing subroutine ends (S61). ). If no underrun is detected (S58N), the process proceeds to step S60. Even if it is not time to analyze (S52N, FIG. 16), the process proceeds to step S61.

図18には、受信位置解析・制御部10に含まれた再生処理部30の動作の流れを示している。再生割り込みを検知すると(S81Y)、バッファ内の最古格納データは、図3などの(c)の音声データ19として再生される(S82)。そこで、バッファに最新格納データのSeq No.に+1したSeq No.をもつBFI(仮番号)データを未使用バッファ(xx)としてセットする(S83)。   FIG. 18 shows a flow of operations of the reproduction processing unit 30 included in the reception position analysis / control unit 10. When the reproduction interruption is detected (S81Y), the oldest stored data in the buffer is reproduced as the audio data 19 of (c) of FIG. 3 (S82). Therefore, BFI (provisional number) data having a Seq No. that is equal to the Seq No. of the latest stored data is set as an unused buffer (xx) in the buffer (S83).

オーバーラン検知(S57、図17)およびアンダーラン検知(S59、図17)の結果により、受信パケットの位置補正の必要性を調べる(S84)。オーバーランが検知されOverbit ONになっている場合は、オーバーラン補正処理に入る(S85)。アンダーランが検知されUnderrbit ONになっている場合は、アンダーラン補正処理に入る(S86)。それぞれの補正処理を必要とする場合および必要としない場合に、バッファ増減処理の必要性を調べる(S87)。バッファ増加を必要とする場合は(図6)、バッファ増加処理をする(S88)。バッファ減少を必要とする場合は(図4)、バッファ減少処理をする(S89)。バッファ増減処理をした後、および同処理をする必要のない場合は、ステップS83の動作に戻る。   Based on the results of overrun detection (S57, FIG. 17) and underrun detection (S59, FIG. 17), the necessity of position correction of the received packet is examined (S84). When overrun is detected and Overbit is ON, the overrun correction process is started (S85). If underrun is detected and Underrbit ON, underrun correction processing is entered (S86). The necessity of buffer increase / decrease processing is examined when each correction processing is required and when it is not required (S87). If buffer increase is required (FIG. 6), buffer increase processing is performed (S88). If buffer reduction is required (FIG. 4), buffer reduction processing is performed (S89). After performing the buffer increase / decrease process and when it is not necessary to return to the operation in step S83.

図19にはオーバーラン補正処理(S85、図18)のサブルーチンが示されている。オーバーラン補正処理が開始されると、無音検出ビットがON(図11のt=10T+ΔTのバッファEに無音データを書き込む)になっているか、又はオーバーランあるいはアンダーランの傾向が所定の時間継続したことを示すタイマー・ビット1がONになっているかを調べる(S101)。いずれもONになっていない場合には、オーバーラン補正処理を必要とはしない(S101N)。   FIG. 19 shows a subroutine of overrun correction processing (S85, FIG. 18). When the overrun correction process is started, the silence detection bit is ON (silence data is written in the buffer E of t = 10T + ΔT in FIG. 11), or the tendency of overrun or underrun is a predetermined time. It is checked whether or not the timer bit 1 indicating the continuation is ON (S101). If neither is ON, overrun correction processing is not required (S101N).

無音検出ビット又はタイマー・ビット1がONになっている場合には(S101Y)、バッファ内の最古パケット(図8、t=9TのバッファE)を破棄し、BFIデータに変換する(S102)。すなわち、図8のt=9Tのバッファa,A〜Eのデータ内容から、t=9T+ΔTのバッファa,A〜Eのデータ内容にする。そこで、BFIデータ変換後の最初のパケット(図8のSeq No.11の受信パケット15)を最適受信位置(図8のt=10TにおけるバッファA)に再配置し、その他の有音パケットも適正位置に再配置(図8のt=10TにおけるバッファB〜Eのように)する(S103)。再配置が終わると、無音検出ビットを0にし(図11のt=11Tの状態)、タイマー・ビット1を0にリセットし(ラン傾向監視期間のスタートにし)、オーバー・ビットを0(オーバーラン補正処理の前の図8のt=9Tの状態)にリセットして、オーバーラン補正処理のサブルーチンを終了する(S104)。   If the silence detection bit or timer bit 1 is ON (S101Y), the oldest packet in the buffer (FIG. 8, t = 9T buffer E) is discarded and converted to BFI data (S102). . That is, the data contents of the buffers a and A to E at t = 9T + ΔT are changed from the data contents of the buffers a and A to E at t = 9T in FIG. Therefore, the first packet after the BFI data conversion (the received packet 15 of Seq No. 11 in FIG. 8) is rearranged at the optimal reception position (buffer A at t = 10T in FIG. 8), and other voice packets are also appropriate. Relocation to the position (as in buffers B to E at t = 10T in FIG. 8) (S103). When the rearrangement is completed, the silence detection bit is set to 0 (the state of t = 11T in FIG. 11), the timer bit 1 is reset to 0 (the start of the run tendency monitoring period), and the over bit is set to 0 (overrun The state is reset to t = 9T in FIG. 8 before the correction processing, and the overrun correction processing subroutine is terminated (S104).

図20にはアンダーラン補正処理(S86、図18)のサブルーチンが示されている。アンダーラン補正処理が開始されると、無音検出ビットがON(図11のt=10T+ΔTのバッファEに無音データを書き込む)になっているか、又はオーバーランあるいはアンダーランの傾向が所定の時間継続したことを示すタイマー・ビット1がONになっているかを調べる(S111)。いずれもONになっていない場合には、アンダーラン補正処理を必要とはしない(S111N)。   FIG. 20 shows a subroutine of the underrun correction process (S86, FIG. 18). When the underrun correction process is started, the silence detection bit is ON (silence data is written in the buffer E of t = 10T + ΔT in FIG. 11), or the tendency of overrun or underrun is a predetermined time. It is checked whether or not the timer bit 1 indicating the continuation is ON (S111). If neither is ON, underrun correction processing is not required (S111N).

無音検出ビット又はタイマー・ビット1がONになっている場合には(S111Y)、最初のパケット(図11のSeq No.10の受信パケット15)を最適受信位置(図11のt=10TにおけるバッファBからt=10T+ΔTにおけるバッファB)に再配置(位置補正)し、その他の有音および無音パケットも適正位置に再配置(図11のt=10T+ΔTにおけるバッファC〜Eのように)する(S112)。再配置(位置補正)が終わると、無音検出ビットを0にリセットし(図11のt=11Tの状態)、タイマー・ビット1を0にし(ラン傾向監視期間のスタートにし)、オーバー・ビットを0(オーバーラン補正処理の前の図11のt=9Tの状態)にリセットして、アンダーラン補正処理のサブルーチンを終了する(S113)。   When the silence detection bit or timer bit 1 is ON (S111Y), the first packet (the received packet 15 of Seq No. 10 in FIG. 11) is the buffer at the optimum reception position (t = 10T in FIG. 11). B from buffer B to buffer B at t = 10T + ΔT) (position correction), and other voiced and silent packets are also rearranged to appropriate positions (as in buffers C to E at t = 10T + ΔT in FIG. 11). (S112). When the rearrangement (position correction) is completed, the silence detection bit is reset to 0 (the state of t = 11T in FIG. 11), timer bit 1 is set to 0 (starting the run trend monitoring period), and the over bit is set Reset to 0 (the state of t = 9T in FIG. 11 before the overrun correction process), and the underrun correction process subroutine ends (S113).

図21にはバッファ増加処理(S88、図18)のサブルーチンが示されている。バッファ増加処理が開始されると、 無音検出ビット又はタイマー・ビット2がONになっているバッファ増加処理を必要とする場合には(S121Y)、図6のt=9T+ΔT(0<ΔT<<T)におけるバッファFに例示したように、バッファを1パケット分増加する(S122)。そこで、無音検出ビットを0にリセットし(図6のt=10Tの状態)、タイマー・ビット2を0にリセットし(ラン傾向監視期間のスタートにし)、オーバー・ビットを0(オーバーラン補正処理の前の図6のt=9Tの状態)にリセットして、バッファ増加処理のサブルーチンを終了する(S123)。バッファ増加処理を必要とはしない場合には(S121N)、ただちに、バッファ増加処理のサブルーチンを終了する。   FIG. 21 shows a subroutine of buffer increase processing (S88, FIG. 18). When the buffer increase process is started, when the buffer increase process in which the silence detection bit or the timer bit 2 is ON is required (S121Y), t = 9T + ΔT (0 <ΔT <in FIG. 6). As illustrated in the buffer F in <T), the buffer is increased by one packet (S122). Therefore, the silence detection bit is reset to 0 (the state of t = 10T in FIG. 6), the timer bit 2 is reset to 0 (to start the run tendency monitoring period), and the over bit is set to 0 (overrun correction processing) 6 (the state of t = 9T in FIG. 6) before, and the buffer increase processing subroutine ends (S123). If the buffer increase process is not required (S121N), the buffer increase process subroutine is immediately terminated.

図22にはバッファ減少処理(S89、図18)のサブルーチンが示されている。バッファ減少処理が開始されると、 無音検出ビット又はタイマー・ビット2がONになっており、バッファ減少処理を必要とする場合には(S131Y)、図3のt=9Tの+ΔTにおけるバッファEに例示したように、バッファを1パケット分減少する(S132)。そこで、無音検出ビットを0にリセットし、タイマー・ビット2を0にリセットし(ラン傾向監視期間のスタートにし)、オーバー・ビットを0にリセットして、バッファ減少処理のサブルーチンを終了する(S133)。バッファ減少処理を必要とはしない場合には(S131N)、ただちに、バッファ減少処理のサブルーチンを終了する。   FIG. 22 shows a subroutine of buffer reduction processing (S89, FIG. 18). When the buffer reduction process is started, if the silence detection bit or timer bit 2 is ON and the buffer reduction process is required (S131Y), the buffer E at + ΔT at t = 9T in FIG. As illustrated in (1), the buffer is decreased by one packet (S132). Therefore, the silence detection bit is reset to 0, the timer bit 2 is reset to 0 (start of the run tendency monitoring period), the over bit is reset to 0, and the buffer reduction processing subroutine is terminated (S133). ). If the buffer reduction processing is not required (S131N), the buffer reduction processing subroutine is immediately terminated.

IP電話のダイナミック・バッファ制御装置の実施例を示した構成図である。(実施例1)It is the block diagram which showed the Example of the dynamic buffer control apparatus of IP telephone. Example 1 図1の構成要素である受信位置解析・制御部の回路構成図である。FIG. 2 is a circuit configuration diagram of a reception position analysis / control unit that is a component of FIG. 図1の構成要素であるダイナミック・バッファ部のバッファ減少処理時のバッファ動作図である。FIG. 2 is a buffer operation diagram at the time of buffer reduction processing of a dynamic buffer unit that is a component of FIG. 1; 図3の時間軸拡大図である。FIG. 4 is an enlarged view of the time axis of FIG. 図3とは異なるタイミングで受信パケットを受信した場合のダイナミック・バッファ部のバッファ減少処理時の遅延パケット率算出を説明するためのバッファ動作図である。FIG. 4 is a buffer operation diagram for explaining delay packet rate calculation at the time of buffer reduction processing of the dynamic buffer unit when a received packet is received at a timing different from that in FIG. 図1の構成要素であるダイナミック・バッファ部のバッファ増加処理時のバッファ動作図である。FIG. 2 is a buffer operation diagram at the time of buffer increase processing of a dynamic buffer unit that is a component of FIG. 図6の時間軸拡大図である。FIG. 7 is an enlarged view of the time axis of FIG. 図1の構成要素であるダイナミック・バッファ部のオーバーラン傾向発生時のバッファ動作図である。FIG. 2 is a buffer operation diagram when an overrun tendency occurs in a dynamic buffer unit that is a component of FIG. 1; 図8の時間軸拡大図である。FIG. 9 is an enlarged view of the time axis of FIG. 図8および図9に示したタイミングからかなり経過したタイミングで受信パケットを受信した場合のオーバーラン補正処理時の時間軸拡大図である。FIG. 10 is an enlarged view of a time axis at the time of overrun correction processing when a received packet is received at a timing considerably after the timing shown in FIGS. 8 and 9. 図1の構成要素であるダイナミック・バッファ部のアンダーラン傾向発生時のバッファ動作図である。FIG. 2 is a buffer operation diagram when an underrun tendency occurs in the dynamic buffer unit that is a component of FIG. 1; 図11の時間軸拡大図である。FIG. 12 is an enlarged view of the time axis of FIG. 図1の構成要素である受信位置解析・制御部の受信処理動作の流れを示すフローチャートである。3 is a flowchart showing a flow of reception processing operation of a reception position analysis / control unit which is a component of FIG. 図13とともに、図1の構成要素である受信位置解析・制御部の受信処理動作の流れを示すフローチャートである。14 is a flowchart showing a flow of a reception processing operation of a reception position analysis / control unit which is a component of FIG. 1 together with FIG. 図14のサブルーチンであるデータ・ロス率確認処理の動作の流れを示すフローチャートである。FIG. 15 is a flowchart showing a flow of operation of a data loss rate confirmation process that is a subroutine of FIG. 14. FIG. 図14のサブルーチンであるパケット受信位置確認処理の動作の流れを示すフローチャートである。15 is a flowchart showing a flow of operation of packet reception position confirmation processing that is a subroutine of FIG. 図16とともに、図14のサブルーチンである受信データ・ロス率確認処理の動作の流れを示すフローチャートである。FIG. 15 is a flowchart showing a flow of operation of received data / loss rate confirmation processing which is a subroutine of FIG. 14 together with FIG. 16; 図1の構成要素である受信位置解析・制御部の再生処理動作の流れを示すフローチャートである。2 is a flowchart showing a flow of a reproduction processing operation of a reception position analysis / control unit which is a component of FIG. 図18のサブルーチンであるオーバーラン補正処理動作の流れを示すフローチャートである。FIG. 19 is a flowchart showing a flow of an overrun correction processing operation that is a subroutine of FIG. 18. FIG. 図18のサブルーチンであるアンダーラン補正処理動作の流れを示すフローチャートである。FIG. 19 is a flowchart showing a flow of an underrun correction processing operation that is a subroutine of FIG. 18. FIG. 図18のサブルーチンであるバッファ増加処理動作の流れを示すフローチャートである。FIG. 19 is a flowchart showing a buffer increase processing operation that is a subroutine of FIG. 18; FIG. 図18のサブルーチンであるバッファ減少処理動作の流れを示すフローチャートである。FIG. 19 is a flowchart showing a flow of buffer reduction processing operation that is a subroutine of FIG. 18; FIG. 従来のバッファ部の正常受信時のバッファ動作図である。It is a buffer operation | movement figure at the time of the normal reception of the conventional buffer part. 従来のバッファ部のオーバーラン発生時のバッファ動作図である。It is a buffer operation | movement figure at the time of the overrun occurrence of the conventional buffer part. 従来のバッファ部のアンダーラン発生時のバッファ動作図である。It is a buffer operation | movement figure at the time of the underrun occurrence of the conventional buffer part.

符号の説明Explanation of symbols

2 伝送路I/F部
3 端末I/F部
5 パケット受信部
6 ダイナミック・バッファ部
7 音声復号化部
8 パケット組立送信部
10 受信位置解析制御部
15 受信パケット
16 受信位置信号
17 検知バッファ信号
19 音声データ
20 受信処理部
21 位置計算用データ受信器
22 受信データロス・遅延率確認器
23 ラン傾向検知器
27 受信位置・ラン傾向信号
28 ロス・遅延率信号
29 受信位置・ラン傾向確認信号
30 再生処理部
31 バッファ増減器
32 受信・ラン検知位置補正器
38 バッファ増減指示信号
39 受信・ラン検知位置指示信号
91,92,101,105,107,108 時点
β バッファ減少判定処理係数
遅延パケット率
Dth 許容遅延パケット率
受信データロス率
i バッファの番号
N 受信データのSeq No.(順序番号)
データ破棄数
遅延検知パケット数
受信パケット数
T 受信クロックの周期
所定の期間
2 Transmission path I / F unit 3 Terminal I / F unit 5 Packet receiving unit 6 Dynamic buffer unit 7 Voice decoding unit 8 Packet assembly and transmission unit
DESCRIPTION OF SYMBOLS 10 Reception position analysis control part 15 Reception packet 16 Reception position signal 17 Detection buffer signal 19 Voice data 20 Reception processing part 21 Data receiver for position calculation 22 Received data loss / delay rate checker 23 Run tendency detector 27 Reception position / run Trend signal 28 Loss / delay rate signal 29 Reception position / run tendency confirmation signal 30 Playback processing unit 31 Buffer increase / decrease unit 32 Reception / run detection position corrector 38 Buffer increase / decrease instruction signal 39 Reception / run detection position instruction signal
91,92,101,105,107,108 point β buffer decrease determination processing coefficients D D Seq No. delay packet rate D Dth allowable delay packet index L P number N received data in the received data loss rate i buffer (sequence number)
N A Number of discarded data N D Number of delay detection packets N R Number of received packets T Period of received clock TP Predetermined period

Claims (5)

受信したパケットの受信データが格納される複数のバッファにおける受信位置を解析するための受信処理(10,20)と、
所定の期間(T)における前記受信データの受信データロス率(L)が大きい場合には、前記複数のバッファの数を増加せしめ、前記受信データの遅延パケット率(D)が小さい場合には、前記複数のバッファの数を減少せしめるようにして音声データを再生可能にする再生処理(10,30)とを含む
IP電話のダイナミック・バッファ制御方法。
Reception processing (10, 20) for analyzing reception positions in a plurality of buffers in which received data of received packets are stored,
When the received data loss rate (L P ) of the received data in a predetermined period (T P ) is large, the number of the plurality of buffers is increased, and the delayed packet rate (D D ) of the received data is small Includes a reproduction process (10, 30) that enables reproduction of audio data by reducing the number of the plurality of buffers.
前記受信処理(10,20)において、前記受信したパケットの受信データのオーバーラン傾向およびアンダーラン傾向のうちのすくなくとも一方のラン傾向を前記受信位置から検知するためのラン傾向検知処理(23)をし、
前記ラン傾向が検知されたときには、前記再生処理(10,30)において、前記受信位置を補正するための受信位置補正処理(32)をする、
請求項1のIP電話のダイナミック・バッファ制御方法。
In the reception process (10, 20), a run tendency detection process (23) for detecting at least one of the run tendency of the received data of the received packet from the reception position. And
When the run tendency is detected, in the reproduction process (10, 30), a reception position correction process (32) for correcting the reception position is performed.
2. The dynamic buffer control method for an IP phone according to claim 1.
前記再生処理(10,30)において、前記複数のバッファのうちに前記ラン傾向を検知するためのラン検知バッファの位置補正をするためのラン検知バッファ位置補正処理(32)をする
請求項2のIP電話のダイナミック・バッファ制御方法。
3. The run detection buffer position correction process (32) for correcting a position of a run detection buffer for detecting the run tendency among the plurality of buffers in the reproduction process (10, 30). IP phone dynamic buffer control method.
受信したパケットの受信データが格納される複数のバッファにおける受信位置を解析するための受信手段(10,20)と、
所定の期間(T)における前記受信データの受信データロス率(L)が高い場合には、前記複数のバッファの数を増加せしめ、前記受信データの遅延パケット率(D)が小さい場合には、前記複数のバッファの数を減少せしめるようにして音声データを再生可能にする再生手段(10,30)とを含む
IP電話のダイナミック・バッファ制御装置。
Receiving means (10, 20) for analyzing reception positions in a plurality of buffers in which received data of received packets are stored;
When the received data loss rate (L P ) of the received data in a predetermined period (T P ) is high, the number of the plurality of buffers is increased, and the delayed packet rate (D D ) of the received data is small Includes a reproducing means (10, 30) for reproducing audio data so as to reduce the number of the plurality of buffers.
前記受信手段(10,20)が、前記受信したパケットの受信データのオーバーラン傾向およびアンダーラン傾向のうちのすくなくとも一方のラン傾向を前記受信位置から検知するためのラン傾向検知手段(23)を含んでおり、
前記ラン傾向が検知されたときには、前記再生手段(10,30)が、前記受信位置を補正するための受信位置補正手段(32)を含んでいる、
請求項4のIP電話のダイナミック・バッファ制御装置。
The receiving means (10, 20) includes a run tendency detecting means (23) for detecting at least one run tendency of the received data of the received packet from the reception position. Including
When the run tendency is detected, the reproduction means (10, 30) includes reception position correction means (32) for correcting the reception position.
5. The dynamic buffer control device for an IP telephone according to claim 4.
JP2003425993A 2003-12-24 2003-12-24 IP telephone dynamic buffer control method and apparatus Expired - Fee Related JP4269933B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003425993A JP4269933B2 (en) 2003-12-24 2003-12-24 IP telephone dynamic buffer control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003425993A JP4269933B2 (en) 2003-12-24 2003-12-24 IP telephone dynamic buffer control method and apparatus

Publications (2)

Publication Number Publication Date
JP2005184701A JP2005184701A (en) 2005-07-07
JP4269933B2 true JP4269933B2 (en) 2009-05-27

Family

ID=34785641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003425993A Expired - Fee Related JP4269933B2 (en) 2003-12-24 2003-12-24 IP telephone dynamic buffer control method and apparatus

Country Status (1)

Country Link
JP (1) JP4269933B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011077622A (en) * 2009-09-29 2011-04-14 Aiphone Co Ltd Data transmission system
JP2018007192A (en) * 2016-07-08 2018-01-11 シントレーディング株式会社 Voice communication system, transmitter, receiver, transmission method, reception method, and program

Also Published As

Publication number Publication date
JP2005184701A (en) 2005-07-07

Similar Documents

Publication Publication Date Title
US20220263423A9 (en) Controlling a jitter buffer
EP1143671B1 (en) Device and method for reducing delay jitter in data transmission
US7450601B2 (en) Method and communication apparatus for controlling a jitter buffer
US6693921B1 (en) System for use of packet statistics in de-jitter delay adaption in a packet network
US7336678B2 (en) State-based jitter buffer and method of operation
CN101919214B (en) System and method to adapt to network congestion
JP2006135974A (en) Audio receiver having adaptive buffer delay
KR20030095995A (en) Method for transporting media, transmitter and receiver therefor
US7349330B1 (en) Packet receiver with the influence of jitter and packet losses reduced before a buffer becomes idle due to data delays and packet receiving method using the same
WO2021203829A1 (en) Data transmission rate control method and system, and user equipment
US20040063466A1 (en) Radio communication apparatus
US7650422B2 (en) Audio playback apparatus for controlling pause and resume of audio
US20020136205A1 (en) Packet data processing apparatus and packet data processing method
JP4076981B2 (en) Communication terminal apparatus and buffer control method
US11601375B2 (en) Electronic device and frame transmission method of electronic device
JP4269933B2 (en) IP telephone dynamic buffer control method and apparatus
JP2005184383A (en) System, apparatus and method for real-time data communication
US7586937B2 (en) Receiving device and method
JP2008028490A (en) Ip network terminal adapter and clock control method for use therein
JP2004214902A (en) Streaming reproduction mobile terminal, streaming reproduction method, computer program, and computer-readable recording medium
US20100246608A1 (en) Jitter buffering control for controlling storage locations of a jitter buffer, and a method therefor
JP2005197850A (en) Jitter absorbing method and apparatus for voice ip terminal
WO2024093490A1 (en) Method and apparatus for processing audio coding data packet
JP3165661B2 (en) Audio synchronized playback device
JP2640598B2 (en) Voice decoding device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060908

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080702

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080901

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: 20090203

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: 20090216

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120306

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4269933

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: 20120306

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130306

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140306

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees