KR102129115B1 - 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 - Google Patents

컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 Download PDF

Info

Publication number
KR102129115B1
KR102129115B1 KR1020180116404A KR20180116404A KR102129115B1 KR 102129115 B1 KR102129115 B1 KR 102129115B1 KR 1020180116404 A KR1020180116404 A KR 1020180116404A KR 20180116404 A KR20180116404 A KR 20180116404A KR 102129115 B1 KR102129115 B1 KR 102129115B1
Authority
KR
South Korea
Prior art keywords
video
dnn
content
aware
configuration file
Prior art date
Application number
KR1020180116404A
Other languages
English (en)
Other versions
KR20200037015A (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 KR1020180116404A priority Critical patent/KR102129115B1/ko
Publication of KR20200037015A publication Critical patent/KR20200037015A/ko
Application granted granted Critical
Publication of KR102129115B1 publication Critical patent/KR102129115B1/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/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
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
    • 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
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치를 개시한다.
본 실시예의 일 측면에 의하면, 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 클라이언트를 지원하는 서버의 방법은, 비디오를 다운로드 받는 과정, 적어도 하나의 해상도에 따라 상기 다운로드 받은 비디오를 인코딩하는 과정, 상기 인코딩된 비디오를 일정 크기로 분할하는 과정, 상기 인코딩된 비디오를 컨텐츠 인식 DNN(Deep Neural Network)을 이용해 학습하는 과정, 상기 학습된 컨텐츠 인식 DNN에 관한 정보, 상기 인코딩된 비디오에 관한 정보를 포함하는 설정 파일을 생성하는 과정, 및 상기 클라이언트의 요청에 따라 상기 설정 파일을 전송하는 과정을 포함한다.

Description

컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING ADAPTIVE VIDEO IN REAL TIME USING CONTENT-AWARE NEURAL NETWORK}
본 발명은 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
비디오 스트리밍 서비스는 지난 수십년간 빠르게 성장했다. 이러한 비디오 스트리밍 서비스의 품질은 전송 대역폭에 따라 결정되기 때문에 네트워크의 상태가 좋지 않으면 사용자의 QoE(Quality of Experience)도 저하된다. 이를 해결하기 위한 방법으로 서버 측에서는 분산 컴퓨팅 기술이 이용되고 있으며, 클라이언트(즉, 사용자) 측에서는 ABR(Adaptive Bit-Rate) 스트리밍이 전송 대역폭이 변경되거나 시간과 공간에서 변형되는 문제를 해결하는데 이용되고 있다. 그렇지만 이러한 기술들이 전송 대역폭으로부터 완전히 자유로울 수 있는 것은 아니다.
그 외 비디오 스트리밍 서비스의 품질을 개선시키기 위해 더 좋은 코덱 선택, 적응형 비트 전송율 알고리즘의 최적화, 더 좋은 서버와 CDNs(Content Distribution Networks) 선택, 중앙 제어 평면을 통한 클라이언트와 서버간의 코디네이션 등이 이용되고 있다.
본 실시예는, 고품질의 비디오 스트리밍 서비스를 사용자에게 제공하는데 주된 목적이 있다. 본 실시예에 의하면 동일 품질의 비디오 스트리밍 서비스를 종래 기술보다 좁은 전송 대역폭으로 사용자에게 제공할 수 있다.
본 실시예의 일 측면에 의하면, 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 클라이언트를 지원하는 서버의 방법은, 비디오를 다운로드 받는 과정, 적어도 하나의 해상도에 따라 상기 다운로드 받은 비디오를 인코딩하는 과정, 상기 인코딩된 비디오를 일정 크기로 분할하는 과정, 상기 인코딩된 비디오를 컨텐츠 인식 DNN(Deep Neural Network)을 이용해 학습하는 과정, 상기 학습된 컨텐츠 인식 DNN에 관한 정보, 상기 인코딩된 비디오에 관한 정보를 포함하는 설정 파일을 생성하는 과정, 및 상기 클라이언트의 요청에 따라 상기 설정 파일을 전송하는 과정을 포함한다.
상기 시스템의 실시예들은 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 클라이언트를 지원하는 서버 장치는, 비디오를 다운로드 받고, 상기 클라이언트의 요청에 따라 설정 파일을 전송하는 송수신부와, 적어도 하나의 해상도에 따라 상기 다운로드 받은 비디오를 인코딩하고, 상기 인코딩된 비디오를 일정 크기로 분할하고, 상기 인코딩된 비디오를 컨텐츠 인식 DNN(Deep Neural Network)을 이용해 학습하여, 상기 학습된 컨텐츠 인식 DNN에 관한 정보, 상기 인코딩된 비디오에 관한 정보를 포함하는 상기 설정 파일로 생성하는 제어부를 포함할 수 있다.
본 실시예의 다른 측면에 의하면, 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 클라이언트의 방법은, 서버 장치로부터 다운로드 받을 비디오에 대한 설정 파일을 다운로드 받는 과정, 상기 설정 파일에 저장된 정보를 이용하여 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정하는 과정, 상기 클라이언트의 성능과 상기 측정된 추론 시간을 이용하여 다운로드 받을 대상을 결정하는 과정, 상기 결정된 대상에 대하여 상기 서버 장치로부터 다운로드 받는 과정, 상기 다운로드 받은 대상이 비디오이면 버퍼에 저장하고, 상기 다운로드 받은 대상이 컨텐츠 인식 DNN의 일부이면 상기 컨텐츠 인식 DNN에 추가하는 과정, 상기 컨텐츠 인식 DNN을 이용해 상기 버퍼에 저장된 비디오의 품질을 개선하는 과정, 및 상기 품질이 개선된 비디오를 실시간으로 재생하는 과정을 포함한다.
본 실시예의 다른 측면에 의하면, 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 클라이언트 장치는, 서버 장치로부터 다운로드 받을 비디오에 대한 설정 파일을 다운로드 받고 결정된 대상에 대하여 상기 서버로부터 다운로드 받는 송수신부와 상기 설정 파일에 저장된 정보를 이용하여 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정하여, 상기 클라이언트의 성능과 상기 측정된 추론 시간을 이용하여 다운로드 받을 상기 대상을 결정하고, 상기 다운로드 받은 대상이 비디오이면 버퍼에 저장하고, 상기 다운로드 받은 대상이 컨텐츠 인식 DNN의 일부이면 상기 컨텐츠 인식 DNN에 추가하고, 상기 컨텐츠 인식 DNN을 이용해 상기 버퍼에 저장된 비디오의 품질을 개선하여, 상기 품질이 개선된 비디오를 실시간으로 재생하는 제어부를 포함한다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 고품질의 비디오 스트리밍 서비스를 사용자에게 제공할 수 있다. 또한, 컨텐츠 인식 DNN(Deep Neural Network)을 이용함으로써, 고품질의 비디오 스트리밍 서비스를 실시간으로 사용자에게 제공할 수 있으며, 클라이언트는 자신의 하드웨어 자원(또는 성능)을 실시간으로 고려하여 비디오 스트리밍 서비스를 최적화할 수 있다. 본 실시예에 의하면, 컨텐츠 제공에 소요되는 전송 대역폭을 감소시켜 컨텐츠 제공자 혹은 CDNs 운영자는 같은 품질의 비디오를 더 적은 비용으로 전달할 수 있다.
도 1은 본 개시의 일 실시예에 따른 시스템의 개요를 나타낸 도면,
도 2는 적응형 비트 전송율을 지원하는 DNN을 나타낸 도면,
도 3은 본 개시의 일 실시예에 따라 적응형 비트 전송율을 지원하는 DNN을 나타낸 도면,
도 4는 본 개시의 일 실시예에 따른 컨텐츠 인식 DNN을 간략히 나타낸 도면,
도 5는 본 개시의 일 실시예에 따른 확장가능한 컨텐츠 인식 DNN을 나타낸 도면,
도 6은 본 개시의 일 실시예에 따른 서버의 순서도를 나타낸 도면,
도 7은 본 개시의 일 실시예에 따른 클라이언트의 순서도를 나타낸 도면,
도 8은 9가지 비디오 에피소드에 대해 본 개시의 일 실시예와 종래 기술의 평균 QoE를 비교해 도시한 도면,
도 9는 본 개시의 일 실시예와 종래 기술의 누적된 QoE를 비교해 도시한 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 개시의 일 실시예에 따른 시스템의 개요를 나타낸 도면이다.
도 1을 참조하면, 본 개시의 일 실시예에 따른 시스템인 NAS(Neural Adaptive Streaming, 이하 'NAS')는 적어도 하나의 비디오를 저장하고 있는 서버(110)와 서버(110)로부터 비디오를 다운로드하면서 실시간으로 재생할 수 있는 클라이언트(120)로 구성될 수 있다.
NAS는 DASH(Dynamic Adaptive Streaming over HTTP)에서 표준화한 HTTP 적응형 스트리밍 뿐만 아니라 다른 스트리밍에도 구현될 수 있다.
서버(110)는 비디오가 전송되면 다양한 비트 전송율(bitrate)로 인코딩한 후 여러 개의 청크(chunk)로 나누어 저장한다. 또한, 서버(110)는 품질 향상을 위해 클라이언트(120)에서 이용할 컨텐츠 인식 DNN(Deep Neural Network, 이하 'DNN')을 학습시킨다. 이후 서버(110)는 학습된 컨텐츠 인식 DNN에 관한 정보, 비트 전송율, 해상도, 인코딩된 비디오를 다운로드 받을 수 있는 URL 등을 설정 파일(예컨대, manifest 파일 등)에 저장할 수 있다.
서버(110)는 상기 비디오를 전송받고, 상기 설정 파일을 전송하는 송수신부(미도시)와 상기 다운로드 받은 비디오를 인코딩하여 일정 크기로 분할하고, 컨텐츠 인식 DNN을 이용해 학습하는 제어부(미도시)로 구성될 수 있다.
클라이언트(120)는 비디오, 컨텐츠 인식 DNN, 설정 파일 등을 서버(110)로부터 다운로드 받을 수 있다. 클라이언트(120)는 먼저 상기 설정 파일을 다운로드 받아 클라이언트(120)에서 사용할 컨텐츠 인식 DNN과 비트 전송율을 결정하고, 결정된 컨텐츠 인식 DNN과 비트 전송율의 비디오를 다운로드 받을 수 있다. 클라이언트(120)는 ABR controller(122), DNN 프로세서(124)와 재생할 비디오를 저장할 버퍼(126)를 포함할 수 있다. ABR controller(122)는 현재 클라이언트(120)의 성능을 고려하여 재생할 비디오의 비트 전송율 및 다운로드할 대상으로 컨텐츠 인식 DNN 또는 비디오를 선택할 수 있다. DNN 프로세서(124)는 경량화된 메커니즘을 이용하여 클라이언트(120)의 리소스에 맞는 최적의 가용 메커니즘을 선택할 수 있다. 클라이언트(120)는 서버(110)로부터 컨텐츠 인식 DNN을 다운로드 받으면 DNN 프로세서(124)로 전달하고, 비디오를 다운로드 받으면 버퍼(126)로 전달한다. DNN 프로세서(124)가 컨텐츠 인식 DNN을 전달받으면 컨텐츠 인식 DNN을 초기화한다. 컨텐츠 인식 DNN은 비디오 화질(또는 품질)의 향상을 위해 프레임 단위로 수행된다. 이후, DNN 프로세서(124)는 다운로드되어 버퍼(126)에 저장된 비디오를 이용해 화질이 개선된 비디오를 생성해 다운로드된 비디오와 교체하여 버퍼(126)에 저장한다. 또는 DNN 프로세서(124)는 다운로드되어 버퍼(126)에 저장된 비디오를 이용해 화질이 개선된 비디오를 생성해 바로 재생할 수도 있다. 이로써 실질적으로 재생이 되는 비디오는 화질이 개선된 비디오가 될 수 있다. 디코딩, 컨텐츠 인식 DNN, 그리고 인코딩은 지연 시간을 최소화하기 위해 파이프라인과 병렬로 처리될 수 있다.
클라이언트(120)는 서버(110)로부터 다운로드 받을 비디오에 대한 설정 파일을 다운로드 받고 비디오 및 컨텐츠 인식 DNN을 다운로드 받는 송수신부(미도시)와 상기 설정 파일에 저장된 정보를 이용하여 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정하여, 상기 클라이언트의 성능과 상기 측정된 추론 시간을 이용하여 다운로드 받을 상기 대상을 결정하고, 상기 다운로드 받은 대상이 비디오이면 버퍼에 저장하고, 상기 다운로드 받은 대상이 컨텐츠 인식 DNN의 일부이면 상기 컨텐츠 인식 DNN에 추가하고, 상기 컨텐츠 인식 DNN을 이용해 상기 버퍼에 저장된 비디오의 품질을 개선하여, 상기 품질이 개선된 비디오를 실시간으로 재생하는 제어부(미도시)로 구성될 수 있다.
서버(110)와 클라이언트(120)의 구성을 제어부와 송수신부로 나누어 설명했으나, 하나의 구성으로 통합되어 구현될 수 있으며 또는 하나의 구성이 여러 개의 구성으로 나누어 구현될 수도 있다.
또한, 도 1에서는 서버와 클라이언트로 나누어 설명하였으나, 서버와 클라이언트 사이에는 프록시(proxy) 서버가 더 포함될 수 있다. 이 경우 프록시 서버는 실시간 비디오 재생을 제외한 도 1에서 설명한 클라이언트의 기능을 수행하고, 클라이언트는 상기 프록시 서버로부터 실시간으로 재생할 수 있는 비디오를 수신하여 재생할 수 있다.
도 2는 적응형 비트 전송율을 지원하는 DNN을 나타낸 도면이다.
일반적인 DNN은 적응형 비트 전송율을 지원하기 어렵다. 적응형 비트 전송율을 지원하기 위해서는 다중 해상도를 입력으로 할 수 있어야 하며, DNN에 의한 추론이 실시간으로 수행되어야 한다. 즉, 시스템이 DNN을 이용해 비디오의 화질을 개선하고, 클라이언트가 적응형 비트 전송율(adaptive bitrate)을 지원한다면, 서버는 다양한 비트 전송율(또는 해상도)에 따라 DNN을 학습시켜야 한다. 여기서, 비트 전송율과 해상도는 특정한 관계에 있다. 예를 들면, 고해상도의 비디오를 실시간으로 재생하기 위해서는 비트 전송율은 높아야 하나, 저해상도의 비디오를 실시간으로 재생하는 경우에는 비트 전송율이 높을 필요는 없다. 그 외 비디오의 크기(가로, 세로)도 해상도와 비트 전송율에 영향을 미칠 수 있다.
도 2는 예를들어 해상도가 240p, 360p, 480p, 720p인 비디오를 입력해 1080p인 비디오를 출력하는 DNN을 나타낸 것이다. 이 때 DNN은 입력 해상도와 관계없이 적용될 블록(즉, 레이어)과 입력 해상도에 따라 다르게 적용될 블록으로 구성될 수 있다. 이와 같이 DNN을 이용해 서로 다른 저해상도의 비디오(또는 이미지)를 학습시켜 고해상도의 비디오를 출력시킬 수 있는 시스템을 MDSR(Multi-scale Deep Super Resolution) 시스템이라 한다.
도 3은 본 개시의 일 실시예에 따라 적응형 비트 전송율을 지원하는 DNN을 나타낸 도면이다.
도 2와 같은 DNN은 입력 비디오의 해상도와 관계없이 일부 블록을 공유하기 때문에 저장 공간을 줄일 수는 있으나, 입력 비디오의 해상도가 추론시간에 크게 영향을 미칠 수 있다. 예를 들어, 해상도가 720p인 비디오의 추론시간은 해상도가 240p인 비디오의 추론시간보다 약 4.3배 더 걸릴 수 있다. 따라서 해상도가 240p인 비디오는 실시간으로 재생이 가능하나, 해상도가 720p인 비디오는 실시간으로 재생하기 불가능할 수 있다. 만약 고해상도인 비디오를 실시간으로 재생하기 위해 DNN의 구성을 축소하게 되면 해상도가 낮은 비디오의 화질이 좋지 않을 수 있다.
본 개시에서는 이를 해결하기 위해 입력 비디오의 해상도 별로 DNN을 따로 구성할 수 있다. 또한, 각 DNN은 클라이언트의 시간적 변화에 적응할 수 있도록 구성될 수 있다. 예를 들면, 해상도가 240p인 비디오의 DNN(510)은 14개의 레이어(layers)로 구성될 수 있으며, 클라이언트의 시간적인 성능 변화에 따라 8번째 레이어(512)를 실행 후 9번째 레이어(514)와 10번째 레이어(516)를 건너뛰고 11번째 레이어(518)를 실행할 수도 있다. 즉, DNN 추론시간이 비디오를 실시간으로 재생하기에 충분하다면 모든 레이어를 실행할 수 있으나, 그렇지 않다면 일부 레이어의 실행을 생략할 수 있다. 이와 관련하여서는 도 5에서 자세히 설명한다.
DNN에 관한 정보로는 입력 비디오의 해상도, 레이어의 수, 채널의 수, DNN의 용량, 출력 비디오의 품질 등이 될 수 있으며, 서버는 상기 DNN에 관한 정보를 설정 파일에 저장할 수 있다.
도 4는 본 개시의 일 실시예에 따른 컨텐츠 인식 DNN을 간략히 나타낸 도면이다.
비디오의 에피소드가 다양하기 때문에 모든 비디오에 잘 동작하는 범용 DNN 모델을 개발하는 것은 현실적으로 불가능하다. 이에 본 개시에서는 비디오의 에피소드(즉, 배경, 환경 등)마다 다른 DNN을 적용하는 컨텐츠 인식 DNN을 이용한다. 다만, 배경, 환경, 등장인물 등이 유사한 에피소드의 경우 동일한 컨텐츠 인식 DNN을 이용할 수도 있다. 입력 비디오의 해상도, 출력 비디오의 품질, 뿐만 아니라 비디오의 에피소드까지 고려한 컨텐츠 인식 DNN을 학습시키는 것은 시간이나 비용측면에서 비효율적일 수 있다. 본 개시에서는 이를 해결하기 위해 가장 많이 이용되는 에피소드를 일반 모델로 하여 학습한 후, 이를 기초로 다른 에피소드를 학습하여 학습 시간이나 비용 등을 줄일 수 있다. 가장 많이 이용되는 에피소드는 하나일 수도 있지만 여러 개일 수도 있다.
도 5는 본 개시의 일 실시예에 따른 확장 가능한 컨텐츠 인식 DNN을 나타낸 도면이다.
본 개시의 일 실시예에 따른 컨텐츠 인식 DNN은 확장이 가능하다. 상기 컨텐츠 인식 DNN은 필수 구성 요소(510)와 선택적 구성 요소(520)로 나뉠 수 있다. 필수 구성 요소(510)는 반드시 실행되어야 하나, 선택적 구성 요소(520)는 반드시 실행되어야 하는 것은 아니다. 필수 구성 요소(510)는 사전 처리 과정(512)과 사후 처리 과정(514)으로 구성될 수 있다. 선택적 구성 요소(520)는 다중 잔여 블록(522, 524, 526, 528)으로 구성될 수 있다. 또한, 다중 잔여 블록(522, 524, 526, 528)은 각각 2개의 컨볼루션 계층으로 구성될 수 있다. 선택적 구성 요소(520)를 실행하는 경우 재생되는 비디오의 품질은 더 좋아질 수 있다.
서버가 상기 확장 가능한 컨텐츠 인식 DNN을 지원하는 경우, 상기 서버는 필수 구성 요소(510)와 선택적 구성 요소(520)의 포함 여부에 따른 모든 경로에 대해 비디오를 학습시켜야 한다. 따라서 상기 경로는 다양할 수 있다. 학습은 임의로 경로를 지정하여 이루어 질 수 있으며 출력되는 비디오와 원본 비디오 간의 오차가 적도록 학습된다. 학습이 완료되면, 상기 서버는 상기 확장 가능한 컨텐츠 인식 DNN을 청크 단위로 분할하여 저장하고, 상기 분할된 확장 가능한 컨텐츠 인식 DNN이 저장된 위치를 설정 파일에 URL로 저장할 수 있다.
클라이언트가 상기 확장 가능한 컨텐츠 인식 DNN을 이용하는 경우, 먼저 필수 구성 요소(510)를 다운로드 받고, 상기 클라이언트의 실시간 성능(또는 자원)을 고려하여 상기 선택적 구성 요소(520)를 실행할지 여부 및 실행할 구성(522, 524. 526, 528) 등을 비디오 스트리밍 서비스 중에 결정할 수 있다. 상기 클라이언트는 처리중인 비디오 청크의 재생 시간까지 남은 시간을 계산해 이를 기초로 사용할 수 있는 상기 확장 가능한 컨텐츠 인식 DNN의 최대 레이어 수를 계산할 수 있다. 상기 클라이언트는 룩업(look-up) 테이블을 이용해 레이어 수와 추론 시간을 저장할 수 있다. 또한, 상기 클라이언트는 상기 선택적 구성 요소(520)를 서버로부터 다운받을지 여부에 대해서도 결정할 수 있다. 예를 들면, 클라이언트가 파일을 다운로드 받으면서 비디오 스트리밍 서비스를 이용한다면 상기 클라이언트는 상기 비디오 스트리밍 서비스에 이용할 자원이 충분치 않기 때문에 확장 가능한 컨텐츠 인식 DNN의 필수 구성 요소(510)만을 실행할 수 있다. 그러나, 클라이언트가 오로지 비디오 스트리밍 서비스만 이용한다면 필수 구성 요소(510)뿐만 아니라 선택적 구성 요소(520) 또한 실행할 수 있다. 클라이언트가 확장 가능한 컨텐츠 인식 DNN을 이용한다면 전송 시작시 필수 구성 요소(510)만을 수행함으로써 빠르게 비디오 스트리밍 서비스를 사용자에게 제공할 수 있다. 또한, 상기 클라이언트의 자원을 실시간으로 반영할 수 있기 때문에 사용자는 지연없이 비디오 스트리밍 서비스를 이용할 수 있다.
도 6은 본 개시의 일 실시예에 따른 서버의 순서도를 나타낸 도면이다.
상기 서버는 다른 장치로부터 비디오를 다운로드 받는다(610). 상기 비디오는 다양한 클라이언트들을 위해 제공되기 위한 것이다.
상기 서버는 상기 다운로드 받은 비디오를 다양한 해상도 또는 비트 전송율에 따라 인코딩을 한다(620). 해상도와 비트 전송율은 특정한 관계에 있다. 예를 들면, 고해상도의 비디오를 실시간으로 재생하기 위해서는 비트 전송율은 높아야 하나, 저해상도의 비디오를 실시간으로 재생하는 경우에는 비트 전송율이 높을 필요는 없다. 또한 비디오의 크기(가로, 세로)도 해상도와 비트 전송율에 영향을 미칠 수 있다.
상기 서버는 상기 인코딩된 비디오를 청크 단위로 분할한다(630).
상기 서버는 상기 인코딩된 비디오를 이용해 컨텐츠 인식 DNN을 학습시킨다(640). 컨텐츠 인식 DNN은 해상도 별로 따로 학습될 수 있으며, 일반 모델을 이용해 학습될 수도 있다. 일반 모델이 없다면 초기화된 모델을 이용할 수도 있다.
상기 서버는 상기 인코딩된 비디오의 저장 위치, 상기 컨텐츠 인식 DNN에 대한 정보 등을 설정 파일로 생성한다(650). 학습된 컨텐츠 인식 DNN에 관한 정보, 비트 전송율, 해상도, 인코딩된 비디오를 다운로드 받을 수 있는 URL 등이 설정 파일에 저장될 수 있다. 이때 학습된 컨텐츠 인식 DNN에 관한 정보는 인덱스 값일 수도 있다.
도 7은 본 개시의 일 실시예에 따른 클라이언트의 순서도를 나타낸 도면이다.
먼저, 상기 클라이언트는 서버로부터 다운로드 받은 비디오에 대한 설정 파일을 다운로드 받는다(710). 상기 설정 파일에는 상기 다운로드 받을 비디오에 관한 정보 외에도 상기 비디오의 품질을 향상시키는데 이용될 컨텐츠 인식 DNN에 대한 정보도 포함되어 있다. 상기 컨텐트 인식 DNN에 대한 정보는 컨텐트 인식 DNN의 인덱스 정보일 수 있다. 만약, 상기 클라이언트가 저장하고 있는 컨텐츠 인식 DNN이 있다면, 상기 서버와 이에 대한 정보를 공유할 수 있다. 이후 상기 클라이언트는 설정 파일에 저장하고 있는 컨텐츠 인식 DNN이 지시되면 상기 비디오만을 다운로드 받을 수 있다.
상기 클라이언트는 상기 설정 파일에 저장된 정보를 이용하여 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정한다(720). 상기 추론 시간을 측정하기 위해 모든 옵션에 대한 상기 설정 파일에 저장된 컨텐츠 인식 DNN을 다운로드할 수 있다. 그러나, 이 경우 불필요하게 많은 자원과 시간을 낭비할 수 있다. 따라서, 본 개시의 일 실시예에서 상기 클라이언트는 상기 컨텐츠 인식 DNN을 모두 다운로드 하지 않고 상기 설정 파일에 저장된 옵션에 대한 정보를 이용해 임의로 컨텐츠 인식 DNN을 구성할 수 있다. 즉, 실제 사용할 컨텐츠 인식 DNN을 다운로드 받지 않고, 상기 설정 파일에 저장된 입력 비디오의 해상도, 품질 레벨, 레이어의 수, 및 채널의 수 등을 이용해 임의로 컨텐츠 인식 DNN을 구성하여 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정할 수 있다. 이렇게 하는 경우, 상기 클라이언트가 4개의 DNN 옵션을 테스트하는데 소요되는 시간은 일반적인 비디오 청크의 재생 시간보다 적기 때문에 상기 클라이언트는 두 번째 비디오 청크를 재생하기 전에 어떤 옵션의 컨텐츠 인식 DNN을 사용할지 결정할 수 있다. 선택적으로, 상기 클라이언트는 DNN 옵션별로 수행하는데 필요한 추론 시간을 미리 저장하고 이를 이용해 사용할 컨텐츠 인식 DNN을 선택할 수도 있다.
상기 클라이언트는 상기 클라이언트의 성능과 상기 측정된 추론 시간을 이용하여 다운로드 받을 대상을 결정한다(730). 상기 클라이언트는 통합된 ABR 알고리즘(integrated adaptive bitrate algorithm)을 이용해 이후에 재생될 비디오를 다운로드 받거나 컨텐츠 인식 DNN을 다운로드 받을 수 있다. 상기 통합된 ABR 알고리즘은 직접 최적화하는 보강학습(Reinforcement Learning) 프레임 워크를 사용하고 A3C(asynchronous advantage actor-critic)을 딥러닝 알고리즘으로 선택한다. 구체적으로, 관측으로부터 전략(또는 정책)을 배우고 다운로드된 컨텐츠 인식 DNN의 비율, 컨텐츠 인식 DNN으로 인한 품질 향상, 네트워크 처리량 샘플 및 버퍼 점유율과 같은 원시 관측을 결정에 매핑할 수 있다.
보강학습에서 에이전트는 환경과 상호 작용을 한다. 반복되는 t마다 에이전트는 환경에서 상태(st)를 관찰한 후 작업(at)을 수행한다. 이후, 환경은 보상(rt)을 생성하고 상태를 st+1로 갱신한다. 정책(π)은 주어진 상태(st)에서 행동(at)을 취할 확률을 제공하는 함수로 다음과 같이 정의될 수 있다.
π(st, at): → [0, 1]
목표는 미래의 할인 보상의 합(
Figure 112018096302687-pat00001
)을 최대화하는 정책(π)을 학습한다. 여기서,
Figure 112018096302687-pat00002
은 미래 보상에 대한 할인율이다.
또한, 작업의 셋({at})는 컨텐츠 인식 DNN 청크를 다운로드할지 또는 특정 비트 전송율의 비디오 청크를 다운로드할지 여부로 지정할 수 있다. 보상(rt)는 비트 전송율 유틸리티, 재버퍼링 시간 및 선택된 비트 전송율의 평활도의 함수로 QoE 측정항목이 될 수 있다. 상태(st)는 다운로드 받을 남은 컨텐츠 인식 DNN 청크의 개수, 처리량 측정치 및 클라이언트 측정치 (예를 들어, 버퍼 점유율, 과거의 비트 전송율)를 포함할 수 있다. 이후, 컨텐츠 인식 DNN 다운로드 및 품질 향상을 반영하여 환경 보상 및 상태를 업데이트한다. 컨텐츠 인식 DNN 다운로드는 '남은 컨텐츠 인식 DNN 청크의 개수'를 감소시켜 상태를 업데이트할 수 있다. 다운로드된 각 비디오 청크에 대한 보상은 컨텐츠 인식 DNN 기반 품질 향상에 반영하도록 업데이트될 수 있다. 상기 품질 향상은 다운로드된 컨텐츠 인식 DNN의 일부분에 대한 함수일 수 있다. 특히 컨텐츠 인식 DNN이 제공하는 평균 품질 향상에 따른 QoE의 비트율 유틸리티 구성 요소를 향상시킬 수 있다. 표 1은 본 개시에 따른 상태(st)를 나타낸다.
type 상태(St)
DNN status 남은 컨텐츠 인식 DNN 청크의 개수
Network status 과거 N개의 청크에 대한 처리량
과거 N개의 청크를 다운로드 받는데 걸리는 시간
Client status 재생할 비디오를 저장할 버퍼 점유율
다음 비디오 청크의 크기(sizes)
Video status 최근 비디오 청크의 비트 전송율
남은 비디오 청크의 개수
보강학습에서는 정책을 나타내는 배우(actor)와 정책(policy)의 성능을 평가하는 데 사용되는 비평가라는 두 가지 신경 근사를 가지고 있다. 본 개시에서는 배우와 비평 네트워크를 교육시키기 위해 policy gradient method을 이용한다. 에이전트는 먼저 현재 정책(πθ(st, at))에 따라 궤적을 생성한다. 여기서, θ는 배우의 신경망의 매개 변수(또는 가중치)를 나타낼 수 있다. 비판 네트워크는 이러한 궤적을 관찰하고 상태 st에서 시작하여 정책 πθ 를 따르는 동작 z를 취하는 것과 관련하여 예상되는 보상인 동작 값 함수
Figure 112018096302687-pat00003
를 추정하는 방법을 학습한다.
Figure 112018096302687-pat00004
여기서
Figure 112018096302687-pat00005
는 상태 st에서 시작하는 πθ 의 총 예상 보상을 나타내는 값 함수이고, α는 학습 속도이다. 본 개시에 따른 보강학습에서 보상은 컨텐츠 인식 DNN이 제공하는 평균 QoE 향상을 반영하기 때문에 비평 네트워크는 업데이트된 총 보상을 예측하는 방법을 학습한다. 이를 통해 배우(actor)는 QoE를 최대화하기 위해 비디오와 DNN 다운로드의 균형을 유지하는 정책을 학습할 수 있다.
다시 도 7을 참조하여, 상기 클라이언트는 상기 다운로드 받은 대상이 비디오 청크이면 버퍼에 저장하고, 상기 다운로드 받은 대상이 컨텐츠 인식 DNN 청크이면 상기 컨텐츠 인식 DNN에 추가한다(740).
상기 클라이언트는 다운로드 받은 비디오 청크를 컨텐츠 인식 DNN을 이용해 화질을 개선한다(750). 상기 클라이언트는 DNN을 수행하기 위한 전용 DNN 프로세서를 이용할 수 있다.
상기 클라이언트는 화질이 개선된 비디오 청크를 실시간으로 재생한다(760).
도 6과 도 7에서는 각 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 6과 도 7에 기재된 순서를 변경하여 실행하거나 과정들 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 6과 도 7은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 6과 도 7에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
도 8은 9가지 비디오 에피소드에 대해 본 개시의 일 실시예와 종래 기술의 평균 QoE를 비교해 도시한 도면이다.
구체적으로, 해상도 1080p이고 길이가 5분보다 긴 9가지의 비디오 에피소드를 이용해 학습을 위해 80%의 무작위 표본을 사용해 10시간 이상 학습시켰다. Pensieve는 심층 보강학습을 이용하여 QoE를 최대화한 기술이며, MPC는 QoE를 최대화하는 비트 전송율을 선택하기 위해 다음 5개의 청크에 대한 버퍼 점유율과 처리량 예측을 이용한 기술이다. 또한, BOLA는 버퍼 점유율을 기반으로 Lyapunov 최적화한 기술이다.
QoE에 대한 측정항목으로는 QoElin, QoElog, 및 QoEhd를 이용한다. QoElin는 선형 비트 전송율 유틸리티, QoElog는 감소하는 한계 유틸리티를 나타내는 log 비트 전송율, 그리고 QoEhd는 고화질 비디오를 선호하는 정도를 나타낸다. 도 8에서 오차 막대는 평균으로부터의 표준 편차를 나타낸다. 본 개시의 일 실시예에 따른 NAS는 세 가지 QoE 측정 항목 모두에서 모든 비디오 에피소드에 대해 가장 높은 QoE를 나타낸다. NAS는 지속적으로 Pensieve보다 QoElin는 43.08%, QoElog는 36.26%, QoEhd는 42.57% 우수함을 보이고 있다. QoElin을 사용하면 NAS가 Pensieve보다 평균 43.08%성능이 우수하지만 Pensieve는 MPC보다 19.31% 향상된 성능을 보인다. BOLA와 비교하여도 NAS는 92.28% 향상됨을 알 수 있다. 장면 복잡성, 압축 아티팩트, 시간 중복성과 같은 많은 요소가 DNN 성능에 영향을 주기 때문에 QoE 개선은 Pensieve보다 비디오 에피소드에 따라 21.89%(뷰티)에서 76.04%(음악)까지 다양하였다.
도 9는 본 개시의 일 실시예와 종래 기술의 누적된 QoE를 비교해 도시한 도면이다.
도 9는 도 8의 9개의 비디오 에피소드 중 중간값을 나타낸 게임 에피소드를 이용하여 103개 이상의 네트워크 트레이스에 대한 QoE의 누적 분포를 도시한 것이다. NAS는 모든 네트워크 조건에서 이점을 제공한다. 일예로, NAS는 Pensieve보다 QoElin중간값이 58.55 % 향상되었다. 참고로, Pensive는 주로 비트 전송율 유틸리티를 사용하여 재버퍼링을 줄임으로써 MPC에 비해 QoE 이득을 제공한다. 반대로 NAS는 클라이언트 측의 계산을 사용하기 때문에 이러한 절충을 나타내지 않는다. 다른 비디오 에피소드를 도시하지는 않았지만 비슷한 경향을 나타낸다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (23)

  1. 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 서버의 방법에 있어서,
    비디오를 다운로드 받는 과정,
    적어도 하나의 해상도에 따라 상기 다운로드 받은 비디오를 인코딩하는 과정,
    상기 인코딩된 비디오를 일정 크기로 분할하는 과정,
    상기 인코딩된 비디오를 컨텐츠 인식 DNN(Deep Neural Network)을 이용해 학습하는 과정,
    상기 학습된 컨텐츠 인식 DNN에 관한 정보, 상기 인코딩된 비디오에 관한 정보를 포함하는 설정 파일을 생성하는 과정, 및
    클라이언트의 요청에 따라 상기 설정 파일을 전송하는 과정을 포함하는 방법.
  2. 제1항에 있어서,
    상기 인코딩된 비디오에 관한 정보는,
    상기 인코딩된 비디오의 저장 위치, 해상도, 및 비트 전송율 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 학습된 컨텐츠 인식 DNN에 관한 정보는,
    상기 학습된 컨텐츠 인식 DNN의 레이어 수, 채널 수, 저장 위치, 크기, 및 향상된 품질의 정도 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 컨텐츠 인식 DNN은 반드시 수행되는 필수 구성 요소와 선택적으로 수행될 수 있는 선택적 구성 요소로 구성됨을 특징으로 하는 방법.
  5. 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 서버 장치에 있어서,
    비디오를 다운로드 받고, 클라이언트의 요청에 따라 설정 파일을 전송하는 송수신부와,
    적어도 하나의 해상도에 따라 상기 다운로드 받은 비디오를 인코딩하고, 상기 인코딩된 비디오를 일정 크기로 분할하고, 상기 인코딩된 비디오를 컨텐츠 인식 DNN(Deep Neural Network)을 이용해 학습하여, 상기 학습된 컨텐츠 인식 DNN에 관한 정보, 상기 인코딩된 비디오에 관한 정보를 포함하는 상기 설정 파일로 생성하는 제어부를 포함하는 서버 장치.
  6. 제5항에 있어서,
    상기 인코딩된 비디오에 관한 정보는,
    상기 인코딩된 비디오의 저장 위치, 해상도, 및 비트 전송율 중 적어도 하나를 포함하는 것을 특징으로 하는 서버 장치.
  7. 제5항에 있어서,
    상기 학습된 컨텐츠 인식 DNN에 관한 정보는,
    상기 학습된 컨텐츠 인식 DNN의 레이어 수, 채널 수, 저장 위치, 크기, 및 향상된 품질의 정도 중 적어도 하나를 포함하는 것을 특징으로 하는 서버 장치.
  8. 제5항에 있어서,
    상기 컨텐츠 인식 DNN은 반드시 수행되는 필수 구성 요소와 선택적으로 수행될 수 있는 선택적 구성 요소로 구성됨을 특징으로 하는 서버 장치.
  9. 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 다운로드 받는 장치의 방법에 있어서,
    서버 장치로부터 다운로드 받을 비디오에 대한 설정 파일을 다운로드 받는 과정,
    상기 설정 파일에 저장된 정보를 이용하여 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정하는 과정,
    상기 장치의 성능과 상기 측정된 추론 시간을 이용하여 다운로드 받을 대상을 결정하는 과정,
    상기 결정된 대상에 대하여 상기 서버 장치로부터 다운로드 받는 과정,
    상기 다운로드 받은 대상이 비디오이면 버퍼에 저장하고, 상기 다운로드 받은 대상이 컨텐츠 인식 DNN의 일부이면 상기 컨텐츠 인식 DNN에 추가하는 과정, 및
    상기 컨텐츠 인식 DNN을 이용해 상기 버퍼에 저장된 비디오의 품질을 개선하는 과정을 포함하는 방법.
  10. 제9항에 있어서,
    상기 품질이 개선된 비디오를 실시간으로 재생하거나 또는 전송하는 과정을 포함하는 방법.
  11. 제9항에 있어서,
    상기 추론 시간을 측정하는 과정은,
    상기 설정 파일에 저장된 컨텐츠 인식 DNN에 관한 정보를 이용해 임의로 컨텐츠 인식 DNN을 구성해 상기 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정하는 과정임을 특징으로 하는 방법.
  12. 제9항에 있어서,
    상기 설정 파일은
    상기 다운로드 받을 비디오의 저장 위치, 해상도, 및 비트 전송율 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  13. 제9항에 있어서,
    상기 설정 파일은
    상기 컨텐츠 인식 DNN의 레이어 수, 채널 수, 저장 위치, 크기, 및 향상된 품질의 정도 중 적어도 하나를 포함하는 것을 특징으로 하는 방법.
  14. 제9항에 있어서,
    상기 컨텐츠 인식 DNN은 반드시 수행되는 필수 구성 요소와 선택적으로 수행될 수 있는 선택적 구성 요소로 구성됨을 특징으로 하는 방법.
  15. 제9항에 있어서,
    상기 다운로드 받을 대상을 결정하는 과정은,
    보강학습을 프레임 워크를 사용하고 A3C(asynchronous advantage actor-critic)을 딥러닝 알고리즘으로 선택하여 상기 다운로드 받을 대상을 결정하는 과정임을 특징으로 하는 방법.
  16. 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 다운로드 받는 장치에 있어서,
    서버 장치로부터 다운로드 받을 비디오에 대한 설정 파일을 다운로드 받고 결정된 대상에 대하여 상기 서버로부터 다운로드 받는 송수신부와
    상기 설정 파일에 저장된 정보를 이용하여 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정하여, 클라이언트의 성능과 상기 측정된 추론 시간을 이용하여 다운로드 받을 상기 대상을 결정하고, 상기 다운로드 받은 대상이 비디오이면 버퍼에 저장하고, 상기 다운로드 받은 대상이 컨텐츠 인식 DNN의 일부이면 상기 컨텐츠 인식 DNN에 추가하고, 상기 컨텐츠 인식 DNN을 이용해 상기 버퍼에 저장된 비디오의 품질을 개선하는 제어부를 포함하는 장치.
  17. 제16항에 있어서,
    상기 제어부는,
    상기 품질이 개선된 비디오를 실시간으로 재생함을 특징으로 하는 장치.
  18. 제16항에 있어서,
    상기 송수신부는,
    상기 품질이 개선된 비디오를 실시간으로 전송함을 특징으로 하는 장치.
  19. 제16항에 있어서,
    상기 제어부는,
    상기 설정 파일에 저장된 컨텐츠 인식 DNN에 관한 정보를 이용해 임의로 컨텐츠 인식 DNN을 구성해 상기 컨텐츠 인식 DNN의 수행에 필요한 추론 시간을 측정함을 특징으로 하는 장치.
  20. 제16항에 있어서,
    상기 설정 파일은
    상기 다운로드 받을 비디오의 저장 위치, 해상도, 및 비트 전송율 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  21. 제16항에 있어서,
    상기 설정 파일은
    상기 컨텐츠 인식 DNN의 레이어 수, 채널 수, 저장 위치, 크기, 및 향상된 품질의 정도 중 적어도 하나를 포함하는 것을 특징으로 하는 장치.
  22. 제16항에 있어서,
    상기 컨텐츠 인식 DNN은 반드시 수행되는 필수 구성 요소와 선택적으로 수행될 수 있는 선택적 구성 요소로 구성됨을 특징으로 하는 장치.
  23. 제16항에 있어서,
    상기 제어부는,
    보강학습을 프레임 워크를 사용하고 A3C(asynchronous advantage actor-critic)을 딥러닝 알고리즘으로 선택하여 상기 다운로드 받을 대상을 결정함을 특징으로 하는 장치.
KR1020180116404A 2018-09-28 2018-09-28 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치 KR102129115B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180116404A KR102129115B1 (ko) 2018-09-28 2018-09-28 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180116404A KR102129115B1 (ko) 2018-09-28 2018-09-28 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20200037015A KR20200037015A (ko) 2020-04-08
KR102129115B1 true KR102129115B1 (ko) 2020-07-02

Family

ID=70275614

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180116404A KR102129115B1 (ko) 2018-09-28 2018-09-28 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102129115B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102313136B1 (ko) * 2020-07-17 2021-10-15 한국과학기술원 실시간 비디오 스트리밍에서의 초해상화 가속을 위한 장치 및 방법
KR102634627B1 (ko) * 2021-12-14 2024-02-08 주식회사 카이 라이브 스트리밍 방법 및 장치
CN115086663B (zh) * 2022-07-26 2022-11-04 香港中文大学(深圳) 一种基于深度强化学习的多摄像头实时视频传输方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018523182A (ja) 2015-04-28 2018-08-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated 深層畳み込みネットワークにおいて画像解像度を低減すること

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120012089A (ko) * 2010-07-30 2012-02-09 주식회사 시공미디어 스케일러블 비디오 코딩기법을 활용하는 영상 제공 시스템 및 그 방법
US9769536B2 (en) * 2014-12-26 2017-09-19 System73, Inc. Method and system for adaptive virtual broadcasting of digital content

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018523182A (ja) 2015-04-28 2018-08-16 クゥアルコム・インコーポレイテッドQualcomm Incorporated 深層畳み込みネットワークにおいて画像解像度を低減すること

Also Published As

Publication number Publication date
KR20200037015A (ko) 2020-04-08

Similar Documents

Publication Publication Date Title
US11463750B2 (en) Method and apparatus for transmitting adaptive video in real time using content-aware neural network
US11076187B2 (en) Systems and methods for performing quality based streaming
US11611785B2 (en) Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
Spiteri et al. From theory to practice: Improving bitrate adaptation in the DASH reference player
US10298985B2 (en) Systems and methods for performing quality based streaming
Zhang et al. Improving quality of experience by adaptive video streaming with super-resolution
US9571827B2 (en) Techniques for adaptive video streaming
Zhang et al. Video super-resolution and caching—An edge-assisted adaptive video streaming solution
Sengupta et al. HotDASH: Hotspot aware adaptive video streaming using deep reinforcement learning
US20210168397A1 (en) Systems and Methods for Learning Video Encoders
US7949775B2 (en) Stream selection for enhanced media streaming
KR102129115B1 (ko) 컨텐츠 인지 신경망을 이용하여 실시간으로 적응형 비디오를 전송하는 방법 및 장치
CN105393516A (zh) 在自适应流送中用缓冲器和范围约束来进行质量优化
KR20200093085A (ko) 멀티미디어 콘텐트의 심리스 해상도 전환을 위한 해상도들의 선택
KR102313136B1 (ko) 실시간 비디오 스트리밍에서의 초해상화 가속을 위한 장치 및 방법
CN112868229A (zh) 用于流传输数据的方法和设备
EP3322189B1 (en) Method and system for controlling video transcoding
CN107005700B (zh) 用于组成中间视频表示的方法
US20160212054A1 (en) Multiple Protocol Media Streaming
CN115037962B (zh) 视频自适应传输方法、装置、终端设备以及存储介质
US20220408097A1 (en) Adaptively encoding video frames using content and network analysis
CN109348233B (zh) 一种层间回填自适应svc-dash播放方法
Zhao et al. Optimizing Quality of Experience of Free-Viewpoint Video Streaming with Markov Decision Process
WO2024116385A1 (en) Video player, video playback method, and program
Liu Exploring Temporal Loss Tolerance of Video Codecs for QoE Enhancement in Adaptive Streaming

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant