KR100613975B1 - 메시지 큐 방식을 이용한 서버-클라이언트간의 음성스트림 전송 방법 - Google Patents

메시지 큐 방식을 이용한 서버-클라이언트간의 음성스트림 전송 방법 Download PDF

Info

Publication number
KR100613975B1
KR100613975B1 KR1019990064925A KR19990064925A KR100613975B1 KR 100613975 B1 KR100613975 B1 KR 100613975B1 KR 1019990064925 A KR1019990064925 A KR 1019990064925A KR 19990064925 A KR19990064925 A KR 19990064925A KR 100613975 B1 KR100613975 B1 KR 100613975B1
Authority
KR
South Korea
Prior art keywords
voice
server
client
message queue
voice stream
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
KR1019990064925A
Other languages
English (en)
Other versions
KR20010065111A (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 KR1019990064925A priority Critical patent/KR100613975B1/ko
Publication of KR20010065111A publication Critical patent/KR20010065111A/ko
Application granted granted Critical
Publication of KR100613975B1 publication Critical patent/KR100613975B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission

Landscapes

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

Abstract

본 발명은 다자간 멀티미디어 컨퍼런싱 시스템에서 다자간에 음성을 전송할 때 수신자가 회의 단말에서 여러 상대로부터 입력되는 여러 개의 음성 채널을 동시에 수신하여 이들을 출력 디바이스(스피커, 이어폰 등)로 플레이하는 방법에 관한 것으로, 회의 단말에서 출력 디바이스가 배타적 자원인 경우에 여러 개의 채널로부터의 음성 스트림을 동시에 플레이할 수 있도록 여러 개의 입력 채널로부터의 음성 스트림을 수신하는 각각의 클라이언트 프로세스를 두고 이들 각각의 프로세스로부터 음성데이터를 받아서 이들을 믹싱하여 출력 디바이스로 내보내면 사용자는 여러 상대방으로부터 오는 음성 스트림들을 소프트웨어적으로 믹싱하여 플레이할 수 있도록 하기 위한 메시지 큐 방식을 이용한 서버-클라이언트 간의 음성 전송 방법이다.

Description

메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법{Voice stream transfer method between a server and clients using message queue}
도 1은 본 발명의 실시예에 따른 메시지 큐를 이용한 다수 클라이언트 프로세스와 서버간의 연결 구성도이다.
도 2는 본 발명의 실시예에 따른 메시지 큐를 이용한 서버-클라이언트 모델을 나타내는 플로우챠트이다.
도 3은 서버 프로세스에서 다수의 음성스트림들의 믹싱 절차를 나타내기 위한 블록도이다.
도 4는 클라이언트 프로세스에서 음성스트림 송신 절차를 나타내는 플로우챠트이다.
도 5는 서버 프로세스에서 음성스트림 수신 절차를 나타내는 플로우챠트이다.
< 도면의 주요부분에 대한 부호의 설명 >
IPC:Interprocess Communication
본 발명은 메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법에 관한 것으로, 보다 상세하게는 여러 개의 소프트웨어 모듈로 구성되는 멀티미디어 회의 시스팀에서 다자간에 회의를 진행할 때 수신자는 여러 상대로부터 입력되는 여러 개의 음성 채널을 동시에 플레이하는데 있어서 음성 출력단이 배타적 자원인 회의 단말은 한 순간에 하나의 음성 스트림만을 플레이하는 제한을 갖는데 이를 해결하기 위해 입력 채널로부터 음성 스트림을 수신하는 각각의 클라이언트 프로세스를 두고 이들 프로세스에서 여러 개의 음성 데이터를 받아서 믹싱 기능을 갖는 서버 프로세스로 구성하여 메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법에 관한 것이다.
유닉스를 운영체제로 하는 회의 단말에서 이와같은 서버-클라이언트간의 음성 스트림 전송방법으로 IPC(Interprocess Communication)를 사용하는데 여러가지의 IPC 메커니즘들을 사용할 수 있다. 기본적인 IPC로서는 하나의 이벤트가 발생한 것을 프로세스에게 알리는 기능을 제공하여 이벤트나 에러를 처리하는데 적합한 "소프트웨어 인터럽트"인 Signal, 프로세스들간에 대량의 정보를 전달하는데 적합하고 단방향 통신 채널의 특성을 갖는 Pipe, Pipe에서 클라이언트 프로세스는 관계없는 서버 프로세스와 Pipe를 통해 통신할 수 없어 시스팀 차원의 클라이언트-서버 프로그램에는 Pipe를 쓸 수 없기 때문에 이를 보완하여 도입되어 named pipe라고 불리는 FIFO등이 있다. 이러한 기본 IPC 기법들의 확장된 형태의 IPC facilities에는 메시지 패싱, 세마포어, 공유메모리 등이 있다.
메시지 패싱에서 메시지는 단순히 문자 또는 바이트의 순차로서 메시지들은 메시지 큐(Queue)를 통해서 프로세스들간에 전달된다. 세마포어의 개념은 프로세스의 동기화를 해결하기 위해 네덜란드의 E.W.Dijkstra에 의해 처음으로 제안되었는데 세마포어는 다양한 방법으로 사용될 수 있으며 주로 하나의 프로세스만이 주어진 순간에 특정 코드 영역을 수행할 수 있도록 하는 상호 배타성(Mutual exclusion)을 보장하기 위해 사용된다.
멀티미디어 전송에서 해결해야 할 가장 큰 문제점 중 하나는 음성데이터의 연속적인 특성을 지원하는 것으로 일정한 범위내에서의 지연변이는 버퍼링 방법을 사용함으로써 음성을 플레이할 경우 사용자가 인식하지 못하나 그 범위를 벗어날 경우 사용자는 지연변이에 의한 불연속적인 음성 플레이를 참을 수 없게 되어 QoS에 치명적인 영향을 미치게 된다. 특히, 멀티미디어 회의 등 대화형의 서비스에서는 더욱 큰 문제점으로 부각된다.
따라서, 본 발명에서는 상기한 문제점을 해결하기 위하여, Native ATM API를 사용하여 QoS의 보장을 제공함으로써 엄격한 지연 특성과 일정한 크기의 대역폭 보장 등을 요구하는 실시간 음성데이터를 PCM으로 압축하여 Native ATM으로 전송하고 이를 다시 수신하여 플레이백하는데 있어서, 다자간의 회의에 참여하는 여러 참가자로부터 수신된 음성 스트림을 동시에 플레이백하기 위한 방법으로 IPC(Interprocess Communication) 기법 중 하나인 메시지 큐를 이용하여 수신 프로세스와 서버 프로세스간에 통신 채널을 설정하여 클라이언트 프로세스에서 서버 프로세스로 음성 스트림을 전송하여 서버 프로세스에서 이들 음성 스트림들을 믹싱하는 방법을 제안하여 다수의 참여자가 참가하는 회의 시스팀에서 다자간의 음성 회의가 가능하도록 한다.
상기한 목적을 달성하기 위해, 본 발명의 바람직한 실시예에 따른 메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법은, 적어도 하나 이상의 송신자로부터 전송되는 복수개의 음성 스트림을 복수개의 수신 프로세스가 동시에 수신하여 서버 프로세스로 전달하는 제 1 과정과, 서버 프로세스에서 메시지 큐를 이용하여 복수개의 음성 스트림을 전달받아 소프트웨어적으로 믹싱하여 하나의 음성 스트림을 출력하는 제 2과정과, 오디오 출력 디바이스를 통해 출력된 음성 스트림을 출력하여, 복수개의 음성 스트림을 동시에 플레이백하는 것을 특징으로 한다.
삭제
바람직하게, 본 발명의 일실시예에 따르면, 메시지 큐 방식을 이용한 음성 스트림의 전송 방법에는 적어도 하나이상의 음성 스트림을 동시에 플레이백하기 위해서 다수의 클라이언트 프로세스에서 오는 음성스트림을 서버 프로세스에서 수신하여 이들을 동시에 플레이백하는 것을 더 포함하는 것을 특징으로 하는 이 제공된다.
이하, 본 발명에 대해 도면을 참조하여 상세하게 설명한다.
본 발명에서는 도 1과 같이 구성된 환경에서 다수의 클라이언트 프로세스와 서번간의 메시지 큐에 의한 IPC 통신을 설정한 후 서버는 이들 각각의 클라이언트 프로세스로부터 음성 스트림을 받아서 믹싱 기능을 수행함으로써 배타적 자원인 스피커로 보내어 플레이하도록 함으로써 멀티미디어 회의와 같은 다자간의 통신에 응용되도록 하는 방법을 기술한다.
도 2에서는 메시지 큐를 이용한 서버-클라이언트 모델을 설명한다. 오디오 수신 프로세스는 Native ATM API를 이용하여 여러 통신 상대로부터 동시에 각각의 음 성 스트림을 수신하고 이를 오디오 서버 프로세스로 전달한다. 이때 오디오 수신 프로세스는 각 통신 상대당 하나씩 음성 스트림을 전용으로 처리하는 클라이언트 프로세스가 음성 스트림을 오디오 서버 프로세스로 전달하는 역할을 한다. 오디오 서버 프로세스는 수신된 여러 음성 스트림들을 수신하여 이들을 소프트웨어적으로 믹싱한 후 오디오 출력 디바이스로 믹싱된 하나의 음성 스트림을 보낸다.
도 3에서는 서버 프로세스에서 다수의 음성스트림들을 수신하여 이들을 믹싱하는 절차를 설명한다. 음성 스트림의 포맷이 PCM인 경우는 변환없이, u-law인 경우 u-law-to-PCM으로 변환하고, A-law인 경우 A-law-to-PCM으로 변환하여 이들 음성 신호의 디지털 값들을 더하면 믹싱이 수행된다.
도 4에서는 클라이언트 프로세스에서 음성스트림을 서버 프로세스로 송신하는 전송 절차를 보여준다.
도 5에서는 서버 프로세스에서 음성스트림의 수신 절차를 보여준다.
한편, 본 발명의 일실시예에 따른 메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법은 단지 상기한 실시예에 한정되는 것이 아니고 그 기술적 요지를 이탈하지 않는 범위내에서 다양한 변경이 가능하다.
상기한 바와 같이, 본 발명에 따른 메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법에 의하면 본 발명은 다자간의 회의를 지원하는 멀티미디어 회의 시스템에서 다수의 회의 참여자들로부터 전송되는 음성 스트림들을 수신단에서 수신하여 이들을 소프트웨어적으로 믹싱하여 출력 디바이스로 내보내어 플레이백할 수 있는 방법으로서 이를 활용하면 멀티미디어 회의와 같은 다자간 회의에 활용할 수 있으며 서버-클라이언트 구성을 이용하여 인터넷상에서 음성 컨퍼런싱과 같은 응용에 활용할 수 있게 된다.

Claims (2)

  1. 적어도 하나 이상의 송신자로부터 전송되는 복수개의 음성 스트림을 복수개의 수신 프로세스가 동시에 수신하여 서버 프로세스로 전달하는 제 1 과정;
    상기 서버 프로세스에서 메시지 큐를 이용하여 상기 복수개의 음성 스트림을 전달받아 소프트웨어적으로 믹싱하여 하나의 음성 스트림을 출력하는 제 2과정; 및
    오디오 출력 디바이스를 통해 상기 출력된 음성 스트림을 출력하여, 상기 복수개의 음성 스트림을 동시에 플레이백하는 것을 특징으로 하는 메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법.
  2. 제 1 항에 있어서, 상기 제 1 과정은,
    상기 수신 프로세스 및 상기 서버 프로세스가 ATM(Asynchronous Transfer Mode) API(application-programming interface)를 이용한 연결 설정을 수행하고 각각 메시지 큐의 초기화를 수행하는 제 1-1과정; 및
    상기 수신 프로세스가 상기 송신자로부터 상기 복수개의 음성 스트림을 수신하고, 수신한 복수개의 음성 스트림을 상기 서버 프로세스로 전달하는 제 1-2과정을 포함하는 것을 특징으로 하는 메시지 큐 방식을 이용한 서버-클라이언트간의 음성 스트림 전송 방법.
KR1019990064925A 1999-12-29 1999-12-29 메시지 큐 방식을 이용한 서버-클라이언트간의 음성스트림 전송 방법 Expired - Fee Related KR100613975B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990064925A KR100613975B1 (ko) 1999-12-29 1999-12-29 메시지 큐 방식을 이용한 서버-클라이언트간의 음성스트림 전송 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990064925A KR100613975B1 (ko) 1999-12-29 1999-12-29 메시지 큐 방식을 이용한 서버-클라이언트간의 음성스트림 전송 방법

Publications (2)

Publication Number Publication Date
KR20010065111A KR20010065111A (ko) 2001-07-11
KR100613975B1 true KR100613975B1 (ko) 2006-08-18

Family

ID=19632181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990064925A Expired - Fee Related KR100613975B1 (ko) 1999-12-29 1999-12-29 메시지 큐 방식을 이용한 서버-클라이언트간의 음성스트림 전송 방법

Country Status (1)

Country Link
KR (1) KR100613975B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6940813B2 (en) * 2003-02-05 2005-09-06 Nokia Corporation System and method for facilitating end-to-end quality of service in message transmissions employing message queues
CN115331680A (zh) * 2022-08-19 2022-11-11 北京小米移动软件有限公司 音频数据处理方法、装置、音频通信系统及存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
US7313593B1 (en) Method and apparatus for providing full duplex and multipoint IP audio streaming
JP5185631B2 (ja) マルチメディア会議方法および信号
JP4942936B2 (ja) グループ通信のための方法およびシステム
Elliot High-quality multimedia conferencing through a long-haul packet network
KR101320908B1 (ko) 유니캐스트 세션들과 멀티캐스트 세션 간을 변환하기 위한방법
US5854898A (en) System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
US8149261B2 (en) Integration of audio conference bridge with video multipoint control unit
US8078680B2 (en) System architecture for linking packet-switched and circuit-switched clients
EP2285106A2 (en) Distributed media mixing and conferencing in IP networks
US8385234B2 (en) Media stream setup in a group communication system
US5610920A (en) Coupling of voice and computer resources over networks
US20090135740A1 (en) Enhanced Application-Layer Multicast for Peer-to-Peer Conferencing
CN104902111A (zh) 一种基于Web RTC多方通话建立的方法、设备和系统
JP4738058B2 (ja) リアルタイムマルチメディア情報の効率的なルーティング
US8571189B2 (en) Efficient transmission of audio and non-audio portions of a communication session for phones
Rudkin et al. Real-time applications on the Internet
KR100613975B1 (ko) 메시지 큐 방식을 이용한 서버-클라이언트간의 음성스트림 전송 방법
CN108632476B (zh) 融合pstn的移动互联网语音平台系统及其通信方法
Prasad et al. Automatic addition and deletion of clients in VoIP conferencing
Chua et al. Bandwidth-Conserving Real-Time VoIP Teleconference System
JP2005151044A (ja) 音声ミキシング方法、音声ミキシングシステム及び音声ミキシングのためのプログラム
Chua et al. Bandwidth-Conserving Multicast VoIP Teleconference System.
TWI407727B (zh) A Method and System of Data Transmission Based on Peer - to - Peer P2P
CN119299610A (zh) 一种音视频会议的方法、装置、电子设备及存储介质
Kim et al. Hat: A High-quality Audio Conferencing Tool using mp3 Codec

Legal Events

Date Code Title Description
PA0109 Patent application

St.27 status event code: A-0-1-A10-A12-nap-PA0109

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R11-asn-PN2301

St.27 status event code: A-3-3-R10-R13-asn-PN2301

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R11-asn-PN2301

St.27 status event code: A-3-3-R10-R13-asn-PN2301

A201 Request for examination
PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

PR1002 Payment of registration fee

Fee payment year number: 1

St.27 status event code: A-2-2-U10-U11-oth-PR1002

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

Fee payment year number: 4

St.27 status event code: A-4-4-U10-U11-oth-PR1001

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

St.27 status event code: A-5-5-R10-R13-asn-PN2301

PR1001 Payment of annual fee

Fee payment year number: 5

St.27 status event code: A-4-4-U10-U11-oth-PR1001

FPAY Annual fee payment

Payment date: 20110801

Year of fee payment: 6

PR1001 Payment of annual fee

Fee payment year number: 6

St.27 status event code: A-4-4-U10-U11-oth-PR1001

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Not in force date: 20120811

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

St.27 status event code: A-4-4-U10-U13-oth-PC1903

PC1903 Unpaid annual fee

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20120811

St.27 status event code: N-4-6-H10-H13-oth-PC1903

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

P22-X000 Classification modified

St.27 status event code: A-4-4-P10-P22-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000