KR101871116B1 - Quality of exprerience maximization scheme to limit transcoding power consumption - Google Patents

Quality of exprerience maximization scheme to limit transcoding power consumption Download PDF

Info

Publication number
KR101871116B1
KR101871116B1 KR1020170115235A KR20170115235A KR101871116B1 KR 101871116 B1 KR101871116 B1 KR 101871116B1 KR 1020170115235 A KR1020170115235 A KR 1020170115235A KR 20170115235 A KR20170115235 A KR 20170115235A KR 101871116 B1 KR101871116 B1 KR 101871116B1
Authority
KR
South Korea
Prior art keywords
transcoding
version
transcoded
segment
gain
Prior art date
Application number
KR1020170115235A
Other languages
Korean (ko)
Inventor
송민석
한황제
이정우
Original Assignee
인하대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인하대학교 산학협력단 filed Critical 인하대학교 산학협력단
Priority to KR1020170115235A priority Critical patent/KR101871116B1/en
Application granted granted Critical
Publication of KR101871116B1 publication Critical patent/KR101871116B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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/23439Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention discloses a method for limiting transcoding power consumption and maximizing quality of experience (QoE). The method for transcoding a segment of a video and streaming the transcoded segment to a client comprises the following steps of: determining a version to be transcoded in consideration of a transcoding gain indicating QoE of the segment; and streaming the segment transcoded to the determined version to the client.

Description

트랜스코딩 소모 전력을 제한하고 사용자 인지 품질을 최대화 하기 위한 방법{QUALITY OF EXPRERIENCE MAXIMIZATION SCHEME TO LIMIT TRANSCODING POWER CONSUMPTION}TECHNICAL FIELD [0001] The present invention relates to a method for limiting transcoding power consumption and maximizing user perception quality. [0002]

아래의 설명은 사용자 인지 품질(QoE: Quality of Experience)을 최대화 하는 기술에 관한 것이다.The following discussion is about techniques that maximize the quality of experience (QoE).

최근 동적 적응 스트리밍은 대부분의 스트리밍 서비스 제공 업체에서 널리 채택되어 있다. 이를 위해서는 각 비디오를 여러 세그먼트로 분할하고 각 세그먼트를 많고 다양한 비트율(bit-rate) 버전으로 인코딩 시켜야 한다. 따라서, 시간에 따라 변하는 동적 네트워크 조건에 맞게 가장 적합한 비트 전송률 버전을 스트리밍 할 수 있게 된다.Recently, dynamic adaptive streaming has been widely adopted by most streaming service providers. To do this, each video must be segmented into multiple segments and each segment encoded with a large variety of bit-rate versions. Thus, it becomes possible to stream the most suitable bit rate version to meet the dynamic network conditions that change with time.

다양한 비트율 버전을 생성하려면 트랜스코딩 작업이 필수적이다. 예컨대, 한국공개특허 제10-2011-0057446호(공개일 2011년 06월 01일)에는 미디어 데이터를 스트리밍 하는 기술이 개시되어 있다.Transcoding is essential for generating various bit-rate versions. For example, Korean Patent Laid-Open No. 10-2011-0057446 (published on June 01, 2011) discloses a technique for streaming media data.

스트리밍에 따라 120가지 트랜스코딩 작업이 필요할 수 있고 적어도 20가지 버전을 사용할 수 있어야 한다. 이러한 트랜스코딩에 대한 요구를 지원하기 위해 많은 클라우드 기반 트랜스코딩 서비스에서 스트리밍 업체에게 트랜스코딩 클라우드를 제공하고 있다. 본질적으로, 비디오 트랜스코딩은 계산 집약적이며 서버에서 많은 프로세싱 유닛을 필요로 한다. 또한, 변환된 버전을 저장하기 위해 많은 저장 공간이 필요하다. 이러한 계산 및 저장 요구 사항은 서비스 제공 업체에게 상당한 운영 비용을 부과한다.Depending on the streaming, 120 transcoding tasks may be required and at least 20 versions must be available. To support these transcoding needs, many cloud-based transcoding services are providing transcoding clouds to streaming providers. In essence, video transcoding is computationally intensive and requires many processing units in the server. Also, a lot of storage space is needed to store the converted version. These computational and storage requirements impose considerable operational costs on service providers.

데이터 센터의 에너지 효율성은 클라우드 서비스 제공 업체에게 있어서 가장 중요한 문제 중 하나다. 예를 들어, 10MW 최대 전력 용량을 제공하는 데이터 센터의 연간 청구액은 1억 달러에서 2억 달러에 이른다는 결과도 있다. 특히, 작업 부하에 따라 에너지 비용이 다를 수 있지만 데이터를 제한하는 것이 필수적인 업체의 경우 작업량 추적을 기반으로 최대 트랜스코딩에 3000Gbps가 필요하다는 것이 관찰되고 있다.Energy efficiency in the data center is one of the most important issues for cloud service providers. For example, data centers with 10MW peak power capacity have an annual billing of $ 100 million to $ 200 million. In particular, it is observed that energy cost may vary for different workloads, but for businesses where data restraint is essential, 3000 Gbps is required for maximum transcoding based on workload tracking.

이러한 이유로 트랜스코딩 동작의 관리에 대한 많은 연구가 많이 진행되고 있다.For this reason, much research has been conducted on the management of transcoding operations.

사용자 인지 품질(QoE)을 고려하여 트랜스코딩 에너지 소비를 제한할 수 있는 방법을 제공한다.And provides a way to limit transcoding energy consumption in consideration of user perceived quality (QoE).

사용자 인지 품질(QoE)을 최대화 하면서 효율적으로 트랜스코딩 에너지를 제한할 수 있는 방법을 제공한다.Provides a way to efficiently limit transcoding energy while maximizing user perceived quality (QoE).

비디오의 세그먼트를 트랜스코딩 하여 트랜스코딩 된 세그먼트를 클라이언트로 스트리밍 하는 방법에 있어서, 상기 세그먼트의 QoE(Quality of Experience)를 나타내는 트랜스코딩 이득(transcoding gain)을 고려하여 트랜스코딩 되는 버전을 결정하는 단계; 및 상기 결정된 버전으로 트랜스코딩 된 세그먼트를 상기 클라이언트로 스트리밍 하는 단계를 포함하는 방법을 제공한다.A method of streaming a transcoded segment to a client by transcoding a segment of video, the method comprising: determining a version to be transcoded taking into account a transcoding gain representing a quality of experience (QoE) of the segment; And streaming the transcoded segment to the determined version to the client.

일 측면에 따르면, 상기 결정하는 단계는, 트랜스코딩 세션 동안 트랜스코딩에 할당된 전체 CPU 시간에 의한 총 트랜스코딩 시간을 제한하고 스트리밍 세션 동안 전체 트랜스코딩 이득을 최대화 하는 버전을 찾을 수 있다.According to an aspect, the determining step may limit the total transcoding time by the total CPU time allocated to the transcoding during the transcoding session and find a version that maximizes the overall transcoding gain during the streaming session.

다른 측면에 따르면, 상기 결정하는 단계는, 전체 세그먼트의 수와 트랜스코딩 된 버전의 수 및 트랜스코딩에 할당된 전체 CPU 시간을 매개 변수로 한 동적 프로그래밍 알고리즘을 통해 트랜스코딩 버전을 결정할 수 있다.According to another aspect, the determining step may determine the transcoded version through a dynamic programming algorithm that takes as parameters the total number of segments, the number of transcoded versions, and the total CPU time allocated to transcoding.

또 다른 측면에 따르면, 상기 결정하는 단계는, 최대 트랜스코딩 이득과 트랜스코딩 된 버전을 초기화 하고 세그먼트 인덱스와 전체 세그먼트의 수 및 트랜스코딩 시간의 인덱스에서 시작하여 최대 트랜스코딩 이득을 유도하는 버전을 역추적하는 방식으로 트랜스코딩 버전을 결정할 수 있다.According to another aspect, the determining step includes initializing a maximum transcoding gain and a transcoded version, and starting a version of the transcoding version starting from the index of the segment index and the total number of segments and the index of the transcoding time, The transcoding version can be determined in a tracking manner.

또 다른 측면에 따르면, 상기 결정하는 단계는, 트랜스코딩 된 버전에 대해 휴리스틱 알고리즘을 통해 트랜스코딩 이득의 감소가 가장 낮은 트랜스코딩 버전을 결정할 수 있다.According to another aspect, the determining step may determine a transcoding version with the lowest reduction in transcoding gain through a heuristic algorithm for the transcoded version.

또 다른 측면에 따르면, 상기 결정하는 단계는, 전체 세그먼트를 트랜스코딩 된 버전에 대해 가능한 조합의 집합으로 설정하여 상기 집합에서 트랜스코딩 이득의 감소가 가장 낮은 트랜스코딩 버전을 결정할 수 있다.According to another aspect, the determining may set the entire segment to a set of possible combinations for the transcoded version so as to determine the lowest transcoding version with the lowest reduction in transcoding gain in the set.

컴퓨터로 구현되는 스트리밍 서버에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 비디오의 세그먼트를 트랜스코딩 하여 트랜스코딩 된 세그먼트를 클라이언트로 스트리밍 하는 것으로, 상기 세그먼트의 QoE(Quality of Experience)를 나타내는 트랜스코딩 이득(transcoding gain)을 고려하여 트랜스코딩 되는 버전을 결정하는 과정; 및 상기 결정된 버전으로 트랜스코딩 된 세그먼트를 상기 클라이언트로 스트리밍 하는 과정을 처리하는 스트리밍 서버를 제공한다.CLAIMS What is claimed is: 1. A computer-implemented streaming server comprising: at least one processor configured to execute computer-readable instructions, wherein the at least one processor is configured to transcode a segment of video and stream the transcoded segment to a client Determining a version to be transcoded in consideration of a transcoding gain indicating a quality of experience (QoE) of the segment; And a streaming server for processing the stream transcoded into the determined version to the client.

본 발명의 실시예들에 따르면, 트랜스코딩 시스템에서 높은 에너지 소비를 제한할 수 있는 방법을 제공한다. QoE 및 버전 인기를 표현하기 위해 트랜스코딩 이득의 개념을 이용하고 에너지 한도에 따라 전체 QoE를 최대화하는 것을 목표로 하는 최적화 문제를 공식화 하고 알고리즘 복잡성과 QoE 최대화 간의 트레이드오프를 해결하기 위해 동적 프로그래밍과 휴리스틱에 기반한 두 가지 알고리즘을 이용하고 이를 통해 적은 비용의 QoE 저하로 에너지 소모량을 크게 줄일 수 있다.According to embodiments of the present invention, there is provided a method of limiting high energy consumption in a transcoding system. Dynamic programming and heuristics are used to formulate optimization problems aimed at maximizing overall QoE over energy limits and to address tradeoffs between algorithm complexity and QoE maximization, using the concept of transcoding gain to express QoE and version popularity. Based algorithms, which can significantly reduce energy consumption with lower cost QoE degradation.

도 1은 본 발명의 일 실시예에 있어서, 스트리밍 환경의 예를 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 있어서, 스트리밍 서버의 내부 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 일 실시예에 있어서, TSA-DP 알고리즘의 초기화 및 점화식 설정 단계의 수도코드를 도시한 것이다.
도 4는 본 발명의 일 실시예에 있어서, TSA-DP 알고리즘의 역추적 단계의 수도코드를 도시한 것이다.
도 5는 본 발명의 일 실시예에 있어서, TSA-H 알고리즘의 수도코드를 도시한 것이다.
도 6은 본 발명의 일 실시예에 있어서, SSIM값과 QoE값과의 맵핑 테이블을 도시한 것이다.
도 7 내지 도 8은 본 발명의 일 실시예에 있어서, 트랜스코딩 에너지에 대한 MOS 테이블을 도시한 것이다.
도 9는 본 발명의 일 실시예에 있어서, 와트-시간 당 평균 MOS를 도시한 것이다.
1 is a diagram for explaining an example of a streaming environment in an embodiment of the present invention.
2 is a block diagram illustrating an internal configuration of a streaming server according to an embodiment of the present invention.
FIG. 3 shows a numerical code of the initialization and ignition-setting step of the TSA-DP algorithm in an embodiment of the present invention.
Figure 4 illustrates the numbering code of the backtracking step of the TSA-DP algorithm in one embodiment of the invention.
Figure 5 shows the numerical code of the TSA-H algorithm in one embodiment of the present invention.
FIG. 6 illustrates a mapping table between the SSIM value and the QoE value in an embodiment of the present invention.
Figures 7 to 8 illustrate a MOS table for transcoding energy, in an embodiment of the invention.
Figure 9 shows an average MOS per watt-hour, in one embodiment of the present invention.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

본 발명은 HTTP(hypertext transfer protocol)를 통한 동적 적응 스트리밍에서 높은 CPU 사용량에 따른 높은 전력 소비를 해결하기 위해 트랜스코딩에 필요한 총 계산 요구량을 제한하여 QoE를 최대화하는 방법에 관한 것이다.The present invention relates to a method for maximizing QoE by limiting the total computational requirements required for transcoding to solve high power consumption due to high CPU usage in dynamic adaptive streaming over HTTP (hypertext transfer protocol).

본 발명은 트랜스코딩 및 QoE를 고려하여 트랜스코딩의 결과로 달성된 QoE를 표현하기 위해 트랜스코딩 이득(transcoding gain)의 개념을 도입한다. 이를 바탕으로 전체 트랜스코딩 이득을 극대화 하기 위해 총 에너지 소비를 제한하는 최적화 문제를 공식화 하고 전체 QoE를 최대화 하고 트랜스코딩 워크로드와 QoE의 균형을 맞추기 위해 어떤 버전을 트랜스코딩 해야 하는지를 결정하는 두 가지 알고리즘을 제안한다. 제안된 두 알고리즘을 바탕으로 QoE를 최대화 하면서 효율적으로 에너지를 제한할 수 있도록 한다.The present invention introduces the concept of transcoding gain to express QoE achieved as a result of transcoding in view of transcoding and QoE. Based on this, we formulate an optimization problem that limits total energy consumption to maximize the overall transcoding gain, two algorithms that determine which version should be transcoded to maximize the total QoE and balance the transcoding workload with QoE . Based on the two proposed algorithms, we can maximize the QoE and limit the energy efficiently.

도 1은 본 발명의 일 실시예에 있어서, 스트리밍 환경의 예를 설명하기 위한 도면이다. 도 1은 클라이언트(101) 및 스트리밍 서버(100)를 나타내고 있다. 도 1에서 화살표는 구성 요소 간에 유/무선 네트워크(10)를 이용하여 데이터가 송수신될 수 있음을 의미한다.1 is a diagram for explaining an example of a streaming environment in an embodiment of the present invention. FIG. 1 shows a client 101 and a streaming server 100. FIG. In FIG. 1, the arrow indicates that data can be transmitted and received between the components using the wired / wireless network 10.

클라이언트(101)는 본 명세서에서 설명되는 특징들 중 하나 이상의 특징을 수행하도록 구성된 하나 이상의 프로세스들을 실행할 수 있다. 클라이언트(101)은 스트리밍 서버(100)에 접속 가능한 모든 컴퓨터 시스템을 의미할 수 있다.The client 101 may execute one or more processes configured to perform one or more of the features described herein. Client 101 may refer to any computer system connectable to streaming server 100.

클라이언트(101)의 예로는 스마트폰(smart phone), 태블릿(tablet), 웨어러블 컴퓨터(wearable computer), PC(personal computer), 노트북 컴퓨터(laptop computer), 랩탑 컴퓨터(laptop computer) 등을 포함할 수 있지만 이러한 것으로만 한정되는 것은 아니다.Examples of the client 101 may include a smart phone, a tablet, a wearable computer, a personal computer (PC), a laptop computer, a laptop computer, However, the present invention is not limited thereto.

클라이언트(101)는 네트워크(10)(예를 들어, 인터넷 혹은 로컬 영역 네트워크 등)에 직접적으로 혹은 간접적으로 결합될 수 있다. 예를 들어, 개인용 컴퓨터와 노트북 컴퓨터는 유선 네트워크 연결을 통해 네트워크(10)에 직접적으로 결합될 수 있다. 랩탑 컴퓨터는 랩탑 컴퓨터와 무선 액세스 포인트(Wireless Access Point)(즉, WAP) 간에 확립된 무선 통신 채널을 통해 네트워크(10)에 무선으로 결합될 수 있다. 스마트폰은 스마트폰과 셀룰러 네트워크/브리지 간에 확립된 무선 통신 채널을 통해 네트워크(10)에 무선으로 결합될 수 있다. 이때, 네트워크(10)는 하나 이상의 2차 네트워크들(미도시)과 통신할 수 있으며, 2차 네트워크들의 예로는 로컬 영역 네트워크(Local Area Network), 와이드 영역 네트워크(Wide Area Network), 또는 인트라넷(intranet)을 포함할 수 있지만 이러한 것으로만 한정되는 것은 아니다.The client 101 may be directly or indirectly coupled to the network 10 (e.g., the Internet or a local area network, etc.). For example, the personal computer and the notebook computer may be directly coupled to the network 10 via a wired network connection. The laptop computer may be wirelessly coupled to the network 10 via a wireless communication channel established between the laptop computer and a wireless access point (i.e., WAP). The smartphone may be wirelessly coupled to the network 10 via an established wireless communication channel between the smartphone and the cellular network / bridge. At this time, the network 10 can communicate with one or more secondary networks (not shown), and examples of secondary networks include a local area network, a wide area network, or an intranet < / RTI > intranet).

클라이언트(101)는 상기에서 설명한 네트워크(10)를 통해 스트리밍 서버(100)와 서로 인터페이스 할 수 있다.The client 101 may interface with the streaming server 100 through the network 10 described above.

스트리밍 서버(100)는 트랜스코딩 시스템을 포함하는 서버로서, 본 명세서에서 설명되는 특징들 중 하나 이상의 특징을 수행하도록 구성된 하나 이상의 프로세스들을 실행할 수 있다. 이때, 스트리밍 서버(100)는 원격의 클라우드 환경에서 비디오 트랜스코딩 클라우드를 제공하는 데이터 센터 역할을 할 수 있다.Streaming server 100 is a server that includes a transcoding system and may execute one or more processes configured to perform one or more of the features described herein. At this time, the streaming server 100 may serve as a data center for providing a video transcoding cloud in a remote cloud environment.

스트리밍 서버(100)는 서버 컴퓨터에 해당되는 것으로, 서버 컴퓨터의 예로는 서버 컴퓨팅 디바이스, 개인용 컴퓨터, 서버 컴퓨터, 일련의 서버 컴퓨터들, 미니 컴퓨터, 및/또는 메인프레임 컴퓨터를 포함할 수 있지만 이러한 것으로만 한정되는 것은 아니다. 서버 컴퓨터는 분산형 시스템일 수 있고, 그리고 서버 컴퓨터의 동작들은 하나 이상의 프로세서들 상에서 동시에 그리고/또는 순차적으로 실행될 수 있다.The streaming server 100 corresponds to a server computer. Examples of the server computer may include a server computing device, a personal computer, a server computer, a series of server computers, a minicomputer, and / But is not limited thereto. The server computer may be a distributed system, and the operations of the server computer may be executed concurrently and / or sequentially on one or more processors.

도 2는 본 발명의 일 실시예에 있어서, 스트리밍 서버의 내부 구성을 설명하기 위한 블록도이다.2 is a block diagram illustrating an internal configuration of a streaming server according to an embodiment of the present invention.

도 2에 도시한 바와 같이, 본 실시예에 따른 스트리밍 서버(100)는 프로세서(210), 버스(220), 네트워크 인터페이스(230), 메모리(240) 및 데이터베이스(250)를 포함할 수 있다. 메모리(240)는 운영체제(241) 및 트랜스코딩 루틴(242)를 포함할 수 있다. 다른 실시예들에서 스트리밍 서버(100)는 도 2의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다.2, the streaming server 100 according to the present embodiment may include a processor 210, a bus 220, a network interface 230, a memory 240, and a database 250. Memory 240 may include an operating system 241 and a transcoding routine 242. In other embodiments, the streaming server 100 may include more components than the components of FIG.

메모리(240)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 또한, 메모리(240)에는 운영체제(241)와 트랜스코딩 루틴(242)을 위한 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 드라이브 메커니즘(drive mechanism, 미도시)을 이용하여 메모리(240)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체(미도시)를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 네트워크 인터페이스(230)를 통해 메모리(240)에 로딩될 수도 있다.The memory 240 may be a computer-readable recording medium and may include a permanent mass storage device such as a random access memory (RAM), a read only memory (ROM), and a disk drive. Also, the memory 240 may store program codes for the operating system 241 and the transcoding routine 242. [ These software components may be loaded from a computer readable recording medium separate from the memory 240 using a drive mechanism (not shown). Such a computer-readable recording medium may include a computer-readable recording medium (not shown) such as a floppy drive, a disk, a tape, a DVD / CD-ROM drive, or a memory card. In other embodiments, the software components may be loaded into the memory 240 via the network interface 230 rather than from a computer readable recording medium.

버스(220)는 스트리밍 서버(100)의 구성요소들간의 통신 및 데이터 전송을 가능하게 할 수 있다. 버스(220)는 고속 시리얼 버스(high-speed serial bus), 병렬 버스(parallel bus), SAN(Storage Area Network) 및/또는 다른 적절한 통신 기술을 이용하여 구성될 수 있다.The bus 220 may enable communication and data transmission between the components of the streaming server 100. The bus 220 may be configured using a high-speed serial bus, a parallel bus, a Storage Area Network (SAN), and / or other suitable communication technology.

네트워크 인터페이스(230)는 스트리밍 서버(100)를 컴퓨터 네트워크에 연결하기 위한 컴퓨터 하드웨어 구성요소일 수 있다. 네트워크 인터페이스(230)는 스트리밍 서버(100)를 무선 또는 유선 커넥션을 통해 컴퓨터 네트워크에 연결시킬 수 있다.The network interface 230 may be a computer hardware component for connecting the streaming server 100 to a computer network. The network interface 230 may connect the streaming server 100 to a computer network via a wireless or wired connection.

데이터베이스(250)는 트랜스코딩과 관련된 정보, 예컨대 트랜스코딩 버전 등을 저장 및 유지하는 역할을 한다.The database 250 serves to store and maintain information related to transcoding, such as transcoding versions.

프로세서(210)는 기본적인 산술, 로직 및 스트리밍 서버(100)의 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(240) 또는 네트워크 인터페이스(230)에 의해, 그리고 버스(220)를 통해 프로세서(210)로 제공될 수 있다. 프로세서(210)는 본 명세서에서 설명되는 특징들 중 하나 이상의 특징을 수행하기 위한 프로그램 코드를 실행하도록 구성될 수 있다. 이러한 프로그램 코드는 메모리(240)와 같은 기록 장치에 저장될 수 있다.The processor 210 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input / output operations of the streaming server 100. The instructions may be provided by the memory 240 or the network interface 230 and to the processor 210 via the bus 220. The processor 210 may be configured to execute program code for performing one or more of the features described herein. Such program code may be stored in a recording device such as memory 240. [

이하에서는 본 발명에 따른 사용자 인지 품질(QoE) 최대화 방법의 구체적인 실시예를 설명하기로 한다.Hereinafter, a specific embodiment of a method for maximizing user perceived quality (QoE) according to the present invention will be described.

본 발명에 따른 사용자 인지 품질(QoE) 최대화 방법은 도 1과 도 2를 통해 설명한 스트리밍 서버(100)에 의해 실행된다.The method for maximizing user perceived quality (QoE) according to the present invention is executed by the streaming server 100 described with reference to FIG. 1 and FIG.

본 발명에서는 트랜스코딩 세션과 스트리밍 세션의 두 가지 세션이 있다. 트랜스코딩 세션에서 비디오 세그먼트는 트랜스코딩 되어 스토리지에 저장되고 그 후에 스트리밍 세션이 세그먼트를 클라이언트(101)로 전달하기 시작한다. 가능한 모든 비트율 버전이 트랜스코딩 되는 기존 방식과는 달리, 본 발명은 세그먼트를 선택적으로 트랜스코딩 하여 트랜스코딩 세션 동안 에너지 사용량을 제한할 수 있다. 요청된 버전을 스토리지에서 사용할 수 없는 경우 네트워크 대역폭을 충족시키기 위해 요청한 버전보다 낮은 비트율 버전 중 하나를 전달해야 하므로 필연적으로 QoE가 감소한다. 이러한 문제를 해결하기 위해 스트리밍 세션 중에 클라이언트(101)로 스트리밍 되는 세그먼트의 전체 QoE를 최대화하기 위해 트랜스코딩 되는 버전을 결정한다.In the present invention, there are two sessions, a transcoding session and a streaming session. In the transcoding session, the video segments are transcoded and stored in storage, after which the streaming session begins to deliver the segments to the client 101. Unlike conventional approaches where all possible bit-rate versions are transcoded, the present invention can selectively transcode segments to limit energy usage during a transcoding session. If the requested version is not available on the storage, QoE will inevitably decrease because one of the bitrate versions lower than the requested version must be delivered to meet the network bandwidth. To solve this problem, a version to be transcoded is determined in order to maximize the total QoE of a segment streamed to the client 101 during a streaming session.

Figure 112017087485464-pat00001
는 전체 비디오 세그먼트의 수를 나타낸다. 각 비디오 세그먼트 i, (i=1, ...,
Figure 112017087485464-pat00002
)는 원본 최상위 버전의
Figure 112017087485464-pat00003
개의 버전을 가지고 있다.
Figure 112017087485464-pat00004
는 트랜스코딩 된 버전
Figure 112017087485464-pat00005
이다. 여기서,
Figure 112017087485464-pat00006
의 값은 비트율의 오름차순으로 정렬된다.
Figure 112017087485464-pat00007
Figure 112017087485464-pat00008
Figure 112017087485464-pat00009
사이의 트랜스코딩 된 버전의 수를 의미한다.
Figure 112017087485464-pat00010
를 버전
Figure 112017087485464-pat00011
(i=1, ...,
Figure 112017087485464-pat00012
, 및 j=1, ...,
Figure 112017087485464-pat00013
)의 액세스 확률이라고 하면,
Figure 112017087485464-pat00014
=1이다. 그러면, 세그먼트 i,
Figure 112017087485464-pat00015
의 인기는
Figure 112017087485464-pat00016
로 계산될 수 있다.
Figure 112017087485464-pat00017
의 값은 SSIM(Structural Similarity Index Metric) 도구와 같은 QoE 측정 도구로 쉽게 얻을 수 있다.
Figure 112017087485464-pat00001
Represents the total number of video segments. Each video segment i, (i = 1, ...,
Figure 112017087485464-pat00002
) Is the original top-level version
Figure 112017087485464-pat00003
Version.
Figure 112017087485464-pat00004
Is a transcoded version
Figure 112017087485464-pat00005
to be. here,
Figure 112017087485464-pat00006
Are sorted in ascending order of bit rate.
Figure 112017087485464-pat00007
silver
Figure 112017087485464-pat00008
and
Figure 112017087485464-pat00009
Quot; means the number of transcoded versions between.
Figure 112017087485464-pat00010
Version
Figure 112017087485464-pat00011
(i = 1, ...,
Figure 112017087485464-pat00012
, And j = 1, ...,
Figure 112017087485464-pat00013
),
Figure 112017087485464-pat00014
= 1. Then, segment i,
Figure 112017087485464-pat00015
The popularity of
Figure 112017087485464-pat00016
Lt; / RTI >
Figure 112017087485464-pat00017
Can be easily obtained with a QoE measurement tool such as a Structural Similarity Index Metric (SSIM) tool.

Figure 112017087485464-pat00018
가 트랜스코딩 되었는지 여부를 나타내는
Figure 112017087485464-pat00019
=1, (i=1, ...,
Figure 112017087485464-pat00020
, j=1, ...,
Figure 112017087485464-pat00021
)을 매개 변수라 하자.
Figure 112017087485464-pat00022
=1이면, 버전
Figure 112017087485464-pat00023
는 스트리밍 세션에서 클라이언트로 전달될 수 있도록 트랜스코딩 되어 저장된다. 그렇지 않으면, 트랜스코딩 되지 않으므로 낮은 비트율의 대체 버전이 클라이언트에 전달되어야 한다. 원본 버전은 트랜스코딩 없이 자동으로 접근할 수 있기 때문에
Figure 112017087485464-pat00024
이라고 가정한다. 요청된 버전
Figure 112017087485464-pat00025
가 없을 때(즉,
Figure 112017087485464-pat00026
=0),
Figure 112017087485464-pat00027
=1 이며, k<=j 인 버전
Figure 112017087485464-pat00028
중에서 가장 높은 버전이 버전
Figure 112017087485464-pat00029
대신에 클라이언트에 전달될 필요가 있다. 이를 나타내기 위해 수학식 1과 같이 버전
Figure 112017087485464-pat00030
에 대한 새로운 인덱스 변수
Figure 112017087485464-pat00031
를 다음과 같이 정의한다.
Figure 112017087485464-pat00018
Is < / RTI &gt; transcoded
Figure 112017087485464-pat00019
= 1, (i = 1, ...,
Figure 112017087485464-pat00020
, j = 1, ...,
Figure 112017087485464-pat00021
) Is a parameter.
Figure 112017087485464-pat00022
= 1, the version
Figure 112017087485464-pat00023
Are transcoded and stored so that they can be delivered to the client in a streaming session. Otherwise, an alternate version with a lower bit rate must be delivered to the client since it is not transcoded. Since the original version can be accessed automatically without transcoding
Figure 112017087485464-pat00024
. Requested version
Figure 112017087485464-pat00025
(I.e.,
Figure 112017087485464-pat00026
= 0),
Figure 112017087485464-pat00027
= 1, k &lt; = j
Figure 112017087485464-pat00028
The highest version of
Figure 112017087485464-pat00029
Instead, it needs to be delivered to the client. In order to express this,
Figure 112017087485464-pat00030
New index variable for
Figure 112017087485464-pat00031
Is defined as follows.

[수학식 1][Equation 1]

Figure 112017087485464-pat00032
=
Figure 112017087485464-pat00033
{k|k<=j,
Figure 112017087485464-pat00034
=1}
Figure 112017087485464-pat00032
=
Figure 112017087485464-pat00033
{k | k < = j,
Figure 112017087485464-pat00034
= 1}

그러면 버전

Figure 112017087485464-pat00035
에 대한 요청에 대해 달성된 전체 QoE를 표현하기 위해 수학식 2와 같이 트랜스코딩 이득 즉,
Figure 112017087485464-pat00036
가 정의될 수 있다.Then version
Figure 112017087485464-pat00035
The transcoding gain, i. E., As shown in equation (2)
Figure 112017087485464-pat00036
Can be defined.

[수학식 2]&Quot; (2) &quot;

Figure 112017087485464-pat00037
=
Figure 112017087485464-pat00038
Figure 112017087485464-pat00037
=
Figure 112017087485464-pat00038

Figure 112017087485464-pat00039
는 버전
Figure 112017087485464-pat00040
에서
Figure 112017087485464-pat00041
(j>k)로 트랜스코딩 하는 데 필요한 CPU 시간이다. 비디오 트랜스코딩에서 높은 비트율 버전은 낮은 비트율 버전으로 트랜스코딩 될 수 있지만 반대의 변환은 허용되지 않는다. 또한, k<m이면,
Figure 112017087485464-pat00042
<
Figure 112017087485464-pat00043
이다. 따라서, 계산 오버헤드를 최소화하기 위해서 버전
Figure 112017087485464-pat00044
의 트랜스코딩의 소스(source)로 버전
Figure 112017087485464-pat00045
를 수학식 3과 같이 선택한다.
Figure 112017087485464-pat00039
Version
Figure 112017087485464-pat00040
in
Figure 112017087485464-pat00041
(j > k). In video transcoding, a higher bit-rate version can be transcoded to a lower bit-rate version, but the opposite conversion is not allowed. Also, if k < m,
Figure 112017087485464-pat00042
<
Figure 112017087485464-pat00043
to be. Therefore, in order to minimize computation overhead,
Figure 112017087485464-pat00044
The source of the transcoding of the version
Figure 112017087485464-pat00045
Is selected as shown in Equation (3).

[수학식 3]&Quot; (3) &quot;

Figure 112017087485464-pat00046
Figure 112017087485464-pat00046

Figure 112017087485464-pat00047
은 트랜스코딩에 할당된 전체 CPU 시간이다.
Figure 112017087485464-pat00048
CPU가 있는 트랜스코딩 서버에서
Figure 112017087485464-pat00049
는 트랜스코딩 세션 L중에 모든 CPU가 트랜스코딩하는 데 소요한 총 시간을 나타내며,
Figure 112017087485464-pat00050
에 의해 계산된다.
Figure 112017087485464-pat00051
에 필요한 에너지는
Figure 112017087485464-pat00052
에 의해 계산된다. 여기서,
Figure 112017087485464-pat00053
은 각 CPU에서 소모되는 트랜스코딩에 필요한 전력이다.
Figure 112017087485464-pat00054
이므로,
Figure 112017087485464-pat00055
이다.
Figure 112017087485464-pat00047
Is the total CPU time allocated to transcoding.
Figure 112017087485464-pat00048
On a transcoding server with a CPU
Figure 112017087485464-pat00049
Represents the total time spent by all the CPUs to transcode during the transcoding session L,
Figure 112017087485464-pat00050
Lt; / RTI &gt;
Figure 112017087485464-pat00051
The energy required for
Figure 112017087485464-pat00052
Lt; / RTI &gt; here,
Figure 112017087485464-pat00053
Is the power required for transcoding consumed by each CPU.
Figure 112017087485464-pat00054
Because of,
Figure 112017087485464-pat00055
to be.

각 변환된 버전

Figure 112017087485464-pat00056
(i=1, ...,
Figure 112017087485464-pat00057
, j=1, ...,
Figure 112017087485464-pat00058
)에 대해
Figure 112017087485464-pat00059
를 찾는 트랜스코딩 선택 문제(TSP: Transcoding Selection Problem)라는 최적화 문제를 정의한다. 트랜스코딩 세션 동안
Figure 112017087485464-pat00060
에 의한 총 트랜스코딩 시간의 제한을 두고, 스트리밍 세션 동안 전체 트랜스코딩 이득을 최대화하는 목적으로 버전
Figure 112017087485464-pat00061
를 트랜스코딩 하는지 여부를 결정하는 문제를 수학식 4와 같이 제안한다.Each converted version
Figure 112017087485464-pat00056
(i = 1, ...,
Figure 112017087485464-pat00057
, j = 1, ...,
Figure 112017087485464-pat00058
)About
Figure 112017087485464-pat00059
And the Transcoding Selection Problem (TSP). During the transcoding session
Figure 112017087485464-pat00060
With the goal of maximizing the overall transcoding gain during a streaming session, with a limit on the total transcoding time by the version
Figure 112017087485464-pat00061
(4) &lt; / RTI &gt;

[수학식 4]&Quot; (4) &quot;

Maximize

Figure 112017087485464-pat00062
Maximize
Figure 112017087485464-pat00062

Subject to

Figure 112017087485464-pat00063
Subject to
Figure 112017087485464-pat00063

Figure 112017087485464-pat00064
Figure 112017087485464-pat00064

트랜스코딩 선택 문제는 Knapsack 문제의 특별한 경우를 포함하기 때문에 NP-hard이다. 본 발명은 이 문제의 해결을 위해서 두 가지 알고리즘을 제안한다. 1)

Figure 112017087485464-pat00065
매개 변수 값에 대해 최적의 솔루션을 도출할 수 있는 동적 프로그래밍 알고리즘과, 2) 최적은 아니지만 빠른 시간 내에 결과를 도출할 수 있는 휴리스틱 알고리즘을 제안한다.The transcoding selection problem is NP-hard because it involves special cases of the Knapsack problem. The present invention proposes two algorithms for solving this problem. One)
Figure 112017087485464-pat00065
We propose a dynamic programming algorithm that can derive an optimal solution for parameter values and 2) a heuristic algorithm that can yield results in a non - optimal time.

동적 프로그래밍 알고리즘(Dynamic programming algorithm TSATSA -DP)-DP)

l은 트랜스코딩 제한 시간의 값이고, i가 비디오 세그먼트 인덱스, j가 버전 인덱스인 경우

Figure 112017087485464-pat00066
는 최대 트랜스코딩 이득 값이다(i=1, ...,
Figure 112017087485464-pat00067
, j=1, ...,
Figure 112017087485464-pat00068
, l=1, ...,
Figure 112017087485464-pat00069
).
Figure 112017087485464-pat00070
Figure 112017087485464-pat00071
(최대 트랜스코딩 이득)를 달성하기 위해 트랜스코딩 버전
Figure 112017087485464-pat00072
트랜스코딩 하는데 필요한 트랜스코딩의 원래 버전이라 하자. 예를 들어,
Figure 112017087485464-pat00073
=
Figure 112017087485464-pat00074
이면
Figure 112017087485464-pat00075
의 최대 트랜스코딩 이득을 얻기 위해 버전
Figure 112017087485464-pat00076
는 버전
Figure 112017087485464-pat00077
으로부터 트랜스코딩 되어야 한다. TSA-DP를 사용하는 트랜스코딩 선택 알고리즘은 다음과 같이 두 단계로 구성된다.l is the value of the transcoding timeout, i is the video segment index, j is the version index
Figure 112017087485464-pat00066
Is the maximum transcoding gain value (i = 1, ...,
Figure 112017087485464-pat00067
, j = 1, ...,
Figure 112017087485464-pat00068
, l = 1, ...,
Figure 112017087485464-pat00069
).
Figure 112017087485464-pat00070
To
Figure 112017087485464-pat00071
(Maximum transcoding gain), the transcoding version
Figure 112017087485464-pat00072
Let's say the original version of transcoding needed for transcoding. E.g,
Figure 112017087485464-pat00073
=
Figure 112017087485464-pat00074
If
Figure 112017087485464-pat00075
To obtain the maximum transcoding gain of &lt; RTI ID = 0.0 &gt;
Figure 112017087485464-pat00076
Version
Figure 112017087485464-pat00077
Lt; / RTI &gt; The transcoding selection algorithm using TSA-DP consists of two steps as follows.

(1) 초기화 및 점화식 설정 단계(도 3에 기술됨):

Figure 112017087485464-pat00078
Figure 112017087485464-pat00079
의 값은 모두 0으로 초기화한다. l=1, ...,
Figure 112017087485464-pat00080
, i=1, ...,
Figure 112017087485464-pat00081
각 반복에서
Figure 112017087485464-pat00082
는 모두
Figure 112017087485464-pat00083
로 초기화 되고
Figure 112017087485464-pat00084
는 그 때의 버전의 인덱스를 저장한다. 이를 기반으로 j=1, ...,
Figure 112017087485464-pat00085
반복에서
Figure 112017087485464-pat00086
의 값은
Figure 112017087485464-pat00087
로부터 갱신된다. 여기서 prev는 트랜스코딩 시간 제한의 이전 값에 대한 인덱스이다.(1) Initialization and ignition type setting step (described in FIG. 3):
Figure 112017087485464-pat00078
And
Figure 112017087485464-pat00079
Are all initialized to zero. l = 1, ...,
Figure 112017087485464-pat00080
, i = 1, ...,
Figure 112017087485464-pat00081
At each iteration
Figure 112017087485464-pat00082
All
Figure 112017087485464-pat00083
&Lt; / RTI &
Figure 112017087485464-pat00084
Stores the index of the version at that time. Based on this, j = 1, ...,
Figure 112017087485464-pat00085
In repetition
Figure 112017087485464-pat00086
The value of
Figure 112017087485464-pat00087
. Where prev is an index to the previous value of the transcoding time limit.

(2) 역추적 단계(도 4에 기술됨): 이 단계에서

Figure 112017087485464-pat00088
의 값은 역추적 기술을 사용하여 결정된다. 세그먼트 인덱스,
Figure 112017087485464-pat00089
및 트랜스코딩 시간의 인덱스에서 시작하여 최대 트랜스코딩 이득인
Figure 112017087485464-pat00090
를 유도하는
Figure 112017087485464-pat00091
의 값을 역추적하여 찾는다. 다음으로, 트랜스코딩 될 수 있는 버전 인덱스를 역추적한다.(2) Reverse tracking step (described in FIG. 4): At this stage
Figure 112017087485464-pat00088
Is determined using backtracking techniques. Segment index,
Figure 112017087485464-pat00089
And an index of the transcoding time,
Figure 112017087485464-pat00090
To induce
Figure 112017087485464-pat00091
And then backward. Next, it traces back the version index that can be transcoded.

휴리스틱 알고리즘(Heuristic Algorithm TSATSA -H)-H)

TSA-DP의 시간과 공간의 복잡성 때문에 TSA-H라 부르는 휴리스틱 알고리즘을 제안한다. 비디오 세그먼트i (i=1, ...,

Figure 112017087485464-pat00092
) 에 대한
Figure 112017087485464-pat00093
를 트랜스코딩 된 버전에 대해 가능한 모든 조합의 집합으로 설정하면,
Figure 112017087485464-pat00094
Figure 112017087485464-pat00095
개의 가능한 집합이 존재하도록 한다. 예를 들어,
Figure 112017087485464-pat00096
의 요소가 트랜스코딩 시간의 오름차순으로 정렬된다고 가정하고,
Figure 112017087485464-pat00097
가 트랜스코딩 된 최고 비트 전송률 버전이 되도록
Figure 112017087485464-pat00098
라고 하면
Figure 112017087485464-pat00099
이다. 여기서,
Figure 112017087485464-pat00100
는 변환된 버전이 없음을 의미한다.
Figure 112017087485464-pat00101
Figure 112017087485464-pat00102
에서 버전을 트랜스코딩 하는데 필요한 전체 트랜스코딩 시간이라고 가정한다.
Figure 112017087485464-pat00103
를 집합
Figure 112017087485464-pat00104
에 대한 트랜스코딩의 합이라고 하면
Figure 112017087485464-pat00105
가 된다. 휴리스틱 알고리즘(TSA-H)의 주요 개념은 다음과 같이 설명할 수 있다.Due to the complexity of time and space of TSA-DP, we propose a heuristic algorithm called TSA-H. The video segment i (i = 1, ...,
Figure 112017087485464-pat00092
) For
Figure 112017087485464-pat00093
To a set of all possible combinations for the transcoded version,
Figure 112017087485464-pat00094
on
Figure 112017087485464-pat00095
Let there be possible sets of. E.g,
Figure 112017087485464-pat00096
Assume that the elements of &lt; RTI ID = 0.0 &gt; A &lt; / RTI &gt; are aligned in ascending order of transcoding time,
Figure 112017087485464-pat00097
To be the transcoded highest bit rate version
Figure 112017087485464-pat00098
When you say
Figure 112017087485464-pat00099
to be. here,
Figure 112017087485464-pat00100
Means that there is no converted version.
Figure 112017087485464-pat00101
To
Figure 112017087485464-pat00102
Lt; RTI ID = 0.0 &gt; transcoding &lt; / RTI &gt;
Figure 112017087485464-pat00103
Set
Figure 112017087485464-pat00104
The sum of the transcoding for
Figure 112017087485464-pat00105
. The key concepts of the heuristic algorithm (TSA-H) can be explained as follows.

(1)

Figure 112017087485464-pat00106
를 수학식 5와 같이 정의한다.(One)
Figure 112017087485464-pat00106
Is defined as Equation (5).

[수학식 5]&Quot; (5) &quot;

Figure 112017087485464-pat00107
Figure 112017087485464-pat00107

A는

Figure 112017087485464-pat00108
's (i=1, ...,
Figure 112017087485464-pat00109
, k=1, ...,
Figure 112017087485464-pat00110
)의 모든 값의 배열이다.A is
Figure 112017087485464-pat00108
's (i = 1, ...,
Figure 112017087485464-pat00109
, k = 1, ...,
Figure 112017087485464-pat00110
). &Lt; / RTI &gt;

(2) 본 발명은 각 세그먼트 i에 대해

Figure 112017087485464-pat00111
의 변수를 소개하는데, 이는 세그먼트 i에 대해
Figure 112017087485464-pat00112
의 i번째 요소가 선택되었음을 의미한다. 예를 들어, 위의 예에서
Figure 112017087485464-pat00113
이면 버전
Figure 112017087485464-pat00114
가 트랜스코딩 된다.
Figure 112017087485464-pat00115
Figure 112017087485464-pat00116
으로 초기화되어 모든 버전이 트랜스코딩 되며 이는 가장 높은 트랜스코딩 계산 요구 사항 및 가장 높은 트랜스코딩 이득에 해당한다.(2) In the present invention, for each segment i
Figure 112017087485464-pat00111
For the segment i,
Figure 112017087485464-pat00112
I &lt; / RTI &gt; For example, in the example above
Figure 112017087485464-pat00113
Side version
Figure 112017087485464-pat00114
Is transcoded.
Figure 112017087485464-pat00115
The
Figure 112017087485464-pat00116
And all versions are transcoded, which corresponds to the highest transcoding computation requirements and the highest transcoding gain.

(3)

Figure 112017087485464-pat00117
의 값은 트랜스코딩 시간 제한
Figure 112017087485464-pat00118
을 만족시키기 위해 감소될 수 있다.
Figure 112017087485464-pat00119
의 분자는 트랜스코딩 이득의 감소이며, 분모는 트랜스코딩 시간의 감소이다. 이는 변환 부호화 이득의 손실을 최소화하기 위해
Figure 112017087485464-pat00120
의 가장 낮은 값, 즉 집합 A에서 가장 낮은 값을 선택해야 하므로 변환 부호화 연산 제약 조건을 만족할 수 있을 때까지
Figure 112017087485464-pat00121
의 값이 가장 낮아진다(도 5).(3)
Figure 112017087485464-pat00117
The value of &lt; RTI ID = 0.0 &gt;
Figure 112017087485464-pat00118
Lt; / RTI &gt;
Figure 112017087485464-pat00119
Of the molecule is a reduction in transcoding gain, and the denominator is a reduction in transcoding time. This minimizes the loss of transcoding gain
Figure 112017087485464-pat00120
Since the lowest value of the set A, that is, the lowest value in the set A, must be selected, so that the transformation encoding operation constraint can be satisfied
Figure 112017087485464-pat00121
(Fig. 5).

실험Experiment

본 발명은 전반적인 QoE 최대화 및 에너지 소비와 함께 본 발명의 계획의 효과를 조사하기 위해 시뮬레이션을 수행했다. 본 발명은

Figure 112017087485464-pat00122
일 때 5개의 샘플 비디오에서 (1: Spiderman, 2: The mummy, 3: Transformer, 4: War for the planet of the Apes, 5: Wonder woman) 트랜스코딩 시간을 측정했다. 이에 기반하여, 각 버전의 트랜스코딩 시간은 이 샘플 버전의 트랜스코딩 시간의 최대 값과 최소값 사이에서 무작위로 선택된다.The present invention performs simulations to investigate the effects of the inventive scheme with overall QoE maximization and energy consumption. The present invention
Figure 112017087485464-pat00122
Transcoding time was measured in 5 sample videos (1: Spiderman, 2: The mummy, 3: Transformer, 4: War for the planet of the Apes, 5: Wonder woman) Based on this, the transcoding time of each version is randomly selected between the maximum and minimum values of the transcoding time of this sample version.

SSIM 툴을 사용하여 다섯 가지 샘플 비디오의 각 버전에 대해 초당 비디오 품질 인덱스를 프로파일하고, 버전

Figure 112017087485464-pat00123
의 SSIM 값인
Figure 112017087485464-pat00124
를 이 샘플 클립에서 버전 j에서 무작위로 선택한다. 그러나, 사용자 인지 품질인QoE를 (
Figure 112017087485464-pat00125
) 표현하기 위해서,
Figure 112017087485464-pat00126
값은 도 6에 정리된1(나쁨) 과 5(우수) 사이의 평균 의견 점수(MOS: mean opinion score)로 변환된다. 트랜스코딩 소모 전력
Figure 112017087485464-pat00127
은 93W로 설정된다. 본 발명의 알고리즘과 모든 비트율 버전을 트랜스코딩하는 방식의 알고리즘인 TSA-ALL을 비교했다.Use the SSIM tool to profile the video quality index per second for each version of the five sample videos,
Figure 112017087485464-pat00123
SSIM value of
Figure 112017087485464-pat00124
Is randomly selected in version j in this sample clip. However, QoE, which is user perceived quality,
Figure 112017087485464-pat00125
To express it,
Figure 112017087485464-pat00126
The value is converted to a mean opinion score (MOS) between 1 (bad) and 5 (excellent) set forth in FIG. Transcoding Power Consumption
Figure 112017087485464-pat00127
Is set to 93W. We compared the algorithm of the present invention with TSA-ALL, an algorithm for transcoding all bit-rate versions.

스트리밍 세션에서 각 비디오 세그먼트의 길이는 8초로 설정되고 각 세그먼트의 액세스 확률은 Zipf분포를 따르며, 여기서

Figure 112017087485464-pat00128
는 실제 VoD 애플리케이션에서 입증된 대로 0.271로 설정된다. 다양한 버전을 표현하기 위해 다음 워크로드가 고려된다.In a streaming session, the length of each video segment is set to 8 seconds and the access probability of each segment follows a Zipf distribution, where
Figure 112017087485464-pat00128
Is set to 0.271 as verified in actual VoD applications. The following workloads are considered to represent the various versions.

- HVP: 높은 비트율의 버전이 인기가 많은 경우,

Figure 112017087485464-pat00129
- HVP: If a version with a high bit rate is popular,
Figure 112017087485464-pat00129

- MVP: 중간 비트율의 버전이 인기가 많은 경우,

Figure 112017087485464-pat00130
- MVP: If the version with medium bit rate is popular,
Figure 112017087485464-pat00130

- LVP: 낮은 비트율의 버전이 인기가 많은 경우,

Figure 112017087485464-pat00131
- LVP: If the low bit rate version is popular,
Figure 112017087485464-pat00131

- RVP: 버전 인기도가 임의로 선택된다.- RVP: The version popularity is arbitrarily selected.

A. TSA-DP(동적 프로그래밍 알고리즘)와 TSA-H(휴리스틱 알고리즘)의 비교A. Comparison of TSA-DP (Dynamic Programming Algorithm) and TSA-H (Heuristic Algorithm)

본 발명은 처음에 TSA-DP와 비교한 TSA-H의 효능을 평가했다. 도 7은 상대적으로 두 알고리즘의 MOS 값의 결과를 요약한 것이다. TSA-H가 TSA-DP에 의해 얻어진 최적의 MOS보다 최대 1.4% 적은 MOS를 나타내므로 TSA-H는 거의 최적의 해를 제공한다는 것을 보여준다. TSA-DP는 시간과 공간의 복잡성으로 인해 대규모 트랜스코딩 시스템에서 사용되기 어려우므로 TSA-H 알고리즘이 실제 실행 가능한 솔루션이다.The present invention initially evaluated the efficacy of TSA-H compared to TSA-DP. Figure 7 summarizes the results of the MOS values of the two algorithms relatively. TSA-H shows a MOS of up to 1.4% less than the optimal MOS obtained by TSA-DP, thus showing that TSA-H provides a nearly optimal solution. Because TSA-DP is difficult to use in large-scale transcoding systems due to time and space complexity, the TSA-H algorithm is a viable solution.

B. 에너지 예산 대비 QoE 값B. QoE value relative to energy budget

도 8에 요약된 바와 같이

Figure 112017087485464-pat00132
= 10000 및 λ = 2 /s 일 때 스트리밍 세션에서 고객에게 전달 된 전체 QoE를 프로파일링 하여 다음과 같은 결과를 얻었다.As summarized in Figure 8
Figure 112017087485464-pat00132
= 10000 and λ = 2 / s, the following results were obtained by profiling the entire QoE delivered to the customer in the streaming session.

(1) TSA-ALL은 TSA- H보다 QoE측면에서 항상 더 나은 성능을 나타내지만, QoE의 차이는 0.013과 0.16사이에서 매우 작으며, TSA- H는 TSA-ALL 보다 최대 3.9%의 QoE 저하를 허용한다.(1) TSA-ALL always shows better performance in terms of QoE than TSA-H, but the difference in QoE is very small between 0.013 and 0.16, and TSA-H has a QoE reduction of up to 3.9% Allow.

(2) TSA-H는 에너지 한도 값인

Figure 112017087485464-pat00133
의 값에 따라 TSA-ALL보다 36 ~ 66% 적은 에너지를 사용한다.(2) TSA-H is the energy limit value
Figure 112017087485464-pat00133
36 to 66% less energy than TSA-ALL.

(3) 도 9는 TSA-ALL과 비교한 Wh당 평균 MOS값을 보여준다. TSA-H는 적은 QoE 저하로, 에너지 소비를 효과적으로 제한할 수 있다.(3) Figure 9 shows the average MOS value per Wh compared to TSA-ALL. TSA-H can effectively limit energy consumption with low QoE degradation.

이처럼 본 발명의 실시예들에 따르면, 트랜스코딩 시스템에서 높은 에너지 소비를 제한하는 새로운 방법을 제안한다. 본 발명에서는 QoE 및 버전 인기를 표현하기 위해 트랜스코딩 이득의 개념을 소개하고 에너지 한도에 따라 전체 QoE를 최대화하는 것을 목표로 하는 최적화 문제를 공식화 한다. 알고리즘 복잡성과 QoE 최대화 간의 트레이드오프를 해결하기 위해 동적 프로그래밍과 휴리스틱에 기반한 두 가지 알고리즘을 제안한다. 시뮬레이션 결과에 따르면 제안 기법은 모든 가능한 버전을 트랜스코딩 하는 기법보다 36%에서 66%의 적은 에너지를 사용하나, QoE 저하는 0.3%에서 3.6%으로 미미하다. 이는 적은 비용의 QoE 저하로 에너지 소모량을 크게 줄일 수 있음을 보여준다.Thus, according to embodiments of the present invention, a new method of limiting high energy consumption in a transcoding system is proposed. The present invention introduces the concept of transcoding gain to express QoE and version popularity and formulates an optimization problem that aims to maximize the overall QoE according to the energy limit. To solve the trade-off between algorithm complexity and QoE maximization, we propose two algorithms based on dynamic programming and heuristics. The simulation results show that the proposed scheme uses 36% to 66% less energy than the transcoding of all possible versions, but the QoE degradation is negligible from 0.3% to 3.6%. This shows that energy consumption can be greatly reduced by lower cost QoE degradation.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components. For example, the apparatus and components described in the embodiments may be implemented as a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit, a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications running on the operating system. The processing device may also access, store, manipulate, process, and generate data in response to execution of the software. For ease of understanding, the processing apparatus may be described as being used singly, but those skilled in the art will recognize that the processing apparatus may have a plurality of processing elements and / As shown in FIG. For example, the processing unit may comprise a plurality of processors or one processor and one controller. Other processing configurations are also possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be embodied in any type of machine, component, physical device, computer storage media, or device for interpretation by a processing device or to provide instructions or data to the processing device have. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. At this time, the medium may be a program that continuously stores a computer executable program, or temporarily stores the program for execution or downloading. Further, the medium may be a variety of recording means or storage means in the form of a combination of a single hardware or a plurality of hardware, but is not limited to a medium directly connected to any computer system, but may be dispersed on a network. Examples of the medium include a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floptical disk, And program instructions including ROM, RAM, flash memory, and the like. As another example of the medium, a recording medium or a storage medium that is managed by a site or a server that supplies or distributes an application store or various other software is also enumerated.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI &gt; or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (10)

비디오의 세그먼트를 트랜스코딩 하여 트랜스코딩 된 세그먼트를 클라이언트로 스트리밍 하는 방법에 있어서,
상기 세그먼트의 QoE(Quality of Experience)를 나타내는 트랜스코딩 이득(transcoding gain)을 고려하여 트랜스코딩 되는 버전을 결정하는 단계; 및
상기 결정된 버전으로 트랜스코딩 된 세그먼트를 상기 클라이언트로 스트리밍 하는 단계
를 포함하고,
상기 결정하는 단계는,
전체 세그먼트의 수와 트랜스코딩 된 버전의 수 및 트랜스코딩에 할당된 전체 CPU 시간을 매개 변수로 한 동적 프로그래밍 알고리즘을 통해 트랜스코딩 버전을 결정하되,
최대 트랜스코딩 이득과 트랜스코딩 된 버전을 초기화 하고 세그먼트 인덱스와 전체 세그먼트의 수 및 트랜스코딩 시간의 인덱스에서 시작하여 최대 트랜스코딩 이득을 유도하는 버전을 역추적하는 방식으로 트랜스코딩 버전을 결정하는 것
을 특징으로 하는 방법.
A method of transcoding a segment of video to stream a transcoded segment to a client,
Determining a version to be transcoded in consideration of a transcoding gain indicating a quality of experience (QoE) of the segment; And
Streaming the transcoded segment to the determined version to the client
Lt; / RTI &gt;
Wherein the determining comprises:
A transcoding version is determined through a dynamic programming algorithm with parameters as the number of total segments, the number of transcoded versions, and the total CPU time allocated to transcoding,
Determining the transcoding version in such a way that it initializes the maximum transcoding gain and transcoded version and traces back the version leading to the maximum transcoding gain starting from the index of the segment and the total number of segments and the index of the transcoding time
&Lt; / RTI &gt;
제1항에 있어서,
상기 결정하는 단계는,
트랜스코딩 세션 동안 트랜스코딩에 할당된 전체 CPU 시간에 의한 총 트랜스코딩 시간을 제한하고 스트리밍 세션 동안 전체 트랜스코딩 이득을 최대화 하는 버전을 찾는 것
을 특징으로 하는 방법.
The method according to claim 1,
Wherein the determining comprises:
To find a version that limits the total transcoding time due to the total CPU time allocated to the transcoding during the transcoding session and maximizes the overall transcoding gain during the streaming session
&Lt; / RTI &gt;
삭제delete 삭제delete 제1항에 있어서,
상기 결정하는 단계는,
트랜스코딩 된 버전에 대해 휴리스틱 알고리즘을 통해 트랜스코딩 이득의 감소가 가장 낮은 트랜스코딩 버전을 결정하는 것
을 특징으로 하는 방법.
The method according to claim 1,
Wherein the determining comprises:
Determining the lowest transcoding version with a reduction in transcoding gain through a heuristic algorithm for the transcoded version
&Lt; / RTI &gt;
제5항에 있어서,
상기 결정하는 단계는,
전체 세그먼트를 트랜스코딩 된 버전에 대해 가능한 조합의 집합으로 설정하여 상기 집합에서 트랜스코딩 이득의 감소가 가장 낮은 트랜스코딩 버전을 결정하는 것
을 특징으로 하는 방법.
6. The method of claim 5,
Wherein the determining comprises:
The entire segment is set to a set of possible combinations for the transcoded version to determine the lowest transcoded version with the lowest reduction in transcoding gain in the set
&Lt; / RTI &gt;
컴퓨터로 구현되는 스트리밍 서버에 있어서,
컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
비디오의 세그먼트를 트랜스코딩 하여 트랜스코딩 된 세그먼트를 클라이언트로 스트리밍 하는 것으로,
상기 세그먼트의 QoE(Quality of Experience)를 나타내는 트랜스코딩 이득(transcoding gain)을 고려하여 트랜스코딩 되는 버전을 결정하는 과정; 및
상기 결정된 버전으로 트랜스코딩 된 세그먼트를 상기 클라이언트로 스트리밍 하는 과정
을 처리하고,
상기 결정하는 과정은,
전체 세그먼트의 수와 트랜스코딩 된 버전의 수 및 트랜스코딩에 할당된 전체 CPU 시간을 매개 변수로 한 동적 프로그래밍 알고리즘을 통해 트랜스코딩 버전을 결정하되,
최대 트랜스코딩 이득과 트랜스코딩 된 버전을 초기화 하고 세그먼트 인덱스와 전체 세그먼트의 수 및 트랜스코딩 시간의 인덱스에서 시작하여 최대 트랜스코딩 이득을 유도하는 버전을 역추적하는 방식으로 트랜스코딩 버전을 결정하는 것
을 특징으로 하는 스트리밍 서버.
In a computer-implemented streaming server,
At least one processor configured to execute computer readable instructions,
Lt; / RTI &gt;
Wherein the at least one processor comprises:
By transcoding a segment of video and streaming the transcoded segment to a client,
Determining a version to be transcoded in consideration of a transcoding gain indicating a quality of experience (QoE) of the segment; And
Streaming the transcoded segments to the determined version to the client
Lt; / RTI &gt;
Wherein the determining comprises:
A transcoding version is determined through a dynamic programming algorithm with parameters as the number of total segments, the number of transcoded versions, and the total CPU time allocated to transcoding,
Determining the transcoding version in such a way that it initializes the maximum transcoding gain and transcoded version and traces back the version leading to the maximum transcoding gain starting from the index of the segment and the total number of segments and the index of the transcoding time
And a streaming server.
제7항에 있어서,
상기 결정하는 과정은,
트랜스코딩 세션 동안 트랜스코딩에 할당된 전체 CPU 시간에 의한 총 트랜스코딩 시간을 제한하고 스트리밍 세션 동안 전체 트랜스코딩 이득을 최대화 하는 버전을 찾는 것
을 특징으로 하는 스트리밍 서버.
8. The method of claim 7,
Wherein the determining comprises:
To find a version that limits the total transcoding time due to the total CPU time allocated to the transcoding during the transcoding session and maximizes the overall transcoding gain during the streaming session
And a streaming server.
삭제delete 제7항에 있어서,
상기 결정하는 과정은,
전체 세그먼트를 트랜스코딩 된 버전에 대해 가능한 조합의 집합으로 설정하여 상기 집합에서 트랜스코딩 이득의 감소가 가장 낮은 트랜스코딩 버전을 결정하는 것
을 특징으로 하는 스트리밍 서버.
8. The method of claim 7,
Wherein the determining comprises:
The entire segment is set to a set of possible combinations for the transcoded version to determine the lowest transcoded version with the lowest reduction in transcoding gain in the set
And a streaming server.
KR1020170115235A 2017-09-08 2017-09-08 Quality of exprerience maximization scheme to limit transcoding power consumption KR101871116B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170115235A KR101871116B1 (en) 2017-09-08 2017-09-08 Quality of exprerience maximization scheme to limit transcoding power consumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170115235A KR101871116B1 (en) 2017-09-08 2017-09-08 Quality of exprerience maximization scheme to limit transcoding power consumption

Publications (1)

Publication Number Publication Date
KR101871116B1 true KR101871116B1 (en) 2018-06-25

Family

ID=62805903

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170115235A KR101871116B1 (en) 2017-09-08 2017-09-08 Quality of exprerience maximization scheme to limit transcoding power consumption

Country Status (1)

Country Link
KR (1) KR101871116B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102157379B1 (en) * 2019-03-26 2020-09-17 인하대학교 산학협력단 Online/offline Workload Distribution Method for Transcoding in DASH servers
KR102438747B1 (en) * 2021-03-31 2022-08-31 인하대학교 산학협력단 Method and apparatus for allocating quality-aware transcoding task under limited power in live-streaming systems
KR20230076325A (en) * 2021-11-24 2023-05-31 인하대학교 산학협력단 Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120105970A (en) * 2011-03-17 2012-09-26 에스케이플래닛 주식회사 Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server
KR101411411B1 (en) * 2013-02-26 2014-06-25 인하대학교 산학협력단 Media player and method for supervising energy of media player
KR101468357B1 (en) * 2014-02-17 2014-12-03 인하대학교 산학협력단 Method for CPU power management in video transcoding servers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120105970A (en) * 2011-03-17 2012-09-26 에스케이플래닛 주식회사 Video transcoding method and its system for maximizing transcoding capacity by considering network condition, content characteristics, and computational capacity of transcoding server
KR101411411B1 (en) * 2013-02-26 2014-06-25 인하대학교 산학협력단 Media player and method for supervising energy of media player
KR101468357B1 (en) * 2014-02-17 2014-12-03 인하대학교 산학협력단 Method for CPU power management in video transcoding servers

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
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.) *
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부. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102157379B1 (en) * 2019-03-26 2020-09-17 인하대학교 산학협력단 Online/offline Workload Distribution Method for Transcoding in DASH servers
KR102438747B1 (en) * 2021-03-31 2022-08-31 인하대학교 산학협력단 Method and apparatus for allocating quality-aware transcoding task under limited power in live-streaming systems
KR20230076325A (en) * 2021-11-24 2023-05-31 인하대학교 산학협력단 Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment
KR102541455B1 (en) 2021-11-24 2023-06-13 인하대학교 산학협력단 Transcoding task allocation Method and System for Cost-Optimization Considering Live Video Streaming Quality in Edge-Computing Environment

Similar Documents

Publication Publication Date Title
Dasari et al. Impact of device performance on mobile internet qoe
KR101871116B1 (en) Quality of exprerience maximization scheme to limit transcoding power consumption
WO2018090774A1 (en) Method and system for bit rate control and version selection for dynamic adaptive video streaming media
CN110069342B (en) Method for deploying fusion video live broadcast channel in mobile cloud computing environment
Zhang et al. Federated learning with adaptive communication compression under dynamic bandwidth and unreliable networks
Erfanian et al. LwTE: Light-weight transcoding at the edge
Pang et al. Optimizing personalized interaction experience in crowd-interactive livecast: A cloud-edge approach
WO2023185175A1 (en) Video processing method and apparatus
Hou et al. Eavs: Edge-assisted adaptive video streaming with fine-grained serverless pipelines
Xu et al. Federated fine-tuning of billion-sized language models across mobile devices
Gao et al. Cost optimal video transcoding in media cloud: Insights from user viewing pattern
EP2552075A2 (en) Systems and methods of distributed file storage
Madarasingha et al. OpCASH: Optimized utilization of MEC cache for 360-degree video streaming with dynamic tiling
US20140358996A1 (en) Distributed encoding and decoding system, method, and device
Sarkar et al. L3bou: Low latency, low bandwidth, optimized super-resolution backhaul for 360-degree video streaming
Erfanian et al. Cd-lwte: Cost-and delay-aware light-weight transcoding at the edge
US10394809B1 (en) Incremental variance and/or standard deviation calculation for big data or streamed data using components
Yang et al. Training deep learning recommendation model with quantized collective communications
Liu et al. QoE-oriented adaptive video streaming with edge-client collaborative super-resolution
Sucu et al. Ace: A resource-aware adaptive compression environment
Lee et al. Quality-oriented task allocation and scheduling in transcoding servers with heterogeneous processors
Gharsallaoui et al. A novel adaptive streaming approach for cloud-based mobile video games
US10191941B1 (en) Iterative skewness calculation for streamed data using components
US10320685B1 (en) Iterative autocorrelation calculation for streamed data using components
US10235414B1 (en) Iterative kurtosis calculation for streamed data using components

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant