KR101963852B1 - Apparatus and method for managing jitter buffer - Google Patents

Apparatus and method for managing jitter buffer Download PDF

Info

Publication number
KR101963852B1
KR101963852B1 KR1020170034855A KR20170034855A KR101963852B1 KR 101963852 B1 KR101963852 B1 KR 101963852B1 KR 1020170034855 A KR1020170034855 A KR 1020170034855A KR 20170034855 A KR20170034855 A KR 20170034855A KR 101963852 B1 KR101963852 B1 KR 101963852B1
Authority
KR
South Korea
Prior art keywords
jitter buffer
size
packet
voice
time interval
Prior art date
Application number
KR1020170034855A
Other languages
Korean (ko)
Other versions
KR20180018266A (en
Inventor
이길수
강병구
Original Assignee
(주)티아이스퀘어
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 (주)티아이스퀘어 filed Critical (주)티아이스퀘어
Publication of KR20180018266A publication Critical patent/KR20180018266A/en
Application granted granted Critical
Publication of KR101963852B1 publication Critical patent/KR101963852B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/4061Push-to services, e.g. push-to-talk or push-to-video
    • H04L65/608
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/40Connection management for selective distribution or broadcast
    • H04W76/45Connection management for selective distribution or broadcast for Push-to-Talk [PTT] or Push-to-Talk over cellular [PoC] services

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 지터 버퍼 관리 장치 및 방법에 관한 것으로서, 지터 버퍼에서 꺼낸 패킷에 음성 신호가 포함되어 있는지의 여부를 검출하는음성 검출부; 및 지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 큰 경우 지터 버퍼로부터 패킷을 버리는 시간 간격을 동적으로 변경함으로써 지터 버퍼의 크기를 조절하는 지터 버퍼 크기 조절부를 포함하되, 상기 지터 버퍼 크기 조절부는, 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 패킷을 버리는 것을 특징으로 하는 지터 버퍼 관리 장치 및 이를 이용한 지터 버퍼 관리 방법을 제공한다.The present invention relates to a jitter buffer management apparatus and method, and more particularly, to a jitter buffer management apparatus and a jitter buffer management method. And a jitter buffer size adjuster for adjusting a size of the jitter buffer by dynamically changing a time interval for discarding packets from the jitter buffer when the size of the jitter buffer is larger than a preset target value, A jitter buffer management apparatus and a jitter buffer management method using the jitter buffer management apparatus are provided, wherein a packet including no voice signal is discarded based on the detection result from the detection section.

Description

지터 버퍼 관리 장치 및 방법{APPARATUS AND METHOD FOR MANAGING JITTER BUFFER}[0001] APPARATUS AND METHOD FOR MANAGING JITTER BUFFER [0002]

본 발명은 지터 버퍼 관리 장치 및 방법에 관한 것으로서, 보다 상세하게는 지터 버퍼의 크기를 동적으로 변경함으로써 지터 버퍼를 보다 효율적으로 관리할 수 있는 지터 버퍼 관리 장치 및 방법에 관한 것이다.The present invention relates to a jitter buffer management apparatus and method, and more particularly, to a jitter buffer management apparatus and method capable of more efficiently managing a jitter buffer by dynamically changing the size of the jitter buffer.

실시간 음성 패킷을 처리할 때 네트워크 상황에 따라 패킷의 유실, 리오더링(reordering), 지연(delay) 등의 문제가 발생하여, 음성 패킷이 일정한 간격으로 도착하지 않을 수 있다. 이러한 문제를 해결하기 위해 지터 버퍼(jitter buffer)를 두어 음성 패킷을 큐잉(queuing)하여, 패킷 리오더링, 지연 등의 문제를 해결하고 있다.When processing a real-time voice packet, problems such as packet loss, reordering, and delay may occur depending on a network situation, so that a voice packet may not arrive at a constant interval. To solve this problem, a jitter buffer is provided to queue voice packets to solve problems such as packet reordering and delay.

지터 버퍼는 불규칙한 간격의 음성 패킷을 수신하면, 현재 지터 버퍼의 크기를 조절하여 음성 패킷을 큐잉하고 출력에 대응한다. 예를 들면, 패킷이 버스트(burst)하게 수신단에 몰려 들어 올 경우 버퍼의 크기를 늘리고, 음성 패킷을 큐잉한다. 반대로, 음성 패킷이 지연되어 수신되는 패킷이 없는 경우, 출력할 음성이 없으면, 음성 데이터를 생성하여 출력에 대응할 수 있다. 이러한 지터 버퍼의 동작을 관리하는 것을 지터 버퍼 관리라고 한다.When the jitter buffer receives irregular intervals of voice packets, the size of the current jitter buffer is adjusted to queue the voice packets and to correspond to the output. For example, when a packet bursts into the receiving end, the size of the buffer is increased and the voice packet is queued. On the other hand, if there is no packet to which a voice packet is delayed and there is no voice to be output, voice data can be generated and coped with output. Managing jitter buffer operation is called jitter buffer management.

일반적인 지터 버퍼의 계산식은 다음과 같다.The general formula of the jitter buffer is as follows.

D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)D (i, j) = ( R j - R i) - (S j - S i) = (R j - S j) - (R i - S i)

J(i) = J(i-1) + ( |D(i-1,i)| - J(i-1) )/16J (i-1)) / 16 (i-1) + J (i)

D값은 i번째 패킷과 j번째 패킷의 타임스탬프(time stamp)의 차(difference)를 나타낸다. Ri 및 Rj는 수신측에서의 i번째 및 j번째 패킷의 타임스탬프이고, Si 및 Sj는 송신측에서의 i번째 및 j번째 패킷의 타임스탬프이다.The D value represents the difference between the time stamps of the i-th packet and the j-th packet. R i and R j are time stamps of i-th and j-th packets on the receiving side, and S i and S j are time stamps of i-th and j-th packets on the transmitting side.

J값은 지터 버퍼의 크기를 나타내며, D(i-1)값과 J(i-1)값의 산술식에 의해 계산된다. J(i-1)값을 16으로 나눠주는 이유는 노이즈 감쇠를 위한 것으로서, 16으로 나눠줌으로 인해서 갑작스런 지터값의 변화에 영향을 덜 받을 수 있게 된다. 일반적인 지터 버퍼 크기는 J값을 기준으로 삼게 된다.The J value represents the size of the jitter buffer and is calculated by an arithmetic expression of D (i-1) and J (i-1) values. The reason for dividing the value of J (i-1) by 16 is for noise attenuation, and dividing by 16 makes it less susceptible to a sudden change in jitter value. The typical jitter buffer size is based on the J value.

도 1은 종래의 지터 버퍼의 동작을 설명하기 위한 도면이다.1 is a view for explaining the operation of a conventional jitter buffer.

네트워크의 상황에 따라 지터 버퍼는 다음과 같은 상황이 발생하게 되며, 그 동작을 도 1을 참조하여 설명한면 다음과 같다.Depending on the situation of the network, the following situation occurs in the jitter buffer. The operation of the jitter buffer will be described with reference to FIG.

지터 버퍼 크기 J 기준으로 언더플로우(underflow)가 발생하는 경우는, 네트워크 상의 패킷의 전송 지연이 크거나, 또는 음성 패킷 유실에 의해서도 발생할 수 있고, 전송 측에서 송신 오차가 있거나, 수신 측에서 재생시의 샘플 레이트 오류에 의해 발생할 수도 있다. 이 경우 지터 버퍼에 음성 패킷이 없는 상태이며, 이 때에는 음성 데이터를 생성하여 출력에 대응한다. 방법에 따라 묵음, 백색 잡음, 이전 음성 패킷 복제 등의 다양한 방법으로 음성 데이터를 생성하여 보완할 수 있다.If an underflow occurs on the basis of the jitter buffer size J, it may occur due to a large transmission delay of a packet on the network or a loss of a voice packet. If there is a transmission error on the transmission side, It may also be caused by sample rate error. In this case, there is no voice packet in the jitter buffer. In this case, voice data is generated and corresponds to the output. Depending on the method, voice data can be generated and supplemented by various methods such as silence, white noise, and previous voice packet replication.

지터 버퍼 크기 J 기준으로 오버플로우(overflow)의 경우는 네트워크 상의 문제로 수신시 음성 패킷이 버스트(burst)하게 몰려 들어오는 경우, 지터 버퍼에 큐잉이 되게 된다. 따라서, 지터 버퍼가 커지게 되며, 음성 출력시 지연이 발생하게 된다. 지연을 줄이기 위해 패킷을 드롭(drop)시키는데, 일반적인 방법은 일정 간격으로 패킷을 드롭시켜, 지터 버퍼의 크기를 원래대로 복구하게 된다.Jitter Buffer Size In case of overflow due to J, when a voice packet bursts during reception due to a network problem, the jitter buffer is queued. Therefore, the jitter buffer becomes large, and a delay occurs in the audio output. In order to reduce the delay, packets are dropped. In general, the size of the jitter buffer is restored by dropping packets at regular intervals.

그러나, 지터 버퍼의 크기를 조절할 때, 네트워크 상황에 따라 갑작스러운 지터의 크기 변화가 있을 경우, 지터 버퍼를 빠르게 늘리거나 빠르게 줄어들 경우, 버퍼의 크기를 적절하게 조절하지 못할 경우 출력 잡음이 생기게 된다.However, when adjusting the size of the jitter buffer, sudden jitter changes in size depending on the network conditions, if the jitter buffer is rapidly increased or decreased rapidly, or if the buffer size can not be adjusted properly, output noise is generated.

특히, 지터 버퍼의 오버플로우시 패킷을 일정 간격으로 드롭시키는 종래의 기술은 다음과 같은 단점이 있다. 즉, 음성 패킷을 긴 시간 간격으로 드롭할 경우, 음성 품질이 많이 떨어지진 않지만, 버퍼 크기를 원래대로 복구하는데, 오랜 시간이 걸리며, 음성 출력 지연이 발생하게 된다. In particular, a conventional technique of dropping packets at a predetermined interval in an overflow of a jitter buffer has the following disadvantages. That is, when voice packets are dropped at a long time interval, the voice quality does not decrease much, but it takes a long time to recover the buffer size, and a voice output delay occurs.

반면에, 짧은 시간 간격으로 패킷을 드롭할 경우, 버퍼 크기를 빠르게 원래대로 복구할 수 있지만, 출력 음성의 품질이 저하된다. 또한 음성 패킷을 드롭할 경우, 음성 자체가 빠지는 결과가 되어 음성 품질이 나빠지게 된다는 문제가 있다.On the other hand, if a packet is dropped in a short time interval, the buffer size can be quickly recovered, but the quality of the output speech is degraded. In addition, when a voice packet is dropped, there is a problem that the voice itself is lost and the voice quality deteriorates.

대한민국 공개특허공보 제10-2012-0033847호(2012.04.09.공개)Korean Patent Laid-Open Publication No. 10-2012-0033847 (published on Apr. 9, 2012)

본 발명은 상기한 바와 같은 한계점을 해결하기 위한 것으로서, 지터 버퍼의 크기를 동적으로 변경함으로써 지터 버퍼를 효율적으로 관리할 수 있는 장치 및 방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION It is an object of the present invention to provide an apparatus and method for efficiently managing a jitter buffer by dynamically changing the size of a jitter buffer.

또한, 본 발명은, 지터 버퍼의 현재 크기가 미리 설정해 놓은 목표값보다 큰 경우 지터 버퍼의 크기에 반비례하는 시간 간격으로 지터 버퍼의 패킷을 버리도록 함으로써 지터 버퍼를 신속하게 목표값으로 유지할 수 있도록 함으로써 통화 품질의 저하를 막고 음성 출력 지연 문제를 최소화할 수 있는 장치 및 방법을 제공하는 것을 또 다른 목적으로 한다.Further, according to the present invention, when the current size of the jitter buffer is larger than a predetermined target value, the jitter buffer is discarded at a time interval in inverse proportion to the size of the jitter buffer, It is another object of the present invention to provide an apparatus and a method that can prevent deterioration of communication quality and minimize the problem of delay in voice output.

상기한 바와 같은 과제를 해결하기 위하여 본 발명은, 지터 버퍼 관리 장치에 있어서, 지터 버퍼에서 꺼낸 패킷에 음성 신호가 포함되어 있는지의 여부를 검출하는음성 검출부; 및 지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 큰 경우 지터 버퍼로부터 패킷을 버리는 시간 간격을 동적으로 변경함으로써 지터 버퍼의 크기를 조절하는 지터 버퍼 크기 조절부를 포함하되, 상기 지터 버퍼 크기 조절부는, 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 패킷을 버리는 것을 특징으로 하는 지터 버퍼 관리 장치를 제공한다.According to an aspect of the present invention, there is provided a jitter buffer management apparatus comprising: a voice detector for detecting whether a voice signal is included in a packet extracted from a jitter buffer; And a jitter buffer size adjuster for adjusting a size of the jitter buffer by dynamically changing a time interval for discarding packets from the jitter buffer when the size of the jitter buffer is larger than a preset target value, And discards a packet including no audio signal based on the detection result from the detection unit.

여기에서, 상기 지터 버퍼 크기 조절부는, 지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 큰 경우 지터 버퍼로부터 패킷을 버리는 시간 간격을 지터 버퍼의 크기에 반비례하도록 동적으로 변경함으로써 지터 버퍼의 크기를 조절할 수 있다.Here, the jitter buffer size adjuster may dynamically change the size of the jitter buffer by changing the time interval for discarding packets from the jitter buffer in inverse proportion to the size of the jitter buffer when the size of the jitter buffer is larger than a predetermined target value have.

또한, 상기 지터 버퍼 크기 조절부는, 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있는 패킷을 음성 출력부로 전달하여 출력하도록 할 수 있다.The jitter buffer size adjuster may transmit a packet including a voice signal to the voice output unit based on a detection result from the voice detection unit.

또한, 상기 지터 버퍼 크기 조절부는, 지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 작은 경우, 지터 버퍼의 크기가 상기 목표값에 도달할 때까지 패킷을 버퍼링하면서 저장할 수도 있다.The jitter buffer size adjuster may buffer the packets until the size of the jitter buffer reaches the target value, when the size of the jitter buffer is smaller than a preset target value.

또한, 상기 지터 버퍼 크기 조절부는, 지터 버퍼가 비어 있는 경우에는 음성 신호를 생성하거나 이전에 저장되어 있던 패킷으로부터 음성 신호를 복제 생성하여 음성 출력부로 전달하여 출력하도록 할 수 있다.The jitter buffer size adjuster may generate a voice signal when the jitter buffer is empty or generate a voice signal from a previously stored packet and transmit the voice signal to the voice output unit.

본 발명의 다른 측면에 의하면, 상기한 바와 같은 지터 버퍼 관리 장치에서 지터 버퍼를 관리하는 방법으로서, 지터 버퍼에서 꺼낸 패킷에 음성 신호가 포함되어 있는지의 여부를 검출하는제1 단계; 및 지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 큰 경우 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 패킷을 버리고, 지터 버퍼로부터 패킷을 버리는 시간 간격을 동적으로 변경함으로써 지터 버퍼의 크기를 조절하는 제2 단계를 포함하는 지터 버퍼 관리 방법을 제공한다.According to another aspect of the present invention, there is provided a method of managing a jitter buffer in a jitter buffer management apparatus, comprising: a first step of detecting whether or not a voice signal is included in a packet extracted from a jitter buffer; And when the size of the jitter buffer is larger than a preset target value, a packet including no voice signal is discarded based on the detection result from the voice detection unit, and a time interval for discarding the packet from the jitter buffer is dynamically changed, And a second step of adjusting the size of the jitter buffer.

본 발명에 의하면, 지터 버퍼의 크기를 동적으로 변경함으로써 지터 버퍼를 효율적으로 관리할 수 있는 장치 및 방법을 제공할 수 있다.According to the present invention, an apparatus and method for efficiently managing a jitter buffer by dynamically changing the size of the jitter buffer can be provided.

또한, 본 발명에 의하면, 지터 버퍼의 현재 크기가 미리 설정해 놓은 목표값보다 큰 경우 지터 버퍼의 크기에 반비례하는 시간 간격으로 지터 버퍼의 패킷을 버리도록 함으로써 지터 버퍼를 신속하게 목표값으로 유지할 수 있도록 함으로써 통화 품질의 저하를 막고 음성 출력 지연 문제를 최소화할 수 있는 장치 및 방법을 제공할 수 있다.According to the present invention, if the current size of the jitter buffer is larger than a preset target value, the jitter buffer is discarded at a time interval in inverse proportion to the size of the jitter buffer, So that it is possible to provide a device and a method that can prevent the deterioration of the communication quality and minimize the problem of the delay in the voice output.

또한, 본 발명은 음성이 아닌 패킷만을 버리도록 함으로써 지터 버퍼에서의 패킷 드롭에 의해 음성 품질이 떨어지는 현상을 막을 수 있다.Further, according to the present invention, only a non-voice packet is discarded, so that the drop of the packet in the jitter buffer can prevent the voice quality from deteriorating.

또한, 본 발명에 의하면, 복호화를 수행한 후 모든 패킷에 대해 음성 여부를 검출하고 음성이 아닌 패킷만을 버리도록 함으로써, 음성 코덱 및 새로운 규격이 필요하지 않아, 수신측에서 간단하게 기능 수정을 하면, 적용할 수 있다는 장점이 있다. 따라서, 기존에 개발된 서비스라도, 간단하게 적용가능 하며, 음성 품질을 향상시킬 수 있고, 급격한 지터의 변화에도 지터 버퍼의 크기에 따라 패킷 드롭의 간격을 조절하여 음성 품질이 떨어지는 것을 막을 수 있다.In addition, according to the present invention, if a voice codec and a new standard are not required by performing a decoding operation and detecting a voice or not for all packets and discarding only non-voice packets, The advantage is that it can be applied. Accordingly, even the previously developed service can be easily applied, and the voice quality can be improved, and the gap of the packet drop can be adjusted according to the size of the jitter buffer even if the jitter is changed.

또한, 본 발명은 불연속적인 음성 스트리밍이 요구되는 PTT(Push To Talk) 서비스에서 RTP(Real-time Transport Protocol)에서의 지터 버퍼에 특히 적합하다.Further, the present invention is particularly suitable for a jitter buffer in the Real-time Transport Protocol (RTP) in a PTT (Push To Talk) service in which discontinuous voice streaming is required.

도 1은 종래의 지터 버퍼의 동작을 설명하기 위한 도면이다.
도 2는 본 발명에 의한 지터 버퍼 관리 장치(100)의 전체적인 동작을 설명하기 위한 도면이다.
도 3은 지터 버퍼의 크기에 따라 패킷을 드롭하는 시간 간격을 동적으로 변경하는 과정을 설명하기 위한 도면이다.
도 4는 도 1 내지 도 3을 참조하여 설명한 지터 버퍼 관리 장치(100)의 동작을 나타낸 흐름도이다.
1 is a view for explaining the operation of a conventional jitter buffer.
FIG. 2 is a diagram for explaining an overall operation of the jitter buffer management apparatus 100 according to the present invention.
3 is a diagram for explaining a process of dynamically changing a time interval for dropping a packet according to the size of a jitter buffer.
FIG. 4 is a flowchart showing the operation of the jitter buffer managing apparatus 100 described with reference to FIGS. 1 to 3. FIG.

이하, 첨부 도면을 참조하여 본 발명에 의한 실시예를 상세하게 설명하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 의한 지터 버퍼 관리 장치(100)의 전체적인 동작을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining an overall operation of the jitter buffer management apparatus 100 according to the present invention.

도 2를 참조하면, 지터 버퍼 관리 장치(100)는, 지터 버퍼(200) 및 음성 출력부(300) 사이에 연결되며, 지터 버퍼(200)로부터 음성 패킷을 꺼내서 음성 검출을 수행하고 지터 버퍼(200)의 크기를 조절하고 음성 패킷을 음성 출력부(300)로 전달하는 기능을 수행한다.2, the jitter buffer management device 100 is connected between the jitter buffer 200 and the audio output unit 300 and performs voice detection by taking out voice packets from the jitter buffer 200, 200, and transmits a voice packet to the voice output unit 300.

여기에서, 지터 버퍼(200)는 종래 알려져 있는 바와 같이, 패킷 교환망을 통해 패킷을 송신단과 수신단 사이에서 송수신할 때, 신호 지연 등의 문제로 발생하는 지터(jitter)를 조절하기 위하여 지연된 패킷을 일시적으로 저장하는 수단이다. 지터 버퍼(200) 자체는 종래 기술에 의해 알려져 있는 것이고, 본 발명의 직접적인 목적은 아니므로 여기서는 상세 설명은 생략한다.Herein, as is known in the art, the jitter buffer 200 temporarily stores a delayed packet in order to control a jitter caused by a problem such as a signal delay when a packet is transmitted / received between a transmitting end and a receiving end through a packet- . The jitter buffer 200 itself is known from the prior art, and is not a direct object of the present invention, so a detailed description thereof will be omitted.

지터 버퍼(200)는 네트워크를 통해 송신단으로부터 패킷, 예컨대 RTP(Real-time Transport Protocol) 패킷을 수신하면 이를 일시적으로 저장한다. 이 때, 패킷이 리오더링(reordering) 되었을 경우, RTP의 시퀀스(sequence)를 보고 순서에 맞게 패킷 위치에 넣게 된다.The jitter buffer 200 temporarily stores a packet, for example, a Real-time Transport Protocol (RTP) packet, from the transmitting end through the network. At this time, when the packet is reordering, the sequence of the RTP is seen and put in the packet position according to the order.

한편, 음성 출력부(300)는 지터 버퍼 관리 장치(100)에서 출력되는 음성 신호를 출력하는 수단이며, 이 또한 종래 기술에 의해 알려져 있는 것이고 본 발명의 직접적인 목적은 아니므로 상세 설명은 생략한다.Meanwhile, the audio output unit 300 is a means for outputting the audio signal output from the jitter buffer management device 100, which is also known from the prior art, and is not a direct object of the present invention, and thus a detailed description thereof will be omitted.

지터 버퍼 관리 장치(100)는, 도 2에 나타낸 바와 같이, 음성 검출부(10) 및 지터 버퍼 크기 조절부(20)를 포함한다.The jitter buffer managing apparatus 100 includes a voice detecting unit 10 and a jitter buffer size adjusting unit 20 as shown in Fig.

음성 검출부(10)는 지터 버퍼(200)에서 꺼낸 패킷에 음성 신호가 포함되어 있는지의 여부를 검출하는 수단이다. 음성 검출부(10)는 지터 버퍼(200)에서 꺼낸 패킷에 대해 복호화를 실행하는 디코더(미도시)를 포함할 수 있다. 음성 검출부(10)는 지터 버퍼(200)에서 꺼낸 패킷을 디코더에 의해 복호화한 후, 해당 패킷에 음성 신호가 포함되어 있는지의 여부를 판단한다(VAD, Voice Activity Detect).The voice detection unit 10 is a unit that detects whether or not a voice signal is contained in a packet extracted from the jitter buffer 200. [ The voice detection unit 10 may include a decoder (not shown) that decodes a packet taken out of the jitter buffer 200. The voice detector 10 decodes a packet extracted from the jitter buffer 200 by a decoder, and then determines whether or not a voice signal is included in the packet (VAD, Voice Activity Detect).

패킷으로부터 음성 신호가 포함되어 있는지를 검출하는 방법(VAD)은 종래 기술에 의해 알려져 있는 방법을 사용할 수 있으며, 이 기술 자체는 본 발명의 직접적인 목적은 아니므로 이러한 기술의 구체적인 방법에 대한 상세 설명은 생략한다.A method (VAD) for detecting whether a voice signal is included in a packet can use a method known from the prior art, and since the technique itself is not a direct object of the present invention, It is omitted.

음성 검출부(10)는 연속적인 음성의 분석을 위해서 지터 버퍼(200)에서 꺼낸 모든 패킷에 대해 VAD를 수행한다. The voice detection unit 10 performs VAD on all the packets taken out of the jitter buffer 200 for continuous voice analysis.

검출 결과, 유음 패킷과 무음 패킷으로 구분하고, 무음 패킷에 대해서는 후술하는 바와 같이, 지터 버퍼 크기 조절부(20)에서 데이터를 드롭(drop)하도록 한다.As a result of the detection, the jitter buffer and the silent packet are classified into a vowel packet and a silent packet, and the jitter buffer size adjuster 20 drops data for a silent packet, as described later.

음성 패킷은 유음 패킷과 무음 패킷이 있으며, 유음 패킷은 음성 품질에 영향을 크게 미치며, 무음 패킷은 손실되더라도 영향을 작게 미치게 된다. 음성 코덱(codec)에 따라 유음인지 무음인지의 여부를 패킷 자체로 구분할 수 있어, 무음 패킷을 드롭시키는데 사용할 수도 있다. 예컨대, G.729의 경우 DTX(Discontinuous Transmission Support) 패킷을 수신한 경우, 무음 패킷으로 간주하고 해당 패킷을 드롭시킬 수 있다. AMR의 경우 SID 패킷을 무음 패킷으로 간주할 수 있다.The voice packet has a voice packet and a silent packet. The voice packet has a large influence on the voice quality, and the voice packet has a small influence even if the voice packet is lost. Depending on the voice codec, whether the voice is silent or not can be distinguished by the packet itself, and the silent packet can be used for dropping. For example, in the case of G.729, when a DTX (Discontinuous Transmission Support) packet is received, the packet can be regarded as a silent packet and the corresponding packet can be dropped. In the case of AMR, the SID packet can be regarded as a silent packet.

다만, 코덱에 기초하여 무음/유음 패킷을 구분하는 방법은, 다양한 코덱에 적용할 수 없다는 문제가 있다. 따라서, 음성 코덱에 의존하지 않도록 음성 패킷 복호화 이후 VAD를 이용하여 무음 구간을 인식하여, 패킷을 드롭하는 것이 바람직하다.However, there is a problem that the method of distinguishing silent / unvoiced packets based on a codec can not be applied to various codecs. Therefore, it is preferable to recognize the silence period using the VAD after voice packet decoding so as not to depend on the voice codec, and drop the packet.

이와 같은 방법을 통해 음성 검출부(10)는, 지터 버퍼(200)에서 꺼낸 패킷에 음성 신호가 포함되어 있는지의 여부를 유음 패킷과 무음 패킷으로 구분하여 검출하고 그 결과를 지터 버퍼 크기 조절부(20)로 전달한다.In this way, the voice detection unit 10 detects whether a voice signal is contained in a packet extracted from the jitter buffer 200, and separates the packet into a voiced packet and a silent packet and outputs the result to the jitter buffer size adjuster 20 ).

지터 버퍼 크기 조절부(20)는, 지터 버퍼의 크기를 동적으로 조절하는 수단이다. 구체적으로, 지터 버퍼 크기 조절부(20)는, 지터 버퍼의 크기가 미리 설정해 놓은 목표값(T) 보다 큰 경우, 지터 버퍼(200)로부터 패킷을 드롭시키는 시간 간격을 동적으로 변경함으로써 지터 버퍼의 크기를 조절한다.The jitter buffer size adjuster 20 is a means for dynamically adjusting the size of the jitter buffer. More specifically, when the size of the jitter buffer is larger than a preset target value T, the jitter buffer size adjuster 20 dynamically changes the time interval for dropping the packet from the jitter buffer 200, Adjust the size.

이 때, 지터 버퍼 크기 조절부(20)는, 음성 검출부(10)로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 패킷을 버리고, 음성 신호가 포함되어 있는 패킷은 음성 출력부(300)를 통해 출력하도록 한다.At this time, the jitter buffer size adjustment unit 20 discards packets that do not include the audio signal based on the detection result from the audio detection unit 10, and the packet including the audio signal is output to the audio output unit 300, .

또한, 지터 버퍼 크기 조절부(20)는, 지터 버퍼의 크기가 미리 설정해 놓은 목표값(T)보다 작은 경우, 지터 버퍼(200)의 크기가 목표값(T)에 도달할 때까지 패킷을 버퍼링하면서 저장한다. 만약, 지터 버퍼(200)가 비어 있는 경우에는 음성 신호를 생성하거나 이전에 저장되어 있던 패킷으로부터 음성 신호를 복제 생성하여 음성 출력부(300)로 전달한다.When the size of the jitter buffer is smaller than a preset target value T, the jitter buffer size adjusting unit 20 may buffer the packet until the size of the jitter buffer 200 reaches the target value T . If the jitter buffer 200 is empty, a voice signal is generated or a voice signal is reproduced from a previously stored packet and transmitted to the voice output unit 300.

지터 버퍼 크기 조절부(20)가 지터 버퍼의 크기가 미리 설정해 놓은 목표값(T)보다 큰 경우, 패킷을 버리는 시간 간격을 동적으로 변경하는 방법을 설명하면 다음과 같다.A method of dynamically changing a time interval for discarding a packet when the size of the jitter buffer is larger than the preset target value T will be described below.

앞서 배경 기술에서 설명한 바와 같이, 본 발명에서의 지터 버퍼(200)의 크기의 목표값(T)은 다음과 같다.As described in the background art, the target value T of the size of the jitter buffer 200 in the present invention is as follows.

D(i,j) = (Rj - Ri) - (Sj - Si) = (Rj - Sj) - (Ri - Si)D (i, j) = ( R j - R i) - (S j - S i) = (R j - S j) - (R i - S i)

T(i) = T(i-1) + ( |D(i-1,i)| - T(i-1) )/16T (i) = T (i-1) + (| D (i-1,

여기에서, D값은, 앞서 설명한 바와 같이, i번째 패킷과 j번째 패킷의 타임스탬프(time stamp)의 차(difference)를 나타낸다. Ri 및 Rj는 수신측에서의 i번째 및 j번째 패킷의 타임스탬프이고, Si 및 Sj는 송신측에서의 i번째 및 j번째 패킷의 타임스탬프이다.Here, the D value represents the difference between the time stamps of the i-th packet and the j-th packet, as described above. R i and R j are time stamps of i-th and j-th packets on the receiving side, and S i and S j are time stamps of i-th and j-th packets on the transmitting side.

또한, T값은 지터 버퍼의 크기의 목표값을 나타내며, D(i-1)값과 T(i-1)값의 산술식에 의해 계산된다. T(i-1)값을 16으로 나눠주는 이유는 노이즈 감쇠를 위한 것으로서, 16으로 나눠줌으로 인해서 갑작스런 지터값의 변화에 영향을 덜 받게 된다.The T value represents a target value of the size of the jitter buffer, and is calculated by an arithmetic expression of a value of D (i-1) and a value of T (i-1). The reason for dividing the value of T (i-1) by 16 is for noise attenuation, which is less influenced by a sudden change in jitter value by dividing by 16.

이러한 지터 버퍼(200)의 크기의 목표값(T)에 기초하여, 지터 버퍼 크기 조절부(20)는, 지터 버퍼(200)의 현재 크기가 목표값(T) 보다 큰지 또는 작은지를 판단하고, 목표값(T)보다 큰 경우 지터 버퍼(200)로부터 패킷을 버리는 시간 간격을 동적으로 변경한다.Based on the target value T of the size of the jitter buffer 200, the jitter buffer size adjuster 20 determines whether the current size of the jitter buffer 200 is larger or smaller than the target value T, And dynamically changes the time interval at which the packet is discarded from the jitter buffer 200 when it is larger than the target value T.

패킷을 버릴 때, 종래 기술에서는 앞서 설명한 바와 같이 일정한 시간 간격으로 패킷을 드롭하는 방법을 사용하고 있다. 패킷을 드롭하는 것은 지터 버퍼(200)의 크기가 커져서 음성 출력의 지연(delay)가 발생하게 되므로, 지터 버퍼의 크기를 줄이기 위한 것인데, 패킷을 일정한 간격으로 드롭시키는 방식은, 지터 버퍼(200)의 크기가 클 때 목표값(T)로 신속하게 복구될 수 없으므로 음성 출력 지연(delay)을 더 잘 느끼게 되어, 통화에 불편함을 느끼게 된다.When discarding a packet, the conventional technique uses a method of dropping a packet at a predetermined time interval as described above. The dropping of a packet is intended to reduce the size of the jitter buffer because the size of the jitter buffer 200 increases and a delay of the audio output occurs. It is not possible to quickly recover to the target value T when the size of the voice signal is large, so that the voice output delay is felt more easily and the voice communication is inconvenient.

반대로 지터 버퍼(200)의 크기가 목표값(T)에 가까워지면, 패킷 드롭으로 인해 음성 잡음이 발생하게 된다. On the contrary, when the size of the jitter buffer 200 approaches the target value T, voice noise is generated due to packet drop.

따라서, 본 발명에서 지터 버퍼 크기 조절부(20)는 패킷을 버리는 시간 간격을 동적으로 변경함으로써, 지터 버퍼(200)의 크기를 효율적으로 관리할 수 있도록 한다.Therefore, in the present invention, the jitter buffer size adjuster 20 can dynamically change the time interval for discarding packets, thereby efficiently managing the size of the jitter buffer 200. [

본 발명의 일실시예에 의하면, 지터 버퍼 크기 조절부(20)는 지터 버퍼(200)의 크기가 미리 설정해 놓은 목표값(T)보다 큰 경우 지터 버퍼(200)로부터 패킷을 버리는 시간 간격을 지터 버퍼(200)의 크기에 반비례하도록 동적으로 변경함으로써 지터 버퍼(200)의 크기를 조절하는 것을 특징으로 한다.According to an embodiment of the present invention, when the size of the jitter buffer 200 is larger than a predetermined target value T, the jitter buffer size adjuster 20 adjusts the time interval for discarding packets from the jitter buffer 200, And the size of the jitter buffer 200 is adjusted by dynamically changing the size of the jitter buffer 200 in inverse proportion to the size of the buffer 200.

지터 버퍼(200)로부터 패킷을 버리는 시간 간격은 다음과 같은 함수로 나타낼 수 있다.The time interval for discarding packets from the jitter buffer 200 can be represented by the following function.

y=f(x)y = f (x)

여기서, x는 지터 버퍼의 크기이고, y는 지터 버퍼(200)로부터 패킷을 드롭하는 시간 간격이다.Here, x is the size of the jitter buffer, and y is the time interval for dropping the packet from the jitter buffer 200.

이 때, f(x)는 지터 버퍼(200)의 현재 크기가 클수록 패킷을 드롭하는 시간 간격이 작아지도록 하고, 지터 버퍼(200)의 현재 크기가 작을수록 패킷을 드롭하는 시간 간격이 커지도록 하는 함수로서, 지터 버퍼(200)의 크기와 패킷을 드롭하는 시간 간격이 서로 반비례 관계가 되도록 하는 함수이다. 예컨대, f(x)는 분수 함수, 감소 지수 함수 등의 형태일 수 있다.At this time, f (x) makes the time interval for dropping the packets smaller as the current size of the jitter buffer 200 becomes larger, and increases the time interval for dropping the packets as the current size of the jitter buffer 200 becomes smaller Function to make the size of the jitter buffer 200 and the time interval for dropping the packet to be inversely proportional to each other. For example, f (x) may be in the form of a fractional function, a decreasing exponential function, or the like.

도 3은 지터 버퍼의 크기에 따라 패킷을 드롭하는 시간 간격을 동적으로 변경하는 과정을 설명하기 위한 도면이다.3 is a diagram for explaining a process of dynamically changing a time interval for dropping a packet according to the size of a jitter buffer.

도 3에서, x축은 지터 버퍼의 크기를 나타내고, y축은 패킷을 드롭하는 시간 간격(DEC)을 나타내며, 도 3의 함수 f(x)는 30232e-0.273x로 주어진 감소 지수 함수이다. In FIG. 3, the x-axis represents the size of the jitter buffer, the y-axis represents the time interval (DEC) for dropping packets, and the function f (x) in FIG. 3 is a decreasing exponential function given by 30232e -0.273x .

도 3에 나타낸 바와 같이, 지터 버퍼(200)의 크기가 커졌을 경우에는 패킷을 버리는 감소 간격(DEC)을 작게 함으로써 패킷을 빠르게 버리고, 지터 버퍼(200)의 크기가 작아졌을 경우는 패킷을 버리는 감소 간격(DEC)을 크게 함으로써 패킷을 천천히 버린다. As shown in FIG. 3, when the size of the jitter buffer 200 is increased, packets are quickly discarded by decreasing the decreasing interval DEC for discarding packets. When the size of the jitter buffer 200 is reduced, By increasing the interval DEC, the packet is slowly discarded.

도 3에서 감소 간격(DEC)은 지수 함수 형태의 감소 그래프 형태의 함수로 나타나 있는데, 이 함수는 경험적인 방식에 의해 산출된 식이다. In Fig. 3, the reduction interval DEC is expressed as a function of a decreasing graph form in the form of an exponential function, which is an empirical formula.

도 3에 나타난 바와 같이, x축(지터 버퍼(200)의 크기)의 값이 클수록 y축(패킷을 버리는 시간 간격(DEC))의 값은 작아지므로 패킷을 빠르게 드롭할 수 있게 되면, 지터 버퍼 크기가 미리 설정된 목표값(T)으로 빠르게 감소하게 된다. 따라서, 현재의 지터 버퍼의 크기에 신속하게 대응하여, 출력 지연을 줄일 수 있다.As shown in FIG. 3, as the value of the x axis (size of the jitter buffer 200) is larger, the value of the y axis (time interval DEC for discarding packets) becomes smaller. The size rapidly decreases to a preset target value T. Therefore, the output delay can be reduced in a quick manner corresponding to the size of the current jitter buffer.

X축(지터 버퍼(200)의 크기)이 작을수록 Y축(패킷을 버리는 시간 간격(DEC))의 값은 커져 천천히 패킷을 드롭하게 되면, 지터 버퍼(200) 크기가 목표값(T)로 천천히 감소하게 된다. 따라서, 출력 지연은 있지만, 음성 품질을 향상시킬 수 있게 된다.As the value of the Y axis (the time interval DEC for discarding packets) increases as the X axis (size of the jitter buffer 200) becomes smaller and the packets are slowly dropped, the size of the jitter buffer 200 becomes smaller than the target value T Slow down. Therefore, although there is an output delay, the voice quality can be improved.

여기에서, 앞서 설명한 바와 같이, 지터 버퍼(200)로부터 드롭하는 패킷은 음성 검출부(10)에서의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 무음 패킷만을 버리고 유음 패킷은 음성 출력부(300)를 통해 출력한다.Here, as described above, the packet dropping from the jitter buffer 200 discards only the silent packets that do not include the voice signal based on the detection result of the voice detection unit 10, and the voice packets are output to the voice output unit 300, Lt; / RTI >

한편, 도 3에서 패킷을 버리는 시간 간격의 함수는 감소 지수 함수 형태로 나타냈으나 이는 예시적인 것이며 지터 버퍼(200)의 현재 크기가 클수록 시간 간격이 작아지도록 하는 반비례 관계에 있다면 기타 다른 함수를 사용할 수도 있음은 물론이다. 또한, 패킷을 버리는 시간 간격을 미리 계산해 두고 그 결과값만을 참조하는 방식으로 할 수도 있다.Meanwhile, although the function of the time interval for discarding packets is shown in the form of a decreasing exponential function in FIG. 3, this is an illustrative example, and if the current size of the jitter buffer 200 is inversely proportional to a smaller time interval, Of course it is possible. It is also possible to calculate a time interval for discarding a packet in advance and refer to only the resultant value.

또한, 패킷을 버리는 시간 간격을 매번 계산하지 않고 목표값(T)보다 지터 버퍼(200)의 크기가 큰 경우 시간 간격을 일단 계산하면 지터 버퍼(200)가 비워질 때까지 계산된 시간 간격을 고정값으로 사용할 수도 있다.If the time interval is once calculated when the size of the jitter buffer 200 is larger than the target value T without calculating the time interval for discarding the packets each time, the time interval calculated until the jitter buffer 200 is emptied is fixed It can also be used as a value.

도 4는 도 1 내지 도 3을 참조하여 설명한 지터 버퍼 관리 장치(100)의 동작을 나타낸 흐름도이다.FIG. 4 is a flowchart showing the operation of the jitter buffer managing apparatus 100 described with reference to FIGS. 1 to 3. FIG.

우선, 지터 버퍼 관리 장치(100)의 음성 검출부(10)는 지터 버퍼(200)에 저장되어 있는 패킷들 중에서 가장 먼저 저장되어 있는 단위 패킷을 꺼내고 이를 복호화한다(S100).First, the voice detection unit 10 of the jitter buffer management apparatus 100 extracts the unit packet stored first in the packets stored in the jitter buffer 200 and decodes it (S100).

음성 검출부(10)는 복호화된 패킷에 음성 신호가 포함되어 있는지를 검출하고, 그 결과를 지터 버퍼 크기 조절부(20)로 알린다(S110).The voice detector 10 detects whether the decoded packet includes a voice signal, and notifies the jitter buffer size controller 20 of the result (S110).

지터 버퍼 크기 조절부(20)는 미리 설정되어 있는 지터 버퍼(200)의 크기의 목표값(T)과 현재 지터 버퍼(200)의 크기를 비교하여 목표값(T)보다 지터 버퍼(200)의 현재 크기가 큰지를 판단한다(S120).The jitter buffer size adjustment unit 20 compares the target value T of the size of the jitter buffer 200 and the size of the current jitter buffer 200 to determine the size of the jitter buffer 200 It is determined whether the current size is larger (S120).

목표값(T)보다 지터 버퍼(200)의 크기가 작은 경우는, 지터 버퍼 크기 조절부(20)는 해당 패킷을 음성 출력부(300)로 전달하여 출력하도록 한다(S130).If the size of the jitter buffer 200 is smaller than the target value T, the jitter buffer size controller 20 transfers the packet to the audio output unit 300 and outputs the packet to the audio output unit 300 in operation S130.

만약, 목표값(T)보다 지터 버퍼(200)의 크기가 큰 경우, 지터 버퍼 크기 조절부(20)는 해당 패킷이 음성 신호를 포함하고 있는지의 여부에 따라 해당 패킷을 출력하거나 드롭한다.If the size of the jitter buffer 200 is larger than the target value T, the jitter buffer size adjuster 20 outputs or drops the packet according to whether the packet includes a voice signal.

즉, 지터 버퍼 크기 조절부(20)는 음성 검출부(10)로부터의 음성 신호 포함 여부에 대한 검출 결과에 따라 해당 패킷에 음성 신호가 포함되어 있는 경우 해당 패킷을 음성 출력부(300)를 통해 출력하도록 하고, 음성 신호가 포함되어 있지 않은 경우 해당 패킷을 버린다(S150).That is, when the voice signal is contained in the packet according to the detection result of whether or not the voice signal is included from the voice detection unit 10, the jitter buffer size control unit 20 outputs the packet through the voice output unit 300 If the voice signal is not included, the corresponding packet is discarded (S150).

목표값(T)보다 지터 버퍼(200)의 크기가 큰 경우, 상기한 바와 같이 패킷을 버리거나 출력하도록 하는 동시에 지터 버퍼 크기 조절부(20)는 도 3과 같은 방식에 의해 패킷을 드롭하는 시간 간격을 계산하고 그 결과에 따라 패킷을 버리는 시간 간격을 새로 설정한다. 이 경우에는, 시간 간격이 작아지게 되므로 패킷을 보다 빠른 시간 내에 버릴 수 있게 된다. 결과적으로 단위 패킷을 지터 버퍼(200)로부터 꺼내는 시간 간격 또한 작아지게 된다.When the size of the jitter buffer 200 is larger than the target value T, the jitter buffer size controller 20 discards or outputs the packets as described above. At the same time, And sets a new time interval for discarding packets according to the result. In this case, since the time interval becomes smaller, the packet can be discarded in a shorter time. As a result, the time interval for extracting unit packets from the jitter buffer 200 becomes smaller.

이상에서, 본 발명에 의한 바람직한 실시예를 참조하여 본 발명을 설명하였으나, 본 발명은 상기 실시예에 한정되는 것이 아님을 유의해야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments.

100...지터 버퍼 관리 장치
200...지터 버퍼
300...음성 출력부
10...음성 검출부
20...지터 버퍼 크기 조절부
100 ... jitter buffer management device
200 ... jitter buffer
300 ... Audio output unit
10 ... voice detector
20 ... jitter buffer size adjuster

Claims (6)

지터 버퍼 관리 장치에 있어서,
지터 버퍼에서 꺼낸 패킷에 음성 신호가 포함되어 있는지의 여부를 검출하는음성 검출부; 및
지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 큰 경우 지터 버퍼로부터 패킷을 버리는 시간 간격을 지터 버퍼의 크기에 반비례하도록 동적으로 변경함으로써 지터 버퍼의 크기를 조절하는 지터 버퍼 크기 조절부
를 포함하되,
상기 지터 버퍼 크기 조절부는, 함수 y=f(x)(여기서, x는 지터 버퍼의 크기이고, y는 지터 버퍼로부터 패킷을 버리는 시간 간격임)에 의해 지터 버퍼로부터 패킷을 버리는 시간 간격을 동적으로 변경하면서 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 패킷을 버리되,
상기 함수 f(x)는 지터 버퍼의 현재 크기가 클수록 패킷을 버리는 시간 간격이 작아지도록 하고, 지터 버퍼의 현재 크기가 작을수록 패킷을 버리는 시간 간격이 커지도록 하는 분수 함수 또는 감소 지수 함수인 것을 특징으로 하는 지터 버퍼 관리 장치.
A jitter buffer management device comprising:
A voice detector for detecting whether or not a voice signal is included in a packet extracted from the jitter buffer; And
The size of the jitter buffer is adjusted by changing the time interval of discarding the packet from the jitter buffer in inverse proportion to the size of the jitter buffer when the size of the jitter buffer is larger than a preset target value.
, ≪ / RTI &
The jitter buffer size adjuster may dynamically change the time interval at which packets are discarded from the jitter buffer by a function y = f (x), where x is the size of the jitter buffer and y is the time interval at which packets are discarded from the jitter buffer A packet including no voice signal is discarded based on the detection result from the voice detection unit while changing,
The function f (x) is a fractional function or a decreasing exponential function that makes the time interval for discarding packets smaller as the current size of the jitter buffer becomes larger and makes the time interval for discarding packets larger as the current size of the jitter buffer becomes smaller To the jitter buffer management unit.
삭제delete 제1항에 있어서,
상기 지터 버퍼 크기 조절부는, 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있는 패킷을 음성 출력부로 전달하여 출력하도록 하는 것을 특징으로 하는 지터 버퍼 관리 장치.
The method according to claim 1,
Wherein the jitter buffer size control unit transfers a packet including a voice signal to the voice output unit based on the detection result from the voice detection unit.
제1항에 있어서,
상기 지터 버퍼 크기 조절부는,
지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 작은 경우, 지터 버퍼의 크기가 상기 목표값에 도달할 때까지 패킷을 버퍼링하면서 저장하는 것을 특징으로 하는 지터 버퍼 관리 장치.
The method according to claim 1,
Wherein the jitter buffer size adjuster comprises:
Wherein when the size of the jitter buffer is smaller than a preset target value, the buffer is buffered until the size of the jitter buffer reaches the target value.
제4항에 있어서,
상기 지터 버퍼 크기 조절부는, 지터 버퍼가 비어 있는 경우에는 음성 신호를 생성하거나 이전에 저장되어 있던 패킷으로부터 음성 신호를 복제 생성하여 음성 출력부로 전달하여 출력하도록 하는 것을 특징으로 하는 지터 버퍼 관리 장치.
5. The method of claim 4,
Wherein the jitter buffer size adjuster generates a voice signal when the jitter buffer is empty or replicates voice signals from a previously stored packet and transmits the voice signal to the voice output unit for output.
제1항 및 제3항 내지 제5항 중 어느 한 항에 의한 지터 버퍼 관리 장치에서 지터 버퍼를 관리하는 방법으로서,
지터 버퍼에서 꺼낸 패킷에 음성 신호가 포함되어 있는지의 여부를 검출하는제1 단계; 및
지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 큰 경우 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 패킷을 버리고, 지터 버퍼로부터 패킷을 버리는 시간 간격을 동적으로 변경함으로써 지터 버퍼의 크기를 조절하는 제2 단계
를 포함하되,
상기 제2 단계는, 지터 버퍼의 크기가 미리 설정해 놓은 목표값보다 큰 경우 지터 버퍼로부터 패킷을 버리는 시간 간격을 지터 버퍼의 크기에 반비례하도록 동적으로 변경함으로써 지터 버퍼의 크기를 조절하되, 함수 y=f(x)(여기서, x는 지터 버퍼의 크기이고, y는 지터 버퍼로부터 패킷을 버리는 시간 간격임)에 의해 지터 버퍼로부터 패킷을 버리는 시간 간격을 동적으로 변경하면서 음성 검출부로부터의 검출 결과에 기초하여 음성 신호가 포함되어 있지 않은 패킷을 버리고,
상기 함수 f(x)는 지터 버퍼의 현재 크기가 클수록 패킷을 버리는 시간 간격이 작아지도록 하고, 지터 버퍼의 현재 크기가 작을수록 패킷을 버리는 시간 간격이 커지도록 하는 분수 함수 또는 감소 지수 함수인 것을 특징으로 하는 지터 버퍼 관리 방법.
A method of managing a jitter buffer in a jitter buffer management apparatus according to any one of claims 1 and 5,
A first step of detecting whether or not a voice signal is included in a packet extracted from the jitter buffer; And
When the size of the jitter buffer is larger than a preset target value, a packet including no voice signal is discarded based on the detection result from the voice detection unit, and the time interval of discarding the packet from the jitter buffer is dynamically changed, The second step
, ≪ / RTI &
The second step adjusts the size of the jitter buffer by dynamically changing the time interval of discarding a packet from the jitter buffer in inverse proportion to the size of the jitter buffer when the size of the jitter buffer is larger than a predetermined target value, based on the detection result from the voice detection unit while dynamically changing the time interval of discarding the packet from the jitter buffer by f (x) (where x is the size of the jitter buffer and y is the time interval for discarding the packet from the jitter buffer) Thereby discarding packets that do not contain voice signals,
The function f (x) is a fractional function or a decreasing exponential function that makes the time interval for discarding packets smaller as the current size of the jitter buffer becomes larger and makes the time interval for discarding packets larger as the current size of the jitter buffer becomes smaller Gt; jitter < / RTI >
KR1020170034855A 2016-08-12 2017-03-20 Apparatus and method for managing jitter buffer KR101963852B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20160102729 2016-08-12
KR1020160102729 2016-08-12

Publications (2)

Publication Number Publication Date
KR20180018266A KR20180018266A (en) 2018-02-21
KR101963852B1 true KR101963852B1 (en) 2019-04-01

Family

ID=61525415

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170034855A KR101963852B1 (en) 2016-08-12 2017-03-20 Apparatus and method for managing jitter buffer

Country Status (1)

Country Link
KR (1) KR101963852B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005318092A (en) * 2004-04-27 2005-11-10 Fujitsu Ltd Packet reception method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101399604B1 (en) 2010-09-30 2014-05-28 한국전자통신연구원 Apparatus, electronic device and method for adjusting jitter buffer

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005318092A (en) * 2004-04-27 2005-11-10 Fujitsu Ltd Packet reception method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Switchlab, free software program, URL<: https://svn.pjsip.org/repos/pjproject/trunk/pjmedia/src/pjmedia/jbuf.c> (2011)*

Also Published As

Publication number Publication date
KR20180018266A (en) 2018-02-21

Similar Documents

Publication Publication Date Title
US8279884B1 (en) Integrated adaptive jitter buffer
EP2055055B1 (en) Adjustment of a jitter memory
EP1735968B1 (en) Method and apparatus for increasing perceived interactivity in communications systems
US7630409B2 (en) Method and apparatus for improved play-out packet control algorithm
US10135707B2 (en) Playout delay adjustment method and electronic apparatus thereof
US20070263672A1 (en) Adaptive jitter management control in decoder
JP4462996B2 (en) Packet receiving method and packet receiving apparatus
US7573907B2 (en) Discontinuous transmission of speech signals
EP2140637B1 (en) Method of transmitting data in a communication system
US8270391B2 (en) Method and receiver for reliable detection of the status of an RTP packet stream
EP2647241B1 (en) Source signal adaptive frame aggregation
KR101002405B1 (en) Controlling a time-scaling of an audio signal
KR101516113B1 (en) Voice decoding apparatus
KR101963852B1 (en) Apparatus and method for managing jitter buffer
US7983309B2 (en) Buffering time determination
JP2001160826A (en) Delay fluctuation absorbing device and delay fluctuation absorbing method
JP4376681B2 (en) Audio data receiving apparatus and audio data transmitting apparatus
EP3327996A1 (en) Method and circuit for congestion detection
JP2010136159A (en) Data receiver
EP3343851B1 (en) Method and device for regulating playing delay

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant