KR20230076325A - Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment - Google Patents
Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment Download PDFInfo
- Publication number
- KR20230076325A KR20230076325A KR1020210163149A KR20210163149A KR20230076325A KR 20230076325 A KR20230076325 A KR 20230076325A KR 1020210163149 A KR1020210163149 A KR 1020210163149A KR 20210163149 A KR20210163149 A KR 20210163149A KR 20230076325 A KR20230076325 A KR 20230076325A
- Authority
- KR
- South Korea
- Prior art keywords
- transcoding
- server
- central
- edge
- popularity
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000005457 optimization Methods 0.000 title abstract description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 13
- 238000012545 processing Methods 0.000 claims description 31
- 230000002776 aggregation Effects 0.000 claims description 21
- 238000004220 aggregation Methods 0.000 claims description 21
- 230000000694 effects Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000007796 conventional method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 230000036461 convulsion Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000012821 model calculation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234309—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
-
- 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/21—Server components or server architectures
- H04N21/218—Source of audio or video content, e.g. local disk arrays
- H04N21/2187—Live feed
-
- 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/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
-
- 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
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
본 발명은 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 방법 및 시스템에 관한 것이다.The present invention relates to a transcoding job allocation method and system for cost optimization considering live video streaming quality in an edge computing environment.
비디오 스포츠 경기와 같은 실시간 콘텐츠의 라이브 스트리밍이 인기를 얻고 있다. 예를 들어, 최고의 게임 생중계 플랫폼 중 하나인 Twitch는 미국 인터넷 트래픽의 1.8%를 차지한다. 라이브 스트리밍 시나리오에서 방송사의 채널은 비디오 스트림을 지속적으로 캡처하고 인코딩하여 지역 서버에 업로드한 다음 요청한 시청자에게 전달한다. 이러한 지속적인 컴퓨팅 및 전송 프로세스에는 많은 컴퓨팅 리소스가 필요하다. Live streaming of real-time content, such as video sports events, is gaining popularity. For example, Twitch, one of the top gaming live streaming platforms, accounts for 1.8% of US internet traffic. In a live streaming scenario, a broadcaster's channel continuously captures and encodes a video stream, uploads it to a local server, and then delivers it to the viewer who requests it. This continuous computing and transfer process requires a lot of computing resources.
변화하는 네트워크 조건을 허용하기 위해 라이브 스트리밍 서비스는 일반적으로 HTTP(DASH)를 통한 동적 적응 스트리밍을 사용한다. 여기서 각 소스 비디오 스트림은 다른 비트레이트의 버전으로 트랜스코딩되어 시청자에게 전달되는 비디오가 네트워크 대역폭과 일치한다. 그러나 트랜스코딩에는 단일 지역 서버에서 수행할 수 있는 것보다 더 많은 계산이 필요하므로 방송사는 제한된 수의 비디오 스트림 버전만 제공한다. 예를 들어, Twitch.tv는 프리미엄 채널에만 트랜스코딩 서비스를 제공한다. 따라서 많은 시청자가 최적이 아닌 비트레이트로 비디오를 수신하여 시청자 QoE을 저하시킨다. To accommodate changing network conditions, live streaming services typically use dynamic adaptive streaming over HTTP (DASH). Here, each source video stream is transcoded into a version with a different bitrate so that the video delivered to the viewer matches the network bandwidth. But because transcoding requires more computation than a single regional server can do, broadcasters only offer a limited number of versions of video streams. For example, Twitch.tv only offers transcoding services for premium channels. Therefore, many viewers receive video at sub-optimal bitrates, degrading viewer QoE.
이를 위해 서비스 제공자는 클라우드 서비스를 사용할 수 있지만, 클라우드 서버가 방송 소스에서 멀리 떨어져 있는 경우 라이브 스트리밍의 대기 시간 요구 사항을 충족하지 못한다. 그로 인해 등장한 엣지 컴퓨팅 환경에서는 처리할 데이터 근처에 엣지 서버(Edge Server; ES)를 배치한다. Gartner는 2023년까지 대기업의 50% 이상이 엣지 컴퓨팅을 필요로 하는 6개 이상의 사물 인터넷(Internet of Things; IoT) 애플리케이션을 보유할 것이며 엣지 인프라의 수가 증가할 것으로 예측한다.For this, service providers can use cloud services, but if the cloud server is far from the broadcasting source, it will not meet the latency requirements of live streaming. In the edge computing environment that has emerged as a result, an edge server (ES) is placed near the data to be processed. Gartner predicts that by 2023, more than 50% of large enterprises will have six or more Internet of Things (IoT) applications that require edge computing, and the number of edge infrastructures will increase.
라이브 스트리밍 서비스 제공업체는 MEC를 사용하여 채널 위치에 더 가까운 엣지 서버에서 비디오 스트림을 트랜스코딩함으로써 이전에 중앙 수집 서버로 전달되었던 트랜스코딩 워크로드를 분산할 수 있다. 이는 스트리밍 데이터 경로에 있기 때문에 대기 시간이 거의 증가하지 않으나, 각 엣지 서버의 CPU 프로세싱 용량과 네트워크 범위는 제한되어 있으므로 트랜스코딩 작업의 효과적인 할당이 필요하다. 또한 엣지 인프라를 사용하는 총 비용을 최소화할 수 있어야 한다. Live streaming service providers can use MEC to transcode video streams on edge servers closer to the channel location, offloading the transcoding workload previously delivered to central aggregation servers. Because it is in the streaming data path, latency is hardly increased, but each edge server's CPU processing capacity and network range are limited, requiring effective allocation of transcoding tasks. It also needs to be able to minimize the total cost of using edge infrastructure.
엣지 컴퓨팅을 사용한 비디오 스트리밍에서의 계산 부하를 줄이는 것을 목표로 한 기존의 기법들은 VoD 시스템에 적용된 것이 대부분이며, 지속적인 실시간 트랜스코딩이 필요한 라이브 스트리밍 시스템에 대한 기여가 부족하다. 라이브 스트리밍 시스템에서 일부 트랜스코딩 작업에 시청자의 장치를 사용하는 몇 가지 기술이 제안되었으나, 시청자 연결의 불안정성으로 인해 신뢰성 높은 서비스를 제공하기 어렵다. Existing techniques aimed at reducing the computational load in video streaming using edge computing are mostly applied to VoD systems, and their contribution to live streaming systems that require continuous real-time transcoding is insufficient. In a live streaming system, several techniques for using a viewer's device for some transcoding work have been proposed, but it is difficult to provide a reliable service due to the instability of a viewer's connection.
본 발명이 이루고자 하는 기술적 과제는 엣지 컴퓨팅 환경의 라이브 스트리밍 서버의 엣지 서버의 사용률을 제어함으로써 비용 제약 조건에서 총 인기도 가중 비디오 품질을 최대화하기 위한 방법 및 시스템을 제공하는데 있다. 엣지 서버 컴퓨팅을 사용하여 라이브 스트리밍 시스템에서의 트랜스코딩을 위해 서비스 제공자의 비용 한도 제약, 각 엣지 서버의 프로세싱 용량 및 네트워크 범위 제약 내에서 사용자 단말에게 전송되는 종합적인 비디오 품질을 극대화하기 위해 각 채널에 필요한 비트레이트 버전을 선택하고, 이를 생성하는 트랜스코딩 작업을 각 엣지 서버에 할당한다.The technical problem to be achieved by the present invention is to provide a method and system for maximizing total popularity-weighted video quality under cost constraints by controlling the utilization rate of the edge server of a live streaming server in an edge computing environment. For transcoding in the live streaming system using edge server computing, each channel is streamlined to maximize the overall video quality transmitted to the user terminal within the service provider's cost limit constraints, each edge server's processing capacity and network coverage constraints. You select the bitrate version you need and assign each edge server the transcoding job that creates it.
일 측면에 있어서, 본 발명에서 제안하는 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 방법은 수집 서버를 통해 엣지 컴퓨팅 환경에서 인기도 가중 비디오 품질(Popularity-Weighted Video Quality; PWQ) 대비 비용 효율이 높은 순서대로 중앙 트랜스코딩 서버에서 수행되는 트랜스코딩 작업에 우선 순위를 부여하는 단계, 상기 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 중앙 트랜스코딩 서버 또는 엣지 서버에 할당하는 단계, 상기 인기도 가중 비디오 품질에 대한 네트워크 범위 및 계산 부하에 따른 영향을 최소화하기 위하여 상기 수집 서버를 통해 일부 작업을 라이브 스트리밍 공급자가 운영하는 상기 중앙 트랜스코딩 서버에 재할당하거나 또는 제거하는 단계 및 상기 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 전송 서버를 통해 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공하는 단계를 포함한다. In one aspect, the transcoding job allocation method for cost optimization considering live video streaming quality in an edge computing environment proposed in the present invention is based on popularity-weighted video quality (PWQ) in an edge computing environment through a collection server. ) prioritizing the transcoding jobs performed in the central transcoding server in order of high cost efficiency, the network coverage and computational load for each transcoding job given the priority through the collection server. Allocating the corresponding transcoding task to the central transcoding server or the edge server according to the above, in order to minimize the effect of the network coverage and computational load on the popularity-weighted video quality, a live streaming provider operates some of the work through the collection server After the central transcoding server or the edge server performs the reassignment or removal step of the central transcoding server and the transcoding task assigned through the collection server, the live broadcast to a plurality of viewer terminals through the transmission server. and providing video streaming.
상기 수집 서버를 통해 엣지 컴퓨팅 환경에서 인기도 가중 비디오 품질 대비 비용 효율이 높은 순서대로 중앙 트랜스코딩 서버에서 수행되는 트랜스코딩 작업에 우선 순위를 부여하는 단계는 상기 수집 서버에서 채널의 목록이 존재하고, 각 채널의 비디오 스트림을 캡처 및 인코딩하여 업로드하며, 복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전의 비디오 스트림을 이진 값의 조합으로 정의하고 인기도 가중 비디오 품질을 계산하며, 프로세싱 용량 제약 및 네트워크 범위 제약 내에서 복수의 사용자 단말에게 전송되는 비디오 품질을 최대화 하기 위한 인기도 가중 비디오 품질에 따라 트랜스코딩 작업을 할당하며, 이후 비용 예산 제약이 충족될 때까지 인기도 가중 비디오 품질 손실을 최소화하도록 상기 할당된 작업을 제거한다. In the step of prioritizing the transcoding work performed in the central transcoding server in the order of cost efficiency compared to popularity-weighted video quality in the edge computing environment through the aggregation server, a list of channels exists in the aggregation server, and each Capture, encode and upload the video stream of the channel, define the version of the video stream with the bitrate requested from multiple viewer terminals as a combination of binary values, calculate the popularity-weighted video quality, and limit the processing capacity and network range Allocate a transcoding task according to the popularity-weighted video quality to maximize the video quality transmitted to a plurality of user terminals in the Remove.
상기 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 중앙 트랜스코딩 서버 또는 엣지 서버에 할당하는 단계는 각 채널이 트랜스코딩 서버의 네트워크 범위 내에 있는지 여부를 나타내는 이진 변수를 사용하여, 해당 채널의 가장 낮은 비트레이트 버전에 대한 트랜스코딩 작업 실행 여부에 따라 이진값을 부여한다. The step of allocating the corresponding transcoding job to the central transcoding server or the edge server according to the network range and computational load for each transcoding job given the priority through the aggregation server is to ensure that each channel is connected to the network of the transcoding server. Using a binary variable indicating whether it is within the range, a binary value is given according to whether or not the transcoding operation for the lowest bitrate version of the channel is performed.
상기 상기 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 전송 서버를 통해 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공하는 단계는 복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전이 트랜스코딩 작업이 실행되지 않은 경우, 트랜스코딩 작업이 실행된 버전 중에서 상기 요청된 비트레이트보다 낮은 버전 중 가장 높은 비트레이트를 가진 버전을 전송한다. The step of providing live video streaming to a plurality of viewer terminals through a transmission server after performing the transcoding task allocated through the collection server in the central transcoding server or the edge server, If the version having the bit rate has not been transcoded, the version having the highest bit rate among versions lower than the requested bit rate among the versions for which the transcoding task has been executed is transmitted.
또 다른 일 측면에 있어서, 본 발명에서 제안하는 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 시스템은 엣지 컴퓨팅 환경에서 인기도 가중 비디오 품질(Popularity-Weighted Video Quality; PWQ) 대비 비용 효율이 높은 순서대로 중앙 트랜스코딩 서버에서 수행되는 트랜스코딩 작업에 우선 순위를 부여하는 수집 서버, 상기 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 할당 받는 중앙 트랜스코딩 서버 및 엣지 서버 -상기 중앙 트랜스코딩 서버는 상기 인기도 가중 비디오 품질에 대한 네트워크 범위 및 계산 부하에 따른 영향을 최소화하기 위하여 상기 수집 서버를 통해 일부 작업을 재할당 받거나 또는 일부 작업이 제거됨- 및 상기 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공하는 전송 서버를 포함한다. In another aspect, the transcoding job allocation system for cost optimization considering live video streaming quality in an edge computing environment proposed by the present invention compares popularity-weighted video quality (PWQ) in an edge computing environment. An aggregation server that prioritizes transcoding jobs performed on the central transcoding server in order of cost efficiency, and according to the network coverage and computational load for each transcoding job given the priority through the aggregation server. A central transcoding server and an edge server assigned corresponding transcoding tasks - the central transcoding server reallocates some tasks through the aggregation server to minimize the effect of network coverage and computational load on the popularity-weighted video quality receiving or some of the work is removed - and a transmission server that provides live video streaming to a plurality of viewer terminals after performing the transcoding work assigned through the collection server in the central transcoding server or the edge server.
본 발명의 실시예들에 따르면 다중 액세스 엣지 컴퓨팅(Multiple-access Edge-Computing; MEC) 아키텍처를 사용하는 라이브 비디오 스트리밍 시스템(Live Video Streaming System)을 통해 각 엣지 서버의 CPU 프로세싱 용량, 무선 네트워크 범위, 방송사의 비용 예산 및 시청자 비디오 품질을 고려하여 각 엣지 서버에 트랜스코딩 작업을 할당할 수 있다. 또한, 본 발명의 실시예에 따르면, 동일한 비용 예산에서 종래기술에 따른 기법보다 제안하는 기법이 평균 1.4배 더 많은 PWQ를 달성할 수 있고, MEC 환경에서 라이브 스트리밍 시스템의 효과적인 비용 관리에 기여할 수 있다. According to embodiments of the present invention, the CPU processing capacity of each edge server, wireless network range, Transcoding tasks can be assigned to each edge server, taking into account the broadcaster's cost budget and the viewer's video quality. In addition, according to an embodiment of the present invention, the proposed technique can achieve an average of 1.4 times more PWQ than the conventional technique in the same cost budget, and can contribute to effective cost management of the live streaming system in the MEC environment. .
도 1은 본 발명의 일 실시예에 따른 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 트랜스코딩 작업 결정 및 엣지 할당 알고리즘을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 비용 절감을 위한 트랜스코딩 작업 재할당 및 제거 알고리즘을 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 비용 제한에 따른 인기도 가중 퀄리티를 비교한 도면이다.
도 6은 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 채널 수에 따른 인기도 가중 퀄리티를 비교한 도면이다.
도 7은 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 엣지 서버 수에 따른 인기도 가중 퀄리티를 비교한 도면이다.
도 8은 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 비용 제한에 따른 온-오프(On-off) 비용 모델에서의 인기도 가중 퀄리티를 비교한 도면이다.
도 9는 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법의 인기도 가중 퀄리티를 선형 비용 모델과 온-오프(On-off) 비용 모델에서 비교한 도면이다. 1 is a diagram showing the configuration of a transcoding job allocation system for cost optimization considering live video streaming quality in an edge computing environment according to an embodiment of the present invention.
2 is a flowchart illustrating a transcoding job assignment method for cost optimization considering live video streaming quality in an edge computing environment according to an embodiment of the present invention.
3 is a diagram illustrating a transcoding task determination and edge allocation algorithm according to an embodiment of the present invention.
4 is a diagram illustrating an algorithm for reallocating and removing transcoding jobs for cost reduction according to an embodiment of the present invention.
5 is a diagram comparing popularity-weighted quality according to cost limitation between a transcoding job allocation technique according to an embodiment of the present invention and a conventional technique.
6 is a diagram comparing popularity-weighted quality according to the number of channels between a transcoding job allocation technique according to an embodiment of the present invention and a conventional technique.
7 is a diagram comparing popularity-weighted quality according to the number of edge servers between a transcoding job allocation technique according to an embodiment of the present invention and a conventional technique.
8 is a diagram comparing popularity-weighted quality in an on-off cost model according to cost limitation between a transcoding job assignment technique according to an embodiment of the present invention and a technique in the prior art.
9 is a diagram comparing popularity-weighted quality of a transcoding task assignment technique according to an embodiment of the present invention in a linear cost model and an on-off cost model.
본 발명은 다중 액세스 엣지 컴퓨팅(Multiple-access Edge-Computing; MEC) 아키텍처를 사용하는 라이브 비디오 스트리밍 시스템(Live Video Streaming System)에서 각 엣지 서버의 CPU 프로세싱 용량, 무선 네트워크 범위, 방송사의 비용 예산 및 시청자 비디오 품질을 고려하여 각 엣지 서버에 트랜스코딩 작업을 할당하는 방법 및 시스템에 관한 것이다. 본 발명은 엣지 컴퓨팅 환경에서의 라이브 스트리밍을 수행하는 시스템에서 각 엣지 서버의 사용률 제어를 통해 비용 문제를 해결하는 방법 및 시스템에 관한 것이다. In a live video streaming system using a multiple-access edge-computing (MEC) architecture, the present invention provides CPU processing capacity of each edge server, wireless network range, broadcaster's cost budget and viewers. A method and system for allocating transcoding jobs to each edge server in consideration of video quality. The present invention relates to a method and system for solving a cost problem through utilization control of each edge server in a system performing live streaming in an edge computing environment.
본 발명은 먼저 인기도 가중 비디오 품질(Popularity-Weighted Video Quality; PWQ) 대비 비용 효율이 더 높은 트랜스코딩 작업에 우선 순위를 부여하고, 각 작업을 네트워크 범위와 계산 부하를 고려하여 엣지 서버에 할당한다. 그 후, 전체 PWQ에 대한 이러한 변경의 영향을 최소화하면서 일부 작업을 라이브 스트리밍 공급자가 운영하는 중앙 트랜스코딩 서버에 재할당하거나 제거하여 비용 예산을 충족한다. The present invention first prioritizes transcoding jobs that are more cost-effective than Popularity-Weighted Video Quality (PWQ), and assigns each job to an edge server in consideration of network coverage and computational load. Thereafter, cost budgets are met by reassigning or removing some of the work to a central transcoding server operated by the live streaming provider, while minimizing the impact of these changes on the overall PWQ.
이와 같이, 스트리밍 되는 비디오 퀄리티와 엣지 서버의 채널 네트워크를 고려하여 트랜스코딩 작업을 엣지 서버에 할당함으로써 서비스 제공자의 비용 한도를 최적화하는 휴리스틱 알고리즘을 제안한다.In this way, we propose a heuristic algorithm that optimizes the service provider's cost limit by allocating the transcoding job to the edge server in consideration of the streaming video quality and the channel network of the edge server.
본 발명의 실시예에 따른 시뮬레이션 결과에 따르면, 동일한 비용 예산에서 종래기술에 따른 기법보다 제안하는 기법이 평균 1.4배 더 많은 PWQ를 달성한다. 이 차이는 비용 예산 여유가 적을 수록, 많은 채널이 있을 수록, 그리고 엣지 서버 수가 적을 수록 더욱 효과적이다. According to simulation results according to an embodiment of the present invention, the proposed technique achieves an average of 1.4 times more PWQ than the conventional technique in the same cost budget. This difference is more effective with smaller cost margins, more channels, and fewer edge servers.
또한, 본 발명의 실시예에 따른 실험 결과에 따르면, 제안하는 기법이 MEC 환경에서 라이브 스트리밍 시스템의 효과적인 비용 관리에 기여할 수 있음을 보인다. 이하, 본 발명의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다. In addition, according to the experimental results according to the embodiment of the present invention, it is shown that the proposed technique can contribute to effective cost management of the live streaming system in the MEC environment. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 일 실시예에 따른 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 시스템의 구성을 나타내는 도면이다. 1 is a diagram showing the configuration of a transcoding job allocation system for cost optimization considering live video streaming quality in an edge computing environment according to an embodiment of the present invention.
제안하는 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 시스템은 수집 서버(Ingest server)(110), 중앙 트랜스코딩 서버(Central transcoding server; CTS)(120), 엣지 서버(Edge server; ES)(131, 132, ..., 133) 및 전송 서버(Delivery server)(140)를 포함한다. In the proposed edge computing environment, the transcoding job allocation system for cost optimization considering live video streaming quality includes an ingest server (110), a central transcoding server (CTS) (120), an edge server ( Edge server; ES) (131, 132, ..., 133) and delivery server (Delivery server) (140).
본 발명의 실시예에 따른 수집 서버(110)는 엣지 컴퓨팅 환경에서 인기도 가중 비디오 품질(Popularity-Weighted Video Quality; PWQ) 대비 비용 효율이 높은 순서대로 중앙 트랜스코딩 서버에서 수행되는 트랜스코딩 작업에 우선 순위를 부여한다. The collection server 110 according to an embodiment of the present invention prioritizes the transcoding tasks performed by the central transcoding server in order of cost-effectiveness compared to Popularity-Weighted Video Quality (PWQ) in an edge computing environment. grant
본 발명의 실시예에 따른 수집 서버(110)에는 채널의 목록이 존재하고, 각 채널의 비디오 스트림을 캡처 및 인코딩하여 업로드한다. A list of channels exists in the collection server 110 according to an embodiment of the present invention, and video streams of each channel are captured, encoded, and uploaded.
본 발명의 실시예에 따른 수집 서버(110)는 복수의 시청자 단말(User)로부터 요청된 비트레이트를 가진 버전의 비디오 스트림을 이진 값의 조합으로 정의하고 인기도 가중 비디오 품질을 계산한다. 그리고, 프로세싱 용량 제약 및 네트워크 범위 제약 내에서 복수의 사용자 단말에게 전송되는 비디오 품질을 최대화 하기 위한 인기도 가중 비디오 품질에 따라 트랜스코딩 작업을 할당하며, 이후 비용 예산 제약이 충족될 때까지 인기도 가중 비디오 품질 손실을 최소화하도록 상기 할당된 작업을 제거한다. The collection server 110 according to an embodiment of the present invention defines a video stream of a version having a bit rate requested from a plurality of viewer terminals (Users) as a combination of binary values and calculates a popularity-weighted video quality. Then, the transcoding task is allocated according to the popularity-weighted video quality to maximize the video quality transmitted to a plurality of user terminals within the processing capacity constraint and the network range constraint, and then the popularity-weighted video quality until the cost budget constraint is met. Remove the assigned tasks to minimize losses.
본 발명의 실시예에 따른 중앙 트랜스코딩 서버(120) 및 엣지 서버(131, 132, ..., 133)는 수집 서버를 통해 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 할당 받는다. The central transcoding server 120 and the
중앙 트랜스코딩 서버(120)는 인기도 가중 비디오 품질에 대한 네트워크 범위 및 계산 부하에 따른 영향을 최소화하기 위하여 수집 서버(110)를 통해 일부 작업을 재할당 받거나 또는 일부 작업이 제거될 수 있다. The central transcoding server 120 may have some tasks reassigned or some tasks removed through the aggregation server 110 to minimize the effect of network coverage and computational load on the popularity-weighted video quality.
본 발명의 실시예에 따른 중앙 트랜스코딩 서버(120) 및 엣지 서버(131, 132, ..., 133)는 각 채널이 트랜스코딩 서버의 네트워크 범위 내에 있는지 여부를 나타내는 이진 변수를 사용하여, 해당 채널의 가장 낮은 비트레이트 버전에 대한 트랜스코딩 작업 실행 여부에 따라 이진값을 부여 받는다. The central transcoding server 120 and the
본 발명의 실시예에 따른 전송 서버(140)는 수집 서버(110)를 통해 할당된 트랜스코딩 작업을 중앙 트랜스코딩 서버(120) 또는 엣지 서버(131, 132, ..., 133)에서 수행한 후, 복수의 시청자 단말(User)에 라이브 비디오 스트리밍을 제공한다. The transmission server 140 according to an embodiment of the present invention performs the transcoding task allocated through the collection server 110 in the central transcoding server 120 or the
본 발명의 실시예에 따른 전송 서버(140)는 복수의 시청자 단말(User)로부터 요청된 비트레이트를 가진 버전이 트랜스코딩 작업이 실행되지 않은 경우, 트랜스코딩 작업이 실행된 버전 중에서 상기 요청된 비트레이트보다 낮은 버전 중 가장 높은 비트레이트를 가진 버전을 전송한다. The transmission server 140 according to an embodiment of the present invention, when the version having the requested bit rate from a plurality of viewer terminals (Users) does not perform the transcoding job, the requested bit rate among the versions for which the transcoding job has been executed. Among versions lower than the rate, the version with the highest bit rate is transmitted.
도 1을 참조하여, 제안하는 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 시스템에 대하여 더욱 상세히 설명한다. Referring to FIG. 1, the proposed transcoding task allocation system for cost optimization in consideration of live video streaming quality in an edge computing environment will be described in more detail.
본 발명의 실시예에 따르면, 각 채널에서 방송사의 비디오 소스가 송출되며, 이 채널들은 수집 서버(110)에서 관리된다. 수집 서버(110)에서는 채널의 목록이 존재하며, 각 채널의 비디오 스트림을 지속적으로 캡처, 인코딩하여 업로드된다, 각 채널의 원본 비디오 스트림은 라이브 스트리밍 공급자가 운영하는 중앙 트랜스코딩 서버(120)에 의해 트랜스코딩될 수 있다. 또한 채널에서 수집 서버(110)로의 업로드 경로가 복수의 엣지 서버(131, 132, ...., 133)를 통과하거나 이에 근접하며, 이러한 엣지 서버(131, 132, ..., 133)를 트랜스코딩에 사용할 수 있다고 가정한다.According to an embodiment of the present invention, a broadcaster's video source is transmitted in each channel, and these channels are managed in the aggregation server 110. In the collection server 110, a list of channels exists, and the video stream of each channel is continuously captured, encoded, and uploaded. The original video stream of each channel is provided by the central transcoding server 120 operated by the live streaming provider. Can be transcoded. In addition, the upload path from the channel to the collection server 110 passes through or is close to a plurality of
수집 서버(110)는 각 트랜스코딩 작업을 실행할 서버를 결정한다. 그런 다음 전달 서버(140)는 복수의 시청자 단말에 적절한 비트레이트로 비디오 버전을 제공할 수 있다. The aggregation server 110 determines which server will execute each transcoding job. Then, the delivery server 140 may provide a video version at an appropriate bit rate to a plurality of viewer terminals.
NES는 엣지 서버의 수이고, 트랜스코딩 서버(Transcoding Server; TS)의 총 수는 NES+1이다. 여기서 TS 0은 CTS(Central transcoding server)이기 때문이다. 다른 TS는 다른 CPU 프로세싱 용량을 가지므로, 본 발명에서는 TS j의 CPU 프로세싱 용량 (j=0, ..., NES)를 CPU 프로세싱 능력이 가장 가장 높은 TS에 대비한 비율로 표현한다.N ES is the number of edge servers, and the total number of transcoding servers (TS) is N ES +1. This is because
각 엣지 서버는 네트워크 범위 내에서 채널의 트랜스코딩 작업을 처리하기 위해 기지국에 할당된다. 따라서 각 엣지 서버는 채널로부터의 거리에 따라 네트워크 범위 제약이 있다. 는 각 채널 i가 TS j의 네트워크 범위 내에 있는지 여부를 나타내는 이진 변수이다. i 채널이 TS j의 네트워크 범위 내에 있으면 ; 그렇지 않으면 이다. 모든 트랜스코딩 작업은 CTS(TS 0)에서 실행할 수 있으므로 이다. Each edge server is assigned to a base station to handle the transcoding task of channels within network coverage. Therefore, each edge server has network range restrictions according to its distance from the channel. is a binary variable indicating whether each channel i is within network range of TS j. If channel i is within network range of TS j ; Otherwise am. All transcoding jobs can run on CTS (TS 0), so am.
도 2는 본 발명의 일 실시예에 따른 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 방법을 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a transcoding job assignment method for cost optimization considering live video streaming quality in an edge computing environment according to an embodiment of the present invention.
제안하는 제안하는 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 방법은 수집 서버를 통해 엣지 컴퓨팅 환경에서 인기도 가중 비디오 품질(Popularity-Weighted Video Quality; PWQ) 대비 비용 효율이 높은 순서대로 중앙 트랜스코딩 서버에서 수행되는 트랜스코딩 작업에 우선 순위를 부여하는 단계(210), 상기 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 중앙 트랜스코딩 서버 또는 엣지 서버에 할당하는 단계(220), 상기 인기도 가중 비디오 품질에 대한 네트워크 범위 및 계산 부하에 따른 영향을 최소화하기 위하여 상기 수집 서버를 통해 일부 작업을 라이브 스트리밍 공급자가 운영하는 상기 중앙 트랜스코딩 서버에 재할당하거나 또는 제거하는 단계(230) 및 상기 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 전송 서버를 통해 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공하는 단계(240)를 포함한다. The proposed transcoding task allocation method for cost optimization considering the live video streaming quality in the edge computing environment is cost-effective compared to Popularity-Weighted Video Quality (PWQ) in the edge computing environment through the collection server. Step 210 of prioritizing transcoding jobs performed in the central transcoding server in order (210). For each transcoding job given the priority through the collection server, the corresponding transcoding job is based on the network coverage and computational load. Allocating coding work to a central transcoding server or edge server (220), in order to minimize the effect of network coverage and computational load on the popularity-weighted video quality, some work is operated by a live streaming provider through the collection server Reassigning or removing (230) to the central transcoding server, and after performing the transcoding task assigned through the collection server in the central transcoding server or the edge server, a plurality of viewers through the transmission server and providing a live video streaming to the terminal (240).
단계(210)에서, 수집 서버를 통해 엣지 컴퓨팅 환경에서 인기도 가중 비디오 품질 대비 비용 효율이 높은 순서대로 중앙 트랜스코딩 서버에서 수행되는 트랜스코딩 작업에 우선 순위를 부여한다. In
본 발명의 실시예에 따른 수집 서버에는 채널의 목록이 존재하고, 각 채널의 비디오 스트림을 캡처 및 인코딩하여 업로드한다. A list of channels exists in the collection server according to an embodiment of the present invention, and video streams of each channel are captured, encoded, and uploaded.
본 발명의 실시예에 따른 수집 서버는 복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전의 비디오 스트림을 이진 값의 조합으로 정의하고 인기도 가중 비디오 품질을 계산한다. 그리고, 프로세싱 용량 제약 및 네트워크 범위 제약 내에서 복수의 사용자 단말에게 전송되는 비디오 품질을 최대화 하기 위한 인기도 가중 비디오 품질에 따라 트랜스코딩 작업을 할당하며, 이후 비용 예산 제약이 충족될 때까지 인기도 가중 비디오 품질 손실을 최소화하도록 상기 할당된 작업을 제거한다. The collection server according to an embodiment of the present invention defines a video stream of a version having a bitrate requested from a plurality of viewer terminals as a combination of binary values and calculates a popularity-weighted video quality. Then, the transcoding task is allocated according to the popularity-weighted video quality to maximize the video quality transmitted to a plurality of user terminals within the processing capacity constraint and the network range constraint, and then the popularity-weighted video quality until the cost budget constraint is met. Remove the assigned tasks to minimize losses.
단계(220)에서, 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 중앙 트랜스코딩 서버 또는 엣지 서버에 할당한다. In
본 발명의 실시예에 따른 중앙 트랜스코딩 서버 및 엣지 서버는 수집 서버를 통해 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 할당 받는다. The central transcoding server and the edge server according to an embodiment of the present invention are assigned transcoding jobs given priority through the aggregation server according to the network range and calculation load.
본 발명의 실시예에 따른 중앙 트랜스코딩 서버 및 엣지 서버는 각 채널이 트랜스코딩 서버의 네트워크 범위 내에 있는지 여부를 나타내는 이진 변수를 사용하여, 해당 채널의 가장 낮은 비트레이트 버전에 대한 트랜스코딩 작업 실행 여부에 따라 이진값을 부여 받는다. The central transcoding server and the edge server according to an embodiment of the present invention use a binary variable indicating whether each channel is within the network range of the transcoding server, and whether or not the transcoding operation for the lowest bit rate version of the corresponding channel is executed. It is given a binary value according to
단계(230)에서, 인기도 가중 비디오 품질에 대한 네트워크 범위 및 계산 부하에 따른 영향을 최소화하기 위하여 상기 수집 서버를 통해 일부 작업을 라이브 스트리밍 공급자가 운영하는 상기 중앙 트랜스코딩 서버에 재할당하거나 또는 제거한다. In
단계(240)에서, 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 전송 서버를 통해 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공한다. In
본 발명의 실시예에 따른 전송 서버는 복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전이 트랜스코딩 작업이 실행되지 않은 경우, 트랜스코딩 작업이 실행된 버전 중에서 상기 요청된 비트레이트보다 낮은 버전 중 가장 높은 비트레이트를 가진 버전을 전송한다. The transmission server according to an embodiment of the present invention, when a version having a bit rate requested from a plurality of viewer terminals does not perform a transcoding job, among versions in which a transcoding job has been executed, the highest version among the versions lower than the requested bit rate Send a version with a higher bitrate.
이하, 제안하는 제안하는 엣지 컴퓨팅 환경에서 라이브 비디오 스트리밍 품질을 고려한 비용 최적화를 위한 트랜스코딩 작업 할당 과정에 관하여 더욱 상세히 설명한다. Hereinafter, a transcoding task assignment process for cost optimization in consideration of live video streaming quality in the proposed edge computing environment will be described in more detail.
도 3은 본 발명의 일 실시예에 따른 트랜스코딩 작업 결정 및 엣지 할당 알고리즘을 나타내는 도면이다. 3 is a diagram illustrating a transcoding task determination and edge allocation algorithm according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 비용 절감을 위한 트랜스코딩 작업 재할당 및 제거 알고리즘을 나타내는 도면이다. 4 is a diagram illustrating an algorithm for reallocating and removing transcoding jobs for cost reduction according to an embodiment of the present invention.
Nch는 총 채널 수이다. Nver는 사용하는 각각 다른 비트레이트 버전의 수이다. 는 채널 i의 k번째 가장 낮은 비트레이트 버전 (i=1, ..., Nch 및 k=1, ..., Nver)이다. 가장 높은 비트레이트 버전은 항상 사용할 수 있으므로 트랜스코딩으로 생성될 수 있는 버전 Ntran의 수는 Nver-1이다.N ch is the total number of channels. N ver is the number of different bitrate versions used. is the kth lowest bitrate version of channel i (i=1, ..., N ch and k=1, ..., N ver ). Since the highest bitrate version is always available, the number of versions N tran that can be generated by transcoding is N ver -1.
를 버전 , (i=1,..., Nch 및 k=1, ..., Ntran)에 대한 트랜스코딩 작업이라고 가정한다. 각 작업 의 엣지 서버 CPU 사용량 요구 사항 를 가장 강력한 ES의 CPU 프로세싱 능력에 대비한 비율로 표현한다. version , (i = 1, ..., N ch and k = 1, ..., N tran ). each task Edge server CPU usage requirements of is expressed as a ratio of the CPU processing power of the most powerful ES.
를 버전 의 액세스 확률, 즉 일반 시청자가 시청할 확률이라고 한다. 각 채널의 확률은 현재 조회수에서 파생될 수 있다. 를 버전의 비디오 품질 인덱스라고 하자. 의 값은 비디오 품질 측정 도구를 사용하여 얻을 수 있다. 본 발명에서는 Netflix에서 개발한 VMAF(Video Multi-Method Assessment fusion) 지수를 사용하여 이를 표현하였다. 본 발명에서는 더 인기 있는 채널에 더 높은 품질을 제공하기 위해 버전의 인기 가중치 동영상 품질(PWQ), 을 도입하고, 아래와 같이 정의 한다: version is referred to as the access probability of, that is, the probability that a general viewer will watch. The probability of each channel can be derived from the current number of hits. cast Let be the video quality index of the version. The value of can be obtained using a video quality measurement tool. In the present invention, this is expressed using the VMAF (Video Multi-Method Assessment fusion) index developed by Netflix. In the present invention, in order to provide higher quality to more popular channels Popularity-weighted video quality (PWQ) of the version; is introduced, and defined as:
이진 변수 를 사용하여 버전 의 트랜스코딩을 통한 생성 여부를 나타낸다. 즉 가 실행되면 ; 그렇지 않으면 이다.binary variable version using Indicates whether to generate through transcoding. in other words is executed ; Otherwise am.
라이브 스트리밍에서 각 시청자 단말은 해당 단말과 현재 네트워크 상황에서 지원할 수 있는 가장 높은 비트레이트 버전을 요청할 것으로 예상할 수 있다. 전달된 버전의 비트레이트가 요청된 것보다 높으면 재버퍼링을 통해 QoE를 크게 줄일 수 있으며 이로 인해 재생이 완전히 중지될 수도 있다. 어떤 경우에도 이를 방지하려면 모든 비디오를 해당 채널에서 제공하는 가장 낮은 비트레이트로 트랜스코딩해야 한다. In live streaming, each viewer terminal can be expected to request the highest bitrate version that can be supported in the terminal and current network conditions. If the bitrate of the delivered version is higher than requested, rebuffering can significantly reduce QoE, which may cause playback to stop altogether. To prevent this in any case, all video should be transcoded to the lowest bitrate offered by the channel in question.
요청된 비트레이트를 가진 버전이 코드 변환되지 않았기 때문에 사용할 수 없는 경우, 트랜스코딩 된 버전 중에서 요청된 비트레이트보다 낮은 버전 중, 가장 높은 비트레이트를 가진 버전이 전송된다. 요청된 비트레이트가 k인 경우 이 버전의 비디오 스트림을 라고 하며 아래와 같이 정의한다: If the version with the requested bit rate cannot be used because it has not been transcoded, the version with the highest bit rate among the transcoded versions lower than the requested bit rate is transmitted. If the requested bitrate is k, this version of the video stream and is defined as:
는 값의 조합에 의해 결정되므로 채널 i의 총 PWQ는 다음과 같이 계산할 수 있다: Is Since it is determined by the combination of values, the total PWQ of channel i can be calculated as:
다음으로, 본 발명의 실시예에 따른 엣지 서버의 사용 비용에 관하여 설명한다. Next, the cost of using the edge server according to an embodiment of the present invention will be described.
라이브 스트리밍 서비스 제공자는 엣지 서버를 사용하기 위해 비용을 지불해야 한다. 본 발명의 실시예에서는 주로 비용이 CPU 사용량에 비례하는 선형 비용 모델을 고려한다. ES j를 사용하기 위한 비용 는 정규화된 비용 값 과 CPU 사용량 u에 비례한다. (이다) 이는 아래와 같이 표현할 수 있다:Live streaming service providers have to pay to use edge servers. Embodiments of the present invention primarily consider a linear cost model in which cost is proportional to CPU usage. Cost to use ES j is the normalized cost value and is proportional to the CPU usage u. ( ), which can be expressed as:
또한 처리량에 관계없이 주어진 기간 동안 사용 여부에 따라 엣지 서버 사용 비용이 결정되는 온-오프(on-off) 비용 모델도 고려한다. 은 일정 기간 동안 ES j를 사용할 때 지불하는 가장 비싼 ES의 비율로 계산된 정규화된 비용이다. 그러므로 온-오프 비용 모델에서의 는 다음과 같이 결정할 수 있다: We also consider an on-off cost model in which the cost of using an edge server is determined by whether it is used or not for a given period of time, regardless of throughput. is the normalized cost calculated as a percentage of the most expensive ES paid when using ES j for a certain period of time. Therefore, in the on-off cost model can be determined as follows:
본 발명의 실시예에 따르면, TS j에서 각 태스크 가 실행되는 트랜스코딩 서버의 인덱스를 라고 하자. TS를 사용할 수 없고 0이면 가 -1로 설정된다. According to an embodiment of the present invention, each task in TS j index of the transcoding server that is running let's say TS is not available if 0 is set to -1.
본 발명의 목표는 다음 세 가지 제약 조건에서 전체 PWQ를 최대화하는 각 작업 에 대한 및 값을 찾는 것이다: 프로세싱 용량 제약, 네트워크 범위 제약 및 네트워크 범위 제약. The goal of the present invention is to maximize the overall PWQ under the following three constraints for and It's about finding values: processing capacity constraints, network range constraints and network range constraints.
본 발명의 실시예에 따른 프로세싱 용량 제약에 있어서, TS j에서 모든 작업을 실행하는 데 필요한 총 CPU 사용량은 다음과 같이 최대 처리 용량 를 초과해서는 안 된다. In the processing capacity constraint according to an embodiment of the present invention, the total CPU usage required to execute all tasks in TS j is the maximum processing capacity as follows should not exceed
본 발명의 실시예에 따른 네트워크 범위 제약에 있어서, 각 트랜스코딩 작업은 다음과 같이 채널 또는 중앙 트랜스코딩 서버의 네트워크 범위 내의 엣지 서버에서 실행되어야 한다: In network coverage constraints according to an embodiment of the present invention, each transcoding task must be executed on an edge server within network range of a channel or central transcoding server as follows:
본 발명의 실시예에 따른 1) 비용 예산 제약에 있어서, 발생한 총 비용은 다음과 같이 라이브 스트리밍 서비스 제공업체의 비용 예산 을 초과해서는 안 된다: 1) In the cost budget constraint according to an embodiment of the present invention, the total cost incurred is the cost budget of the live streaming service provider as follows must not exceed:
이제 전체 PWQ를 최대화하는 각 작업 에 대한 및 값을 찾는 문제인 트랜스코딩 작업 할당 문제(TTAP)를 공식화할 수 있으며, 다음과 같다: Each task now maximizes the overall PWQ for and We can formulate the transcoding task assignment problem (TTAP), which is a problem of finding values, and is as follows:
TTAP는 NP-hard로 알려진 할당 제한(MMPAR)이 있는 객관식 다중 배낭 문제로 축소될 수 있다.TTAP can be reduced to a multiple-choice multi-knapsack problem with assignment restrictions (MMPAR) known as NP-hard.
본 발명에서는 이 문제를 풀기 위해 두 단계의 휴리스틱을 도입한다. 먼저 트랜스코딩 작업 중 실행할 것을 PWQ의 최대화를 고려하여 결정하고 프로세싱 용량 제약 및 네트워크 범위 제약 내에서 트랜스코딩 서버에 할당한다. 다음, 비용 예산 제약이 충족될 때까지 PWQ 손실을 최소화하면서 첫 단계에서 할당된 작업을 하나씩 제거한다.In the present invention, a two-step heuristic is introduced to solve this problem. First, what to execute during the transcoding job is determined in consideration of maximization of PWQ, and allocated to the transcoding server within the limitation of processing capacity and network range. Next, the tasks allocated in the first step are eliminated one by one, with minimal PWQ loss, until the cost budget constraint is met.
도 3 및 도 4를 참조하면, 첫 번째 단계는 트랜스코딩 작업 결정 및 엣지 할당 단계이다. 알고리즘 실행 동안 각 작업 에 대해 의 임시 값을 보유하는 임시 이진 변수를 라고 한다. Referring to FIGS. 3 and 4 , the first step is determining a transcoding task and allocating an edge. Each task during algorithm execution About A temporary binary variable holding the temporary value of It is said.
변수 는 실행할 작업 집합에서 를 제거했을 때의 PWQ를 나타내며 아래와 같이 표현할 수 있다: variable in the set of tasks to run It represents the PWQ when is removed and can be expressed as:
의 모든 값은 1로 초기화되므로 는 초기에는 제거로 인한 PWQ의 변화를 나타낸다. All values of are initialized to 1, so is initially Shows the change in PWQ due to removal.
이제 대 의 비율인 를 결정할 수 있다. 이는 아래와 같다.now big which is the ratio of can decide This is shown below.
의 값이 높을수록 PWQ에 미치는 영향이 크기 때문에 를 제거하는 것은 바람직하지 않다. 따라서 값이 더 높은 작업이 우선적으로 할당된다. The higher the value of , the greater the effect on PWQ. It is not advisable to remove thus Jobs with higher values are assigned priority.
작업을 어떤 ES에 할당할 지를 결정하기 위해, 변수 를 통해 각 ES j에 추가 작업을 할당하는 가능성 및 타당성을 표현했다. 의 값은 해당 ES에서 남은 프로세싱 용량과 비용을 결합한 식으로 비용 모델에 따라 다르게 정의된다. variable to determine which ES to assign the task to. expressed the possibility and feasibility of assigning an additional task to each ES j through The value of is defined differently depending on the cost model by combining the remaining processing capacity and cost in the corresponding ES.
본 발명의 실시예에 따른 선형 모델에 있어서, 비용 효율적으로 엣지 서버의 활용도를 높이려면 값이 더 높은 작업을, 남은 프로세싱 용량이 많고 사용 비용이 낮은 ES에 할당해야 한다. 따라서 의 값은 아래와 같으며, 값이 더 높은 ES에 우선적으로 태스크를 할당한다: In the linear model according to an embodiment of the present invention, to increase the utilization of the edge server cost-effectively Tasks with higher values should be assigned to ESs with more remaining processing capacity and lower usage costs. thus The value of is as follows, Tasks are assigned preferentially to ESs with higher values:
본 발명의 실시예에 따른 온-오프(On-off) 모델에 있어서, 온-오프 비용 모델을 사용할 때 하나의 작업을 E에 할당하면 전체 고정 비용이 발생한다. 따라서 ES 간에 작업 실행을 분산시키는 것은 불리하다. 이 모델을 사용하면 ES를 최대한 활용하기 위해 값이 더 높은 ES에 작업을 우선적으로 할당한다: In the on-off model according to an embodiment of the present invention, when using the on-off cost model, assigning one task to E generates a total fixed cost. Therefore, distributing task execution among ESs is disadvantageous. With this model, in order to get the most out of ES Assign tasks preferentially to ESs with higher values:
도 3에는 트랜스코딩 작업 결정 및 엣지 할당 단계의 의사코드를 나타내었다. 가장 낮은 비트레이트 버전은 항상 트랜스코딩되어야 하므로 (i=1,..., Nch)을 제일 먼저 ES에 할당한 다음, 다른 비트레이트 버전들을 ES에 할당한다. 알고리즘이 끝나면 TS j에 할당된 작업의 배열 를 구할 수 있다.Fig. 3 shows the pseudocode of the step of determining the transcoding task and allocating the edge. The lowest bitrate version should always be transcoded, so (i=1,..., N ch ) is first assigned to ES, and then other bitrate versions are assigned to ES. array of tasks assigned to TS j at the end of the algorithm can be obtained.
본 발명의 실시예에 따른 알고리즘의 비용 절감을 위한 트랜스코딩 작업 재할당 및 제거 단계에 있어서, 먼저 첫 번째 단계에서 비용 예산 제약이 충족되지 않으면 전체 PWQ를 가능한 한 적게 줄이려고 시도하면서 ES에 할당한 작업 중 일부를 제거해야 한다. In the step of reallocating and removing transcoding work for cost reduction of the algorithm according to an embodiment of the present invention, if the cost budget constraint is not met in the first step, the task assigned to the ES while attempting to reduce the overall PWQ as little as possible Some of them need to be removed.
첫 번째 단계에서 ES들에 할당한 작업들의 집합을 AES라고 하자. (AES = ). 이 작업이 할당된 엣지 서버의 PWQ 대 CPU 사용량의의 비율은 중앙 트랜스코딩 서버에 적용되는 비율보다 클 수 있다. 이 경우 제거된 작업을 중앙 트랜스코딩 서버로 재배포할 수 있으며, 이 재배포는 비용 모델에 따라 다르게 동작한다.Let A ES be the set of tasks assigned to ESs in the first step. (A ES = ). The ratio of CPU usage to PWQ of the edge servers assigned this task may be greater than the ratio applied to the central transcoding server. In this case, the removed jobs can be redistributed to the central transcoding server, and this redistribution behaves differently depending on the cost model.
본 발명의 실시예에 따른 선형 모델에 있어서, 각 ES를 사용하는 비용이 프로세서 사용량에 따라 증가하므로, 각 작업에 대한 비용 효율성을 표현하는 변수 를 다음과 같이 계산한다: In the linear model according to an embodiment of the present invention, since the cost of using each ES increases according to the amount of processor used, a variable expressing cost efficiency for each task. is calculated as:
값이 가장 낮은 작업은 할당 해제 후보들을 담은 집합 Adel에 추가되고 이 프로세스는 비용 예산 제약을 만족할 때까지 반복된다. The task with the lowest value is added to the set of deallocation candidates, A del , and this process is repeated until the cost budget constraint is satisfied.
본 발명의 실시예에 따른 온-오프(On-off) 모델에 있어서, 비용 예산 제약을 만족시키기 위해서는 하나 이상의 ES에 할당된 작업을 모두 제거해야 한다. ES j에 대한 비용 효율성 변수 는 다음과 같이 계산할 수 있다: In the on-off model according to an embodiment of the present invention, all tasks allocated to one or more ESs must be removed in order to satisfy cost budget constraints. Cost effectiveness variable for ES j can be calculated as:
값이 가장 낮은 엣지 서버에 할당된 작업들은 집합 Adel에 추가되고 이 프로세스는 비용 예산 제약을 만족할 때까지 반복된다. Tasks assigned to the edge server with the lowest value are added to the set A del , and this process is repeated until the cost budget constraint is satisfied.
마지막으로 중앙 트랜스코딩 서버에서 트랜스코딩 할 작업을 결정해야 한다. 첫 단계에서 찾은 작업 집합 A0와 ES에서 할당 해제된 작업 집합 Adel의 합집합에서 결정된다. 이를 달성하기 위해 Adel는 으로 대체되며, A0는 새로운 Adel에 포함된 가장 낮은 비트레이트 버전의 작업들로 구성된다. 그런 다음 값이 가장 높은 작업을 Adel에서 A0 로 반복적으로 이동하여 CTS의 용량 제한 내에서 전체 PWQ를 증가시킨다. 해당 단계가 완료되면 AES 및 A0 집합을 통해 및 를 설정할 수 있다. Finally, you need to decide which jobs to transcode on the central transcoding server. It is determined by the union of the working set A 0 found in the first step and the working set A del deallocated from ES. To achieve this, A del is , where A 0 consists of the lowest bitrate version jobs included in the new A del . after that Iteratively moves the highest-valued task from A del to A 0 to increase the overall PWQ within the capacity limits of the CTS. When that step is complete, through the set of A ES and A 0 and can be set.
본 발명의 실시예에 따르면, 기본적으로 Nch는 Twitch.tv에서 동시에 방송되는 중간 채널 수인 6000으로 설정되어 있다. 본 발명에서는 공용 트랜스코딩 클라우드 제공업체인 Zencoder에서 제공하는 비트레이트 세트를 사용하였으며, 각 해상도에 따라 아래의 표 1 에서 a와 b 값과 생성할 버전의 비트레이트, r(Mbps 단위)을 사용하여 회귀 모델 계산식, arb 에 대입하여 각 작업의 CPU 사용량을 구했다.According to an embodiment of the present invention, N ch is basically set to 6000, which is the number of intermediate channels simultaneously broadcast on Twitch.tv. In the present invention, a bitrate set provided by Zencoder, a public transcoding cloud provider, was used, and according to each resolution, values of a and b in Table 1 below and the bitrate of the version to be generated, r (in Mbps), are used. The CPU usage of each task was obtained by substituting it into the regression model calculation formula, arb.
표 1은 라이브 스트리밍에서 1080p 2,750kbps 버전을 다른 비트레이트 버전으로 트랜스 코딩하는 데 필요한 CPU 주파수(GHZ)를 결정하는 파라미터이다. Table 1 is a parameter that determines the CPU frequency (GHZ) required to transcode a 1080p 2,750kbps version to a different bitrate version for live streaming.
<표 1><Table 1>
VMAF 값은 정규 분포로 모델링되며 각 비트레이트에서 버전에 대한 VMAF 값은 측정값을 통해 얻어지며, 각 채널의 액세스 확률을 감마 분포로 모델링했으며, k와 값은 Twitch.tv에서 얻은 값인 각각 0.399와 14260로 설정했다.The VMAF value is modeled as a normal distribution, the VMAF value for the version at each bitrate is obtained through measurements, the access probability of each channel is modeled as a gamma distribution, and k and The values were set to 0.399 and 14260 respectively, the values obtained from Twitch.tv.
서로 다른 버전의 상대 인기도를 표현하기 위해, 의 평균값과 의 분산을 갖는 정규분포를 사용했다. 값은 독립적으로 설정되며, 각 사례에서 가장 인기 버전의 우세를 결정한다. 본 발명에서는 중간 비트일수록 인기도가 높을 경우를 디폴트로 하여, 를 1, =Nver/2 를 사용했다.To express the relative popularity of different versions, and the average value of A normal distribution with a variance of . The values are set independently and determine the dominance of the most popular version in each case. In the present invention, by default, the higher the popularity of the middle bit, 1, =Nver/2 was used.
엣지 서버의 위치를 결정하기 위해 호주 멜버른의 실제 셀룰러 네트워크 위치 데이터를 사용하였다. 또한 엣지 서버의 CPU 특성은 2020년 또는 2021년에 출시된 Asus RS620SA-E10-RS12, Dell PowerEdge R7525, HPE Apollo XL225n Gen10 Plus, Fujitsu Primergy RX4770 M6, Lenovo Technology ThinkSystem SR665를 기반으로 했다.We used actual cellular network location data from Melbourne, Australia to determine the location of our edge servers. In addition, the CPU characteristics of the edge server were based on Asus RS620SA-E10-RS12, Dell PowerEdge R7525, HPE Apollo XL225n Gen10 Plus, Fujitsu Primergy RX4770 M6, and Lenovo Technology ThinkSystem SR665 released in 2020 or 2021.
기본적으로 선형 비용 모델을 사용한다. Amazon Web Services에서 운영하는 컴퓨팅 자원과 관련된 6가지 비용 모델(c4, c5n, c5a, c5, c6gn 및 c6g)에서 정규화된 비용 값 를 얻었으며 이는 0.63에서 1 사이의 값이었다. 본 발명에서는 0.63에서 1 사이에서 랜덤으로 를 선택했다.By default, it uses a linear cost model. Normalized cost values from six cost models (c4, c5n, c5a, c5, c6gn, and c6g) associated with computing resources operated by Amazon Web Services. was obtained, which ranged from 0.63 to 1. In the present invention, randomly between 0.63 and 1 has chosen
본 발명에서는 ES 할당 및 작업 선택의 6개의 벤치마크 조합과 제안하는 트랜스코딩 작업 할당 기법을 비교했다. 6개의 벤치마크 조합은 각각 RA(무작위 ES 할당)+AP(모든 인기 채널의 버전 트랜스코딩), RA+HPF(가장 인기 있는 태스크 우선), LUF(가장 낮은 사용률의 ES 우선)+AP, LUF+HPF, LCF (최소비용의 ES 우선)+AP 및 LCF+HPF이다. 본 발명에서 제안하는 트랜스코딩 작업 할당 기법의 알고리즘을 TDA+CR라고 한다.In the present invention, six benchmark combinations of ES allocation and task selection were compared with the proposed transcoding task allocation scheme. The six benchmark combinations are RA (random ES allocation)+AP (version transcoding of all popular channels), RA+HPF (most popular task first), LUF (least utilized ES first)+AP, LUF+ These are HPF, LCF (least cost ES first)+AP and LCF+HPF. The algorithm of the transcoding task assignment scheme proposed in the present invention is called TDA+CR.
도 5는 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 비용 제한에 따른 인기도 가중 퀄리티를 비교한 도면이다. 5 is a diagram comparing popularity-weighted quality according to cost limitation between a transcoding job allocation technique according to an embodiment of the present invention and a conventional technique.
Nch가 6000이고 NES가 100일 때 비용 예산이 총 PWQ에 미치는 영향을 조사했다. 이를 위해 Cratio 변수를 도입했다. 이는 ES j를 최대 사용률 로 사용하는 비용에 대한 비용 예산의 비율이며 다음과 같다: When N ch is 6000 and N ES is 100, the effect of cost budget on total PWQ was investigated. For this purpose, the C ratio variable was introduced. This is the maximum utilization rate of ES j It is the ratio of the cost budget to the cost of using it as:
본 발명에서 제안하는 기법인TDA+CR은 항상 최고의 성능을 달성하여 다른 방법보다 1.06배에서 2.13배(평균 1.45배) 더 많은 PWQ를 생성한다. 차이는 Cratio 가 감소함에 따라 증가하는 경향이 있으며, 이는 제안하는 기법이 감소된 비용 예산에 대처하는 데 효과적임을 나타낸다. TDA+CR, a technique proposed in the present invention, always achieves the best performance, generating 1.06 to 2.13 times (an average of 1.45 times) more PWQs than other methods. The difference tends to increase as the C ratio decreases, indicating that the proposed technique is effective in coping with the reduced cost budget.
도 6은 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 채널 수에 따른 인기도 가중 퀄리티를 비교한 도면이다. 6 is a diagram comparing popularity-weighted quality according to the number of channels between a transcoding job allocation technique according to an embodiment of the present invention and a conventional technique.
Cratio 가 50%, NES가 100일 때 비용 예산이 총 PWQ에 미치는 영향을 조사했다. 제안하는 기법인 TDA+CR은 다른 방법보다 1.08배에서 1.97배(평균 1.44배) 더 많은 PWQ를 달성한다.When the C ratio is 50% and the N ES is 100, the effect of the cost budget on the total PWQ was investigated. The proposed technique, TDA+CR, achieves 1.08 to 1.97 times (average 1.44 times) more PWQ than other methods.
특히 벤치마크 방식 중 최고인 LCF+HPF보다 1.08~1.19배(평균 1.14배) 높은 PWQ를 달성한다. In particular, it achieves a PWQ that is 1.08 to 1.19 times (average 1.14 times) higher than LCF+HPF, the highest among benchmark methods.
채널 수가 증가함에 따라, 높은 비트 전송률 버전이 더 적게 트랜스코딩되므로 PWQ가 떨어진다. 이 떨어지는 정도는 비교 벤치마크 계획보다 제안하는 기법이 훨씬 적으므로 더 우수하다.As the number of channels increases, the higher bitrate version is transcoded less, so the PWQ drops. This fall is better because the proposed technique is much smaller than the comparative benchmark scheme.
도 7은 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 엣지 서버 수에 따른 인기도 가중 퀄리티를 비교한 도면이다. 7 is a diagram comparing popularity-weighted quality according to the number of edge servers between a transcoding job allocation technique according to an embodiment of the present invention and a conventional technique.
예상대로 총 PWQ는 엣지 서버의 개수의 증가에 따라 함께 증가한다. 트랜스코딩에 더 많은 프로세싱 용량을 사용할 수 있기 때문이다.As expected, the total PWQ increases with the increase in the number of edge servers. This is because more processing capacity is available for transcoding.
제안하는 기법은 다른 방법보다 1.05배에서 2.03배(평균 1.45배) 더 많은 PWQ를 얻는다. 이 차이는 엣지 서버가 적을수록 더 커지며, 이는 엣지 서버의 총 프로세싱 용량이 낮을 때 타 기법보다 제안하는 기법이 더 효과적으로 작동함을 보인다.The proposed technique obtains 1.05 to 2.03 times (average 1.45 times) more PWQ than other methods. This difference increases as the number of edge servers decreases, which shows that the proposed technique works more effectively than other techniques when the total processing capacity of edge servers is low.
도 8은 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법과 종래기술의 기법과의 비용 제한에 따른 온-오프(On-off) 비용 모델에서의 인기도 가중 퀄리티를 비교한 도면이다. 8 is a diagram comparing popularity-weighted quality in an on-off cost model according to cost limitation between a transcoding job assignment technique according to an embodiment of the present invention and a technique in the prior art.
지금까지 제시된 모든 결과는 선형 비용 모델을 사용하여 얻어졌다. 그러므로 온-오프(On-off) 비용 모델에 대한 실험을 수행했다. 선형 비용 모델과의 공정한 비교를 위해 의 각 값을 로 설정했다. All results presented so far were obtained using a linear cost model. Therefore, we conducted experiments on an on-off cost model. For a fair comparison with the linear cost model each value of set to
또한 LCF 방법은 현재 비용 사용을 기반으로 다음 작업을 할당하기 때문에 이 모델에서 변하지 않는 온-오프 비용 모델에 직접 사용할 수 없다. 따라서 본 발명에서는 가장 저렴한 ES를 선택하고 ES가 완전히 활용될 때까지 작업을 할당하는 LCF-ONOFF를 도입했다. Also, since the LCF method allocates the next task based on current cost usage, it cannot be directly used for on-off cost models that do not change in this model. Therefore, the present invention introduces LCF-ONOFF, which selects the cheapest ES and allocates tasks until the ES is fully utilized.
도 9는 본 발명의 일 실시예에 따른 트랜스코딩 작업 할당 기법의 인기도 가중 퀄리티를 선형 비용 모델과 온-오프(On-off) 비용 모델에서 비교한 도면이다.9 is a diagram comparing popularity-weighted quality of a transcoding task assignment technique according to an embodiment of the present invention in a linear cost model and an on-off cost model.
온-오프 비용 모델을 사용할 때 Nch가 6000이고 NES가 100일 때 비용 예산이 총 PWQ에 미치는 영향을 조사했다. 제안하는 기법은 온-오프 비용 모델에서도 최고의 성능을 달성하여 다른 방법보다 1.06배에서 1.98배(평균 1.34배) 더 많은 PWQ를 얻는다. 비용 예산이 낮을 때 이 격차는 더 두드러진다.When using the on-off cost model, when N ch is 6000 and N ES is 100, the effect of cost budget on total PWQ was investigated. The proposed technique achieves the best performance even in the on-off cost model, obtaining 1.06 to 1.98 times (average 1.34 times) more PWQ than other methods. This gap is more pronounced when cost budgets are low.
선형 비용 모델은 항상 온-오프 비용 모델보다 PWQ가 더 높다. 이 차이는 0.24%와 6.63%(평균 2.34%) 사이이며 Cratio가 감소함에 따라 증가한다. 이는 온-오프 비용 모델이 상대적으로 적은 수의 ES를 사용하도록 강제하는 반면 선형 비용 모델은 특정 작업에 가장 적합한 ES를 더 자주 할당하도록 허용하기 때문이다. 이러한 실험 결과들을 통해 제안한 기법이 언제나 우수함을 확인했다.A linear cost model always has a higher PWQ than an on-off cost model. This difference is between 0.24% and 6.63% (mean 2.34%) and increases with decreasing C ratio . This is because the on-off cost model forces the use of a relatively small number of ESs, whereas the linear cost model allows more frequent allocation of the best ES for a particular task. Through these experimental results, it was confirmed that the proposed method is always excellent.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The devices described above may be implemented as hardware components, software components, and/or a combination of hardware components and software components. For example, devices and components described in the embodiments may include, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable array (FPA), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions. A processing device may run an operating system (OS) and one or more software applications running on the operating system. A processing device may also access, store, manipulate, process, and generate data in response to execution of software. For convenience of understanding, there are cases in which one processing device is used, but those skilled in the art will understand that the processing device includes a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it can include. For example, a processing device may include a plurality of processors or a processor and a controller. Other processing configurations are also possible, such as parallel processors.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.Software may include a computer program, code, instructions, or a combination of one or more of the foregoing, which configures a processing device to operate as desired or processes independently or collectively. The device can be commanded. Software and/or data may be any tangible machine, component, physical device, virtual equipment, computer storage medium or device, intended to be interpreted by or provide instructions or data to a processing device. can be embodied in Software may be distributed on networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer readable media.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program commands recorded on the medium may be specially designed and configured for the embodiment or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. - includes hardware devices specially configured to store and execute program instructions, such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include high-level language codes that can be executed by a computer using an interpreter, as well as machine language codes such as those produced by a compiler.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described with limited examples and drawings, those skilled in the art can make various modifications and variations from the above description. For example, the described techniques may be performed in an order different from the method described, and/or components of the described system, structure, device, circuit, etc. may be combined or combined in a different form than the method described, or other components may be used. Or even if it is replaced or substituted by equivalents, appropriate results can be achieved.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents of the claims are within the scope of the following claims.
Claims (8)
상기 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 중앙 트랜스코딩 서버 또는 엣지 서버에 할당하는 단계;
상기 인기도 가중 비디오 품질에 대한 네트워크 범위 및 계산 부하에 따른 영향을 최소화하기 위하여 상기 수집 서버를 통해 일부 작업을 라이브 스트리밍 공급자가 운영하는 상기 중앙 트랜스코딩 서버에 재할당하거나 또는 제거하는 단계; 및
상기 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 전송 서버를 통해 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공하는 단계
를 포함하는 트랜스코딩 작업 할당 방법. Prioritizing transcoding jobs performed in the central transcoding server in order of cost-effectiveness relative to Popularity-Weighted Video Quality (PWQ) in an edge computing environment through a collection server;
allocating a corresponding transcoding job to a central transcoding server or an edge server according to network coverage and calculation load for each transcoding job given the priority through the aggregation server;
reassigning or removing some of the work through the aggregation server to the central transcoding server operated by a live streaming provider in order to minimize the effect of network coverage and computational load on the popularity-weighted video quality; and
Providing live video streaming to a plurality of viewer terminals through a transmission server after performing the transcoding task allocated through the collection server in the central transcoding server or the edge server.
Transcoding task allocation method comprising a.
상기 수집 서버를 통해 엣지 컴퓨팅 환경에서 인기도 가중 비디오 품질 대비 비용 효율이 높은 순서대로 중앙 트랜스코딩 서버에서 수행되는 트랜스코딩 작업에 우선 순위를 부여하는 단계는,
상기 수집 서버에서 채널의 목록이 존재하고, 각 채널의 비디오 스트림을 캡처 및 인코딩하여 업로드하며,
복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전의 비디오 스트림을 이진 값의 조합으로 정의하고 인기도 가중 비디오 품질을 계산하며, 프로세싱 용량 제약 및 네트워크 범위 제약 내에서 복수의 사용자 단말에게 전송되는 비디오 품질을 최대화 하기 위한 인기도 가중 비디오 품질에 따라 트랜스코딩 작업을 할당하며, 이후 비용 예산 제약이 충족될 때까지 인기도 가중 비디오 품질 손실을 최소화하도록 상기 할당된 작업을 제거하는
트랜스코딩 작업 할당 방법. According to claim 1,
The step of giving priority to the transcoding jobs performed in the central transcoding server in order of cost-effectiveness relative to popularity-weighted video quality in an edge computing environment through the collection server,
A list of channels exists in the collection server, and video streams of each channel are captured, encoded, and uploaded;
Defines a video stream of a version with a requested bit rate from multiple viewer terminals as a combination of binary values, calculates a popularity-weighted video quality, and determines the video quality transmitted to a plurality of user terminals within processing capacity constraints and network range constraints. Allocating transcoding tasks according to popularity-weighted video quality to maximize, and then removing the assigned tasks to minimize popularity-weighted video quality loss until cost budget constraints are met.
How to assign transcoding jobs.
상기 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 중앙 트랜스코딩 서버 또는 엣지 서버에 할당하는 단계는,
각 채널이 트랜스코딩 서버의 네트워크 범위 내에 있는지 여부를 나타내는 이진 변수를 사용하여, 해당 채널의 가장 낮은 비트레이트 버전에 대한 트랜스코딩 작업 실행 여부에 따라 이진값을 부여하는
트랜스코딩 작업 할당 방법. According to claim 2,
The step of allocating the transcoding job to the central transcoding server or the edge server according to the network range and computational load for each transcoding job given the priority through the collection server,
Using a binary variable indicating whether each channel is within network range of the transcoding server, giving a binary value depending on whether or not the transcoding operation was performed for the lowest bitrate version of that channel.
How to assign transcoding jobs.
상기 상기 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 전송 서버를 통해 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공하는 단계는,
복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전이 트랜스코딩 작업이 실행되지 않은 경우, 트랜스코딩 작업이 실행된 버전 중에서 상기 요청된 비트레이트보다 낮은 버전 중 가장 높은 비트레이트를 가진 버전을 전송하는
트랜스코딩 작업 할당 방법. According to claim 3,
After performing the transcoding task allocated through the collection server in the central transcoding server or the edge server, providing live video streaming to a plurality of viewer terminals through a transmission server,
If the version with the bit rate requested from the plurality of viewer terminals is not transcoding, transmitting the version with the highest bit rate among the versions lower than the requested bit rate among the versions in which the transcoding task is executed
How to assign transcoding jobs.
상기 수집 서버를 통해 상기 우선 순위가 부여된 각각의 트랜스코딩 작업에 대하여 네트워크 범위 및 계산 부하에 따라 해당 트랜스코딩 작업을 할당 받는 중앙 트랜스코딩 서버 및 엣지 서버 -상기 중앙 트랜스코딩 서버는 상기 인기도 가중 비디오 품질에 대한 네트워크 범위 및 계산 부하에 따른 영향을 최소화하기 위하여 상기 수집 서버를 통해 일부 작업을 재할당 받거나 또는 일부 작업이 제거됨-; 및
상기 수집 서버를 통해 할당된 트랜스코딩 작업을 상기 중앙 트랜스코딩 서버 또는 상기 엣지 서버에서 수행한 후, 복수의 시청자 단말에 라이브 비디오 스트리밍을 제공하는 전송 서버
를 포함하는 트랜스코딩 작업 할당 시스템. an aggregation server that prioritizes transcoding jobs performed on the central transcoding server in order of cost-effectiveness relative to Popularity-Weighted Video Quality (PWQ) in an edge computing environment;
A central transcoding server and an edge server to which the corresponding transcoding job is allocated according to network coverage and computational load for each transcoding job given the priority through the aggregation server - the central transcoding server is the popularity weighted video Some jobs are reallocated or some jobs are removed through the aggregation server to minimize the impact of network coverage and computational load on quality; and
A transmission server that provides live video streaming to a plurality of viewer terminals after performing the transcoding task allocated through the collection server in the central transcoding server or the edge server.
A transcoding job assignment system comprising a.
상기 수집 서버는,
채널의 목록이 존재하고, 각 채널의 비디오 스트림을 캡처 및 인코딩하여 업로드하며,
복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전의 비디오 스트림을 이진 값의 조합으로 정의하고 인기도 가중 비디오 품질을 계산하며, 프로세싱 용량 제약 및 네트워크 범위 제약 내에서 복수의 사용자 단말에게 전송되는 비디오 품질을 최대화 하기 위한 인기도 가중 비디오 품질에 따라 트랜스코딩 작업을 할당하며, 이후 비용 예산 제약이 충족될 때까지 인기도 가중 비디오 품질 손실을 최소화하도록 상기 할당된 작업을 제거하는
트랜스코딩 작업 할당 시스템.According to claim 5,
The collection server,
A list of channels exists, the video stream of each channel is captured, encoded, and uploaded;
Defines a video stream of a version with a requested bit rate from multiple viewer terminals as a combination of binary values, calculates a popularity-weighted video quality, and determines the video quality transmitted to a plurality of user terminals within processing capacity constraints and network range constraints. Allocating transcoding tasks according to popularity-weighted video quality to maximize, and then removing the assigned tasks to minimize popularity-weighted video quality loss until cost budget constraints are met.
Transcoding job allocation system.
상기 중앙 트랜스코딩 서버 및 엣지 서버는,
각 채널이 트랜스코딩 서버의 네트워크 범위 내에 있는지 여부를 나타내는 이진 변수를 사용하여, 해당 채널의 가장 낮은 비트레이트 버전에 대한 트랜스코딩 작업 실행 여부에 따라 이진값을 부여 받는
트랜스코딩 작업 할당 시스템. According to claim 6,
The central transcoding server and the edge server,
With a binary variable indicating whether each channel is within network range of the transcoding server, a binary value is given depending on whether or not the transcoding operation is performed on the lowest bitrate version of that channel.
Transcoding job allocation system.
상기 전송 서버는,
복수의 시청자 단말로부터 요청된 비트레이트를 가진 버전이 트랜스코딩 작업이 실행되지 않은 경우, 트랜스코딩 작업이 실행된 버전 중에서 상기 요청된 비트레이트보다 낮은 버전 중 가장 높은 비트레이트를 가진 버전을 전송하는
트랜스코딩 작업 할당 시스템. According to claim 3,
The transmission server,
If the version with the bit rate requested from the plurality of viewer terminals is not transcoding, transmitting the version with the highest bit rate among the versions lower than the requested bit rate among the versions in which the transcoding task is executed
Transcoding job allocation system.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163149A KR102541455B1 (en) | 2021-11-24 | 2021-11-24 | Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210163149A KR102541455B1 (en) | 2021-11-24 | 2021-11-24 | Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230076325A true KR20230076325A (en) | 2023-05-31 |
KR102541455B1 KR102541455B1 (en) | 2023-06-13 |
Family
ID=86542875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210163149A KR102541455B1 (en) | 2021-11-24 | 2021-11-24 | Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102541455B1 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101411411B1 (en) * | 2013-02-26 | 2014-06-25 | 인하대학교 산학협력단 | Media player and method for supervising energy of media player |
KR20150119170A (en) * | 2013-03-14 | 2015-10-23 | 제너럴 인스트루먼트 코포레이션 | Devices, systems, and methods for managing and adjusting adaptive streaming traffic |
KR101569502B1 (en) | 2012-11-06 | 2015-11-17 | 네이버 주식회사 | Apparatus, method and computer readable recording medium for assigning trnscording works |
KR101871116B1 (en) * | 2017-09-08 | 2018-06-25 | 인하대학교 산학협력단 | Quality of exprerience maximization scheme to limit transcoding power consumption |
KR20190078684A (en) * | 2017-12-13 | 2019-07-05 | 한국과학기술원 | Prefetching based cloud broker apparatus for live streaming and method thereof |
KR20210059600A (en) * | 2019-11-15 | 2021-05-25 | 한국과학기술원 | Method And System for Live Video Ingest |
-
2021
- 2021-11-24 KR KR1020210163149A patent/KR102541455B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101569502B1 (en) | 2012-11-06 | 2015-11-17 | 네이버 주식회사 | Apparatus, method and computer readable recording medium for assigning trnscording works |
KR101411411B1 (en) * | 2013-02-26 | 2014-06-25 | 인하대학교 산학협력단 | Media player and method for supervising energy of media player |
KR20150119170A (en) * | 2013-03-14 | 2015-10-23 | 제너럴 인스트루먼트 코포레이션 | Devices, systems, and methods for managing and adjusting adaptive streaming traffic |
KR101871116B1 (en) * | 2017-09-08 | 2018-06-25 | 인하대학교 산학협력단 | Quality of exprerience maximization scheme to limit transcoding power consumption |
KR20190078684A (en) * | 2017-12-13 | 2019-07-05 | 한국과학기술원 | Prefetching based cloud broker apparatus for live streaming and method thereof |
KR20210059600A (en) * | 2019-11-15 | 2021-05-25 | 한국과학기술원 | Method And System for Live Video Ingest |
Non-Patent Citations (2)
Title |
---|
Aparicio-Pardo, Ramon, et al. "Transcoding live adaptive video streams at a massive scale in the cloud." Proceedings of the 6th ACM Multimedia Systems Conference. ACM, 2015.(2015.03.20.) 1부.. * |
HAITAO YUAN 외 1인."Profit-Maximized Collaborative Computation Offloading and Resource Allocation in Distributed Cloud and Edge Computing Systems".IEEE Transactions on ASE.VOL. 18, NO. 3.,2020.07.14. 1부 * |
Also Published As
Publication number | Publication date |
---|---|
KR102541455B1 (en) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Aparicio-Pardo et al. | Transcoding live adaptive video streams at a massive scale in the cloud | |
CN107251569B (en) | Dynamic content distribution network distribution system | |
EP3210385B1 (en) | Dynamic programming across multiple streams | |
EP3172864B1 (en) | Management of heterogeneous client device groups | |
JP5989228B2 (en) | Method and apparatus for scheduling an adaptive bitrate stream | |
JP5559113B2 (en) | Method and apparatus for transferring a video stream | |
EP3172863B1 (en) | Quality of experience based network resource management | |
US9521176B2 (en) | System, method, and computer program product for media publishing request processing | |
CN105338372B (en) | A kind of adaptive video crossfire code-transferring method applied to game live streaming platform | |
US10148990B2 (en) | Video streaming resource optimization | |
CN108965884B (en) | Distribution method of transcoding tasks, scheduling device and transcoding device | |
US11601343B2 (en) | Dynamic adaptive network | |
US9832442B2 (en) | System and method of managing multiple video players executing on multiple devices | |
US20160028594A1 (en) | Generating and Utilizing Contextual Network Analytics | |
CN104967868B (en) | video transcoding method, device and server | |
CN113207015B (en) | Task scheduling strategy generation method and device, storage medium and computer equipment | |
JP2011176828A (en) | Method and apparatus of rate shaping | |
Nguyen et al. | An adaptive streaming method of 360 videos over HTTP/2 protocol | |
KR102541455B1 (en) | Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment | |
KR102438747B1 (en) | Method and apparatus for allocating quality-aware transcoding task under limited power in live-streaming systems | |
JP2016143980A (en) | Device and method for band allocation control | |
Lee et al. | Quality-aware transcoding task allocation under limited power in live-streaming systems | |
KR102157379B1 (en) | Online/offline Workload Distribution Method for Transcoding in DASH servers | |
KR101087634B1 (en) | Apparatus and method for allocating radio resource | |
EP4312417A1 (en) | Content delivery network (cdn) selection using performance metric |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right |