KR100283173B1 - 보코더의 지터 처리 버퍼링 방법 - Google Patents

보코더의 지터 처리 버퍼링 방법 Download PDF

Info

Publication number
KR100283173B1
KR100283173B1 KR1019980057868A KR19980057868A KR100283173B1 KR 100283173 B1 KR100283173 B1 KR 100283173B1 KR 1019980057868 A KR1019980057868 A KR 1019980057868A KR 19980057868 A KR19980057868 A KR 19980057868A KR 100283173 B1 KR100283173 B1 KR 100283173B1
Authority
KR
South Korea
Prior art keywords
voice data
read
reception buffer
recorded
voice
Prior art date
Application number
KR1019980057868A
Other languages
English (en)
Other versions
KR20000041858A (ko
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 윤종용
Priority to KR1019980057868A priority Critical patent/KR100283173B1/ko
Priority to US09/467,686 priority patent/US6526108B1/en
Publication of KR20000041858A publication Critical patent/KR20000041858A/ko
Application granted granted Critical
Publication of KR100283173B1 publication Critical patent/KR100283173B1/ko

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/66Digital/analogue converters
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/167Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/062Synchronisation of signals having the same nominal but fluctuating bit rates, e.g. using buffers
    • H04J3/0632Synchronisation of packets and cells, e.g. transmission of voice via a packet network, circuit emulation service [CES]

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 음성 데이터를 처리하는 시스템에 관한 것으로, 수신 버퍼에 일정 량의 음성 데이터가 쌓이면 허락 비트를 음성 데이터 독출 허락 값으로 세팅하여 수신 버퍼에 독출할 음성 데이터가 없을 때까지 주기적으로 음성 데이터를 독출하며, 수신 버퍼에 독출할 음성 데이터가 없을 경우 허락 비트를 음성 데이터 독출 방지 값으로 세팅하는 보코더의 지터 처리 버퍼링 방법을 구현함으로서 전송 지연차 감소를 해결하고, 수신측 코덱이 수신된 프레임 처리에 동기를 맞추어 음성 성능을 향상시키도록 하였다.

Description

보코더의 지터 처리 버퍼링 방법
본 발명은 음성 데이터를 처리하는 시스템에 관한 것으로, 특히 보코더(Vocoder)의 지터(Jitter) 처리를 위한 버퍼링 방법에 관한 것이다.
일반적으로 네트워크(Network)상에서 가장 중요시되는 점이라 하면 정보를 효율적이고, 가장 빠르게 전송하는 일이라 할 수 있다. 이때 정보를 전송하기 위해 요구되는 전송 대역을 살펴보면, 음성은 디지털 부호화(압축)를 통해 64kbps로부터 16kbps까지 압축이 가능하므로 그다지 넓은 대역을 필요로 하지 않는다. 하지만 영상은 고품질을 유지하면서 압축하기 위해 "MPEG"의 영상 압축 기술을 사용한다고 하더라도 1.5∼6Mbps 정도의 전송 능력이 요구된다. 동시에 데이터를 교환할 경우에는 이에 다시 10Mbps 이상의 대역이 더 필요하게 된다.
하지만 정보를 효율적이고, 빠르게 전송하기 위해 단지 광대역이라고 해서 가능한 것이 아니라 개개의 전송 미디어가 필요로 하는 통신 품질을 보증할 수 있는 네트워크일 필요가 있다. 이러한 통신요구품질을 서비스 품질(QOS; Quality of Service)이라고 하며, 이는 미디어(media), 애플리케이션(application)에 따라 달라질 수 있다. 예를 들어 인터넷 전화통신의 경우 음성이 송신측으로부터 수신측에게 실시간으로 보내질 것을 요구하는 저지연 요구와, 수신측에서는 음성이 연속하여 출력될 수 있도록 송신측에서의 송신간격과 똑같은 간격으로 수신하기 위한 저지연 지터(Jitter) 요구가 바로 그것이라 할 수 있다.
따라서 정보를 전송하고자 하는 시스템에 있어 상기 QOS를 향상시키기 위한 노력이 다양하게 이루어지고 있으며, 특히 저지연 지터 요구를 만족시키기 위한 노력이 이루어지고 있는 실정이다.
이하 상기한 바와 같은 전보 전송 시스템의 일 예로 음성을 전송하는 시스템의 동작을 간략하게 살펴보면, 송신측과 수신측의 시스템은 음성을 압축하여 전송하기 이전에 프로토콜을 통해 전송 환경을 설정하게 된다. 상기 전송 환경의 설정은 전송할 패킷의 형태 및 전송 방식 등을 결정하는 동작이며, 이러한 동작에 의해 상기한 요구를 최적으로 만족할 수 있도록 하는 것이다. 예를 들어 전송 라인 등에 의한 전송 품질이 양호한 경우에는 하나의 헤더(header)에 복수의 데이터 셀로 전송 패킷을 구성하여 전송하도록 설정하며, 전송 품질이 좋지 않는 경우에는 하나의 헤더에 최소 데이터 셀로 전송 패킷을 구성하여 전송하도록 설정한다.
하지만 상기한 바와 같이 방식을 사용하는 경우에는 최초 설정이 통신이 종료할 때까지 유지되므로 인하여 아래와 같은 문제가 야기될 수 있다.
첫 번째로 대역폭이 일정하지 않는 근거리 통신망(LAN)을 통해 음성 데이터를 수신할 시 일정 간격으로 음성 데이터가 수신되지 않아 저지연 지터(Jitter) 요구를 저해하는 경우가 발생한다.
두 번째로 연속적인 음성 재생이 이루어지지 않아 재생 음성이 끊어져 통화 품질이 나빠지는 문제가 있다.
세 번째로 기록 디지털신호 프로세서가 대기하는 시간이 길어짐에 따라 시스템의 이용 효율을 저해하는 요인으로 작용한다.
따라서 상기한 문제점을 해결하기 위한 본 발명의 목적은 수신측에서 저지연 지터 요구의 만족을 위한 수신측 음성 코덱이 처리하기 전에 일정 프레임을 버퍼링 하여 전송 지연차를 감소시키는 방법을 제공함에 있다.
본 발명의 다른 목적은 수신측 코덱이 수신된 음성 데이터 프레임의 처리에 동기를 맞춤으로서 음성 특성을 향상시키는 방법을 제공함에 있다.
본 발명의 또 다른 목적은 수신 버퍼에 소정 량의 음성 데이터가 기록되면 기록된 음성 데이터의 버퍼링을 연속적으로 수행함으로서 전송 지연차를 감소시키는 방법을 제공함에 있다.
상기한 목적을 달성하기 위해 본 발명은 소정 주기로 수신 음성 데이터 처리 요구 인터럽트를 발생하는 제1과정과, 상기 인터럽트 발생에 의해 수신 버퍼에 음성 데이터의 수신 여부를 판단하는 제2과정과, 상기 제2과정에서 수신된 음성 데이터가 없다고 판단하면 수신 버퍼의 허락 비트를 음성 데이터 독출 방지 값으로 세팅한 후 상기 제1과정으로 진행하는 제3과정과, 상기 제2과정에서 수신된 음성 데이터가 있다고 판단하면 허락 비트에 세팅된 값을 검사하는 제4과정과, 상기 제4과정에서 허락 비트에 음성 데이터 독출 방지 값이 세팅되어 있으면 수신 버퍼에 소정 량의 음성 데이터가 기록되었는가를 판단하는 제5과정과, 상기 제5과정에 의해 소정 량의 음성 데이터가 기록되었다고 판단하면 허락 비트를 음성 데이터 독출 허락 값으로 세팅하는 제6과정과, 상기 제4과정과 상기 제6과정에서 허락 비트에 음성 데이터 독출 허락 값이 세팅되어 있으면 수신 버퍼의 독출 어드레스에 기록된 음성 데이터를 읽어 상위 디지털신호 프로세서에 기록한 후 상기 제1과정으로 진행하는 제7과정으로 이루어진 보코더의 지터 처리 버퍼링 방법을 구현하였다.
상기한 목적을 달성하기 위해 보다 바람직하기로는 상기 제2과정에서 음성 데이터의 수신 여부를 판단할 시 수신 버퍼에 기록된 독출 어드레스와 기록 어드레스가 동일하면 수신된 음성 데이터가 없다고 판단하고, 상이하면 수신된 음성 데이터가 있다고 판단하도록 하며, 상기 제5과정에서 수신 버퍼에 소정 량의 음성 데이터가 기록되었는가를 판단할 시 독출 어드레스와 기록 어드레스의 차가 소정 량보다 큰 경우에는 소정 량의 음성 데이터가 기록되었다고 판단하고, 작은 경우에는 소정 량의 음성 데이터가 기록되지 않았다고 판단하도록 보코더의 지터 처리 버퍼링 방법을 구현하였다.
도 1은 본 발명이 적용되는 시스템의 개방형 시스템간 상호 접속 참조 모델의 일 예를 도시한 도면.
도 2는 본 발명이 적용되는 시스템의 송신측과 수신측간에 이루어지는 프로토콜을 간략하게 도시한 도면.
도 3은 본 발명의 일 실시 예에 따른 보코더의 지터 처리 버퍼링을 위한 구성을 도시한 도면.
도 4는 본 발명의 일 실시 예에 따른 보코더의 지터 처리 버퍼링을 위한 제어 흐름을 도시한 도면.
도 5는 도 3에 도시한 수신 버퍼 구성의 일 예를 도시한 도면.
이하 본 발명의 바람직한 실시 예를 첨부한 도면을 참조하여 상세히 설명하면 다음과 같다. 우선 다음에서 설명할 시스템으로 보코더(Vocoder)를 사용하여 음성을 전송하는 시스템을 예를 들어 설명할 것이며, 여기에 사용되는 보코더의 압축방식으로는 이미 ITU-T(International Telecommunication Union-Telecommunication Standardization Sector; 국제 전기통신 연합 전기통신 표준화 부문)에서 권고하고 있는 G.723.1방식과 G.729 방식을 중심으로 하여 설명함을 미리 밝혀 둔다.
이때 상기 G.723.1 방식과 G.729 방식의 가장 큰 차이라 하면 음성 데이터(Voice Data)를 압축함에 있어 주요한 요소라 할 수 있는 샘플링(sampling) 주기를 들 수 있다. 상기 G.723.1 방식의 경우에는 30ms를 샘플링 주기로 사용하여 음성 데이터를 20, 24바이트(byte)로 전송하며, 상기 G.729 방식의 경우에는 10ms를 샘플링 주기로 사용하여 음성 데이터를 10바이트(byte)씩 전송한다. 이때 수신측 오디오 코덱(Audio Codec)은 30ms 또는 10ms마다 수신한 음성 데이터를 분해하게 된다.
하지만 대역폭(BandWidth)이 일정하지 않은 근거리 통신망(LAN)을 통해 음성 데이터가 전송되는 경우에는 일정 간격마다(30ms 또는 10ms) 수신되지 않는 문제가 발생할 수 있다. 상기 일정 간격으로 음성 데이터가 수신되지 않는 다는 것은 전송 품질이 좋지 않은 것을 의미한다.
따라서 본 발명은 앞의 목적에서도 언급한 바와 같이 수신측 음성 코덱이 수신한 음성 데이터를 처리하기 전에 일정 프레임(Frame)을 버퍼링(Buffering) 하여 전송 지연차 감소를 해결하고, 수신측 코덱이 수신된 프레임 처리에 동기(Sync)를 맞춰 음성 성능(Voice Quality)을 향상시키도록 구현하고자 한다.
먼저 본 발명을 적용할 시스템의 일반적인 동작을 도 1과 도 2를 통해 살펴보면 다음과 같다. 이때 상기 도 1은 음성을 전송하는 시스템에서 필요한 기능을 계층화한 OSI(Open Systems Interconnection; 개방형 시스템간 상호접속) 참조 모델의 일 예를 도시한 도면이며, 상기 도 2는 음성을 전송하기 위해 송신측과 수신측간에 이루어지는 프로토콜을 간략하게 도시한 도면이다.
상기 도 1에 도시한 OSI 참조 모델은 통상적인 OSI 계층(Layer)의 제1계층에 대응하는 물리계층(PHY), 제2계층(데이터 링크층)에 대응하는 MAC(Media Access Control; 매체접속제어) 및 LLC(Logical Link Control; 논리링크제어) 계층, 제3계층(네트워크층)에 대응하는 IP(Internet Protocol; 인터넷 프로토콜), 제4계층(트랜스포트층)에 대응하는 UDP(User Datagram Protocol; 사용자 데이터그램 프로토콜) 또는 TCP(Transmission Control Protocol) 및 상위 계층에 대응하는 RTCP(
RTP(Realtime Transport Protocol; 실시간 전송 프로토콜), H.2250(RAS), H.2250(Q931), H.245로 구성된다. 이때 상위 계층과 제4계층은 두 경로(path)로 구분되는데, 음성(voice)을 처리하는 경로와 신호(signalling)를 처리하는 경로가 바로 그것이다. 상기 음성을 처리하는 경로상의 계층은 RTCP, RTP, H.2250(RAS) 및 UDP이며, 상기 신호를 처리하는 경로상의 계층은 H.2250(Q.931), H245 및 TCP이다. 이때 상기 H.2250(Q.931)은 호(call) 시그날링을 수행하고, 상기 H.2250(RAS)은 인증 절차 등을 수행하며, H.245는 호(call) 컨트롤(control)을 수행한다.
상기한 구성에 의해 전송하고자 하는 음성은 상기한 각 계층을 통과하며, 해당 계층에 대응하는 헤더를 첨가하게 된다. 즉, 음성의 경우에는 해당 계층인 RTCP, RTP, H.2250(RAS) 및 UDP에 의해 헤더가 첨가되어 IP로 제공되며, 신호의 경우에는 H.2250(Q.931), H245 및 TCP에 의해 헤더가 첨가되어 IP로 제공된다. 그 이후에는 동일한 계층을 통해 헤더가 첨가되어 상기 헤더가 첨가된 음성 데이터 패킷은 PHY를 거쳐 수신측 시스템으로 전송된다. 수신측 시스템은 상기 계층의 역순에 의해 음성 데이터를 얻게 된다.
상기한 신호 경로상의 계층에 의해 이루어지는 프로토콜은 도 2에 도시한 도명에 의해 이루어지는데, 도면상에 도시된 바와 같이 Q.931에 의해 연결이 설정된 후 H.245에 의한 연결이 이루어진다. 상기한 연결이 설정된 후 음성 데이터의 전송이 이루어진다.
도 3은 본 발명의 일 실시 예에 따른 음성 데이터의 버퍼링을 위해 구비된 구성으로 상기 도 1에 도시한 UDP 계층을 거치기 전에 음성 신호를 압축하거나 복원하기 위한 구성을 도시한 도면이다. 상기 도 3을 참조하면, 디지털신호 처리부(DSP; Digital Signal Processor) 310은 송신 또는 수신되는 음성 데이터를 압축하거나 복원하는 기능을 수행하며, 인터럽트 발생을 통한 음성 데이터의 송신 또는 수신 요구를 하게 된다. 이때 상기 DSP 310이 인터럽트를 발생함에 있어 음성 코덱 방식에 따라 인터럽트 발생 주기가 결정되는데, 이는 앞에서도 언급한 바와 같이 G.723.1 방식의 경우에는 30ms, G.729 방식의 경우에는 10ms를 주기로 하고 있다. 기록 DSP 320은 앞에서 언급한 ISR 기능을 수행하는데, 본 발명에서는 수신된 음성 데이터를 상기 DSP 310으로 버퍼링 하는 기능을 수행한다. 상기 버퍼링 기능은 본 발명의 실시에 의해 수신 버퍼 340에 기록된 음성 데이터를 상기 인터럽트 주기로 읽어 상기 DSP 310에 기록하는 일련의 동작을 의미한다. 상기 수신 버퍼 340은 내부에 본 발명에 따른 소정 구성을 가지며, RTP-Rx 350으로부터 제공되는 음성 데이터를 기록한다. 상기 수신 버퍼 340 구성의 일 예는 도 5에 도시한 바와 같다. RTP-Rx 350은 도 1에 도시한 UDP로부터 제공되는 음성 데이터로부터 RTP 헤더를 처리한 후 순수 음성 데이터만을 독출하여 상기 수신 버퍼 340의 해당 영역에 기록한다.
이하 상기 도 3에 도시한 수신 버퍼 340의 구성을 도 5를 참조하여 상세히 설명하면, 상기 수신 버퍼 340의 영역들은 독출 어드레스(R_Addr_P), 기록 어드레스(W_Addr_P), 허락 비트(Jitter_Size_ok) 및 음성 데이터(Voice_Data)를 각각 저장하는 영역으로 구성된다. 상기 R_Addr_P는 상기 기록 DSP 320이 다음에 읽을 음성 데이터가 기록된 어드레스를 의미하며, 상기 W_Addr_P는 상기 RTP-Rx 350이 다음에 수신한 음성 데이터를 기록할 어드레스를 의미한다. 허락 비트에 해당하는 Jitter_Size_ok는 수신 버퍼 340에 기록된 음성 데이터의 독출 가능 여부를 알리는 값이 등록되는 비트이다. 일 예를 들면, "0"(이하 "음성 데이터 독출 방지 값"이라 칭함)이 등록된 경우에는 기록 DSP 320이 수신 버퍼 340에 기록된 음성 데이터를 억세스 하는 것이 불가능하며, "1"(이하 "음성 데이터 독출 허락 값"이라 칭함)이 등록된 경우에는 기록 DSP 320이 수신 버퍼 340에 기록된 음성 데이터를 억세스 하는 것이 가능하다. 마지막으로 음성 데이터 Voice_Data는 RTP-Tx 350에 의해 음성 데이터가 기록되는 영역이다.
한편 상기 도 3에 도시한 기록 DSP 320은 도 4에 도시한 제어 흐름에 따라 전송 지연차 감소 처리를 위한 동작을 수행한다. 상기 도 4는 수신 버퍼에 일정 량의 음성 데이터가 쌓이면 허락 비트를 음성 데이터 독출 허락 값으로 세팅하여 상기 수신 버퍼에 독출할 음성 데이터가 없을 때까지 주기적으로 음성 데이터를 독출하며, 상기 수신 버퍼에 독출할 음성 데이터가 없을 경우 상기 허락 비트를 음성 데이터 독출 방지 값으로 세팅하는 일련의 과정으로 이루어진다.
이하 상기한 구성을 참조하여 본 발명의 일 실시 예에 따른 동작을 상세히 설명하면 다음과 같다. 우선 앞에서도 언급은 하였으나 현재 H.323 엔드 포인트(End Point), 게이트웨이(Gateway), 게이트 키퍼(Gatekeeper), 멀티플 컨트롤 유니트(Multiple Control Unit) 멀티 포인트 컨트롤러(Multipoint Controller)는 음성 코덱으로 G.723.1과 G.729A를 사용하며, 각 음성 코덱의 샘플링 주기는 각각 30ms와 10ms이다. 따라서 본 발명의 일 실시 예에 따라 도 4에 도시한 인터럽트 서비스 루틴(ISR; Interrupt Service Routine)은 사용되는 음성 코덱에 따라 30ms 또는 10ms마다 수행하게 된다. 즉, 상기 ISR은 LAN의 UDP 포트를 통해 수신된 RTP 패킷의 음성 데이터(PayLoad)를 DSP 310이 디코딩(Decoding)할 수 있게 수신 버퍼 340에 기록된 음성 데이터를 상기 DSP 310으로 버퍼링 하여 기록하는 일을 처리한다. 이때 상기 처리는 수신 RTP 350에 의해 RTP 헤더를 처리한 음성 데이터(PayLoad)만 저장된 수신 버퍼(Voice_RX_Queue) 340의 데이터를 읽어 처리한다. 한편, 본 발명은 수신 버퍼 340에 수신된 음성 데이터를 상위 DSP 310에 기록하기 위한 동작에 관한 것이므로 송신을 위한 동작에 대한 상세한 설명은 자제한다.
상기한 주기에 의한 인터럽트가 DSP 310에 의해 발생되면 기록 DSP 320은 도 4의 410단계에서 수신 버퍼 340의 기록 어드레스 W_Addr_P와 독출 어드레스 R_Addr_P가 동일한가를 비교한다. 이는 새로 수신한 음성 데이터가 있는 가를 판단하기 위한 단계이다. 상기 W_Addr_P는 수신 RTP 350이 수신한 음성 데이터(RTP PayLoad)에서 RTP 헤더를 제거한 음성 데이터(PayLoad)를 다음에 기록할 어드레스를 의미하며, R_Addr_P는 상기 기록 DSP 320에서 읽을 음성 데이터가 저장된 영역을 지정하는 어드레스를 의미한다. 따라서 상기 W_Addr_P와 R_Addr_P가 동일하다는 것은 상기 기록 DSP 320에서 읽을 음성 데이터가 없다는 것을 의미하는 것이다.
상기 410단계에서 두 어드레스가 동일하면 더 이상 읽어 기록할 음성 데이터가 없다고 판단하여 412단계로 진행하며, 상기 412단계로 진행하면 수신 버퍼 억세스 여부를 알리는 비트인 Jitter_Size_ok를 음성 데이터 독출 방지 값인 "0"으로 세팅하여 불필요한 억세스를 방지한 후 소정의 음성 데이터(일 예로 60바이트)가 상기 수신 버퍼 340에 쌓이기를 기다린다. 상기 일 예로 나타낸 60바이트는 G.723.1 방식을 사용함에 따라 생성되는 20바이트의 음성 셀 세 개를 하나의 헤더에 붙여 패킷을 구성하는 경우를 일컫는다. 이때에는 30ms를 주기로 하여 인터럽트가 발생할 것이다.
반면에 상기 두 어드레스가 상이하다고 판단하면 상기 기록 DSP 320은 414단계로 진행하여 수신 버퍼 억세스 여부를 알리는 허락 비트인 Jitter_Size_ok를 검사한다. 상기 검사를 수행하는 이유는 ISR 처리 인터럽트 주기(일 예로 30ms)마다 수신 버퍼 340에 일정량(60바이트)의 음성 데이터가 쌓였는지를 검사할 필요 없이 상기 수신 버퍼 340에 기록된 음성 데이터를 상기 DSP 310에 기록할 수 있도록 하기 위함이다. 즉, 상기 검사단계가 없다면 상기 기록 DSP 320은 상기 수신 버퍼 340에 일정량(60바이트)의 음성 데이터가 쌓여 있어야만 기록 동작을 수행할 것이며, 이런 경우에는 다음 패킷의 전송 지연으로 인하여 정상적인 타이밍에 음성 데이터가 수신되지 않으면 상기 기록 DSP 320은 두 번의 인터럽트 주기(120ms)를 대기하여야 하는 문제가 발생할 수 있기 때문이다.
따라서 상기한 문제가 발생하지 않도록 하기 위해 상기 기록 DSP 320은 418단계 및 420단계를 통해 한번 음성 데이터가 일정량(60바이트) 만큼 쌓임에 따라 Jitter_Size_ok를 음성 데이터 독출 허락 값에 해당하는 "1"로 세팅하며, 상기 412단계를 통해 "0"으로 세팅되기 전까지 상기 418단계를 거치지 않고 416단계 및 422단계를 통해 음성 데이터를 억세스 할 수 있도록 하였다.
보다 상세히 설명하면, 상기 검사가 완료되면 416단계로 진행하여 수신 버퍼 340의 억세스가 가능한 상태("1"로 세팅된 상태)인가를 판단한다. 상기 판단에 의해 억세스가 불가능한 상태라 판단하면 상기 기록 DSP 320은 418단계로 진행한다. 즉, 상기 Jitter_Size_ok가 "0"으로 세팅되어 있어 상기 418단계로 진행한 상기 기록 DSP 320은 일정량(60바이트)의 음성 데이터가 상기 수신 버퍼 340에 쌓일 때까지 대기한다. 상기 일정량(60바이트)의 음성 데이터가 쌓였다고 판단하면 상기 기록 DSP 320은 420단계로 진행하여 Jitter_Size_ok를 "1"로 세팅한다.
상기 일정량의 음성 데이터가 쌓였는지 여부의 판단을 상기 W_Addr_P와 R_Addr_P의 차가 소정 값 보다 큰 값을 가지는 지를 비교하는 방법을 사용하는데, 이를 수학식으로 도시하면 아래 〈수학식 1〉과 같이 나타낼 수 있다.
상기 〈수학식 1〉에 도시한 WAddr과 RAddr은 각각 상기 W_Addr_P와 R_Addr_P을 나타내며, 일정량의 음성 데이터가 60바이트인 경우, 즉 음성 코덱 방식으로 G.723.1 방식을 채택한 경우를 예로 하고 있다.
한편, 상기 422단계에서 셀 단위로 음성 데이터를 상기 DSP 310에 기록한 후 상기 410단계를 재 수행하며, 상기 재 수행에 의해 상기 수신 버퍼 340에 읽을 음성 데이터가 없다고 판단되면 상기 412단계를 수행함으로서 일정량의 음성 데이터가 쌓인 후 처리할 수 있도록 한다.
상술한 바와 같이 본 발명은 한번 음성 데이터가 일정량만큼 쌓이면 일정량의 음성 데이터 누적을 검사하지 않고 음성 데이터를 바로 처리함에 따라 전송 지연차를 감소시킬 수 있어 저지연 지터 요구를 만족하는 시스템을 구현할 수 있는 효과를 얻을 수 있다.

Claims (3)

  1. 수신 버퍼를 구비한 음성 데이터 처리 시스템의 수신 음성 데이터 처리방법에 있어서,
    소정 주기로 상기 수신 음성 데이터 처리 요구 인터럽트를 발생하는 제1과정과,
    상기 인터럽트 발생에 의해 상기 수신 버퍼에 음성 데이터의 수신 여부를 판단하는 제2과정과,
    상기 제2과정에서 수신된 음성 데이터가 없다고 판단하면 상기 수신 버퍼의 허락 비트를 음성 데이터 독출 방지 값으로 세팅한 후 상기 제1과정으로 진행하는 제3과정과,
    상기 제2과정에서 수신된 음성 데이터가 있다고 판단하면 상기 허락 비트에 세팅된 값을 검사하는 제4과정과,
    상기 제4과정에서 상기 허락 비트에 음성 데이터 독출 방지 값이 세팅되어 있으면 상기 수신 버퍼에 소정 량의 음성 데이터가 기록되었는가를 판단하는 제5과정과,
    상기 제5과정에 의해 소정 량의 음성 데이터가 기록되었다고 판단하면 상기 허락 비트를 음성 데이터 독출 허락 값으로 세팅하는 제6과정과,
    상기 제4과정과 상기 제6과정에서 상기 허락 비트에 음성 데이터 독출 허락 값이 세팅되어 있으면 상기 수신 버퍼의 독출 어드레스에 기록된 음성 데이터를 읽어 상위 디지털신호 프로세서에 기록한 후 상기 제1과정으로 진행하는 제7과정으로 이루어짐을 특징으로 하는 보코더의 지터 처리 버퍼링 방법.
  2. 제1항에 있어서, 상기 제2과정에서 음성 데이터의 수신 여부를 판단할 시 상기 수신 버퍼에 기록된 독출 어드레스와 기록 어드레스가 동일하면 수신된 음성 데이터가 없다고 판단하고, 상이하면 수신된 음성 데이터가 있다고 판단함을 특징으로 하는 보코더의 지터 처리 버퍼링 방법.
  3. 제2항에 있어서, 상기 제5과정에서 상기 수신 버퍼에 소정 량의 음성 데이터가 기록되었는가를 판단할 시 상기 독출 어드레스와 상기 기록 어드레스의 차가 상기 소정 량보다 큰 경우에는 상기 소정 량의 음성 데이터가 기록되었다고 판단하고, 작은 경우에는 상기 소정 량의 음성 데이터가 기록되지 않았다고 판단함을 특징으로 하는 보코더의 지터 처리 버퍼링 방법.
KR1019980057868A 1998-12-23 1998-12-23 보코더의 지터 처리 버퍼링 방법 KR100283173B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1019980057868A KR100283173B1 (ko) 1998-12-23 1998-12-23 보코더의 지터 처리 버퍼링 방법
US09/467,686 US6526108B1 (en) 1998-12-23 1999-12-21 Method for buffering the jitter processing of vocoder

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980057868A KR100283173B1 (ko) 1998-12-23 1998-12-23 보코더의 지터 처리 버퍼링 방법

Publications (2)

Publication Number Publication Date
KR20000041858A KR20000041858A (ko) 2000-07-15
KR100283173B1 true KR100283173B1 (ko) 2001-03-02

Family

ID=19565100

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980057868A KR100283173B1 (ko) 1998-12-23 1998-12-23 보코더의 지터 처리 버퍼링 방법

Country Status (2)

Country Link
US (1) US6526108B1 (ko)
KR (1) KR100283173B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102208066B1 (ko) * 2019-09-24 2021-01-26 경희대학교 산학협력단 클라우드 중심 IoT용 데이터 동기화 시스템 및 이의 실행 방법
KR102246079B1 (ko) * 2019-09-26 2021-04-28 경희대학교 산학협력단 클라우드 중심 IoT를 위한 멀티 모달 센서 데이터 획득 및 동기화 시스템과 이의 실행 방법

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4193123A (en) * 1978-03-20 1980-03-11 Bell Telephone Laboratories, Incorporated Fault detection in data rate conversion systems using a first-in, first-out buffer
AR242675A1 (es) * 1985-10-11 1993-04-30 Ibm Una disposiciones de almacenamiento intermedio de voz
US5218710A (en) * 1989-06-19 1993-06-08 Pioneer Electronic Corporation Audio signal processing system having independent and distinct data buses for concurrently transferring audio signal data to provide acoustic control
EP0907161B1 (en) * 1997-09-18 2001-07-11 Victor Company Of Japan, Ltd. Apparatus for processing audio signal

Also Published As

Publication number Publication date
US6526108B1 (en) 2003-02-25
KR20000041858A (ko) 2000-07-15

Similar Documents

Publication Publication Date Title
KR100322015B1 (ko) 근거리 통신망에서 프레임 구조 가변방법
US6278478B1 (en) End-to-end network encoding architecture
KR100501324B1 (ko) 음성 품질 예측값을 이용한 보이스 오버 인터넷프로토콜에서의 콜 라우팅 방법
US6421720B2 (en) Codec-independent technique for modulating bandwidth in packet network
US8160030B2 (en) Data rate controller
US7453897B2 (en) Network media playout
JP3555568B2 (ja) Ip電話録音システム
US7773511B2 (en) Generic on-chip homing and resident, real-time bit exact tests
Mehta et al. Voice over IP
US20110122869A1 (en) Method of Transmitting Data in a Communication System
JPH10229420A (ja) 通信システム
JP2000270024A (ja) インターネット電話におけるフレームパケット化サイズ能力交換方法,インターネット電話利用端末装置,およびインターネット電話のプログラムを記録した記録媒体
WO2014207978A1 (ja) 送信装置、受信装置および中継装置
JP2000332829A (ja) 電話システムでの受信データ量制御方法、装置、及び、その方法を記録した記憶媒体
KR100283173B1 (ko) 보코더의 지터 처리 버퍼링 방법
KR100911771B1 (ko) 음성통신의 패킷 손실을 은닉하는 단말장치 및 방법
US8085803B2 (en) Method and apparatus for improving quality of service for packetized voice
Zhai et al. An application of VoIP communication on embedded system
US20040022236A1 (en) Communication of queue status in a packet
JP3492561B2 (ja) 通信用音声処理装置及び音声処理プログラムを記憶した記憶媒体
KR100744563B1 (ko) 패킷 단위로 수신된 임베디드 코덱의 비트 스트림 처리장치 및 방법
KR100315188B1 (ko) 음성데이터 수신장치 및 방법
Pang et al. Analysis of the latency of SIP phone based on the embedded system
JP2005266411A (ja) 音声圧縮方法および電話器
RU2004131555A (ru) Передача речевой информации в сети с пакетной передачей данных

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121129

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20131128

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20141127

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 16

LAPS Lapse due to unpaid annual fee