KR20190088380A - 딥 러닝 기반 적응형 멀티미디어 스트리밍 제공방법 및 그 시스템 - Google Patents

딥 러닝 기반 적응형 멀티미디어 스트리밍 제공방법 및 그 시스템 Download PDF

Info

Publication number
KR20190088380A
KR20190088380A KR1020180087206A KR20180087206A KR20190088380A KR 20190088380 A KR20190088380 A KR 20190088380A KR 1020180087206 A KR1020180087206 A KR 1020180087206A KR 20180087206 A KR20180087206 A KR 20180087206A KR 20190088380 A KR20190088380 A KR 20190088380A
Authority
KR
South Korea
Prior art keywords
user terminal
multimedia
network
quality
deep learning
Prior art date
Application number
KR1020180087206A
Other languages
English (en)
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 KR20190088380A publication Critical patent/KR20190088380A/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/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
    • 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
    • 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/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/2407Monitoring of transmitted content, e.g. distribution time, number of downloads

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

멀티미디어 스트리밍 제공방법이 개시된다. 본 발명의 멀티미디어를 재생하는 사용자 단말, 서비스 서버 및 상기 멀티미디어를 제공하는 스토리지 서버에 의해 수행되는 멀티미디어 스트리밍 제공방법은 상기 서비스 서버가 상기 사용자 단말로부터 네트워크 품질 정보를 포함한 매트릭(matric)을 수신하는 단계; 상기 서비스 서버가 상기 매트릭에 상응하는 딥 러닝 모델에 의해 상기 사용자 단말의 네트워크 품질 등급을 선정하여 상기 사용자 단말로 회신하는 단계; 상기 사용자 단말이 상기 스토리지 서버에 선정된 상기 네트워크 품질 등급의 멀티미디어를 요청하는 단계; 및 상기 스토리지 서버가 상기 요청된 네트워크 품질 등급의 멀티미디어의 적어도 하나의 세그먼트를 상기 사용자 단말로 전송하는 단계를 포함한다. 상기 서비스 서버는 상기 사용자 단말에 대한 네트워크 상태로부터의 학습 데이터를 기초로 딥 러닝 모델을 생성하고, 상기 딥 러닝 모델에 기반한 상기 네트워크 품질 등급을 선정한다.

Description

딥 러닝 기반 적응형 멀티미디어 스트리밍 제공방법 및 그 시스템{MUTIMEDIA STREAMING METHOD AND SYSTEM THEREOF}
본 발명은 멀티미디어 스트리밍 방법 및 그 시스템에 관한 것으로, 보다 상세하게는 사용자 단말의 네트워크 환경을 고려한 딥 러닝 기반 적응형 멀티미디어 스트리밍 방법 및 그 시스템에 관한 것이다.
오늘날 네트워크의 발달과 더불어 모바일 단말기의 대중화로 인해 데스크톱, 태블릿 PC, 스마트 폰 등을 통한 멀티미디어 스트리밍 서비스를 이용하는 사용자들이 증가하고 있다. 이에 멀티미디어 스트리밍 서비스를 제공하는 서비스 제공자들은 소비자의 니즈에 따라 멀티미디어를 안정적으로 제공하기 위해 서비스 품질과 사용자 체감품질 향상을 중요시하게 되었다.
멀티미디어 스트리밍 서비스 제공시 유튜브(You Tube®) 등과 같은 웹 스트리밍 서비스가 자주 사용됨에 따라 HTTP 프로토콜을 이용한 서비스가 가능한 적응형 스트리밍 서비스 기술 중 하나인 DASH(Dynamic Adaptive Streaming over HTTP;이하 DASH라 한다)가 널리 사용되고 있다.
모바일 단말기는 무선 네트워크 인프라를 이용하여 멀티미디어를 스트리밍 하는데, 쉽게 변동하는 네트워크 상태 때문에 멀티미디어 스트리밍 서비스의 품질 변화에 민감하다. DASH는 클라이언트의 네트워크, 버퍼의 상태, 품질 변화 횟수를 고려하여 멀티미디어 품질을 조절한다. 그러나 현재의 DASH 기술은 변화무쌍한 네트워크 상태에 적절히 대응하지 못하는 문제가 있다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출과정에서 습득한 기술정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
한국 등록특허 제10-1518046호, 2015.04.29 등록
본 발명은 유동적인 네트워크 환경에서 멀티미디어 컨텐츠를 안정적으로 제공하는 멀티미디어 스트리밍 제공방법 및 그 시스템을 제시하는데 목적이 있다.
상술한 기술적 과제를 해결하기 위하여, 멀티미디어를 재생하는 사용자 단말, 서비스 서버 및 상기 멀티미디어를 제공하는 스토리지 서버에 의해 수행되는 멀티미디어 스트리밍 제공방법은 상기 서비스 서버가 상기 사용자 단말로부터 네트워크 품질 정보를 포함한 매트릭(matric)을 수신하는 단계; 상기 서비스 서버가 상기 매트릭에 상응하는 딥 러닝 모델에 의해 상기 사용자 단말의 네트워크 품질 등급을 선정하여 상기 사용자 단말로 회신하는 단계; 상기 사용자 단말이 상기 스토리지 서버에 선정된 상기 네트워크 품질 등급의 멀티미디어를 요청하는 단계; 및 상기 스토리지 서버가 상기 요청된 네트워크 품질 등급의 멀티미디어의 적어도 하나의 세그먼트를 상기 사용자 단말로 전송하는 단계를 포함한다.
상기 서비스 서버는 상기 사용자 단말에 대한 네트워크 상태로부터의 학습 데이터를 기초로 상기 딥 러닝 모델을 생성하고, 상기 딥 러닝 모델에 기반한 상기 네트워크 품질 등급을 선정한다.
상기 서비스 서버가 회신하는 단계 이전에 상기 네트워크 상태을 기설정된 조건으로 임의변경하며 각 조건의 네트워크 상태에서 모든 품질 등급의 멀티미디어를 재생하는 단계; 각 조건에서 버퍼링이 발생하지 않는 가장 높은 품질 등급의 네트워크 정보를 라벨링하여 학습데이터를 생성하는 단계; 및 상기 학습데이터를 축적하여 상기 딥 러닝 모델을 업데이트하는 단계를 포함할 수 있다.
상기 기설정된 조건은 복수의 기설정된 쓰루풋(throughput), 레이턴시(latency) 및 에러 비율(error rate)을 조합한 것일 수 있다.
상기 멀티미디어 스트리밍 제공방법은 상기 사용자 단말이 요청한 멀티미디어의 모든 세그먼트를 수신할 때까지 상기 단계들을 반복하는 단계를 더 포함한다.
상기 딥 러닝 모델은 상기 사용자 단말이 요청한 멀티미디어 유형에 따라 선택되는 기본 타입용 모델, 스포츠 타입용 모델 및 음악 타입용 모델을 포함할 수 있다.
상기 멀티미디어 스트리밍 제공방법은 상기 매트릭에 포함된 멀티미디어 유형에 기초하여 상기 딥 러닝 모델 중 선택된 어느 하나의 모델에 따라 상기 사용자 단말의 네트워크 품질 등급을 학습하고, 상기 멀티미디어의 네트워크 품질 등급을 선정할 수 있다.
상술한 기술적 과제를 해결하기 위하여, 본 발명의 일 실시예에 따른 멀티미디어 스트리밍 시스템은 재생을 원하는 멀티미디어를 요청하고 네트워크 상태에 대한 매트릭을 전송하는 사용자 단말; 상기 매트릭에 기초하여 선정된 상기 네트워크 상태에 대한 품질 등급을 상기 사용자 단말로 회신하는 서비스 서버; 및 복수의 품질 등급의 멀티미디어를 저장하며, 상기 사용자 단말로부터 요청된 상기 멀티미디어의 적어도 하나의 세그먼트를 상기 선정된 품질 등급으로 상기 사용자 단말로 전송하는 스토리지 서버를 포함한다.
상기 서비스 서버는 상기 사용자 단말에 대한 상기 네트워크 상태로부터의 학습 데이터를 기초로 딥 러닝 모델을 생성하고, 상기 딥 러닝 모델에 기반한 상기 품질 등급을 선정한다.
상기 딥 러닝 모델은 상기 사용자 단말에서 상기 네트워크 환경을 기설정된 조건으로 임의변경하며 각 조건의 네트워크 상태에서 모든 품질 등급의 멀티미디어를 재생하여, 각 조건에서 버퍼링이 발생하지 않는 가장 높은 품질 등급의 네트워크 정보를 라벨링하여 생성된 학습데이터를 축적한 것일 수 있다.
상기 딥 러닝 모델은 상기 사용자 단말이 요청한 멀티미디어 유형에 따라 선택되는 기본 타입용 모델, 스포츠 타입용 모델 및 음악 타입용 모델을 포함할 수 있다.
상기 서비스 서버는 상기 매트릭에 포함된 멀티미디어 유형에 기초하여 상기 딥 러닝 모델 중 선택된 어느 하나의 모델에 따라 상기 사용자 단말의 네트워크 품질 등급을 학습하고, 상기 멀티미디어의 네트워크 품질 등급을 선정할 수 있다.
본 발명의 실시예들에 따른 멀티미디어 스트리밍 제공방법 및 그 시스템에 따르면, 딥 러닝(Deep Learning) 모델을 적용함으로써, 컨텐츠 유형 및 유동적인 네트워크 환경에 적응적으로 최적 품질의 비트레이트(bit Rate)로 멀티미디어를 제공하는 효과가 있다.
본 발명의 실시예들에 따른 멀티미디어 스트리밍 제공방법 및 그 시스템에 따르면, 적어도 하나의 딥 러닝 모델을 적용함으로써, 컨텐츠 유형 및 유동적인 네트워크 환경에도 불구하고 안정적으로 고화질의 멀티미디어를 사용자 단말에 제공하는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 멀티미디어 스트리밍 시스템을 나타낸 도면이다.
도 2는 도 1에 도시된 멀티미디어 스트리밍 시스템의 일 실시예이다.
도 3은 본 발명의 일 실시예에 따른 멀티미디어 스트리밍 제공방법을 나타낸 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 멀티미디어 스트리밍 제공방법을 나타낸 흐름도이다.
도 5는 딥 러닝 모델의 학습 데이터 생성을 위해 사용자 단말에 전송하는 테스트 동영상에 대한 설정 조건이다.
도 6은 도 2에 도시된 실시예들에 따른 멀티미디어 스트리밍 제공방법을 적용하기 전후의 실험 결과를 나타낸 그래프이다.
도 7은 도 1에 도시된 멀티미디어 스트리밍 시스템의 다른 실시예이다.
도 8은 도 7에 도시된 서비스 서버를 보다 구체적으로 나타낸 도면이다.
도 9는 도 7에 도시된 실시예에 따른 멀티미디어 스트리밍 제공방법을 나타낸 흐름도이다.
도 10은 도 7의 실시예에 따른 멀티미디어 스트리밍 제공방법을 적용한 실험 결과를 나타낸 표이다.
이하, 도면을 참조하여 본 발명을 실시하기 위한 구체적인 내용을 실시 예에 기초하여 설명한다. 이들 실시 예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시 예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시 예에 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시 예로 구현될 수 있다. 또한, 각각의 개시된 실시 예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는 적절하게 설명된다면 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있는 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백히 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 바람직한 실시 예들에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 멀티미디어 스트리밍 시스템을 나타낸 도면이고, 도 2는 도 1에 도시된 멀티미디어 스트리밍 시스템의 일 실시예이다.
멀티미디어 스트리밍 시스템은 사용자 단말(100), 서비스 서버(200) 및 스토리지 서버(300)를 포함한다. 사용자 단말(100)과 서비스 서버(200), 사용자 단말(100)과 스토리지 서버(300) 간에는 네트워크(400)를 통해 서로 통신할 수 있다.
네트워크(400)는 네트워크 주소 사이에서 인터넷 프로토콜(IP) 패킷, 프레임 중계 프레임, 비동기식 전송 모드(ATM) 셀, 또는 다른 정보를 통신할 수 있다. 네트워크(400)는 하나 이상의 근거리 네트워크(LAN), 대도시 네트워크(MAN), 광역 네트워크(WAN), 인터넷과 같은 글로벌 네트워크의 전부 또는 일부, 또는 하나 이상의 위치에 있는 모든 다른 통신 시스템이나 시스템들을 포함할 수 있다.
네트워크(400)는 적어도 하나의 서버(200 또는 300)와 사용자 단말(100) 간의 통신을 용이하게 한다. 각각의 서버(200 및 300)는 하나 이상의 클라이언트 장치에 컴퓨팅 서비스를 제공할 수 있는 모든 적합한 컴퓨팅 또는 처리 장치를 포함한다. 각각의 서버는 예를 들어, 하나 이상의 처리 장치, 지시 및 데이터를 저장하는 하나 이상의 메모리, 및 네트워크(400)를 통해 통신을 용이하게 하는 하나 이상의 네트워크 인터페이스를 포함할 수 있다
사용자 단말(100)은 네트워크(400)를 통해 적어도 하나의 서버 또는 다른 컴퓨팅 장치(들)과 인터렉트하는 모든 적합한 컴퓨팅 또는 처리 장치를 나타낸다. 본 예에서, 사용자 단말(100)은 데스크톱 컴퓨터, 휴대 전화 또는 스마트폰, 개인 휴대용 정보 단말기(PDA), 랩톱 컴퓨터, 및 태블릿 컴퓨터를 포함한다.
특히 사용자 단말(100)과 서비스 서버(200)는 웹-소켓(Web Socket)을 통해 연결될 수 있다.
HTTP를 통한 동적 적응 스트리밍(DASH)은 최근에 3GPP 및 MPEG에 의해 표준화되었다. MICROSOFT®에 의한 부드러운 스트리밍 및 APPLE®에 의한 HTTP 라이브 스트리밍(HLS)과 같은 적응 HTTP 스트리밍에 대한 여러 가지 다른 독점적인 솔루션들이 현재 시중에서 효율적으로 사용되고 있다. 반면에, DASH는 상이한 구현들 간의 상호 운용성을 구동하는 완전 개방 및 표준화된 미디어 스트리밍 솔루션이다.
사용자 단말(100)은 재생을 원하는 멀티미디어를 요청하고 네트워크 상태에 대한 매트릭(matric,I)를 전송한다. 사용자 단말(100)은 서비스 서버(200)로부터 상기 매트릭(I)에 상응하여 선정된 품질등급을 수신하고, 해당 품질등급의 멀티미디어를 스토리지 서버(300)로 요청한다. 사용자 단말(100)은 멀티미디어가 종료될 때까지 스토리지 서버(300)로부터 요청된 품질등급의 멀티미디어의 세그먼트들을 수신하여 재생한다.
보다 구체적으로 설명하면, 사용자 단말(100)은 웹 소켓을 통해 서비스 서버에 접속해, 각 세그먼트의 URL과 멀티미디어 컨텐츠의 정보를 표시하는 MPD(Media Presentation Description; 이하 MPD)을 매트릭(I)으로 요청한다.
MPD는 여러 개의 구간(period)으로 구성되어 있고, 각 구간은 다양한 비트율의 리프레젠테이션(representation)을 포함한다. 리프레젠테이션은 비트율과 해상도에 대한 정보를 포함한다. 세그먼트 정보(Segment Info)에는 세그먼트의 재생시간과 세그먼트의 URL주소가 저장된다. 사용자 단말(100)은 세그먼트 정보로 스토리지 서버(300)에 저장된 멀티미디어의 목록과 세그먼트 URL주소를 알 수 있고, 서비스 서버(200)는 메트릭(I)을 통해 사용자 단말(100)에 대한 네트워크 상태를 판단(Q)하여 멀티미디어 품질을 조절한다.
사용자 단말(100)은 ABR 컨트롤러(110) 및 멀티미디어 재생부(120)를 포함한다.
ABR 컨트롤러(110)는 원할한 멀티미디어 스트리밍을 위해 기설정된 알고리즘의 ABR(Adaptive Bitrate Rules)로 네트워크 품질을 측정하여 메트릭(I)으로 서비스 서버(200)로 전송한다.
멀티미디어 재생부(120)는 요청된 멀티미디어가 종료될 때까지 스토리지 서버(300)로부터 수신된 멀티미디어의 세그먼트들을 재생한다.
스토리지 서버(300)는 복수의 멀티미디어 컨텐츠를 저장할 수 있으며, 각 멀티미디어 컨텐츠는 적어도 하나 이상의 세그먼트로 구현될 수 있다. 또한 스토리지 서버(300)는 복수의 품질 등급으로 상기 복수의 멀티미디어 컨텐츠를 저장할 수 있다.
스토리지 서버(300)는 DASH(Dynamic Adaptive Streaming over HTTP) 프로토콜에 따라 멀티미디어를 스트리밍할 수 있다. 스토리지 서버(300)는 MPEG-4 또는 MPEG-2 Transport Stream 패킷으로 구성되고, 복수의 품질등급으로 구분된 멀티미디어를 기설정된 소정 크기의 세그먼트(301-1 내지 301-N)로 구성하고, 상기 세그먼트에 접근하기 위한 주소 정보가 포함되어 있는 MPD(Media Presentation Description) 파일을 사용자 단말(100) 또는 서비스 서버(200)로 제공할 수 있다.
서비스 서버(200)는 딥 러닝 기반 DASH를 이용한 멀티미디어 스트리밍 서비스를 지원한다. 보다 구체적으로 설명하면, 서비스 서버(200)는 사용자 단말(100)이 전송하는 매트릭(I)에 상응하여 적어도 하나의 딥 러닝 모델에 의해 선정된 상기 네트워크 상태에 대한 품질 등급(Q)을 상기 사용자 단말로 회신한다.
서비스 서버(200)는 사용자 단말(100)에 대한 네트워크 상태로부터의 학습 데이터를 기초로 적어도 하나의 딥 러닝 모델을 생성하고, 상기 딥 러닝 모델에 기반한 상기 네트워크 품질 등급을 선정한다. 이때 딥 러닝 모델은 쓰루풋(throughput), 레이턴시(latency)와 비트레이트 비율을 포함한 데이터 세트를 활용하여 학습된다. 쓰루풋과 레이턴시는 네트워크 환경과 관련된 변수이고, 비트레이트 비율은 현재 재생량 대비 다운로드양을 나타내는 변수로서 딥 러닝 모델 학습에 활용된다. 비트 레이트 비율은 수학식 1과 같이 정의되고, 이때 t는 재생시간(play time)을 의미한다.
Figure pat00001
서비스 서버(200)는 원본 로그 DB(210), 품질 학습부(220) 및 품질 선택부(230)를 포함한다. 원본 로그 DB(210)는 복수의 MPD 파일 각각에 관한 복수의 원본 로그 파일을 저장한다. 품질 학습부(220)는 딥 러닝 모델을 생성하고 업데이트한다. 품질 선택부(230)는 적어도 하나의 딥 러닝 모델을 통해 매트릭에 상응하는 품질 등급을 선정(Q)하여 사용자 단말(100)로 알려준다. 서비스 서버(200)는 원본 로그 DB(210)로부터 원본 로그 파일을 로드하여, 상기 원본 로그 파일의 칼럼을 추출하고 가공한다. 품질 학습부(220)는 기 설정된 조건의 쓰루풋(throughput), 레이턴시(latency)와 비트레이트 비율을 포함한 데이터 세트로 사용자 단말(100)의 네트워크 상태를 임의 변경하고, 임의 변경된 네트워크 상태에서 상기 가공된 원본 로그에 따라 모든 품질 등급의 멀티미디어 세그먼트를 재생한다. 품질 학습부(220)는 각각 설정된 조건에서 버퍼링이 발생하지 않는 가장 높은 품질 등급의 네트워크 정보를 라벨링하여 학습데이터를 생성한다. 품질 학습부(220)는 생성된 학습데이터를 축적하여 해당 딥 러닝 모델을 생성 및 업데이트한다.
품질 선택부(230)는 품질 학습부(220)에서 생성 및 업데이트한 딥 러닝 모델에 기초하여 사용자 단말(100)이 전송한 매트릭(I)에 상응하는 품질 등급(Q)을 선정한다. 품질 선택부(230)는 매트릭으로부터 쓰루풋, 레이턴시 및 비트레이트 비율에 대한 정보를 추출하여 네트워크 상태에 대한 품질 등급을 선정할 수 있다.
도 3은 본 발명의 일 실시예에 따른 멀티미디어 스트리밍 제공방법을 나타낸 흐름도이고, 도 4는 본 발명의 일 실시예에 따른 멀티미디어 스트리밍 제공방법을 나타낸 흐름도이다.
도 3를 참조하면, 사용자 단말(100)은 네트워크 상태의 품질을 측정하여(S10), 측정된 품질 정보를 포함한 매트릭(I)을 서비스 서버(200)로 전송한다(S11).
서비스 서버(200)는 수신된 매트릭에서 네트워크 상태 정보를 추출하여, 딥 러닝 모델로부터 상기 매트릭에 상응하는 품질 등급(Q)을 선정한다(S21). 이때 딥 러닝 모델은 도 4에 의해 학습된다.
도 4를 참고하면, 서비스 서버(200)는 원본 로그 파일을 로드하여(S40), 로딩된 파일의 칼럼을 추출 및 가공한다. 이때 기설정된 조건의 쓰루풋(throughput), 레이턴시(latency)와 비트레이트 비율을 포함한 데이터 세트로 사용자 단말(100)의 네트워크 상태를 임의 변경하고, 임의 변경된 네트워크 상태에서 상기 가공된 원본 로그에 따라 모든 품질 등급의 멀티미디어 세그먼트를 재생한다(S41). 서비스 서버(200)는 각각 설정된 조건에서 버퍼링이 발생하지 않는 가장 높은 품질 등급의 네트워크 정보를 라벨링하여 학습데이터를 생성한다(S43). 서비스 서버(200)는 생성된 학습데이터를 축적하여 딥 러닝 모델을 생성 및 업데이트한다(S44).
다시 도 3에 따르면, 서비스 서버(200)는 딥 러닝 모델로부터 상기 매트릭에 상응하여 품질등급 X를 선정하고, 그 결과를 전송한다(S22). 전송되는 결과에는 품질등급 X에 대한 정보 및 사용자 단말이 요청한 멀티미디어 정보가 결합된 MPD 파일이 전송될 수 있다. 사용자 단말(100)은 스토리지 서버(300)로 서비스 서버(200)로부터 수신한 품질등급 X로 멀티미디어 파일을 요청한다(S13). 이때 사용자 단말이 스토리지 서버로 전송한 정보는 품질등급 X 정보를 포함한 MPD 파일일 수 있다.
스토리지 서버(300)는 사용자 단말(100)의 요청에 따라 품질 등급 X로 해당 멀티미디어의 세그먼트를 사용자 단말로 전송한다(S31). 사용자 단말(100)은 스토리지 서버로부터 수신된 세그먼트를 재생하고(S15), 해당 멀티미디어의 마지막 세그먼트가 재생될 때까지 S10단계 내지 S15단계를 반복한다.
그 결과 유동적인 네트환경에 적응적으로 최적 품질의 비트레이트(bit Rate)로 멀티미디어를 제공할 수 있다. 또한, 사용자 단말의 위치 변화 또는 사용환경 변화에 따른 유동적인 네트워크 환경에도 불구하고 안정적으로 고화질의 멀티미디어를 사용자 단말에 제공하는 효과가 있다.
도 5는 딥 러닝 모델의 학습 데이터 생성을 위해 사용자 단말에 전송하는 테스트 동영상에 대한 설정 조건이고, 도 6은 도 2에 도시된 실시예들에 따른 멀티미디어 스트리밍 제공방법을 적용하기 전후의 실험 결과를 나타낸 그래프이다.
딥 러닝 모델을 적용한 멀티미디어 스트리밍 제공방법에 대한 적용효과를 테스트하기 위해 소정의 동영상을 테스트하였다. 도 5에 도시된 표는 “Big Buck Bunny™”라는 단편영화를 프레임율과 비트율 기준으로 10개의 품질 등급으로 구분하여 도시한 것이다. 서비스 서버는 이에 대한 정보를 원본 로그 파일로 저장하여 딥 러닝 모델로 학습한다.
먼저 서비스 서버를 딥 러닝 모델로 학습시키지 않은 조건에서, 사용자 단말이 서비스 서버가 선정해 주는 품질 등급으로 해당 단편영화를 1000kbps의 대역폭으로 재생하면, 도 6(a)에 도시된 바와 같이 총 재생시간 동안 3250kbps의 일정한 비트레이트로 재생을 한다.
그러나 서비스 서버가 기 설정된 조건의 쓰루풋(throughput), 레이턴시(latency)와 비트레이트 비율을 포함한 데이터 세트로 사용자 단말(100)의 네트워크 상태를 임의 변경하여 모든 품질 등급에서 재생하여 딥 러닝 모델을 학습한 후, 사용자 단말이 딥 러닝 모델에 의해 선정된 품질 등급으로 1000kbps의 대역폭으로 해당 단편영화를 재생하면 도 6(b)와 같이 총 재생시간 동안 네트워크 상태에 따라 적응적으로 최적 품질의 비트레이트로 변경해가면서 세그먼트를 재생하는 것을 확인할 수 있다.
따라서, 본 발명의 실시예들에 따른 멀티미디어 스트리밍 제공방법 및 그 시스템에 따르면, 딥 러닝(Deep Learning) 모델을 적용함으로써, 유동적인 네트워크 환경에 적응적으로 최적 품질의 비트레이트(bit Rate)로 멀티미디어를 제공하는 효과가 있다.
도 7은 도 1에 도시된 멀티미디어 스트리밍 시스템의 다른 실시예이고, 도 8은 도 7에 도시된 서비스 서버를 보다 구체적으로 나타낸 도면이다. 설명의 편의를 위해 도 2에 도시된 실시예와의 차이점을 위주로 설명한다.
멀티미디어 스트리밍 시스템은 사용자 단말(500), 서비스 서버(700) 및 스토리지 서버(600)를 포함한다. 사용자 단말(500)과 서비스 서버(700), 사용자 단말(500)과 스토리지 서버(600) 간에는 네트워크(400)를 통해 서로 통신할 수 있다.
사용자 단말(500)과 서비스 서버(700)는 웹-소켓(Web Soket)을 통해 연결될 수 있다.
사용자 단말(500)은 재생을 원하는 멀티미디어를 요청하고 네트워크 상태에 대한 매트릭(matric,I)를 전송한다. 사용자 단말(500)은 서비스 서버(700)로부터 상기 매트릭(I)에 상응하여 선정된 품질등급을 수신하고, 해당 품질등급의 멀티미디어를 스토리지 서버(600)로 요청한다. 사용자 단말(500)은 멀티미디어가 종료될 때까지 스토리지 서버(600)로부터 요청된 품질등급의 멀티미디어의 세그먼트들을 수신하여 재생한다.
보다 구체적으로 설명하면, 사용자 단말(500)은 웹 소켓을 통해 서비스 서버(700)에 접속해, 각 세그먼트의 URL과 멀티미디어 컨텐츠의 정보를 표시하는 MPD(Media Presentation Description; 이하 MPD)을 매트릭(I)으로 요청한다.
이 경우 매트릭(I)은 멀티미디어 컨텐츠의 유형에 관한 정보를 포함한다. 즉, 일 예로 컨텐츠 유형으로는 기본 타입, 스포츠 타입, 뮤직 타입으로 구분할 수 있다. 뮤직 타입은 적은 개수의 이미지와 음악으로 구성된 컨텐츠로서, 음성이 끊기지 않고 전달되는 것이 중요하나 영상의 화질은 고려하지 않는 유형의 컨텐츠이다. 스포츠 타입은 많은 개수의 이미지와 음성으로 구성된 컨텐츠로서, 결정적인 순간을 놓치기 위해 영상화질이 중요하다. 즉 스포츠 타입은 사용자가 화질에 대해 만족할만한 수준의 영상도 끊기지 않고 전달되어야 하며, 음성도 동시에 끊기지 않고 영상과 동기화되어 전달되어야 하는 유형의 컨텐츠이다.
MPD는 여러 개의 구간(period)으로 구성되어 있고, 각 구간은 다양한 비트율의 리프레젠테이션(representation)을 포함한다. 리프레젠테이션은 비트율과 해상도에 대한 정보를 포함한다. 세그먼트 정보(Segment Info)에는 세그먼트의 재생시간과 세그먼트의 URL주소가 저장된다. 사용자 단말(500)은 세그먼트 정보로 스토리지 서버(600)에 저장된 멀티미디어의 목록과 세그먼트 URL주소를 알 수 있고, 서비스 서버(700)는 메트릭(I)을 통해 사용자 단말(500)에 대한 네트워크 상태 및 컨텐츠 유형을 판단(Q)하여 멀티미디어 품질을 조절한다.
사용자 단말(500)은 ABR 컨트롤러(510) 및 멀티미디어 재생부(520)를 포함한다.
ABR 컨트롤러(510)는 원할한 멀티미디어 스트리밍을 위해 기설정된 알고리즘의 ABR(Adaptive Bitrate Rules)로 네트워크 품질을 측정하고, 사용자가 설정한 컨텐츠 유형에 대한 정보를 메트릭(I)으로 서비스 서버(700)로 전송한다.
멀티미디어 재생부(520)는 요청된 멀티미디어가 종료될 때까지 스토리지 서버(700)로부터 수신된 멀티미디어의 세그먼트들을 재생한다.
스토리지 서버(600)는 복수의 멀티미디어 컨텐츠를 저장할 수 있으며, 각 멀티미디어 컨텐츠는 적어도 하나 이상의 세그먼트로 구현될 수 있다. 또한 스토리지 서버(600)는 복수의 품질 등급으로 상기 복수의 멀티미디어 컨텐츠를 저장할 수 있다.
스토리지 서버(600)는 DASH(Dynamic Adaptive Streaming over HTTP) 프로토콜에 따라 멀티미디어를 스트리밍할 수 있다. 스토리지 서버(600)는 MPEG-4 또는 MPEG-2 Transport Stream 패킷으로 구성되고, 복수의 품질등급으로 구분된 멀티미디어를 기설정된 소정 크기의 세그먼트(601-1 내지 601-N)로 구성하고, 상기 세그먼트에 접근하기 위한 주소 정보가 포함되어 있는 MPD(Media Presentation Description) 파일을 사용자 단말(500) 또는 서비스 서버(700)로 제공할 수 있다.
서비스 서버(700)는 딥 러닝 기반 DASH를 이용한 멀티미디어 스트리밍 서비스를 지원한다. 보다 구체적으로 설명하면, 서비스 서버(700)는 사용자 단말(500)이 전송하는 매트릭(I)에 상응하여 적어도 하나의 딥 러닝 모델에 의해 선정된 상기 네트워크 상태에 대한 품질 등급(Q)을 상기 사용자 단말로 회신한다.
서비스 서버(700)는 사용자 단말(500)에 대한 네트워크 상태 및 컨텐츠 유형으로부터의 학습 데이터를 기초로 둘 이상의 딥 러닝 모델을 생성하고, 컨텐츠 유형에 따라 선택된 딥 러닝 모델에 기반한 네트워크 품질 등급(Q)을 선정한다. 이때 선택된 각각의 딥 러닝 모델은 쓰루풋(throughput), 레이턴시(latency)와 비트레이트 비율을 포함한 데이터 세트를 활용하여 네트워크 품질 등급을 학습한다. 쓰루풋과 레이턴시는 네트워크 환경과 관련된 변수이고, 비트레이트 비율은 현재 재생량 대비 다운로드양을 나타내는 변수로서 딥 러닝 모델 학습에 활용된다. 비트 레이트 비율은 상기 수학식 1과 같이 정의된다.
일 예로 서비스 서버(700)는 컨텐츠 유형에 따라 기본 타입용 모델(710), 스포츠 타입용 모델(720) 및 음악 타입용 모델(730)을 포함한다. 이때 컨텐츠 유형은 앞서 설명한 대로 컨텐츠 유형으로는 기본 타입, 스포츠 타입, 뮤직 타입으로 구분되는 경우이다. 각각의 모델은 재생할 컨텐츠 유형에 따라 각각 다르게 설정되는 품질 인덱스로 학습한 딥 러닝 모델이다.
다른 예로 컨텐츠 유형이 3 타입 이상인 경우 서비스 서버(700)의 딥 러닝 모델 또한 컨텐츠 유형의 개수에 상응하여 각각 생성될 수 있다.
먼저, 기본 타입용 모델은 데이터 수집부(711), 품질 라벨링부(712), 품질 학습부(713) 및 품질 선택부(714)를 포함하고, 도 2에서 설명한 바와 동일하다.
스포츠 타입 모델(AI 베이스 모델 II, 720)은 딥 러닝 학습부(721) 및 품질 선택부(722)를 포함한다. 스포츠 타입 모델은 사용자 단말(500)이 메트릭(I)을 통해 스포츠 타입의 컨텐츠 유형을 요청하면, 실시간 네트워크 상태인 쓰루풋 및 레이턴시 등을 확인하여 학습한다. 스포츠 타입 모델의 품질 선택부는 학습된 정보를 기초로 사용자 단말(500)이 메트릭(I)을 통해 전달받은 실시간 네트워크 환경에서 가장 적합한 네트워크 품질 정보(Q)를 선정하여 사용자 단말(500)에 알려준다.스포츠 관련 멀티미디어 컨텐츠는 사용자가 화질에 대해 만족할만한 수준의 영상도 끊기지 않고 전달되어야 하며, 음성도 동시에 끊기지 않고 영상과 동기화되어 전달되어야 한다. 동일한 영상을 동일한 네트워크 환경에서 재생할 경우 스포츠 타입 모델은 기본 타입 모델에서 예측하는 품질 인덱스에서 조정된 인덱스로 학습한다. 일 예로 X라는 동영상을 기설정된 네트워크 속도 환경에서 기본 타입 모델은 네트워크 품질 정보를 5로 선정하였다면, 스포츠 타입 모델은 X라는 동영상의 화질은 조금 낮추되 끊기지 않고 전송되도록 네트워크 품질 정보를 3으로 선정할 수 있다.
뮤직 타입 모델(AI 베이스 모델 III, 730)은 딥 러닝 학습부(731) 및 품질 선택부(732)를 포함한다. 뮤직 타입 모델은 사용자 단말(500)이 메트릭(I)을 통해 뮤직 타입의 컨텐츠 유형을 요청하면, 실시간 네트워크 상태인 쓰루풋 및 레이턴시 등을 확인하여 학습한다. 뮤직 타입 모델의 품질 선택부는 학습된 정보를 기초로 사용자 단말(500)이 메트릭(I)을 통해 전달받은 실시간 네트워크 환경에서 가장 적합한 네트워크 품질 정보(Q)를 선정하여 사용자 단말(500)에 알려준다. 뮤직 관련 멀티미디어 컨텐츠는 적은 개수의 이미지와 음악으로 구성된 컨텐츠로서, 사용자의 QoE(Quality of Experience)를 고려하면, 음성이 끊기지 않고 전달되는 것이 중요하나 영상의 화질은 고려하지 않는다. 동일한 영상을 동일한 네트워크 환경에서 재생할 경우 뮤직 타입 모델은 기본 타입 모델에서 예측하는 품질 인덱스에서 조정된 인덱스(스포츠 타입보다 더 낮은)로 학습한다. 일 예로 Y라는 동영상을 기설정된 네트워크 속도 환경에서 기본 타입 모델은 네트워크 품질 정보를 5로 선정하였다면, 뮤직 타입 모델은 화질이 상관없이 음악이 끊기지 않고 전송되도록 네트워크 품질 정보를 2 또는 1로 선정할 수 있다.
원본 로그 DB(800)는 복수의 MPD 파일 각각에 관한 복수의 원본 로그 파일을 저장한다. 서비스 서버(700)는 원본 로그 DB(800)로부터 원본 로그 파일을 로드하여, 상기 원본 로그 파일의 칼럼을 추출하고 가공한다. 품질 학습부는 기 설정된 조건의 쓰루풋(throughput), 레이턴시(latency)와 비트레이트 비율을 포함한 데이터 세트로 사용자 단말(500)의 네트워크 상태를 임의 변경하고, 임의 변경된 네트워크 상태에서 상기 가공된 원본 로그에 따라 모든 품질 등급의 멀티미디어 세그먼트를 재생한다. 딥러닝 학습부는 각각 설정된 조건에서 버퍼링이 발생하지 않는 가장 높은 품질 등급의 네트워크 정보를 라벨링하여 학습데이터를 생성한다. 딥러닝 학습부는 생성된 학습데이터를 축적하여 해당 딥 러닝 모델을 생성 및 업데이트한다.
도 9는 도 7에 도시된 실시예에 따른 멀티미디어 스트리밍 제공방법을 나타낸 흐름도이다.
도 9를 참고하면, 사용자 단말(500)은 네트워크 상태의 품질을 측정하여(S100), 측정된 품질 정보를 포함한 매트릭(I)을 서비스 서버(700)로 전송한다(S101).
서비스 서버(700)는 수신된 매트릭(I)에서 컨텐츠 정보 및 네트워크 상태 정보를 추출하여, 딥 러닝 모델을 선택하고(S102), 선택된 딥 러닝 모델에 기초하여 상기 매트릭에 상응하는 품질 등급(Q)을 선정한다(S103). 이때 딥 러닝 모델은 도 4와 같이 학습된다.
서비스 서버(700)는 선택된 딥 러닝 모델로부터 상기 매트릭(I)에 상응하여 품질등급 Q를 선정하고, 그 결과를 전송한다(S104). 전송되는 결과에는 품질등급 Q에 대한 정보 및 사용자 단말이 요청한 멀티미디어 정보가 결합된 MPD 파일이 전송될 수 있다. 사용자 단말(500)은 스토리지 서버(600)로 서비스 서버(700)로부터 수신한 품질등급 Q로 멀티미디어 파일을 요청한다(S105). 이때 사용자 단말이 스토리지 서버로 전송한 정보는 품질등급 정보를 포함한 MPD 파일일 수 있다.
스토리지 서버(600)는 사용자 단말(500)의 요청에 따라 품질 등급 Q로 해당 멀티미디어의 세그먼트를 사용자 단말로 전송한다(S106). 사용자 단말(500)은 스토리지 서버(600)로부터 수신된 세그먼트를 재생하고(S107), 해당 멀티미디어의 마지막 세그먼트가 재생될 때까지 S100단계 내지 S107단계를 반복한다(S108).
그 결과 컨텐츠 유형 및 유동적인 네트환경에 적응적으로 최적 품질의 비트레이트(bit Rate)로 멀티미디어를 제공할 수 있다. 또한, 사용자 단말의 위치 변화 또는 사용환경 변화에 따른 유동적인 네트워크 환경에도 불구하고 안정적으로 고화질의 멀티미디어를 사용자 단말에 제공하는 효과가 있다.
도 10은 도 7의 실시예에 따른 멀티미디어 스트리밍 제공방법을 적용한 실험 결과를 나타낸 표이다.
도 10을 참고하면, 도시된 표는 기본 타입 모델을 학습하기 위한 데이터의 품질 등급을 기준으로 하고, 스포츠 타입 모델의 품질 등급 데이터는 기설정된 제1값만큼 감소시켜 학습하고, 뮤직 타입 모델의 품질 등급 데이터는 기설정된 제2값만큼 감소시켜 학습한 것이다. 이때 제1값은 제2값보다 크다.
표는 1.6Mbps, 3.5Mbps, 8.5Mbps로 네트워크 대역폭을 제한하였을 때와 네트워크 제한을 하지 않았을 때 4가지의 상황을 테스트하였을 때, 네트워크 환경에 따라 컨텐츠 유형별로 재생하였을 때의 결과이다.
기본 타입으로 재생했을 경우 네트워크 속도 8.5Mbps 일 때에도 0.1초 정도의 버퍼링이 다소 발생하였지만 이보다 화질을 조금 더 낮춘 Sport Type으로 재생하였을 경우 3.5Mbps까지도 버퍼링이 발생하지 않았다. 버퍼링이 일어나지 않을 정도로 학습시킨 Music Type으로 재생하였을 경우 설정한 네트워크 환경 모두 버퍼링이 없는 안정적인 모습을 보였다.
보다 구체적으로 설명하면, 네트워크 속도 1.6Mbps인 경우 각각의 딥러닝 모델의 품질등급 인덱스는 기본 타입 5.5, 스포츠 타입 3, 뮤직 타입 2로 각각 예측되었다. 이렇게 학습된 각 컨텐츠 유형의 딥 러닝 모델에서 동일한 영상을 재생하면, 기본 타입 모델에 기초한 네트워크 품질 선정에 따라 69회의 버퍼링, 54회의 프레임 드롭이 발생한다. 반면 스포츠 타입 모델에 기초한 네트워크 품질 선정에 따라 2회의 버퍼링, 46회의 프레임 드롭이 발생하고, 뮤직 타입 모델에 기초한 네트워크 품질 선정에 따라 0회의 버퍼링, 5회의 프레임 드롭이 발생한다. 정리하면, 스포츠 타입은 기본 타입 모델보다 화질을 조금 낮추게 되지만 끊김없이 재생되어야 하므로 프레임 드롭 횟수가 약간 줄어드는 차이는 있지만, 음성이 끊기지 않도록 하는 것이므로 버퍼링 횟수가 줄어드는 효과가 발생한다. 또한 동일한 영상이라도 뮤직 타입은 기본 타입 모델에 비해 영상 화질이 많지 않은데 비해 음성이 끊기지 않아야 하므로 프레임 드롭 횟수는 많이 줄어들되, 버퍼횟수가 0가 되는 것을 볼 수 있다.
즉, 기존에 딥러닝으로 학습한 기본Type의 영상에 비해서 인터넷 속도가 제한될수록 버퍼링이 걸리는 현상이 있었고 스포츠 타입, 뮤직 타입으로 갈수록 버퍼링 횟수가 줄어드는 결과가 나왔다.
본 발명에 따르면 딥러닝 기반 적응형 비디오 스트리밍 서비스에서 사용자의 유형과 요구하는 영상 유형에 따라 QoE(Quality of Experience)의 관점을 적절한 수준의 영상품질을 보장하며 끊김을 최소화한 영상품질의 서비스, 끊김을 최대한 줄이기 위한 서비스 두 가지로 구분하여 끊김 여부가 QoE의 중점인 사용자가 영상의 종류에 따라 다른 품질을 제공받을 수 있는 효과가 있다.
본 발명의 실시예들에 따른 멀티미디어 스트리밍 제공방법 및 그 시스템에 따르면, 딥 러닝 모델을 적용함으로써, 유동적인 네트워크 환경에도 불구하고 안정적으로 고화질의 멀티미디어를 사용자 단말에 제공하는 효과가 있다.
한편, 본 발명의 일 실시 예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 발명은 특정 기능들 및 그의 관계들의 성능을 나타내는 방법 단계들의 목적을 가지고 위에서 설명되었다. 이러한 기능적 구성 요소들 및 방법 단계들의 경계들 및 순서는 설명의 편의를 위해 여기에서 임의로 정의되었다. 상기 특정 기능들 및 관계들이 적절히 수행되는 한 대안적인 경계들 및 순서들이 정의될 수 있다. 임의의 그러한 대안적인 경계들 및 순서들은 그러므로 상기 청구된 발명의 범위 및 사상 내에 있다. 추가로, 이러한 기능적 구성 요소들의 경계들은 설명의 편의를 위해 임의로 정의되었다. 어떠한 중요한 기능들이 적절히 수행되는 한 대안적인 경계들이 정의될 수 있다. 마찬가지로, 흐름도 블록들은 또한 어떠한 중요한 기능성을 나타내기 위해 여기에서 임의로 정의되었을 수 있다. 확장된 사용을 위해, 상기 흐름도 블록 경계들 및 순서는 정의되었을 수 있으며 여전히 어떠한 중요한 기능을 수행한다. 기능적 구성 요소들 및 흐름도 블록들 및 순서들 둘 다의 대안적인 정의들은 그러므로 청구된 본 발명의 범위 및 사상 내에 있다.
본 발명은 또한 하나 이상의 실시 예들의 용어로, 적어도 부분적으로 설명되었을 수 있다. 본 발명의 실시 예는 본 발명, 그 측면, 그 특징, 그 개념, 및/또는 그 예를 나타내기 위해 여기에서 사용된다. 본 발명을 구현하는 장치, 제조의 물건, 머신, 및/또는 프로세스의 물리적인 실시 예는 여기에 설명된 하나 이상의 실시 예들을 참조하여 설명된 하나 이상의 측면들, 특징들, 개념들, 예들 등을 포함할 수 있다. 더구나, 전체 도면에서, 실시 예들은 상기 동일한 또는 상이한 참조 번호들을 사용할 수 있는 상기 동일하게 또는 유사하게 명명된 기능들, 단계들, 모듈들 등을 통합할 수 있으며, 그와 같이, 상기 기능들, 단계들, 모듈들 등은 상기 동일한 또는 유사한 기능들, 단계들, 모듈들 등 또는 다른 것들일 수 있다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.
100,500 : 사용자 단말
200,700 : 서비스 서버
300, 600 : 스토리지 서버
400 : 네트워크
210 , 800 : 원본 로그 DB

Claims (10)

  1. 멀티미디어를 재생하는 사용자 단말, 서비스 서버 및 상기 멀티미디어를 제공하는 스토리지 서버에 의해 수행되는 멀티미디어 스트리밍 제공방법에 있어서,
    상기 서비스 서버가 상기 사용자 단말로부터 네트워크 품질 정보를 포함한 매트릭(matric)을 수신하는 단계;
    상기 서비스 서버가 상기 매트릭에 상응하는 적어도 하나의 딥 러닝 모델에 의해 상기 사용자 단말의 네트워크 품질 등급을 선정하여 상기 사용자 단말로 회신하는 단계;
    상기 사용자 단말이 선정된 상기 네트워크 품질 등급의 멀티미디어를 상기 스토리지 서버에 요청하는 단계; 및
    상기 스토리지 서버가 상기 요청된 네트워크 품질 등급의 적어도 하나의 멀티미디어 세그먼트를 상기 사용자 단말로 전송하는 단계를 포함하고,
    상기 서비스 서버는
    상기 사용자 단말에 대한 네트워크 상태로부터의 학습 데이터를 기초로 상기 딥 러닝 모델을 생성하고, 상기 딥 러닝 모델에 기반한 상기 네트워크 품질 등급을 선정하는 것인, 멀티미디어 스트리밍 제공방법.
  2. 제1항에 있어서, 상기 서비스 서버가 회신하는 단계 이전에
    상기 네트워크 상태를 기설정된 조건으로 임의변경하며 각 조건의 네트워크 상태에서 모든 품질 등급의 멀티미디어를 재생하는 단계;
    각 조건에서 버퍼링이 발생하지 않는 가장 높은 품질 등급의 네트워크 정보를 라벨링하여 학습데이터를 생성하는 단계; 및
    상기 학습데이터를 축적하여 상기 딥 러닝 모델을 업데이트하는 단계를 포함하는 것인, 멀티미디어 스트리밍 제공방법.
  3. 제2항에 있어서, 상기 기설정된 조건은
    복수의 기설정된 쓰루풋(throughput), 레이턴시(latency) 및 에러 비율(error rate)을 조합한 것인, 멀티미디어 스트리밍 제공방법.
  4. 제1항에 있어서, 상기 멀티미디어 스트리밍 제공방법은
    상기 사용자 단말이 요청한 멀티미디어의 모든 세그먼트를 수신할 때까지 상기 단계들을 반복하는 단계를 더 포함하는 것인, 멀티미디어 스트리밍 제공방법.
  5. 제1항에 있어서, 상기 딥 러닝 모델은
    상기 사용자 단말이 요청한 컨텐츠 유형에 따라 선택되는 기본 타입용 모델, 스포츠 타입용 모델 및 음악 타입용 모델을 포함하는 것인, 멀티미디어 스트리밍 제공방법.
  6. 제5항에 있어서, 상기 멀티미디어 스트리밍 제공방법은
    상기 매트릭에 포함된 컨텐츠 유형에 기초하여 상기 딥 러닝 모델 중 선택된 어느 하나의 모델에 따라 상기 사용자 단말의 네트워크 품질 등급을 학습하고, 상기 멀티미디어의 네트워크 품질 등급을 선정하는 것인, 멀티미디어 스트리밍 제공방법.
  7. 재생을 원하는 멀티미디어를 요청하고 네트워크 상태에 대한 매트릭을 전송하는 사용자 단말;
    상기 매트릭에 상응하는 적어도 하나의 딥 러닝 모델에 의해 선정된 상기 네트워크 상태에 대한 품질 등급을 상기 사용자 단말로 회신하는 서비스 서버; 및
    복수의 품질 등급의 멀티미디어를 저장하며, 상기 사용자 단말로부터 요청된 상기 멀티미디어의 적어도 하나의 세그먼트를 상기 선정된 품질 등급으로 상기 사용자 단말로 전송하는 스토리지 서버를 포함하고,
    상기 서비스 서버는
    상기 사용자 단말에 대한 상기 네트워크 상태로부터의 학습 데이터를 기초로 상기 딥 러닝 모델을 생성하고, 상기 딥 러닝 모델에 기반한 상기 품질 등급을 선정하는 것인, 멀티미디어 스트리밍 시스템.
  8. 제7항에 있어서, 상기 딥 러닝 모델은
    상기 사용자 단말에서 상기 네트워크 환경을 기설정된 조건으로 임의변경하며 각 조건의 네트워크 상태에서 모든 품질 등급의 멀티미디어를 재생하여,
    각 조건에서 버퍼링이 발생하지 않는 가장 높은 품질 등급의 네트워크 정보를 라벨링하여 생성된 학습데이터를 축적하는 것인, 멀티미디어 스트리밍 시스템.
  9. 제7항에 있어서, 상기 딥 러닝 모델은
    상기 사용자 단말이 요청한 컨텐츠 유형에 따라 선택되는 기본 타입용 모델, 스포츠 타입용 모델 및 음악 타입용 모델을 포함하는 것인, 멀티미디어 스트리밍 시스템.
  10. 제9항에 있어서, 상기 서비스 서버는
    상기 선택된 딥 러닝 모델에 따라 상기 사용자 단말의 네트워크 품질 등급을 학습하고, 상기 멀티미디어의 네트워크 품질 등급을 선정하는 것인, 멀티미디어 스트리밍 시스템.
KR1020180087206A 2018-01-18 2018-07-26 딥 러닝 기반 적응형 멀티미디어 스트리밍 제공방법 및 그 시스템 KR20190088380A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20180006808 2018-01-18
KR1020180006808 2018-01-18

Publications (1)

Publication Number Publication Date
KR20190088380A true KR20190088380A (ko) 2019-07-26

Family

ID=67469843

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180087206A KR20190088380A (ko) 2018-01-18 2018-07-26 딥 러닝 기반 적응형 멀티미디어 스트리밍 제공방법 및 그 시스템

Country Status (1)

Country Link
KR (1) KR20190088380A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210017658A (ko) * 2019-08-09 2021-02-17 주식회사 엘지유플러스 영상 전송 환경을 최적화하는 방법 및 장치
WO2021030294A1 (en) 2019-08-15 2021-02-18 Hulu, LLC Prediction-based dropped frame handling logic in video playback
WO2022098216A1 (en) * 2020-11-06 2022-05-12 Samsung Electronics Co., Ltd. Methods and systems for generating personalized data-streaming for a multimedia playback device
KR102527986B1 (ko) * 2022-11-23 2023-05-02 (주)뉴인 인공 지능 기반 버퍼 크기 조절을 통한 영상 스트리밍 시스템 및 방법
US11812081B2 (en) 2020-11-02 2023-11-07 Hulu, LLC Session based adaptive playback profile decision for video streaming

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101518046B1 (ko) 2014-07-16 2015-05-18 서울대학교산학협력단 비디오 스트리밍 방법 및 비디오 스트리밍 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101518046B1 (ko) 2014-07-16 2015-05-18 서울대학교산학협력단 비디오 스트리밍 방법 및 비디오 스트리밍 시스템

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210017658A (ko) * 2019-08-09 2021-02-17 주식회사 엘지유플러스 영상 전송 환경을 최적화하는 방법 및 장치
WO2021030294A1 (en) 2019-08-15 2021-02-18 Hulu, LLC Prediction-based dropped frame handling logic in video playback
US11025987B2 (en) 2019-08-15 2021-06-01 Hulu, LLC Prediction-based representation selection in video playback
JP2022545623A (ja) * 2019-08-15 2022-10-28 フル・エルエルシー ビデオプレイバックにおける予測ベースドロップフレームハンドリング論理
EP4014480A4 (en) * 2019-08-15 2023-09-27 Hulu, LLC ABORTED FRAME PROCESSING LOGIC BASED ON VIDEO PLAYBACK PREDICTION
US11812081B2 (en) 2020-11-02 2023-11-07 Hulu, LLC Session based adaptive playback profile decision for video streaming
WO2022098216A1 (en) * 2020-11-06 2022-05-12 Samsung Electronics Co., Ltd. Methods and systems for generating personalized data-streaming for a multimedia playback device
US11451847B2 (en) 2020-11-06 2022-09-20 Samsung Electronics Co., Ltd. Methods and systems for generating personalized data-streaming for a multimedia playback device
KR102527986B1 (ko) * 2022-11-23 2023-05-02 (주)뉴인 인공 지능 기반 버퍼 크기 조절을 통한 영상 스트리밍 시스템 및 방법

Similar Documents

Publication Publication Date Title
KR20190088380A (ko) 딥 러닝 기반 적응형 멀티미디어 스트리밍 제공방법 및 그 시스템
US10305947B2 (en) Pre-buffering audio streams
JP4819873B2 (ja) 可変ビットレート・データのデータパケット送信を制御する技術
US20150006621A1 (en) Adaptive Video Streaming for Information Centric Networks
US8400491B1 (en) Use-based adaptive video client for a bandwidth-constrained network
JP5889311B2 (ja) ストリーミングの適応制御における方法及び装置
JP5673538B2 (ja) 配信システム
US9282134B2 (en) Content delivery system
EP1879353B1 (en) Contents distribution system, contents distribution server, contents reproduction terminal, and contents distribution method
US20200296470A1 (en) Video playback method, terminal apparatus, and storage medium
GB2540442A (en) A method and system for facilitating broadcast transmission in a distributed content delivery network
US20240137585A1 (en) Multiple protocol prediction and in-session adaptation in video streaming
US9665646B1 (en) Method and system for providing bit rate adaptaion to video files having metadata
US20150039721A1 (en) Method and apparatus for controlling traffic using adaptive streaming in multi-media content transmission system
Hwang et al. Eliminating bandwidth estimation from adaptive video streaming in wireless networks
WO2013185547A1 (zh) 一种缓存服务器的服务方法、缓存服务器及系统
KR102304476B1 (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
Nguyen et al. An evaluation of segment duration effects in HTTP adaptive streaming over mobile networks
Mushtaq et al. Quality of experience paradigm in multimedia services: application to OTT video streaming and VoIP services
KR20180024841A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
Lee et al. Quality adaptation scheme for improving QoE of MPEG DASH
US20130042288A1 (en) Method and arrangement for playing out a media object
JP3860957B2 (ja) マルチメディアデータの送出装置
EP2819368A1 (en) Method for providing a content part of a multimedia content to a client terminal, corresponding cache
CN114666609A (zh) 视频数据下载方法、装置、电子设备及存储介质