KR20080056046A - 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선방법 - Google Patents
리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선방법 Download PDFInfo
- Publication number
- KR20080056046A KR20080056046A KR1020060128622A KR20060128622A KR20080056046A KR 20080056046 A KR20080056046 A KR 20080056046A KR 1020060128622 A KR1020060128622 A KR 1020060128622A KR 20060128622 A KR20060128622 A KR 20060128622A KR 20080056046 A KR20080056046 A KR 20080056046A
- Authority
- KR
- South Korea
- Prior art keywords
- voice
- packet data
- linux
- data
- rtp
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M11/00—Telephonic communication systems specially adapted for combination with other electrical systems
- H04M11/06—Simultaneous speech and data transmission, e.g. telegraphic transmission over the same conductors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/253—Telephone sets using digital voice transmission
- H04M1/2535—Telephone sets using digital voice transmission adapted for voice communication over an Internet Protocol [IP] network
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 인터넷 영상/음성 전화기에 관한 것으로 특히 리눅스 오에스를 사용하는 인터넷 전화기에서 통화 음성의 처리를 리눅스 커널부에서 처리하여 양질의 통화 음질을 제공하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법이다. 본 발명의 방법은 인터넷 영상/음성 전화기의 리눅스 오에스에 있어서, 패킷 데이터가 수신되면 상기 패킷 데이터가 음성데이터인지 호처리 데이터인지 판별하는 1 과정과, 패킷 데이터가 음성데이터인 경우 네트워크 디바이스 드라이버 인터럽트 타임에 상기 패킷 데이터의 헤더 정보를 제거하고 음성데이터만을 버퍼에 저장시키는 2 과정과, 버퍼에 저장된 상기 음성데이터를 디에스피 디코딩 인터럽트 타임에 재생하도록 디에스피 디바이스 드라이버로 제공하는 3 과정을 포함함을 특징으로 한다.
리눅스 오에스부(Linux OS), RTP 필터부, RTP 링버퍼부
Description
도 1은 종래의 인터넷 영상/음성 전화기의 블럭도
도 2는 종래의 인터넷 전화기에서 음성 데이터를 처리하는 개념도
도 3은 본 발명의 인터넷 전화기에서 통화를 처리하기 위한 블럭도
도 4는 리눅스 오에스부에서 패킷 데이터를 버퍼링하는 설명도
도 5는 본 발명의 리눅스 오에스를 사용하는 인터넷 전화기를 이용하여 통화를 처리하는 개념도
본 발명은 인터넷 영상/음성 전화기에 관한 것으로 특히 리눅스 오에스를 사용하는 인터넷 전화기에서 통화 음성의 처리를 리눅스 커널에서 처리하여 양질의 통화 음질을 제공하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법에 관한 것이다.
일반적으로 VoIP(voice over internet protocol)는 인터넷 텔레포니의 핵심 기술로서 지금까지 PSTN(public switched telephone network) 네트워크를 통해 이루어졌던 음성 서비스를 인터넷 프로토콜(IP)을 사용하여 여러 가지 다양한 서비스로 제공하는 것이다. 음성이 디지털화되고 전달 체계가 IP로 됨으로써 전화는 물론 인터넷 팩스, 통합 메시지 처리 등의 향상된 인터넷 텔레포니 서비스가 가능하게 된다. VoIP 기술은 인터넷뿐만 아니라 사설 IP 기반망, 공중 전화망(PSTN), 복합망에서도 연동되어야 하기 때문에 기술 및 프로토콜의 표준화가 중요하며, H.323 기반 기술과 SIP 기반 기술, MEGACO(Media Gateway Control) 기반 기술 등이 있다.
도 1은 종래의 인터넷 영상/음성 전화기의 블럭도를 나타낸 것이다.
인터넷 영상/음성 전화기는 PSTN(public switched telephone network) 전화기와는 달리 인터넷에 전화기가 연결되어 영상/음성 데이터를 패킷(packet)화하여 상대 단말기와 통신하는 단말기를 말한다.
인터넷 영상/음성 전화기는 도 1과 같이 다수 개의 모듈로 구성되고, VoIP 어플리케이션부(20), 리눅스 오에스부(40)와 하드웨어를 제어하는 디바이스 드라이버부(50)로 이루어진다.
종래의 인터넷 영상/음성 전화의 처리는 VoIP 어플리케이션부(20)에서 리눅스 오에스부(40)와 디바이스 드라이버부(50)를 제어하여 인터넷으로 통화를 처리하였다.
도 1의 VoIP 어플리케이션부(20)는 RTP 컨트롤부(RTP Control)(22), 시그널링 컨트롤부(Signaling Control)(24), 후크 컨트롤부(Hook Control)(26), DSP 컨트 롤부(DSP Control)(28), PSTN 컨트롤부(PSTN Control)(30) 등으로 구성되고, 디바이스 드라이버부(50)는 네트워크 디바이스 드라이버(52), 후크 디바이스 드라이버(54), DPS 디바이스 드라이버(56), PSTN 디바이스 드라이버(58) 등으로 이루어지며 하드웨어를 제어한다.
VoIP 어플리케이션부(20)의 시그널링 컨트롤부(Signaling Control)(24)는 호 처리에 대한 부분을 체크함으로서 통화신호가 수신되는 것을 판단하고 제어하며, PSTN 컨트롤부(PSTN Control)(30)에서는 PSTN으로부터 전화가 왔는지를 판단하고 제어하며, 후크 컨트롤부(Hook Control)(26)는 사용자의 후크 스위치(Hook Switch) 동작을 판단하고 실행 제어한다.
DSP 컨트롤부(DSP Control)(28)는 네트워크로부터 수신된 음성 데이터를 재생하기 위한 디코딩(Decoding) 처리, 네트워크로 음성 데이터를 송신하기 위한 엔코딩(Encoding) 처리를 담당한다.
RTP 컨트롤부(RTP Control)(22)는 디코딩/엔코딩(Decoding/Encoding)된 음성 데이터를 네트워크로 전송하고, 네트워크로부터 수신하기 위한 RTP 처리를 담당한다.
리눅스(Linux) 오에스부(40)에서 VoIP 어플리케이션들은 도 1의 화살표에서도 나타낸 바와 같이 상기한 VoIP 어플리케이션부(20)를 구성하는 상술한 각 모듈을 순차적으로 실행하는 단일 태스크 오퍼레이션(Task Operation)으로 동작한다.
VoIP 어플리케이션부(20)를 구성하는 각각의 모듈은 사용자의 영상/음성을 인터넷으로 보내고 받기 위해 사용자의 입력을 받고, 호 처리 역할을 하며 데이터 를 샘플링 하고 패킷(packet)화하여 네트워크로 전송하기 위한 기능들을 담당한다.
또한 상대 단말로부터 전송되는 영상/음성 데이터를 알맞게 재생함으로써 인터넷 영상/음성 전화기를 사용하는 사용자가 상대방의 영상/음성을 잘 보고 들을 수 있는 기능을 제공한다.
도 1과 같이 VoIP 어플리케이션부(20)의 각 모듈의 수행을 시스템 폴링(Polling)으로 처리하는 종래의 방식은 각 모듈이 수행하면서 RTP 송수신부(RTP Send/Receive) 모듈까지 오는 시간은 정확한 음성 코덱(Codec)의 프로세스 타임(Process Time)을 지키기 어렵고, 정확한 시간 안에 음성을 재생할 수 없기 때문에 사용자가 만족할만한 음성 품질을 보장하기 어렵다.
한편, 인터넷 전화기는 통화 처리를 위한 G.723.1, G.729, G.711ulaw, G.711alaw 등의 여러 가지 압축 알고리즘을 사용하며, 표 1 같은 대역폭을 가지고 있다.
음성 압축 코덱 | 대역폭 |
G.723.1 | 6.3 kbps |
G.729 | 8kbps |
G.711(ulaw, alaw) | 64kbps |
그리고 이러한 압축 알고리즘은 네트워크로 보내지는 전송 딜레이(Delay)에 따라서 각각 보내지는 음성 패킷(packet) 사이즈가 아래의 표 2와 같이 달라진다.
G.723 | G.729 | G.711 | |
인터벌\대역폭(Bandwidth) | 6.3kbps | 8kbps | 64kbps |
10ms | \ | 10바이트 | 80바이트 |
20ms | \ | 20바이트 | 160바이트 |
30ms | 24바이트 | 30바이트 | 240바이트 |
표 2에서 G.729 코덱(Codec)의 예를 보면, 10ms 마다 10 바이트(bytes)를 전송해야만 대역폭 8kbps를 사용하는 계산이 나온다.
표 2에 나타낸 바와 같이 각 음성 압축 알고리즘 마다 전송 규약을 가지고 있으므로 인터넷 음성 전화를 하는 양단말은 정확한 전송 딜레이(Delay)에 맞춰서 음성 패킷을 주고 받아야 하고 수신된 음성 패킷(packet)을 잘 재생하기 위해서는 정확한 시간에 이 음성 패킷(packet)을 DSP(Digital Signal Process)로 전달해야 한다.
표 2에서 보는 바와 같이 G.729 코덱(Codec)을 인터넷 전화기에서 사용할 경우에 10ms 안에 10 바이트(bytes)의 음성 데이터를 정확하게 VoIP 어플리케이션부(20)의 DSP 컨트롤부(DSP Control)(28)로 전달하여야 사용자가 상대방의 음성을 잘 들을 수 있다.
그러나 리눅스(Linux) 오에스부(40)는 상술한 바와 같이 단일 프로세스로 구성되어 있으므로 인터넷 통화를 위한 일련의 과정들을 순차적으로 처리할 수밖에 없다.
따라서 정확한 음성 코덱(Codec)의 프로세스 타임(Process Time)을 지키기 어렵고, 정확한 시간 안에 음성을 재생할 수 없기 때문에 사용자가 만족할만한 음성 품질을 보장할 수 없는 문제점이 있다.
도 2는 종래의 인터넷 전화기에서 음성 데이터를 처리하는 개념도이다.
도 2의 화살표는 RTP 패킷 데이터의 흐름을 나타낸 것이며, RTP 패킷 데이터의 흐름이 VoIP 어플리케이션부(20)까지 도달한 후에 DSP디바이스 드라이버(56)에 전달되어 음성이 재생되는 것을 나타낸다.
상술한 바와 같이 종래의 방식으로 상대 단말에서 전송되는 RTP의 음성 데이터를 재생하는 것은 정확한 재생 시간을 요구하는 음성 압축 알고리즘에 신뢰성 있는 동작을 기대할 수 없는 문제점이 발생된다.
실제로 인터넷 전화기로 통화 중에 새로운 호 처리를 하거나 사용자로부터 후크 동작이 일어났을 때의 처리 때문에 오버헤드(Over head)가 발생되어 시간이 오래 걸려 VoIP 어플리케이션부(20)의 RTP 컨트롤부(RTP Control)(22)의 진입이 늦어질 수 있으며 이러한 상황이 발생되면 사용자는 상대방의 음성을 제대로 들을 수 없게 되는 치명적인 문제점이 발생된다.
이렇게 인터넷 전화기에서 사용하는 음성 압축 코덱(Codec)에 적절한 전송 딜레이(Delay) 시간 내에 데이터를 처리하지 못하면 대역폭도 보장할 수 없게 된다. 이는 여러 음성 채널이 있는 다채널 장비에서 신뢰도는 더욱 떨어지는 문제점을 발생시킨다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 본 발명의 목적은 실시간으로 수신되는 음성 데이터의 처리를 신뢰성이 높은 리눅스 커널에서 처리하도록 하여 빠르게 음성데이터를 재생하고 한정된 대역폭에서 좋은 음성의 품질을 제공하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법을 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명의 방법은, 인터넷 영상/음성 전화기의 리눅스 오에스에 있어서 패킷 데이터가 수신되면 상기 패킷 데이터가 음성데이터인지 호처리 데이터인지 판별하는 1 과정과, 상기 패킷 데이터가 음성데이터인 경우 네트워크 디바이스 드라이버 인터럽트 타임에 상기 패킷 데이터의 헤더 정보를 제거하고 음성데이터만을 버퍼에 저장시키는 2 과정과, 버퍼에 저장된 상기 음성데이터를 디에스피 디코딩 인터럽트 타임에 재생하도록 디에스피 디바이스 드라이버로 제공하는 3 과정을 포함함을 특징으로 한다.
또한. 상기한 목적을 달성하기 위한 본 발명의 다른 방법은, VoIP 어플리케이션부에서 제어하여 상대방과 통화가 연결되고 네트워크를 통하여 상대방의 음성이 담긴 패킷 데이터가 수신되면, 리눅스 오에스부의 RTP 필터부는 수신되는 상기 패킷 데이터를 파악하여 구별하는 6 과정과, 상기 리눅스 오에스부의 RTP 필터부에서 수신된 상기 패킷 데이터를 음성 데이터로 판변하면 RTP 링버퍼부에 저장하는 7 과정과, 호처리를 마치고 상기 VoIP 어플리케이션부에서 음성 재생 명령이 내려오면 DSP 디바이스 드라이버는 음성 재생을 위해 DSP 디코딩 인터럽트 타임 때에 상기 RTP 링버퍼부에 저장된 음성데이터를 재생하는 8 과정을 포함함을 특징으로 한 다.
이하, 본 발명의 실시 예를 첨부한 도면을 참조하여 설명한다.
하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 생략될 것이라는 것을 유의하여야 한다.
본 발명은 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법에 관한 것으로, 실시간으로 수신되는 음성 데이터의 처리를 신뢰성 높은 리눅스 오퍼레이팅 시스템(Linux Operating System)의 커널(Kernel)에서 빠르게 처리하여, 정확한 대역폭 처리가 가능하고 통화음질을 향상시킨다.
도 3은 본 발명의 인터넷 영상/음성 전화기에서 통화를 처리하기 위한 개념도이고, 도 4는 리눅스 오에스부에서 패킷 데이터를 버퍼링하는 것을 나타낸 것으로, 도 3과 도 4를 참조하여 본 발명을 상세히 설명한다.
본 발명은 음성 데이터의 처리를 우선순위가 낮은 VoIP 어플리케이션부(20)에서 처리하지 않고 리눅스 오에스부(40)에서 처리하도록 하여 정확하고 좋은 음질로 통화할 수 있도록 한다.
본 발명은 종래의 VoIP 어플리케이션부(20)에서 처리하던 기능에서 RTP 수신과 RTP 데이터 디코딩(Data Decoding) 작업을 리눅스 오에스부(40)에서 처리하도록 이원화하고, 수신된 음성 데이터(Data)의 재생도 DSP 디코딩 인터럽트 타임(coding Interrupt Time)에 의존하기 때문에 각 음성 코덱(Codec)에서 제안하고 있는 정확한 대역폭 처리도 가능하다.
본 발명에서 음성통화의 연결과 종료는 종래의 방식을 따른다.
본 발명의 리눅스 오에스부(40)에는 도 3에 나타낸 바와 같이, RTP 필터부(42)와 RTP 링버퍼부(44)를 구비한다.
상대방과 통화가 연결되어 네트워크를 통하여 음성 데이터 패킷(Packet)을 수신하면, 리눅스 오에스부(40)의 RTP 필터부(42)는 현재 수신된 데이터가 음성 데이터를 담고 있는 RTP 패킷(packet) 인지 호 처리를 위한 패킷(packet) 인지 등을 헤더(Header) 정보를 파악하여 구별한다.
리눅스 오에스부(40)의 RTP 필터부(42)에서 수신된 데이터가 음성 데이터인 RTP(Real Time Transport Protocol) 패킷이라고 판단하면, 이미 만들어진 RTP 링버퍼부(Ring Buffer)(44)에 수신되는 패킷(packet)을 버퍼링하여 저장한다.
본 발명에서는 RTP 링버퍼부(Ring Buffer)(44)에 패킷(packet)을 저장하는 버퍼링(Buffering) 방식으로 두가지를 적용할 수 있다.
RTP 필터부(42)에서 선별한 음성 데이터를 RTP 링버퍼부(44)에 저장시에 각 단말이 같은 음성 압축 코덱(Codec)을 사용하여도, 같은 전송 지연시간(Delay)을 가진다는 보장이 없기 때문에 이를 보정해 주는 작업이 필요하다.
예를 들어 A, B 두 단말이 통화 중 G.729 음성 코덱(Codec)으로 통화를 할 때, A 단말은 10ms 마다 10 바이트(bytes)의 데이터를 전송하고, B 단말은 20ms 마다 20 바이트(bytes)의 데이터를 처리하면, B 단말은 A 단말로부터 10ms 마다 수신되는 10 바이트(bytes)의 패킷(packet)을 버퍼에 저장한 후 적정한 처리 시간에 음성을 재생해야 한다.
먼저, 하나의 버퍼링 방식으로 RTP 링버퍼부(Ring Buffer)(44)에 수신된 패킷이 상대방 단말의 음성데이터인 RTP 패킷인 경우 인터럽트가 발생하며 이때를 네트워크 인터럽트 타임이라고 하며, RTP 패킷의 모든 헤더 정보를 제거하고 순수한 음성데이터만을 RTP 링버퍼부(Ring Buffer)(44)에 저장하는 것이다
다른 RTP 버퍼링 방식으로는 수신되는 음성 RTP 패킷 데이터를 우선 RTP 링버퍼부(Ring Buffer)(44)에 저장시키고, DSP 디코딩 인터럽트 타임(Decoding Interrupt Time) 때 재생시 저장된 RTP 패킷 데이터의 헤더 정보를 제거하고 순수한 음성데이터만을 제공하는 방식을 사용한다.
또한, 상술한 리눅스 오에스부(40)에서 RTP 디코딩 작업(헤더 제거 작업)을 어느 시기에 수행하는가에 따라 단말의 음성 처리 성능에 많은 차이점을 가질 수 있다.
RTP 디코딩 작업을 수행하기 위한 최적의 위치는 도 4에 표시한 바와 같이 네트워크 디바이스 드라이버 인터럽트 타임(Network Device Driver Interrupt Time)에 RTP 디코딩(Decoding) 처리하는 방식과 DSP 디코딩 인터럽트 타임(Decoding Interrupt Time)에 처리하는 것이다.
RTP 링버퍼부(Ring Buffer)(44)에 버퍼링시 네트워크 디바이스 드라이버 인터럽트 타임(Network Device Driver Interrupt Time)에 헤더 정보를 제거하고 저장하는 RTP 디코딩(Decoding) 처리 방식은 DSP 디코딩 인터럽트(Decoding Interrupt) 수행의 부하(load)를 줄일 수 있다.
또한. 일단 RTP 링버퍼부(Ring Buffer)(44)에 저장하고 DSP 디코딩 인터럽 트 타임(Decoding Interrupt Time)에 음성데이터를 재생시 헤더 정보를 제거하고 순수한 음성데이터만을 제공하는 RTP 디코딩(Decoding) 방식은 네트워크 디바이스 드라이버 인터럽트(Network Device Driver Interrupt) 수행에 부하(load)를 줄일 수 있다.
따라서 인터넷 영상/음성 전화기 단말의 하드웨어적인 시스템 구성에 따라 최적의 방식을 선택적으로 사용하는 것이 가능하다.
한편, 리눅스 오에스부(40)의 RTP 필터부(42)는 수신된 데이터가 호처리를 위한 데이터인 경우에는 VoIP 어플리케이션부(20)의 시그널링 컨트롤부(Signaling Stack)(24)로 제공하여 호처리를 수행하도록 한다.
통화 연결을 위한 호 처리를 마치고 VoIP 어플리케이션부(20)로부터 음성 재생 명령이 내려오면, DSP 디바이스 드라이버(Device Driver)(56)는 음성 재생을 위해 DSP 디코딩 인터럽트(Decoding Interrupt)를 수신하게 되고, 이때 이미 RTP 링버퍼부(44)(Buffer)에 저장되었던 음성 패킷(packet)을 재생한다.
본 발명에서 음성 패킷(packet)의 재생을 DSP 디코딩 인터럽트 타임(Decoding Interrupt Time)을 기준으로 하여 처리하는 것은 여러 가지 압축 코덱과 지연시간을 사용하는 인터넷 전화기에서 정확한 시간 안에 음성 데이터를 DSP로 전달할 수 있기 때문이다.
DSP 디코딩 인터럽트 타임은 단말에서 수신된 상대방의 음성 데이터를 재생하기 위해 DSP(Digital Signal Process)에서 음성 재생을 위한 인터럽트를 발생하는 의미하고, 이때 각 오디오 코덱에 기본적으로 정의된 간격(interval) 마다 디코 딩 인터럽트가 발생한다.
표 2를 참조로 G.729 코덱을 사용할 때 20 바이트를 보내 G.729 대역폭인 8kbps에 맞게 전송하기 위해서는, 20ms 마다 20 바이트의 음성 데이터를 보내야 하며, 이 경우에 20ms를 DSP 디코딩 인터럽트 타임이라고 한다.
본 발명은 수신된 음성 데이터(Data)의 재생을 상술한 DSP 디코딩 인터럽트 타임(coding Interrupt Time)에 처리하여 정확한 대역폭 처리와 양질의 음성 통화 서비스를 제공할 수 있다.
도 3과 도 4를 참조하여 본 발명의 리눅스 오에스를 사용하는 인터넷 전화기에서의 음성 재생 동작을 설명한다.
리눅스 오에스를 사용하는 인터넷 영상/음성 전화기를 이용하여 상대방과 통화시 먼저, VoIP 어플리케이션부에서 제어하여 상대방과 통화가 연결되고, 네트워크를 통하여 상대방의 단말기로부터 패킷 데이터가 수신되면, 리눅스 오에스부(40)의 RTP 필터부(42)는 수신되는 패킷 데이터의 헤더 정보를 파악하여 음성이 담긴 패킷 데이터인지 구별한다.
리눅스 오에스부(40)의 RTP 필터부(42)는 수신되는 패킷 데이터의 헤더 정보를 파악하여 호처리를 위한 패킷으로 판별되면, VoIP 어플리케이션부(20)의 RTP 컨트롤부로 해당 데이터를 제공한다.
리눅스 오에스부(40)의 RTP 필터부(42)에서 수신된 패킷 데이터가 음성 데이터로 판별하면 패킷 데이터를 RTP 링버퍼부(44)에 저장한다.
본 발명은 RTP 링버퍼부(44)에 패킷 데이터를 저장시 네트워크 디바이스 드 라이버 인터럽트 타임에 패킷 데이터의 헤더를 제거하여 음성데이터만을 저장하는 방식과, 먼저 RTP 링버퍼부에 패킷 데이터를 저장한 후 재생시에 저장되었던 패킷 데이터에서 헤더 정보를 제거하고 순수한 음성데이터만을 제공하는 방식에서 적정한 하나의 방식을 적용한다.
호처리를 마치고 VoIP 어플리케이션부에서 음성 재생 명령이 내려오면 DSP 디바이스 드라이버는 음성 재생을 위해 DSP 디코딩 인터럽트를 수신하고 RTP 링버퍼부(44)에 저장된 음성데이터를 재생한다.
도 5는 본 발명의 리눅스 오에스를 사용하는 인터넷 전화기를 이용하여 통화를 처리하는 개념도이다.
도 5에서 화살표는 RTP 패킷 데이터의 흐름을 나타내며, 도 2와는 다르게 음성데이터의 처리를 VoIP 어플리케이션부(20)에서 처리하지 않고 리눅스 오에스부에서 처리하는 것을 볼 수 있다.
본 발명에 의하면 VoIP 어플리케이션부(20) 보다 우선 순위가 높은 리눅스 오에스부(40)에서 DSP 디코딩 인터럽트 타임에 정확한 음성데이터를 처리할 수 있으므로 사용자에게 보다 좋은 음성 품질을 제공할 수 있다.
언급한 바와 같이, 본 발명은 인터넷 전화기를 이용하여 실시간으로 수신되는 음성 데이터 처리의 신뢰성을 보장하기 위해 VoIP 어플리케이션 레이어(Application Layer) 보다는 리눅스 오퍼레이팅 시스템(Linux Operating System)인 커널(Kernel)에서 담당하여, 우선적으로 음성 데이터를 처리할 수 있어서 좋은 음질의 통화서비스를 제공한다.
또한, 본 발명은 리눅스 오에스를 사용하는 인터넷 전화기에서 빠르고 신뢰성 있는 음성의 재생과 좋은 음성 품질을 보장하며, 네트워크에서 수신된 음성 데이터의 재생은 단말의 DSP 디코딩 인터럽트 타임(Decoding Interrupt Time)을 이용하여 10ms 이상의 빠른 실행을 요구하는 환경에서도 정확한 시간 안에 처리가 가능하며, DSP 인터럽트 타임에 의한 방식과 네트워크 인터럽트 타임(Network Interrupt Time)에 의한 RTP 버퍼링(Buffering) 방식은 다른 장비에 RTP 처리로 인한 부하를 끼치지 않으며 시스템을 구성할 수 있다.
상술한 바와 같이, 본 발명은 음성 데이터의 처리를 어플리케이션(Application) 보다 우선 순위가 높은 리눅스 커널(Linux Kernel)에서 DSP 디코딩 인터럽트 타임(Decoding Interrupt Time)에 정확하게 처리를 할 수 있기 때문에 보다 좋은 음성의 품질을 제공할 수 있다.
또한, 본 발명은 인터넷 전화기로 통화 중에 새로운 호 처리를 하거나 후크 동작 등의 처리로 인하여 오버헤드(Over head)가 발생되어도 리눅스 오에스부에서 음성데이터를 처리하므로 좋은 음질의 통화 서비스를 제공하는 효과가 있다.
지금까지 본 발명의 실시 예의 구성 및 동작에 대해 설명하였다. 본 발명은 상술한 실시 예에 한정되지 않으며, 본 발명의 기술적 사상의 범위 내에서 다양한 변형을 가할 수 있다. 그러므로 본 발명의 범위는 특허청구범위뿐만 아니라 설명된 실시 예에 국한되어 정해져서는 안 된다.
Claims (8)
- 인터넷 영상/음성 전화기에 장착된 리눅스 오에스에 있어서,상기 리눅스 오에스에 패킷 데이터가 수신되면 상기 패킷 데이터가 음성데이터인지 호처리 데이터인지 판별하는 1 과정과;상기 패킷 데이터가 음성데이터인 경우 네트워크 디바이스 드라이버 인터럽트 타임에 상기 패킷 데이터의 헤더 정보를 제거하고 음성데이터만을 버퍼에 저장시키는 2 과정과;버퍼에 저장된 상기 음성데이터를 DSP 디코딩 인터럽트 타임에 재생하도록 DSP 디바이스 드라이버로 제공하는 3 과정을 포함함을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
- 제 1항에 있어서,상기 2 과정은,상기 패킷 데이터가 음성데이터인 경우 상기 패킷 데이터를 버퍼부에 저장시키는 단계와;재생시에는 상기 버퍼부의 상기 패킷 데이터의 헤더 정보를 제거하여 제공하는 단계를 포함함을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
- 제 1항에 있어서,상기 네트워크 디바이스 드라이버 인터럽트 타임은 네트워크로부터 음성 패킷 데이터가 수신되어 인터럽트가 발생된 시기임을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
- 제 1항에 있어서,상기 DSP 디코딩 인터럽트 타임은 음성압축 코덱의 오디오 코덱에 정의된 간격(interval) 마다 발생되는 것임을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
- 리눅스 오에스를 사용하는 인터넷 영상/음성 전화기에서 통화 음성을 재생하는 데에 있어서,VoIP 어플리케이션부에서 제어하여 상대방과 통화가 연결되고 네트워크를 통하여 상대방의 음성이 담긴 패킷 데이터가 수신되면, 리눅스 오에스부의 RTP 필터부는 수신되는 상기 패킷 데이터를 파악하여 구별하는 6 과정과;상기 리눅스 오에스부의 RTP 필터부에서 수신된 상기 패킷 데이터를 음성 데 이터로 판변하면 RTP 링버퍼부에 저장하는 7 과정과;호처리를 마치고 상기 VoIP 어플리케이션부에서 음성 재생 명령이 내려오면 DSP 디바이스 드라이버는 음성 재생을 위해 DSP 디코딩 인터럽트 타임 때에 상기 RTP 링버퍼부에 저장된 음성데이터를 재생하는 8 과정을 포함함을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
- 제 5항에 있어서,상기 6 과정은,상기 리눅스 오에스부의 RTP 필터부는 헤더 정보를 파악하여 상기 패킷 데이터가 음성 데이터인지 호처리를 위한 패킷 데이터 인지를 판별하는 단계와;상기 호처리를 위한 패킷인 경우 상기 VoIP 어플리케이션부의 RTP 컨트롤부로 제공하는 단계를 포함함을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
- 제 5항에 있어서,상기 7 과정은,상기 RTP 링버퍼부에 패킷 데이터를 저장시 상기 패킷 데이터가 수신되는 네트워크 디바이스 드라이버 인터럽트 타임에 상기 패킷 데이터의 헤더를 제거하여 음성데이터만을 저장하는 것을 포함함을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
- 제 5항에 있어서,상기 7 과정은,상기 RTP 링버퍼부에 패킷 데이터를 저장한 후 상기 DSP 디바이스 드라이버에서 재생시에 상기 패킷 데이터의 헤더 정보를 제거하여 음성데이터만을 제공하는 것을 포함함을 특징으로 하는 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060128622A KR100842799B1 (ko) | 2006-12-15 | 2006-12-15 | 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060128622A KR100842799B1 (ko) | 2006-12-15 | 2006-12-15 | 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20080056046A true KR20080056046A (ko) | 2008-06-20 |
KR100842799B1 KR100842799B1 (ko) | 2008-07-01 |
Family
ID=39802460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060128622A KR100842799B1 (ko) | 2006-12-15 | 2006-12-15 | 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100842799B1 (ko) |
-
2006
- 2006-12-15 KR KR1020060128622A patent/KR100842799B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100842799B1 (ko) | 2008-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100552519B1 (ko) | 브이오아이피를 이용한 유엠에스 서비스 제공 시스템 및그 방법 | |
US7548539B2 (en) | Method and apparatus for Voice-over-IP call recording | |
US7978688B2 (en) | System and method for converting packet payload size | |
US7873035B2 (en) | Method and apparatus for voice-over-IP call recording and analysis | |
US6567399B1 (en) | Hi-fidelity line card | |
US6801521B1 (en) | System and method for distributed call signaling in telephony-over-LAN networks | |
US7746847B2 (en) | Jitter buffer management in a packet-based network | |
CN101159719B (zh) | 实现故障条件下通话的VoIP模拟网关及内部交换方法 | |
JP2000270024A (ja) | インターネット電話におけるフレームパケット化サイズ能力交換方法,インターネット電話利用端末装置,およびインターネット電話のプログラムを記録した記録媒体 | |
US7813378B2 (en) | Wideband-narrowband telecommunication | |
WO2006125047A1 (en) | A method and system for recording an electronic communication and extracting constituent audio data therefrom | |
KR100842799B1 (ko) | 리눅스 오에스를 사용하는 인터넷 전화기의 통화 음질 개선방법 | |
US7551729B1 (en) | Method and apparatus for increasing channel capacity in an IP-based voice messaging system | |
US7313233B2 (en) | Tone clamping and replacement | |
US8923289B2 (en) | Communicating tone information in a network | |
JP5223444B2 (ja) | 通信システム及び呼制御装置 | |
US6947412B2 (en) | Method of facilitating the playback of speech signals transmitted at the beginning of a telephone call established over a packet exchange network, and hardware for implementing the method | |
WO2010030262A1 (en) | Digital telecommunications system, program product for, and method of managing such a system | |
KR100720719B1 (ko) | PSTN 전화/ VoIP 전화의 선택적 통화 시스템 | |
KR100880543B1 (ko) | 인터넷 전화기의 음성 데이터 송신 방법 | |
JP2006108769A (ja) | 電話会議システム | |
KR100646308B1 (ko) | 패킷망에서의 무선 코덱 송수신 방법 | |
Lee et al. | Internet Telephony Gateway Server-Software Design | |
JP2001094601A (ja) | Ip通信ネットワークシステム及び音声メッセージ制御方法 |
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: 20120507 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |