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 PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/28—Flow control; Congestion control in relation to timing considerations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/302—Route determination based on requested QoS
- H04L45/306—Route determination based on the nature of the carried application
- H04L45/3065—Route determination based on the nature of the carried application for real time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/14—Multichannel or multilink protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
Abstract
Description
본 발명은 고품질 저지연 실시간 미디어 스트리밍 서비스를 제공하는 방법 및 그 장치에 관한 것이다.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
카메라(100)는 단말(400)에 전송하기 위한 영상을 촬영하여 획득하기 위한 장치이다.The
서버(200)는 인코더(210) 및 다중 경로 클라이언트(Multi Path-Client, MP-C)(230)를 포함한다. The
인코더(210)는 카메라(100)가 출력하는 영상을 실시간 미디어 스트림 포맷으로 인코딩하여 다중 경로 클라이언트(230)로 출력한다. 한 실시예에 따르면, 인코더(210)는 카메라(100)를 통하여 촬영된 영상 및 음성을 입력받아 인코딩한 후, ATSC 3.0 형식(Advanced Television Systems Committee standard 3.0 version)의 방송 스트림에 맞게 변환하여 출력할 수 있다.The
다중 경로 클라이언트(230)는 다중 경로 게이트웨이(300)와 MPTCP VPN(Virtual Private Network) 터널링 기반으로 데이터를 송수신한다. 다중 경로 클라이언트(230)는 다중 경로 게이트웨이(300)를 통하여 단말(400)로 실시간 미디어 스트림을 전송한다.The
다중 경로 클라이언트(230)는 복수의 통신 인터페이스를 구비하고, 복수의 통신 인터페이스를 통해 한 시점에 복수의 망에 연결될 수 있다. 여기서, 복수의 통신 인터페이스는 5G 인터페이스, LTE 인터페이스, WiFi 인터페이스 등을 포함할 수 있다.The
다중 경로 클라이언트(230)는 서브플로우(subflow) 단위로 다중 경로 게이트웨이(300)와 MPTCP 세션을 생성하고, 복수의 통신 인터페이스를 통해 데이터를 송수신한다.The
다중 경로 클라이언트(230)는 서버(200)에 탑재되는 어플리케이션일 수 있다. 다중 경로 클라이언트(230)는 다중망 병합을 위한 인증, 상태 관리, 트래픽 처리를 수행하고, 인코더(210)가 출력하는 단일 경로의 플로우를 다중 경로의 서브플로우로 분할하여 전송한다.The
다중 경로 클라이언트(230)는 복수의 무선망(5G, LTE, WiFi 등)을 통해 다중 경로 게이트웨이(300)로 VPN 생성을 요청하여 다중 경로 게이트웨이(300)와 VPN을 생성한다. The
VPN이 생성되면, 다중 경로 클라이언트(230)는 VPN을 통해 다중 경로 게이트웨이(300)로 인증을 요청하여 다중 경로 게이트웨이(300)와 MPTCP 서비스 인증 절차를 수행한다. When the VPN is created, the
MPTCP 서비스 인증 절차가 성공하면, 다중 경로 클라이언트(230)는 분배 정책에 따라 실시간 미디어 스트림을 이종망(예를들어, 5G망, LTE망, 와이파이망)을 통해 다중 경로 게이트웨이(300)로 분할 전송한다. If the MPTCP service authentication procedure is successful, the
다중 경로 게이트웨이(300)는 복수의 통신 인터페이스를 통해 수신된 데이터를 병합하여 단말(400)로 전송한다. 다중 경로 게이트웨이(300)는 다중 경로 클라이언트(230)로부터 복수의 무선망을 통해 수신되는 각각의 실시간 미디어 스트림을 병합하여 단말(400)로 실시간 출력한다. The
단말(400)은 디코더(410) 및 디스플레이 장치(430)를 포함한다.The terminal 400 includes a
디코더(410)는 다중 경로 게이트웨이(300)로부터 수신되는 미디어 스트림을 디코딩하여 디스플레이 장치(430)로 전송한다. 디스플레이 장치(430)는 디코딩된 미디어 스트림을 재생 및 출력한다.The
이와 같이, 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
지터는 패킷들 간의 도착 시간 간격(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)
체감 품질(QoE) 매니저(500)는 이 두 장비(230, 300)를 통해 복수의 무선망 상태 및 미디어 스트림의 전송 상태를 모니터링하고, 이를 기초로 최적의 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 도출함으로써, 체감 품질(QoE)을 제어한다. The quality of experience (QoE)
이와 같이, 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 라우팅부(231)는 인코더(210)로부터 UDP 패킷을 수신한다. UDP 라우팅부(231)는 L3 라우팅 기반으로 UDP 패킷을 MPTCP-VPN 처리부(232)로 전달한다. UDP 라우팅부(231)는 CBR 기반으로 동작하므로, 일정한 간격(UDP_PPS, UDP_Packet per Second)으로 UDP 패킷을 라우팅한다.The
MPTCP-VPN 처리부(232)는 다중 경로 클라이언트(230)가 부팅하면, 사전 설정된 체감 품질(QoE) 매니저(500)의 IP 주소를 이용하여 체감 품질(QoE) 매니저(500)와 접속한다. When the
MPTCP-VPN 처리부(232)는 체감 품질(QoE) 매니저(500)로부터 다중 경로 게이트웨이(300)의 IP 주소를 획득한다. MPTCP-VPN 처리부(232)는 획득한 IP 주소를 이용하여, 다중 경로 게이트웨이(300)로 MPTCP VPN 생성을 요청한다. MPTCP-VPN 처리부(232)는 다중 경로 게이트웨이(300)와 MPTCP VPN을 생성한다.The MPTCP-
MPTCP VPN이 생성되면, MPTCP-VPN 처리부(232)는 UDP 라우팅부(231)로부터 수신되는 UDP 패킷에 VPN 헤더(Header) 및 MPTCP 헤더를 추가하고, 이를 MPTCP 처리부(233)에게 전달한다.When the MPTCP VPN is created, the MPTCP-
MPTCP 처리부(233)는 복수의 무선 인터페이스(234, 235, 236)를 통해 VPN 헤더 및 MPTCP 헤더가 추가된 UDP 패킷을 다중 경로 게이트웨이(300)로 전송한다. The
이때, 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
상태 모니터(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
다중 경로 게이트웨이(300)는 복수의 무선 인터페이스(301, 302, 303), MPTCP 처리부(304), MPTCP-VPN 처리부(305), UDP 리다이렉트 처리부(306), 지터 안정화부(307) 및 UDP 프록시(308)를 포함한다.The
MPTCP 처리부(304)는 복수의 무선 인터페이스(301, 302, 303)를 통하여 TCP 패킷들을 재배열(reordering)하여 하나의 TCP 플로우로 만들고 이를 MPTCP-VPN 처리부(305)로 출력한다.The
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-
UDP 리다이렉트 처리부(306)는 MPTCP-VPN 처리부(305)가 출력하는 UDP 패킷을 지터 안정화부(307)로 강제로 출력한다. The UDP
지터 안정화부(307)는 앞서 설명한 JSF 기능을 수행한다. 지터 안정화부(307)는 TCP를 거치면서 트래픽 간격(jitter)이 많이 변한 UDP 패킷을 일정 시간 동안(UDP_BUF_TIME) 버퍼링하고 이를 다시 인코더(210)에서 전송되었던 간격과 비슷한 간격(UDP_SEND_INTERVAL_TIME)으로 복원하는 기능을 수행한다. The
여기서, 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)
UDP 프록시(308)는 지터 안정화부(307)에 의해 조정된 UDP 패킷을 단말(400)로 전송한다.The
체감 품질(QoE) 매니저(500)는 상태 모니터(237)로부터 수신되는 상태 보고를 기초로, 지터 안정화값을 계산한다. 그리고 이러한 지터 안정화값을 지터 안정화부(307)로 제공하여 단말(400)의 디코더(410)로 전송될 UDP 패킷에 적용한다. The quality of experience (QoE)
추가적으로, 단말(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)
지터 안정화값을 이용하여 고품질 저지연 실시간 미디어 스트리밍 서비스를 제어하는 방법에 대하여 설명한다.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
상태 모니터(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)
체감 품질(QoE) 매니저(500)는 S105 단계에서 수신한 측정 보고를 기초로, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 계산한다(S107). The quality of experience (QoE)
체감 품질(QoE) 매니저(500)는 다음 수학식 1과 같이 UDP 버퍼링 시간(UDP_BUF_TIME)을 계산할 수 있다.The quality of experience (QoE)
여기서, 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).
여기서, 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
여기서, 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)
다중 경로 게이트웨이(300)의 지터 안정화부(307)는 S109 단계에서 수신한 지터 안정화값을 기초로 JSF를 수행한다(S111). 즉, 도 2의 UDP 리다이렉트 처리부(306)로부터 수신되는 UDP 패킷을 UDP 버퍼링 시간(UDP_BUF_TIME)만큼 버퍼링한 후, UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)으로 단말(400)의 디코더(410)로 출력한다.The
도 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
다중경로 클라이언트(230)의 상태 모니터(237)는 도 3의 S101 단계 및 S103 단계에서 측정된 정보를 포함하는 측정 보고를 체감 품질(QoE) 매니저(500)로 전송한다(S203). 주기적으로, 또는 특정 시점에 측정 보고를 체감 품질(QoE) 매니저(500)로 전송할 수 있다.The status monitor 237 of the
체감 품질(QoE) 매니저(500)는 S201 단계에서 수신한 JSF 결과 정보 및 S203 단계에서 수신한 측정 보고를 기초로, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 재계산한다(S205).The quality of experience (QoE)
체감 품질(QoE) 매니저(500)는 수학식 4를 이용하여 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)(NEW_USIT)을 재계산할 수 있다.The quality of experience (QoE)
여기서, 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
체감 품질(QoE) 매니저(500)는 수학식 4를 통해 산출된 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)(NEW_USIT)을 수학식 1에 적용하여 UDP 버퍼링 시간(UDP_BUF_TIME)을 재계산한다.Quality of experience (QoE)
체감 품질(QoE) 매니저(500)는 S205 단계에서 재계산한 UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 포함하는 지터 안정화값 업데이트 통지를 생성하여 다중 경로 게이트웨이(300)의 지터 안정화부(307)에게 전송한다(S207).The quality of experience (QoE)
그러면, 다중 경로 게이트웨이(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
이와 같이, 체감 품질(QoE) 매니저(500)는 상태 모니터(237) 및 지터 안정화부(307)로부터 수신되는 정보를 이용하여, UDP 버퍼링 시간(UDP_BUF_TIME) 및 UDP 전송 시간 간격(UDP_SEND_INTERVAL_TIME)을 계속 업데이트한다. 따라서, 지터 안정화부(307)는 서버(200)의 실시간 UDP 패킷 전송 상태 및 무선망 환경 상태를 지속적으로 반영하여 JSF를 수행할 수 있다.As such, the quality of experience (QoE)
또한, 도 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)
체감 품질(QoE) 매니저(500)는 초당 상태 변화가 일정(Flat)한 망에 우선순위를 높게 부여한다(S307). 예를들어, WiFi 망의 초당 상태 변화의 폭이 가장 작고 5G 망의 초당 상태 변화의 폭이 가장 크다면, 체감 품질(QoE) 매니저(500)는 망의 우선순위를 WiFi 망 > LTE 망 > 5G 망으로 결정한다. The quality of experience (QoE)
체감 품질(QoE) 매니저(500)는 결정한 망의 우선순위 결정 정보를 MPTCP 처리부(233)로 전송한다(S309).The quality of experience (QoE)
MPTCP 처리부(233)는 우선순위 결정 정보를 기초로 전송망 별로 할당할 데이터 양을 결정한다(S311). 예를들어, 분할한 미디어 스트림 패킷이 ①, ②, ③, ④, ⑤, ⑥, ⑦이라면, WiFi망에 ①, ②, ③, ④를 할당하고, LTE 망에 ⑤, ⑥을 할당하며, 5G 망에 ⑦을 할당할 수 있다.The
한편, 도 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
컴퓨팅 장치(600)의 하드웨어는 적어도 하나의 프로세서(601), 메모리(603), 스토리지(605), 통신 인터페이스(607)를 포함할 수 있고, 버스(609)를 통해 연결될 수 있다. 이외에도 입력 장치 및 출력 장치 등의 하드웨어가 포함될 수 있다. Hardware of the
컴퓨팅 장치(600)는 프로그램을 구동할 수 있는 운영 체제를 비롯한 각종 소프트웨어가 탑재될 수 있다.The
프로세서(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
이상에서 설명한 본 발명의 실시예는 장치 및 방법을 통해서만 구현이 되는 것은 아니며, 본 발명의 실시예의 구성에 대응하는 기능을 실현하는 프로그램 또는 그 프로그램이 기록된 기록 매체를 통해 구현될 수도 있다.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)
실시간 미디어 스트림 패킷을 분할하여 복수의 무선망을 통해 각각 전송하는 다중 경로 클라이언트로부터 상기 패킷의 전송 정보 및 상기 복수의 무선망 각각에 대한 상태 정보를 수집하는 단계,
상기 패킷의 전송 정보 및 상기 상태 정보를 이용하여, 지터(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.
상기 전송하는 단계 이후,
상기 다중 경로 게이트웨이로부터 수신한 지터 버퍼의 큐 길이 변화 정보를 이용하여 상기 버퍼링 시간 및 상기 전송 시간 간격을 재계산하고, 재계산한 버퍼링 시간 및 전송 시간 간격을 상기 다중 경로 게이트웨이에게 전송하는 단계를 더 포함하고,
상기 지터 버퍼는,
상기 지터가 변화한 패킷을 상기 버퍼링 시간 동안 버퍼링 한 후, 상기 전송 시간 간격 단위로 출력하는, 동작 방법.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.
상기 패킷은,
고정비트율(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.
상기 패킷의 전송 정보는,
상기 다중 경로 클라이언트에서 소정의 시간 단위로 전송되는 상기 패킷의 단위 시간당 패킷 수 및 상기 패킷의 평균 크기를 포함하는, 동작 방법.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.
상기 상태 정보는,
상기 복수의 무선망 각각에 대하여 상기 다중 경로 클라이언트가 측정한 정보를 포함하고,
상기 측정한 정보는,
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).
상기 전송 시간 간격은,
상기 패킷의 전송 정보에 포함된 패킷 전송 간격 및 상기 복수의 무선망 각각에서 전송할 수 있는 초당 패킷 수의 최대값을 이용하여 계산되고,
상기 초당 패킷 수의 최대값은,
상기 복수의 무선망 각각에서 측정된 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.
상기 버퍼링 시간은,
최대 버퍼링 시간, 상기 패킷 전송 간격 및 상기 전송 시간 간격을 이용하여 계산되고,
상기 최대 버퍼링 시간은,
사전에 설정된 값인, 동작 방법.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.
상기 수집하는 단계 이후,
상기 복수의 무선망 각각에서 측정된 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.
상기 전송하는 단계 이후,
상기 지터 버퍼의 큐 길이 변화 정보를 상기 체감 품질을 관리하는 장치로 전송하는 단계,
상기 큐 길이 변화 정보가 반영되어 재계산된 버퍼링 시간 및 전송 시간 간격을 상기 체감 품질을 관리하는 장치로부터 수신하는 단계, 그리고
상기 병합한 패킷을 상기 지터 버퍼에서 상기 재계산된 버퍼링 시간만큼 버퍼링한 후, 상기 재계산된 전송 시간 간격으로 단말에게 전송하는 단계
를 더 포함하는, 동작 방법.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.
상기 병합하는 단계는,
상기 분할된 실시간 미디어 스트림 패킷을 하나의 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.
상기 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.
상기 지터 안정화 값은,
버퍼링 시간 및 전송 시간 간격을 포함하고,
상기 버퍼링 시간 및 상기 전송 시간 간격은,
상기 다중 경로 게이트웨이의 지터 버퍼에서 상기 하나의 패킷을 버퍼링한 후, 일정한 시간 단위로 상기 단말에게 전송하는데 사용되는, 체감 품질 관리 장치.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.
상기 전송하는 단계 이후,
상기 지터 버퍼의 큐 길이 변화 정보를 상기 다중 경로 게이트웨이로부터 수신하는 단계, 그리고
상기 큐 길이 변화 정보를 반영하여 상기 버퍼링 시간 및 상기 전송 시간 간격을 계산하여, 상기 다중 경로 게이트웨이로 전송하는 단계
를 더 포함하는, 체감 품질 관리 장치.
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.
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)
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 |
-
2019
- 2019-12-17 KR KR1020190168870A patent/KR20210077841A/en unknown
Cited By (1)
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 |