KR20210077841A - Method and apparatus for providing high quality real time media streaming service with low latency - Google Patents

Method and apparatus for providing high quality real time media streaming service with low latency Download PDF

Info

Publication number
KR20210077841A
KR20210077841A KR1020190168870A KR20190168870A KR20210077841A KR 20210077841 A KR20210077841 A KR 20210077841A KR 1020190168870 A KR1020190168870 A KR 1020190168870A KR 20190168870 A KR20190168870 A KR 20190168870A KR 20210077841 A KR20210077841 A KR 20210077841A
Authority
KR
South Korea
Prior art keywords
packet
time
path
udp
transmission
Prior art date
Application number
KR1020190168870A
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 KR1020190168870A priority Critical patent/KR20210077841A/en
Publication of KR20210077841A publication Critical patent/KR20210077841A/en

Links

Images

Classifications

    • 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/28Flow control; Congestion control in relation to timing considerations
    • 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/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • H04L45/3065Route determination based on the nature of the carried application for real time traffic
    • 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/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available

Abstract

Provided are a method of providing a high-quality/low-latency real-time media streaming service and an apparatus thereof. The method, which is a method of operating an apparatus for managing the quality of experience (QoE), includes the following steps of: collecting transmission information of real-time media stream packets and condition information about each of a plurality of wireless networks from a multichannel client dividing and transmitting the packets through the plurality of wireless networks, respectively; calculating buffering time and transmission time intervals for a packet having a changed jitter, based on the transmission information of the packets and the condition information; and transmitting the calculated buffering time and transmission time intervals to a multichannel gateway merging the media stream packets received from the multichannel client through the plurality of wireless networks to transmit the same to a terminal. The buffering time and transmission time intervals are used to restore the packet having the changed jitter as an original packet transmitted from the multichannel client.

Description

고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하는 방법 및 그 장치{METHOD AND APPARATUS FOR PROVIDING HIGH QUALITY REAL TIME MEDIA STREAMING SERVICE WITH LOW LATENCY}Method and device for providing high-quality, low-latency real-time media streaming service {METHOD AND APPARATUS FOR PROVIDING HIGH QUALITY REAL TIME MEDIA STREAMING SERVICE WITH LOW LATENCY}

본 발명은 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하는 방법 및 그 장치에 관한 것이다.The present invention relates to a method and apparatus for providing a high-quality, low-latency real-time media streaming service.

고품질 저지연 실시간 미디어 스트리밍 서비스는 UHD(Ultra High Definition) 콘텐츠와 같은 고품질 멀티미디어 콘텐츠의 저지연 전송을 제공한다.The high-quality, low-latency real-time media streaming service provides low-latency transmission of high-quality multimedia content such as Ultra High Definition (UHD) content.

일반적으로, 고품질 저지연 실시간 미디어 스트리밍 서비스는 전용 회선 기반의 유선망에서 UDP(User Datagram Protocol) 기반으로 동작한다. UDP를 사용하는 이유는 영상 인코딩/디코딩 측면에서 고속 처리가 가능하고, 일정한 간격으로 전송할 수 있어 실시간 미디어 스트리밍에 필요한 고정비트율(Constant Bit Rate, CBR)을 사용할 수 있다. 그러나, UDP는 데이터 수신에 대한 책임을 지지 않으므로, 안정성을 보장하지 못한다. 따라서, UDP는 빠르고 안정적인 전용 회선 기반의 유선망에서 사용된다. In general, a high-quality, low-latency real-time media streaming service operates based on User Datagram Protocol (UDP) in a dedicated line-based wired network. The reason for using UDP is that it enables high-speed processing in terms of video encoding/decoding and transmission at regular intervals, so that the Constant Bit Rate (CBR) required for real-time media streaming can be used. However, since UDP is not responsible for data reception, it does not guarantee stability. Therefore, UDP is used in a fast and reliable dedicated line-based wired network.

최근, 스마트 기기의 보편화로 무선망에서 미디어 스트리밍 서비스에 대한 수요가 급격하게 증가하고 있다. 게다가 기존 LTE(Long-Term Evolution)에 비해 최소 10배에서 최대 1000배 빠른 속도를 지원하는 5G 서비스가 제공되고 있다. 따라서, 무선망 환경에서 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하기를 원하는 사용자 수요는 증가할 것으로 예상된다.Recently, with the generalization of smart devices, the demand for a media streaming service in a wireless network is rapidly increasing. In addition, 5G services that support speeds that are at least 10 times and up to 1000 times faster than the existing LTE (Long-Term Evolution) are being provided. Therefore, the demand of users who want to provide a high-quality, low-latency real-time media streaming service in a wireless network environment is expected to increase.

무선망은 시간에 따라 패킷 손실율과 전송 대역폭이 변화하고, 이에 따라 고용량 멀티미디어 데이터의 전송시에 끊김 현상이 자주 발생한다. 따라서, 기존에 전용 회선 기반의 유선망에서 제공되는 UDP를 사용한 미디어 스트리밍 서비스는 불안정적인 무선망 환경에서는 사용하기 어렵다.In the wireless network, the packet loss rate and transmission bandwidth change over time, and accordingly, the phenomenon of disconnection occurs frequently in the transmission of high-capacity multimedia data. Therefore, it is difficult to use the media streaming service using UDP provided in the existing dedicated line-based wired network in an unstable wireless network environment.

본 발명이 해결하고자 하는 과제는 UDP(User Datagram Protocol)를 사용하는 미디어 스트리밍 서비스를 지터 안정화(Jitter Stable) 기술을 이용하여 VPN(Virtual private network) 기반의 다중망(Multi-net)을 통해 무선망에서 안정적으로 제공하는 방법 및 그 장치를 제공하는 것이다.The problem to be solved by the present invention is to provide a media streaming service using UDP (User Datagram Protocol) to a wireless network through a virtual private network (VPN)-based multi-net using Jitter Stable technology. It is to provide a method and an apparatus for stably providing the same.

본 발명의 한 실시예에 따르면, 체감 품질(Quality of Experience, QoE)을 관리하는 장치의 동작 방법으로서, 실시간 미디어 스트림 패킷을 분할하여 복수의 무선망을 통해 각각 전송하는 다중 경로 클라이언트로부터 상기 패킷의 전송 정보 및 상기 복수의 무선망 각각에 대한 상태 정보를 수집하는 단계, 상기 패킷의 전송 정보 및 상기 상태 정보를 이용하여, 지터(Jitter)가 변화한 패킷을 위한 버퍼링 시간 및 전송 시간 간격을 계산하는 단계, 그리고 상기 다중 경로 클라이언트로부터 상기 복수의 무선망을 통해 수신한 미디어 스트림 패킷들을 병합하여 단말로 전송하는 다중 경로 게이트웨이에게 상기 계산한 버퍼링 시간 및 전송 시간 간격을 전송하는 단계를 포함하고, 상기 버퍼링 시간 및 상기 전송 시간 간격은, 상기 지터가 변화한 패킷을 상기 다중 경로 클라이언트에서 전송된 원 패킷으로 복원하는데 사용된다. According to an embodiment of the present invention, as a method of operating an apparatus for managing quality of experience (QoE), the packet is transmitted from a multi-path client that divides a real-time media stream packet and transmits the packet through a plurality of wireless networks. Collecting transmission information and status information for each of the plurality of wireless networks, using the transmission information of the packet and the status information, calculating a buffering time and transmission time interval for a packet with a changed jitter and transmitting the calculated buffering time and transmission time interval to a multi-path gateway that merges the media stream packets received from the multi-path client through the plurality of wireless networks and transmits them to the terminal. The time and the transmission time interval are used to restore the jitter-changed packet to the original packet transmitted from the multi-path client.

상기 전송하는 단계 이후, 상기 다중 경로 게이트웨이로부터 수신한 지터 버퍼의 큐 길이 변화 정보를 이용하여 상기 버퍼링 시간 및 상기 전송 시간 간격을 재계산하고, 재계산한 버퍼링 시간 및 전송 시간 간격을 상기 다중 경로 게이트웨이에게 전송하는 단계를 더 포함하고, 상기 지터 버퍼는, 상기 지터가 변화한 패킷을 상기 버퍼링 시간 동안 버퍼링 한 후, 상기 전송 시간 간격 단위로 출력할 수 있다.After the step of transmitting, the buffering time and the transmission time interval are recalculated using the queue length change information of the jitter buffer received from the multi-path gateway, and the recalculated buffering time and the transmission time interval are set to the multi-path gateway. The method may further include transmitting the jitter buffer to the jitter buffer, and after buffering the jitter-changed packet for the buffering time, output the jitter buffer in units of the transmission time interval.

상기 패킷은, 고정비트율(Constant Bit Rate, CBR)을 사용하는 UDP(User Datagram Protocol) 패킷일 수 있다.The packet may be a User Datagram Protocol (UDP) packet using a constant bit rate (CBR).

상기 패킷의 전송 정보는, 상기 다중 경로 클라이언트에서 소정의 시간 단위로 전송되는 상기 패킷의 단위 시간당 패킷 수 및 상기 패킷의 평균 크기를 포함할 수 있다.The packet transmission information may include the number of packets per unit time of the packet transmitted in a predetermined time unit from the multi-path client and an average size of the packets.

상기 상태 정보는, 상기 복수의 무선망 각각에 대하여 상기 다중 경로 클라이언트가 측정한 정보를 포함하고, 상기 측정한 정보는, RTT(Round Trip Time) 및 대역폭(BW)을 포함할 수 있다.The status information may include information measured by the multi-path client for each of the plurality of wireless networks, and the measured information may include a Round Trip Time (RTT) and a bandwidth (BW).

상기 전송 시간 간격은, 상기 패킷의 전송 정보에 포함된 패킷 전송 간격 및 상기 복수의 무선망 각각에서 전송할 수 있는 초당 패킷 수의 최대값을 이용하여 계산되고, 상기 초당 패킷 수의 최대값은, 상기 복수의 무선망 각각에서 측정된 RTT(Round Trip Time)의 평균값, 상기 패킷의 전송 정보에 포함된 전송 패킷의 평균 크기 및 상기 복수의 무선망 각각의 대역폭을 이용하여 계산될 수 있다.The transmission time interval is calculated using a packet transmission interval included in the packet transmission information and a maximum value of the number of packets per second that can be transmitted in each of the plurality of wireless networks, and the maximum value of the number of packets per second is, The calculation may be performed using an average value of Round Trip Time (RTT) measured in each of a plurality of wireless networks, an average size of a transport packet included in the transmission information of the packet, and a bandwidth of each of the plurality of wireless networks.

상기 버퍼링 시간은, 최대 버퍼링 시간, 상기 패킷 전송 간격 및 상기 전송 시간 간격을 이용하여 계산되고, 상기 최대 버퍼링 시간은, 사전에 설정된 값일 수 있다.The buffering time may be calculated using a maximum buffering time, the packet transmission interval, and the transmission time interval, and the maximum buffering time may be a preset value.

상기 수집하는 단계 이후, 상기 복수의 무선망 각각에서 측정된 RTT(Round Trip Time)값들의 표준편차를 계산하여 무선망 상태 변화가 가장 적은 순서대로 우선순위를 결정하고, 우선순위 결정 정보를 상기 다중 경로 클라이언트에게 전송하는 단계를 더 포함하고, 상기 우선순위 결정 정보는, 상기 다중 경로 클라이언트가 상기 패킷을 복수의 망을 통해 전송할때 사용될 수 있다.After the collecting step, by calculating the standard deviation of the RTT (Round Trip Time) values measured in each of the plurality of wireless networks, the priority is determined in the order of the least change in the wireless network state, and the prioritization information is divided into the multiple The method further includes transmitting the packet to a path client, wherein the prioritization information may be used when the multi-path client transmits the packet through a plurality of networks.

본 발명의 다른 실시예에 따르면, 다중 경로 게이트웨이의 동작 방법으로서, 체감 품질(Quality of Experience, QoE)을 관리하는 장치로부터 지터(Jitter)가 변화한 패킷을 상기 다중 경로 클라이언트에서 전송된 원 패킷으로 복원하기 위한 버퍼링 시간 및 전송 시간 간격을 수신하는 단계, 다중 경로 클라이언트로부터 복수의 무선망을 통해 분할된 실시간 미디어 스트림 패킷을 수신하여 하나의 패킷으로 병합하는 단계, 그리고 병합한 패킷을 지터 버퍼에서 상기 버퍼링 시간만큼 버퍼링한 후, 상기 전송 시간 간격으로 단말에게 전송하는 단계를 포함한다.According to another embodiment of the present invention, as a method of operating a multi-path gateway, a packet whose jitter is changed from a device for managing Quality of Experience (QoE) is converted to an original packet transmitted from the multi-path client. Receiving a buffering time and a transmission time interval for recovery, receiving the segmented real-time media stream packets from a multi-path client through a plurality of wireless networks and merging them into one packet, and merging the merged packets in the jitter buffer After buffering for a buffering time, transmitting to the terminal at the transmission time interval.

상기 전송하는 단계 이후, 상기 지터 버퍼의 큐 길이 변화 정보를 상기 체감 품질을 관리하는 장치로 전송하는 단계, 상기 큐 길이 변화 정보가 반영되어 재계산된 버퍼링 시간 및 전송 시간 간격을 상기 체감 품질을 관리하는 장치로부터 수신하는 단계, 그리고 상기 병합한 패킷을 상기 지터 버퍼에서 상기 재계산된 버퍼링 시간만큼 버퍼링한 후, 상기 재계산된 전송 시간 간격으로 단말에게 전송하는 단계를 더 포함할 수 있다.After the transmitting step, transmitting the queue length change information of the jitter buffer to the apparatus for managing the quality of experience, the buffering time and transmission time interval recalculated by reflecting the queue length change information to manage the quality of experience The method may further include the steps of: receiving the merged packet in the jitter buffer by the recalculated buffering time, and then transmitting the merged packet to the terminal at the recalculated transmission time interval.

상기 병합하는 단계는, 상기 분할된 실시간 미디어 스트림 패킷을 하나의 TCP(Transmission Control Protocol) 패킷으로 병합하고, 상기 병합하는 단계와 상기 전송하는 단계 사이에, 상기 하나의 TCP 패킷으로부터 다중 병합 터널링 헤더 및 VPN(Virtual Private Network) 터널링 헤더를 제거하여 UDP(User Datagram Protocol) 패킷으로 복원하는 단계를 더 포함하고, 상기 전송하는 단계는, 상기 UDP 패킷을 상기 지터 버퍼에서 상기 버퍼링 시간만큼 버퍼링한 후, 상기 전송 시간 간격으로 단말에게 전송할 수 있다.The merging may include merging the divided real-time media stream packets into one Transmission Control Protocol (TCP) packet, and between the merging and transmitting, multiple merge tunneling headers and The method further comprising the step of removing a VPN (Virtual Private Network) tunneling header to restore a User Datagram Protocol (UDP) packet, wherein the transmitting includes buffering the UDP packet by the buffering time in the jitter buffer and then It can be transmitted to the terminal at the transmission time interval.

상기 UDP 패킷은, 고정비트율(Constant Bit Rate, CBR)을 사용하여 소정의 시간 단위로 전송되고, 상기 전송 시간 간격은, 상기 다중 경로 클라이언트에서 측정된 상기 UDP 패킷의 단위 시간당 패킷 수와 상기 복수의 무선망 각각에서 전송할 수 있는 단위 시간당 최대 패킷 수를 이용하여 계산되며, 상기 버퍼링 시간은, 상기 UDP 패킷의 단위 시간당 패킷 수 및 상기 전송 시간 간격을 이용하여 계산될 수 있다.The UDP packet is transmitted in a predetermined time unit using a constant bit rate (CBR), and the transmission time interval is the number of packets per unit time of the UDP packet measured by the multi-path client and the plurality of packets. It is calculated using the maximum number of packets per unit time that can be transmitted in each wireless network, and the buffering time can be calculated using the number of packets per unit time of the UDP packet and the transmission time interval.

본 발명의 또 다른 특징에 따르면, 체감 품질 관리 장치는 다중 경로 클라이언트 및 다중 경로 게이트웨이와 각각 연결되는 통신 인터페이스, 프로그램을 저장하는 메모리, 그리고 상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고, 상기 다중 경로 클라이언트는, UDP(User Datagram Protocol)를 사용하는 실시간 미디어 스트림 패킷을 분할하여 복수의 무선망을 통해 각각 전송하고, 상기 다중 경로 게이트웨이는, 상기 분할된 실시간 미디어 스트림 패킷을 수신하여 하나의 패킷으로 병합하여 단말로 전송하며, 상기 프로세서는, 상기 다중 경로 클라이언트로부터 상기 실시간 미디어 스트림 패킷의 전송 정보 및 상기 복수의 무선망 각각에 대한 상태 정보를 수집하는 단계, 상기 패킷의 전송 정보 및 상기 상태 정보를 이용하여 지터(Jitter) 안정화 값을 계산하는 단계, 그리고 상기 지터 안정화 값을 상기 다중 경로 게이트웨이에게 전송하는 단계를 실행하고, 상기 지터 안정화 값은, 상기 다중 경로 게이트웨이가 상기 복수의 무선망을 통해 수신한 지터가 변화한 패킷을 상기 다중 경로 클라이언트가 전송한 원 패킷으로 복원하는데 사용된다.According to another feature of the present invention, the quality of experience management apparatus includes a communication interface respectively connected to a multi-path client and a multi-path gateway, a memory storing a program, and at least one processor executing the program, The path client divides the real-time media stream packet using UDP (User Datagram Protocol) and transmits it through a plurality of wireless networks, respectively, and the multi-path gateway receives the divided real-time media stream packet and converts it into one packet. collecting the transmission information of the real-time media stream packet and the status information for each of the plurality of wireless networks from the multi-path client, the processor collects the transmission information of the packet and the status information calculating a jitter stabilization value using the method, and transmitting the jitter stabilization value to the multi-path gateway, wherein the jitter stabilization value is received by the multi-path gateway through the plurality of wireless networks It is used to restore the jitter-changed packet to the original packet transmitted by the multi-path client.

상기 지터 안정화 값은, 버퍼링 시간 및 전송 시간 간격을 포함하고, 상기 버퍼링 시간 및 상기 전송 시간 간격은, 상기 다중 경로 게이트웨이의 지터 버퍼에서 상기 하나의 패킷을 버퍼링한 후, 일정한 시간 단위로 상기 단말에게 전송하는데 사용될 수 있다.The jitter stabilization value includes a buffering time and a transmission time interval, and the buffering time and the transmission time interval are, after buffering the one packet in the jitter buffer of the multi-path gateway, to the terminal at a constant time unit. can be used to transmit.

상기 전송하는 단계 이후, 상기 지터 버퍼의 큐 길이 변화 정보를 상기 다중 경로 게이트웨이로부터 수신하는 단계, 그리고 상기 큐 길이 변화 정보를 반영하여 상기 버퍼링 시간 및 상기 전송 시간 간격을 계산하여, 상기 다중 경로 게이트웨이로 전송하는 단계를 더 포함할 수 있다.After the transmitting step, receiving the queue length change information of the jitter buffer from the multi-path gateway, and calculating the buffering time and the transmission time interval by reflecting the queue length change information to the multi-path gateway It may further include the step of transmitting.

실시예에 따르면, 기존의 방송용 인코더 및 디코더를 그대로 사용하여, 어디서나 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공할 수 있다. 따라서, 고품질 실시간 방송이 필요한 고객에게 보다 쉽게 인프라를 제공 할 수 있고 고비용의 전용회선 유선망 대비 저비용 무선망을 활용하여 비용 절감 효과도 얻을 수 있다.According to the embodiment, by using the existing encoder and decoder for broadcasting as it is, it is possible to provide a high-quality, low-latency real-time media streaming service anywhere. Therefore, infrastructure can be more easily provided to customers who need high-quality real-time broadcasting, and cost savings can be obtained by using a low-cost wireless network compared to a high-cost leased-line wired network.

도 1은 본 발명의 실시예에 따른 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하는 멀티무선망 시스템의 구성도이다.
도 2는 도 1의 다중 경로 클라이언트 및 다중 경로 게이트웨이 각각의 세부 구성 및 연결 관계를 나타낸 도면이다.
도 3은 본 발명의 한 실시예에 따른 고품질 저지연 실시간 미디어 스트리밍 서비스 방법을 나타낸 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 고품질 저지연 실시간 미디어 스트리밍 서비스 방법을 나타낸 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른 고품질 저지연 실시간 미디어 스트리밍 서비스 방법을 나타낸 흐름도이다.
도 6은 본 발명의 실시예에 따른 하드웨어 구성도이다.
1 is a block diagram of a multi-wireless network system that provides a high-quality, low-latency real-time media streaming service according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a detailed configuration and connection relationship of each of the multi-path client and the multi-path gateway of FIG. 1 .
Figure 3 is a flow chart showing a high-quality, low-delay real-time media streaming service method according to an embodiment of the present invention.
Figure 4 is a flow chart showing a high-quality low-delay real-time media streaming service method according to another embodiment of the present invention.
5 is a flowchart showing a high-quality, low-latency real-time media streaming service method according to another embodiment of the present invention.
6 is a hardware configuration diagram according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those of ordinary skill in the art to which the present invention pertains can easily implement them. However, the present invention may be embodied in various different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part "includes" a certain element, it means that other elements may be further included, rather than excluding other elements, unless otherwise stated.

또한, 명세서에 기재된 "…부", "…기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.In addition, terms such as “…unit”, “…group”, and “module” described in the specification mean a unit that processes at least one function or operation, which may be implemented by hardware or software or a combination of hardware and software. have.

본 발명에서 설명하는 장치들은 적어도 하나의 프로세서, 메모리 장치, 통신 장치 등을 포함하는 하드웨어로 구성되고, 지정된 장소에 하드웨어와 결합되어 실행되는 프로그램이 저장된다. 하드웨어는 본 발명의 방법을 실행할 수 있는 구성과 성능을 가진다. 프로그램은 도면들을 참고로 설명한 본 발명의 동작 방법을 구현한 명령어(instructions)를 포함하고, 프로세서와 메모리 장치 등의 하드웨어와 결합하여 본 발명을 실행한다.The devices described in the present invention are composed of hardware including at least one processor, a memory device, a communication device, and the like, and a program executed in combination with the hardware is stored in a designated place. The hardware has the configuration and capability to implement the method of the present invention. The program includes instructions for implementing the method of operation of the present invention described with reference to the drawings, and is combined with hardware such as a processor and a memory device to execute the present invention.

본 명세서에서 "전송 또는 제공"은 직접적인 전송 또는 제공하는 것 뿐만 아니라 다른 장치를 통해 또는 우회 경로를 이용하여 간접적으로 전송 또는 제공도 포함할 수 있다.As used herein, "transmission or provision" may include not only direct transmission or provision, but also transmission or provision indirectly through another device or using a detour path.

본 명세서에서 단수로 기재된 표현은 "하나" 또는 "단일" 등의 명시적인 표현을 사용하지 않은 이상, 단수 또는 복수로 해석될 수 있다.In the present specification, expressions described in the singular may be construed in the singular or plural unless an explicit expression such as “a” or “single” is used.

본 명세서에서 도면에 관계없이 동일한 도면번호는 동일한 구성요소를 지칭하며, "및/또는" 은 언급된 구성 요소들의 각각 및 하나 이상의 모든 조합을 포함한다.In this specification, the same reference numbers refer to the same components regardless of the drawings, and "and/or" includes each and every combination of one or more of the referenced components.

본 명세서에서, 제1, 제2 등과 같이 서수를 포함하는 용어들은 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.In this specification, terms including an ordinal number such as first, second, etc. may be used to describe various elements, but the elements are not limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present disclosure, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component.

본 명세서에서 도면을 참고하여 설명한 흐름도에서, 동작 순서는 변경될 수 있고, 여러 동작들이 병합되거나, 어느 동작이 분할될 수 있고, 특정 동작은 수행되지 않을 수 있다.In the flowchart described with reference to the drawings in this specification, the order of operations may be changed, several operations may be merged, some operations may be divided, and specific operations may not be performed.

본 명세서에서 단말은 통신에서의 사용자 단말을 의미하는 포괄적 개념으로서, UE(User Equipment), MS(Mobile Station), MT(Mobile Terminal), SS(Subscriber Station), PSS(Portable Subscriber Station), AT(Access Terminal), 이동국, 이동 단말, 가입자국, 휴대 가입자국, 사용자 장치, 접근 단말, 무선 기기 등의 용어로 불릴 수도 있고, UE, MS, MT, SS, PSS, AT, 이동국, 이동 단말, 가입자국, 휴대 가입자국, 사용자 장치, 접근 단말, 무선 기기 등의 전부 또는 일부의 기능을 포함할 수도 있다.In the present specification, a terminal is a generic concept meaning a user terminal in communication, and is a user equipment (UE), a mobile station (MS), a mobile terminal (MT), a subscriber station (SS), a portable subscriber station (PSS), and an AT ( Access Terminal), mobile station, mobile terminal, subscriber station, portable subscriber station, user equipment, access terminal, wireless device, etc., may be called terms such as UE, MS, MT, SS, PSS, AT, mobile station, mobile terminal, subscription It may include all or part of the functions of a home country, a portable subscriber station, a user equipment, an access terminal, a wireless device, and the like.

단말은 기지국(base station, BS), 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 고도화 노드B(evolved NodeB, eNodeB), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등과 같은 네트워크 장치에 접속하여 원격의 서버에 연결될 수 있다.A terminal is a base station (BS), an access point (Access Point, AP), a radio access station (RAS), a Node B (Node B), an advanced Node B (evolved NodeB, eNodeB), a transmission and reception base station ( It can be connected to a remote server by accessing a network device such as a Base Transceiver Station (BTS) or Mobile Multihop Relay (MMR)-BS.

기지국(Base Station, BS)은 접근점(Access Point, AP), 무선 접근국(Radio Access Station, RAS), 노드B(Node B), 송수신 기지국(Base Transceiver Station, BTS), MMR(Mobile Multihop Relay)-BS 등을 지칭할 수도 있고, 접근점, 무선 접근국, 노드B, 송수신 기지국, MMR-BS 등의 전부 또는 일부의 기능을 포함할 수도 있다.Base Station (BS) is an Access Point (AP), Radio Access Station (RAS), Node B (Node B), Base Transceiver Station (BTS), MMR (Mobile Multihop Relay) )-BS, etc. may refer to, and may include all or some functions of an access point, a radio access station, a Node B, a transceiver base station, an MMR-BS, and the like.

본 명세서의 단말은 스마트폰과 같은 모바일 단말, 스마트 패드와 태블릿 PC와 같은 태블릿 단말, 컴퓨터, 텔레비전 등 다양한 형태의 통신 단말로서, 복수의 통신 인터페이스를 구비할 수 있다. The terminal of the present specification is a communication terminal of various types, such as a mobile terminal such as a smart phone, a tablet terminal such as a smart pad and a tablet PC, a computer, and a television, and may include a plurality of communication interfaces.

통신 인터페이스는 다양할 수 있다. 예를 들면, 통신 인터페이스는 와이파이(WiFi)/무선랜(WLAN, Wireless Local Area Network)/블루투스(bluetooth) 등의 근거리 무선망 인터페이스, 그리고 3G/LTE(Long Term Evolution)/LTE-A(Long Term Evolution-Advanced)/5G 등의 이동통신망 인터페이스를 포함할 수 있고, 단말 제조사가 다양한 통신 인터페이스를 추가할 수 있다. The communication interface may vary. For example, the communication interface is a short-range wireless network interface such as Wi-Fi/Wireless Local Area Network (WLAN)/Bluetooth, and 3G/LTE (Long Term Evolution)/LTE-A (Long Term) It may include a mobile communication network interface such as Evolution-Advanced)/5G, and a terminal manufacturer may add various communication interfaces.

본 명세서에서는 WiFi 인터페이스, LTE 인터페이스, 5G 인터페이스를 예로 들어 설명하나, 통신 인터페이스가 이에 한정되는 것은 아니다.In this specification, a WiFi interface, an LTE interface, and a 5G interface will be described as examples, but the communication interface is not limited thereto.

본 명세서에서, 다중망 병합(Multi-net Aggregation, 이하, 'MA'라 통칭하여 기재함)은 복수의 무선망을 동시에 사용하여 트래픽을 전송하는 기술로서, 각 경로로 전송된 트래픽을 하나의 세션으로 처리한다. 다중망 병합 기술을 통해, 단말은 한 시점에 복수의 무선망에 연결될 수 있고, 하나의 서비스/어플리케이션은 망 종류나 망의 수에 관계없이 복수의 망을 하나의 망처럼 병합하여 통신한다. 따라서, 다중망 병합 기술은 가용한 복수의 망 자원을 이용하여 대량의 트래픽을 빠르게 송수신할 수 있다.In the present specification, multi-net aggregation (hereinafter, collectively referred to as 'MA') is a technology for transmitting traffic using a plurality of wireless networks at the same time. treated with Through the multi-network merging technology, a terminal can be connected to a plurality of wireless networks at a time, and one service/application communicates by merging a plurality of networks as one network, regardless of the type of network or the number of networks. Accordingly, the multi-network aggregation technology can rapidly transmit and receive a large amount of traffic by using a plurality of available network resources.

다중망 병합(MA) 전송은 복수의 통신망을 병합하여 데이터를 전송하는 기술로서, 하나의 경로로 전송된 데이터를 복수의 동종 망 또는 복수의 이종 망의 경로로 분할하여 전송하거나, 복수의 경로로 전송된 데이터를 하나의 경로로 묶어 전송할 수 있다. 다중망 병합 전송은 데이터를 복수의 경로로 동시에 전송하는 의미에서 다중 경로(Multi-Path) 전송이라고 부를 수 있다.Multi-network merge (MA) transmission is a technology that transmits data by merging a plurality of communication networks. Data transmitted through one path is divided into multiple homogeneous networks or multiple heterogeneous networks for transmission, or data transmitted through multiple paths. The transmitted data can be bundled into one path and transmitted. Multi-network merge transmission may be referred to as multi-path transmission in the sense of simultaneously transmitting data through a plurality of paths.

복수의 무선망의 병합 기술은 L2/링크 계층 병합, L3/네트워크 계층 병합, L4/전송 계층 병합, L7/응용 계층 병합 등 병합 전송 계층에 따라 다양한 병합 전송이 가능하다. 다중망 병합(MA) 기술의 대표적인 기술로서, 다중 경로 TCP(Multi-Path TCP, 이하, 'MPTCP')가 있다.The merging technology of a plurality of wireless networks enables various merge transmissions depending on the merge transport layer such as L2/link layer merging, L3/network layer merging, L4/transport layer merging, and L7/application layer merging. As a representative technology of the multi-network merging (MA) technology, there is a multi-path TCP (hereinafter, 'MPTCP').

본 발명의 실시예들은 3GPP(3rd Generation Partnership Project) LTE(Long Term Evolution), LTE-A, 3GPP2, IEEE(Institute of Electrical and Electronics Engineers) 시스템, FS_NextGen(Study on Architecture for Next Generation System)과 같은 3GPP 5G 시스템 중 적어도 하나와 관련된 표준 문서에 의해 뒷받침될 수 있다. 즉, 본 발명의 실시예들 중 본 발명의 기술적 사상을 명확히 드러내기 위해 설명하지 않은 단계들 또는 부분들은 상기 문서에 의해 뒷받침될 수 있다. 또한, 본 문서에서 개시하고 있는 모든 용어들은 상기 표준 문서에 의해 설명될 수 있다. Embodiments of the present invention are 3GPP (3rd Generation Partnership Project) Long Term Evolution (LTE), LTE-A, 3GPP2, IEEE (Institute of Electrical and Electronics Engineers) system, 3GPP such as FS_NextGen (Study on Architecture for Next Generation System). It may be supported by standard documents related to at least one of the 5G systems. That is, steps or parts not described in order to clearly reveal the technical spirit of the present invention among the embodiments of the present invention may be supported by the document. In addition, all terms disclosed in this document may be explained by the standard document.

이제, 도면을 참고하여 고품질 저지연 실시간 미디어 스트리밍 서비스 방법 및 이를 제공하는 멀티무선망 시스템에 대하여 설명한다.Now, a high-quality, low-latency real-time media streaming service method and a multi-wireless network system providing the same will be described with reference to the drawings.

도 1은 본 발명의 실시예에 따른 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하는 멀티무선망 시스템의 구성도이다.1 is a block diagram of a multi-wireless network system that provides a high-quality, low-latency real-time media streaming service according to an embodiment of the present invention.

도 1을 참조하면, 멀티무선망 시스템은 다중망 병합(MA) 기술을 이용하여 고품질 저지연의 실시간 미디어 스트림을 전송하는 시스템으로 정의할 수 있다. 이러한 멀티무선망 시스템은 카메라(100), 서버(200), 다중 경로 게이트웨이(Multi Path-Gateway, MP-GW)(300), 단말(400) 및 체감 품질(Quality Of Experience, QoE) 매니저(500)를 포함한다.Referring to FIG. 1 , a multi-wireless network system can be defined as a system for transmitting a high-quality, low-latency real-time media stream using a multi-network merging (MA) technology. This multi-wireless network system includes a camera 100 , a server 200 , a multi-path gateway (Multi Path-Gateway, MP-GW) 300 , a terminal 400 , and a Quality Of Experience (QoE) manager 500 ) is included.

카메라(100)는 단말(400)에 전송하기 위한 영상을 촬영하여 획득하기 위한 장치이다.The camera 100 is a device for capturing and acquiring an image to be transmitted to the terminal 400 .

서버(200)는 인코더(210) 및 다중 경로 클라이언트(Multi Path-Client, MP-C)(230)를 포함한다. The server 200 includes an encoder 210 and a multi-path client (Multi Path-Client, MP-C) 230 .

인코더(210)는 카메라(100)가 출력하는 영상을 실시간 미디어 스트림 포맷으로 인코딩하여 다중 경로 클라이언트(230)로 출력한다. 한 실시예에 따르면, 인코더(210)는 카메라(100)를 통하여 촬영된 영상 및 음성을 입력받아 인코딩한 후, ATSC 3.0 형식(Advanced Television Systems Committee standard 3.0 version)의 방송 스트림에 맞게 변환하여 출력할 수 있다.The encoder 210 encodes an image output by the camera 100 into a real-time media stream format and outputs it to the multi-path client 230 . According to one embodiment, the encoder 210 receives the video and audio captured by the camera 100, encodes it, and then converts it according to the broadcast stream of the ATSC 3.0 format (Advanced Television Systems Committee standard 3.0 version) and outputs it. can

다중 경로 클라이언트(230)는 다중 경로 게이트웨이(300)와 MPTCP VPN(Virtual Private Network) 터널링 기반으로 데이터를 송수신한다. 다중 경로 클라이언트(230)는 다중 경로 게이트웨이(300)를 통하여 단말(400)로 실시간 미디어 스트림을 전송한다.The multi-path client 230 transmits/receives data to and from the multi-path gateway 300 based on MPTCP Virtual Private Network (VPN) tunneling. The multi-path client 230 transmits a real-time media stream to the terminal 400 through the multi-path gateway 300 .

다중 경로 클라이언트(230)는 복수의 통신 인터페이스를 구비하고, 복수의 통신 인터페이스를 통해 한 시점에 복수의 망에 연결될 수 있다. 여기서, 복수의 통신 인터페이스는 5G 인터페이스, LTE 인터페이스, WiFi 인터페이스 등을 포함할 수 있다.The multi-path client 230 includes a plurality of communication interfaces, and may be connected to a plurality of networks at one time through the plurality of communication interfaces. Here, the plurality of communication interfaces may include a 5G interface, an LTE interface, a WiFi interface, and the like.

다중 경로 클라이언트(230)는 서브플로우(subflow) 단위로 다중 경로 게이트웨이(300)와 MPTCP 세션을 생성하고, 복수의 통신 인터페이스를 통해 데이터를 송수신한다.The multi-path client 230 creates an MPTCP session with the multi-path gateway 300 in units of subflows, and transmits and receives data through a plurality of communication interfaces.

다중 경로 클라이언트(230)는 서버(200)에 탑재되는 어플리케이션일 수 있다. 다중 경로 클라이언트(230)는 다중망 병합을 위한 인증, 상태 관리, 트래픽 처리를 수행하고, 인코더(210)가 출력하는 단일 경로의 플로우를 다중 경로의 서브플로우로 분할하여 전송한다.The multi-path client 230 may be an application mounted on the server 200 . The multi-path client 230 performs authentication, state management, and traffic processing for multi-network merging, and divides the single-path flow output by the encoder 210 into multi-path subflows and transmits the split.

다중 경로 클라이언트(230)는 복수의 무선망(5G, LTE, WiFi 등)을 통해 다중 경로 게이트웨이(300)로 VPN 생성을 요청하여 다중 경로 게이트웨이(300)와 VPN을 생성한다. The multi-path client 230 creates a VPN with the multi-path gateway 300 by requesting the creation of a VPN to the multi-path gateway 300 through a plurality of wireless networks (5G, LTE, WiFi, etc.).

VPN이 생성되면, 다중 경로 클라이언트(230)는 VPN을 통해 다중 경로 게이트웨이(300)로 인증을 요청하여 다중 경로 게이트웨이(300)와 MPTCP 서비스 인증 절차를 수행한다. When the VPN is created, the multi-path client 230 performs an MPTCP service authentication procedure with the multi-path gateway 300 by requesting authentication to the multi-path gateway 300 through the VPN.

MPTCP 서비스 인증 절차가 성공하면, 다중 경로 클라이언트(230)는 분배 정책에 따라 실시간 미디어 스트림을 이종망(예를들어, 5G망, LTE망, 와이파이망)을 통해 다중 경로 게이트웨이(300)로 분할 전송한다. If the MPTCP service authentication procedure is successful, the multi-path client 230 divides and transmits the real-time media stream to the multi-path gateway 300 through a heterogeneous network (eg, 5G network, LTE network, Wi-Fi network) according to the distribution policy. do.

다중 경로 게이트웨이(300)는 복수의 통신 인터페이스를 통해 수신된 데이터를 병합하여 단말(400)로 전송한다. 다중 경로 게이트웨이(300)는 다중 경로 클라이언트(230)로부터 복수의 무선망을 통해 수신되는 각각의 실시간 미디어 스트림을 병합하여 단말(400)로 실시간 출력한다. The multi-path gateway 300 merges data received through a plurality of communication interfaces and transmits the merged data to the terminal 400 . The multi-path gateway 300 merges each real-time media stream received from the multi-path client 230 through a plurality of wireless networks and outputs the merged real-time media streams to the terminal 400 in real time.

단말(400)은 디코더(410) 및 디스플레이 장치(430)를 포함한다.The terminal 400 includes a decoder 410 and a display device 430 .

디코더(410)는 다중 경로 게이트웨이(300)로부터 수신되는 미디어 스트림을 디코딩하여 디스플레이 장치(430)로 전송한다. 디스플레이 장치(430)는 디코딩된 미디어 스트림을 재생 및 출력한다.The decoder 410 decodes the media stream received from the multi-path gateway 300 and transmits it to the display device 430 . The display device 430 plays and outputs the decoded media stream.

이와 같이, MPTCP와 같은 다중망 병합(MA) 전송은 물리적으로 분리된 복수의 망을 논리적으로 하나의 망처럼 병합하여 복수의 망을 동시에 사용할 수 있다. 특히, MPTCP는 한 서비스에 대해 생성된 세션을 복수의 서브플로우로 분할할 수 있고, 이를 통해 동적으로 접속 망을 추가하거나 해제할 수 있다. In this way, in multi-network aggregation (MA) transmission such as MPTCP, a plurality of physically separated networks can be logically merged as one network so that a plurality of networks can be used at the same time. In particular, MPTCP can divide a session created for one service into a plurality of subflows, and through this, an access network can be dynamically added or released.

따라서, MPTCP는 병합 전송이 가능한 경우에는 복수의 망을 병합하여 전송 속도를 높이면서도, 어느 무선망의 상태가 열악해지는 경우에는 다른 무선망으로 트래픽을 전송함으로써 물리적 환경 변화에 관계없이 안정적인 서비스를 제공할 수 있다. Therefore, MPTCP provides stable service regardless of changes in the physical environment by merging multiple networks to increase the transmission speed when merged transmission is possible, while transmitting traffic to another wireless network when the condition of one wireless network becomes poor. can do.

그런데, 일반적으로, UDP(User Datagram Protocol) 기반으로 제공되는 미디어 스트리밍 서비스는 전용 회선 기반의 유선망에서 제공된다. 무선망의 상태는 실시간 변화가 불규칙적으로 발생한다.However, in general, a media streaming service provided based on User Datagram Protocol (UDP) is provided over a dedicated line based wired network. The state of the wireless network changes in real time irregularly.

MPTCP VPN을 통해 UDP 패킷을 TCP 기반으로 병합하여, 복수의 무선망 환경에서도 신뢰적으로 패킷을 목적지까지 전달할 수 있다. 그러나, TCP 특성(예, Congestion control 등) 때문에 UDP 패킷의 고정비트율(CBR)에 문제가 발생한다. 즉, 트래픽 간격이 일정하지 않게 변한다. 이러한 문제는 다중망 병합 때문에 더 일정하지 않게 된다. 다중망 병합은 망 환경(bandwidth, latency 등)이 서로 다른 무선망을 TCP 기반으로 병합하고 이를 다시 리오더링(Reordering)하기 때문에, 지연이 발생하기 때문이다. By merging UDP packets based on TCP through MPTCP VPN, packets can be reliably delivered to their destination even in multiple wireless network environments. However, due to TCP characteristics (eg, congestion control, etc.), a problem occurs in the fixed bit rate (CBR) of UDP packets. That is, the traffic interval varies non-uniformly. This problem becomes more inconsistent because of multi-network merging. This is because multi-network merging causes delays because wireless networks with different network environments (bandwidth, latency, etc.) are merged based on TCP and reordered.

따라서, 다중망 병합(MA) 전송 기술을 이용해서 실시간 미디어 스트리밍 서비스를 안정적으로 제공하려면, 각 무선망 상태의 실시간 변화에 적응적인 동작이 필요하다.Therefore, in order to stably provide a real-time media streaming service using a multi-network merge (MA) transmission technology, an operation adaptive to real-time changes in the state of each wireless network is required.

본 발명의 실시예에서는, 이러한 지연 문제를 해결하기 위하여 지터 안정화 기능(Jitter Stabilizer Function, 이하, 'JSF'라 통칭함)을 이용한다. JSF는 크게 두 가지 기능으로 나뉠 수 있다. In the embodiment of the present invention, a jitter stabilization function (hereinafter, collectively referred to as 'JSF') is used to solve the delay problem. JSF can be divided into two main functions.

JSF는 MPTCP 및 MPTCP VPN을 거치면서 지터(Jitter)가 변화한 UDP 패킷을 버퍼링하는 기능을 포함한다. JSF는 버퍼링된 UDP 패킷을 인코더(210)에서 전송했던 간격으로 디코더에게 전송하는 기능을 포함한다.JSF includes a function of buffering UDP packets whose jitter is changed while passing through MPTCP and MPTCP VPN. The JSF includes a function of transmitting the buffered UDP packets to the decoder at the interval transmitted by the encoder 210 .

지터는 패킷들 간의 도착 시간 간격(inter-arrival time)의 변이(variation)를 나타낸다.Jitter represents the variation in inter-arrival time between packets.

지터를 안정화할 수 있는 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_TIME_INTERVAL)은 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하기 위해 매우 중요하다. 예를들어, UDP 버퍼링 시간(UDP_BUF_TIME)이 길어지면, 영상을 안정적으로 전송하여 끊김없는 스트리밍 서비스를 제공할 수 있지만, 지연이 증가하여, 실시간성이 떨어지게 된다. 반면, UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)이 너무 짧아지면, 저지연은 달성할 수 있지만, 멀티 무선망 환경의 변화에 대응하지 못하여, 끊김이 생길 수 있다. The UDP buffering time (UDP_BUF_TIME) and UDP transmission time interval (UDP_SEND_TIME_INTERVAL) that can stabilize jitter are very important to provide high-quality, low-latency real-time media streaming service. For example, if the UDP buffering time (UDP_BUF_TIME) is long, it is possible to provide a seamless streaming service by stably transmitting an image, but the delay increases and real-time performance is deteriorated. On the other hand, if the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) is too short, low delay can be achieved, but it cannot respond to the change of the multi-wireless network environment, and there may be a disconnection.

따라서, 멀티무선망 환경을 반영하여 지터를 최소화할 수 있는 최적의 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 도출해야 한다.Therefore, it is necessary to derive the optimal UDP buffering time (UDP_BUF_TIME) and UDP transmission time interval (UDP_SEND_INTERVAL_TIME) that can minimize jitter by reflecting the multi-wireless network environment.

본 발명의 실시예에서는 다중 경로 클라이언트(230) 및 다중 경로 게이트웨이(300)와 연결되는 체감 품질(QoE) 매니저(500)를 통해 최적의 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 계산한다. In the embodiment of the present invention, the optimal UDP buffering time (UDP_BUF_TIME) and UDP transmission time interval (UDP_SEND_INTERVAL_TIME) are determined through the quality of experience (QoE) manager 500 connected to the multi-path client 230 and the multi-path gateway 300. Calculate.

체감 품질(QoE) 매니저(500)는 이 두 장비(230, 300)를 통해 복수의 무선망 상태 및 미디어 스트림의 전송 상태를 모니터링하고, 이를 기초로 최적의 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 도출함으로써, 체감 품질(QoE)을 제어한다. The quality of experience (QoE) manager 500 monitors the status of a plurality of wireless networks and the transmission status of media streams through these two devices 230 and 300, and based on this, the optimal UDP buffering time (UDP_BUF_TIME) and UDP transmission time By deriving the interval (UDP_SEND_INTERVAL_TIME), the quality of experience (QoE) is controlled.

이와 같이, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)은 지터를 안정화시키는 값으로 사용되므로, 본 명세서에서, '지터 안정화값(Jitter Stabilizer Value)'으로 통칭하기로 한다.As described above, since the UDP buffering time (UDP_BUF_TIME) and the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) are used as jitter stabilizing values, in this specification, they are collectively referred to as a 'jitter stabilizer value'.

도 2는 도 1의 다중 경로 클라이언트 및 다중 경로 게이트웨이 각각의 세부 구성 및 연결 관계를 나타낸 도면이다.FIG. 2 is a diagram illustrating a detailed configuration and connection relationship of each of the multi-path client and the multi-path gateway of FIG. 1 .

도 2를 참조하면, 다중 경로 클라이언트(MP-C)(230)는 UDP 라우팅부(231), MPTCP-VPN 처리부(232), MPTCP 처리부(233), 복수의 통신 인터페이스(234, 235, 236) 및 상태 모니터(237)를 포함한다.Referring to FIG. 2 , a multi-path client (MP-C) 230 includes a UDP routing unit 231 , an MPTCP-VPN processing unit 232 , an MPTCP processing unit 233 , and a plurality of communication interfaces 234 , 235 , 236 . and a status monitor 237 .

UDP 라우팅부(231)는 인코더(210)로부터 UDP 패킷을 수신한다. UDP 라우팅부(231)는 L3 라우팅 기반으로 UDP 패킷을 MPTCP-VPN 처리부(232)로 전달한다. UDP 라우팅부(231)는 CBR 기반으로 동작하므로, 일정한 간격(UDP_PPS, UDP_Packet per Second)으로 UDP 패킷을 라우팅한다.The UDP routing unit 231 receives a UDP packet from the encoder 210 . The UDP routing unit 231 transmits the UDP packet to the MPTCP-VPN processing unit 232 based on L3 routing. Since the UDP routing unit 231 operates based on CBR, it routes UDP packets at regular intervals (UDP_PPS, UDP_Packet per Second).

MPTCP-VPN 처리부(232)는 다중 경로 클라이언트(230)가 부팅하면, 사전 설정된 체감 품질(QoE) 매니저(500)의 IP 주소를 이용하여 체감 품질(QoE) 매니저(500)와 접속한다. When the multi-path client 230 boots, the MPTCP-VPN processing unit 232 connects to the quality of experience (QoE) manager 500 using the preset IP address of the quality of experience (QoE) manager 500 .

MPTCP-VPN 처리부(232)는 체감 품질(QoE) 매니저(500)로부터 다중 경로 게이트웨이(300)의 IP 주소를 획득한다. MPTCP-VPN 처리부(232)는 획득한 IP 주소를 이용하여, 다중 경로 게이트웨이(300)로 MPTCP VPN 생성을 요청한다. MPTCP-VPN 처리부(232)는 다중 경로 게이트웨이(300)와 MPTCP VPN을 생성한다.The MPTCP-VPN processing unit 232 obtains the IP address of the multi-path gateway 300 from the quality of experience (QoE) manager 500 . The MPTCP-VPN processing unit 232 requests generation of the MPTCP VPN from the multi-path gateway 300 using the obtained IP address. The MPTCP-VPN processing unit 232 creates the multi-path gateway 300 and the MPTCP VPN.

MPTCP VPN이 생성되면, MPTCP-VPN 처리부(232)는 UDP 라우팅부(231)로부터 수신되는 UDP 패킷에 VPN 헤더(Header) 및 MPTCP 헤더를 추가하고, 이를 MPTCP 처리부(233)에게 전달한다.When the MPTCP VPN is created, the MPTCP-VPN processing unit 232 adds a VPN header and an MPTCP header to the UDP packet received from the UDP routing unit 231 , and delivers them to the MPTCP processing unit 233 .

MPTCP 처리부(233)는 복수의 무선 인터페이스(234, 235, 236)를 통해 VPN 헤더 및 MPTCP 헤더가 추가된 UDP 패킷을 다중 경로 게이트웨이(300)로 전송한다. The MPTCP processing unit 233 transmits the VPN header and the UDP packet to which the MPTCP header is added to the multi-path gateway 300 through the plurality of air interfaces 234 , 235 , and 236 .

이때, MPTCP 처리부(233)는 MPTCP-VPN 처리부(232)로부터 수신되는 UDP 패킷을 분할한다. MPTCP 처리부(233)는 분할한 UDP 패킷의 일부 패킷을 제1망(예를들면, 5G)의 무선 인터페이스(234)의 서브플로우를 통해 전송한다. MPTCP 처리부(233)는 분할한 UDP 패킷의 또 다른 일부 패킷을 제2망(예를들면, LTE망)의 무선 인터페이스(235)의 서브플로우를 통해 전송한다. MPTCP 처리부(233)는 분할한 UDP 패킷의 나머지 데이터를 제3망(예를들면, WiFi망)의 무선 인터페이스(236)의 서브플로우를 통해 전송할 수 있다. At this time, the MPTCP processing unit 233 divides the UDP packet received from the MPTCP-VPN processing unit 232 . The MPTCP processing unit 233 transmits a partial packet of the divided UDP packet through a subflow of the air interface 234 of the first network (eg, 5G). The MPTCP processing unit 233 transmits another partial packet of the divided UDP packet through a subflow of the air interface 235 of the second network (eg, LTE network). The MPTCP processing unit 233 may transmit the remaining data of the divided UDP packet through a subflow of the air interface 236 of a third network (eg, WiFi network).

상태 모니터(237)는 UDP 라우팅부(231)가 출력하는 UDP 패킷 간격(UDP_PPS)을 측정한다. 상태 모니터(237)는 복수의 무선망 각각의 RTT(Round Trip Time) 및 대역폭(BANDWITH)을 측정한다. 상태 모니터(237)는 측정한 UDP 패킷 간격(UDP_PPS) 정보 및 복수의 무선망 상태 정보를 주기적으로 또는 사전에 설정된 특정 시점에 체감 품질(QoE) 매니저(500)에게 전송한다.The status monitor 237 measures the UDP packet interval (UDP_PPS) output by the UDP routing unit 231 . The status monitor 237 measures a Round Trip Time (RTT) and a bandwidth (BANDWITH) of each of a plurality of wireless networks. The status monitor 237 transmits the measured UDP packet interval (UDP_PPS) information and a plurality of wireless network status information to the quality of experience (QoE) manager 500 periodically or at a preset specific point in time.

다중 경로 게이트웨이(300)는 복수의 무선 인터페이스(301, 302, 303), MPTCP 처리부(304), MPTCP-VPN 처리부(305), UDP 리다이렉트 처리부(306), 지터 안정화부(307) 및 UDP 프록시(308)를 포함한다.The multi-path gateway 300 includes a plurality of air interfaces 301, 302, 303, an MPTCP processing unit 304, an MPTCP-VPN processing unit 305, a UDP redirect processing unit 306, a jitter stabilization unit 307 and a UDP proxy ( 308).

MPTCP 처리부(304)는 복수의 무선 인터페이스(301, 302, 303)를 통하여 TCP 패킷들을 재배열(reordering)하여 하나의 TCP 플로우로 만들고 이를 MPTCP-VPN 처리부(305)로 출력한다.The MPTCP processing unit 304 reorders TCP packets through the plurality of air interfaces 301 , 302 , and 303 to form one TCP flow, and outputs it to the MPTCP-VPN processing unit 305 .

MPTCP-VPN 처리부(305)는 MPTCP-VPN 처리부(232)의 요청에 따라 다중 경로 클라이언트(230)와 MPTCP VPN을 생성한다. MPTCP-VPN 처리부(305)는 MPTCP 처리부(304)로부터 수신되는 TCP 패킷을 UDP로 복원한다. MPTCP-VPN 처리부(305)는 MPTCP 처리부(304)로부터 수신한 TCP 패킷에서 MPTCP 헤더 및 VPN 헤더를 제거하여 UDP 패킷으로 복원한다. MPTCP-VPN 처리부(305)는 복원한 UDP 패킷을 UDP 리다이렉트 처리부(306)로 출력한다.The MPTCP-VPN processing unit 305 creates the multi-path client 230 and the MPTCP VPN according to the request of the MPTCP-VPN processing unit 232 . The MPTCP-VPN processing unit 305 restores the TCP packet received from the MPTCP processing unit 304 to UDP. The MPTCP-VPN processing unit 305 removes the MPTCP header and the VPN header from the TCP packet received from the MPTCP processing unit 304 and restores it to a UDP packet. The MPTCP-VPN processing unit 305 outputs the restored UDP packet to the UDP redirect processing unit 306 .

UDP 리다이렉트 처리부(306)는 MPTCP-VPN 처리부(305)가 출력하는 UDP 패킷을 지터 안정화부(307)로 강제로 출력한다. The UDP redirect processing unit 306 forcibly outputs the UDP packet output from the MPTCP-VPN processing unit 305 to the jitter stabilization unit 307 .

지터 안정화부(307)는 앞서 설명한 JSF 기능을 수행한다. 지터 안정화부(307)는 TCP를 거치면서 트래픽 간격(jitter)이 많이 변한 UDP 패킷을 일정 시간 동안(UDP_BUF_TIME) 버퍼링하고 이를 다시 인코더(210)에서 전송되었던 간격과 비슷한 간격(UDP_SEND_INTERVAL_TIME)으로 복원하는 기능을 수행한다. The jitter stabilization unit 307 performs the JSF function described above. The jitter stabilization unit 307 buffers UDP packets whose traffic jitter has changed a lot while passing through TCP for a certain period of time (UDP_BUF_TIME) and restores them to an interval similar to the interval (UDP_SEND_INTERVAL_TIME) transmitted from the encoder 210 again. carry out

여기서, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)이 지터 안정화값으로 계산되고, 이러한 지터 안정화값은 체감 품질(QoE) 매니저(500)로부터 제공받는다.Here, the UDP buffering time (UDP_BUF_TIME) and the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) are calculated as jitter stabilization values, and these jitter stabilization values are provided from the quality of experience (QoE) manager 500 .

UDP 프록시(308)는 지터 안정화부(307)에 의해 조정된 UDP 패킷을 단말(400)로 전송한다.The UDP proxy 308 transmits the UDP packet adjusted by the jitter stabilization unit 307 to the terminal 400 .

체감 품질(QoE) 매니저(500)는 상태 모니터(237)로부터 수신되는 상태 보고를 기초로, 지터 안정화값을 계산한다. 그리고 이러한 지터 안정화값을 지터 안정화부(307)로 제공하여 단말(400)의 디코더(410)로 전송될 UDP 패킷에 적용한다. The quality of experience (QoE) manager 500 calculates a jitter stabilization value based on the status report received from the status monitor 237 . Then, the jitter stabilization value is provided to the jitter stabilization unit 307 and applied to the UDP packet to be transmitted to the decoder 410 of the terminal 400 .

추가적으로, 단말(400)은 스트리밍 패킷을 이동하면서 수신할 가능성이 높다. 따라서, 체감 품질(QoE) 매니저(500)는 단말(400)의 위치 정보 및 단말(400)이 접속한 기지국 정보를 이용하여 단말(400)의 이동시에 효율적으로 대처할 수 있다.Additionally, the terminal 400 is highly likely to receive the streaming packet while moving. Accordingly, the quality of experience (QoE) manager 500 can efficiently cope with the movement of the terminal 400 by using the location information of the terminal 400 and information on the base station to which the terminal 400 is connected.

지터 안정화값을 이용하여 고품질 저지연 실시간 미디어 스트리밍 서비스를 제어하는 방법에 대하여 설명한다.A method of controlling a high-quality, low-latency real-time media streaming service using the jitter stabilization value will be described.

도 3은 본 발명의 한 실시예에 따른 고품질 저지연 실시간 미디어 스트리밍 서비스 방법을 나타낸 흐름도이다.Figure 3 is a flow chart showing a high-quality, low-delay real-time media streaming service method according to an embodiment of the present invention.

도 3을 참조하면, 다중경로 클라이언트(230)의 상태 모니터(237)는 인코더(210)로부터 수신되는 UDP 패킷의 간격(PPS)과 UDP 패킷의 평균 사이즈를 측정한다(S101). 상태 모니터(237)는 복수의 무선망 각각의 RTT 및 대역폭을 측정한다(S103). Referring to FIG. 3 , the status monitor 237 of the multipath client 230 measures the interval (PPS) of UDP packets received from the encoder 210 and the average size of the UDP packets ( S101 ). The status monitor 237 measures the RTT and bandwidth of each of a plurality of wireless networks (S103).

상태 모니터(237)는 S101 단계 및 S103 단계에서 측정된 정보를 포함하는 측정 보고를 체감 품질(QoE) 매니저(500)에게 전송한다(S105). 상태 모니터(237)는 기 설정된 시점, 또는 주기적으로 또는 체감 품질(QoE) 매니저(500)의 요청에 의해 측정 보고를 전송할 수 있다.The state monitor 237 transmits a measurement report including the information measured in steps S101 and S103 to the quality of experience (QoE) manager 500 (S105). The status monitor 237 may transmit a measurement report at a preset point in time, periodically or at the request of the quality of experience (QoE) manager 500 .

체감 품질(QoE) 매니저(500)는 S105 단계에서 수신한 측정 보고를 기초로, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 계산한다(S107). The quality of experience (QoE) manager 500 calculates a UDP buffering time (UDP_BUF_TIME) and a UDP transmission time interval (UDP_SEND_INTERVAL_TIME) based on the measurement report received in step S105 ( S107 ).

체감 품질(QoE) 매니저(500)는 다음 수학식 1과 같이 UDP 버퍼링 시간(UDP_BUF_TIME)을 계산할 수 있다.The quality of experience (QoE) manager 500 may calculate the UDP buffering time UDP_BUF_TIME as shown in Equation 1 below.

Figure pat00001
Figure pat00001

여기서, MAX_BUF_TIME은 최대 버퍼링 시간으로서, 관리자가 임의로 설정할 수 있는 값이다. 예를들어, 5초로 설정될 수 있다. R_USIT는 S101 단계에서 측정되어 S105 단계를 통해 수신된 UDP 패킷 간격이다. USIT는 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)이다.Here, MAX_BUF_TIME is the maximum buffering time and is a value that an administrator can set arbitrarily. For example, it may be set to 5 seconds. R_USIT is the UDP packet interval measured in step S101 and received through step S105. USIT is the UDP transmission time interval (UDP_SEND_INTERVAL_TIME).

UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)은 수학식 2를 통해 계산될 수 있다.The UDP transmission time interval (UDP_SEND_INTERVAL_TIME) may be calculated through Equation (2).

Figure pat00002
Figure pat00002

여기서, R_UDP_PPS는 다중 경로 클라이언트(230)가 인코더(210)로부터 수신된 UDP 패킷의 간격(Packets per second)이다. MAX_PPSi는 각 무선 네트워크(i∈5G, LTE, WiFi)에서 보낼 수 있는 초당 패킷 수이다. MAX_PPSi는 다음 수학식 3을 통해 계산될 수 있다.Here, R_UDP_PPS is an interval (Packets per second) of UDP packets received by the multi-path client 230 from the encoder 210 . MAX_PPS i is the number of packets per second that each wireless network (i∈5G, LTE, WiFi) can send. MAX_PPS i may be calculated through Equation 3 below.

Figure pat00003
Figure pat00003

여기서, avgRTTi는 각 무선 네트워크(i∈5G, LTE, WiFi)의 평균 RTT 값이다. UDP_PACKET_SIZE는 S101 단계에서 측정되어 S105 단계에서 수신된 평균 UDP 패킷 사이즈이다. BWi는 S103 단계에서 측정되어 S105 단계에서 수신된 각 무선 네트워크(i∈5G, LTE, WiFi)의 대역폭이다.Here, avgRTT i is the average RTT value of each wireless network (i∈5G, LTE, WiFi). UDP_PACKET_SIZE is the average UDP packet size measured in step S101 and received in step S105. BW i is the bandwidth of each wireless network (i∈5G, LTE, WiFi) measured in step S103 and received in step S105.

체감 품질(QoE) 매니저(500)는 S107 단계에서 계산된 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 포함하는 지터 안정화값 통지를 생성하여 다중 경로 게이트웨이(300)의 지터 안정화부(307)에게 전송한다(S109).The quality of experience (QoE) manager 500 generates a jitter stabilization value notification including the UDP buffering time (UDP_BUF_TIME) and the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) calculated in step S107 to generate a jitter stabilization unit ( 307) (S109).

다중 경로 게이트웨이(300)의 지터 안정화부(307)는 S109 단계에서 수신한 지터 안정화값을 기초로 JSF를 수행한다(S111). 즉, 도 2의 UDP 리다이렉트 처리부(306)로부터 수신되는 UDP 패킷을 UDP 버퍼링 시간(UDP_BUF_TIME)만큼 버퍼링한 후, UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)으로 단말(400)의 디코더(410)로 출력한다.The jitter stabilization unit 307 of the multi-path gateway 300 performs JSF based on the jitter stabilization value received in step S109 (S111). That is, after buffering the UDP packet received from the UDP redirect processing unit 306 of FIG. 2 by the UDP buffering time (UDP_BUF_TIME), it is output to the decoder 410 of the terminal 400 at the UDP transmission time interval (UDP_SEND_INTERVAL_TIME).

도 4는 본 발명의 다른 실시예에 따른 고품질 저지연 실시간 미디어 스트리밍 서비스 방법을 나타낸 흐름도이다. 특히, 지터 안정화값을 갱신하는 과정으로서, 도 3의 S111 단계 이후에 수행될 수 있다.Figure 4 is a flow chart showing a high-quality low-delay real-time media streaming service method according to another embodiment of the present invention. In particular, as a process of updating the jitter stabilization value, it may be performed after step S111 of FIG. 3 .

도 4를 참조하면, 다중 경로 게이트웨이(300)의 지터 안정화부(307)는 JSF를 수행한 결과 보고를 체감 품질(QoE) 매니저(500)에게 전송한다(S201). 이때, JSF 결과 보고는 지터의 큐 길이 변화량을 포함한다. 지터 안정화부(307)는 주기적으로, 또는 특정 시점에 JSF 결과 보고를 전송할 수 있다(S201).Referring to FIG. 4 , the jitter stabilization unit 307 of the multi-path gateway 300 transmits a report on the result of performing the JSF to the quality of experience (QoE) manager 500 ( S201 ). In this case, the JSF result report includes the amount of jitter queue length change. The jitter stabilization unit 307 may transmit the JSF result report periodically or at a specific time (S201).

다중경로 클라이언트(230)의 상태 모니터(237)는 도 3의 S101 단계 및 S103 단계에서 측정된 정보를 포함하는 측정 보고를 체감 품질(QoE) 매니저(500)로 전송한다(S203). 주기적으로, 또는 특정 시점에 측정 보고를 체감 품질(QoE) 매니저(500)로 전송할 수 있다.The status monitor 237 of the multipath client 230 transmits a measurement report including the information measured in steps S101 and S103 of FIG. 3 to the quality of experience (QoE) manager 500 (S203). The measurement report may be transmitted to the quality of experience (QoE) manager 500 periodically or at a specific time.

체감 품질(QoE) 매니저(500)는 S201 단계에서 수신한 JSF 결과 정보 및 S203 단계에서 수신한 측정 보고를 기초로, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 재계산한다(S205).The quality of experience (QoE) manager 500 recalculates the UDP buffering time (UDP_BUF_TIME) and the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) based on the JSF result information received in step S201 and the measurement report received in step S203 ( S205 ). ).

체감 품질(QoE) 매니저(500)는 수학식 4를 이용하여 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)(NEW_USIT)을 재계산할 수 있다.The quality of experience (QoE) manager 500 may recalculate the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) (NEW_USIT) using Equation (4).

Figure pat00004
Figure pat00004

여기서, UDP_SEND_PPS는 수학식 2를 통해 계산된 USIT를 이용하여 다중 경로 게이트웨이(300)가 디코더(410)로 출력하는 UDP 패킷의 PPS를 의미한다. Q_PPS는 JSF 큐 길이 변화량을 초당 패킷 수로 나타낸 값을 의미한다.Here, UDP_SEND_PPS refers to the PPS of the UDP packet output by the multi-path gateway 300 to the decoder 410 using the USIT calculated through Equation (2). Q_PPS means a value expressed in terms of the number of packets per second of the change in the length of the JSF queue.

체감 품질(QoE) 매니저(500)는 수학식 4를 통해 산출된 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)(NEW_USIT)을 수학식 1에 적용하여 UDP 버퍼링 시간(UDP_BUF_TIME)을 재계산한다.Quality of experience (QoE) manager 500 is calculated through Equation 4 The UDP buffering time (UDP_BUF_TIME) is recalculated by applying the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) (NEW_USIT) to Equation (1).

체감 품질(QoE) 매니저(500)는 S205 단계에서 재계산한 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 포함하는 지터 안정화값 업데이트 통지를 생성하여 다중 경로 게이트웨이(300)의 지터 안정화부(307)에게 전송한다(S207).The quality of experience (QoE) manager 500 generates a jitter stabilization value update notification including the UDP buffering time (UDP_BUF_TIME) and the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) recalculated in step S205 to stabilize jitter of the multi-path gateway 300 . It is transmitted to the unit 307 (S207).

그러면, 다중 경로 게이트웨이(300)의 지터 안정화부(307)는 S207 단계에서 업데이트된 지터 안정화값을 기초로 JSF를 수행한다(S209). 즉, 도 2의 UDP 리다이렉트 처리부(306)로부터 수신되는 UDP 패킷을 S207 단계에서 업데이트된 UDP 버퍼링 시간(UDP_BUF_TIME)만큼 버퍼링한 후, S207 단계에서 업데이트된 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)으로 단말(400)의 디코더(410)로 출력한다. 이러한 과정을 통해 지터 안정화부(307)는 TCP 패킷을 인코더(210)가 출력하는 패킷과 유사하게 복원하여 디코더(410)로 출력할 수 있다.Then, the jitter stabilization unit 307 of the multi-path gateway 300 performs JSF based on the jitter stabilization value updated in step S207 (S209). That is, after buffering the UDP packet received from the UDP redirect processing unit 306 of FIG. 2 by the UDP buffering time (UDP_BUF_TIME) updated in step S207, the terminal 400 uses the updated UDP transmission time interval (UDP_SEND_INTERVAL_TIME) in step S207. output to the decoder 410 of Through this process, the jitter stabilization unit 307 may restore the TCP packet similarly to the packet output by the encoder 210 and output it to the decoder 410 .

이와 같이, 체감 품질(QoE) 매니저(500)는 상태 모니터(237) 및 지터 안정화부(307)로부터 수신되는 정보를 이용하여, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 계속 업데이트한다. 따라서, 지터 안정화부(307)는 서버(200)의 실시간 UDP 패킷 전송 상태 및 무선망 환경 상태를 지속적으로 반영하여 JSF를 수행할 수 있다.As such, the quality of experience (QoE) manager 500 continuously updates the UDP buffering time (UDP_BUF_TIME) and the UDP transmission time interval (UDP_SEND_INTERVAL_TIME) by using the information received from the state monitor 237 and the jitter stabilization unit 307 . do. Accordingly, the jitter stabilization unit 307 may perform JSF by continuously reflecting the real-time UDP packet transmission state and the wireless network environment state of the server 200 .

또한, 도 5는 본 발명의 또 다른 실시예에 따른 고품질 저지연 실시간 미디어 서비스 방법을 나타낸 흐름도이다. 이때, 도 5는 도 3 및 도 4의 JSF 동작과 별개로 이루어진다.In addition, Figure 5 is a flow chart showing a high-quality low-latency real-time media service method according to another embodiment of the present invention. In this case, FIG. 5 is performed separately from the JSF operation of FIGS. 3 and 4 .

도 5를 참조하면, 상태 모니터(237)는 일정 간격(예, 5초) 동안 반복해서 복수회(예, 30회) 각 무선망의 RTT 값을 측정한다(S301). 상태 모니터(237)는 S301 단계에서 측정한 각 무선망의 RTT 값을 포함하는 측정 보고를 체감 품질(QoE) 매니저(500)에게 전송한다(S303).Referring to FIG. 5 , the status monitor 237 repeatedly measures the RTT value of each wireless network a plurality of times (eg, 30 times) for a predetermined interval (eg, 5 seconds) (S301). The state monitor 237 transmits a measurement report including the RTT value of each wireless network measured in step S301 to the quality of experience (QoE) manager 500 (S303).

체감 품질(QoE) 매니저(500)는 각 무선망의 RTT 값들의 표준편차를 계산하고, 표준편차를 기초로 각 망의 상태 변화가 일정(Flat)한 정도를 비교한다(S305). The quality of experience (QoE) manager 500 calculates the standard deviation of the RTT values of each wireless network, and compares the degree to which the state change of each network is flat based on the standard deviation (S305).

체감 품질(QoE) 매니저(500)는 초당 상태 변화가 일정(Flat)한 망에 우선순위를 높게 부여한다(S307). 예를들어, WiFi 망의 초당 상태 변화의 폭이 가장 작고 5G 망의 초당 상태 변화의 폭이 가장 크다면, 체감 품질(QoE) 매니저(500)는 망의 우선순위를 WiFi 망 > LTE 망 > 5G 망으로 결정한다. The quality of experience (QoE) manager 500 gives a high priority to a network having a constant (flat) state change per second (S307). For example, if the width of the state change per second of the WiFi network is the smallest and the width of the state change per second of the 5G network is the largest, the quality of experience (QoE) manager 500 sets the network priority to WiFi network > LTE network > 5G determined by the network.

체감 품질(QoE) 매니저(500)는 결정한 망의 우선순위 결정 정보를 MPTCP 처리부(233)로 전송한다(S309).The quality of experience (QoE) manager 500 transmits the determined network prioritization information to the MPTCP processing unit 233 (S309).

MPTCP 처리부(233)는 우선순위 결정 정보를 기초로 전송망 별로 할당할 데이터 양을 결정한다(S311). 예를들어, 분할한 미디어 스트림 패킷이 ①, ②, ③, ④, ⑤, ⑥, ⑦이라면, WiFi망에 ①, ②, ③, ④를 할당하고, LTE 망에 ⑤, ⑥을 할당하며, 5G 망에 ⑦을 할당할 수 있다.The MPTCP processing unit 233 determines the amount of data to be allocated for each transmission network based on the prioritization information (S311). For example, if the divided media stream packets are ①, ②, ③, ④, ⑤, ⑥, ⑦, assign ①, ②, ③, ④ to the WiFi network, assign ⑤, ⑥ to the LTE network, and 5G ⑦ can be assigned to the network.

한편, 도 6은 본 발명의 한 실시예에 따른 컴퓨팅 장치의 하드웨어 구성도이다.Meanwhile, FIG. 6 is a hardware configuration diagram of a computing device according to an embodiment of the present invention.

도 6을 참고하면, 도 1 내지 도 5에서 설명한 서버(200), 다중경로 게이트웨이(300), 단말(400) 및 체감 품질(QoE) 매니저(500)는 적어도 하나의 프로세서에 의해 동작하는 컴퓨팅 장치(600)에서 본 발명의 동작을 실행하도록 기술된 명령들(instructions)이 포함된 프로그램을 실행할 수 있다. Referring to FIG. 6 , the server 200 , the multipath gateway 300 , the terminal 400 , and the quality of experience (QoE) manager 500 described in FIGS. 1 to 5 are computing devices operated by at least one processor. At 600 , a program including instructions described to perform the operations of the present invention may be executed.

컴퓨팅 장치(600)의 하드웨어는 적어도 하나의 프로세서(601), 메모리(603), 스토리지(605), 통신 인터페이스(607)를 포함할 수 있고, 버스(609)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. Hardware of the computing device 600 may include at least one processor 601 , a memory 603 , a storage 605 , and a communication interface 607 , and may be connected through a bus 609 . In addition, hardware such as an input device and an output device may be included.

컴퓨팅 장치(600)는 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.The computing device 600 may be loaded with various software including an operating system capable of driving a program.

프로세서(601)는 컴퓨팅 장치(600)의 동작을 제어하는 장치로서, 프로그램에 포함된 명령들을 처리하는 다양한 형태의 프로세서일 수 있고, 예를 들면, CPU(Central Processing Unit), MPU(Micro Processor Unit), MCU(Micro Controller Unit), GPU(Graphic Processing Unit) 등 일 수 있다. 메모리(603)는 본 발명의 동작을 실행하도록 기술된 명령들이 프로세서(601)에 의해 처리되도록 해당 프로그램을 로드할 수 있다. 메모리(603)는 예를들면, ROM(read only memory), RAM(random access memory) 등 일 수 있다. 스토리지(605)는 본 발명의 동작을 실행하는데 요구되는 각종 데이터, 프로그램 등을 저장할 수 있다. 통신 인터페이스(607)는 유/무선 통신 모듈일 수 있다.The processor 601 is a device for controlling the operation of the computing device 600 , and may be various types of processors that process instructions included in a program, for example, a central processing unit (CPU), a micro processor unit (MPU) ), microcontroller unit (MCU), graphic processing unit (GPU), and the like. The memory 603 may load a corresponding program so that instructions described to execute the operations of the present invention are processed by the processor 601 . The memory 603 may be, for example, read only memory (ROM), random access memory (RAM), or the like. The storage 605 may store various data, programs, etc. required for executing the operation of the present invention. The communication interface 607 may be a wired/wireless communication module.

이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.The embodiment of the present invention described above is not implemented only through the apparatus and method, and may be implemented through a program for realizing a function corresponding to the configuration of the embodiment of the present invention or a recording medium in which the program is recorded.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.Although the embodiments of the present invention have been described in detail above, the scope of the present invention is not limited thereto, and various modifications and improved forms of the present invention are also provided by those skilled in the art using the basic concept of the present invention as defined in the following claims. is within the scope of the right.

Claims (15)

체감 품질(Quality of Experience, QoE)을 관리하는 장치의 동작 방법으로서,
실시간 미디어 스트림 패킷을 분할하여 복수의 무선망을 통해 각각 전송하는 다중 경로 클라이언트로부터 상기 패킷의 전송 정보 및 상기 복수의 무선망 각각에 대한 상태 정보를 수집하는 단계,
상기 패킷의 전송 정보 및 상기 상태 정보를 이용하여, 지터(Jitter)가 변화한 패킷을 위한 버퍼링 시간 및 전송 시간 간격을 계산하는 단계, 그리고
상기 다중 경로 클라이언트로부터 상기 복수의 무선망을 통해 수신한 미디어 스트림 패킷들을 병합하여 단말로 전송하는 다중 경로 게이트웨이에게 상기 계산한 버퍼링 시간 및 전송 시간 간격을 전송하는 단계를 포함하고,
상기 버퍼링 시간 및 상기 전송 시간 간격은,
상기 지터가 변화한 패킷을 상기 다중 경로 클라이언트에서 전송된 원 패킷으로 복원하는데 사용되는, 동작 방법.
A method of operating a device for managing quality of experience (QoE), comprising:
Collecting transmission information of the packet and status information for each of the plurality of wireless networks from a multi-path client that divides real-time media stream packets and transmits them through a plurality of wireless networks,
Calculating a buffering time and a transmission time interval for a packet in which jitter is changed using the transmission information and the state information of the packet, and
and transmitting the calculated buffering time and transmission time interval to a multi-path gateway that merges media stream packets received from the multi-path client through the plurality of wireless networks and transmits them to a terminal,
The buffering time and the transmission time interval are
used to restore the jitter-changed packet to the original packet transmitted from the multi-path client.
제1항에서,
상기 전송하는 단계 이후,
상기 다중 경로 게이트웨이로부터 수신한 지터 버퍼의 큐 길이 변화 정보를 이용하여 상기 버퍼링 시간 및 상기 전송 시간 간격을 재계산하고, 재계산한 버퍼링 시간 및 전송 시간 간격을 상기 다중 경로 게이트웨이에게 전송하는 단계를 더 포함하고,
상기 지터 버퍼는,
상기 지터가 변화한 패킷을 상기 버퍼링 시간 동안 버퍼링 한 후, 상기 전송 시간 간격 단위로 출력하는, 동작 방법.
In claim 1,
After the step of transmitting,
Recalculating the buffering time and the transmission time interval using the queue length change information of the jitter buffer received from the multi-path gateway, and transmitting the recalculated buffering time and transmission time interval to the multi-path gateway. including,
The jitter buffer is
After buffering the jitter-changed packet for the buffering time, outputting the jitter-changed packet in units of the transmission time interval.
제2항에서,
상기 패킷은,
고정비트율(Constant Bit Rate, CBR)을 사용하는 UDP(User Datagram Protocol) 패킷인, 동작 방법.
In claim 2,
The packet is
A User Datagram Protocol (UDP) packet using a Constant Bit Rate (CBR), a method of operation.
제2항에서,
상기 패킷의 전송 정보는,
상기 다중 경로 클라이언트에서 소정의 시간 단위로 전송되는 상기 패킷의 단위 시간당 패킷 수 및 상기 패킷의 평균 크기를 포함하는, 동작 방법.
In claim 2,
The packet transmission information is
An operating method comprising the number of packets per unit time of the packets transmitted in a predetermined time unit from the multi-path client and an average size of the packets.
제2항에서,
상기 상태 정보는,
상기 복수의 무선망 각각에 대하여 상기 다중 경로 클라이언트가 측정한 정보를 포함하고,
상기 측정한 정보는,
RTT(Round Trip Time) 및 대역폭(BW)을 포함하는, 동작 방법.
In claim 2,
The status information is
Including information measured by the multi-path client for each of the plurality of wireless networks,
The measured information is
A method of operation, including Round Trip Time (RTT) and Bandwidth (BW).
제2항에서,
상기 전송 시간 간격은,
상기 패킷의 전송 정보에 포함된 패킷 전송 간격 및 상기 복수의 무선망 각각에서 전송할 수 있는 초당 패킷 수의 최대값을 이용하여 계산되고,
상기 초당 패킷 수의 최대값은,
상기 복수의 무선망 각각에서 측정된 RTT(Round Trip Time)의 평균값, 상기 패킷의 전송 정보에 포함된 전송 패킷의 평균 크기 및 상기 복수의 무선망 각각의 대역폭을 이용하여 계산되는, 동작 방법.
In claim 2,
The transmission time interval is
It is calculated using the packet transmission interval included in the packet transmission information and the maximum value of the number of packets per second that can be transmitted in each of the plurality of wireless networks,
The maximum value of the number of packets per second is,
The method is calculated by using an average value of Round Trip Time (RTT) measured in each of the plurality of wireless networks, an average size of a transport packet included in the packet transmission information, and a bandwidth of each of the plurality of wireless networks.
제6항에서,
상기 버퍼링 시간은,
최대 버퍼링 시간, 상기 패킷 전송 간격 및 상기 전송 시간 간격을 이용하여 계산되고,
상기 최대 버퍼링 시간은,
사전에 설정된 값인, 동작 방법.
In claim 6,
The buffering time is
calculated using the maximum buffering time, the packet transmission interval and the transmission time interval,
The maximum buffering time is,
A preset value, the method of operation.
제1항에서,
상기 수집하는 단계 이후,
상기 복수의 무선망 각각에서 측정된 RTT(Round Trip Time)값들의 표준편차를 계산하여 무선망 상태 변화가 가장 적은 순서대로 우선순위를 결정하고, 우선순위 결정 정보를 상기 다중 경로 클라이언트에게 전송하는 단계를 더 포함하고,
상기 우선순위 결정 정보는,
상기 다중 경로 클라이언트가 상기 패킷을 복수의 망을 통해 전송할때 사용되는, 동작 방법.
In claim 1,
After the collecting step,
calculating the standard deviation of RTT (Round Trip Time) values measured in each of the plurality of wireless networks, determining priorities in the order in which the wireless network state changes are least, and transmitting the prioritization information to the multi-path client further comprising,
The prioritization information is
used when the multi-path client transmits the packet through a plurality of networks.
다중 경로 게이트웨이의 동작 방법으로서,
체감 품질(Quality of Experience, QoE)을 관리하는 장치로부터 지터(Jitter)가 변화한 패킷을 상기 다중 경로 클라이언트에서 전송된 원 패킷으로 복원하기 위한 버퍼링 시간 및 전송 시간 간격을 수신하는 단계,
다중 경로 클라이언트로부터 복수의 무선망을 통해 분할된 실시간 미디어 스트림 패킷을 수신하여 하나의 패킷으로 병합하는 단계, 그리고
병합한 패킷을 지터 버퍼에서 상기 버퍼링 시간만큼 버퍼링한 후, 상기 전송 시간 간격으로 단말에게 전송하는 단계
를 포함하는, 동작 방법.
A method of operating a multi-path gateway, comprising:
Receiving a buffering time and a transmission time interval for restoring the jitter-changed packet to the original packet transmitted from the multi-path client from the device managing Quality of Experience (QoE);
receiving the segmented real-time media stream packets from the multi-path client through a plurality of wireless networks and merging them into one packet; and
Buffering the merged packets as much as the buffering time in the jitter buffer and transmitting the merged packets to the terminal at the transmission time interval
comprising, a method of operation.
제9항에서,
상기 전송하는 단계 이후,
상기 지터 버퍼의 큐 길이 변화 정보를 상기 체감 품질을 관리하는 장치로 전송하는 단계,
상기 큐 길이 변화 정보가 반영되어 재계산된 버퍼링 시간 및 전송 시간 간격을 상기 체감 품질을 관리하는 장치로부터 수신하는 단계, 그리고
상기 병합한 패킷을 상기 지터 버퍼에서 상기 재계산된 버퍼링 시간만큼 버퍼링한 후, 상기 재계산된 전송 시간 간격으로 단말에게 전송하는 단계
를 더 포함하는, 동작 방법.
In claim 9,
After the step of transmitting,
Transmitting the queue length change information of the jitter buffer to the apparatus for managing the quality of experience;
Receiving the buffering time and transmission time interval recalculated by reflecting the queue length change information from the apparatus for managing the quality of experience, and
Buffering the merged packets by the recalculated buffering time in the jitter buffer, and then transmitting the merged packets to the terminal at the recalculated transmission time interval
Further comprising, the method of operation.
제9항에서,
상기 병합하는 단계는,
상기 분할된 실시간 미디어 스트림 패킷을 하나의 TCP(Transmission Control Protocol) 패킷으로 병합하고,
상기 병합하는 단계와 상기 전송하는 단계 사이에,
상기 하나의 TCP 패킷으로부터 다중 병합 터널링 헤더 및 VPN(Virtual Private Network) 터널링 헤더를 제거하여 UDP(User Datagram Protocol) 패킷으로 복원하는 단계를 더 포함하고,
상기 전송하는 단계는,
상기 UDP 패킷을 상기 지터 버퍼에서 상기 버퍼링 시간만큼 버퍼링한 후, 상기 전송 시간 간격으로 단말에게 전송하는, 동작 방법.
In claim 9,
The merging step is
Merging the divided real-time media stream packets into one Transmission Control Protocol (TCP) packet,
Between the step of merging and the step of transmitting,
The method further comprises the step of removing a multiple merge tunneling header and a VPN (Virtual Private Network) tunneling header from the one TCP packet and restoring it to a User Datagram Protocol (UDP) packet,
The transmitting step is
After buffering the UDP packet by the buffering time in the jitter buffer, transmitting the UDP packet to the terminal at the transmission time interval.
제11항에서,
상기 UDP 패킷은,
고정비트율(Constant Bit Rate, CBR)을 사용하여 소정의 시간 단위로 전송되고,
상기 전송 시간 간격은,
상기 다중 경로 클라이언트에서 측정된 상기 UDP 패킷의 단위 시간당 패킷 수와 상기 복수의 무선망 각각에서 전송할 수 있는 단위 시간당 최대 패킷 수를 이용하여 계산되며,
상기 버퍼링 시간은,
상기 UDP 패킷의 단위 시간당 패킷 수 및 상기 전송 시간 간격을 이용하여 계산되는, 동작 방법.
In claim 11,
The UDP packet is
It is transmitted in a predetermined time unit using a constant bit rate (CBR),
The transmission time interval is
It is calculated using the number of packets per unit time of the UDP packets measured by the multi-path client and the maximum number of packets per unit time that can be transmitted in each of the plurality of wireless networks,
The buffering time is
It is calculated using the number of packets per unit time of the UDP packet and the transmission time interval.
다중 경로 클라이언트 및 다중 경로 게이트웨이와 각각 연결되는 통신 인터페이스,
프로그램을 저장하는 메모리, 그리고
상기 프로그램을 실행하는 적어도 하나의 프로세서를 포함하고,
상기 다중 경로 클라이언트는,
UDP(User Datagram Protocol)를 사용하는 실시간 미디어 스트림 패킷을 분할하여 복수의 무선망을 통해 각각 전송하고,
상기 다중 경로 게이트웨이는,
상기 분할된 실시간 미디어 스트림 패킷을 수신하여 하나의 패킷으로 병합하여 단말로 전송하며,
상기 프로세서는,
상기 다중 경로 클라이언트로부터 상기 실시간 미디어 스트림 패킷의 전송 정보 및 상기 복수의 무선망 각각에 대한 상태 정보를 수집하는 단계,
상기 패킷의 전송 정보 및 상기 상태 정보를 이용하여 지터(Jitter) 안정화 값을 계산하는 단계, 그리고
상기 지터 안정화 값을 상기 다중 경로 게이트웨이에게 전송하는 단계를 실행하고,
상기 지터 안정화 값은,
상기 다중 경로 게이트웨이가 상기 복수의 무선망을 통해 수신한 지터가 변화한 패킷을 상기 다중 경로 클라이언트가 전송한 원 패킷으로 복원하는데 사용되는, 체감 품질 관리 장치.
communication interfaces respectively connected with multi-path clients and multi-path gateways;
memory to store the program, and
at least one processor executing the program;
The multi-path client,
Real-time media stream packets using UDP (User Datagram Protocol) are divided and transmitted through a plurality of wireless networks, respectively.
The multi-path gateway,
Receives the divided real-time media stream packets, merges them into one packet, and transmits them to the terminal,
The processor is
collecting transmission information of the real-time media stream packet and status information for each of the plurality of wireless networks from the multi-path client;
calculating a jitter stabilization value using the packet transmission information and the state information; and
transmitting the jitter stabilization value to the multi-path gateway;
The jitter stabilization value is
The multi-path gateway is used to restore jitter-changed packets received through the plurality of wireless networks into original packets transmitted by the multi-path clients.
제13항에서,
상기 지터 안정화 값은,
버퍼링 시간 및 전송 시간 간격을 포함하고,
상기 버퍼링 시간 및 상기 전송 시간 간격은,
상기 다중 경로 게이트웨이의 지터 버퍼에서 상기 하나의 패킷을 버퍼링한 후, 일정한 시간 단위로 상기 단말에게 전송하는데 사용되는, 체감 품질 관리 장치.
In claim 13,
The jitter stabilization value is
buffering time and transmission time interval;
The buffering time and the transmission time interval are
After buffering the one packet in the jitter buffer of the multi-path gateway, it is used to transmit to the terminal in a predetermined time unit, the apparatus for managing quality of experience.
제14항에서,
상기 전송하는 단계 이후,
상기 지터 버퍼의 큐 길이 변화 정보를 상기 다중 경로 게이트웨이로부터 수신하는 단계, 그리고
상기 큐 길이 변화 정보를 반영하여 상기 버퍼링 시간 및 상기 전송 시간 간격을 계산하여, 상기 다중 경로 게이트웨이로 전송하는 단계
를 더 포함하는, 체감 품질 관리 장치.
15. In claim 14,
After the step of transmitting,
Receiving the queue length change information of the jitter buffer from the multi-path gateway, and
Calculating the buffering time and the transmission time interval by reflecting the queue length change information, and transmitting the buffering time and the transmission time interval to the multi-path gateway
Further comprising, a quality of experience management device.
KR1020190168870A 2019-12-17 2019-12-17 Method and apparatus for providing high quality real time media streaming service with low latency KR20210077841A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190168870A KR20210077841A (en) 2019-12-17 2019-12-17 Method and apparatus for providing high quality real time media streaming service with low latency

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190168870A KR20210077841A (en) 2019-12-17 2019-12-17 Method and apparatus for providing high quality real time media streaming service with low latency

Publications (1)

Publication Number Publication Date
KR20210077841A true KR20210077841A (en) 2021-06-28

Family

ID=76607674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190168870A KR20210077841A (en) 2019-12-17 2019-12-17 Method and apparatus for providing high quality real time media streaming service with low latency

Country Status (1)

Country Link
KR (1) KR20210077841A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11936535B2 (en) 2021-10-29 2024-03-19 Samsung Electronics Co., Ltd. Server and electronic device for transmitting and receiving stream data and method for operating the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11936535B2 (en) 2021-10-29 2024-03-19 Samsung Electronics Co., Ltd. Server and electronic device for transmitting and receiving stream data and method for operating the same

Similar Documents

Publication Publication Date Title
Ramaboli et al. Bandwidth aggregation in heterogeneous wireless networks: A survey of current approaches and issues
US8717890B2 (en) Application, usage and radio link aware transport network scheduler
US8942215B2 (en) System and method for transmission of data from a wireless mobile device over a multipath wireless router
KR102519409B1 (en) Method and Apparatus for Multipath Media Delivery
JP6178523B2 (en) Transport accelerator implementing request manager and connection manager functionality
US9438494B2 (en) Apparatus and methods for optimizing network data transmission
US10721715B2 (en) Link-aware streaming adaptation
US10038639B2 (en) Congestion control based on flow control
US11949512B2 (en) Retransmission of data in packet networks
CN109831490B (en) Edge cloud system based on cloud network integration and access method
KR102486847B1 (en) Link-aware streaming adaptation
JP2018511275A (en) Method and system for scheduling packets in bundling scenarios based on TCP tunnel and native TCP information
JP2016526355A (en) Node and method for use in a HAS content distribution system
US10708170B2 (en) Transferring data over multiple network paths using decoupled sub-flows
JP5720787B2 (en) Content distribution system, cache server, and content distribution method
US9763133B2 (en) Content delivery system and content delivery method
KR20210077841A (en) Method and apparatus for providing high quality real time media streaming service with low latency
Hayes et al. Scaling 360-degree adaptive bitrate video delivery over an SDN architecture
Gatimu et al. Experimental study of QoE improvements towards adaptive HD video streaming using flexible dual TCP-UDP streaming protocol
Gilski et al. Quality expectations of mobile subscribers
Zhang et al. Delay-constrained streaming in hybrid cellular and cooperative ad hoc networks
KR102485601B1 (en) Method of selecting optimal network node for contents delivery service and apparatus therefor
US20140244798A1 (en) TCP-Based Weighted Fair Video Delivery
EP4002793B1 (en) Method and controller for audio and/or video content delivery
US11297634B2 (en) Systems, methods, and media for scheduling traffic of a communication session between an application on a WiFi network and another device