KR102592036B1 - 사용자 중심 컨텐츠 스트리밍을 위한 방법 및 시스템 - Google Patents

사용자 중심 컨텐츠 스트리밍을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR102592036B1
KR102592036B1 KR1020217027176A KR20217027176A KR102592036B1 KR 102592036 B1 KR102592036 B1 KR 102592036B1 KR 1020217027176 A KR1020217027176 A KR 1020217027176A KR 20217027176 A KR20217027176 A KR 20217027176A KR 102592036 B1 KR102592036 B1 KR 102592036B1
Authority
KR
South Korea
Prior art keywords
model
network
streaming
predictive
present disclosure
Prior art date
Application number
KR1020217027176A
Other languages
English (en)
Other versions
KR20210121148A (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 삼성전자 주식회사
Publication of KR20210121148A publication Critical patent/KR20210121148A/ko
Application granted granted Critical
Publication of KR102592036B1 publication Critical patent/KR102592036B1/ko

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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4424Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4524Management of client data or end-user data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Computational Linguistics (AREA)

Abstract

본 개시는 사용자 장치(UE) 및 예측 분석 모듈이 제공되는 네트워킹 노드를 포함하는 네트워킹 환경에서 멀티미디어 컨텐츠 스트리밍 측면에서 QoE(quality-of-experience)를 촉진하기 위한 애플리케이션을 선택적으로 배치하는 방법 및 시스템에 관하여 개시한다. 본 개시는, UE에 대한 예측 분석 모듈의 버전, UE 내의 현재 프로세서 점유, UE 내의 전력 레벨, 액세스 네트워크에 관한 네트워크 상태들 등 중 적어도 하나로부터 UE에 관한 파라미터들을 캡처하는 동작, 캡처된 파라미터들 중 하나 이상과 관찰된 네트워크 상태들이 분석하는 동작, 상기 분석에 기초하여, UE에서의 멀티미디어 컨텐츠의 맞춤형 스트리밍을 가능하게 하기 위해 UE의 예측 분석 모델과 네트워킹 노드의 예측 분석 모델 사이에서 선택하기 위한 추론하는 동작을 포함할 수 있다.

Description

사용자 중심 컨텐츠 스트리밍을 위한 방법 및 시스템
본 개시는 컴퓨팅 장치 기반 통신 시스템에 관한 것으로, 예를 들면, 멀티미디어 데이터 기반 스트리밍 메커니즘에 관한 것이다.
ABR(Adaptive Bit Rate) 스트리밍을 통한 멀티미디어 데이터 스트리밍의 일부로 알려진 바와 같이, 컨텐츠 제공 업체는 다양한 해상도/품질로 단일 비디오를 제공한다. 각 비디오는 균일한 듀레이션(예를 들면, 5 초)의 작은 청크(chunk)들로 더 분할되어 컨텐츠 제공 업체의 서버에 저장된다. 클라이언트 측의 비디오 플레이어는 장치에서 사용 가능한 네트워크 대역폭을 평가하여, 적절한 비디오 품질을 다운로드하고 비디오를 렌더링(rendering)한다.
현재의 최신 적응형 상용 스트리밍 알고리즘(adaptive commercial streaming algorithms)은 규칙 기반이며 적어도 최적의 비디오 품질 즉, 모든 네트워크 상태들에서 재버퍼링을 최소화 및/또는 감소(minimizing and/or reducing)하면서 비디오 품질을 최대화 및/또는 개선(maximizing and/or improving)하고 비디오 재생을 더욱 원활하게 하는 것을 제공하지 못한다. 예를 들어, 기본 알고리즘(underlying algorithms)은 적어도 사용자 중심 비디오 스트리밍 경험(user oriented video streaming experience)을 제공하지 않는다. 또한, 기존의 접근 방식은 예측을 위해 서버를 사용하는 것으로 알려져 있으며, 이것은 지연 시간을 추가하고 낮은 네트워크 상태 하에서는 비디오 스트리밍 상태가 더 나빠질 수 있다.
예를 들어, 사무실 직원은 매일 사무실로 출퇴근한다. 그가 네트워크 상태가 없거나 낮은 지역(예: 터널, 언덕 또는 연결 상태가 좋지 않은 지역)을 통과하는 경우, 표준 규칙 기반 ABR 알고리즘은 이러한 네트워크 상태의 급격한 하락을 처리할 수 없는 것으로 알려져 있으며 안정적인 네트워크 지역에 다시 들어갈 때까지 버퍼링이 발생한다. 이제 이 단계에서는, 머신 러닝(ML, machine learning) 학습 모델조차도 기껏해야 현재 입력 파라미터들을 고려하여 이상적인 일반적인 결정을 내릴 것으로 예상되므로 이러한 예상치 못한 상황을 처리하지 못할 수 있다.
선행 기술은 강화된 학습(reinforced learning)에 기초한 적응형 코드 레이트 비디오 전송(adaptive-code rate video transmission)을 개시한다. 동일한 방법이 ML 기반 모델 실행에 적합하지만, 이 방법은 모든 네트워크 상태에서 유의미한 성능을 보여주기 위해 많은 양의 데이터 세트가 필요하다. 전세계의 네트워크 상태는 매우 다양하며 전세계 모든 지역에서 데이터를 수집하는 것은 불가능한 것일 수 있다. 종래 기술은 다양한 입력 공간을 고려하지 못하고 사용자를 위한 개인화 경험을 추가하지 못한다.
또 다른 선행 기술은 더 나은 스트리밍 경험을 사용자에게 제공하기 위해 미디어 컨텐츠의 매니페스트(manifest) 수정을 논의한다. 그러나, 종래 기술은 로직을 포함하기 위해 컨텐츠를 호스팅하는 서버에 크게 의존하므로 서버 측에만 배치될 수 있다.
따라서, 더 적은 트레이닝 데이터(training data)와 트레이닝 시간(training time)을 사용하여 높은 비디오 스트리밍 성능을 달성하기 위한 필요성이 있다.
또한, QoE(quality of experience)를 손상시키지 않으면서 클라이언트 장치에서 맞춤형 멀티미디어 데이터 스트리밍의 실행이 가능하도록 달성할 필요가 있다.
이 요약은 본 개시의 상세한 설명에서 더 설명되는 단순화된 형식으로 개념의 선택을 소개하기 위해 제공된다. 이 요약은 청구된 주제의 핵심 또는 본질적인 발명 개념을 식별하기 위한 것이 아니며 청구된 주제의 범위를 결정하기 위한 것도 아니다.
본 개시는 사용자 장치(UE, user-equipment) 및 예측 분석 모듈(predictive-analysis module)이 제공되는 네트워킹 노드를 포함하는 네트워킹 환경에서 멀티미디어 컨텐츠 스트리밍 측면에서 QoE(quality-of-experience)를 촉진하기 위한 애플리케이션을 선택적으로 배치하는 방법 및 시스템에 관하여 개시한다. 예를 들어, 본 개시의 예시적인 방법은, UE에 대한 예측 분석 모듈의 버전(version), UE 내의 현재 프로세서 점유(occupancy), UE 내의 전력 레벨(power level), 액세스 네트워크(access-network)에 관한 네트워크 상태들(network conditions) 등 중 적어도 하나로부터, UE에 관한 파라미터들을 캡처하는 것을 포함한다. 그 후, 캡처된 파라미터들 및 관찰된 네트워크 상태들 중 하나 이상이 분석된다. 상기 분석에 기초하여, UE와 네트워킹 노드 사이에서 예측 분석 모델을 선택하기 위한 추론이 도출되고, 이에 의해 UE에서 멀티미디어 컨텐츠의 맞춤형 스트리밍을 가능하도록 할 수 있다.
일 실시예에서, 본 개시는 사용자 장치(UE, user-equipment)에 대한 사용자-특정 데이터 스트리밍 메커니즘(user-specific data-streaming mechanism)을 생성하는 네트워킹 환경에서의 방법에 관하여 개시한다. 이 방법은 합성 네트워크 트레이스들(synthetic-network traces) 및 적어도 하나의 표준 ABR(adaptive bitrate) 로직에 기초하여 컨텐츠 재생을 시뮬레이션하는 동작, 라벨링된 데이터(labelled data)의 로그(log)를 생성하기 위해 상기 시뮬레이션된 컨텐츠 재생과 관련된 복수의 입력 및 출력 상태들을 로깅(logging)하는 동작, 상기 라벨링된 데이터의 로그를 사용하는 제1 머신 러닝(ML, machine learning) 기반 기준을 통한 트레이닝(training)에 기초하여, 적어도 제1 타입의 모델을 생성하는 동작; 적어도 실제 네트워크 트레이스들 및 제1 모델에 따라 선택된 하나 이상의 비트 레이트에 기초하여, 컨텐츠 재생을 재시뮬레이션하는 동작, 및 실제 네트워크 트레이스들의 관점에서 컨텐츠 재생 재시뮬레이션(re-simulating) 결과 분석에 기반하는 강화(reinforcement) ML 기준을 통해 제1 모델을 트레이닝하여 제2 모델을 생성하는 동작을 포함한다.
본 개시는 더 적은 트레이닝 데이터와 트레이닝 시간을 사용하여 높은 비디오 스트리밍 성능을 달성하기 위해 슈퍼바이즈드 러닝(supervised-learning)과 강화 러닝(reinforcement learning)의 조합을 사용하여 맞춤형 ABR 애플리케이션을 생성하는 기술을 렌더링한다. 이러한 트레이닝된 모델은 온 디바이스(on device), 서버, 모바일 에지 컴퓨팅(MEC, mobile edge computing) 기반 서버 또는 이들의 모든 조합에 배치될 수 있다. 사용자 장치의 미디어 플레이어는 실질적으로 원활하고 중단없는 비디오 스트리밍 경험을 제공한다.
또한, 본 개시는 스마트 전략을 사용하는 맞춤형 ABR 애플리케이션의 하이브리드 배치(hybrid deployment)로부터 적절한 모델 선택을 통해 최적의 리소스 사용, 안정성 및 향상된 정확도를 보장한다. 또한, 온 디바이스 모델은 시간이 지남에 따라 사용자 네트워크 패턴을 학습하여 사용자 중심의 비디오 스트리밍 경험을 제공할 수 있다. 또한, 로컬 사용자 트래픽, 사용자 데이터 및 네트워크 상태들을 사용한 MEC에서의 트레이닝 및 배치는 예측 정확도를 크게 향상시킨다.
본 개시의 장점 및 특징을 더욱 명확히 하기 위해, 본 개시의 보다 구체적인 설명은 첨부된 도면들에 도시된 특정 실시예들을 참조하여 아래에서 설명될 것이다. 본 개시의 설명 및 도면은 본 개시의 다양한 예시적인 실시예들을 설명하며, 따라서 그 범위를 제한하는 것으로 간주되어서는 안된다는 것이 이해된다. 본 개시는 첨부된 도면들과 함께 추가로 구체적이고 상세하게 기재 및 설명될 것이다.
본 개시에 따른 시스템 및 그 방법에 따르면, 사용자 장치(UE) 및 예측 분석 모듈이 제공되는 네트워킹 노드를 포함하는 네트워킹 환경에서 멀티미디어 컨텐츠 스트리밍 측면에서 QoE(quality-of-experience)를 촉진하기 위한 애플리케이션을 선택적으로 배치하는 것이 가능하다. 본 개시에 따르면, 시스템 및 그 방법은 사용자들에게 최적의 비디오 품질을 제공할 수 있다. 예를 들어, 다양한 네트워크 상태들에서 재버퍼링을 최소화/감소(minimizing/reducing)하면서 비디오 품질의 원활함을 제공하고 비디오 품질을 최대화/개선(maximize/improve)할 수 있다. 또한, 사용자들에게 개인화된 비디오 스트리밍 경험을 제공할 수 있다.
본 개시의 이들 및 다른 특징, 양태 및 이점은 유사한 문자가 도면 전체에 걸쳐 유사한 부분을 나타내는 첨부 도면을 참조하여 다음의 상세한 설명을 읽을 때 더 잘 이해될 것이다.
도 1은 본 개시의 실시예에 따른 예시적인 방법을 도시한 흐름도이다.
도 2는 본 개시의 실시예에 따른 예시적인 시스템을 도시하는 블록도이다.
도 3은 본 개시의 실시예에 따른 예시적인 방법을 도시한 흐름도이다.
도 4는 본 개시의 실시예에 따른 예시적인 시스템을 도시하는 블록도이다.
도 5는 본 개시의 실시예에 따른, 도 1의 예시적인 방법에 따른 예시적인 네트워킹 환경을 도시한 도면이다.
도 6은 본 개시의 실시예에 따른, 도 1의 예시적인 방법을 예시하는 흐름도이다.
도 7은 본 개시의 실시예에 따른, 도 1의 예시적인 방법을 예시하는 흐름도이다.
도 8은 본 개시의 실시예에 따른, 도 3의 예시적인 방법을 예시하는 흐름도이다.
도 9는 본 개시의 실시예에 따른, 도 3의 예시적인 방법을 예시하는 도면이다.
도 10은 본 개시의 실시예에 따른, 도 2 및 도 4에 도시된 시스템의 예시적인 컴퓨팅 디바이스 기반 구현을 예시하는 도면이다.
또한, 숙련된 기술자는 도면의 요소가 단순화를 위해 예시되고 반드시 축척에 맞게 도시되지 않았을 수 있음을 인식할 것이다. 예를 들어, 흐름도는 본 개시의 양태들의 이해를 향상시키는 것을 돕기 위해 관련된 가장 두드러진 동작들의 관점에서 방법을 도시한 것이다. 또한, 장치의 구성과 관련하여, 장치의 하나 이상의 구성 요소가 도면에 종래의 기호로 표현되었을 수 있으며, 본 명세서의 설명의 이점을 갖는 당업자에게 용이하게 명백할 세부 사항으로 도면을 모호하게 하지 않도록 하기 위해, 도면은 본 개시의 실시예들을 이해하는데 적합한 특정 세부 사항만을 보여줄 수 있다.
본 개시의 원리에 대한 이해를 촉진하기 위해, 도면에 예시된 실시예를 참조하고 이를 설명하기 위해 특정 언어를 사용할 것이다. 그럼에도 불구하고, 본 개시의 범위의 어떠한 제한도 의도되지 않으며, 예시 된 시스템에서의 그러한 변경 및 추가 수정, 및 그 안에 예시된 본 개시의 원리의 그러한 추가 응용은 본 개시와 관련된 당업자에게 통상적으로 발생하는 것으로 고려된다.
전술한 일반적인 설명 및 다음의 상세한 설명은 본 개시를 예시하기 위한 것이지 제한하려는 의도가 아님을 당업자는 이해할 것이다.
본 명세서 전반에 걸쳐 "일 양태", "다른 양태" 또는 유사한 언어에 대한 언급은 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 개시의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 "일 실시예에서", "다른 실시예에서" 및 유사한 언어의 출현은 모두 동일한 실시예를 지칭할 수 있지만 반드시 그런 것은 아니다.
용어 "포함하다", "포함하는" 또는 이들의 임의의 다른 변형은 동작들의 목록을 포함하는 프로세스 또는 방법이 해당 동작들만 포함하지 않고 이러한 프로세스 또는 방법에 명시적으로 나열되거나 고유하지 않은 다른 동작들을 포함할 수 있도록 비배타적 포함을 커버하는 것으로 의도된다. 유사하게, "...a로 구성된다"에 의해 진행되는 하나 이상의 장치 또는 서브 시스템 또는 요소 또는 구조 또는 구성 요소는 더 많은 제약 없이, 다른 장치 또는 다른 서브 시스템 또는 다른 요소 또는 다른 구조 또는 다른 구성 요소 또는 추가 장치 또는 추가 서브 시스템 또는 추가 요소 또는 추가 구조 또는 추가 구성 요소의 존재를 배제하지 않는다.
달리 정의되지 않는 한, 본 명세서에서 사용되는 기술적(technical) 및 과학적(scientific) 용어는 본 개시가 속하는 기술 분야의 통상의 기술자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 여기에 제공된 시스템, 방법 및 예는 단지 예시일뿐이며 제한하려는 의도가 아니다.
이하, 첨부된 도면을 참조하여 본 개시의 실시예들을 상세히 설명한다.
도 1은 본 개시에 따른 사용자 장치(UE, user-equipment) 및 예측 분석 모듈(predictive analysis module)이 제공되는 네트워킹 노드를 포함하는 네트워킹 환경에서 멀티미디어 컨텐츠 스트리밍의 관점에서 QoE(quality-of-experience)를 촉진하기 위한 애플리케이션을 선택적으로 배치하는 예시적인 방법을 도시하는 흐름도이다. 상기 방법은, 예를 들면, UE에 대한 예측 분석 모듈의 버전, UE 내의 현재 프로세서 점유, UE 내의 전력 레벨 중 적어도 하나로부터 UE에 관한 파라미터들을 캡처하는 동작(동작 102)을 포함한다. UE에 관한 상기 파라미터들을 캡처하는 것은 UE의 현재 미디어 버퍼 레벨(media buffer level)을 캡처하는 것을 더 포함한다.
또한, 상기 방법은 UE에 의해 액세스되어 있는 액세스 네트워크에 관한 하나 이상의 네트워크 상태(network conditions)를 관찰하는 동작(동작 104)을 포함한다. 액세스 네트워크에 관한 네트워크 상태들을 관찰하는 것은, 예를 들면, 데이터 세그먼트(data-segment) 다운로드 시간, UE와 서버 간의 라운드트립 시간(roundtrip-time), 및 액세스 네트워크에 대한 이력 처리량(historical throughput) 중 하나 이상을 추출하는 것을 포함할 수 있다.
또한, 상기 방법은 캡처된 파라미터들 및 관찰된 네트워크 상태들 중 하나 이상을 분석하는 동작(동작 106)을 포함한다. 그 후, 상기 방법은 UE에서의 멀티미디어 컨텐츠의 맞춤형 스트리밍을 가능하게 하기 위해, 상기 분석에 기초하여, UE의 예측 분석 모델과 네트워킹 노드의 예측 분석 모델 사이에서 선택하도록 추론하는 동작(동작 108)을 포함한다. 일 예에서, 예측 분석 모델을 선택하도록 추론하는 것은 실행을 위해 UE 또는 네트워킹 노드에서 머신 러닝(ML, machine-learning) 기반 트레이닝 모델 사이의 선택을 포함한다. 이러한 ML 기반 트레이닝 모델은, 예를 들면, 여러 타입의 ML 메커니즘들의 실행을 통해 사용 가능한 적응형 비트 레이트 기술 알고리즘(adaptive bit-rate technique algorithm)을 커스터마이제이션(customization)하여 획득될 수 있다. 이러한 커스터마이제이션은 도 3을 참조하여 아래에서 설명될 것이다.
도 2는 본 개시의 실시예에 따른 시스템(200)의 예시적인 구성을 도시하는 블록도이다.
시스템(200)은 동작 102를 수행할 수 있는 캡처 모듈(capturing module)(202), 동작 104를 수행할 수 있는 관찰 모듈(observation module)(204), 및 동작 106 및 동작 108을 수행할 수 있는 추론 모듈(inference module)(206)을 포함한다. 마찬가지로, 시스템(200) 내에는 모듈들(202, 204 206) 간의 동작 상호 연결을 용이하게 하고 다른 보조 기능들을 수행하는 기타 모듈이 있을 수 있다.
도 3은 본 개시에 따른 UE에 대한 사용자-특정 데이터 스트리밍 메커니즘(user-specific data streaming mechanism)을 생성하는 네트워킹 환경에서 예시적인 방법을 도시하는 흐름도이다. 상기 방법은 합성 네트워크 트레이스(synthetic network trace)들 및 적어도 하나의 표준 적응 비트 레이트(ABR, adaptive bitrate) 로직에 기초하여, 컨텐츠 재생을 시뮬레이션하는 동작(동작 302)을 포함한다. 합성 네트워크 트레이스들은, 예를 들면, 사용 가능한 대역폭 범위에 대응하는 합성 데이터 세트(set of synthertic data)를 참조할 수 있다. 일 실시예에서, 합성 네트워크 트레이스들은 실제 네트워크 트레이스들을 시뮬레이션하는 최신 방법을 사용하여 생성될 수 있다.
또한, 상기 방법은 라벨링된 데이터의 로그를 생성하기 위해 상기 시뮬레이션된 컨텐츠 재생과 관련된 복수의 입력 및 출력 상태들을 로깅(logging)하는 동작(동작 304)을 포함한다. 라벨링된 데이터에 기초하여, 상기 라벨링된 데이터의 로그를 사용하는 제1 ML 기반 기준을 통한 트레이닝에 기초하여, 적어도 제1 타입의 모델이 생성된다(동작 306). 이러한 제1 모델의 생성은 SL(supervised-learning) 기반 기본 모델의 생성에 해당하며, 제1 ML 기준(criteria)으로서 작용하는 슈퍼바이즈드(supervised) ML 기준을 기반으로 구현될 수 있다.
슈퍼바이즈드 ML의 적용은 합성 네트워크 시뮬레이션에서 수행되는 컨텐츠 재생 시뮬레이션과 관련하여 입력 상태를 정의함으로써 트리거될 수 있다. 입력 상태는, 예를 들면, 버퍼 레벨(buffer-level), 처리량(throughput), 비트 레이트(bitrate) 및 평균 청크 크기(average chunk size) 파라미터들 중 적어도 하나로 정의될 수 있다. 재생 시뮬레이션을 기반으로, 출력 상태는 적어도 출력 비트 레이트로서 획득될 수 있다. 라벨링된 데이터의 로그는 입력 및 출력 상태들 간의 매핑으로서 획득될 수 있다. 이러한 라벨링된 데이터는 제1 모델에 적용되는 SL을 기반으로 제1 모델을 생성할 수 있다. 일 구현에서, 이러한 제1 모델의 트레이닝 전에, 상기 방법은 다음 중 적어도 하나에 속하는 UE와 관련된 파라미터들을 캡처하는 동작을 포함할 수 있다.
현재 네트워크 트래픽(current network traffic);
UE에 할당된 대역폭(allocated bandwidth to the UE);
신호 강도(signal strength);
세그먼트 다운로드 시간(segment download time);
미디어 버퍼 레벨(media buffer level);
처리량 이력(throughput history);
배터리 상태(battery status);
CPU 부하(CPU load); 및
메모리 상태(memory status).
상기 제1 모델의 트레이닝은 상기 파라미터들의 캡처에 기초하여 UE 또는 네트워킹 노드(예를 들어, 서버, MEC(multi-access edge) 서버 등)에서 스케줄링되며, 제2 모델을 생성하는 동작(동작 306)으로 이어질 수 있다. 또한, 상기 방법은 적어도 실제 네트워크 트레이스들 및 제1 모델에 따라 선택된 하나 이상의 비트 레이트에 기초하여, 컨텐츠 재생을 재시뮬레이션하는 동작(동작 308)을 포함한다. 실제 네트워크 트레이스들은 다음 중 하나 이상으로서 캡처된 트레이닝 데이터를 참조할 수 있다.
청크 당 수신된 미디어 크기(a media size received per chunk);
미디어의 청크를 다운로드하는데 걸리는 시간(time taken to download the chunk of media);
미디어 재생 중에 사용되는 네트워크 타입(type of network used during media playback);
사용되는 네트워크 오퍼레이터(network operator used);
미디어 세그먼트의 듀레이션(duration of a media segment);
미디어 컨텐츠 재생의 시작 시간(start time of the media content playback);
미디어 컨텐츠 재생의 종료 시간(end time of the media content playback);
경도 및 위도 정보(longitude and Latitude Information); 및
칩셋 정보(chipset-information).
또한, 상기 방법은 체감 품질(quality of experience)을 최대화 및/또는 개선(maximize and/or improve)하도록 지시되는 강화 ML 기준(reinforcement ML criteria)을 통해 제1 모델을 트레이닝함으로써 제2 모델을 생성하는 동작(동작 310)을 포함한다. 이러한 트레이닝은 컨텐츠 재생의 재시뮬레이션 결과 분석을 기반으로 할 수 있다. 이러한 제2 모델의 생성은 강화 ML의 실행을 기반으로 할 수 있으며, 실제 네트워크 트레이스들을 기반으로 컨텐츠 재생 시뮬레이션을 분석하는 것을 포함할 수 있고, 다음 중 적어도 하나를 기반으로 시뮬레이션에 대한 후처리 및 QoE 개선을 적용하는 것을 포함할 수 있다.
재생 실패 타입(playback failure type);
기동 시간(start-up time);
재버퍼링 듀레이션(re-buffering duration);
재버퍼링 상태(re-buffering state); 및
비디오 품질 및 비트 레이트(video quality and bitrate).
도 4는 본 개시의 실시예에 따른 통신 장치용 시스템(400)의 예시적인 구성을 도시하는 블록도이다.
시스템(400)은 동작 302 및 동작 304를 수행할 수 있는 합성 네트워크 트레이스들 및 라벨링된 데이터 생성기(synthetic network traces and labelled data generator)(402), 동작 306을 수행할 수 있는 SL 모듈(404)(예를 들어, SL 기반 ML 모듈), 동작 308 및 동작 310을 수행할 수 있는 강화 러닝 모듈(reinforcement learning module)(406)을 포함한다. 마찬가지로, 모듈들(402, 404, 406) 간의 동작 상호 연결을 용이하게 하고 다른 보조 기능을 수행하는 기타 모듈(408)이 시스템(400) 내에 존재할 수 있다.
도 5는 본 개시의 실시예에 따른, 도 1의 동작들에 따른 예시적인 네트워킹 환경(500)을 도시한 도면이다.
예를 들면, 네트워킹 환경(500)은 UE(또는 사용자 장치(user device))(510), 비디오 스트리밍 컨텐츠 서버(video streaming content server)(506) 및 MEC(multi-access edge computing) 서버(또는 에지 서버(edge server))(508)(또는 서버/MEC의 지능형 스트리밍 모델이라고도 함)를 포함한다. 네트워킹 환경(500)은 가능한 최상의 출력을 획득하기 위해 추론에 사용할 모델을 런타임(runtime)에 결정하는 스마트 전략 모듈(smart strategy module)(502)을 사용하여, UE(510) 및 MEC 서버(508) 또는 이들의 조합에 ML 기반 트레이닝 모델을 배치하는 동작(도 1의 방법 동작 102, 동작 104, 동작 106 및 동작 108에 대응)을 구현할 수 있다.
일 실시예에서, 도 1과 관련하여 도시된 바와 같이, UE(510) 상의 스마트 전략 모듈(502)은 CPU 부하(load), 사용 가능한 메모리, 배터리 상태 등을 포함하는 정보를 수집할 수 있다. 따라서, 장치(예를 들어, UE(510))의 지능형 스트리밍 모델(intelligent streaming model)(504) 또는 MEC 서버(508)로부터의 지능형 스트리밍 모델이, 비디오 스트리밍 컨텐츠 서버(506)로부터 UE(510)로 맞춤형 ABR 기반 멀티미디어 스트리밍을 렌더링하기 위해 선택된다.
도 5에 언급된 "입력 상태들(input states)"은 현재 미디어 버퍼 레벨(current media buffer level), 처리량(throughput), 우세 비트 레이트(prevailing-bitrate) 및 스트리밍될 파라미터들의 평균 청크 크기(average chunk-size) 중 하나 이상에 해당할 수 있다. "선택할 품질(quality to select)"은 적어도 멀티미디어 컨텐츠를 스트리밍하기 위한 목적의 지능형 모델들(예를 들어, UE(510)의 지능형 스트리밍 모델(504) 또는 MEC 서버(508)의 지능형 스트리밍 모델) 중 하나에 의해 제안되는 "비트 레이트(bit rate)"를 의미할 수 있다. 따라서, 적어도 UE(510)의 일부로서 비디오 스트리밍 컨텐츠 서버(506)로부터 "새로운 품질(new quality)"을 요청하는 UE(510)는 결정된 비트 레이트에 따라 비디오 스트리밍 컨텐츠 서버(506)로부터 들어오는 스트리밍을 수신한다.
도 6은 본 개시의 실시예에 따른, 도 1의 예시적인 동작을 도시한 흐름도이다.
동작 602에서, 현재의 온-디바이스(예를 들어, UE(510))로서 트레이닝된 모델의 버전이 확인된다.
동작 604에서, 동작 602에서 확인된 트레이닝된 모델의 버전이 MEC 버전과 비교되고 차이가 결정된다. 예를 들어, 서버와의 델타 메이저 버전(delta major-version) 차이가 확인되며, 상기 버전 차이가 2.0보다 큰지 여부가 관찰된다.
시스템 파라미터(system-parameter) 결정의 일부로서, 현재 배터리 퍼센티지 및 CPU 부하가 동작 606에서 확인된다. 예를 들면, “배터리 < 약 20%” 또는 "절전 모드(power-saving mode) = ON" 또는 “CPU 부하 > 약 90%”인지 여부가 동작 608에서 결정된다.
네트워크 파라미터 결정의 일부로서, 현재 다운로드 속도 및 마지막 라운드트립 시간이 동작 610에서 결정된다. 예를 들면, 다운로드 속도가 약 200 Kbps보다 큰지 여부 또는 라운드트립 시간이 약 1 초 미만인지 여부가 동작 612에서 확인된다.
적어도 동작 602, 동작 604, 동작 606, 동작 608, 동작 610 및 동작 612에서의 결정에 기초하여, 장치(예를 들어, UE(510)) 또는 MEC 서버(508)에서 구현되는 트레이닝된 모델(SL 및 강화 러닝의 조합에 의해 획득됨)이 추론을 위해 선택된다.
전반적으로, 동작 602, 동작 604, 동작 606, 동작 608, 동작 610 및 동작 612에 도시된 바와 같은 전술한 의사 결정(decision-making)은 장치 측에서 발생하는 '스마트 전략(smart-strategy)' 결정에 대응할 수 있다. 적어도 뒤따르는 이점은 최적의 및/또는 개선된 리소스 사용과 향상된 정확도이다. 예를 들어, 이는 아래 <표 1>의 비제한적인 예로서 예시된 바와 같이 요약될 수 있다.
시스템 파라미터 선택된 지능형 모델
Low Battery Condition Use MEC/Server side model for inferencing
High CPU Load Use MEC/Server side model for inferencing
Low Network Condition Use Device side model for inferencing
Outdated Device side model version Use MEC/Server side model for inferencing
도 7은 본 개시의 실시예에 따른, 도 1의 동작들의 예시적인 구현을 도시하는 흐름도이다.
동작 702에서, 멀티미디어 데이터 스트리밍 동작의 시작의 일부로서 멀티미디어 데이터에 대응하는 초기 세그먼트(initial-segment) 또는 패킷 데이터(packet data)가 다운로드된다.
동작 704에서, 컨텐츠 스트리밍 및 미디어 플레이어 상태와 관련된 상이한 파라미터들이 캡처된다. 일 실시예에서, 컨텐츠 스트리밍과 관련된 파라미터들에는 버퍼(buffer), 처리량(throughput), 비트 레이트(bitrate) 및 평균 청크 크기(average chunk size) 파라미터들이 포함될 수 있다. 다른 실시예에서, 미디어 플레이어 상태와 관련된 파라미터들에는 미디어 버퍼 레벨(media buffer level), 예를 들면, 재다운로드 및 버퍼링 동안 미디어 컨텐츠의 남은 버퍼링(buffer remaining of media-content))과 처리량 이력(throughput history) 등이 포함될 수 있다.
동작 706에서, 시스템 및 네트워크 파라미터들은, 예를 들면, 도 6에서 도시된 바와 같은 동작들에 따라 수집될 수 있다.
동작 708에서, 사용자 중심 스트리밍 경험(user-oriented streaming experience)을 달성하기 위해 장치 또는 MEC(예를 들어, 서버)의 트레이닝된 ML 모델을 사용하기로 결정이 내려진다.
동작 710에서, 트레이닝된 모델의 실행의 결과(예를 들어, 품질 파라미터(quality parameter), 새로운 품질의 멀티미디어 컨텐츠의 다운로드가 달성된다. 일 실시예에서, 새로운 품질의 멀티미디어 컨텐츠는 트레이닝된 모델에 의해 결정된 비트 레이트로 다운로드되는 컨텐츠를 나타낼 수 있다. 또한, 이러한 제어는 비트 레이트에 관한 향후의 결정을 위해 동작 704로 다시 진행될 수 있다.
도 8은 본 개시의 실시예에 따른, 도 3의 동작들의 예시적인 구현을 도시하는 흐름도이다.
동작 802에서, 합성 트레이스들에 기초하여 컨텐츠 재생 시뮬레이션이 달성된다. 컨텐츠 재생 시뮬레이션은 다중 비디오 품질 타입(예를 들면, 2K, FHD 및/또는 HD 등)에 해당한다. 인코딩은, 예를 들면, MPEGTS, FMP4 등을 포함할 수 있다. 스트리밍 프로토콜은, 예를 들면, HLS, DASH 등을 포함할 수 있다.
합성 네트워크 트레이스들은 컨텐츠 재생을 시뮬레이션하는데 필요한 시뮬레이션된 네트워크 상태(simulated-network condition)들을 나타낼 수 있다. 본 개시에 따르면, 적어도 합성 트레이스들의 일부로서 많은 수의 상태 공간들(high-number of state-spaces)을 생성할 수 있고 그에 따라 낮은 확률(low probability)의 코너 케이스(corner cases)를 탐색할 수 있게 하여 적절한 방식으로 이것을 처리하는 것을 보장한다. 이러한 합성적으로 생성된 데이터 세트를 기반으로, 액세스 네트워크(예를 들면, 5G 네트워크)로서 공개적으로 액세스할 수 없는 이러한 시나리오들이 시뮬레이션될 수 있다.
일 실시예에서, 현재 동작 802의 일부로서, 다양한 그래뉼래러티(granularities)를 갖는 약 0 Kbps(예를 들면, 네트워크 상태 없음) 범위의 네트워크 트레이스들의 코퍼스(corpus)가 생성된다. 다른 실시예에서, 네트워크 트레이스 범위는 약 128 Kbps 내지 약 80 Mbps의 범위일 수 있다. 스케일(scale)의 하단에는 연속적인 비트 레이트들 사이의 매우 작은 갭(gap)이 있으며 이것은 더 높은 비트 레이트가 관련될수록 증가한다. 네트워크 트레이스들은 예를 들어, 각 상태가 해당 시점의 대역폭을 나타내는 최신 마르코비안 모델(Markovian-model)을 사용하여 생성될 수 있다. 상태 전환 확률은 안정한(stable)(고정된 사용 케이스) 및 불안정한(unstable)(이동하는 사용 케이스) 네트워크 상태들을 모델링하는데 도움이 되도록 다양할 수 있다. 특정 상태에서는, 임의의 두 시점(any two points in times)에서 동일한 처리량을 기대하는 것이 불가능할 수 있다. 따라서, 현재 상태에 대한 대역폭에 캔터링된(cantered) 가우스 분포(Gaussian distribution)로부터 값이 선택될 수 있다. 분산(variance)은 약 0.05 내지 약 0.5 범위에 속할 수 있다.
합성 네트워크 트레이스들은 표준 ABR 알고리즘(예를 들면, 버퍼 기반/대역폭 기반/모델 예측 제어 또는 이들의 조합)을 염두에 두고서 가능한 실제 네트워크 BW 범위(예를 들면, 네트워크 없음(no network)에서부터 약 1 Gbps까지)를 고려하여 생성될 수 있다. 이렇게 생성된 합성 네트워크 트레이스들은 모든 가능한 상태들을 탐색하여 모든 미탐색된 상태의 가능성을 완화하는데 도움이 되므로 이하의 설명에서 자세히 설명되는 SL(supervised learning)을 지원한다. 결국 이것은 이러한 영역들을 커버하기 위해 모델의 일반화에 의존하기 때문에 미탐색 상태 공간들에서 차선의 성능 가능성을 완화한다.
동작 804에서, 라벨링된 데이터는 SL을 위한 데이터 세트로서 생성된다. 일 실시예에서, 동작 802에 도시된 바와 같이 컨텐츠 재생 시뮬레이션의 일부로서, 버퍼 기반 ABR 알고리즘이 채용될 수 있으며, 그 이유는 버퍼 기반 ABR 알고리즘은 안정적인 성능을 제공하고 고도로 복잡한 관계가 없기 때문에 프로토 타입(prototype)에 비교적 용이하기 때문이다. 생성된 합성 트레이스들에 대해 표준 ABR이 실행되며, 입력 상태들 및 매핑된 출력 상태들의 튜플들(tuples)이 생성된다. 입력 상태들은 버퍼, 처리량, 비트 레이트 및 평균 청크 크기 파라미터들을 포함할 수 있다. 이는 선택된 출력 비트 레이트와 결합되어 예를 들어, n이 CSV 파일에 로깅된다. 이 데이터 세트는 모델 또는 기본 모델을 트레이닝하는데 사용된다. 일 실시예에서, 모델 트레이닝은 카테고리 교차 엔트로피(categorical cross-entropy) 손실 계산이 있는 RMSProp 최적화 프로그램과 같은 표준 SL 기술을 사용하여 수행된다. 출력 비트 레이트들은 원활하게 작동하도록 원-핫(one-hot) 인코딩 포맷으로 변환된다.
동작 806은 라벨링된 데이터 세트에 기초하는 모델(예를 들면, 기존 ABR 알고리즘)에 대한 SL의 실행과 관련될 수 있다. 이러한 사전 트레이닝(pre-training) 동작은 강화 러닝의 후반 동작에서 방대한 수의 실제 네트워크 트레이스들을 필요로 함 없이 더 빠른 트레이닝과 더 양호한 일반화에 도움이 될 수 있다. SL 사전 트레이닝은 선택한 ABR 알고리즘을 수용하도록 수정된 시뮬레이션된 비디오 플레이어를 활용하여 수행된다. 생성된 데이터 세트를 갖는 SL 방법을 사용하여 모델을 트레이닝하면 적어도 추가 트레이닝을 용이하게 할 수 있는 안정적인 기본 모델을 생성할 수 있다.
동작 808은 동작 806을 통해 획득된 기본 모델의 생성에 관련될 수 있다. 기본 모델의 달성은 적어도 기존 알고리즘 레벨에서 성능을 촉진한다. 이 동작이 없으면, 모델은 강화 중에 특정 또는 예상치 못한 시나리오로 일반화하지 못하게 되는 위험에 노출될 수 있다. 또한, SL이 RL(reinforcement learning)보다 훨씬 빠르기 때문에, 기본 모델을 생성하면 다양한 상태 공간들을 탐색하고 차선책을 내리는데 소요되는 불필요한 시간을 줄일 수 있다.
전술한 절차를 사용하여 생성된 기본 모델은 강화 러닝을 실행하기 위한 시작점으로서 사용된다. 기본 모델은 성능 극대화 및/또는 개선(maximizing and/or improving)에 초점을 맞추고 탐색 및 일반화의 오버헤드 영향을 최소화할 수 있는 플랫폼을 제공한다. 이것은 또한 강화된 러닝을 통해 트레이닝 모델을 달성하는데 필요한 트레이닝 시간을 크게 단축시킨다.
동작 810은 실제 네트워크 트레이스들에 기반한 강화 러닝 또는 RL 페이즈(phase)에 관련될 수 있다. 예를 들어, RL에 대한 알고리즘들은 A3C(Advantage Asynchronous Actor Critic), DQN, IMPALA 또는 이러한 알고리즘들의 변형까지 다양할 수 있다. 동작 808로부터의 기본 모델은 이 셋업에서의 액터(actor)로서 사용되며 크리틱(critic)이 처음부터 트레이닝되지만 러닝 레이트(learning rate)가 더 높을 수 있다. 일 실시예에서, 시뮬레이션된 비디오 플레이어가 기본 모델 또는 제1 모델을 기반으로 하는 컨텐츠 재생 시뮬레이션에 사용된다. 이는 실제 기본이 되는 ABR 알고리즘이 없는 경우 기본 모델 자체가 ABR 알고리즘으로서 작동하기 때문이다. 이를 통해 기본 모델이 비트 레이트를 결정하게 되며 플레이어는 주어진 순간에 실제 네트워크 상태들과 선택된 비트 레이트를 고려하여 결과를 시뮬레이션한다. 적어도 이것은 비디오를 완료하는데 필요한 시간을 몇 분의 오더(order)에서 몇 밀리 초의 오더로 줄여준다. 여러 액터 크리틱 에이전트들(actor critic agents)이 사용되며, 이들 각각이 비디오를 실행하기 위해 랜덤 트레이스들을 수신한다. 또한 이는 완성된 모델을 획득하기 위해 필요한 시간을 단축하는데 도움이 된다.
또한, 강화 러닝 문제는 수렴하는 목표를 가지고 있기 때문에, 현재 시나리오의 목표는 재생되는 비디오에 대한 모델에 의해 달성되는 QoE(Quality of Experience)를 극대화 및/또는 개선하는 것이다. 따라서, 강화 러닝의 일부로서의 일 구현에서, 시뮬레이션과 관련된 후처리 및 QoE 개선은 아래 <표 2>의 비제한적인 예로서 예시된 바와 같이 상기 파라미터들의 캡처를 통해 달성된다.
파라미터 타입 디스크립션
Playback failure type Type of Error during media playback(e.g., Server not responding, No Network etc.)
Start up Time Time required to start the playback(from User pressing Play button to Actual Start)
Re-buffering duration Time required to re-buffer content in between playback with Buffering Icon
Re-buffering state If Re-buffering state when Playback Ended(To know if Re-buffering caused User to Stop Playback)
Video Quality and Bitrate Video Content quality in terms of Bitrate(in bps) from Media Playlist File
도 9는 본 개시의 실시예에 따른, 도 3의 동작들의 예시적인 구현을 도시하는 도면이다.
동작 902는 UE에 의한 컨텐츠 호스팅 서버(예를 들어, 비디오 컨텐츠 스트리밍 서버)로부터 멀티미디어 컨텐츠의 스트리밍을 나타낼 수 있다.
동작 904는 다음 중 적어도 하나에 속하는 UE와 관련된 파라미터들의 캡처를 나타낼 수 있다.
현재 네트워크 트래픽 또는 네트워크 패턴(current network traffic or network pattern);
UE에 할당된 대역폭(allocated bandwidth to the UE);
대역폭 추정기에 의해 제공되는 처리량 이력(a through history provided by a bandwidth estimator);
우세한 신호 강도(a prevailing signal strength);
네트워크 파라미터 일부로서의 세그먼트 다운로드 시간(segment download time as a part of network parameter);
미디어 플레이어 통계 일부로서의 미디어 버퍼 레벨(media buffer level as a part of media player statistics);
현재 액세스 네트워크에 대한 처리량 이력(a throughput history with respect to the present access network); 및
사용자 프리퍼런스 일부로서의 스트리밍되는 컨텐츠 타입(type of content being streamed as a part of user-preferences).
동작 906에서, 수집된 사용자 프리퍼런스들(preferences), 네트워크 패턴 및 사용자에게 충족될 수 있을 것으로 예상되는 체감 품질(quality of experience)에 기초하여, 트레이닝된 모델을 생성하기 위한 기본 모델의 트레이닝이 원격 연결된 네트워킹 노드 역할을 하는 장치 또는 MEC 서버에서 스케줄링된다. 모델이 MEC 서버에서 트레이닝되는 경우, 트레이닝된 모델은 나중에 MEC 서버에 의해 장치에 업데이트되거나 인스턴스화(instantiated)된다.
일 구현에서, 기본 모델의 트레이닝의 위치에 관계없이, 강화 러닝의 일부로서 이용될 수 있는 예시적인 트레이닝 데이터(또는 실제 네트워크 트레이스들)는 다음과 같다.
네트워크 파라미터 타입 디스크립션
Start Time Stamp Starting Time of the Media Content Playback
Bytes received Media Size Received per Chunk
Time Taken Time Taken to download the chunk of Media
Network Type Type of Network used during Media Playback
Operator Network Operator Used
Segment Duration Duration of a Media Segment(e.g., One MPEGTS Media Fragment)
End Time stamp End Time of the Media Content Playback
Chipset Type/Version of the Device Chipset/Motherboard configuration used
GPS/Tower location from IP GPS and IP based Longitude and Latitude Information
기본 모델의 트레이닝이 UE 또는 장치에 스케줄링된 경우, 다음과 같은 파라미터들이 UE에서 기본 모델의 트레이닝의 일부로서 캡처될 수 있다.
파라미터 타입 디스크립션
Network Pattern Pattern or Trend of Network Condition seen in the Device/Mobile
Playback stats Different Playback stats for analysis
Time and type of videos Time duration till when Video got played and Type or Category of the Video
이제 트레이닝된 모델 또는 제2 모델에 의해 촉진되는 적응형 비트 레이트 스트리밍을 기반으로 UE에 의해 실행되는 실제 컨텐츠 재생 동안, UE에 의한 트레이닝된 모델의 사용과 관련된 다음 정보가 확인될 수 있다.
파라미터 세부 설명
App Used Name of the Application Used for Media Streaming playback
Type of Streaming Type/Application Protocol used for Media Streaming(e.g., HTSP, RTSP etc.)
Content Type Type of Media Content being played(e.g., Video On-Demand , Live)
CDN(Content Delivery Network) Geographically distributed network of proxy servers and data centres for delivering content
Device Device(Mobile or others) being used for Streaming Media
Region Location/Region where the Media Streaming is happening
상기 트레이닝된 모델은 새로운 사용자 사용 데이터로 추가로 업데이트될 수 있으며 그에 따라 UE와 MEC 서버 모두에서 더 많은 재트레이닝을 받을 수 있다. 일 실시예에서, UE 상의 트레이닝된 모델은 향후의 멀티미디어 데이터 스트리밍 및 직면한 네트워크 상태들(encountered network-conditions)에 기초한 추가 데이터로 더 트레이닝됨으로써 트레이닝된 모델의 온-디바이스 개인화된 트레이닝을 야기할 수 있다. 추가 실시예에서, MEC 서버 또는 임의의 네트워크 노드/서버에서의 트레이닝된 모델은 지역, 위치, 직면한 네트워크 상태들 중 하나 이상에 기초한 추가 데이터로 더 트레이닝됨으로써 네트워크 노드 측에서의 추론 모델의 개인화된 트레이닝을 야기할 수 있다.
도 10은 본 개시의 실시예에 따른 예시적인 구현으로서, 컴퓨터 시스템(1000)의 형태로 시스템(200, 400)의 또 다른 전형적인 하드웨어 구성을 도시한 도면이다. 컴퓨터 시스템(1000)은 컴퓨터 시스템(1000)이 개시된 방법들 중 임의의 하나 이상을 수행하도록 하기 위해 실행될 수 있는 명령어(instructions) 세트를 포함할 수 있다. 컴퓨터 시스템(1000)은 독립형 장치(standalone device)로 동작할 수 있거나, 또는 예를 들어 네트워크를 사용하여, 다른 컴퓨터 시스템 또는 주변 장치에 연결될 수 있다.
네트워킹된 배치(networked deployment)에서, 컴퓨터 시스템(1000)은 서버의 용량으로 또는 서버-클라이언트 사용자 네트워크 환경에서의 클라이언트 사용자 컴퓨터로서, 또는 피어-투-피어(또는 분산) 네트워크 환경에서 피어 컴퓨터 시스템으로서 동작할 수 있다. 컴퓨터 시스템(1000)은 또한 개인용 컴퓨터(PC), 태블릿 PC, PDA(Personal Digital Assistant), 모바일 장치, 팜탑(palmtop) 컴퓨터, 랩탑 컴퓨터, 데스크탑 컴퓨터, 통신 장치, 무선 전화, 유선 전화(land-line telephone), 웹 어플라이언스(web appliance), 네트워크 라우터(network router), 스위치(switch) 또는 브리지(bridge), 또는 해당 머신(machine)에 의해 취해질 액션들(actions)을 지정하는 일련의 명령어들(순차적 또는 비순차적)을 실행할 수 있는 임의의 다른 머신과 같은 다양한 장치로 구현되거나 통합될 수 있다. 또한, 단일 컴퓨터 시스템(1000)이 예시되어 있지만, "시스템"이라는 용어는 또한 하나 이상의 컴퓨터 기능을 수행하기 위해 일 세트, 또는 다중 세트의 명령어들을 개별적으로 또는 공동으로 실행하는 시스템들 또는 서브 시스템들의 임의의 집합을 포함하는 것으로 간주되어야 한다.
컴퓨터 시스템(1000)은 프로세서(1002), 예를 들어 중앙 처리 장치(CPU, central processing unit), 그래픽 처리 장치(GPU, graphics processing unit) 또는 둘 다를 포함할 수 있다. 프로세서(1002)는 다양한 시스템들에서의 구성 요소일 수 있다. 예를 들어, 프로세서(1002)는 표준 개인용 컴퓨터 또는 워크 스테이션의 일부일 수 있다. 프로세서(1002)는 하나 이상의 일반 프로세서, 디지털 신호 프로세서, 주문형 집적 회로(application specific integrated circuits), 필드 프로그래밍 가능 게이트 어레이(field programmable gate arrays), 서버, 네트워크, 디지털 회로, 아날로그 회로, 이들의 조합, 또는 데이터를 분석 및 처리하기 위해 현재 알려지거나 나중에 개발되는 기타 장치일 수 있다. 프로세서(1002)는 수동으로 생성되는(예를 들어, 프로그래밍되는) 코드와 같은, 소프트웨어 프로그램을 구현할 수 있다.
컴퓨터 시스템(1000)은 버스(1008)를 통해 통신할 수 있는 메모리(1004)를 포함할 수 있다. 메모리(1004)는 랜덤 액세스 메모리, 읽기 전용 메모리, 프로그래밍 가능한 읽기 전용 메모리, 전기적으로 프로그래밍 가능한 읽기 전용 메모리, 전기적으로 소거 가능한 읽기 전용 메모리, 플래시 메모리, 자기 테이프 또는 디스크, 광학 미디어 등을 포함하지만 이에 제한되지 않는 다양한 타입의 휘발성 및 비휘발성 저장 매체와 같은 컴퓨터 판독 가능 저장 매체를 포함할 수 있지만 이에 제한되지 않는다. 일 예에서, 메모리(1004)는 프로세서(1002)를 위한 캐시 또는 랜덤 액세스 메모리를 포함한다. 다양한 실시예들에서, 메모리(1004)는 프로세서(1002)의 캐시 메모리, 시스템 메모리, 또는 다른 메모리와 같이, 프로세서(1002)와 분리된다. 메모리(1004)는 데이터를 저장하기 위한 외부 저장 장치 또는 데이터베이스일 수 있다. 메모리(1004)는 프로세서(1002)에 의해 실행 가능한 명령어들(1024)을 저장하도록 동작 가능하다. 도면에 도시되거나 설명된 기능, 동작 또는 작업은 메모리(1004)에 저장된 명령어들을 실행하기 위해 프로그래밍된 프로세서(1002)에 의해 수행될 수 있다. 기능, 동작 또는 작업은 특정 타입의 명령어 세트, 저장 매체, 프로세서 또는 처리 전략과 무관하며 소프트웨어, 하드웨어, 집적 회로, 펌웨어, 마이크로 코드 등에 의해 단독으로 또는 조합하여 수행될 수 있다. 처리 전략(processing strategies)은 멀티 프로세싱(multiprocessing), 멀티 태스킹(multitasking), 및/또는 병렬 처리(parallel processing) 등을 포함할 수 있다.
도시된 바와 같이, 컴퓨터 시스템(1000)은 액정 디스플레이(LCD), 유기 발광 다이오드(OLED), 평판 디스플레이, 고체 상태 디스플레이, 음극선관(CRT), 프로젝터, 프린터 또는 결정된 정보를 출력하기 위한 현재 알려져 있거나 또는 나중에 개발되는 기타 디스플레이 장치와 같은 디스플레이(1010)를 더 포함하거나 포함하지 않을 수 있다. 디스플레이(1010)는 사용자가 프로세서(1002)의 기능을 볼 수 있는 인터페이스 역할을 할 수 있으며, 특히 메모리(1004) 또는 드라이브 유닛(drive unit)(1016)에 저장된 소프트웨어와의 인터페이스 역할을 할 수 있다.
추가적으로, 컴퓨터 시스템(1000)은 사용자가 시스템(1000)의 임의의 구성 요소와 상호 작용할 수 있도록 구성된 입력 장치(1012)를 포함할 수 있다. 컴퓨터 시스템(1000)은 또한 디스크(disk) 또는 광학(optical) 드라이브 유닛(1016)을 포함할 수 있다. 디스크 드라이브 유닛(1016)은 하나 이상의 명령어 세트(1024), 예를 들어 소프트웨어가 내장될 수 있는 컴퓨터 판독 가능 매체(1022)를 포함할 수 있다. 또한, 명령어들(1024)은 설명된 바와 같은 방법 또는 로직 중 하나 이상을 구현할 수 있다. 특정 예에서, 명령어들(1024)은 컴퓨터 시스템(1000)에 의해 실행되는 동안 메모리(1004) 내에 또는 프로세서(1002) 내에 완전히 또는 적어도 부분적으로 상주할 수 있다.
본 개시는 네트워크(1026)에 연결된 장치가 네트워크(1026)를 통해 음성, 비디오, 오디오, 이미지 또는 임의의 다른 데이터를 통신할 수 있도록 명령어들(1024)을 포함하거나 전파된 신호에 응답하여 명령어들(1024)을 수신 및 실행하는 컴퓨터 판독 가능 매체를 고려한다. 또한, 명령어들(1024)은 통신 포트 또는 인터페이스(1020)를 경유하여 또는 버스(1008)를 사용하여 네트워크(1026)를 통해 송수신될 수 있다. 통신 포트 또는 인터페이스(1020)는 프로세서(1002)의 일부일 수 있거나 별도의 구성 요소일 수 있다. 통신 포트(1020)는 소프트웨어로 생성되거나 하드웨어의 물리적 연결일 수 있다. 통신 포트(1020)는 네트워크(1026), 외부 매체, 디스플레이(1010), 또는 시스템(1000)의 임의의 다른 구성 요소, 또는 이들의 조합과 연결하도록 구성될 수 있다. 네트워크(1026)와의 연결은 통신 인터페이스(1014)를 통한 유선 이더넷 연결(Ethernet connection)과 같은 물리적 연결일 수 있거나 또는 나중에 논의되는 바와 같이 무선으로 확립될 수 있다. 마찬가지로, 시스템(1000)의 다른 구성 요소와의 추가 연결은 물리적 연결일 수 있거나 무선으로 확립될 수 있다. 네트워크(1026)는 대안적으로 버스(1008)에 직접 연결될 수도 있다.
네트워크(1026)는 유선 네트워크, 무선 네트워크, 이더넷 AVB 네트워크, 또는 이들의 조합을 포함할 수 있다. 무선 네트워크는 셀룰러 전화 네트워크, 802.11, 802.16, 802.20, 802.1Q 또는 WiMax 네트워크일 수 있다. 또한, 네트워크(1026)는 인터넷과 같은 공용 네트워크, 인트라넷과 같은 사설 네트워크 또는 이들의 조합일 수 있으며, TCP/IP 기반 네트워킹 프로토콜을 포함하며, 이에 한정되지 않는 현재 이용 가능하거나 나중에 개발되는 다양한 네트워킹 프로토콜을 이용할 수 있다. 시스템은 특정 표준 및 프로토콜로 작동하며 이에 한정되지 않는다. 예를 들어, 인터넷 및 기타 패킷 교환 네트워크 전송 표준(예를 들면, TCP/IP, UDP/IP, HTML 및/또는 HTTP)이 사용될 수 있다.
본 개시에 따르면, 전술한 설명에 적어도 기초하여, 증가된 비트 레이트, 더 높은 QoE를 렌더링하고, 재버퍼링 시간을 실질적으로 경감시킬 수 있다. 일 예에서, 본 발명은 약 13% 내지 약 15% 증가된 비트 레이트, 약 20% 내지 약 32% 범위의 증가된 QoE를 등록하는 한편, 약 30% 내지 약 40%만큼 재버퍼링 시간을 상당히 감소시킨다.
또한, 트레이닝된 모델을 실행하기 위해 UE와 MEC 서버 간의 선택을 추론하는 '스마트 전략 배치(Smart Strategy deployment)' 모듈은 일반 상태에서 배터리가 약 1% 개선되고 QoE 개선을 특징으로 하는 재생 중에 약 10% 개선될 수 있다.
전반적으로, 본 개시는 특정 파라미터들(예를 들면, GPS 좌표, 시간 등)을 통해 이러한 네트워크 지역의 발생을 예측하는 맞춤형 모델을 렌더링하고, 네트워크가 낮은 지역을 예상하여 사전에 비디오 품질을 낮추고 이 지역을 벗어날 때 더 높은 품질로 되돌아 간다. 이를 통해 사용자는 낮은 네트워크 지역에서도 중단 없이 재생을 즐길 수 있으며 전반적인 비디오 재생 경험이 향상된다.
이러한 열악한 네트워크 상태 시나리오는 사용자마다 크기(10 - 60+ 초 지속될 수 있음)와 빈도(자주 발생하는 시나리오에 더 높은 우선 순위가 부여됨)가 다르기 때문에, 본 개시에 따른 온 디바이스 트레이닝은 사용자-특정 패턴들을 학습하고 사용자의 개인 요구 사항에 따라 수행할 수 있는 최적의 기술일 수 있다.
본 개시에 따르면, SL과 강화 러닝의 조합을 사용함으로써 전세계에 걸쳐 대규모 데이터 세트를 수집할 필요성을 적어도 극복한다. 본 개시에 따르면, 모델의 성능을 향상시킬 뿐만 아니라 트레이닝 시간도 단축시킬 수 있다. 또한 본 개시에 따르면, 청크 듀레이션, 컨텐츠 인코딩 파라미터들, 네트워크 연결 타입 등을 포함하며 이에 한정되지 않는 다양한 입력 공간에 초점을 맞춘 것이다. 또한, 본 개시에 따르면, 사용자 네트워크 패턴과 선호하는 QoE를 학습하여 사용자에게 개인화된 비디오 스트리밍 경험을 제공할 수 있다.
전반적으로 본 개시에 따르면, 스마트 전략 모듈을 사용하여 배터리, 대기 시간 및 예측을 최적화하기 위해 온 디바이스, 서버 및 MEC 서버 기반 모델들의 최적 사용 전략을 렌더링한다.
본 개시를 설명하기 위해 특정 언어가 사용되었지만, 이와 관련하여 발생하는 제한은 의도되지 않는다. 당업자에게 명백한 바와 같이, 본 명세서에서 교시된 본 개시의 개념을 구현하기 위해 방법에 다양한 작업 수정이 이루어질 수도 있다.
도면 및 전술한 설명은 실시예들의 예를 제공한다. 당업자는 설명된 요소들 중 하나 이상이 단일 기능 요소로 잘 결합될 수 있다는 것을 이해할 것이다. 대안적으로는, 특정 요소들이 여러 기능 요소들로 분할될 수도 있다. 일 실시예의 요소들이 다른 실시예에 추가될 수도 있다. 예를 들어, 본 명세서에 설명된 프로세스들의 순서는 변경될 수도 있으며 여기에 설명된 방식으로 제한되지 않는다.
더욱이, 흐름도의 동작들은 도시된 순서대로 구현될 필요가 없으며, 모든 동작들을 반드시 수행할 필요도 없다. 또한, 다른 동작들에 의존하지 않는 동작들은 다른 동작들과 병행하여 수행될 수도 있다. 본 실시예들의 범위는 이러한 특정 예들에 의해 결코 제한되지 않는다. 본 명세서에 명시적으로 제공되어 있는지 여부와 관계없이, 구조, 치수 및 재료 사용의 차이와 같은 다양한 변형이 가능하다. 실시예들의 범위는 적어도 다음의 청구 범위에 의해 주어진 것만큼 넓다.
이득, 다른 이점 및 문제에 대한 해결책이 특정 실시예들과 관련하여 위에서 설명되었다. 그러나 이득, 이점, 문제에 대한 해결책 및 이득, 이점 또는 해결책을 발생시키거나 더 현저하게 만들 수 있는 임의의 구성 요소(들)가 청구 범위의 일부 또는 전체의 중요, 필수 또는 본질적 기능 또는 구성 요소인 것으로 해석되어서는 안된다.

Claims (15)

  1. 예측 분석 모델(predictive analysis model)이 제공되는 사용자 장치(UE, user-equipment) 및 예측 분석 모델이 제공되는 네트워킹 노드를 포함하는 네트워킹 환경에서 멀티미디어 컨텐츠 스트리밍 측면에서 QoE(quality-of-experience)를 촉진하기 위한 애플리케이션을 선택적으로 배치하는 방법에 있어서,
    상기 UE에 대한 상기 예측 분석 모델의 버전, 상기 UE 내의 현재 프로세서 점유, 및 상기 UE 내의 전력 레벨에 기반하여, 상기 UE에 관한 파라미터들을 캡처하는 동작;
    상기 UE에 의해 액세스되어 있는 액세스 네트워크에 관한 하나 이상의 네트워크 상태들(network conditions)을 관찰하는 동작;
    상기 캡처된 파라미터들 및 상기 관찰된 네트워크 상태들을 분석하는 동작; 및
    상기 분석에 기반하여, 상기 UE에서의 상기 멀티미디어 컨텐츠의 맞춤형 스트리밍을 가능하게 하기 위해, 상기 UE의 상기 예측 분석 모델과 상기 네트워킹 노드의 상기 예측 분석 모델 사이에서 선택하도록 추론하는 동작을 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 UE에 관한 파라미터들을 캡처하는 동작은 상기 UE의 현재 미디어 버퍼 레벨(buffer-level)을 캡처하는 동작을 더 포함하는, 방법.
  3. 제 1 항에 있어서,
    상기 액세스 네트워크에 관한 네트워크 상태들을 관찰하는 동작은,
    데이터 세그먼트(data-segment) 다운로드 시간, 상기 UE와 서버 간의 라운드트립 시간(roundtrip-time), 및 상기 액세스 네트워크에 대한 이력 처리량(historical throughput) 중 하나 이상을 추출하는 동작을 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 예측 분석 모델을 선택하도록 추론하는 동작은,
    상기 UE 또는 상기 네트워킹 노드에서 머신 러닝(ML, machine-learning) 기반 트레이닝 모델을 실행하는 동작을 포함하고, 상기 ML 기반 트레이닝 모델은 복수의 타입의 ML 메커니즘들의 실행을 통해 이용 가능한 적응형 비트 레이트 기술 알고리즘의 커스터마이제이션(customization)에 의해 획득되는, 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 예측 분석 모델(predictive analysis model)을 포함하는 사용자 장치(UE, user-equipment) 및 예측 분석 모델(predictive analysis model)을 포함하는 네트워킹 노드를 포함하는 네트워킹 환경에서 멀티미디어 컨텐츠 스트리밍 측면에서 QoE(quality-of-experience)를 촉진하기 위한 애플리케이션을 선택적으로 배치하는 시스템에 있어서,
    상기 UE에 대한 상기 예측 분석 모델의 버전, 상기 UE 내의 현재 프로세서 점유, 상기 UE 내의 전력 레벨에 기반하여, 상기 UE에 관한 파라미터들을 캡처하도록 설정된 캡처 모듈;
    상기 UE에 의해 액세스되어 있는 액세스 네트워크에 관한 하나 이상의 네트워크 상태들을 관찰하도록 설정된 관찰 모듈;
    상기 캡처된 파라미터들 및 상기 관찰된 네트워크 상태들을 분석하고, 상기 분석에 기반하여, 상기 UE에서의 상기 멀티미디어 컨텐츠의 맞춤형 스트리밍을 가능하게 하기 위해, 상기 UE의 상기 예측 분석 모델과 상기 네트워킹 노드의 상기 예측 분석 모델 사이에서 선택하기 위해 추론하도록 설정된 추론 모듈을 포함하는, 시스템.
  13. 제 12 항에 있어서,
    상기 관찰 모듈은, 데이터 세그먼트 다운로드 시간, 상기 UE와 서버 간의 라운드트립 시간, 및 상기 액세스 네트워크에 대한 이력 처리량 중 하나 이상을 추출함으로써 상기 액세스 네트워크에 관한 상태들을 관찰하도록 설정되며,
    상기 추론 모듈은, 상기 UE 또는 상기 네트워킹 노드에서 머신 러닝(ML, machine learning) 기반 트레이닝 모델을 실행함으로써 상기 예측 분석 모델을 선택하도록 설정되고, 상기 ML 기반 트레이닝 모델은 복수의 타입의 ML 메커니즘들의 실행을 통해 이용 가능한 적응형 비트 레이트 기술 알고리즘의 커스터마이제이션에 의해 획득되는, 시스템.
  14. 삭제
  15. 삭제
KR1020217027176A 2019-02-25 2020-02-24 사용자 중심 컨텐츠 스트리밍을 위한 방법 및 시스템 KR102592036B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IN201941007335??? 2019-02-25
IN201941007335 2019-02-25
IN201941007335 2019-09-09
PCT/KR2020/002602 WO2020175866A1 (en) 2019-02-25 2020-02-24 Method and system for user-oriented streaming of content

Publications (2)

Publication Number Publication Date
KR20210121148A KR20210121148A (ko) 2021-10-07
KR102592036B1 true KR102592036B1 (ko) 2023-10-23

Family

ID=72242299

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217027176A KR102592036B1 (ko) 2019-02-25 2020-02-24 사용자 중심 컨텐츠 스트리밍을 위한 방법 및 시스템

Country Status (5)

Country Link
US (1) US11956506B2 (ko)
EP (1) EP3912361A4 (ko)
KR (1) KR102592036B1 (ko)
CN (1) CN113475089B (ko)
WO (1) WO2020175866A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11509703B2 (en) * 2018-09-26 2022-11-22 Vmware, Inc. System and method for widescale adaptive bitrate selection
US20230379774A1 (en) * 2020-10-21 2023-11-23 Nokia Technologies Oy Systems, apparatuses and methods for cognitive service driven handover optimization
CN113014968B (zh) * 2021-02-24 2022-02-08 南京大学 一种基于强化学习的多用户动态码率视频传输方法及系统
US11829971B2 (en) * 2021-10-15 2023-11-28 Block, Inc. Methods and systems for intent-based attribution schedule
US11689600B1 (en) * 2022-04-29 2023-06-27 At&T Intellectual Property I, L.P. Network capacity planning based on application performance
US11910032B1 (en) * 2022-08-02 2024-02-20 Rovi Guides, Inc. Systems and methods for distributed media streaming
EP4329256A1 (en) * 2022-08-25 2024-02-28 Nokia Solutions and Networks Oy Prediction of a metric of quality of a network
CN115514660B (zh) * 2022-09-07 2024-01-19 北京达佳互联信息技术有限公司 数据缓存方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093605A1 (en) * 2009-10-16 2011-04-21 Qualcomm Incorporated Adaptively streaming multimedia
US20170026713A1 (en) * 2015-03-26 2017-01-26 Carnegie Mellon University System and Method for Dynamic Adaptive Video Streaming Using Model Predictive Control
US20170347159A1 (en) * 2016-05-30 2017-11-30 Samsung Sds Co., Ltd. Qoe analysis-based video frame management method and apparatus

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8843427B1 (en) * 2011-07-01 2014-09-23 Google Inc. Predictive modeling accuracy
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
KR101823321B1 (ko) 2013-05-24 2018-01-31 쏘닉 아이피, 아이엔씨. 적응적 비트레이트 스트리밍을 위해 적응적 양자화를 갖고 다수의 비디오 스트림들을 인코딩하는 시스템들 및 방법들
EP2916544A1 (en) * 2014-03-06 2015-09-09 Alcatel Lucent Method to determine the quality of a video stream
US10298985B2 (en) 2015-05-11 2019-05-21 Mediamelon, Inc. Systems and methods for performing quality based streaming
KR101795537B1 (ko) * 2016-02-24 2017-12-04 경북대학교 산학협력단 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법
US10476943B2 (en) 2016-12-30 2019-11-12 Facebook, Inc. Customizing manifest file for enhancing media streaming
EP3439308A1 (en) 2017-07-31 2019-02-06 Zhilabs S.L. Determination of qoe in encrypted video streams using supervised learning
US20190102695A1 (en) 2017-09-29 2019-04-04 Coupa Software Incorporated Generating machine learning systems using slave server computers
CN108063961B (zh) 2017-12-22 2020-07-31 深圳市云网拜特科技有限公司 一种基于强化学习的自适应码率视频传输方法以及系统
CN108391143B (zh) 2018-04-24 2020-10-27 南京邮电大学 一种基于q学习的无线网络视频传输自适应控制方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110093605A1 (en) * 2009-10-16 2011-04-21 Qualcomm Incorporated Adaptively streaming multimedia
US20170026713A1 (en) * 2015-03-26 2017-01-26 Carnegie Mellon University System and Method for Dynamic Adaptive Video Streaming Using Model Predictive Control
US20170347159A1 (en) * 2016-05-30 2017-11-30 Samsung Sds Co., Ltd. Qoe analysis-based video frame management method and apparatus

Also Published As

Publication number Publication date
KR20210121148A (ko) 2021-10-07
CN113475089A (zh) 2021-10-01
EP3912361A4 (en) 2022-11-16
EP3912361A1 (en) 2021-11-24
CN113475089B (zh) 2024-04-19
US11956506B2 (en) 2024-04-09
WO2020175866A1 (en) 2020-09-03
US20220191592A1 (en) 2022-06-16

Similar Documents

Publication Publication Date Title
KR102592036B1 (ko) 사용자 중심 컨텐츠 스트리밍을 위한 방법 및 시스템
Martin et al. Network resource allocation system for QoE-aware delivery of media services in 5G networks
US11102131B2 (en) Method and apparatus for dynamically adapting a software defined network
US9787745B1 (en) Content delivery
da Costa Filho et al. Predicting the performance of virtual reality video streaming in mobile networks
Pang et al. Towards low latency multi-viewpoint 360 interactive video: A multimodal deep reinforcement learning approach
US20220239758A1 (en) Distributed Machine-Learning Resource Sharing and Request Routing
Lekharu et al. Deep learning based prediction model for adaptive video streaming
CN106134215A (zh) 用户体验质量QoE预测装置、网络设备和方法
US20220368744A1 (en) System and method for dynamic manipulation of content presentation
CN111211984B (zh) 优化cdn网络的方法、装置及电子设备
US11134023B2 (en) Network path redirection
US10242322B2 (en) Browser-based selection of content request modes
CN117063180A (zh) 经由生成对抗性网络的减少的带宽消耗
Babooram et al. Performance analysis of collaborative real-time video quality of service prediction with machine learning algorithms
Aguilar-Armijo et al. ECAS-ML: Edge computing assisted adaptation scheme with machine learning for HTTP adaptive streaming
Tosic et al. Soft sensors in wireless networking as enablers for SDN based management of content delivery
US11902472B2 (en) Application routing based on user experience metrics learned from call transcripts
US20230412479A1 (en) Local management of quality of experience in a home network
Baydeti et al. Cloud based simulation model for traffic flow optimization in online social networks
US20220303306A1 (en) Compression of uniform resource locator sequences for machine learning-based detection of target category examples
US20240114190A1 (en) Interactive Video Streaming For 3D Applications
US20230334114A1 (en) Artificial intelligence-based personalized content creation workflow
US20240046161A1 (en) Method and system for training of artificial intelligence and machine learning models
US20220374930A1 (en) Machine learning models with accurate data labeling

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