KR20220060795A - Method and apparatus for sening forward error correction packet - Google Patents

Method and apparatus for sening forward error correction packet Download PDF

Info

Publication number
KR20220060795A
KR20220060795A KR1020200146789A KR20200146789A KR20220060795A KR 20220060795 A KR20220060795 A KR 20220060795A KR 1020200146789 A KR1020200146789 A KR 1020200146789A KR 20200146789 A KR20200146789 A KR 20200146789A KR 20220060795 A KR20220060795 A KR 20220060795A
Authority
KR
South Korea
Prior art keywords
fec
data
bandwidth
packet
communication device
Prior art date
Application number
KR1020200146789A
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 KR1020200146789A priority Critical patent/KR20220060795A/en
Publication of KR20220060795A publication Critical patent/KR20220060795A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0002Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/22Traffic shaping

Abstract

An FEC packet transmission method and a device therefor for reducing network resource waste by transmitting FEC packets only when necessary are provided. The FFC packet transmission method according to an embodiment of the present invention comprises: a step of checking a required bandwidth requested by a communication device; a step of determining whether FEC packet transmission for measuring an available bandwidth is required if the required bandwidth exceeds the available bandwidth of the communication device; a step of transmitting a packet not including FEC data to the communication device when it is determined that forward error correction (FEC) packet transmission is not necessary as the result of the determination; and a step of transmitting an FEC packet including FEC data to the communication device when the FEC packet needs to be transmitted as the result of the determination. Accordingly, audio data, video data, control data, and files can be efficiently transmitted using one channel.

Description

FEC 패킷 전송 방법 및 그 장치{METHOD AND APPARATUS FOR SENING FORWARD ERROR CORRECTION PACKET}FEC packet transmission method and apparatus {METHOD AND APPARATUS FOR SENING FORWARD ERROR CORRECTION PACKET}

본 발명은 FEC 패킷 전송 방법 및 그 장치에 관한 것이다. 보다 자세하게는 항상 FEC 패킷을 전송하지 않고 필요한 경우에만 FEC 패킷을 전송하여 네트워크의 자원 낭비를 줄이는 FEC 패킷 전송 방법 및 그 장치에 관한 것이다.The present invention relates to an FEC packet transmission method and an apparatus therefor. In more detail, it relates to an FEC packet transmission method and apparatus for reducing network resource waste by transmitting FEC packets only when necessary without always transmitting FEC packets.

화상회의 서비스는 복수의 참석자들이 네트워크를 통하여 영상과 음성을 공유함으로써, 온라인 기반의 회의 가능하도록 하는 서비스이다. 이러한 화상회의 서비스는 서버를 통하거나 P2P(Peer to Peer) 기반으로 통신 단말들이 서로 연결되어 통신 단말 간에 패킷을 송수신하는 형태로 진행된다.The video conferencing service is a service that enables an online-based conference by allowing a plurality of participants to share video and audio through a network. The video conferencing service is performed in a form in which communication terminals are connected to each other through a server or based on a peer-to-peer (P2P) basis to transmit and receive packets between communication terminals.

그런데 화상회의에 참여한 통신 단말들은 필요한 대역폭을 확보하기 위하여, 네트워크의 상태에 실시간으로 측정하여 가용 대역폭을 확인한다. 통신 단말에서 대역폭 측정을 용이하게 하고 더불어 가용 대역폭을 확보하기 위하여, 서버는 대역폭에서 일정한 비율을 차지하는 FEC 데이터를 생성하고, 상기 FEC 데이터를 포함하는 FEC 패킷을 통신 단말로 고정적으로 전송한다. 예컨대, 영상 채널에 5Mbps의 대역폭이 할당된 상태에서 영상 데이터가 실질적으로 3Mbps의 대역폭을 차지하더라도, 서버는 2Mbps에 해당하는 FEC 데이터(즉, 40%에 해당하는 FEC 데이터)를 생성하여, 3Mbps에 해당하는 영상 데이터와 2Mbps에 해당하는 FEC 데이터를 포함하는 패킷을 통신 단말로 전송할 수 있다. 이렇게 FEC 데이터가 패킷에 일정 비율을 차지하여 계속적으로 포함되는 경우, 네트워크의 트래픽이 낭비될 수 있다. However, communication terminals participating in the video conference check the available bandwidth by measuring the network status in real time in order to secure the necessary bandwidth. In order to facilitate bandwidth measurement in the communication terminal and secure available bandwidth, the server generates FEC data occupying a certain ratio in the bandwidth, and fixedly transmits the FEC packet including the FEC data to the communication terminal. For example, even if video data actually occupies a bandwidth of 3Mbps in a state in which a bandwidth of 5Mbps is allocated to a video channel, the server generates FEC data corresponding to 2Mbps (ie, FEC data corresponding to 40%) and A packet including the corresponding image data and the FEC data corresponding to 2Mbps may be transmitted to the communication terminal. In this way, when the FEC data is continuously included in a packet occupying a certain percentage, network traffic may be wasted.

또한, 화상회의 서비스에 있어서, 오디오 데이터를 포함하는 패킷, 영상 데이터를 포함하는 패킷은 각기 다른 채널(즉, 세션)을 필요로 한다. 또한, 파일이 송신되는 경우, 상기 파일의 송수신을 위한 또 다른 채널이 화상회의 서비스에서 형성되어야 한다. 즉, 통신 단말들 간에 정상적인 화상회의를 진행하려면, 복수의 채널이 필요하다. 그런데 이러한 복수의 채널이 형성되어 화상회의 서비스가 진행되는 경우, 채널 간에 네트워크 자원을 점유하기 위하여 경합이 발생하여 네트워크의 부하가 더욱 가중될 수 있고, 각각의 채널에 FEC 패킷이 전송해야 되어서 복잡한 FEC 제어 알고리즘이 필요할 수 있다.Also, in the video conferencing service, packets including audio data and packets including video data require different channels (ie, sessions). In addition, when a file is transmitted, another channel for transmitting and receiving the file must be formed in the video conferencing service. That is, in order to conduct a normal video conference between communication terminals, a plurality of channels are required. However, when a videoconferencing service is performed by forming such a plurality of channels, contention occurs between channels to occupy network resources, which may further increase the load on the network, and complex FEC packets must be transmitted to each channel. A control algorithm may be required.

공개특허 제10-2015-0005998호 (2015.01.15 공개)Publication No. 10-2015-0005998 (published on January 15, 2015)

본 발명이 해결하고자 하는 기술적 과제는, 필요한 경우에만 FEC 패킷을 선택적으로 전송하여 네트워크 트래픽을 최소화하는 FEC 패킷 전송 방법 및 그 장치에 관한 것이다. The technical problem to be solved by the present invention relates to an FEC packet transmission method and apparatus for minimizing network traffic by selectively transmitting FEC packets only when necessary.

본 발명이 해결하고자 하는 다른 기술적 과제는, 하나의 채널을 이용하여 오디오 데이터, 영상 데이터, 제어 데이터 및 파일을 효율적으로 전송할 수 있는 FEC 패킷 전송 방법 및 그 장치에 관한 것이다.Another technical problem to be solved by the present invention relates to an FEC packet transmission method capable of efficiently transmitting audio data, image data, control data, and a file using one channel, and an apparatus therefor.

본 발명이 해결하고자 하는 다른 기술적 과제는, 복잡한 알고리즘을 사용하지 않고도 FEC 패킷 전송을 용이하게 할 수 있는 FEC 패킷 전송 방법 및 그 장치에 관한 것이다.Another technical problem to be solved by the present invention relates to an FEC packet transmission method and apparatus for facilitating FEC packet transmission without using a complex algorithm.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명의 기술분야에서의 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

상기 기술적 과제를 해결하기 위한, 본 발명의 일 실시예에 따른 FEC 패킷 전송 방법은 통신 장치가 요구하는 필요 대역폭을 확인하는 단계; 상기 필요 대역폭이 상기 통신 장치의 가용 대역폭을 초과하면, 가용 대역폭 측정을 위한 FEC 패킷 전송이 필요한지를 판별하는 단계; 상기 판별 결과 FEC(Forward Error Correction) 패킷 전송이 필요하지 않은 것으로 판별되면 FEC 데이터를 포함하지 않은 패킷을 상기 통신 장치로 전송하는 단계; 및 상기 판별 결과 FEC 패킷이 전송이 필요하면 상기 통신 장치로 FEC 데이터를 포함하는 FEC 패킷을 전송하는 단계를 포함한다.In order to solve the above technical problem, the FEC packet transmission method according to an embodiment of the present invention includes: checking a required bandwidth required by a communication device; determining whether FEC packet transmission for measuring the available bandwidth is required when the required bandwidth exceeds the available bandwidth of the communication device; transmitting a packet not including FEC data to the communication device when it is determined that forward error correction (FEC) packet transmission is not required as a result of the determination; and transmitting an FEC packet including FEC data to the communication device when the FEC packet needs to be transmitted as a result of the determination.

다른 실시예로서, 상기 판별하는 단계는 상기 필요 대역폭이 직전의 측정된 필요 대역폭을 초과하는지 여부를 판별하여 초과하는 경우 상기 FEC 패킷 전송이 필요한 것으로 판별하는 단계를 포함할 수 있다.As another embodiment, the determining may include determining whether the required bandwidth exceeds the immediately measured required bandwidth, and determining that the FEC packet transmission is necessary when it exceeds.

또 다른 실시예로서, 상기 판별하는 단계는 상기 통신 장치에서 패킷 손실 또는 패킷 지연이 발생하는지 여부를 확인하여, 상기 패킷 손실 또는 패킷 지연이 발생하지 않은 경우에 상기 FEC 패킷 전송이 필요한 것으로 판별하는 단계를 포함할 수 있다.In another embodiment, the determining includes determining whether packet loss or packet delay occurs in the communication device, and determining that the FEC packet transmission is necessary when the packet loss or packet delay does not occur may include

또 다른 실시예로서, 상기 판별하는 단계는 파일 전송을 위한 대역폭이 요청되지 않은 경우에, 상기 FEC 패킷 전송이 필요한 것으로 판별하는 단계를 포함할 수 있다.As another embodiment, the determining may include determining that the FEC packet transmission is necessary when a bandwidth for file transmission is not requested.

상기 FEC 패킷을 전송하는 단계는 상기 필요 대역폭과 상기 가용 대역폭의 차이를 기초로, 상기 FEC 데이터의 비트레이트를 설정하는 단계; 및 상기 설정한 비트레이트를 기초로 상기 FEC 데이터를 생성하는 단계를 포함할 수 있다.The transmitting of the FEC packet may include: setting a bit rate of the FEC data based on a difference between the required bandwidth and the available bandwidth; and generating the FEC data based on the set bit rate.

상기 생성하는 단계는, 오디오 데이터 또는 비디오 데이터의 에러를 정정하기 위한 상기 FEC 데이터를 생성하는 단계를 포함할 수 있다.The generating may include generating the FEC data for correcting an error in audio data or video data.

상기 FEC 패킷 전송 방법은, 상기 통신 장치와 단일 채널을 형성하는 단계; 및 상기 단일 채널을 이용하여 영상 데이터, 오디오 데이터, 제어 데이터, 파일 데이터 중에서 적어도 하나 이상을 수신하거나 송신하는 단계를 더 포함할 수 있다. The FEC packet transmission method includes: forming a single channel with the communication device; and receiving or transmitting at least one of image data, audio data, control data, and file data using the single channel.

상기 기술적 과제를 해결하기 위한, 본 발명의 다른 실시예에 따른 컴퓨팅 장치는 하나 이상의 프로세서; 상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및 상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하고, 상기 컴퓨터 프로그램은 통신 장치가 요구하는 필요 대역폭을 확인하는 동작, 상기 필요 대역폭이 상기 통신 장치의 가용 대역폭을 초과하면, 가용 대역폭 측정을 위한 FEC (Forward Error Correction) 패킷 전송이 필요한지를 판별하는 동작, 상기 판별 결과 FEC 패킷 전송이 필요하지 않은 것으로 판별되면 FEC 데이터를 포함하지 않은 패킷을 상기 통신 장치로 전송하는 동작 및 상기 판별 결과 FEC 패킷이 전송이 필요하면 상기 통신 장치로 FEC 데이터를 포함하는 FEC 패킷을 전송하는 동작을 수행하기 위한 인스트럭션들을 포함할 수 있다.In order to solve the above technical problem, a computing device according to another embodiment of the present invention includes one or more processors; a memory for loading a computer program executed by the processor; and a storage for storing the computer program, wherein the computer program checks the required bandwidth required by the communication device. If the required bandwidth exceeds the available bandwidth of the communication device, the FEC (Forward) for measuring the available bandwidth Error Correction) Determining whether packet transmission is necessary, and if it is determined that FEC packet transmission is not necessary as a result of the determination, transmitting a packet that does not include FEC data to the communication device and FEC packet transmission is required as a result of the determination If it is, it may include instructions for performing an operation of transmitting an FEC packet including FEC data to the communication device.

도 1은 본 발명의 일 실시예에 따른, 화상 회의 시스템의 구성도이다.
도 2는 하나의 채널을 통해서 오디오 데이터, 비디오 데이터, 제어 데이터, 파일 및 FEC 데이터가 전송되는 것을 예시하는 도면이다.
도 3은 본 발명의 다른 실시예에 따른, 통신 장치의 구성도이다.
도 4는 본 발명의 또 다른 실시예에 따른, FEC 패킷 전송 방법에 대한 제1 순서도이다.
도 5는 본 발명의 또 다른 실시예에 따른, FEC 패킷 전송 방법에 대한 제2 순서도이다.
도 6은 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다.
1 is a block diagram of a video conferencing system according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating that audio data, video data, control data, file, and FEC data are transmitted through one channel.
3 is a block diagram of a communication device according to another embodiment of the present invention.
4 is a first flowchart of a FEC packet transmission method according to another embodiment of the present invention.
5 is a second flowchart of an FEC packet transmission method according to another embodiment of the present invention.
6 is an exemplary hardware configuration diagram that may implement a computing device in various embodiments.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 게시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 게시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments published below, but may be implemented in various different forms, and only these embodiments allow the publication of the present invention to be complete, and common knowledge in the technical field to which the present invention pertains It is provided to fully inform the possessor of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다. 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다.Unless otherwise defined, all terms (including technical and scientific terms) used herein may be used with the meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in a commonly used dictionary are not to be interpreted ideally or excessively unless clearly defined in particular. The terminology used herein is for the purpose of describing the embodiments and is not intended to limit the present invention. In this specification, the singular also includes the plural unless specifically stated otherwise in the phrase.

이하, 도면들을 참조하여 본 발명의 몇몇 실시예들을 설명한다.Hereinafter, some embodiments of the present invention will be described with reference to the drawings.

도 1은 본 발명의 일 실시예에 따른, 화상 회의 시스템의 구성도이다.1 is a block diagram of a video conferencing system according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 화상 회의 시스템은 복수의 통신 장치(100-1, 100-2) 및 화상회의 서버(200)를 포함할 수 있다.1 , a video conference system according to an embodiment of the present invention may include a plurality of communication devices 100 - 1 and 100 - 2 and a video conference server 200 .

상기 화상회의 서버(200)는 통신 장치(100-1, 100-2) 간의 데이터를 중계할 수 있다. 상기 화상회의 서버(200)는 화상회의에 참여하는 통신 장치(100-1, 100-2)를 제어할 수 있다. 또한, 화상회의 서버(200)는 화상회의의 참석자로 참여할 수도 있다. 상기 화상회의 서버(200)는 FEC(Forward Error Correction) 데이터를 생성하고, FEC 데이터와 오디오 데이터(또는 영상 데이터)가 포함된 패킷을 통신 장치(100-1, 100-2)로 전송할 수도 있다. 상기 FEC 데이터는 오디오 데이터 또는 비디오 데이터의 오류를 정정하기 위한 코드들 또는 비트열일 수 있다. FEC 데이터를 포함하는 패킷을 FEC 패킷으로 지칭하기로 한다.The video conference server 200 may relay data between the communication devices 100 - 1 and 100 - 2 . The video conference server 200 may control the communication devices 100 - 1 and 100 - 2 participating in the video conference. Also, the video conference server 200 may participate as a participant in the video conference. The video conference server 200 may generate forward error correction (FEC) data and transmit a packet including the FEC data and audio data (or image data) to the communication devices 100-1 and 100-2. The FEC data may be codes or bit strings for correcting errors in audio data or video data. A packet including FEC data will be referred to as an FEC packet.

통신 장치(100-1, 100-2)는 화상회의에 참여하는 사용자가 소지한 통신 장치로서, 화상회의 서버(200)를 경유하여 타 통신 장치(100-1, 100-2)와 화상회의 관련 패킷을 송수신할 수 있다. 또한, 통신 장치(100-1, 100-2)는 화상회의 서버(200)를 이용하지 않고, P2P 기반으로 타 통신 장치(100-1, 100-2)와 화상회의 관련 패킷을 송수신할 수 있다.The communication devices 100-1 and 100-2 are communication devices possessed by a user participating in a video conference, and are related to video conferences with other communication devices 100-1 and 100-2 via the video conference server 200. Packets can be sent and received. In addition, the communication devices 100-1 and 100-2 may transmit/receive packets related to the video conference with the other communication devices 100-1 and 100-2 based on P2P without using the video conference server 200. .

상기 통신 장치(100-1, 100-2)는 수신되는 패킷을 분석하여 패킷 지연시간과 패킷 손실률을 측정하고, 상기 패킷 지연시간과 패킷 손실률이 포함된 네트워크 상태 정보를 화상회의 서버(200) 또는 상대방 통신 장치(100-1, 100-2)로 전송할 수 있다. 또한, 통신 장치(100-1, 100-2)는 필요 대역폭, 영상 데이터의 대역폭, 오디오 데이터의 대역폭, 파일 데이터의 대역폭, 제어 데이터의 대역폭 중에서 하나 이상을 포함하는 대역폭 정보를 화상회의 서버(200) 또는 상대방 통신 장치(100-1, 100-2)로 전송할 수 있다. 상기 필요 대역폭은, 통신 장치(100-1, 100-2)가 화상회의 수행할 때에 요구하는 대역폭(즉, 화상회의 채널에 할당되어야 하는 대역폭)을 나타내는 것으로서, 영상 데이터의 대역폭, 오디오 데이터의 대역폭, 파일 데이터의 대역폭 및 제어 데이터의 대역폭을 총합일 수 있다. 또한, 영상 데이터의 대역폭을 영상 데이터 송수신을 위해 필요한 대역폭이고, 오디오 데이터의 대역폭은 오디오 데이터를 송수신을 위해 필요한 대역폭이며, 파일 데이터의 대역폭은 파일을 송수신을 위해 필요한 대역폭이고, 제어 데이터의 대역폭은 화상회의를 제어하기 위한 데이터에 필요한 대역폭이다. 상기 제어 데이터는 화상회의를 제어하기 위한 명령을 포함하는 것으로서, 예를 들어 특정 참석자 탈퇴 지시, 발언권 이관, 해상도 변경, 새로운 참석자 입장 허락 등과 같은 명령이 상기 제어 데이터에 포함될 수 있다.The communication devices 100-1 and 100-2 analyze a received packet to measure a packet delay time and a packet loss rate, and transmit network state information including the packet delay time and packet loss rate to the video conference server 200 or It can be transmitted to the counterpart communication devices 100-1 and 100-2. In addition, the communication devices 100-1 and 100-2 transmit bandwidth information including at least one of a required bandwidth, a bandwidth of image data, a bandwidth of audio data, a bandwidth of file data, and a bandwidth of control data to the video conference server 200 ) or to the counterpart communication devices 100-1 and 100-2. The required bandwidth indicates a bandwidth required when the communication devices 100-1 and 100-2 perform a video conference (that is, a bandwidth to be allocated to a video conference channel), and includes a bandwidth of video data and a bandwidth of audio data. , may be the sum of the bandwidth of the file data and the bandwidth of the control data. In addition, the bandwidth of image data is a bandwidth required for image data transmission and reception, the bandwidth of audio data is a bandwidth necessary for transmitting and receiving audio data, the bandwidth of file data is a bandwidth necessary for transmitting and receiving files, and the bandwidth of control data is Bandwidth required for data to control video conferencing. The control data includes commands for controlling the video conference, and for example, commands such as an instruction to leave a specific participant, transfer the floor, change resolution, and allow new participants to enter may be included in the control data.

통신 장치(100-1, 100-2)는 화상회의를 위한 채널의 가용 대역폭을 지속적으로 측정할 수 있다. 상기 가용 대역폭은 상기 채널에서 이용될 수 있는 최대한의 대역폭일 수 있다. 상기 통신 장치(100-1, 100-2)는 패킷 손실률 또는 패킷 지연시간이 사전에 설정된 값 미만으로 발생되는 대역폭들 중에서 최대 대역폭을 화상회의를 위한 채널의 가용 대역폭으로 설정할 수 있다. 상기 통신 장치(100-1, 100-2)는 상기 채널의 가용 대역폭을 수시로 측정할 수 있다.The communication devices 100 - 1 and 100 - 2 may continuously measure an available bandwidth of a channel for a video conference. The available bandwidth may be a maximum bandwidth that can be used in the channel. The communication apparatuses 100 - 1 and 100 - 2 may set a maximum bandwidth among bandwidths in which a packet loss rate or a packet delay time is less than a preset value as an available bandwidth of a channel for a video conference. The communication devices 100-1 and 100-2 may measure the available bandwidth of the channel from time to time.

상기 화상회의 서버(200)는 통신 장치(100-1, 100-2)로부터 수신한 네트워크 상태 정보와 대역폭 정보를 토대로, 통신 장치(100-1, 100-2)의 대역폭을 할당할 수 있다. 상기 화상회의 서버(200)는 통신 장치(100-1, 100-2)에서 가용 대역폭을 원활하게 측정할 수 있도록, FEC 패킷을 필요한 경우에만 상기 통신 장치(100-1, 100-2)로 전송할 수 있다. 이때, 화상회의 서버(200)는 통신 장치(100-1, 100-2)의 필요 대역폭이 가용 대역폭을 초과하는지 여부, 통신 장치(100-1, 100-2)의 필요 대역폭이 직전의 필요 대역폭을 초과하는지 여부, 패킷 손실 또는 패킷 지연이 발생하였는지 여부, 파일 대역폭이 요청되었는지 여부 등을 종합하여, 상기 FEC 패킷 전송이 필요한지 여부를 판단하여 FEC 패킷을 선택적으로 통신 장치(100-1, 100-2)로 전송할 수 있다.The video conference server 200 may allocate bandwidths of the communication devices 100-1 and 100-2 based on the network state information and bandwidth information received from the communication devices 100-1 and 100-2. The video conference server 200 transmits the FEC packet to the communication devices 100-1 and 100-2 only when necessary so as to smoothly measure the available bandwidth in the communication devices 100-1 and 100-2. can In this case, the video conference server 200 determines whether the required bandwidth of the communication devices 100-1 and 100-2 exceeds the available bandwidth, and the required bandwidth of the communication devices 100-1 and 100-2 is the immediately preceding required bandwidth. The FEC packet is selectively transmitted to the communication devices 100-1, 100 - 2) can be transmitted.

몇몇 실시예에서는, 제1 통신 장치(100-1)와 제2 통신 장치(100-2)가 P2P 기반으로 화상회의를 진행할 수 있다. 이 경우, 제1 통신 장치(100-1)는 제2 통신 장치(100-2)로부터 네트워크 상태 정보와 대역폭 정보를 수신할 수 있다. 또한, 제1 통신 장치(100-1)는 네트워크 상태 정보와 대역폭 정보를 토대로 제2 통신 장치(100-2)와의 채널에 대한 대역폭을 할당할 수 있다. 제1 통신 장치(100-1)는 제2 통신 장치(100-2)가 요구한 채널의 필요 대역폭이 상기 채널의 가용 대역폭을 초과하는지 여부, 상기 필요 대역폭이 직전의 측정된 필요 대역폭을 초과하는지 여부, 패킷 손실 또는 패킷 지연이 발생하였는지 여부, 파일 대역폭이 요청되었는지 여부 등을 종합하여, FEC 패킷 전송이 필요한지 여부를 판단하여 FEC 패킷을 선택적으로 제2 통신 장치(100-2)로 전송할 수 있다.In some embodiments, the first communication device 100 - 1 and the second communication device 100 - 2 may conduct a video conference based on P2P. In this case, the first communication device 100-1 may receive network state information and bandwidth information from the second communication device 100-2. Also, the first communication device 100 - 1 may allocate a bandwidth for a channel with the second communication device 100 - 2 based on the network state information and the bandwidth information. The first communication device 100-1 determines whether the required bandwidth of the channel requested by the second communication device 100-2 exceeds the available bandwidth of the channel, and whether the required bandwidth exceeds the previously measured required bandwidth. It is possible to selectively transmit the FEC packet to the second communication device 100-2 by determining whether FEC packet transmission is necessary by synthesizing whether or not there is a packet loss or packet delay, whether a file bandwidth is requested, etc. .

또한, 제1 통신 장치(100-1)와 제2 통신 장치(100-2)는 화상회의를 위한 하나의 채널을 형성하고 상기 형성된 채널을 통하여, 오디오 데이터, 비디오 데이터, 제어 데이터, 파일 및 FEC 데이터를 전송할 수 있다. In addition, the first communication device 100-1 and the second communication device 100-2 form one channel for a video conference, and through the formed channel, audio data, video data, control data, file and FEC data can be transmitted.

도 2는 하나의 채널을 통해서 오디오 데이터, 비디오 데이터, 제어 데이터, 파일 및 FEC 데이터가 전송되는 것을 예시하는 도면이다.2 is a diagram illustrating that audio data, video data, control data, file, and FEC data are transmitted through one channel.

도 2에 도시된 바와 같이, 제1 통신 장치(100-1)는 제1 채널(ch1)을 이용하여 오디오 데이터, 비디오 데이터, 파일 데이터, 제어 데이터 및 FEC 데이터가 제2 통신 장치(100-2)로 전송될 수 있다. 일 실시예에서는, FEC 데이터는 필요시마다 선택적으로 제2 통신 장치(100-2)로 전송될 수 있다. 몇몇 실시예에서는, 파일 데이터가 전송되는 경우에 FEC 데이터를 전송되지 않을 수 있다. 오디오 데이터, 비디오 데이터, 파일 데이터 및 제어 데이터 각각에는 우선순위에 따라 서로 상이한 대역폭이 설정될 수 있으며, 해당 대역폭에 근거하여 오디오 데이터, 비디오 데이터, 파일 데이터, 제어 데이터 각각의 비트레이트(bitrate)가 결정될 수 있다. As shown in FIG. 2 , the first communication device 100-1 transmits audio data, video data, file data, control data, and FEC data to the second communication device 100-2 using a first channel ch1. ) can be transmitted. In an embodiment, the FEC data may be selectively transmitted to the second communication device 100 - 2 whenever necessary. In some embodiments, FEC data may not be transmitted when file data is transmitted. Different bandwidths may be set for each of audio data, video data, file data, and control data according to priorities, and the bitrate of each of audio data, video data, file data, and control data is determined based on the bandwidth. can be decided.

본 실시예에 따르면, 하나의 채널을 이용하여 오디오 데이터, 비디오 데이터, 파일, 제어 데이터, FEC 데이터 중 하나 이상이 송수신되게 함으로써, 각 채널마다 FEC 패킷이 전송되는 기존의 방식과 비교하여 채널 개수를 줄일 수 있고 더불어 FEC 패킷 전송도 용이하게 전송하는 효과를 발휘할 수 있다. 또한, 본 실시예에 따르면, FEC 패킷이 고정적으로 전송되지 않고, 필요시에만 FEC 패킷이 전송됨으로써, FEC 데이터를 생성할 때에 발생하는 화상회의 서버(200) 또는 통신 장치(100-1, 100-2)의 부하를 경감할 수 있을 뿐 아니라 네트워크(300)의 트래픽도 경감시키는 효과를 발휘할 수 있다. According to the present embodiment, one or more of audio data, video data, file, control data, and FEC data is transmitted and received using one channel, thereby reducing the number of channels compared to the conventional method in which FEC packets are transmitted for each channel. can be reduced, and the effect of easily transmitting FEC packet transmission can also be exhibited. In addition, according to the present embodiment, the FEC packet is not fixedly transmitted, but the FEC packet is transmitted only when necessary, so that the video conference server 200 or communication devices 100-1 and 100- generated when FEC data is generated. 2) as well as reducing the load of the network 300 can exhibit the effect of reducing the traffic.

도 3은 본 발명의 다른 실시예에 따른, 통신 장치의 구성도이다.3 is a block diagram of a communication device according to another embodiment of the present invention.

도 3에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 통신 장치(100)는 접속 모듈(110), 전송 모듈(120), 대역폭 할당 모듈(130), 네트워크 측정 모듈(140), FEC 데이터 생성 모듈(150), 데이터 처리 모듈(160) 및 대역폭 모니터링 모듈(170)을 포함하고, 이러한 구성요소들은 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합을 통해서 구현될 수 있다. 몇몇 실시예에서, 접속 모듈(110), 전송 모듈(120), 대역폭 할당 모듈(130), 네트워크 측정 모듈(140), FEC 데이터 생성 모듈(150), 데이터 처리 모듈(160) 및 대역폭 모니터링 모듈(170)은 후술하는 컴퓨팅 장치의 프로세서가 실행할 수 있는 프로그램 형태로 구현될 수 있다. As shown in FIG. 3 , the communication device 100 according to another embodiment of the present invention includes an access module 110 , a transmission module 120 , a bandwidth allocation module 130 , a network measurement module 140 , and FEC data. It includes a generation module 150 , a data processing module 160 , and a bandwidth monitoring module 170 , and these components may be implemented as hardware or software, or may be implemented through a combination of hardware and software. In some embodiments, the connection module 110 , the transmission module 120 , the bandwidth allocation module 130 , the network measurement module 140 , the FEC data generation module 150 , the data processing module 160 , and the bandwidth monitoring module ( 170) may be implemented in the form of a program executable by a processor of a computing device to be described later.

본 실시예에 따른 통신 장치(100)는 P2P 진행되는 화상회의를 주관할 수 있으며, 또는 화상회의 서버(200) 또는 타 통신 장치가 주관하는 화상회의에 참여할 수도 있다. 통신 장치(100)가 화상회의를 주관하는 경우, 통신 장치(100)는 참여중인 타 통신 장치의 화상회의 채널의 대역폭을 할당할 수 있으며, 또한 FEC 패킷을 선택적으로 타 통신 장치로 전송할 수 있다. 또한, 통신 장치(100)가 타 통신 장치 또는 화상회의 서버(200)가 주관하는 화상회의에 참여하는 경우, 네트워크 상태 정보와 대역폭 정보를 주기적으로 수집하여 상기 타 통신 장치 또는 화상회의 서버(200)로 전송할 수 있으며 또한 타 통신 장치 또는 화상회의 서버(200)에 의해 화상회의 채널의 대역폭을 할당받을 수 있다. 통신 장치(100)가 화상회의를 주관하는 장치인 경우, 접속 모듈(110), 전송 모듈(120), 대역폭 할당 모듈(130), FEC 데이터 생성 모듈(150) 및 데이터 처리 모듈(160)이 통신 장치(100)에 포함될 수 있다. 몇몇 실시예에서, 통신 장치(100)가 타 통신 장치에서 주관하는 화상회의에 참여하는 장치인 경우, 접속 모듈(110), 전송 모듈(120), 대역폭 할당 모듈(130), 네트워크 측정 모듈(140), 데이터 처리 모듈(160) 및 대역폭 모니터링 모듈(170)이 상기 통신 장치(100)에 포함될 수 있다.The communication device 100 according to the present embodiment may host a P2P video conference, or participate in a video conference hosted by the video conference server 200 or another communication device. When the communication device 100 hosts a video conference, the communication device 100 may allocate a bandwidth of a video conference channel of another participating communication device, and may selectively transmit an FEC packet to another communication device. In addition, when the communication device 100 participates in a video conference hosted by another communication device or the video conference server 200, the network status information and bandwidth information are periodically collected to the other communication device or the video conference server 200. can be transmitted, and the bandwidth of the video conferencing channel may be allocated by another communication device or the video conferencing server 200 . When the communication device 100 is a device that hosts a video conference, the connection module 110 , the transmission module 120 , the bandwidth allocation module 130 , the FEC data generation module 150 , and the data processing module 160 communicate may be included in the device 100 . In some embodiments, when the communication device 100 is a device participating in a video conference hosted by another communication device, the access module 110 , the transmission module 120 , the bandwidth allocation module 130 , and the network measurement module 140 . ), a data processing module 160 and a bandwidth monitoring module 170 may be included in the communication device 100 .

접속 모듈(110)은 화상회의 서버(200) 또는 타 통신 장치와 접속하여 화상회의를 위한 채널을 형성할 수 있다. 상기 접속 모듈(110)은 하나의 포트를 이용하여 화상회의를 위한 단일의 채널을 형성할 수 있다. 상기 접속 모듈(110)은 사용자가 입력한 화상회의 방의 식별정보 또는 상대방 통신 장치의 식별정보를 이용하여, 상기 화상회의를 위한 하나의 채널을 화상회의 서버(200) 또는 타 통신 장치와 형성할 수 있다. The connection module 110 may establish a channel for a video conference by connecting to the video conference server 200 or another communication device. The connection module 110 may form a single channel for a video conference by using one port. The connection module 110 may form one channel for the video conference with the video conference server 200 or other communication devices using the identification information of the video conference room input by the user or the identification information of the counterpart communication device. there is.

네트워크 측정 모듈(140)은 네트워크(300)로부터 수신되는 패킷을 분석하여, 패킷의 지연시간과 패킷 손실률을 측정한다. 상기 네트워크 측정 모듈(140)은 상기 채널에서 수신되는 패킷을 분석하여 화상회의와 관련된 패킷의 지연시간과 손실률을 확인할 수 있다. 각 패킷에는 시퀀스 넘버가 순차적으로 부여되어 있고, 네트워크 측정 모듈(140)은 특정 시간 구간에서 수신된 패킷의 개수와 처음 패킷의 시퀀스 넘버와 마지막 패킷의 시퀀스 넘버 간의 차이를 비교하여 패킷 손실률을 측정할 수 있다. 또한, 각 패킷에는 송신시점을 나타내는 타임스탬프가 기록되어 있고, 네트워크 측정 모듈(140)은 패킷의 송신 간격과 패킷의 수신 간격을 비교함으로써, 패킷의 지연시간을 측정할 수 있다. 예컨대, 송신측에서 0ms을 타임스탬프를 가지는 제1 패킷과 100ms 타임스탬프를 가지는 제2 패킷을 송신하고, 통신 장치(100)가 제1 패킷을 200ms, 제2 패킷을 350ms에 수신한 경우, 네트워크 측정 모듈(140)은 50ms 만큼의 패킷 지연시간이 발생한 것으로 측정할 수 있다. The network measurement module 140 analyzes a packet received from the network 300 and measures a packet delay time and a packet loss rate. The network measurement module 140 may analyze a packet received through the channel to check a delay time and a loss rate of a packet related to a video conference. A sequence number is sequentially assigned to each packet, and the network measurement module 140 measures the packet loss rate by comparing the number of packets received in a specific time interval and the difference between the sequence number of the first packet and the sequence number of the last packet. can In addition, a timestamp indicating a transmission time is recorded in each packet, and the network measurement module 140 may measure the packet delay time by comparing the packet transmission interval with the packet reception interval. For example, when the transmitting side transmits a first packet having a timestamp of 0 ms and a second packet having a timestamp of 100 ms, and the communication device 100 receives the first packet in 200 ms and the second packet in 350 ms, the network The measurement module 140 may measure that a packet delay time of 50 ms has occurred.

네트워크 측정 모듈(140)은 상기 패킷 지연시간과 패킷 손실률을 포함하는 네트워크 상태 정보를 타 통신 장치 또는 화상회의 서버(200)로 주기적으로 전송할 수 있다. 또한, 네트워크 측정 모듈(140)은 상기 패킷 지연시간과 손실률을 토대로 화상회의 채널의 가용 대역폭을 확인할 수 있다. 상기 네트워크 측정 모듈(140)은 패킷 손실률 또는 패킷 지연시간이 사전에 설정된 값 미만으로 측정되는 대역폭들 중에서 최대 대역폭을 상기 가용 대역폭인 것으로 판별할 수 있다. 상기 네트워크 측정 모듈(140)은 필요 대역폭과 측정된 가용 대역폭을 포함하는 대역폭 정보를 타 통신 장치 또는 화상회의 서버(200)로 전송할 수 있다. 네트워크 측정 모듈(140)은 대역폭 모니터링 모듈(170)에서 확인한 각 데이터의 대역폭에 기초하여 상기 필요 데이터를 확인할 수 있다.The network measurement module 140 may periodically transmit network status information including the packet delay time and packet loss rate to another communication device or the video conference server 200 . Also, the network measurement module 140 may check the available bandwidth of the videoconferencing channel based on the packet delay time and loss rate. The network measurement module 140 may determine that the maximum bandwidth among bandwidths for which the packet loss rate or packet delay time is less than a preset value is the available bandwidth. The network measurement module 140 may transmit bandwidth information including the required bandwidth and the measured available bandwidth to another communication device or the video conference server 200 . The network measurement module 140 may check the necessary data based on the bandwidth of each data checked by the bandwidth monitoring module 170 .

대역폭 할당 모듈(130)은 상기 채널을 통해서 화상회의가 진행되는 경우에, 오디오 데이터, 영상 데이터, 제어 데이터, 파일 각각에 필요한 대역폭을 할당할 수 있다. 상기 통신 장치(100)가 화상회의를 주관하는 장치인 경우, 통신 장치(100)는 타 통신 장치로부터 대역폭 정보를 수신할 수 있으며, 대역폭 할당 모듈(130)은 상기 대역폭 정보에 기초하여, 타 통신 장치와 형성한 화상회의 채널의 대역폭을 할당할 수 있다. 상기 대역폭 정보에는 오디오 데이터의 최소/최대 대역폭, 비디오 데이터의 최소/최대 대역폭, 파일 데이터의 최소/최대 대역폭, 제어 데이터의 최소/최대 대역폭 중에서 하나 이상이 포함될 수 있다. 또한, 대역폭 정보에는 필요 대역폭과 가용 대역폭이 포함될 수 있다. 대역폭 할당 모듈(130)은 상기 대역폭 정보에서 오디오 데이터, 영상 데이터, 제어 데이터, 파일 데이터 각각에 대한 최소/최대 대역폭을 확인하고, 이 대역폭을 토대로 오디오 데이터, 영상 데이터, 제어 데이터, 파일 각각에 대한 대역폭을 할당할 수 있다. 상기 대역폭 할당 모듈(130)은 상기 화상회의 채널에 할당한 대역폭 이하의 범위에서, 오디오 데이터, 영상 데이터, 제어 데이터, 파일 데이터 각각에 대한 대역폭을 할당할 수 있다. The bandwidth allocation module 130 may allocate a bandwidth required for each of audio data, image data, control data, and a file when a video conference is conducted through the channel. When the communication device 100 is a device that hosts a video conference, the communication device 100 may receive bandwidth information from another communication device, and the bandwidth allocation module 130 performs other communication based on the bandwidth information. It is possible to allocate the bandwidth of the videoconferencing channel formed with the device. The bandwidth information may include at least one of a minimum/maximum bandwidth of audio data, a minimum/maximum bandwidth of video data, a minimum/maximum bandwidth of file data, and a minimum/maximum bandwidth of control data. Also, the bandwidth information may include a required bandwidth and an available bandwidth. The bandwidth allocation module 130 checks the minimum/maximum bandwidths for each of audio data, image data, control data, and file data from the bandwidth information, and based on this bandwidth, provides for each of audio data, image data, control data, and files. Bandwidth can be allocated. The bandwidth allocation module 130 may allocate a bandwidth to each of audio data, image data, control data, and file data within a range less than or equal to the bandwidth allocated to the videoconferencing channel.

상기 통신 장치(100)가 화상회의 서버(200) 또는 타 통신 장치가 주관하는 화상회의에 참여하는 장치인 경우, 대역폭 할당 모듈(130)은 화상회의 서버(200) 또는 타 통신 장치에 제어에 의해, 통신 장치(100)와 형성된 채널의 대역폭을 할당받을 수 있으며, 더불어 오디오 데이터, 영상 데이터, 제어 데이터, 파일 각각에 대한 대역폭을 할당받을 수 있다. 대역폭 할당 모듈(130)은 할당된 대역폭에 따라 오디오 데이터, 영상 데이터, 제어 데이터, 파일 데이터 각각에 대한 비트레이트를 결정할 수 있다. When the communication device 100 is a device participating in a video conference hosted by the video conference server 200 or another communication device, the bandwidth allocation module 130 is controlled by the video conference server 200 or other communication device. , a bandwidth of the channel formed with the communication device 100 may be allocated, and bandwidths for each of audio data, image data, control data, and files may be allocated. The bandwidth allocation module 130 may determine a bit rate for each of audio data, image data, control data, and file data according to the allocated bandwidth.

대역폭 모니터링 모듈(170)은 오디오 데이터, 영상 데이터, 제어 데이터, 파일 데이터 각각에 필요한 최소 대역폭/최대 대역폭을 확인할 수 있다. 각 데이터 유형에 따른 최소 대역폭과 최대 대역폭은 사용자가 설정한 오디오 품질, 비디오 화질 등에 따라 결정되어 사전에 저장될 수 있으며, 또한 각 데이터의 우선순위에 따라 결정되어 사전에 저장될 수 있다. 상기 대역폭 모니터링 모듈(170)은 마이크가 켜지는 경우에 사전에 설정된 오디오 데이터의 최소 대역폭/최대 대역폭을 확인할 수 있다. 또한, 대역폭 모니터링 모듈(170)은 카메라가 켜지는 경우 기 설정된 영상 데이터의 최소 대역폭/최대 대역폭을 확인할 수 있으며, 파일 전송 메뉴가 선택되는 경우 상기 파일의 최소 대역폭/최대 대역폭을 확인할 수 있다. 또한, 대역폭 모니터링 모듈(170)은 제어 관련 메뉴가 선택되는 경우, 제어 데이터의 최소 대역폭/최대 대역폭을 확인할 수 있다. The bandwidth monitoring module 170 may check the minimum bandwidth/maximum bandwidth required for each of audio data, image data, control data, and file data. The minimum bandwidth and maximum bandwidth according to each data type may be determined according to audio quality, video quality, etc. set by a user and stored in advance, and may be determined according to the priority of each data and stored in advance. The bandwidth monitoring module 170 may check a preset minimum bandwidth/maximum bandwidth of audio data when the microphone is turned on. Also, the bandwidth monitoring module 170 may check the minimum bandwidth/maximum bandwidth of preset image data when the camera is turned on, and may check the minimum bandwidth/maximum bandwidth of the file when a file transfer menu is selected. Also, when a control-related menu is selected, the bandwidth monitoring module 170 may check the minimum bandwidth/maximum bandwidth of the control data.

전송 모듈(120)은 오디오 데이터, 영상 데이터, 파일 데이터, 제어 데이터, FEC 데이터 중에서 하나 이상을 포함하는 패킷을 생성하여 화상회의에 참여중인 타 통신 장치 또는 화상회의 서버(200)로 전송할 수 있다. 전송 모듈(120)은 각 데이터 유형별 비트레이트에 근거하여 각 데이터별로 차등적인 대역폭을 가지도록 하나 이상의 패킷을 생성하여 전송할 수 있다. 통신 장치(100)가 화상회의 주관하는 장치이고, FEC 데이터 생성 모듈(150)에서 FEC 데이터를 생성하는 경우, 전송 모듈(120)은 상기 FEC 데이터를 포함하는 FEC 패킷을 타 통신 장치로 전송하여, 타 통신 장치에서 가용 대역폭의 측정이 용이하게 할 수 있다.The transmission module 120 may generate a packet including one or more of audio data, image data, file data, control data, and FEC data and transmit it to another communication device participating in the video conference or the video conference server 200 . The transmission module 120 may generate and transmit one or more packets to have a differential bandwidth for each data based on the bit rate for each data type. When the communication device 100 is a device that hosts a video conference and the FEC data generation module 150 generates FEC data, the transmission module 120 transmits the FEC packet including the FEC data to another communication device, Measurement of available bandwidth in other communication devices may be facilitated.

데이터 처리 모듈(160)은 타 통신 장치 또는 화상회의 서버(200)로부터 수신한 패킷에 포함된 데이터를 디코딩하여 출력할 수 있다. 즉, 데이터 처리 모듈(160)은 패킷에 포함된 오디오 데이터 또는 영상 데이터를 디코딩하여 디스플레이수단 또는 스피커에 출력할 수 있다. 또한, 데이터 처리 모듈(160)은 파일이 수신되는 경우에 해당 파일을 저장 공간에 저장하고, 제어 데이터가 수신되는 경우에 제어 데이터에 포함된 명령에 따라 화상회의를 제어할 수 있다. 한편, 데이터 처리 모듈(160)은 패킷에 FEC 데이터가 포함되어 있는 경우, 영상 데이터 또는 오디오 데이터에 발생한 에러를 FEC 데이터를 이용하여 정정할 수 있다. The data processing module 160 may decode and output data included in a packet received from another communication device or the video conference server 200 . That is, the data processing module 160 may decode audio data or image data included in the packet and output it to a display unit or a speaker. Also, when a file is received, the data processing module 160 may store the file in the storage space, and when control data is received, control the video conference according to a command included in the control data. Meanwhile, when the FEC data is included in the packet, the data processing module 160 may correct an error occurring in the image data or the audio data using the FEC data.

FEC 데이터 생성 모듈(150)은 필요시에 FEC 데이터를 생성한다. 상기 FEC 데이터 생성 모듈(150)은 통신 장치(100)가 화상회의를 주관하는 경우에 활성화되어 동작할 수 있다. 상기 FEC 데이터 생성 모듈(150)은 타 통신 장치에서 요구한 채널의 필요 대역폭이 상기 채널의 가용 대역폭을 초과하는지 여부를 확인하여 초과하면 FEC 패킷 전송이 필요한지 여부를 판별할 수 있다. 이때, FEC 데이터 생성 모듈(150)은 타 통신 장치의 필요 대역폭이 직전에 측정된 필요 대역폭을 초과하였는지 여부, 타 통신 장치에서 패킷 손실 또는 패킷 지연시간이 발생하였는지 여부, 타 통신 장치로부터 파일 대역폭이 요청되었는지 여부 등을 종합하여 FEC 패킷의 전송이 필요한지 여부를 판별할 수 있다. 패킷 전송이 필요한지 여부를 판별하기 위한 구체적인 방법에 대해서는 도 5를 참조한 설명을 통해서 후술된다.The FEC data generation module 150 generates FEC data when necessary. The FEC data generation module 150 may be activated and operated when the communication device 100 hosts a video conference. The FEC data generation module 150 may determine whether the required bandwidth of the channel requested by the other communication device exceeds the available bandwidth of the channel, and if it exceeds the available bandwidth, it may determine whether FEC packet transmission is required. At this time, the FEC data generation module 150 determines whether the required bandwidth of the other communication device exceeds the required bandwidth measured immediately before, whether a packet loss or packet delay time occurs in the other communication device, and the file bandwidth from the other communication device. It is possible to determine whether transmission of the FEC packet is necessary by synthesizing whether or not the request has been made. A specific method for determining whether packet transmission is necessary will be described later with reference to FIG. 5 .

상기 FEC 데이터 생성 모듈(150)은 FEC 패킷의 전송이 필요하다고 판별한 경우, 오디오 데이터와 영상 데이터의 우선 순위에 따라, 오디오 데이터의 에러를 정정하기 위한 FEC 데이터를 생성하거나, 영상 데이터의 에러를 정정하기 위한 FEC 데이터를 생성할 수 있다. 상기 FEC 데이터 생성 모듈(150)은 필요 대역폭과 현재 타 통신 장치의 채널에 할당된 대역폭의 차이에 확인하고, 이 차이에 해당하는 대역폭만큼의 FEC 데이터가 발생하도록 FEC 데이터의 비트레이트를 설정하고, 상기 비트레이트에 부합되도록 단위 시간당(예컨대, 초당) FEC 데이터를 생성할 수 있다. 또한, FEC 데이터 생성 모듈(150)은 타 통신 장치가 화상회의에 초기에 참여하는 경우, 타 통신 장치에서 가용 대역폭을 용이하게 측정할 수 있도록 FEC 데이터를 생성할 수도 있다. When it is determined that FEC packet transmission is necessary, the FEC data generation module 150 generates FEC data for correcting errors in audio data or corrects errors in image data according to the priority of audio data and image data. FEC data for correction can be generated. The FEC data generation module 150 checks the difference between the required bandwidth and the bandwidth currently allocated to the channel of another communication device, and sets the bit rate of the FEC data so that FEC data is generated as much as the bandwidth corresponding to the difference, FEC data may be generated per unit time (eg, per second) to match the bit rate. In addition, the FEC data generation module 150 may generate FEC data so that, when the other communication device initially participates in the video conference, the bandwidth available in the other communication device can be easily measured.

도 4는 본 발명의 또 다른 실시예에 따른, FEC 패킷 전송 방법에 대한 제1 순서도이다.4 is a first flowchart of a FEC packet transmission method according to another embodiment of the present invention.

본 실시예에서는, 통신 장치(100)가 회의방에 참여한 장치인 것으로 설명한다.In this embodiment, the communication device 100 will be described as a device participating in a conference room.

도 4를 참조하면, 통신 장치(100)의 접속 모듈(110)은 화상회의에 참여하기 위하여, 타 통신 장치 또는 화상회의 서버(200)로 접속한다(S101). 이때, 접속 모듈(110)은 회의방 식별정보를 포함하는 참여 요청을 타 통신 장치 또는 화상회의 서버(200)로 전송하여, 상기 화상회의를 위한 하나의 채널을 타 통신 장치 또는 화상회의 서버(200)와 개설할 수 있다.Referring to FIG. 4 , the connection module 110 of the communication device 100 connects to another communication device or the video conference server 200 in order to participate in a video conference ( S101 ). In this case, the connection module 110 transmits a request for participation including the conference room identification information to the other communication device or the video conference server 200, and transmits one channel for the video conference to the other communication device or the video conference server 200. ) and can be opened.

통신 장치(100)의 접속 모듈(110)은 상기 개설한 채널을 통하여, 타 통신 장치 또는 화상회의 서버(200)로부터 FEC 패킷 또는 FEC 데이터가 포함되지 않은 패킷을 수신할 수 있다(S103). 또한, 데이터 처리 모듈(160)은 상기 패킷에 포함된 오디오 데이터 또는 영상 데이터를 디코딩하여 출력할 수 있다. 데이터 처리 모듈(160)은 파일이 수신되는 경우에 해당 파일을 저장 공간에 저장하고, 제어 데이터가 수신되는 경우에 제어 데이터에 포함된 명령에 따라 화상회의를 제어할 수 있다. 한편, 데이터 처리 모듈(160)은 패킷에 FEC 데이터가 포함되어 있는 경우, 영상 데이터 또는 오디오 데이터에 발생한 에러를 FEC 데이터를 통해서 정정할 수 있다. The connection module 110 of the communication device 100 may receive an FEC packet or a packet that does not include FEC data from another communication device or a video conference server 200 through the established channel (S103). Also, the data processing module 160 may decode and output audio data or image data included in the packet. When a file is received, the data processing module 160 stores the file in the storage space, and when control data is received, the data processing module 160 may control the video conference according to a command included in the control data. Meanwhile, when the FEC data is included in the packet, the data processing module 160 may correct an error occurring in the image data or the audio data through the FEC data.

이어서, 네트워크 측정 모듈(140)은 수신한 패킷을 분석하여, 상기 채널의 가용 대역폭을 측정한다(S105). 네트워크 측정 모듈(140)은 소정의 시간대에 발생한 패킷 손실률과 패킷 지연시간을 측정하고, 더불어 패킷 손실률과 패킷 지연시간을 근거로 상기 채널의 가용 대역폭을 측정할 수 있다. 네트워크 측정 모듈(140)은 상기 패킷 손실률과 패킷 지연시간이 사전에 설정된 값 미만으로 발생되면, 더 넓은 대역폭을 상기 채널의 가용 대역폭으로서 이용할 수 있는 것으로 판단할 수 있다. 이 경우, 네트워크 측정 모듈(140)은 가용 대역폭을 다시 측정하기 위하여, 현재 설정된 대역폭 보다 더 넓은 대역폭이 필요 대역폭으로 포함하는 대역폭 정보와 상기 측정한 패킷 손실률과 패킷 지연시간을 포함하는 네트워크 상태 정보를 타 통신 장치 또는 화상회의 서버(200)로 전송하여, 필요 대역폭의 확대를 요구할 수 있다. 이때, 네트워크 설정 모듈(120)은 최근에 측정한 상기 채널의 가용 대역폭을 상기 대역폭 정보에 포함시킬 수 있다. 상기 확대된 필요 대역폭이 가용 대역폭을 초과하는 경우, FEC 패킷이 통신 장치(100)로 전송될 수 있으며, 이 경우 네트워크 측정 모듈(140)은 상기 FEC 패킷을 분석하여 패킷 손실률과 패킷 지연시간을 측정하고, 측정된 결과에 기초하여 가용 대역폭을 재측정할 수 있다.Next, the network measurement module 140 analyzes the received packet and measures the available bandwidth of the channel ( S105 ). The network measurement module 140 may measure a packet loss rate and a packet delay time occurring in a predetermined time period, and may measure the available bandwidth of the channel based on the packet loss rate and the packet delay time. When the packet loss rate and packet delay time are less than preset values, the network measurement module 140 may determine that a wider bandwidth can be used as the available bandwidth of the channel. In this case, in order to measure the available bandwidth again, the network measurement module 140 collects bandwidth information including a bandwidth wider than the currently set bandwidth as a required bandwidth and network state information including the measured packet loss rate and packet delay time. By transmitting to another communication device or video conference server 200, it is possible to request expansion of the required bandwidth. In this case, the network setting module 120 may include the recently measured available bandwidth of the channel in the bandwidth information. When the expanded required bandwidth exceeds the available bandwidth, an FEC packet may be transmitted to the communication device 100. In this case, the network measurement module 140 analyzes the FEC packet to measure the packet loss rate and packet delay time. and the available bandwidth may be re-measured based on the measured result.

한편, 네트워크 측정 모듈(140)은 상기 패킷 손실률 또는 패킷 지연시간이 사전에 설정된 값 이상으로 발생되면, 더 좁은 대역폭이 상기 채널의 가용 대역폭으로서 이용할 수 있는 것으로 판단할 수 있다. 이 경우, 전송 모듈(120)은 현재 설정된 대역폭 보다 더 좁은 대역폭이 필요 대역폭으로 포함된 대역폭 정보와 상기 측정한 패킷 손실률과 패킷 지연시간을 포함하는 네트워크 상태 정보를 통신 장치(100)로 전송할 수 있다. 이어서, 통신 장치(100)의 네트워크 측정 모듈(140)은 상기 채널을 통하여 축소된 대역폭에 따른 패킷을 수신하고, 이 수신한 패킷을 분석하여 가용 대역폭을 다시 측정할 수 있다. Meanwhile, when the packet loss rate or packet delay time is greater than or equal to a preset value, the network measurement module 140 may determine that a narrower bandwidth can be used as the available bandwidth of the channel. In this case, the transmission module 120 may transmit, to the communication device 100 , bandwidth information including a bandwidth narrower than the currently set bandwidth as a required bandwidth, and network state information including the measured packet loss rate and packet delay time. . Next, the network measurement module 140 of the communication device 100 may receive a packet according to the reduced bandwidth through the channel, analyze the received packet, and measure the available bandwidth again.

채널이 개설되는 경우, 전송 모듈(120)은 화상회의과 관련된 패킷을 타 통신 장치 또는 화상회의 서버(200)로 전송할 수 있다. 전송 모듈(120)은 통신 장치(100)의 마이크가 켜져 있는 경우 오디오 데이터를 포함하는 패킷을 전송할 수 있고, 카메라가 켜져 있는 경우 영상 데이터를 포함하는 패킷을 전송할 수 있다. 또한, 전송 모듈(120)은 파일 전송이 진행되는 경우에 상기 파일 데이터를 포함하는 패킷을 전송할 수 있고, 화상회의를 제어하기 위한 명령어가 입력되면 해당 명령에 관련된 제어 데이터를 포함하는 패킷을 전송할 수 있다. When the channel is established, the transmission module 120 may transmit a packet related to the video conference to another communication device or the video conference server 200 . The transmission module 120 may transmit a packet including audio data when the microphone of the communication device 100 is turned on, and may transmit a packet including image data when the camera is turned on. In addition, the transmission module 120 may transmit a packet including the file data when file transmission is in progress, and when a command for controlling a video conference is input, a packet including control data related to the command may be transmitted. there is.

한편, 대역폭 할당 모듈(130)은 마이크 턴 온으로 인하여 오디오 데이터가 입력되거나, 카메라 턴 온으로 인하여 비디오 데이터가 입력되거나, 파일 송신이 필요한 사항이 되거나, 제어 데이터의 송신이 필요한 사항이 되면, 해당 데이터의 전송에 필요한 최소 대역폭/최대 대역폭을 확인하여, 필요 대역폭에 추가로 입력되는 최대 대역폭을 가산하여 필요 대역폭을 갱신할 수 있다. 이 경우, 네트워크 측정 모듈(140)은 갱신된 필요 대역폭과 가용 대역폭을 포함하는 대역폭 정보를 타 통신 장치 또는 화상회의 서버(200)로 전송하여, 필요 대역폭의 갱신을 요구할 수 있다. 갱신된 필요 대역폭이 가용 대역폭을 초과하는 경우, 가용 대역폭을 다시 측정하기 위하여 FEC 패킷이 통신 장치(100)로 수신될 수 있으며, 이 경우 네트워크 측정 모듈(140)은 상기 FEC 패킷을 분석하여 패킷 손실률과 패킷 지연시간을 측정하고, 측정된 결과에 기초하여 가용 대역폭을 재측정할 수 있다.On the other hand, when the bandwidth allocation module 130 receives audio data due to microphone turn-on, video data is input due to camera turn-on, file transmission is required, or control data transmission is required, the corresponding The required bandwidth may be updated by checking the minimum bandwidth/maximum bandwidth required for data transmission, and adding the additionally input maximum bandwidth to the required bandwidth. In this case, the network measurement module 140 may transmit bandwidth information including the updated required bandwidth and available bandwidth to another communication device or the video conference server 200 to request an update of the required bandwidth. When the updated required bandwidth exceeds the available bandwidth, the FEC packet may be received by the communication device 100 to measure the available bandwidth again. In this case, the network measurement module 140 analyzes the FEC packet to determine the packet loss rate. and packet delay time may be measured, and the available bandwidth may be re-measured based on the measured result.

본 실시예에 따르면, 필요 대역폭이 변동되면 경우에 FEC 패킷이 통신 장치(100)로 전송될 수 있어, FEC 패킷의 발생을 최소화하여 네트워크(300)의 트래픽을 경감하는 효과를 발휘할 수 있다. According to the present embodiment, when the required bandwidth is changed, the FEC packet may be transmitted to the communication device 100 , thereby minimizing the generation of the FEC packet, thereby reducing the traffic of the network 300 .

도 5는 본 발명의 또 다른 실시예에 따른, FEC 패킷 전송 방법에 대한 제2 순서도이다.5 is a second flowchart of an FEC packet transmission method according to another embodiment of the present invention.

본 실시예에서는, 통신 장치(100)가 화상회의를 주관하는 장치인 것으로 설명한다.In this embodiment, it will be described that the communication device 100 is a device that hosts a video conference.

도 5를 참조하면, 접속 모듈(110)이 타 통신 장치와 하나의 채널을 통해서 세션을 형성한 상태에서, 통신 장치(100)는 타 통신 장치로부터 네트워크 상태 정보와 대역폭 정보를 수신할 수 있다(S201). 이어서, 통신 장치(100)의 대역폭 할당 모듈(130)은 대역폭 정보에서 필요 대역폭과 가용 대역폭을 확인할 수 있다(S203). Referring to FIG. 5 , in a state in which the connection module 110 establishes a session with another communication device through one channel, the communication device 100 may receive network state information and bandwidth information from the other communication device ( S201). Subsequently, the bandwidth allocation module 130 of the communication device 100 may check the required bandwidth and the available bandwidth from the bandwidth information ( S203 ).

다음으로, FEC 데이터 생성 모듈(150)은 상기 필요 대역폭이 상기 가용 대역폭을 초과하는지 여부를 1차로 판별할 수 있다(S205). Next, the FEC data generation module 150 may first determine whether the required bandwidth exceeds the available bandwidth (S205).

이어서, FEC 데이터 생성 모듈(150)은 상기 1차 판별 결과, 상기 필요 대역폭이 상기 가용 대역폭을 초과하는 경우, FEC 패킷 전송이 필요한지 여부를 판별하는 프로세스를 진행할 수 있다. FEC 데이터 생성 모듈(150)은 상기 필요 대역폭이 상기 가용 대역폭을 초과하는 경우, 상기 필요 대역폭이 바로 전에 측정된 가용 대역폭을 초과하는지 여부를 2차 판별할 수 있다(S207). 상기 타 통신 장치의 필요 대역폭이 변동되는 이력을 FEC 데이터 생성 모듈(150)은 별도로 저장할 수 있으며, 상기 변동 이력에서 직전의 필요 대역폭을 확인할 수 있다.Subsequently, when the required bandwidth exceeds the available bandwidth as a result of the first determination, the FEC data generation module 150 may proceed with a process of determining whether FEC packet transmission is required. When the required bandwidth exceeds the available bandwidth, the FEC data generation module 150 may secondary determine whether the required bandwidth exceeds the previously measured available bandwidth (S207). The FEC data generation module 150 may separately store a history of a change in the required bandwidth of the other communication device, and check the immediately preceding required bandwidth from the change history.

상기 2차 판별 결과 상기 필요 대역폭이 이전에 측정된 필요 대역폭을 초과하면, FEC 데이터 생성 모듈(150)은 현재 설정된 필요 대역폭에 발생한 패킷에서 손실 또는 지연이 발생하였는지 여부를 3차 판별할 수 있다(S209). 상기 FEC 데이터 생성 모듈(150)은 상기 네트워크 상태 정보에서 패킷 손실률과 패킷 지연시간을 확인하고, 상기 패킷 손실률 또는 패킷 지연시간이 사전에 설정된 값 미만으로 발생되면, 현재 설정된 필요 대역폭에서 발생한 패킷에서 손실 또는 지연이 발생하지 않은 것으로 판별할 수 있다.If the required bandwidth exceeds the previously measured required bandwidth as a result of the second determination, the FEC data generation module 150 may thirdly determine whether a loss or delay occurs in a packet occurring in the currently set required bandwidth ( S209). The FEC data generation module 150 checks the packet loss rate and the packet delay time from the network state information, and when the packet loss rate or the packet delay time is less than a preset value, a packet loss occurs in the currently set required bandwidth. Alternatively, it may be determined that no delay has occurred.

다음으로, FEC 데이터 생성 모듈(150)은 파일 대역폭이 요청되어, 현재 파일이 송수신되고 있는지 여부를 4차 판별할 수 있다(S211). FEC 데이터 생성 모듈(150)은 4차 판별 결과, 파일 대역폭이 미요청된 경우(즉, 파일이 송수신되지 않은 상태인 경우), 대역폭 할당 모듈(130)은 타 통신 장치와의 형성된 채널의 대역폭을 상기 필요 대역폭으로 변경하여 할당할 수 있다. 또한, 대역폭 할당 모듈(130)은 각 데이터의 대역폭을 변경할 수 있다. 즉, 대역폭 할당 모듈(130)은 상기 대역폭 정보에서 오디오 데이터의 최소/최대 대역폭, 비디오 데이터의 최소/최대 대역폭, 파일 데이터의 최소/최대 대역폭, 제어 데이터의 최소/최대 대역폭 중에서 하나 이상을 확인하여, 현재 설정된 해당 데이터의 대역폭을 최대 대역폭 또는 최소 대역폭으로 변경할 수 있다. Next, the FEC data generation module 150 may determine whether a file bandwidth is requested and currently a file is being transmitted/received (S211). As a result of the fourth determination, the FEC data generation module 150 determines that when the file bandwidth is not requested (that is, when the file is not transmitted and received), the bandwidth allocation module 130 uses the bandwidth of the channel formed with other communication devices. It can be allocated by changing the required bandwidth. Also, the bandwidth allocation module 130 may change the bandwidth of each data. That is, the bandwidth allocation module 130 confirms at least one of the minimum / maximum bandwidth of audio data, the minimum / maximum bandwidth of video data, the minimum / maximum bandwidth of file data, and the minimum / maximum bandwidth of the control data in the bandwidth information. , You can change the currently set bandwidth of the corresponding data to the maximum bandwidth or the minimum bandwidth.

이어서, FEC 데이터 생성 모듈(150)은 FEC 패킷을 전송하기 위하여 FEC 데이터의 비트레이트를 설정할 수 있다(S213). 상기 FEC 데이터 생성 모듈(150)은 상기 필요 대역폭과 타 통신 장치의 채널로 할당한 대역폭의 차이에 확인하고, 이 차이에 해당하는 대역폭만큼의 FEC 데이터가 발생하도록 FEC 데이터의 비트레이트를 설정하고, 상기 비트레이트에 부합되도록 단위 시간당 FEC 데이터를 생성할 수 있다. 상기 FEC 데이터 생성 모듈(150)은 데이터의 우선순위에 따라, 오디오 데이터 또는 영상 데이터의 에러를 정정하는데 이용되는 FEC 데이터를 생성할 수 있다. 오디오 데이터가 우선순위가 높은 경우, FEC 데이터 생성 모듈(150)은 상기 오디오 데이터의 에러를 정정하는데 이용되는 FEC 데이터를 생성할 수 있고, 오디오 데이터가 전송되지 않고 영상 데이터가 전송되는 경우, FEC 데이터 생성 모듈(150)은 상기 영상 데이터의 에러를 정정하는데 이용되는 FEC 데이터를 생성할 수 있다. Subsequently, the FEC data generation module 150 may set a bit rate of the FEC data in order to transmit the FEC packet ( S213 ). The FEC data generation module 150 checks the difference between the required bandwidth and the bandwidth allocated to the channel of another communication device, and sets the bit rate of the FEC data so that FEC data is generated as much as the bandwidth corresponding to the difference, FEC data may be generated per unit time to conform to the bit rate. The FEC data generation module 150 may generate FEC data used to correct errors in audio data or image data according to the priority of data. When audio data has a high priority, the FEC data generation module 150 may generate FEC data used to correct an error of the audio data. When image data is transmitted without audio data, the FEC data The generation module 150 may generate FEC data used to correct an error of the image data.

이어서, 전송 모듈(120)은 영상 데이터, 오디오 데이터, 제어 데이터 중에서 하나 이상의 데이터와 FEC 데이터를 포함하는 FEC 패킷을 타 통신 장치로 전송하여, 상기 타 통신 장치에서 가용 대역폭이 용이하게 측정되게 할 수 있다(S215). Subsequently, the transmission module 120 transmits an FEC packet including one or more data and FEC data among image data, audio data, and control data to another communication device, so that the available bandwidth in the other communication device can be easily measured. There is (S215).

한편, S205 단계의 1차 판별 결과, 필요 대역폭이 가용 대역폭 이하이면, FEC 데이터 생성 모듈(150)은 상기 채널의 가용 대역폭 이내에서 충분이 필요 대역폭이 커버될 수 있고 기존의 가용 대역폭이 유지되는 것으로 판단하여, FEC 데이터를 생성하지 않을 수 있다(S217).On the other hand, as a result of the primary determination in step S205, if the required bandwidth is less than or equal to the available bandwidth, the FEC data generation module 150 determines that the necessary bandwidth can be sufficiently covered within the available bandwidth of the channel and the existing available bandwidth is maintained. It is determined that FEC data may not be generated (S217).

또한, S207 단계의 2차 판별 결과, 타 통신 장치의 채널에 대한 필요 대역폭이 직전에 측정된 필요 대역폭 이하이면, FEC 데이터 생성 모듈(150)은 필요 대역폭을 할당하여도 가용 대역폭이 용이하게 측정될 수 있는 것으로 판단하여, FEC 데이터를 생성하지 않을 수 있다(S217).In addition, as a result of the secondary determination in step S207, if the required bandwidth for the channel of the other communication device is less than or equal to the required bandwidth measured immediately before, the FEC data generation module 150 may allocate the required bandwidth to easily measure the available bandwidth. It is determined that it is possible, and FEC data may not be generated (S217).

S209 단계의 3차 판별 결과, 타 통신 장치에서 수신한 패킷에서 손실 또는 지연이 발생한 경우, FEC 데이터 생성 모듈(150)은 네트워크(300)의 상태가 불안정한 상태인 것으로 판단하여, FEC 데이터를 생성하지 않을 수 있다(S217). 즉, FEC 데이터 생성 모듈(150)은 패킷 손실과 지연이 발생한 경우에, FEC 데이터를 포함하는 FEC 패킷을 타 통신 장치로 전송하는 경우에 더욱 높은 패킷 손실률과 더욱 긴 패킷 지연시간이 발생하여 가용 대역폭이 정상적으로 측정할 수 없는 것으로 판단하여, FEC 데이터를 생성하지 않을 수 있다.As a result of the third determination in step S209, when a loss or delay occurs in a packet received from another communication device, the FEC data generation module 150 determines that the state of the network 300 is in an unstable state, and does not generate FEC data. It may not be (S217). That is, the FEC data generation module 150 generates a higher packet loss rate and a longer packet delay time when transmitting an FEC packet including FEC data to another communication device when packet loss and delay occur, so that the available bandwidth It is determined that this cannot be measured normally, and FEC data may not be generated.

S211 단계의 4차 판별 결과, 파일 대역폭이 요청된 경우(즉, 파일이 송신되는 경우), FEC 데이터 생성 모듈(150)은 파일 데이터 전송을 통해서 가용 대역폭의 측정이 가능한 것으로 판단하여, FEC 데이터를 생성하지 않을 수 있다(S217). 이 경우, 대역폭 할당 모듈(130)은 오디오 데이터, 영상 데이터, 파일 데이터 각각에 할당된 대역폭의 총합을 확인하고, 타 통신 장치가 요청한 필요 대역폭과 상기 대역폭의 총합의 차이를 확인하고, 이 차이에 해당하는 대역폭을 파일 데이터를 위한 대역폭을 할당할 수 있다. 즉, FEC 데이터 대신 파일 데이터를 전송하는 것으로 인하여, 타 통신 장치에서 용이하게 가용 대역폭이 측정될 수 있다. As a result of the fourth determination in step S211, when the file bandwidth is requested (that is, when the file is transmitted), the FEC data generation module 150 determines that it is possible to measure the available bandwidth through the file data transmission, and transmits the FEC data. It may not be generated (S217). In this case, the bandwidth allocation module 130 checks the sum of the bandwidths allocated to each of audio data, image data, and file data, checks the difference between the required bandwidth requested by another communication device and the total sum of the bandwidths, A corresponding bandwidth can be allocated for file data. That is, due to the transmission of file data instead of FEC data, the available bandwidth can be easily measured in another communication device.

FEC 데이터가 생성되지 않으면, 대역폭 할당 모듈(130)은 타 통신 장치의 대역폭을 상기 필요 대역폭으로 변경하여 할당하고, 전송 모듈(120)은 오디오 데이터, 비디오 데이터, 파일 데이터 중에서 하나 이상을 포함하는 패킷을 타 통신 장치로 전송할 수 있다(S219). 전송 모듈(120)은 각 데이터의 필요 대역폭을 상기 대역폭 정보에서 확인하고, 이 대역폭에 따라 각 데이터의 비트레이트를 설정하고, 오디오 데이터, 비디오 데이터, 파일 데이터 중에서 하나 이상을 인코딩하고 인코딩된 파일을 포함하는 패킷을 타 통신 장치로 전송할 수 있다. 이에 따라 타 통신 장치는 필요 대역폭에 따라 송신되는 패킷을 수신하고, 상기 패킷을 분석하여 가용 대역폭을 다시 측정할 수 있다. If the FEC data is not generated, the bandwidth allocation module 130 changes and allocates the bandwidth of another communication device to the required bandwidth, and the transmission module 120 sends a packet including one or more of audio data, video data, and file data. can be transmitted to another communication device (S219). The transmission module 120 checks the required bandwidth of each data from the bandwidth information, sets the bit rate of each data according to the bandwidth, encodes at least one of audio data, video data, and file data, and sends the encoded file The included packet may be transmitted to another communication device. Accordingly, another communication device may receive a packet transmitted according to a required bandwidth, analyze the packet, and measure the available bandwidth again.

본 실시예에 따르면, FEC 패킷을 항상 전송하지 않고 필요시에만 FEC 패킷을 전송함으로써, FEC 데이터를 생성할 때에 발생하는 통신 장치(100)의 부하를 경감할 수 있고 또한 네트워크(300)의 트래픽도 경감시킬 수 있는 효과를 발휘할 수 있다. 또한, 본 실시예에 따르면, 필요 대역폭이 가용 대역폭을 초과하는지 여부, 필요 대역폭이 직전의 필요 대역폭을 초과하는지 여부, 패킷 손실 또는 패킷 지연이 발생하였는지 여부, 파일 대역폭이 요청되었는지 여부 등을 종합하여, FEC 패킷 전송이 필요한지 여부를 정확하게 판단할 수 있는 장점을 발휘하고 있다.According to the present embodiment, by transmitting the FEC packet only when necessary rather than always transmitting the FEC packet, the load on the communication device 100 that occurs when generating FEC data can be reduced and the traffic of the network 300 is also It can have a mitigating effect. In addition, according to this embodiment, whether the required bandwidth exceeds the available bandwidth, whether the required bandwidth exceeds the immediately preceding required bandwidth, whether packet loss or packet delay has occurred, whether the file bandwidth is requested, etc. , it has the advantage of accurately determining whether FEC packet transmission is necessary.

이하, 몇몇 실시예들에 따른 예시적인 컴퓨팅 장치의 하드웨어 구성을 도 9를 참조하여 설명하기로 한다.Hereinafter, a hardware configuration of an exemplary computing device according to some embodiments will be described with reference to FIG. 9 .

도 6은 다양한 실시예에서 컴퓨팅 장치를 구현할 수 있는 예시적인 하드웨어 구성도이다. 6 is an exemplary hardware configuration diagram that may implement a computing device in various embodiments.

본 실시예에 따른 컴퓨팅 장치(1000)는 하나 이상의 프로세서(1100), 시스템 버스(1600), 통신 인터페이스(1200), 프로세서(1100)에 의하여 수행되는 컴퓨터 프로그램(1500)을 로드(load)하는 메모리(1400)와, 컴퓨터 프로그램(1500)을 저장하는 스토리지(1300)를 포함할 수 있다. 도 6에서는 실시예와 관련 있는 구성요소들 만이 도시되어 있다. 따라서, 본 명세서의 실시예들이 속한 기술분야의 통상의 기술자라면 도 6에 도시된 구성요소들 외에 다른 범용적인 구성 요소들이 더 포함될 수 있음을 알 수 있다.The computing device 1000 according to the present embodiment includes one or more processors 1100 , a system bus 1600 , a communication interface 1200 , and a memory for loading a computer program 1500 executed by the processor 1100 . 1400 and a storage 1300 for storing the computer program 1500 may be included. In Fig. 6, only the components related to the embodiment are shown. Accordingly, those skilled in the art to which the embodiments of the present specification pertain can know that other general-purpose components other than those shown in FIG. 6 may be further included.

프로세서(1100)는 컴퓨팅 장치(1000)의 각 구성의 전반적인 동작을 제어한다. 프로세서(1100)는 CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 또는 본 명세서의 기술 분야에 잘 알려진 임의의 형태의 프로세서 중 적어도 하나를 포함하여 구성될 수 있다. 또한, 프로세서(1100)는 다양한 실시예들에 따른 방법/동작을 실행하기 위한 적어도 하나의 애플리케이션 또는 프로그램에 대한 연산을 수행할 수 있다. 컴퓨팅 장치(1000)는 둘 이상의 프로세서를 구비할 수 있다.The processor 1100 controls the overall operation of each component of the computing device 1000 . The processor 1100 includes at least one of a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), or any type of processor well known in the art. may be included. In addition, the processor 1100 may perform an operation on at least one application or program for executing the method/operation according to various embodiments. The computing device 1000 may include two or more processors.

메모리(1400)는 각종 데이터, 명령 및/또는 정보를 저장한다. 메모리(1400)는 본 명세서의 다양한 실시예들에 따른 방법/동작들을 실행하기 위하여 스토리지(1300)로부터 하나 이상의 프로그램(1500)을 로드(load) 할 수 있다. 메모리(1400)의 예시는 RAM이 될 수 있으나, 이에 한정되는 것은 아니다. The memory 1400 stores various data, commands, and/or information. The memory 1400 may load one or more programs 1500 from the storage 1300 to execute methods/operations according to various embodiments of the present specification. An example of the memory 1400 may be a RAM, but is not limited thereto.

시스템 버스(1600)는 컴퓨팅 장치(1000)의 구성 요소 간 통신 기능을 제공한다. 상기 시스템 버스(1600)는 주소 버스(Address Bus), 데이터 버스(Data Bus) 및 제어 버스(Control Bus) 등 다양한 형태의 버스로 구현될 수 있다. 통신 인터페이스(1200)는 네트워크(500)와 연결할 수 있다. 스토리지(1300)는 하나 이상의 컴퓨터 프로그램(1500)을 비임시적으로 저장할 수 있다. 스토리지(1300)는 플래시 메모리 등과 같은 비휘발성 메모리, 하드 디스크, 착탈형 디스크, 또는 본 명세서의 실시예들이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터로 읽을 수 있는 기록 매체를 포함하여 구성될 수 있다. The system bus 1600 provides a communication function between components of the computing device 1000 . The system bus 1600 may be implemented as various types of buses, such as an address bus, a data bus, and a control bus. The communication interface 1200 may be connected to the network 500 . The storage 1300 may non-temporarily store one or more computer programs 1500 . The storage 1300 may include a non-volatile memory such as a flash memory, a hard disk, a removable disk, or any type of computer-readable recording medium well known in the art to which embodiments of the present specification pertain. .

컴퓨터 프로그램(1500)은 본 명세서의 다양한 실시예들에 따른 방법/동작들이 구현된 하나 이상의 인스트럭션(instruction)들을 포함할 수 있다. 컴퓨터 프로그램(1500)이 메모리(1400)에 로드 되면, 프로세서(1100)는 상기 하나 이상의 인스트럭션들을 실행시킴으로써 본 명세서의 다양한 실시예들에 따른 방법/동작들을 수행할 수 있다. 컴퓨터 프로그램(1500)은, 상술한 통신 장치(100)의 동작을 위한 인스트럭션들을 포함할 수 있다. The computer program 1500 may include one or more instructions in which methods/operations according to various embodiments of the present specification are implemented. When the computer program 1500 is loaded into the memory 1400 , the processor 1100 may execute the one or more instructions to perform methods/operations according to various embodiments of the present specification. The computer program 1500 may include instructions for the operation of the above-described communication device 100 .

일 실시예로서, 컴퓨터 프로그램(1500)은 통신 장치가 요구하는 필요 대역폭을 확인하는 동작, 상기 필요 대역폭이 상기 통신 장치의 가용 대역폭을 초과하면, 가용 대역폭 측정을 위한 FEC 패킷 전송이 필요한지를 판별하는 동작, 상기 판별 결과 FEC 패킷 전송이 필요하지 않은 것으로 판별되면 FEC 데이터를 포함하지 않은 패킷을 상기 통신 장치로 전송하는 동작 및 상기 판별 결과 FEC 패킷이 전송이 필요하면 상기 통신 장치로 FEC 데이터를 포함하는 FEC 패킷을 전송하는 동작을 수행하기 위한 인스트럭션들을 포함할 수 있다.As an embodiment, the computer program 1500 checks the required bandwidth required by the communication device, and if the required bandwidth exceeds the available bandwidth of the communication device, determining whether FEC packet transmission for measuring the available bandwidth is required operation, if it is determined that FEC packet transmission is not required as a result of the determination, transmitting a packet that does not include FEC data to the communication device It may include instructions for performing an operation of transmitting the FEC packet.

다른 실시예로서, 상기 판별하는 동작은 상기 필요 대역폭이 직전의 측정된 필요 대역폭을 초과하는지 여부를 판별하여 초과하는 경우 상기 FEC 패킷 전송이 필요한 것으로 판별하는 동작을 포함할 수 있다.As another embodiment, the determining may include determining whether the necessary bandwidth exceeds the immediately measured required bandwidth, and determining that the FEC packet transmission is necessary when it exceeds.

또 다른 실시예로서, 상기 판별하는 동작은 상기 통신 장치에서 패킷 손실 또는 패킷 지연이 발생하는지 여부를 확인하여, 상기 패킷 손실 또는 패킷 지연이 발생하지 않은 경우에 상기 FEC 패킷 전송이 필요한 것으로 판별하는 동작을 포함할 수 있다.As another embodiment, the determining operation is an operation of determining whether packet loss or packet delay occurs in the communication device, and determining that the FEC packet transmission is necessary when the packet loss or packet delay does not occur may include

또 다른 실시예로서, 상기 판별하는 동작은 파일 전송을 위한 대역폭이 요청되지 않은 경우에, 상기 FEC 패킷 전송이 필요한 것으로 판별하는 동작을 포함할 수 있다.As another embodiment, the determining may include determining that the FEC packet transmission is necessary when a bandwidth for file transmission is not requested.

몇몇 실시예에서, 상기 FEC 패킷을 전송하는 동작은 상기 필요 대역폭과 상기 가용 대역폭의 차이를 기초로, 상기 FEC 데이터의 비트레이트를 설정하는 동작 및 상기 설정한 비트레이트를 기초로 상기 FEC 데이터를 생성하는 동작을 포함할 수 있다. 상기 생성하는 동작은, 오디오 데이터 또는 비디오 데이터의 에러를 정정하기 위한 상기 FEC 데이터를 생성하는 동작을 포함할 수 있다. In some embodiments, the transmitting of the FEC packet includes setting a bit rate of the FEC data based on a difference between the required bandwidth and the available bandwidth and generating the FEC data based on the set bit rate It may include an action to The generating may include generating the FEC data for correcting an error in audio data or video data.

지금까지 설명된 본 발명의 실시예에 따른 방법들은 컴퓨터가 읽을 수 있는 코드로 구현된 컴퓨터프로그램의 실행에 의하여 수행될 수 있다. 상기 컴퓨터프로그램은 인터넷 등의 네트워크를 통하여 제1 컴퓨팅 장치로부터 제2 컴퓨팅 장치에 전송되어 상기 제2 컴퓨팅 장치에 설치될 수 있고, 이로써 상기 제2 컴퓨팅 장치에서 사용될 수 있다. 상기 제1 컴퓨팅 장치 및 상기 제2 컴퓨팅 장치는, 서버 장치, 클라우드 서비스를 위한 서버 풀에 속한 물리 서버, 데스크탑 피씨와 같은 고정식 컴퓨팅 장치를 모두 포함한다.The methods according to the embodiments of the present invention described so far may be performed by executing a computer program embodied as computer readable code. The computer program may be transmitted from the first computing device to the second computing device through a network such as the Internet and installed in the second computing device, thereby being used in the second computing device. The first computing device and the second computing device include all of a server device, a physical server belonging to a server pool for a cloud service, and a stationary computing device such as a desktop PC.

상기 컴퓨터프로그램은 DVD-ROM, 플래시 메모리 장치 등의 기록매체에 저장된 것일 수도 있다.The computer program may be stored in a recording medium such as a DVD-ROM or a flash memory device.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로 이해해야만 한다.Although embodiments of the present invention have been described above with reference to the accompanying drawings, those of ordinary skill in the art to which the present invention pertains can realize that the present invention can be embodied in other specific forms without changing its technical spirit or essential features. can understand Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive.

Claims (16)

컴퓨팅 장치에 의해서 수행되는 방법에 있어서,
통신 장치가 요구하는 필요 대역폭을 확인하는 단계;
상기 필요 대역폭이 상기 통신 장치의 가용 대역폭을 초과하면, 가용 대역폭 측정을 위한 FEC 패킷 전송이 필요한지를 판별하는 단계;
상기 판별 결과 FEC(Forward Error Correction) 패킷 전송이 필요하지 않은 것으로 판별되면 FEC 데이터를 포함하지 않은 패킷을 상기 통신 장치로 전송하는 단계; 및
상기 판별 결과 FEC 패킷이 전송이 필요하면 상기 통신 장치로 FEC 데이터를 포함하는 FEC 패킷을 전송하는 단계를 포함하는,
FEC 패킷 전송 방법.
A method performed by a computing device, comprising:
identifying a required bandwidth required by the communication device;
determining whether FEC packet transmission for measuring the available bandwidth is required when the required bandwidth exceeds the available bandwidth of the communication device;
transmitting a packet including no FEC data to the communication device when it is determined that forward error correction (FEC) packet transmission is not required as a result of the determination; and
Comprising the step of transmitting the FEC packet including the FEC data to the communication device if the FEC packet needs to be transmitted as a result of the determination,
FEC packet transmission method.
제1 항에 있어서,
상기 판별하는 단계는,
상기 필요 대역폭이 직전의 측정된 필요 대역폭을 초과하는지 여부를 판별하여 초과하는 경우 상기 FEC 패킷 전송이 필요한 것으로 판별하는 단계를 포함하는,
FEC 패킷 전송 방법.
According to claim 1,
The determining step is
Comprising the step of determining whether the required bandwidth exceeds the immediately measured required bandwidth, and determining that the FEC packet transmission is necessary if it exceeds,
FEC packet transmission method.
제1 항에 있어서,
상기 판별하는 단계는,
상기 통신 장치에서 패킷 손실 또는 패킷 지연이 발생하는지 여부를 확인하여, 상기 패킷 손실 또는 패킷 지연이 발생하지 않은 경우에 상기 FEC 패킷 전송이 필요한 것으로 판별하는 단계를 포함하는,
FEC 패킷 전송 방법.
According to claim 1,
The determining step is
Checking whether a packet loss or packet delay occurs in the communication device, and determining that the FEC packet transmission is necessary when the packet loss or packet delay does not occur.
FEC packet transmission method.
제1 항에 있어서,
상기 판별하는 단계는,
파일 전송을 위한 대역폭이 요청되지 않은 경우에, 상기 FEC 패킷 전송이 필요한 것으로 판별하는 단계를 포함하는,
FEC 패킷 전송 방법.
According to claim 1,
The determining step is
Comprising the step of determining that the FEC packet transmission is necessary when the bandwidth for file transmission is not requested,
FEC packet transmission method.
제1 항에 있어서,
상기 필요 대역폭이 상기 가용 대역폭 이하이면 FEC 데이터를 포함하지 않은 패킷을 상기 통신 장치로 전송하는 단계를 더 포함하는,
FEC 패킷 전송 방법.
According to claim 1,
If the required bandwidth is less than or equal to the available bandwidth, further comprising the step of transmitting a packet that does not include FEC data to the communication device,
FEC packet transmission method.
제1 항에 있어서,
상기 FEC 패킷을 전송하는 단계는,
상기 필요 대역폭과 상기 가용 대역폭의 차이를 기초로, 상기 FEC 데이터의 비트레이트를 설정하는 단계; 및
상기 설정한 비트레이트를 기초로 상기 FEC 데이터를 생성하는 단계를 포함하는,
FEC 패킷 전송 방법.
According to claim 1,
Transmitting the FEC packet comprises:
setting a bit rate of the FEC data based on a difference between the required bandwidth and the available bandwidth; and
Comprising the step of generating the FEC data based on the set bit rate,
FEC packet transmission method.
제6 항에 있어서,
상기 생성하는 단계는,
오디오 데이터 또는 비디오 데이터의 에러를 정정하기 위한 상기 FEC 데이터를 생성하는 단계를 포함하는,
FEC 패킷 전송 방법.
7. The method of claim 6,
The generating step is
generating the FEC data for correcting errors in audio data or video data;
FEC packet transmission method.
제7항에 있어서,
상기 생성하는 단계는,
상기 통신 장치로부터 오디오 대역폭을 요청받으면 상기 오디오 데이터 에러를 정정하기 위한 FEC 데이터를 생성하고, 상기 통신 장치로부터 오디오 대역폭을 요청받지 않고 비디오 대역폭을 요청받으면 상기 비디오 데이터 에러를 정정하기 위한 FEC 데이터를 생성하는 단계를 포함하는,
FEC 패킷 전송 방법.
8. The method of claim 7,
The generating step is
When receiving an audio bandwidth request from the communication device, FEC data for correcting the audio data error is generated, and when receiving a video bandwidth request without an audio bandwidth request from the communication device, FEC data for correcting the video data error is generated. comprising the step of
FEC packet transmission method.
제1 항에 있어서,
상기 통신 장치와 단일 채널을 형성하는 단계; 및
상기 단일 채널을 이용하여 영상 데이터, 오디오 데이터, 제어 데이터, 파일 데이터 중에서 적어도 하나 이상을 수신하거나 송신하는 단계를 더 포함하는,
FEC 패킷 전송 방법.
According to claim 1,
establishing a single channel with the communication device; and
The method further comprises receiving or transmitting at least one of image data, audio data, control data, and file data using the single channel.
FEC packet transmission method.
제9 항에 있어서,
상기 필요 대역폭 내에서, 영상 데이터, 오디오 데이터, 제어 데이터, 파일 데이터 각각의 대역폭을 할당하는 단계를 더 포함하는,
FEC 패킷 전송 방법.
10. The method of claim 9,
Further comprising the step of allocating bandwidths of video data, audio data, control data, and file data within the required bandwidth,
FEC packet transmission method.
하나 이상의 프로세서;
상기 프로세서에 의하여 수행되는 컴퓨터 프로그램을 로드(load)하는 메모리; 및
상기 컴퓨터 프로그램을 저장하는 스토리지를 포함하되,
상기 컴퓨터 프로그램은,
통신 장치가 요구하는 채널의 필요 대역폭을 확인하는 동작,
상기 필요 대역폭이 상기 채널의 가용 대역폭을 초과하면, 가용 대역폭 측정을 위한 FEC (Forward Error Correction) 패킷 전송이 필요한지를 판별하는 동작,
상기 판별 결과 FEC 패킷 전송이 필요하지 않은 것으로 판별되면 FEC 데이터를 포함하지 않은 패킷을 상기 통신 장치로 전송하는 동작, 및
상기 판별 결과 FEC 패킷이 전송이 필요하면 상기 통신 장치로 FEC 데이터를 포함하는 FEC 패킷을 전송하는 동작을 수행하기 위한 인스트럭션들(instructions)을 포함하는,
컴퓨팅 장치.
one or more processors;
a memory for loading a computer program executed by the processor; and
A storage for storing the computer program,
The computer program is
Checking the required bandwidth of the channel requested by the communication device;
When the required bandwidth exceeds the available bandwidth of the channel, determining whether Forward Error Correction (FEC) packet transmission for measuring the available bandwidth is required;
If it is determined that FEC packet transmission is not required as a result of the determination, transmitting a packet not including FEC data to the communication device; and
As a result of the determination, if the FEC packet needs to be transmitted, including instructions for transmitting the FEC packet including the FEC data to the communication device.
computing device.
제11 항에 있어서,
상기 판별하는 동작은,
상기 필요 대역폭이 직전의 측정된 필요 대역폭을 초과하는지 여부를 판별하여 초과하는 경우 상기 FEC 패킷 전송이 필요한 것으로 판별하는 동작을 포함하는,
컴퓨팅 장치.
12. The method of claim 11,
The determining operation is
Comprising the operation of determining whether the required bandwidth exceeds the immediately measured required bandwidth, and determining that the FEC packet transmission is necessary if it exceeds,
computing device.
제11 항에 있어서,
상기 판별하는 동작은,
상기 통신 장치에서 패킷 손실 또는 패킷 지연이 발생하는지 여부를 확인하여, 상기 패킷 손실 또는 패킷 지연이 발생하지 않은 경우에 상기 FEC 패킷 전송이 필요한 것으로 판별하는 동작을 포함하는,
컴퓨팅 장치.
12. The method of claim 11,
The determining operation is
Checking whether a packet loss or packet delay occurs in the communication device, and determining that the FEC packet transmission is necessary when the packet loss or packet delay does not occur.
computing device.
제11 항에 있어서,
상기 판별하는 동작은,
파일 전송을 위한 대역폭이 요청되지 않은 경우에, 상기 FEC 패킷 전송이 필요한 것으로 판별하는 동작을 포함하는,
컴퓨팅 장치.
12. The method of claim 11,
The determining operation is
When the bandwidth for file transmission is not requested, comprising the operation of determining that the FEC packet transmission is necessary,
computing device.
제11 항에 있어서,
상기 FEC 패킷을 전송하는 동작은,
상기 필요 대역폭과 상기 가용 대역폭의 차이를 기초로, 상기 FEC 데이터의 비트레이트를 설정하는 동작, 및
상기 설정한 비트레이트를 기초로 상기 FEC 데이터를 생성하는 동작을 포함하는,
컴퓨팅 장치.
12. The method of claim 11,
The operation of transmitting the FEC packet is,
setting a bit rate of the FEC data based on a difference between the required bandwidth and the available bandwidth; and
Including the operation of generating the FEC data based on the set bit rate,
computing device.
제15 항에 있어서,
상기 생성하는 동작은,
오디오 데이터 또는 비디오 데이터의 에러를 정정하기 위한 상기 FEC 데이터를 생성하는 동작을 포함하는,
컴퓨팅 장치.
16. The method of claim 15,
The generating operation is
generating the FEC data for correcting errors in audio data or video data;
computing device.
KR1020200146789A 2020-11-05 2020-11-05 Method and apparatus for sening forward error correction packet KR20220060795A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200146789A KR20220060795A (en) 2020-11-05 2020-11-05 Method and apparatus for sening forward error correction packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200146789A KR20220060795A (en) 2020-11-05 2020-11-05 Method and apparatus for sening forward error correction packet

Publications (1)

Publication Number Publication Date
KR20220060795A true KR20220060795A (en) 2022-05-12

Family

ID=81590634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200146789A KR20220060795A (en) 2020-11-05 2020-11-05 Method and apparatus for sening forward error correction packet

Country Status (1)

Country Link
KR (1) KR20220060795A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150005998A (en) 2012-05-21 2015-01-15 알까뗄 루슨트 System and method for multi-channel fec encoding and transmission of data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150005998A (en) 2012-05-21 2015-01-15 알까뗄 루슨트 System and method for multi-channel fec encoding and transmission of data

Similar Documents

Publication Publication Date Title
EP2856730B1 (en) Method and apparatus for bandwidth allocation and estimation
US7779131B2 (en) Server and communication control method
JP2007536796A (en) Fast startup for streaming media
EP3621342A1 (en) Method and device for acquiring network resource, and scheduling server
KR20220060795A (en) Method and apparatus for sening forward error correction packet
US20170063643A1 (en) Method and server for guaranteeing service level of peer
US10645128B2 (en) Media session processing method, related device, and communications system
WO2021110167A1 (en) Ad hoc cascade method, audio collection device, conference system, and storage medium
CN112532579B (en) Communication system
EP3057266A1 (en) Distribution of bandwidth in a network
US20160212074A1 (en) Systems and methods for adaptive context-aware control of multimedia communication sessions
KR20220053151A (en) Method and apparatus for controlling peer to peer connection
KR102501233B1 (en) Method for service video conference and apparatus for executing the method
KR20220070781A (en) Method, apparatus and system for controlling peer to peer connection
KR102483884B1 (en) Method and apparatus for syncronizing state information of plural terminals
CN115277806A (en) Cloud desktop connection method, device and equipment
CN106899510B (en) Transmission rate control method and device based on iSCSI protocol
KR20220116248A (en) Context-dependent in-call video codec switching
US10504482B2 (en) Smart small form-factor pluggable (SFP) transceiver
US9819598B2 (en) Information processing system, information processing apparatus, and non-transitory computer readable medium
CN109413468B (en) Video playing method, device, storage medium and split type electronic equipment
KR20210051271A (en) Apparatus and method for transmitting data for transmission guarantee
CN112055365B (en) Method and device for terminal networking, terminal and readable storage medium
CN115426335B (en) Information interaction method, device, equipment and system
US11330228B1 (en) Perceived content quality through dynamic adjustment of processing settings

Legal Events

Date Code Title Description
A201 Request for examination