[go: up one dir, main page]

KR20020085931A - Voice multicasting method using logical ring - Google Patents

Voice multicasting method using logical ring Download PDF

Info

Publication number
KR20020085931A
KR20020085931A KR1020010025453A KR20010025453A KR20020085931A KR 20020085931 A KR20020085931 A KR 20020085931A KR 1020010025453 A KR1020010025453 A KR 1020010025453A KR 20010025453 A KR20010025453 A KR 20010025453A KR 20020085931 A KR20020085931 A KR 20020085931A
Authority
KR
South Korea
Prior art keywords
voice
participant
voice communication
group
logical ring
Prior art date
Application number
KR1020010025453A
Other languages
Korean (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 KR1020010025453A priority Critical patent/KR20020085931A/en
Publication of KR20020085931A publication Critical patent/KR20020085931A/en

Links

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/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2863Arrangements for combining access network resources elements, e.g. channel bonding
    • H04L12/2865Logical combinations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/42Loop networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/568Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities audio processing specific to telephonic conferencing, e.g. spatial distribution, mixing of participants

Landscapes

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

Abstract

본 발명의 논리링 방식의 인터넷에서의 다자간 음성통신방법은 그룹관리자를 포함하는 복수의 음성통신 참여자로 이루어진 논리링방식에 의한 인터넷에서의 다자간 음성통신방법에 있어서, 상기 논리링을 따라 1회전하며 각 음성통신 참여자의 음성을 믹싱한 후 상기 믹싱된 음성프레임를 전달하는 제1단계와, 상기 논리링을 따라 다시 1회전하며 각 음성통신 참여자가 상기 믹싱된 음성프레임 중 자신의 음성을 제외한 음성을 재생하는 제2단계로 구성된다.The multi-way voice communication method in the Internet of the logical ring method of the present invention is a multi-way voice communication method in the Internet by a logical ring method comprising a plurality of voice communication participants including a group manager, and rotates along the logical ring. A first step of delivering the mixed voice frames after mixing the voices of the respective voice communication participants, and once again according to the logic ring, each voice communication participant plays the voice except the own voice among the mixed voice frames It consists of a second step.

Description

논리링 방식의 인터넷에서의 다자간 음성통신방법{VOICE MULTICASTING METHOD USING LOGICAL RING}VOICE MULTICASTING METHOD USING LOGICAL RING}

본 발명은 인터넷을 통한 다자간 음성통신방법에 관한 것으로, 특히 논리링방식을 이용하여 인터넷을 통해 음성통신을 실행함으로써 통신음성의 품질이 향상되며 각 참여자의 음성치리시간을 최소화할 수 있는 논리링 방식의 인터넷상에서의 다자간 음성통신방법에 관한 것이다.The present invention relates to a multi-party voice communication method through the Internet, and in particular, by performing a voice communication through the Internet using a logic ring method, the quality of communication voice is improved and the logic ring method can minimize the voice processing time of each participant. The present invention relates to a multi-way voice communication method on the Internet.

미국에서 대학간의 정보의 교환을 목적으로 알파넷(ARPANET)이 탄생한 이래 수많은 서버의 접속에 의한 전세계적인 정보의 교환이 가능한 인터넷(internet)으로 발전하였다. 이러한 인터넷은 초기에는 학자들 사이의 학문적인 정보의 교환이라는 목적을 위해 탄생하였지만, 현재에는 전세계적으로 수많은 컴퓨터가 접속된 테이터통신의 한 수단으로 각광받고 있다. 컴퓨터기술의 발전과 더불어 네트워크 기술의 발전에 의해 인터넷은 전자우편(E-mail) 서비스, 원격 로그인(Telnet), 파일전송(File Transfer Protocol), 정보의 검색, 주제토론(Usenet News), 영상회의, 음성통신 서비스 등과 같은 수많은 서비스가 이루어지고 있다.Since the creation of the ARPANET in the United States for the purpose of exchanging information between universities, it has evolved into an internet that enables the exchange of information globally by accessing numerous servers. The Internet was originally created for the purpose of exchanging academic information among scholars, but now it is in the limelight as a means of data communication with numerous computers connected around the world. With the development of computer technology and the development of network technology, the Internet has become an e-mail service, remote login (Telnet), file transfer protocol, information retrieval, usenet news, video conferencing. , A number of services such as voice communication services are being made.

특히, 음성통신 서비스는 초고속 네트워크의 발전에 따라 실시간의 서비스가 가능하기 때문에 비용 절감이라는 측면에서 활발하게 연구되고 있다. 이러한 음성통신 서비스중 대표적인 서비스가 VoIP(Voice over Internet Protocol) 서비스이다. VoIP서비스는 기존 아날로그 전화망에서 제공되는 전화서비스를 인터넷을 통하여 제공하는 것으로, 아날로그 음성을 디지털데이터로 변조한 후 실시간으로 전송하고 이를 수신측에서 다시 아날로그 음성으로 복조함으로써 통화가 이루어지는 방식이다.In particular, voice communication services are being actively researched in terms of cost reduction since real-time services are possible according to the development of a high-speed network. A representative service of these voice communication services is Voice over Internet Protocol (VoIP) service. The VoIP service provides a telephone service provided by an existing analog telephone network through the Internet. The VoIP service modulates analog voice into digital data and transmits the data in real time.

최초의 음성통신망으로 지금까지 보편적으로 사용되는 전화망은 통화중인 양가입자간에 회선이 점유되는 회선교환망(Circuit Switched Networdk)을 사용하고 있기 때문에, 회선의 효율적인 이용이 어렵고 비용이 높을 뿐만 아니라 컴퓨터와 같이 다양한 기능을 부가하기 어렵다는 문제가 있었다. 반면에, 패킷교환망을 사용하는 VoIP 서비스는 회선교환방식에 비해 지연, 지터, 패킷손실, 좁은 대역폭 등의이유로 기존 전화망 수준의 음질을 보장하지는 못하지만 저렴하고 다양한 서비스를 제공하는 등 많은 장점을 가지고 있다. 뿐만 아니라, 인터넷 인프라의 발전과 데이터압축기술 및 컴퓨터의 성능이 높아지면서 인터넷망이 가진 기술적인 한계를 극복하여 높은 수준의 QoS를 기반으로 일대일과 다자간 음성통신의 제공이 가능하게 되었다.As the first voice communication network, the telephone network that has been widely used up to now uses a circuit switched network that occupies a line between the two subscribers on the phone, making it difficult and efficient to use the line, as well as various computers such as computers. There was a problem that it was difficult to add a function. On the other hand, VoIP services using packet-switched networks have many advantages over circuit-switched networks because they do not guarantee the sound quality of existing telephone networks due to delay, jitter, packet loss, and narrow bandwidth, but they provide inexpensive and diverse services. . In addition, with the development of the Internet infrastructure, data compression technology, and computer performance, the technical limitations of the Internet network have been overcome to provide one-to-one and multi-party voice communication based on a high level of QoS.

초기의 VoIP서비스는 기존의 전화 서비스 형태인 1:1 방식(Unicast)의 음성통화를 기본으로 제공하였고, 차츰 N:N 방식(Multicast)의 다자간 음성통신 등으로 확대되고 있다.Initially, VoIP service provided 1: 1 voice (Unicast) voice call, which is a conventional telephone service, and is gradually expanded to N: N (Multicast) multi-party voice communication.

다자간 음성통신을 구현하기 위한 방법에는 여러 가지가 있으며, 그 중에는 멀티캐스팅을 지원하는 라우터를 이용하는 방법이 포함된다. 그런데, 이를 지원하는 응용 프로그램들은 많이 개발되어 있지만, 멀티캐스팅 기능을 지원하는 라우터가 많지 않기 때문에 범용성이 떨어진다는 단점이 있다. 그외 멀티캐스팅 라우터를 사용하지 않고 다자간 음성통신을 구현하는 방법이 있는데, 이러한 다자간 음성통신은 크게 집중형(Centralized), 분산형(Decentralized), 혼합형(Mixed)방식으로 나눌 수 있다. 집중형 방식은 다자간 음성통신을 위해 별도의 독립서버를 두는 방식으로, 서버는 그룹을 관리하여 각 참여자들의 음성 데이터를 합성하고 분배해 주는 역할을 수행한다. 그러나, 이러한 방식은 고가의 서버를 별도로 구축해야 하는 부담이 있고, 각 그룹참여자들의 음성데이터들이 서버에 집중됨으로써, 사용자 수가 늘어남에 따라 서버의 부하가 급증하여 음성품질을 균일하게 보장하지 못하는 단점이 있다. 분산형 방식은 독립 서버 없이 각 그룹의 참여자들끼리 음성통신을하며, 그 관리는 참여자중 한명이 담당한다. 혼합형 방식은 집중형 방식과 분산형 방식을 혼합하여 수행되는 방식이다.There are various methods for implementing multi-party voice communication, including a method using a router that supports multicasting. By the way, many applications have been developed to support this, but since there are not many routers that support the multicasting function, there is a disadvantage that the generality is poor. In addition, there is a method for implementing multi-party voice communication without using a multicasting router. The multi-party voice communication can be largely divided into a centralized, decentralized, and mixed method. The centralized method has a separate independent server for multi-party voice communication. The server manages groups to synthesize and distribute voice data of each participant. However, this method has a burden of separately constructing an expensive server, and the voice data of each group participant is concentrated on the server, and as the number of users increases, the server load increases so that the voice quality cannot be uniformly guaranteed. have. The distributed method allows voice communication between participants in each group without an independent server, and the management is one of the participants. The hybrid method is a method performed by mixing the centralized method and the distributed method.

분산형 방식을 구현하는 기존의 방법중 대표적인 것으로, 한 참여자가 나머지 참여자들 모두에게 음성프레임을 보내는 방법이 있다. 이 방법은 사용자 수가 증가함에 따라 네트워크 트래픽과 각 참여자가 처리해야 할 음성데이터의 양이 급격히 증가하여 대역폭을 효율적으로 사용하기 어렵고 음성품질을 보장하기 어렵다는 단점이 있었다.One of the existing methods of implementing the distributed method is that one participant sends a voice frame to all the other participants. This method has a disadvantage in that network traffic and the amount of voice data to be processed by each participant rapidly increase as the number of users increases, making it difficult to efficiently use bandwidth and guaranteeing voice quality.

본 발명은 상기한 점을 감안하여 이루어진 것으로, 네트워크 트래픽과 각 참여자가 처리해야할 음성데이터를 최소화하여 음성통신 참여자가 증가하더라도 통화품질을 향상시킬 수 있는 논리링 방식의 인터넷에서의 다자간 음성통신방법을 제공하는 것을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above, and a multi-way voice communication method in the Internet of the logical ring method that can improve the call quality even if the number of voice communication participants increases by minimizing network traffic and voice data to be processed by each participant. It aims to provide.

본 발명의 다른 목적은 새로운 음성통신 참여자가 논리링에 가입하는 경우 최단거리의 논리링을 구성함으로써 패킷지연을 최소화할 수 있는 논리링 방식의 인터넷에서의 다자간 음성통신방법을 제공하는 것이다.Another object of the present invention is to provide a multi-way voice communication method in the Internet of the logical ring method that can minimize packet delay by configuring the shortest distance logical ring when a new voice communication participant joins the logical ring.

상기한 목적을 달성하기 위해, 본 발명에 따른 음성통신방법은 그룹관리자를 포함하는 복수의 음성통신 참여자로 이루어진 논리링방식에 의한 인터넷에서의 다자간 음성통신방법에 있어서, 상기 그룹관리자가 자신의 음성을 녹음한 음성프레임을 논리링을 다음의 음성통신 참여자에게 전달하는 단계; 각 음성통신 참여자가 이전의 음성통신 참여자로부터 전달되어 오는 음성프레임에 자신의 음성을 믹싱하여다음 음성통신 참여자에게 전달하는 단계; 논리링의 마지막 노드에 위치한 음성통신 참여자가 이전 음성통신 참여자로부터 전달되어 오는 음성프레임에 자신의 음성을 믹싱하여 그룹관리자에게 전달함과 동시에 전달되어 오는 음성프레임을 재생하는 단계; 그룹관리자를 포함하는 음성통신 참여자들이 이전 음성통신 참여자로부터 전달되는 음성프레임 중에서 자신의 음성을 제외한 음성프레임을 재생하는 단계; 및 상기 논리링의 마지막 노드 이전에 위치한 음성통신 참여자가 전달되어 오는 음성프레임에서 자신을 음성을 제외한 음성프레임을 재생하는 단계로 구성된다.In order to achieve the above object, the voice communication method according to the present invention is a multi-way voice communication method in the Internet by a logical ring method consisting of a plurality of voice communication participants including a group manager, the group manager has his voice Delivering the recorded voice frame to a next voice communication participant; Mixing each voice participant with a voice frame transmitted from a previous voice communication participant and delivering the same to a next voice communication participant; A voice communication participant located at the last node of the logical ring, mixing his voice with the voice frame received from the previous voice communication participant, and transmitting the voice to the group manager to play the voice frame simultaneously; Playing voice frames excluding their own voice among voice frames delivered from previous voice communication participants by a voice communication participant including a group manager; And playing a voice frame excluding itself in a voice frame from which a voice communication participant located before the last node of the logical ring is delivered.

또한, 새로운 음성통신 참여자가 가입하는 경우, 그 가입은 그룹관리자가 음성통신 그룹 참여대상자로부터 그룹참여를 허락하는 단계와, 참여대상자가 각 그룹참여자에게 'PING'메시지를 전송하여 RTT(Round Trip Time)를 측정해서 가장 가까운 거리의 음성통신 참여자를 검출하는 단계와, 상기 검출된 가장 가까운 거리의 음성통신 참여자와 그 다음 거리의 음성통신 참여자 사이에 참여대상자를 삽입시켜 상기 참여대상자를 새로운 음성통신 참여자로서 가입시키는 단계로 구성됨으로써 논리링을 항상 최단거리를 형성할 수 있게 된다.In addition, when a new voice communication participant joins, the joining is performed by the group manager allowing the group participation from the voice communication group participant, and the participant sends a 'PING' message to each group participant to make a round trip time. Detecting a voice communication participant at the closest distance by inserting the participant between the detected closest voice participant and the voice communication participant at the next distance. In this case, the logical ring can always form the shortest distance.

도 1(a)는 본 발명에 따른 음성통신시스템의 구조를 간략하게 나타내는 도면.Figure 1 (a) is a diagram briefly showing the structure of a voice communication system according to the present invention.

도 1(b)는 도 1(a)에서의 음성패킷의 전송을 나타내는 도면.Figure 1 (b) is a diagram showing the transmission of the voice packet in Figure 1 (a).

도 2는 본 발명에 따른 음성통신장치의 구조를 나타내는 간략도.2 is a simplified diagram showing the structure of a voice communication apparatus according to the present invention;

도 3은 도 3의 음성처리부의 구조를 나타내는 블럭도.3 is a block diagram illustrating a structure of a voice processing unit of FIG. 3.

도 4는 본 발명에 따른 음성통신시스템의 동작메커니즘을 나타내는 도면.4 is a diagram illustrating an operation mechanism of the voice communication system according to the present invention;

도 5는 본 발명에서 각 참여자들이 음성을 처리하는 녹음시점과 재생시점을 시간축상에 표현한 도면.FIG. 5 is a diagram illustrating recording time and playback time of each participant in the present invention on a time axis.

도 6은 본 발명에 따른 논리링방식에 의한 인터넷에서의 다자간 음성통신방법을 나타내는 플로우챠트.6 is a flowchart illustrating a multi-party voice communication method in the Internet using a logic ring method according to the present invention.

도 7은 본 발명에서 각 참여자에 포함되는 링킹된 리스트형태의 자료구조를 나타내는 도면.7 is a view showing a data structure in the form of a linked list included in each participant in the present invention.

도 8은 본 발명의 논리링에서의 그룹관리자와 다른 그룹참여자 사이에 주고 받는 메시지를 보여주는 도면.8 is a view showing a message exchanged between a group manager and other group participants in the logical ring of the present invention.

도 9는 본 발명의 논리링에서 특정 참여자가 그룹을 탈퇴하는 과정에 대한메시지흐름도를 나타내는 도면.9 is a diagram illustrating a message flow diagram for a process in which a specific participant leaves a group in the logical ring of the present invention.

도 10은 본 발명에서 특정 참여자가 비정상으로 종료되어 논리링이 회손된 경우 논리링의 복구과정을 나타내는 도면.FIG. 10 is a view illustrating a recovery process of a logical ring when a logical participant is damaged due to abnormal termination of a specific participant in the present invention. FIG.

도 11은 본 발명에서 논리링이 회손된 경우의 논리링복구를 위한 메시지흐름도.11 is a message flow diagram for logical ring recovery when the logical ring is corrupted in the present invention.

* 도면의 주요부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings

1 : 인터넷 3 : 그룹관리자1: Internet 3: Group Manager

5,7,9 : 음성통신 참여자 11 : 마이크5,7,9: Voice communication participant 11: Microphone

13 : 스피커 20 : 음성통신장치13 speaker 20 voice communication device

22 : 그룹관리부 24 : 음성처리부22: group management unit 24: voice processing unit

23 : 녹음부 25 : 재생부23: recording unit 25: playback unit

27 : 수신부 29 : 전송부27: receiver 29: transmitter

32 : 믹싱부 34 : 에코처리부32: mixing section 34: echo processing section

일반적으로 논리 링을 이용한 다자간 음성통신은 각 그룹별로 통화 참여자들을 가상의 링으로 연결하여 각 참여자들이 말하는 음성이 논리 링을 따라 순서대로 돌면서 다른 참여자들에게 전달 되도록 하는 방식이다. 또한, 일정 시간 간격으로 음성프레임을 재생해 주기 때문에, 여러 사람이 동시에 통화하더라도 통화품질이 보장되고 고유의 음성믹싱기법을 적용하여 회의 참여자 수가 증가하더라도 네트워크 트래픽이 증가하지 않게 되며, 묵음처리기법을 적용하여 음성처리시간을 최소화할 뿐만 아니라 최단 거리의 논리링구성 메커니즘으로 패킷지연을 최소화하는 것을 특징으로 한다.In general, multi-way voice communication using a logical ring connects call participants to a virtual ring for each group so that the voices spoken by each participant are rotated in sequence along the logical ring to other participants. In addition, since voice frames are played back at regular intervals, call quality is guaranteed even when multiple people talk at the same time, and the unique voice mixing technique is applied so that network traffic does not increase even if the number of participants increases. By not only minimizing the speech processing time, but also minimizing the packet delay with the logical ring configuration mechanism of the shortest distance.

도 1은 본 발명에 따른 인터넷에서의 논리링을 이용한 다자간 음성통신시스템을 나타내는 도면으로, 도 1(a)는 음성패킷의 첫번째 회전시의 동작을 나타내는 도면이고 도 1(b)는 음성패킷의 두번째 회전시의 동작을 나타내는 도면이다. 도면에 도시된 바와 같이, 그룹관리자(3)와 복수의 음성통신 참여자(3,5,7)는 각각 인터넷(1)을 통해 서로 접속되어 있다. 도면에서 도면부호 M은 그룹관리자의 음성패킷을 나타내고 A,B,C는 각 참여자들의 음성패킷을 나타낸다. 이러한 시스템은 별도의 독립된 서버 없이 각 그룹의 참여자들끼리 음성을 주고 받는 완전 분산형 시스템으로서, 도면에 도시된 바와 같이 그룹관리자가 녹음한 음성패킷이 논리링을 따라 두번 회전한다.1 is a view showing a multi-party voice communication system using a logical ring in the Internet according to the present invention, Figure 1 (a) is a view showing the operation during the first rotation of the voice packet and Figure 1 (b) of the voice packet It is a figure which shows the operation | movement at the time of 2nd rotation. As shown in the figure, the group manager 3 and the plurality of voice communication participants 3, 5, 7 are connected to each other via the Internet 1, respectively. In the drawing, reference numeral M denotes a voice packet of a group manager, and A, B, and C denote voice packets of each participant. Such a system is a fully distributed system for exchanging voices among participants of each group without a separate independent server. As shown in the drawing, a voice packet recorded by a group manager rotates twice along a logical ring.

도 1(a) 및 도 1(b)에 도시된 바와 같이, 음성패킷의 첫번째 회전에서는 각 참여자들이 말한 음성을 모으고, 두 번째 회전에서는 첫번째 회전에서 모았던 음성을 재생해 준다.As shown in Fig. 1 (a) and 1 (b), the voice of each participant is collected in the first rotation of the voice packet, and the voice collected in the first rotation is reproduced in the second rotation.

참여자들이 말한 음성데이터는 논리링을 돌면서 다른 참여자들의 음성과 믹싱되어 전달되는데(실제는 2진 코드로 표현된 음성이 합산되어 전달된다), 둘 이상의 음성을 믹싱한 음성데이터의 비트수는 원래의 음성데이터와 그 크기가 같아 참여자 수가 증가하더라도 네트워크 트래픽이 증가하지 않는다. 즉, 도 1(a)에 도시된 바와 같이, 그룹관리자(3)의 PC에서는 입력되는 음성신호를 디지털데이터로 변환시켜 변환된 음성패킷(M)을 저장한 후 이를 다음의 참여자(5)에게 전송한다. 해당 참여자(5)는 전송되어 오는 그룹관리자(3)의 음성패킷(M)에 자신의 음성패킷(A)을 믹싱한 후 이 믹싱된 음성패킷(M+A)를 다음의 참여자(7)에게 다시 전송한다. 상기 참여자(7) 역시 전송되어 오는 음성패킷(M+A)에 자신의 음성패킷(B)을 믹싱하여 다음의 참여자(9)에게 전송하며 이 참여자(9) 역시 자신의 음성패킷(C)을 믹싱한 후 믹싱된 음성패킷(M+A+B+C)을 그룹관리자(3)에게 전송한다.The voice data spoken by the participants is mixed with the voices of the other participants through the logic ring (actually, the voice represented by the binary code is added together), and the number of bits of the voice data mixed with two or more voices is the original number. The same size as the voice data, the network traffic does not increase even if the number of participants increases. That is, as shown in Fig. 1 (a), the PC of the group manager 3 converts the input voice signal into digital data, stores the converted voice packet M, and then stores the converted voice packet M to the next participant 5. send. The participant 5 mixes his voice packet A with the voice packet M of the group manager 3 that is transmitted, and then mixes the mixed voice packet M + A to the next participant 7. Send again. The participant 7 also mixes its own voice packet B to the next participant 9 by mixing the voice packet M + A, which is also transmitted, and the participant 9 also sends its own voice packet C. After mixing, the mixed voice packet (M + A + B + C) is transmitted to the group manager 3.

한편, 도 1(b)에 도시된 바와 같이, 그룹관리자(3)에게 합산된 음성패킷(M+A+B+C)이 입력되면, 그룹관리자(3)는 이중에서 자신의 음성패킷(M)을 제외한 나머지 음성패킷(A+B+C)을 복원하여 출력한 후, 상기 음성패킷(M+A+B+C)를 다시 참여자(5)에게 전송한다. 이 참여자(5) 역시 상기 음성패킷(M+A+B+C) 중에서 자신의 음성(A)을 제외한 음성패킷(M+B+C)를 복원하여 출력한 후 다시 다음의 참여자(7)에게 전송하며, 이후의 참여자들(7,9)도 역시 자신의 음성(B,C)를 제외한 음성패킷을 복원한다.On the other hand, as shown in Figure 1 (b), when the sum of the voice packets (M + A + B + C) is added to the group manager (3), the group manager (3) is his voice packet (M) in duplicate After restoring and outputting the remaining voice packets A + B + C except for), the voice packets M + A + B + C are again transmitted to the participant 5. The participant 5 also restores and outputs the voice packet M + B + C except for the voice A of the voice packet M + A + B + C and then returns to the next participant 7. The subsequent participants 7 and 9 also restore the voice packets except their voices B and C.

또한, 본 발명에서는 상기한 음성패킷이 묵음처리기법에 의해 처리되기 때문에, 음성처리과정을 생략하여 음성처리시간을 최소화할 수 있게 된다.In addition, in the present invention, since the above-mentioned speech packet is processed by the mute processing method, the speech processing time can be minimized by omitting the speech processing process.

PC에는 다자간 음성통신용 소프트웨어가 설치된다. 이 다자간 음성통신용 소프트웨어는 기능에 따라 그룹관리를 책임지는 그룹관리자용 소프트웨어와 일반 참여자용 소프트웨어로 나누어지는데, 이 역할의 분리는 그룹 생성시에 결정된다. 그리고, 각 참여자의 PC에 설치되는 소프트웨어는 그룹관리와 관련된 그룹의 참여, 탈퇴, 복구기능을 가지고 있으며, 그룹관리자용 소프트웨어는 전체적인 그룹관리기능을 수행한다.The PC is equipped with software for multilateral voice communication. The multi-party voice communication software is divided into group manager software and general participant software, which are responsible for group management according to their functions. The separation of roles is determined at the time of group creation. In addition, the software installed on each participant's PC has a group participation, withdrawal, and recovery functions related to group management, and the group manager software performs the overall group management function.

상기 그룹관리자(3)와 음성통신 참여자(5,7,9)의 단말기(PC)에는 도 2에 도시된 바와 같은 음성통신장치(20)가 설치되어 있다. 도면에 도시된 바와 같이, 상기 음성통신장치(20)는 단말기에 장착된 마이크와 같은 입력장치(11)로부터 음성통신 참여자들이 말하는 음성신호를 디지털신호로 변환하여 저장하고 이를 수신한 음성과 믹싱하여 논리링 형태의 경로를 따라 믹싱된 음성 데이터를 인터넷(1)으로 전송하며, 수신한 음성데이터에서 자신의 음성을 제거하여 스피커와 같은 출력장치(13)로 재생해주는 것으로, 크게 그룹관리부(22)와 음성처리부(24)로 구성된다.The voice communication device 20 as shown in FIG. 2 is installed in the terminal PC of the group manager 3 and the voice communication participants 5, 7, and 9. As shown in the figure, the voice communication device 20 converts the voice signals spoken by the participants in the voice communication from the input device 11 such as a microphone mounted in the terminal, converts the voice signals into digital signals, and mixes them with the received voice. The mixed voice data is transmitted to the Internet 1 along a logical ring path, and the voice data is removed from the received voice data and reproduced by the output device 13 such as a speaker. And a sound processor 24.

그룹관리부(22)는 논리링를 관리하는 수단으로서, 그룹의 생성, 참여, 탈퇴기능 등의 관리기능을 수행한다. 상기 그룹관리부(22)는 그룹참여 및 탈퇴기능을 수행하면서 각 참여자들을 가상적인 링으로 구성해 주는데, 특히 그룹참여시 최단 거리의 논리링이 구성되도록 해준다. 또한, 상기 그룹관리부(22)는 참여자의 PC가 비정상 종료되어 논리링을 회손시키는 경우 종료된 참여자를 제외한 나머지 참여자들로 구성된 그룹으로 논리링을 복구하는 기능을 수행한다.The group manager 22 is a means for managing the logical ring, and performs management functions such as creation, participation, and withdrawal of the group. The group manager 22 configures each participant in a virtual ring while performing group participation and withdrawal functions, and in particular, allows a logical ring of the shortest distance to be configured during group participation. In addition, the group manager 22 performs a function of restoring the logical ring to a group composed of the remaining participants except the terminated participant when the participant's PC is abnormally terminated and the logical ring is damaged.

음성처리부(24)는 녹음, 믹싱, 에코처리, 재생, 수신, 전송 등의 기능을 담당하는 것으로, 도 3에 도시된 바와 같이, 믹싱부(32), 에코처리부(34), 녹음부(23), 재생부(25), 수신부(27), 전송부(29)로 구성된다.The voice processing unit 24 is responsible for recording, mixing, echo processing, playback, reception, transmission, and the like. As shown in FIG. 3, the mixing unit 32, the echo processing unit 34, and the recording unit 23. ), A playback section 25, a reception section 27, and a transmission section 29.

믹싱부(32)는 자신의 음성데이터와 다른 참여자들의 음성데이터를 믹싱하는 기능을 수행하며, 에코처리부(34)는 수신된 음성을 재생하기 전에 믹싱된 데이터에서 자신의 음성을 제거하는 작업을 수행한다.The mixing unit 32 performs a function of mixing its own voice data and voice data of other participants, and the echo processing unit 34 performs a task of removing its own voice from the mixed data before playing the received voice. do.

또한, 녹음부(23)는 마이크와 같은 입력장치(2)를 통해 아날로그음성을 입력받아 디지털데이터로 변환하며, 재생부(25)는 에코처리부(34)에 의해 에코처리가 끝난 디지털데이터를 전달받아 스피커와 같은 출력장치(13)를 통해 음성을 출력한다. 수신부(27)은 링의 경로를 통해 들어오는 음성데이터를 수신하며, 전송부(29)는 믹싱된 음성데이터를 지정된 그룹 참여자에게 전송한다.In addition, the recording unit 23 receives analog voice through the input device 2 such as a microphone and converts it into digital data, and the reproduction unit 25 delivers the echo-processed digital data by the echo processing unit 34. And outputs voice through an output device 13 such as a speaker. The receiver 27 receives the voice data coming in through the ring path, and the transmitter 29 transmits the mixed voice data to the designated group participant.

도 4는 본 발명의 음성처리시스템의 동작메커니즘을 나타내는 도면이다. 도면에서 그룹참여자를 N명으로 가정하며, (N,N')는 각각 첫번째 회전시의 카운트필드값과 두번째 회전시의 카운트필드값을 나타낸다. 도면에 도시된 바와 같이, 그룹참여자가 N명일 경우, 음성처리장치(24)는 그 내부의 수신부(27)를 통해 다른 참여자의 음성데이터를 전달받아, 해당 음성데이터의 카운트필드를 조사한다. 카운트필드값은 그룹관리자에서 생성된 음성으로부터 시작하여 그 값이 2N-2가 될 때까지 링을 돌면서 참여자를 지날 때마다 1씩 증가한다. 음성처리장치(24)는 수신한 음성패킷을 그 패킷의 카운트필드값에 따라 다르게 처리한다. 이러한 카운드필트값에 따른 각 단말노드(node)에서의 동작을 다음의 표 1에 표시하였다.4 is a view showing an operation mechanism of the speech processing system of the present invention. In the figure, group participants are assumed to be N, and (N, N ') represents the count field value at the first rotation and the count field value at the second rotation, respectively. As shown in the figure, when there are N group participants, the voice processing apparatus 24 receives voice data of another participant through the receiving unit 27 therein and examines the count field of the voice data. The count field value starts with the voice generated by the group manager and increases by 1 each time the participant passes through the ring until the value reaches 2N-2. The speech processing device 24 processes the received speech packet differently according to the count field value of the packet. The operation of each terminal node according to the count field value is shown in Table 1 below.

수신패킷의 카운트필드값Count field value of received packet 각 단말노드에서의 동작Operation at each terminal node 믹싱루프Mixing loop 1One 녹음데이터를 전달Deliver recording data 2∼(N-1)2 to (N-1) 수신데이터와 녹음데이터를 믹싱하여 전달Forward by mixing received data and recorded data NN 수신데이터와 녹음데이터를 믹싱하여 전달수신데이터의 재생Play forwarding received data by mixing received data and recorded data 재생루프Loop 1∼(2N-2)1 to (2N-2) 수신데이터를 그대로 전달수신데이터에서 자신의 음성을 제거하고 재생Receives the received data as it is, removes and plays its own voice from the received data 2N-12N-1 수신데이터에서 자신의 음성을 제거하고 재생Remove and play your own voice from received data

도면에 도시된 바와 같이, 첫번째 회전에서는 카운트필드값이 1인 경우에는 자신의 음성을 녹음하여 다음의 참여자에게 전달하며, 카운트필드값이 2∼N-1가 될 때까지 각 단말노드에서는 수신된 음성프레임에 자신의 녹음된 음성을 믹싱하여 다음 참여자에게 전달한다. 또한, 카운트필드값이 마지막값인 N일 경우에는 수신된 음성 프레임에 자신의 녹음된 음성을 믹싱하여 다음 참여자에게 전달함과 동시에 자신의 음성이 추가되지 않은 수신된 음성프레임을 재생한다.As shown in the figure, in the first rotation, when the count field value is 1, the voice is recorded and transmitted to the next participant, and received at each terminal node until the count field value is 2 to N-1. Mix your own recorded voice into the voice frame and deliver it to the next participant. In addition, if the count field value is N, the last value is N, the recorded voice is mixed with the received voice frame and transmitted to the next participant, and at the same time, the received voice frame without the added voice is played.

그리고, 두번째 회전에서는 카운트필드값이 1∼(2N-2)일 경우 수신된 음성프레임을 다음 참여자에게 전달함과 동시에 수신프레임 중 자신의 음성프레임을 제거하고 이를 재생한다. 상기 두번째 회전의 마지막 필드(2N-1)에서는 음성 프레임의 전송없이 수신한 음성프레임에서 자신의 음성만을 제거하고 재생한다.In the second rotation, when the count field value is 1 to (2N-2), the received voice frame is transmitted to the next participant and the voice frame is removed from the received frame and played. In the last field 2N-1 of the second rotation, only the own voice is removed from the received voice frame without transmission of the voice frame and played.

통상적으로 논리링에서는 N명의 참여자가 있는 경우 일반적으로 첫번째 회전에서 N번째의 노드까지 각 노드의 음성프레임이 저장되고 1번째 노드에 상기 저장된 음성프레임이 전달된 후, 두번째 회전에서 1번째 노드부터 N번째 노드까지 자신의 음성을 제거한 음성프레임을 재생한다. 그러나, 도면에 도시된 바와 같이, 본 발명에서는 N명의 참여자가 있는 다자간 음성통신그룹에서 모든 참여자들의 믹싱된 음성 프레임의 재생의 시작이 1번째 노드가 아닌 N번째 노드에서 이루어지며 최종적인 재생의 종료가 N번째 노드가 아닌 N-1번째 노드에서 이루어진다는 점에서 링회전시간을 줄이는 효과를 가져오게 된다.In general, in the logical ring, when there are N participants, voice frames of each node are generally stored from the first rotation to the Nth node, and the stored voice frames are transmitted to the first node, and then N nodes from the first node in the second rotation. Play the voice frame from which the voice has been removed up to the first node. However, in the present invention, in the present invention, in the multi-party voice communication group having N participants, the start of playback of the mixed voice frames of all participants is performed at the Nth node, not the first node, and the end of the final playback. Is performed at N-1 node instead of N node, which reduces the ring rotation time.

도 5는 상기 방식을 적용하였을 때 각 참여자들이 음성을 처리하는 녹음시점과 재생시점을 시간축상에 표현한 도면으로서, 각 참여자들마다 일정시간 간격으로음성 프레임을 재생하고 있음을 보여준다.FIG. 5 is a diagram showing the recording time and playback time of each participant when processing the voice on the time axis when the above method is applied, and shows that each participant reproduces a voice frame at a predetermined time interval.

또한, 본 발명의 음성처리장치는 묵음처리기법을 적용해 보다 효율적으로 음성처리를 수행한다. 즉, 음성패킷의 첫번째 회전에서 수신한 음성프레임에 자신의 녹음음성을 믹싱하여 전송할 때, 녹음된 음성이 묵음인지를 먼저 판단한다. 이때, 묵음일 경우 믹싱처리 없이 수신된 음성 프레임을 다음 참여자에게 전송하며, 두번째 회전에서 수신한 음성프레임에서 자신의 녹음음성을 제거한 음성프레임을 재생하려 할 때, 첫 번째 회전에서 자신의 음성이 묵음으로 판단되어 믹싱과정을 생략하였으면 자신의 음성을 제거하는 과정을 생략하고 재생한다.In addition, the speech processing apparatus of the present invention applies the silent processing technique to perform the speech processing more efficiently. That is, when mixing and transmitting its own recording voice to the voice frame received in the first rotation of the voice packet, it is first determined whether the recorded voice is silent. In this case, when the sound is muted, the received voice frame is transmitted to the next participant without mixing. When the audio frame is removed from the voice frame received in the second rotation, the voice frame is muted in the first rotation. If it is determined that the mixing process is omitted, the process of removing the own voice is skipped and reproduced.

도 6은 상술한 본 발명의 논리링방식에 의한 인터넷에서의 다자간 음성통신방법을 나타내는 플로우챠트이다. 본 발명의 음성통신방법을 상기 도면에 기초하여 설명하면 다음과 같다. 여기서, 다자간 음성 통신의 총 참여자 수를 N명이라고 가정한다.6 is a flowchart showing a multi-party voice communication method in the Internet using the above-described logic ring method of the present invention. Referring to the voice communication method of the present invention based on the drawings as follows. Here, it is assumed that the total number of participants in the multi-party voice communication is N people.

우선, 도면에 도시된 바와 같이, 음성패킷이 수신되면 수신된 음성패킷을 가져와서(S101), 수신받은 프레임의 카운트필드값을 하나 증가(102)시킨다. 이어서, 수신받은 음성프레임의 카운트필드값을 검사하여(S103), 그 값이 1∼N일 경우에는, 음성믹싱이 이루어지는 첫번째 회전임을 인지한 후 녹음저장큐에서 음성프레임을 가져온다(S104).First, as shown in the figure, when a voice packet is received, the received voice packet is taken (S101), and the count field value of the received frame is increased by one (102). Subsequently, the count field value of the received voice frame is examined (S103). If the value is 1 to N, the voice frame is retrieved from the recording storage queue after recognizing that it is the first rotation of voice mixing (S104).

이후, 녹음된 음성프레임이 묵음인지를 판단하여(S105), 묵음이 아니라면 수신된 음성프레임과 상기 녹음음성프레임을 더하여(믹싱하여) 다음 참여자에게 전송하기 위해 전송데이터큐에 저장한다(S106). 반대로, 녹음된 음성프레임이 묵음인경우 믹싱없이 수신된 음성프레임을 전송데이터큐에 저장한다(S107).Then, it is determined whether the recorded voice frame is silent (S105), and if not, the received voice frame and the recorded voice frame are added (mixed) and stored in the transmission data queue for transmission to the next participant (S106). On the contrary, when the recorded voice frame is muted, the received voice frame is stored in the transmission data queue without mixing (S107).

이후, 카운트필드값이 N(음성프레임의 첫번째 회전의 마지막 단계)인지를 검사(S108)한다. 즉, 모든 참여자의 음성이 믹싱되었는지를 판단한다. 상기에서 카운트필드값이 N이면 모든 참여자의 음성이 믹싱된 상태이므로, 해당 참여자(N번째)의 음성이 믹싱되지 않은 수신프레임을 바로 재생큐에 저장하고, 카운트필드값이 N이 아니면 이를 생략한다(S109). 이어서, 음성프레임의 다음 회전에서 에코처리를 할 있도록 녹음데이터를 자신의 이전 데이터 큐에 저장한다(S110).Thereafter, it is checked whether the count field value is N (the last step of the first rotation of the voice frame) (S108). That is, it is determined whether the voices of all participants are mixed. If the count field value is N, the voices of all participants are mixed, and thus, the reception frame in which the voice of the participant (Nth) is not mixed is immediately stored in the play queue, and if the count field value is not N, the skip field is omitted. (S109). Subsequently, the recording data is stored in its previous data queue to be echoed in the next rotation of the voice frame (S110).

한편, 단계 S103에서 카운트 필드값이 1∼2N-1일 경우에는, 음성재생이 이루어지는 두번째 회전에 해당한다. 우선, 카운트필드값이 2N-1인지를 검사하여, 카운트 필드값이 2N-1가 아니면 수신프레임을 다음 참여자에게 전송하기 위해 전송 데이터 큐에 저장하고(S112), 카운트필드값이 2N-1이면, 두번째 회전의 마지막 단계이므로 이를 생략한다. 이어서, 수신받은 음성프레임을 재생하기 전에 에코처리를 하기 위해 첫번째 회전에서 자신이 녹음했던 음성을 이전 녹음데이터큐로부터 가져온다(S113). 그리고, 상기 녹음음성이 묵음데이터인지를 검사하여(S114), 묵음데이터가 아닌 경우에는 수신데이터에서 자신의 이전 녹음음성을 제거하여 재생데이터큐에 저장하고(S115), 묵음데이터이면 수신데이터를 재생데이터큐에 저장한다(S116).On the other hand, when the count field value is 1 to 2N-1 in step S103, it corresponds to the second rotation in which audio reproduction is performed. First, it is checked whether the count field value is 2N-1, and if the count field value is not 2N-1, the received frame is stored in the transmission data queue for transmission to the next participant (S112), and if the count field value is 2N-1, This is the last step of the second rotation, so omit it. Subsequently, the voice recorded by the user in the first rotation is taken from the previous recording data queue for echo processing before the received voice frame is reproduced (S113). Then, it is checked whether the recorded voice is silent data (S114). If it is not the silent data, the previous recorded voice is removed from the received data and stored in the reproduction data queue (S115). The data is stored in the data queue (S116).

그룹관리부(22)는 기본적으로 그룹을 생성하며, 참여자들의 그룹참여와 탈퇴를 처리한다. 그리고, 그룹 참여자들 사이에 논리링 형태의 연결을 설정하고 갱신하는 기능을 담당하며, 비정상적인 상황으로 인한 논리링의 회손시에 복구하는 기능들을 수행한다. 도면에는 비록 도시하지 않았지만, 그룹관리부(22)을 기능별로 나누어 보면, 그룹생성부, 그룹참여부, 그룹탈퇴부 및 논리링 복구부로 나누어진다. 이러한 그룹관리부의 구성은 본 발명이 기술이 속하는 기술분야에 종사하는 사람이 아래에 설명하는 기능을 기초로 용이하게 구성할 수 있는 것으로, 도면을 생략하고 그 기능만을 중점적으로 설명한다.The group manager 22 basically creates a group and handles group participation and withdrawal of the participants. It is responsible for establishing and updating a logical ring type connection between group participants, and recovering a logical ring due to an abnormal situation. Although not shown in the figure, when the group management unit 22 is divided into functions, it is divided into a group generation unit, a group participation unit, a group withdrawal unit, and a logical ring recovery unit. The configuration of the group management unit can be easily configured on the basis of the functions described below by a person in the technical field to which the present invention belongs, and the drawings will be omitted and only the functions will be mainly described.

그룹생성부는 특정한 그룹을 생성하는 기능을 수행한다. 이때, 그룹생성자는 그룹관리자가 되어 다른 사용자들의 그룹참여를 기다리고, 참여자들의 정보나 그룹전체에 대한 관리기능을 수행한다. 참여자들의 정보는 도 7에 도시된 바와 같이 링킹된 리스트(Linked List) 형태의 자료구조로 관리된다. 한 참여자에 대한 정보는 링크드 리스트의 한 노드에 표현되는데, 도면에 도시된 바와 같이, 참여자의 정보는 '참여자 이름', '참여자의 IP주소', '참여자의 다음 참여자 IP주소', '참여자의 이전 참여자 IP주소', '음성 송수신용 소켓' 및 '제어메시지 송수신용 소켓'으로 구성된다.The group generator performs a function of creating a specific group. At this time, the group creator becomes a group manager and waits for group participation of other users, and performs information management of the participants or the entire group. Participants' information is managed in a data structure in the form of a linked list as shown in FIG. Information about one participant is represented in one node of the linked list, as shown in the figure, the participant's information includes the participant's name, the participant's IP address, the participant's next participant's IP address, and the participant's It consists of the previous participant's IP address, 'voice socket' and 'control socket'.

'참여자 이름'은 사용자에게 해당 참여자의 이름을 알려주기 위한 정보이고, '참여자 IP주소'는 해당 참여자가 사용하는 컴퓨터의 IP주소이다. 그리고 '참여자의 다음 참여자 IP주소'와 '참여자의 이전 참여자 IP주소'는 논리링구조에서 해당 참여자의 다음 참여자 및 이전 참여자의 IP주소를 나타내는 정보로서, 이러한 정보는 링복구과정에서 그룹관리자가 비정상 종료된 참여자의 다음 참여자와 이전 참여자의 정보를 참조할 때 사용된다. 또한, '음성 송수신용 소켓'은 해당 참여자와 음성통신을 하기 위한 소켓이며, '제어메시지 송수신용 소켓'은 해당 참여자와 제어메시지를 주고 받기 위해 사용되는 소켓이다.'Participant name' is information for informing the name of the participant to the user, and 'participant IP address' is the IP address of the computer used by the participant. The next participant IP address of the participant and the previous participant IP address of the participant are information representing the IP address of the next participant and the previous participant of the participant in the logical ring structure. It is used to refer to the information of the next and previous participants of the terminated participant. In addition, the 'voice transmission and reception socket' is a socket for voice communication with the participant, 'control message transmission and reception socket' is a socket used to exchange control messages with the participant.

그룹참여부는 일반 사용자가 특정 그룹에 참여하는데 필요한 작업을 수행한다. 즉, 참여하고자 하는 그룹의 그룹관리자에게 참여요청 메시지(JOIN)를 보내고, 그 응답을 받아서(JOIN_ACK) 참여그룹의 논리링구조를 유지시키면서 그룹에 참여시키는 기능을 수행한다. 도 8은 그룹관리자 →참여자A →참여자 B로 논리링이 형성된 상황에서 참여자C가 그룹에 참여하기 위해 그룹관리자와 다른 그룹참여자(참여자A 및 참여자B)들 사이에 주고 받는 메시지를 보여주는 도면이다.Group Participation performs tasks required for general users to join a specific group. That is, it sends a participation request message (JOIN) to the group manager of the group to join, receives the response (JOIN_ACK) and performs the function of joining the group while maintaining the logical ring structure of the participating group. FIG. 8 is a diagram illustrating a message exchanged between a group manager and other group participants (participant A and participant B) by a participant C in order to join a group in a situation where a logical ring is formed as a group manager → participant A → participant B. FIG.

도 8에 도시된 바와 같이, 참여자C가 'JOIN'이라는 메시지에 자신의 정보를 실어 그룹관리자에게 전송하면, 그룹관리자는 참여자C의 정보를 그룹참여자 정보리스트에 추가하고, 참여허락메시지인 'JOIN_ACK' 메시지를 다시 참여자C에게 전송한다. 이때 'JOIN_ACK' 메시지에는 현재 그룹의 모든 참여자들의 IP주소가 포함되어 있다.As shown in FIG. 8, when Participant C carries his information on the message 'JOIN' and transmits it to the Group Manager, the Group Manager adds the Participant C's information to the group participant information list and joins the message 'JOIN_ACK'. 'Send the message back to Participant C. At this time, the 'JOIN_ACK' message includes the IP addresses of all participants in the current group.

'JOIN_ACK' 메시지를 받은 참여자C는 그룹내의 모든 참여자들의 IP주소를 이용하여, 그룹내의 모든 참여자에게 'PING' 메시지를 보내어 RTT(Round Trip Time)를 측정한다. 이때, 참여자A의 RTT가 가장 짧았다고 가정하면 참여자C는 참여자A에게 'NEXT_MEMBER'라는 메시지를 송신하여 참여자A로 하여금 자신이 참여자A의 다음 참여자라는 것을 알리고, 참여자A로부터 'NEXT_MEMBER_ACK' 응답메시지를 수신한다. 또한, 참여자C는 참여자A의 원래의 다음 참여자인 참여자B에게 'PREV_MEMBER' 메시지를 송신하여 자신이 참여자B의 이전 참여자임을 알리고, 'PREV_MEMBER_ACK' 메시지를 수신한다. 상기의 과정에 의해 참여자C의 참여과정이 종료하게 되며, 논리링의 갱신이 완료되었음을 참여자C가 그룹관리자에게 'UPDATE_RING' 메시지를 송신하여 알린다. 한편, 그룹관리자는 상기 'UPDATE_RING' 메시지를 수신받아 그룹정보를 갱신한 후 'UPDATE_RING_ACK' 메시지로 응답하여 그룹참여과정이 종료되며, 결국 그룹관리자→참여자A→참여자B 순의 논리링이 형성된다.Participant C receiving the 'JOIN_ACK' message sends a 'PING' message to all participants in the group using the IP addresses of all participants in the group to measure the round trip time (RTT). Assuming that Participant A has the shortest RTT, Participant C sends Participant A a message of 'NEXT_MEMBER' to inform Participant A that it is the next Participant of Participant A, and a 'NEXT_MEMBER_ACK' response message from Participant A. Receive. In addition, Participant C sends a 'PREV_MEMBER' message to Participant B, which is the original next participant of Participant A, indicating that it is a previous participant of Participant B, and receives a 'PREV_MEMBER_ACK' message. By the above process, the participation process of the participant C is terminated, and the participant C notifies the group manager by sending a 'UPDATE_RING' message that the update of the logical ring is completed. Meanwhile, the group manager receives the 'UPDATE_RING' message, updates the group information, and responds with a 'UPDATE_RING_ACK' message, thereby ending the group participation process. Eventually, a logical ring is formed in the order of the group manager-participant A-participant B.

그룹탈퇴부는 그룹의 한 참여자가 참여 그룹을 탈퇴하는데 필요한 작업을 처리한다. 도 9는 논리링이 구성된 그룹(그룹관리자→참여자A→참여자C→참여자B→그룹관리자)에서 참여자C가 그룹을 탈퇴하는 과정에 대한 메시지흐름도를 나타내는 도면이다.The leaving group handles the work required for one participant to leave the group. FIG. 9 is a diagram illustrating a message flow diagram for a process in which participant C leaves a group in a group configured with logical rings (group manager-participant A-participant C-participant B-group manager).

도면에 도시된 바와 같이, 참여자C가 그룹관리자에게 자신이 그룹을 탈퇴하겠다는 'EXIT'메시지를 보내면 그룹관리자는 참여자C를 그룹에서 탈퇴시키는 작업을 처리한 후, 참여자C에게 'EXIT_ACK' 메시지를 보내어 그룹탈퇴작업이 정상적으로 종료되었음을 알린다.As shown in the figure, when Participant C sends an 'EXIT' message to the Group Manager that he or she wants to leave the Group, the Group Manager processes the task of leaving Participant C from the group, and then sends a 'EXIT_ACK' message to the Participant C. Signals that the group leave operation has ended normally.

그룹관리자가 참여자C를 그룹에서 탈퇴시키기 위해, 먼저 참여자B에게 참여자C의 정보를 'EXITED_MEMBER' 메시지에 실어 송신하여 참여자C가 그룹을 탈퇴할 것을 알린다. 참여자B는 참여자C를 자신의 참여자 정보자료구조에서 삭제한 후 그룹관리자에게 'EXITED_MEMBER_ACK' 메시지로 응답한다. 그룹관리자는 참여자A에게도 상기와 같은 과정을 수행하여 참여자A에게 참여자C가 그룹을 탈퇴할 것을 알린다. 즉, 참여자C를 제외한 그룹의 나머지 참여자들(참여자A 및 참여자B)에게 참여자C의 정보를 'EXITED_MEMBER' 메시지에 실어 전송하여 참여자C가 그룹을 탈퇴할 것 임을 알린다.In order to withdraw Participant C from the group, the Group Manager first sends Participant C the information of Participant C in the message 'EXITED_MEMBER' to inform Participant C to leave the group. Participant B deletes Participant C from his / her participant information data structure and responds to the Group Manager with an 'EXITED_MEMBER_ACK' message. The group manager performs the same process to Participant A to inform Participant A that Participant C will leave the group. That is, the other participants (participant A and Participant B) of the group except Participant C are sent with the information of Participant C in the message 'EXITED_MEMBER' to inform Participant C that they will leave the group.

이후, 그룹관리자는 참여자B(참여자C의 다음 참여자)에게 참여자A(참여자C의 이전 참여자)의 정보를 'PREV_MEMBER' 메시지에 실어 보낸다. 상기 'PREV-MEMBER' 메시지가 수신됨에 따라 참여자B는 자신의 이전 참여자를 참여자A로 수정하고, 그룹관리자에게 'PREV_MEMBER_ACK' 메시지로 응답한다. 그리고, 그룹관리자는 참여자A(참여자C의 이전 참여자)에게 참여자B(참여자 C의 다음 참여자)의 정보를 'NEXT_MEMBER' 메시지에 실어 보낸다. 상기 'NEXT_MEMBER' 메시지가 수신됨에 따라 참여자A는 자신의 다음 참여자를 참여자B로 수정하고, 그룹관리자에게 'NEXT_MEMBER_ACK' 메시지로 응답한다. 상기와 같은 과정에 의해 그룹관리자는 그룹관리자→참여자A→참여자B로 논리링을 구성하여 참여자C를 그룹에서 탈퇴키는 작업을 수행한다.Thereafter, the group manager sends the information of the participant A (the previous participant of the participant C) to the participant B (next participant of the participant C) in a message 'PREV_MEMBER'. As the 'PREV-MEMBER' message is received, Participant B modifies its previous Participant to Participant A and responds to the Group Manager with a 'PREV_MEMBER_ACK' message. In addition, the group manager sends the information of the participant B (the next participant of the participant C) to the participant A (the previous participant of the participant C) in a 'NEXT_MEMBER' message. As the 'NEXT_MEMBER' message is received, Participant A modifies its next Participant to Participant B, and responds to the Group Manager with a 'NEXT_MEMBER_ACK' message. By the above process, the group manager configures logical ringing as group manager-participant A-participant B to perform participant C withdrawal from the group.

그룹복구부는 그룹 내의 어느 한 참여자가 비정상적으로 종료되거나 네트워크의 이상 등으로 인해 정상적으로 동작하기 어려워 논리링구조가 회손된 경우 해당 참여자를 강제로 탈퇴시키고 논리링을 복구하는 기능을 수행한다. 도 10은 참여자C가 비정상으로 종료되어 논리링이 회손된 경우의 논리링 복구과정을 나타내는 도면이고 도 11은 논리링복구를 위한 메시지흐름도를 나타내는 도면이다.If any participant in the group is abnormally terminated or abnormally operated due to a network problem, and the logical ring structure is damaged, the group recovery unit forcibly removes the participant and restores the logical ring. FIG. 10 is a diagram illustrating a logic ring recovery process when a participant C is abnormally terminated and a logical ring is damaged. FIG. 11 is a diagram illustrating a message flow diagram for logical ring recovery.

도 10에서 도시된 바와 같이, 참여자C가 비정상 종료되는 경우, 참여자C의 다음 참여자인 참여자B에는 음성데이터가 전달되지 않는다. 이에 따라, 참여자B는 참여자C에게 'IS_ALIVE' 메시지를 전송하고, 일정시간 동안 이에 대한 응답이 없을 경우 참여자C가 비정상 종료되었음을 인식하여 상기 참여자C를 논리링에서 제거하기 위한 작업을 수행한다. 참여자B는 그룹관리자에게 'PREV_MEMBER_DOWN' 메시지에참여자C의 IP주소를 실어 전송하여 참여자C가 비정상 종료되었음을 알린다. 메시지를 받은 그룹관리자는 참여자C를 강제 탈퇴시키는 작업을 수행하는데, 우선 참여자C를 제외한 나머지 참여자들에게 참여자C의 정보를 'DOWNED_MEMBER' 메시지에 실어 보내어 참여자C가 비정상 종료되었음을 알린다.As shown in FIG. 10, when participant C is abnormally terminated, voice data is not delivered to participant B, the next participant of participant C. Accordingly, Participant B sends an 'IS_ALIVE' message to Participant C, and if there is no response for a certain time, Participant C recognizes that Participant C is abnormally terminated and performs the operation to remove Participant C from the logical ring. Participant B informs the group manager that Participant C is abnormally terminated by sending the Participant C's IP address to the 'PREV_MEMBER_DOWN' message. The group manager who receives the message performs the task of forcibly disengaging Participant C. First, the Participant C is informed that the Participant C is abnormally terminated by sending the Participant C information to the 'DOWNED_MEMBER' message.

이후, 그룹관리자는 자신의 그룹리스트를 참조해 참여자C의 이전 참여자와 다음 참여자의 정보를 얻은 다음 두 참여자(참여자C의 이전 참여자와 참여자C의 다음 참여자)에게 각각 'NEXT_MEMBER' 메시지와 'PREV_MEMBER' 메시지를 전송하여 논리링정보를 갱신하게 한다. 이어서, 그룹리스트에서 참여자C를 제거함으로써 링 복구 작업을 종료한다.Subsequently, the group manager obtains the information of the previous and next participants of participant C by referring to his group list, and then sends the following messages to the two participants (the previous participant of participant C and the next participant of participant C) and the message 'PREX_MEMBER' respectively. Send a message to update the logical ring information. The ring recovery operation is then terminated by removing participant C from the group list.

본 발명에서는 논리링을 형성한 후 자신의 음성을 녹음하여 전달하는 논리링의 첫번째 회전시 논리링의 마지막 참여자가 자신의 음성을 녹음함과 동시에 전달되는 다른 참여자들의 음성을 재생한다. 따라서, 자신의 음성을 제외한 나머지 참여자의 음성을 재생하는 두번째 회전에서는 전체 참여자까지 회전할 필요없이 N-1번째 참여자(참여자가 N명인 경우)까지만 회전하면 된다. 또한, 본 발명에서는 네트워크의 이상이나 참여자의 비정상적인 종료에 의한 논리링의 회손시 해당 참여자를 강제 탈퇴시킴으로써 논리링을 원할하게 복귀시킬 수 있게 된다.In the present invention, after the logical ring is formed, the last participant of the logical ring records the voice of another participant at the same time as recording the voice of the other participant and plays the voice of other participants. Therefore, in the second rotation that reproduces the voices of the participants other than their own voices, only the N-1 th participants (when there are N participants) need not be rotated until the entire participants. In addition, in the present invention, when the logical ring is damaged due to abnormality of the network or abnormal termination of the participant, the logical ring can be smoothly returned by forcibly withdrawing the participant.

상술한 바와 같이, 본 발명에서는 인터넷에서 다자간 음성통신시 음성품질이 향상될 뿐만 아니라 네트워크 트래픽과 각 참여자의 음성처리시간을 최소화하고 최단거리의 논리링을 구성하여 패킷지연을 최소화할 수 있게 된다.As described above, the present invention not only improves voice quality during multi-party voice communication on the Internet, but also minimizes network traffic and voice processing time of each participant and configures the shortest distance logical ring to minimize packet delay.

Claims (9)

그룹관리자를 포함하는 복수의 음성통신 참여자로 이루어진 논리링방식에 의한 인터넷에서의 다자간 음성통신방법에 있어서,In the multi-way voice communication method on the Internet by a logical ring method consisting of a plurality of voice communication participants including a group manager, 상기 그룹관리자가 자신의 음성을 녹음한 음성프레임을 논리링을 다음의 음성통신 참여자에게 전달하는 단계;Transmitting, by the group manager, a voice frame in which his voice is recorded to a next voice communication participant; 각 음성통신 참여자가 이전의 음성통신 참여자로부터 전달되어 오는 음성프레임에 자신의 음성을 믹싱하여 다음 음성통신 참여자에게 전달하는 단계;Mixing each voice participant with a voice frame transmitted from the previous voice communication participant and delivering the same to the next voice communication participant; 논리링의 마지막 노드에 위치한 음성통신 참여자가 이전 음성통신 참여자로부터 전달되어 오는 음성프레임에 자신의 음성을 믹싱하여 그룹관리자에게 전달함과 동시에 전달되어 오는 음성프레임을 재생하는 단계;A voice communication participant located at the last node of the logical ring, mixing his voice with the voice frame received from the previous voice communication participant, and transmitting the voice to the group manager to play the voice frame simultaneously; 그룹관리자를 포함하는 음성통신 참여자들이 이전 음성통신 참여자로부터 전달되는 음성프레임 중에서 자신의 음성을 제외한 음성프레임을 재생하는 단계; 및Playing voice frames excluding their own voice among voice frames delivered from previous voice communication participants by a voice communication participant including a group manager; And 상기 논리링의 마지막 노드 이전에 위치한 음성통신 참여자가 전달되어 오는 음성프레임에서 자신을 음성을 제외한 음성프레임을 재생하는 단계로 구성된 음성통신방법.And reproducing a voice frame excluding itself in a voice frame from which a voice communication participant located before the last node of the logical ring is delivered. 제1항에 있어서, 상기 믹싱된 음성데이터는 각 음성통신 참여자의 데이터가 합으로 처리되어 하나의 음성데이터와 동일한 크기로 전달되는 것을 특징으로 하는 방법.The method of claim 1, wherein the mixed voice data is processed by adding the data of each voice communication participant to be delivered in the same size as one voice data. 제1항에 있어서, 상기 그룹관리자는 논리링을 생성하며 음성통신 참여자들의 정보나 그룹 전체에 대한 관리를 실행하는 것을 특징으로 하는 방법.The method of claim 1, wherein the group manager generates a logical ring and performs management of information or a group of voice communication participants. 제3항에 있어서, 상기 음성통신 참여자의 정보는 참여자의 이름, 참여자의 IP주소, 참여자의 다음 참여자 IP주소, 참여자의 이전 참여자 IP주소, 음성 송수신용 소켓 및 제어메시지 송수신용 소켓으로 이루어지며, 상기 음성통신 참여자정보는 링킹된 리스트 형태로 관리되는 것을 특징으로 하는 방법.The voice communication participant information includes a participant's name, a participant's IP address, a participant's next participant's IP address, a participant's previous participant's IP address, a voice transmission and reception socket, and a control message transmission and reception socket. The voice communication participant information is managed in the form of a linked list. 제1항에 있어서,The method of claim 1, 그룹관리자가 음성통신 그룹 참여대상자로부터 그룹참여를 허락하는 단계;Allowing a group manager to join a group from a voice communication group participant; 참여대상자가 각 그룹참여자에게 'PING'메시지를 전송하여 RTT(Round Trip Time)를 측정해서 가장 가까운 거리의 음성통신 참여자를 검출하는 단계; 및A participant sending a 'PING' message to each group participant to measure a round trip time (RTT) to detect a voice communication participant at the closest distance; And 상기 검출된 가장 가까운 거리의 음성통신 참여자와 그 다음 거리의 음성통신 참여자 사이에 참여대상자를 삽입시켜 상기 참여대상자를 새로운 음성통신 참여자로서 가입시키는 단계를 추가로 포함하는 것을 특징으로 하는 방법.And inserting the participant between the detected closest distance voice communication participant and the next distance voice communication participant to join the participant as a new voice communication participant. 제1항에 있어서,The method of claim 1, 이전 음성통신 참여자로부터 음성프레임이 전달되지 않는 경우 상기 이전 음성통신 참여자에게 신호를 전송하는 단계;Transmitting a signal to the previous voice communication participant when a voice frame is not transmitted from the previous voice communication participant; 상기 이전 음성통신 참여자로부터 일정 시간 동안 응답이 없는 경우 그룹관리자에게 상기 이전 음성통신 참여자가 비정상적으로 종료되었음을 알리는 메시지를 전송하는 단계; 및Transmitting a message indicating that the previous voice communication participant was abnormally terminated to a group manager when there is no response from the previous voice communication participant for a predetermined time; And 그룹관리자가 상기 비정상적 종료를 알리는 메시지를 수신하는 경우 해당 음성통신 참여자를 논리링에게 강제 탈퇴시켜 논리링을 복구하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.And if the group manager receives the message indicating the abnormal termination, forcibly withdrawing the corresponding voice communication participant from the logical ring to restore the logical ring. 그룹관리자를 포함하는 복수의 음성통신 참여자로 이루어진 논리링방식에 의한 인터넷에서의 다자간 음성통신방법에 있어서,In the multi-way voice communication method on the Internet by a logical ring method consisting of a plurality of voice communication participants including a group manager, 상기 논리링을 따라 1회전하며 각 음성통신 참여자의 음성을 믹싱한 후 상기 믹싱된 음성프레임를 전달하는 제1단계; 및A first step of mixing the voices of the participants in the voice communication by one rotation along the logic ring and delivering the mixed voice frames; And 상기 논리링을 따라 다시 1회전하며 각 음성통신 참여자가 상기 믹싱된 음성프레임 중 자신의 음성을 제외한 음성을 재생하는 제2단계로 구성된 음성통신방법.And a second step in which each voice communication participant reproduces a voice other than its own voice among the mixed voice frames by rotating once again along the logic ring. 제7항에 있어서, 상기 제1단계는 논리링의 마지막 노드에 위치한 음성통신 참여자가 수신되는 음성프레임에 자신의 음성을 녹음하여 그룹관리자에게 전달함과 동시에 상기 수신되는 음성프레임을 재생하는 단계를 포함하는 것을 특징으로 하는 방법.8. The method of claim 7, wherein the first step comprises the step of recording the voice of the voice communication participant located at the last node of the logical ring to the group manager and playing the received voice frame at the same time. Method comprising a. 제7항에 있어서, 상기 제2단계의 음성프레임의 재생은 논리링의 마지막 노드의 이전에 위치한 음성통신 참여자에서 종료되는 것을 특징으로 하는 방법.8. The method according to claim 7, wherein the reproduction of the voice frame in the second step is terminated at the voice communication participant located before the last node of the logical ring.
KR1020010025453A 2001-05-10 2001-05-10 Voice multicasting method using logical ring KR20020085931A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010025453A KR20020085931A (en) 2001-05-10 2001-05-10 Voice multicasting method using logical ring

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010025453A KR20020085931A (en) 2001-05-10 2001-05-10 Voice multicasting method using logical ring

Publications (1)

Publication Number Publication Date
KR20020085931A true KR20020085931A (en) 2002-11-18

Family

ID=27704381

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010025453A KR20020085931A (en) 2001-05-10 2001-05-10 Voice multicasting method using logical ring

Country Status (1)

Country Link
KR (1) KR20020085931A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130108723A (en) * 2012-03-26 2013-10-07 한국전자통신연구원 Method and apparatus for providing sharing service based on position

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130108723A (en) * 2012-03-26 2013-10-07 한국전자통신연구원 Method and apparatus for providing sharing service based on position

Similar Documents

Publication Publication Date Title
CN1328683C (en) Video conference talk conversion from unicast to multicast
US7577110B2 (en) Audio chat system based on peer-to-peer architecture
US6288739B1 (en) Distributed video communications system
US8737397B2 (en) Method for converting between unicast sessions and multicast session
KR101486607B1 (en) Active speaker identification
EP0902569B1 (en) Method and system for a unicast endpoint client to access a multicast internet protocol (ip) session
KR100964983B1 (en) A method and system for automatically initiating a videoconference session across a network, a method for joining a videoconference session across a network, and a method for joining a multicast session across a network
JP5185631B2 (en) Multimedia conferencing method and signal
US20070041366A1 (en) Distributed conference bridge
CN101179694B (en) Issuing system and method of picturephone meeting
US20010054070A1 (en) Facilitating real-time, multi-point communications over the internet
KR20040104526A (en) Videoconference system architecture
JP4738058B2 (en) Efficient routing of real-time multimedia information
JP2003223407A (en) Contents sharing support system, user terminal, contents sharing support server, method and program for sharing contents among users, and recording medium for the program
KR20020050903A (en) Education, Broad Casting, Multi-User Image Conference and Chatting Service Provision Method Using Internet
KR20020085931A (en) Voice multicasting method using logical ring
JP3762709B2 (en) Voice IP transmission system
JP2010171663A (en) Communication method, communication system, communication device, and computer program
Dutta et al. A group synchronization algorithm for VoIP conferencing
KR101000590B1 (en) Device for performing conference function using Xcast in keyphone system and method thereof
JP2006157541A (en) Multipoint videophone system and multiparty connection control method thereof
Bochmann et al. MBONE REPORT
Schuett Active services for archive applications
JP2005094569A (en) IP call center system, apparatus and program thereof
Katrinis et al. Dynamic adaptation of source specific distribution trees for multiparty teleconferencing

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20010510

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20030429

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20030714

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20030429

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I