KR100639872B1 - Native ATM API를 이용한 음성데이터 전송 방법 - Google Patents

Native ATM API를 이용한 음성데이터 전송 방법 Download PDF

Info

Publication number
KR100639872B1
KR100639872B1 KR1019990064922A KR19990064922A KR100639872B1 KR 100639872 B1 KR100639872 B1 KR 100639872B1 KR 1019990064922 A KR1019990064922 A KR 1019990064922A KR 19990064922 A KR19990064922 A KR 19990064922A KR 100639872 B1 KR100639872 B1 KR 100639872B1
Authority
KR
South Korea
Prior art keywords
size
data
pdu
frame
atm
Prior art date
Application number
KR1019990064922A
Other languages
English (en)
Other versions
KR20010065108A (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 KR1019990064922A priority Critical patent/KR100639872B1/ko
Publication of KR20010065108A publication Critical patent/KR20010065108A/ko
Application granted granted Critical
Publication of KR100639872B1 publication Critical patent/KR100639872B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling

Landscapes

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

Abstract

본 발명은 송신단에서 실시간 음성을 디지털화하여 Native ATM(Asynchronous Transfer Mode) API를 통하여 송신하고 수신단에서 이를 다시 수신한 후 복원하는 방법에 관한 것으로, 일반적으로 음성은 동영상과 마찬가지로 전송 지연에 민감하고 일정한 대역폭의 제공이 필수적이며 실시간 전송 특성을 갖으므로 이를 효율적으로 전송하는데 있어 Native ATM API가 기존의 인터넷 프로토콜인 TCP/IP보다 최적의 방법으로 인식되고 있으며, 그 구성은 송신단에서는 음성을 PCMPCM(pulse code modulation)으로 코딩하여 Native ATM API를 통하여 전송하고 수신단에서는 음성을 실시간으로 플레이하기 위하여 버퍼링 과정을 통하여 플레이하는 기술에 관한 것이다.
본 발명은 동영상 음성 및 화상을 압축/복원하는 장치의 신호전송방법에 있어서, 송신단에서 음성데이터를 PCM으로 코딩한 후 원하는 압축 신장방법(u-law,A-law)에 따라 변환한 후 이를 Native ATM API를 통해 ATM으로 전송하는 전송단계와; 수신단에서 수신된 음성데이터를 버퍼에 넣은 후 일정한 속도로 플레이백 하기 위해 약속된 포맷에 맞게 오디오 출력 디바이스로 음성데이터를 보내어 이를 아날로그 변환하여 플레이백하는 수신단계로 이루어진 것을 특징으로 한다.

Description

Native ATM API를 이용한 음성데이터 전송 방법{Method for transmitting of voice data using Native ATM API}
도 1은 본 발명의 실시예에 따른 Native ATM API를 이용한 음성데이터 전송 응용 환경을 개략적으로 도시한 도면,
도 2는 본 발명의 실시예에 따른 Native ATM API를 이용한 Server-Client 모델을 도시한 도면,
도 3은 본 발명의 실시예에 따른 Native ATM API를 이용한 음성 전송을 위한 PDU(Protocol Data Unit) 포맷 형식을 나타내는 도면,
도 4는 본 발명의 실시예에 따른 Native ATM API를 이용한 송신단에서 음성데이터의 전송 절차를 나타내는 플로우챠트,
도 5는 본 발명의 실시예에 따른 Native ATM API를 이용한 수신단에서 수신된 음성데이터의 수신/플레이 절차를 나타내는 플로우챠트,
도 6은 본 발명의 실시예에 따른 Native ATM API를 이용한 음성데이터 전송 방법을 통하여 음성데이터의 음질과 전송 속도 조절 화면을 나타내는 도면이다.
< 도면의 주요부분에 대한 부호의 설명 >
PDU:Protocol Data Unit MTU:Maximum Trasmission Unit
ATM:Asynchronous Transfer Mode ASAP:Application Service Access
VoA:Voice over ATM
본 발명은 음성을 PCMPCM(pulse code modulation)으로 코딩한 후 Native ATM API를 통하여 송신하고 이를 다시 수신한 후 플레이하는 Native ATM API를 이용한 음성데이터 전송 방법에 관한 것으로, 일반적으로 음성은 전송 지연변이에 민감하고 일정한 대역폭의 제공이 필수적이며 실시간 전송 특성을 갖으므로 이를 효율적으로 전송하기 위해서는 Native ATM API가 기존의 인터넷 프로토콜인 TCP/IP보다 최적의 방법으로 인식되고 있으며, PCM 으로 코딩된 음성데이터를 ATM상에서 효과적으로 전송하는 기술에 관한 것이다.
TCP/IP 프로토콜을 사용하는 인터넷에서는 전송지연이 생기며 그 지연의 특성이 일정하지 않으므로 음성과 동영상 등의 실시간 미디어 전송에는 QoS(Quality of Service)를 완벽하게 보장할 수 없다. 현재 인터넷에서 음성의 전송에는 요구 대역폭이 수Kbps에서 수십 Kbps정도밖에 되지 않으므로 적당한 정도의 품질로 음성 전송은 가능하지만 트래픽의 폭주시 지연변이가 불규칙하여 수신단에서 음성을 플레이할 경우 충분한 품질을 제공할 수 없는 단점이 있다. 이를 해결하기 위해서 현재 인터넷에서 적용할 수 있는 RSVP, DifServ 등 다양한 기술들이 제안되고 있지만 아직까지 구체적으로 공중 인터넷에 적용되지 못하고 있다.
이러한 QoS의 보장과 일정 수준 이상의 대역폭 제공은 앞으로 멀티미디어 응 용 서비스 실현에 필수적인 요소로 이러한 문제점을 해결하는 방안 중 하나가 ATM의 QoS 보장과 대역폭 협상을 가능하게 하는 Native ATM API를 이용한 멀티미디어 전송 방법이다.
멀티미디어 전송에서 해결해야 할 가장 큰 문제점 중 하나는 음성데이터의 연속적인 특성을 지원하는 것으로 일정한 범위내에서의 지연변이는 버퍼링 방법을 사용함으로써 음성을 플레이할 경우 사용자가 인식하지 못하나 그 범위를 벗어날 경우 사용자는 지연변이에 의한 불연속적인 음성 플레이를 참을 수 없게 되어 QoS에 치명적인 영향을 미치게 된다. 특히, 멀티미디어 회의 등 대화형의 서비스에서는 더욱 큰 문제점으로 부각된다.
본 발명은 상기한 종래 기술의 사정을 감안하여 이루어진 것으로, PCM으로 코딩된 음성 데이터를 일정한 프레임 단위로 전송하는데 있어서, 하나의 음성 프레임을 제안된 포맷에 넣은 후 이것을 MTU(Maximum Transmission Unit)로 전송하고 이를 플레이하는 방법에 있어서, ATM의 QoS 보장과 대역폭 협상 특성을 제공하는 Native ATM API를 이용하여 음성데이터를 효율적으로 전송하고 버퍼링을 통하여 일정범위 내에서의 지연변이를 해결함으로써 QoS가 보장되도록 음성을 송수신하고 이를 플레이하는 기술에 관한 것이다.
본 발명에서는 PCM으로 코딩된 음성데이터를 프레임 단위로 전송하는데 있어서, 하나의 음성데이터 프레임을 제안된 포맷에 넣은 후 이것을 여러 개의 MTU(Maximum Transmission Unit)로 나누어서 전송하는 방법을 제안하였다.
Native ATM API를 사용하여 QoS의 보장을 제공함으로써 엄격한 지연 특성과 일정한 크기의 대역폭 보장 등을 요구하는 실시간 음성데이터를 PCM으로 압축하여 Native ATM으로 전송하고 이를 다시 수신하여 플레이하는 기법을 이용함으로써, Native ATM 기술을 활용한 다양한 응용서비스에 적용되는 기본 기술로 활용될 수 있도록 한다.
상기한 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따른 하는 Native ATM(Asynchronous Transfer Mode) API를 이용한 음성데이터 전송 방법은, 동영상 음성 및 화상을 압축/복원하는 장치의 신호전송방법에 있어서,
사용자와 서버가 ATM 엔드포인트를 열고 ATM 연결정보를 얻는 제 1과정과, 상기 사용자와 상기 서버가 ASAP(Application Service Access Point)를 상기 ATM 엔드포인트로 바인드하는 제 2과정과, 상기 서버가 상대 ATM 엔드포인트로부터 입력된 ATM 연결 요청을 수신하는 제 3과정과, 상기 서버가 상기 사용자로부터의 연결 요청을 수락하고 듀플렉스(duplex)의 경우 상대 ATM 엔드포인트 방향으로 연결 설정하는 제 4과정과, 설정된 ATM 연결 상태에서 상기 서버와 상기 사용자간에 데이터를 송수신하는 제 5과정과, 상기 서버와 상기 사용자가 ATM 엔드포인트와의 연결을 종료(close)하는 제 6과정을 포함하는 것을 특징으로 한다.
바람직하게, 본 발명의 일실시예에 따르면, 상기 전송단계는 코딩된 음성데이터를 버퍼에 저장하는 제 1단계와, Frame_Size를 지정하고 이미지의 폭과 넓이 등의 값을 할당하는 제 2단계와, 초기에 전송된 바이트 수를 나타내는 Data_Size_Sent = 0으로 하고 Frame_PDU_Size를 정하는 제 3단계와, 하나의 PDU(Protocol Data Unit)는 AAL(ATM adaptation layer)에서 한 번에 전송가능한 최대 데이터 크기인 MTU(Maximum Transmission Unit) 단위로 여러 번 전송되는 제 4단계와, 만약 PDU의 크기가 MTU보다 작으면 한 번만 전송되는 제 5단계와, MTU 단위로 전송을 계속하는 loop를 수행한 후, 송신된 전체 데이터의 크기인 Data_Size_Sent와 PDU의 크기인 Frame_PDU_Size를 비교하여 전송된 데이터의 크기가 Frame_PDU_Size보다 작지 않으면 loop를 종료하는 제 6단계와, 최종적으로 Data_Size_Sent와 Frame_PDU_Size를 비교하는 제 7단계와, 상기 제 7단계에서 비교한 두 값이 서로 같지 않으면 이것은 전송시에 에러가 발생한 것으로 에러 처리 루틴을 수행하고 그 결과를 화면에 디스플레이하는 제 8단계로 이루어진 것을 특징으로 하는 Native ATM API를 이용한 음성데이터 전송 방법이 제공된다.
보다 바람직하게, 상기 수신단계는 하나의 PDU단위로 음성데이터를 수신하기 위해 초기 수신된 데이터의 전체 크기를 Data_Size_Received = 0으로 하는 제 1단계와, atm_recv()함수에 의해 MTU 의 범위 내에서 한 개의 AAL 프레임을 수신한다. 이때 수신된 바이트 수는 nBytes_Received로 하는 제 2단계와, 첫 번째 AAL 프레임에 PDU의 헤더가 포함되어 있기 때문에 이 헤더에서 PDU의 크기 Frame_PDU_Size 정보를 얻는 제 3단계와, 누적된 수신 데이터의 전체 크기 Data_Size_Received가 Frame_PDU_Size보다 작으면 하나의 음성데이터 프레임을 구성하는 아직 수신되지 않은 데이터가 있으므로 이 조건을 만족할 때까지 계속하여 데이터를 수신하는 제 4단계와, 상기 제 4단계의 조건이 만족하면 하나의 음성데이터 프레임에 해당하는 전체PDU가 수신된 것을 의미하며, 수신된 전체 데이터의 크기 Data_Size_Received와 PDU의 크기 Frame_PDU_Size가 같으면 하나의 음성데이터 프레임을 성공적으로 수신한 것으로 인식하게 되는 제 5단계와, 출력 디바이스로 수신된 음성데이터를 플레이백하는 제 6단계와, 1단계와, 6단계를 1초에 몇 번 반복하느냐에 따라 초당 프레임의 수가 정해지는 제 7단계와, 제 5단계의 조건이 만족되지 않으면 에러가 발생한 것을 의미하며 에러처리 루틴을 수행하고 사용자에게 처리결과를 디스플레이하는 제 8단계로 이루어진 것을 특징으로 하는 Native ATM API를 이용한 음성데이터 전송 방법이 제공된다.
특히, 이때 전송되는 데이터는 한 프레임의 JPEG 이미지를 전송하기 위한 PDU의 시작을 표시하는 PDU_Start 와, 프레임 단위의 Sequence number를 나타내는 Frame_SN와, 한 PDU를 몇 개의 AAL SDU(Service Data Unit)로 나누어서 보낼 것인가를 나타내는 No_of_Packet와, PCM으로 코딩된 프레임의 데이터 스트럭쳐를 표시하는 Frame_Format와, 한 프레임의 JPEG 이미지 크기를 나타내는 Frame_Size 와, 한 프레임의 JPEG 이미지를 전송하기 위한 PDU의 끝을 표시하는 PDU_END로 이루어진 PDU(Protocal Data Unit)를 전송하는 것을 특징으로 한다.
이하, 본 발명에 대해 도면을 참조하여 상세하게 설명한다.
본 발명에서는 도 1과 같이 구성된 환경에서 Motion-JPEG 동영상 비디오를 압축하고 복원하는 과정을 거쳐서 압축된 JPEG 이미지를 전송하는 방법을 기술한다.
도 1에서는 X Window 시스템에서 윈도우 단위로 디스플레이되는 동영상을 일정 시간에 JPEG 이미지로 압축하고, 압축된 JPEG 이미지를 복원하여 지정된 윈도우에 뿌려줄 수 있는 환경을 가정한다. 이 과정에서 정지화면인 JPEG이미지들을 동영상 비디오로 하기 위해서는 도 6의 사용자 인터페이스 화면에서처럼 초당 뿌려주는 이미지 프레임의 수를 최대30 프레임까지 조절하여 정지화면은 동영상으로 디스플 레이될 수 있다.
도 2에서는 Native ATM API를 이용한 연결 설정 및 데이터 전송 절차를 나타낸다. 이것은 기존의 TCP/IP에서 사용되는 소켓에 의한 통신절차를 Native ATM API로 변형한 것이다. 이들의 기능은 다음과 같다.
- atm_open : ATM 연결 엔드포인트를 열고 ATM 연결 정보를 얻음
- atm_bind : ASAP(Application Service Access Point)를 ATM 엔드포인트로 바인드 함
- atm_listen : 상대 ATM 엔드포인트로부터 입력 ATM 연결 요청을 수신
- atm_connect : 상대ATM 엔드포인트와 연결 설정
- atm_accept : 연결 요청을 수락하고 duplex의 경우 상대 ATM 엔드포인트 방향으로의 연결 설정에 사용
- atm_send : 설정된 ATM 연결에서 데이터 송신
- atm_recv : 설정된 ATM 연결에서 데이터 수신
- atm_close : ATM 엔드포인트와의 연결을 close함
도 2에서의 전송절차에 따라 도 3에서 정의된 포맷에 따라 PDU(Protocol Data Unit)가 전송된다. 하나의 PDU는 음성데이터를 포함하고 여기에 전송을 위한 헤더와 트레일러가 부가된다. PDU 크기는 Frame_PDU_Size로 표시되며 그 크기는 음성데이에 오버헤드가 더해져서 Frame_Size + 30 bytes 가 된다. 즉, Frame_PDU_Size는 (음성 데이터 + 헤더+ 트레일러)의 크기에 의해 정해진다. 여기서 오버헤드(헤더 + 트레일러)는 30 bytes임을 알 수 있다. 도 3의 PDU 포맷에서 각 필드의 의미는 다음과 같다.
- PDU_Start : 한 프레임의 JPEG 이미지를 전송하기 위한 PDU의 시작을 표시
- Frame_SN : 프레임 단위의 Sequence number
- No_of_Packet : 한 PDU를 몇 개의 AAL SDU(Service Data Unit)로 나누어서 보낼 것인가를 나타냄
- Frame_Format : PCM으로 코딩된 프레임의 데이터 스트럭쳐를 표시
- int width : JPEG 이미지의 폭
- int height : JPEG 이미지의 높이
- int size : JPEG 이미지의 크기, 바이트 수
- char *data : 이미지 데이터에 대한 포인터
- XshmSementInfo *info : 공유 메모리 세그먼트 정보
- Frame_Size : 한 프레임의 JPEG 이미지 크기
- PDU_END : 한 프레임의 JPEG 이미지를 전송하기 위한 PDU의 끝을 표시
송신단에서는 음성데이터를 PCM으로 코딩한 후 원하는 압축.신장 방법(u-law, A-law)에 따라 변환한 후 이를 Native ATM API를 통해 ATM으로 전송한다. 도 4에서는 송신단에서의 코딩된 음성데이터의 전송 절차를 보여 준다. 하나의 PDU에 대한 전송 절차는 다음과 같다.
1. 코딩된 음성데이터를 버퍼에 저장
2. 도 3에서 Frame_Size를 지정하고 이미지의 폭과 넓이 등의 값을 할당
3. 초기에 전송된 바이트 수를 나타내는 Data_Size_Sent = 0으로 하고 Frame_PDU_Size를 정한다.
4. 하나의 PDU는 AAL에서 한 번에 전송가능한 최대 데이터 크기인 MTU(Maximum Transmission Unit) 단위로 여러 번 전송된다. 만약 PDU의 크기가 MTU보다 작으면 한 번만 전송된다.
5. 이와 같이 하여 MTU 단위로 전송을 계속하는 loop를 수행한 후, 송신된 전체 데이터의 크기인 Data_Size_Sent와 PDU의 크기인 Frame_PDU_Size를 비교하여 전송된 데이터의 크기가 Frame_PDU_Size보다 작지 않으면 loop를 끝낸다.
6. 최종적으로 Data_Size_Sent와 Frame_PDU_Size를 비교하여 두 값이 동일하면 성공적으로 한 PDU의 음성데이터를 성공적으로 전송한 것으로 다음 PDU의 음성데이터를 전송하는 절차를 1.에서부터 다시 시작한다.
7. 만일 두 값이 같지 않으면 이것은 전송시에 에러가 발생한 것으로 에러 처리 루틴을 수행하고 그 결과를 화면에 디스플레이한다. 수신단에서는 수신된 음성데이터를 버퍼에 넣은 후 일정한 속도로 플레이백하기 위해 약속된 포맷에 맞게 오디오 출력 디바이스(스피커 또는 이어폰)로 음성데이터를 보내어 이를 아날로그로 변환하여 플레이백한다.
전송되는 음성의 음질은 송신단에서 정해진다. 도 5에서는 수신단에서의 음성데이터의 수신 절차를 보여 준다. 하나의 PDU에 대한 수신 절차는 다음과 같다.
1. 하나의 PDU단위로 음성데이터를 수신하기 위해 초기 수신된 데이터의 전체 크기를 Data_Size_Received = 0으로 한다.
2. atm_recv()함수에 의해 MTU 의 범위 내에서 한 개의 AAL 프레임을 수신한 다. 이때 수신된 바이트 수는 nBytes_Received로 한다.
3. 첫 번째 AAL 프레임에 PDU의 헤더가 포함되어 있기 때문에 이 헤더에서 PDU의 크기 Frame_PDU_Size 정보를 얻는다.
4. 누적된 수신 데이터의 전체 크기 Data_Size_Received가 Frame_PDU_Size보다 작으면 하나의 음성데이터 프레임을 구성하는 아직 수신되지 않은 데이터가 있으므로 이 조건을 만족할 때까지 계속하여 데이터를 수신한다.
5. 4.의 조건이 만족하면 하나의 음성데이터 프레임에 해당하는 전체PDU가 수신된 것을 의미하며, 수신된 전체 데이터의 크기 Data_Size_Received와 PDU의 크기 Frame_PDU_Size가 같으면 하나의 음성데이터 프레임을 성공적으로 수신한 것으로 인식하게 된다.
6. 5의 조건을 만족하면 출력 디바이스로 수신된 음성데이터를 플레이백한다.
7. 1.에서 6.의 과정을 1초에 몇 번 반복하느냐에 따라 초당 프레임의 수가 정해진다.
8. 5.의 조건이 만족되지 않으면 에러가 발생한 것을 의미하며 에러처리 루틴을 수행하고 사용자에게 처리결과를 디스플레이한다.
한편, 본 발명의 실시예에 따른 Native ATM API를 이용한 음성데이터 전송 방법은 단지 상기한 실시예에 한정되는 것이 아니고 그 기술적 요지를 이탈하지 않는 범위내에서 다양하게 변경 가능하다.
상기한 바와 같이, 본 발명에 따른 에 의하면 Native ATM API를 통하여 실시간 오디오를 전송하게 되면, 실시간 미디어의 전송에 요구되는 QoS를 보장하고 일정한 지연 특성을 유지하도록 함으로써 실시간 오디오 전송에 요구되는 전송 능력을 제공하는 잇점이 있으며, ATM에서 고품질의 오디오 전송능력을 제공하여 VoA(Voice over ATM), 멀티미디어 회의, 원격의료, 원격 교육 등 다양한 응용서비스에 활용할 수 있다.

Claims (5)

  1. 동영상 음성 및 화상을 압축/복원하는 장치의 신호전송방법에 있어서,
    사용자와 서버가 ATM(Asynchronous Transfer Mode) 엔드포인트를 열고 ATM 연결정보를 얻는 제 1과정;
    상기 사용자와 상기 서버가 ASAP(Application Service Access Point)를 상기 ATM 엔드포인트로 바인드하는 제 2과정;
    상기 서버가 상대 ATM 엔드포인트로부터 입력된 ATM 연결 요청을 수신하는 제 3과정;
    상기 서버가 상기 사용자로부터의 연결 요청을 수락하고 듀플렉스(duplex)의 경우 상대 ATM 엔드포인트 방향으로 연결 설정하는 제 4과정;
    설정된 ATM 연결 상태에서 상기 서버와 상기 사용자간에 데이터를 송수신하는 제 5과정; 및
    상기 서버와 상기 사용자가 ATM 엔드포인트와의 연결을 종료(close)하는 제 6과정을 포함하는 것을 특징으로 하는 Native ATM API를 이용한 음성데이터 전송 방법.
  2. 동영상 음성 및 화상을 압축/복원하는 장치의 신호전송방법에 있어서,
    송신단에서 음성데이터를 PCM(pulse code modulation)으로 코딩한 후 원하는 압축 신장방법(u-law,A-law)에 따라 변환한 후 이를 Native ATM API를 통해 ATM으로 전송하는 전송과정; 및
    수신단에서 수신된 음성데이터를 버퍼에 넣은 후 일정한 속도로 플레이백 하기 위해 약속된 포맷에 맞게 오디오 출력 디바이스로 음성데이터를 보내어 이를 아날로그 변환하여 플레이백하는 수신과정으로 이루어진 것을 특징으로 하는 Native ATM API를 이용한 음성데이터 전송 방법.
  3. 제 2 항에 있어서, 상기 전송과정은,
    코딩된 음성데이터를 버퍼에 저장하는 제 1단계;
    프레임사이즈(Frame_Size)를 지정하고 이미지의 폭과 넓이 등의 값을 할당하는 제 2단계;
    초기에 송신된 데이터의 크기(Data_Size_Sent)를 0으로 하고 PDU(Protocol Data Unit)의 크기(Frame_PDU_Size)를 정하는 제 3단계;
    상기 PDU를 AAL(ATM adaptation layer)에서 한 번에 전송 가능한 최대 데이터 크기인 MTU(Maximum Transmission Unit) 단위로 여러 번 전송하는 제 4단계;
    상기 PDU의 크기가 상기 MTU 단위보다 작으면 한 번 전송하는 제 5단계;
    상기 MTU 단위로 전송을 계속하는 루프(loop)를 수행한 후, 송신된 전체 데이터의 크기(Data_Size_Sent)와 상기 PDU의 크기(Frame_PDU_Size)를 비교하여 상기 송신된 데이터의 크기(Data_Size_Sent)가 상기 PDU의 크기(Frame_PDU_Size)보다 작지 않으면 루프(loop)를 종료하는 제 6단계;
    최종적으로 송신된 데이터의 크기(Data_Size_Sent)와 상기 PDU의 크기(Frame_PDU_Size)를 비교하는 제 7단계; 및
    상기 제 7단계에서 비교한 두 값이 서로 같지 않으면 에러 처리 루틴을 수행하고 그 결과를 화면에 디스플레이하는 제 8단계로 이루어진 것을 특징으로 하는 Native ATM API를 이용한 음성데이터 전송 방법.
  4. 제 2 항에 있어서, 상기 수신과정은
    하나의 PDU단위로 음성데이터를 수신하기 위해 초기 수신된 데이터의 전체 크기(Data_Size_Received)를 0으로 설정하는 제 1단계;
    atm_recv()함수에 의해 MTU의 범위 내에서 한 개의 AAL 프레임을 수신하고, 수신된 바이트 수(nBytes_Received)를 설정하는 제 2단계;
    첫 번째 AAL 프레임에 포함된 PDU의 헤더에서 PDU의 크기(Frame_PDU_Size) 정보를 얻는 제 3단계;
    수신된 전체 데이터의 크기(Data_Size_Received)가 상기 PUD 크기(Frame_PDU_Size)보다 작으면 아직 수신되지 않은 데이터가 있는지의 조건을 만족할 때까지 계속하여 데이터를 수신하는 제 4단계;
    상기 제 4단계의 조건을 만족할 경우 하나의 음성데이터 프레임에 해당하는 전체 PDU로 수신하고, 상기 수신된 전체 데이터의 크기(Data_Size_Received)와 상기 PDU의 크기(Frame_PDU_Size)가 같으면 하나의 음성데이터 프레임 수신을 인식하는 제 5단계;
    출력 디바이스로 수신된 음성데이터를 플레이 백하는 제 6단계;
    상기 1단계 및 6단계를 1초에 몇 번 반복하느냐에 따라 초당 프레임의 수를 결정하는 제 7단계;
    상기 제 5단계의 조건이 만족되지 않을 경우 에러의 발생에 따른 에러처리 루틴을 수행하고 사용자에게 처리결과를 디스플레이하는 제 8단계로 이루어진 것을 특징으로 하는 Native ATM API를 이용한 음성데이터 전송 방법.
  5. 제 1 항에 있어서, 상기 제 5과정의 데이터는,
    프레임의 JPEG 이미지를 전송하기 위한 PDU의 시작을 표시하는 PDU_Start;
    프레임 단위의 시퀀스넘버(Sequence number)를 나타내는 Frame_SN와, PDU를 몇 개의 AAL SDU(Service Data Unit)로 나누어서 보낼 것인가를 나타내는 No_of_Packet;
    PCM으로 코딩된 프레임의 데이터 스트럭쳐를 표시하는 Frame_Format;
    프레임의 JPEG 이미지 크기를 나타내는 Frame_Size; 및
    프레임의 JPEG 이미지를 전송하기 위한 PDU의 끝을 표시하는 PDU_END로 이루어진 PDU(Protocal Data Unit) 포맷으로 전송되는 것을 특징으로 하는 Native ATM API를 이용한 음성데이터 전송방법.
KR1019990064922A 1999-12-29 1999-12-29 Native ATM API를 이용한 음성데이터 전송 방법 KR100639872B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990064922A KR100639872B1 (ko) 1999-12-29 1999-12-29 Native ATM API를 이용한 음성데이터 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990064922A KR100639872B1 (ko) 1999-12-29 1999-12-29 Native ATM API를 이용한 음성데이터 전송 방법

Publications (2)

Publication Number Publication Date
KR20010065108A KR20010065108A (ko) 2001-07-11
KR100639872B1 true KR100639872B1 (ko) 2006-10-27

Family

ID=19632178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990064922A KR100639872B1 (ko) 1999-12-29 1999-12-29 Native ATM API를 이용한 음성데이터 전송 방법

Country Status (1)

Country Link
KR (1) KR100639872B1 (ko)

Also Published As

Publication number Publication date
KR20010065108A (ko) 2001-07-11

Similar Documents

Publication Publication Date Title
US6377573B1 (en) Method and apparatus for providing a minimum acceptable quality of service for a voice conversation over a data network
EP2135407B1 (en) Method of transmitting data in a communication system
US6580694B1 (en) Establishing optimal audio latency in streaming applications over a packet-based network
US5768350A (en) Real-time and non-real-time data multplexing over telephone lines
US7068601B2 (en) Codec with network congestion detection and automatic fallback: methods, systems &amp; program products
US6697097B1 (en) Synchronizing voice and video transmitted over separate channels
US6167060A (en) Dynamic forward error correction algorithm for internet telephone
US7855966B2 (en) Network congestion detection and automatic fallback: methods, systems and program products
EP1395014B1 (en) A method of transmitting data streams with data segments of variable length
WO2008049434A1 (en) Method and system for firewall friendly mobile real-time communication
JP4591993B2 (ja) 逆多重の方法
US20050094646A1 (en) IP video terminal with function for controlling video transmission/reception bandwidth and image quality and control method thereof
CN110996103A (zh) 一种根据网络情况对视频编码码率进行调节的方法
CN105142002A (zh) 音/视频直播方法、装置及控制方法、装置
EP1729476A1 (en) Method and apparatus for dynamically controlling a real-time multimedia data generation rate
EP1395000B1 (en) A method of transmitting data streams dependent on the monitored state of the client application buffer
JP2000332829A (ja) 電話システムでの受信データ量制御方法、装置、及び、その方法を記録した記憶媒体
KR100639872B1 (ko) Native ATM API를 이용한 음성데이터 전송 방법
JP3133296B2 (ja) 通信装置及びdtmf転送方法
US20020194606A1 (en) System and method of communication between videoconferencing systems and computer systems
JP3668742B2 (ja) ゲートウェイ装置およびそれを用いた通信システム
JP3799070B2 (ja) 送信装置及び方法
KR20040059662A (ko) 스트리밍 방식을 이용한 동영상메일 통신장치 및 방법
US10798141B2 (en) Multiplexing data
JPH07170503A (ja) 受信装置

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
FPAY Annual fee payment

Payment date: 20111010

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee