KR101654898B1 - 적응형 스트리밍 서비스를 수신하는 방법 - Google Patents

적응형 스트리밍 서비스를 수신하는 방법 Download PDF

Info

Publication number
KR101654898B1
KR101654898B1 KR1020150053358A KR20150053358A KR101654898B1 KR 101654898 B1 KR101654898 B1 KR 101654898B1 KR 1020150053358 A KR1020150053358 A KR 1020150053358A KR 20150053358 A KR20150053358 A KR 20150053358A KR 101654898 B1 KR101654898 B1 KR 101654898B1
Authority
KR
South Korea
Prior art keywords
video
layer
chunk
video data
order
Prior art date
Application number
KR1020150053358A
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 고려대학교 산학협력단
Priority to KR1020150053358A priority Critical patent/KR101654898B1/ko
Priority to US15/566,095 priority patent/US11057448B2/en
Priority to PCT/KR2016/003924 priority patent/WO2016167590A1/ko
Application granted granted Critical
Publication of KR101654898B1 publication Critical patent/KR101654898B1/ko

Links

Images

Classifications

    • 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
    • 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/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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
    • 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/70Media network packetisation
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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
    • 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/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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

스트리밍 서비스를 수신하는 방법이 개시된다. 상기 스트리밍 서비스를 수신하는 방법은 계층적으로 코딩된 비디오 컨텐츠에 대한 스트리밍 서비스를 단말에서 수신하는 방법으로서, 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에, (a) 버퍼의 유휴 공간에 저장될 적어도 하나의 기본 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계, 및 (b) 상기 버퍼의 유휴 공간이 존재하지 않는 경우, 증가된 차수의 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계를 포함하고, 상기 단계 (b)는 상기 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에 계층의 차수를 증가시켜 반복 수행된다.

Description

적응형 스트리밍 서비스를 수신하는 방법{METHOD FOR RECEIVING ADAPTIVE STREAMING SERVICE}
본 발명의 개념에 따른 실시 예는 비디오 콘텐츠에 대한 스트리밍 서비스를 수신하는 방법에 관한 것으로, 특히 네트워크 환경의 가용 대역폭에 대한 예측없이 적응적으로 비디오 콘텐츠에 대한 스트리밍 서비스를 제공하거나 제공받을 수 있는 스트리밍 서비스를 수신하는 방법에 관한 것이다.
비디오 콘텐츠에 대한 스트리밍 서비스에서 종래의 비트율 선택 알고리즘은 유선으로 연결된 인터넷 환경을 가정하고 설계되었다. 그러나, 최근에는 Wi-Fi나 LTE와 같은 무선 네트워크 환경에서 스트리밍 서비스를 이용하는 클라이언트의 수가 늘어가고 있다. 하지만, 무선 네트워크 환경의 특성상 가용 대역폭이 짧은 시간에 자주 바뀌는 현상이 발생한다. 이러한 현상이 발생할 경우 비디오 데이터의 디코딩 deadline을 만족시켜야하는 스트리밍 서비스에서는 클라이언트 서비스 품질에 악영향을 줄 수 있다.
예컨대, 동일한 AP(Access Point)에 연결된 각각의 클라이언트는 장기적으로 같은 다운로드 비율을 할당 받지만, 적응적인 비디오 스트리밍 서비스에서는 대역폭을 평가(또는 예측)하는 단계에서 클라이언트마다 네트워크 대역폭 예측이 상이할 수 있기 때문에 다른 품질의 비디오 데이터를 요청하는 현상이 발생하게 된다.
이러한 현상이 발생하는 이유는 기존의 비트율 선택 알고리즘이 대역폭을 예측하기 위해 과거에 받은 비디오 데이터의 정보를 이용하며, 이러한 대역폭 예측이 단기적으로 대역폭이 급격하게 변화하는 무선 네트워크 환경에 적합하지 않기 때문이다.
도 1은 클라이언트 간 비디오 품질 차이를 도시하는 그래프이다. 도 1을 참조하면, 동일한 상황에서 평균 대역폭(Avg. Download Rate)과 기존 비트율 선택 알고리즘을 통해 선택된 비디오 품질의 평균을 보여주고 잇다. 도 1은 두 가지 면에서 기존 비트율 선택 알고리즘이 무선 네트워크 환경에 부적합하다는 점을 보여 주고 있다. 첫째, 충분한 가용 대역폭이 주어짐에도 불구하고 기존 비트율 선택 알고리즘은 주어진 대역폭을 충분히 활용하지 못하고 있다. 둘째, 각 클라이언트 간의 화질 편차가 최대 2배까지 발생하는 것을 확인할 수 있다. 따라서, 본 발명에서는 무선 네트워크 환경과 같이 네트워크가 불안정한 상태에서 적응적인 비디오 스트리밍 서비스를 위한 비트율 선택 알고리즘을 제안 한다.
대한민국 공개특허 제2010-0092830호 대한민국 공개특허 제2014-0077672호
본 발명이 이루고자 하는 기술적인 과제는 대역폭 변동과 채널 간 경쟁이 심한 네트워크 환경, 특히 무선 네트워크 환경에서 네트워크 대역폭에 관한 예측을 수행하지 않고 적응적으로 스트리밍 서비스를 수신할 수 있는 방법을 제공하는 것이다.
본 발명의 실시 예에 따른 스트리밍 서비스를 수신하는 방법은 계층적으로 코딩된 비디오 컨텐츠에 대한 스트리밍 서비스를 단말에서 수신하는 방법으로서, 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에, (a) 버퍼의 유휴 공간에 저장될 적어도 하나의 기본 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계, 및 (b) 상기 버퍼의 유휴 공간이 존재하지 않는 경우, 증가된 차수의 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계를 포함하고, 상기 단계 (b)는 상기 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에 계층의 차수를 증가시켜 반복 수행된다.
상기 단계 (a)와 상기 단계 (b)에서 순차적으로 요청되는 송신 요청은 이전의 송신 요청에 대응하는 비디오 데이터의 수신이 완료된 후에 송신될 수 있다.
또한, 상기 단계 (b)에서 송신이 요청된 비디오 데이터에 대응하는 비디오 청크의 순서는 상기 단일의 청크의 순서보다 적어도 2이상 큰 것을 특징으로 한다.
또한, 상기 증가된 차수의 계층은 미리 수신된 마지막 비디오 청크의 다음 비디오 청크의 향상 계층인 것을 특징으로 한다.
본 발명의 실시 예에 따른 스트리밍 서비스를 수신하는 방법에 의할 경우, 대역폭의 변화와 채널간 경쟁이 심한 네트워크 환경, 특히 무선 네트워크 환경에서 클라이언트간 공평한 비디오 품질을 제공할 수 있는 효과가 있다.
또한, 상기 스트리밍 서비스를 수신하는 방법에 의할 경우, 기존 비트율 선택 알고리즘에 비해 대역폭 활용도를 높일 수 있으며, 버퍼가 부족하여 재생이 중지되는 문제점과 화질이 주기적으로 또는 급격하게 변하는 문제점을 해결할 수 있다.
또한, 상기 스트리밍 서비스를 수신하는 방법에 의할 경우, 네트워크 대역폭에 관한 예측을 수행하지 않고 적응적 비디오 스트리밍 서비스를 제공할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 클라이언트 간 비디오 품질 차이를 도시하는 그래프이다.
도 2는 본 발명의 실시 예에 따른 비디오 스트리밍 시스템을 도시한다.
도 3은 도 2에 도시된 단말의 기능 블럭도이다.
도 4는 도 2에 도시된 단말에서 수행되는 스트리밍 서비스를 수신하는 방법을 설명하기 위한 흐름도이다.
도 5는 도 4를 통하여 설명된 스트리밍 서비스를 수신하는 방법을 이용한 구체적인 실시 예를 도시한다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
우선 본 발명의 배경이 되는 기술에 대해 설명하면 다음과 같다.
DASH(Dynamic Adaptive Streaming over HTTP)는 적응형 스트리밍 서비스를 HTTP를 통해 제공하는 멀티미디어 데이터 전송 표준이다. 클라이언트의 디스플레이나 메모리, 컴퓨팅 능력과 같은 다양한 자원을 가진 환경에 맞게 개별적으로 서비스를 제공할 수 있는 DASH는 서비스받고자 하는 영상의 화질을 클라이언트 주도적인 방법(client-driven approach)으로 선택한다. 클라이언트가 선택한 화질의 영상을 서비스받기 위해 클라이언트는 하나의 영상을 작은 시간 단위로 쪼갠 청크(chunk) 라는 단위로 영상을 요청한다. 본 명세서에서는 클라이언트의 기능 중 요청할 화질을 선택하는 알고리즘(Rate Determination Algorithm)에 대한 내용을 다룬다.
RDA는 적응형 스트리밍 서비스를 제공하기 위해 영상의 화질을 선택하는 알고리즘을 의미한다. RDA의 목적은 클라이언트의 유동적인 대역폭을 최대한 활용하여 비디오 화질을 높이면서, 버퍼가 부족하여 재생이 중지되는 문제점(buffer underrun)과 재생 도중에 화질이 급격하고 주기적으로 변하는 문제점(oscillation)을 해결하는 것이다.
SVC(Scalable Video Coding 또는 Scalable Video Codec) 기법은 네트워크 조건 또는 디바이스 조건이 상이한 다양한 환경의 클라이언트를 고려하여 비디오 컨텐츠를 제공하기 위해 표준화된 코덱이다. 하나의 영상에서 다양한 해상도, 화면 주기율, 화질을 지원하기 위해 공간(spatial), 시간(temporal), 화질(quality)에 대한 확장성을 지원하도록 계층적(layered)으로 부호화(coding)하여 계층별로 추출할 수 있다. 이때, 추출되는 계층은 서비스에 필요한 필수 요소인 기본 계층(Base Layer)과 확장을 위한 향상 계층(Enhancement Layer)으로 구분될 수 있다. 따라서, SVC 기법을 이용한 스트리밍 서비스는 다양한 클라이언트의 환경을 고려한 서비스를 제공할 때 클라이언트에 맞게 추가적인 변화 작업(transcoding)이나 복수 개의 영상을 별도로 제공해야하는 문제점을 해결할 수 있다. 이에 대한 표준화 코덱으로 H.264/SVC 또는 H.264/SHVC가 있다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 2는 본 발명의 실시 예에 따른 비디오 스트리밍 시스템을 도시한다.
도 2를 참조하면, 비디오 스트리밍 시스템(1000)은 단말(100)과 컨텐츠 서버(300)를 포함한다.
사용자 장치(user equipment) 또는 클라이언트 등으로 불릴 수도 있는 단말(100)은 비디오 컨텐츠에 대한 송신 요청을 컨텐츠 서버(300)로 송신하고, 상기 송신 요청에 대응하는 비디오 데이터를 수신하여 스트리밍 재생할 수 있다.
단말(100)은 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현되거나, 모바일폰(mobile phone) 또는 스마트폰(smart phone) 등과 같은 핸드헬드 장치(handheld device)로 구현될 수 있다.
컨텐츠 서버(300)에는 복수의 비디오 컨텐츠가 저장되어 있으며, 단말(100)로부터 요청받은 비디오 컨텐츠를 청크 단위로 단말(100)에 제공할 수 있다. 이때, 컨텐츠 서버(300)는 캐시 서버, 라우터 또는 프락시 서버를 경유하여 비디오 컨텐츠를 단말(100)에 제공할 수도 있으며, 실시 예에 따라 컨텐츠 서버(300)는 캐시 서버, 라우터 또는 프락시 서버 자체를 의미하는 용어로 이해될 수도 있다.
컨텐츠 서버(300)는 각각의 비디오 컨텐츠를 기설정된 단위(예컨대, 청크(chunk))로 분할하여 복수의 컨텐츠 섹션을 저장하되, 각 컨텐츠 섹션이 복수의 계층(layer)을 갖도록 SVC 방식으로 인코딩하여 저장한다. 단일의 청크는 일정한 재생 시간(예컨대, 2초(seconds))을 갖는다.
본 발명에 의해 제공되는 비디오 스트리밍 서비스는 유무선 네트워크 환경 중 어느 하나에 제한적으로 적용되는 것은 아니나, 가용 대역폭이 짧은 시간에 자주(또는 급격하게) 변화하는 네트워크 환경, 특히 무선 네트워크 환경에 적용될 경우에 더욱 큰 효과를 기대할 수 있다.
도 3은 도 2에 도시된 단말의 기능 블럭도이다. 도 2와 도 3을 참조하면, 단말(100)은 송신 요청부(110), 데이터 수신부(130), 버퍼(150), 컨텐츠 재생부(170), 및 목표 계층 결정부(190)를 포함한다.
송신 요청부(110)는 수신하고자 하는 목표 계층에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신한다. 상기 송신 요청은 수신받고자 하는 비디오 청크를 식별할 수 있는 정보인 비디오 청크 정보(예컨대, 비디오 청크의 순서)와 상기 비디오 청크 정보에 의해 식별되는 비디오 청크의 계층을 식별할 수 있는 정보인 계층 정보(예컨대, 계층의 차수)를 포함할 수 있다. 실시 예에 따라, 상기 송신 요청은 요청하는 비디오 컨텐츠를 식별할 수 있는 정보인 컨텐츠 식별 정보를 더 포함할 수 있다.
데이터 수신부(130) 송신 요청부(100)의 의해 송신된 송신 요청에 대응하는 비디오 데이터를 컨텐츠 서버(300)로부터 수신하고, 버퍼(150)는 수신부(130)에 의해 수신된 비디오 데이터를 비디오 청크의 순서에 따라 순차적으로 버퍼링한다. 버퍼(150)는 버퍼(150)의 크기(또는 길이)에 대응하는 스트리밍 데이터를 저장할 수 있다. 버퍼(150)의 크기는 버퍼(150)의 물리적인 크기를 의미하는 것은 아니며, 재생 가능 시간을 의미할 수 있다.
컨텐츠 재생부(170)는 버퍼(150)에 의해 버퍼링된 비디오 데이터를 디코딩하여 재생할 수 있다.
목표 계층 결정부(190)는 수신받고자 하는 계층, 즉 목표 계층을 결정할 수 있으며, 송신 요청부(110)는 목표 계층 결정부(190)에 의해 결정된 목표 계층에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신하게 된다. 목표 계층 결정부(190)의 구체적인 동작은 도 4를 통하여 살펴보기로 한다.
도 3에 도시된 단말(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
도 4는 도 2에 도시된 단말에서 수행되는 스트리밍 서비스를 수신하는 방법을 설명하기 위한 흐름도로서, 구체적으로 목표 계층 결정부에 의한 목표 계층 결정 과정 및 송신 요청부에 의한 송신 요청 과정을 설명하기 위한 흐름도이다.
구체적인 설명에 앞서, 스트리밍 서비스의 대상인 비디오 컨텐츠는 총 n(n은 자연수) 개의 비디오 청크로 분할되어 있으며, m(m은 2 이상의 자연수) 개의 계층을 갖도록 인코딩되어 있는 것으로 가정한다.
도 2 내지 도 4를 참조하면, 우선 단말(100)의 목표 계층 결정부(190)는 비디오 컨텐츠에 대한 스트리밍 서비스를 제공받기 위해 초기 목표 계층(target_layer(i,j))을 결정(또는 설정)한다(S100). 목표 계층(target_layer(i,j))에서 i(i는 1보다 크거나 같고 n보다 작거나 같은 자연수)는 비디오 청크의 순서를 의미하고, j(j는 1보다 크거나 같고 m보다 작거나 같은 자연수)는 계층의 차수를 의미한다. S100 단계에서, i와 j는 1로 결정될 수 있다. 즉, 초기 목표 계층은 제1 비디오 청크의 제1 계층(기본 계층)이다.
S110 단계에서, 단말(100)의 송신 요청부(110)는 목표 계층(target_layer(i,j))에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신한다. 이때, i와 j는 1이므로, 단말(100)은 제1 비디오 청크의 제1 계층에 해당하는 비디오 데이터에 대한 송신 요청을 컨텐츠 서버(300)로 송신한다.
S120 단계에서, 목표 계층 결정부(190)는 송신을 요청한 계층 또는 수신된 계층으로 버퍼(150)가 가득 찼는지(또는 버퍼(150)의 유휴 공간이 존재하는지) 여부 또는 송신 요청한 비디오 청크 또는 수신된 비디오 청크(last_chunkj)가 비디오 컨텐츠의 마지막 비디오 청크, 즉 n번째 비디오 청크인지 여부를 판단한다.
S120 단계에서, 버퍼(150)가 송신을 요청한 계층으로 가득 채워지지 않았으며, 요청한 비디오 청크(last_chunkj)가 비디오 컨텐츠의 마지막 비디오 청크가 아니라고 판단된 경우(즉, last_chunkj ≠ n 인 경우), S130 단계가 수행된다. S130 단계에서, 단말(100)의 목표 계층 결정부(190)는 다음 목표 계층(target_layer(i,j))을 결정한다. 즉, 목표 계층 결정부(190)는 요청할 비디오 데이터의 비디오 청크의 순서(i)와 계층의 차수(j)를 결정한다. 구체적으로 목표 계층 결정부(190)는 목표 계층의 비디오 청크의 순서를 "1"만큼 증가시킨다. 또한, 목표 계층 결정부(190)는 j 값을 1로 설정할 수 있다.
S130 단계의 수행이 완료되면, S110 단계가 재차 수행된다. 즉, 송신 요청부(110)는 목표 계층(target_layer(i,j))에 대한 비디오 데이터의 송신 요청을 컨텐츠 서버(300)로 송신한다.
S120 단계에서, 버퍼(150)가 송신을 요청한 계층으로 가득 채워진 경우 또는 요청한 비디오 청크(last_chunkj)가 비디오 컨텐츠의 마지막 비디오 청크인 경우로 판단된 경우(즉, i=n인 경우), S140 단계가 수행된다.
S140 단계에서, 목표 계층 결정부(190)는 j=1이 아닌 경우에 한하여, j번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 (j-1) 번째 계층의 마지막 비디오 청크의 순서(last_chunkj-1)가 동일한지 여부를 판단한다.
S140 단계에서 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 (j-1) 번째 계층의 마지막 비디오 청크의 순서(last_chunkj-1)가 동일한 경우, 목표 계층 결정부(190)는 j 값과 m 값을 비교하고(S150), j 값과 m 값이 같지 않으면 j 값을 1만큼 증가시키고(S160) S140 단계를 재차 수행한다.
S150 단계에서, j 값과 m 값이 동일한 경우(즉, 비디오 계층의 차수가 최대 차수인 경우), 목표 계층 결정부(190)는 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 비디오 컨텐츠에 포함된 비디오 청크의 개수(n)를 비교한다(S170). j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 비디오 컨텐츠에 포함된 비디오 청크의 개수(n)가 동일한 경우(즉, j 번째 계층의 마지막 비디오 청크가 비디오 컨텐츠의 마지막 비디오 청크인 경우) 목표 계층 결정부(190)는 동작을 종료하고, j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 비디오 컨텐츠에 포함된 비디오 청크의 개수(n)가 동일하지 않은 경우(즉, j 번째 계층의 마지막 비디오 청크가 비디오 컨텐츠의 마지막 비디오 청크가 아닌 경우) S120 단계가 재차 수행된다.
S140 단계에서, j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)와 (j-1) 번째 계층의 마지막 비디오 청크의 순서(last_chunkj-1)가 동일하지 않은 것으로 판단된 경우, 또는 j의 값이 1인데 S120 단계에서 버퍼(150)가 가득 찼거나 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)가 n으로 판단된 경우, 목표 계층 결정부(190)는 요청할 비디오 청크의 순서(i)를 결정한다(S180). i 값은 아래의 수학식 1을 이용하여 결정될 수 있다.
Figure 112015036833339-pat00001
즉, i 값은 j 번째 계층의 마지막 비디오 청크의 순서(last_chunkj)에 1을 증가시킨 값과 디코딩 중이거나 재생 중인 청크의 순서(play_chunk)에 2를 증가시킨 값 중 큰 값으로 결정될 수 있다. 즉, i의 값을 디코딩 중이거나 재생 중인 청크의 순서에 2를 증가시킨 값보다 크거나 같도록 설정함으로써, 디코딩 영역으로 쉬프트 대기 중인 비디오 청크에 대한 비디오 데이터의 송신을 요청하는 것을 예방할 수 있다.
S190 단계에서, 목표 계층 결정부(190)는 play_chunk의 값과 n 값을 비교하고, (play_chunk + 2)의 값이 n보다 큰 경우, 동작을 종료하고, (play_chunk + 2)의 값이 n보다 크지 않은 경우 S110 단계가 재차 수행된다.
도 4에 도시된 단계들 중 S110 단계를 제외한 단계들은 목표 계층 결정부(190)에 의해 수행되는 단계로 이해될 수 있으며, S110 단계는 송신 요청부(110)에 의해 수행되는 단계로 이해될 수 있다.
도 5는 도 4를 통하여 설명된 스트리밍 서비스를 수신하는 방법을 이용한 구체적인 실시 예를 도시한다. 이하에서는 도 2 내지 도 5를 참조하여 설명한다.
우선, 단일 비디오 청크의 크기는 2초(seconds)이며, 버퍼(150)의 크기는 18초임을 가정한다. 또한, 도 5에 도시된 j는 계층의 차수를 의미할 수 있다.
우선 t=t1 일때, 단일의 비디오 청크가 디코딩되어 재생되는 동안에 7개의 계층에 대한 비디오 데이터를 다운받을 수 있다면(download speed = 7 layers/chunk_length), 단말(100)은 제1 계층의 영상을 순차적으로 버퍼(150)의 유휴 공간만큼 요청한다. 제1 계층(1 내지 3)에 대한 비디오 데이터가 수신됨에 따라, 버퍼(150)는 제1 계층으로 가득 채워져 유휴 공간이 존재하지 않게 된다. 이후에 단말(100)은 퍼버(150)의 앞부분에 해당하는 비디오 청크의 제2 계층의 비디오 데이터를 컨텐츠 서버(300)에 요청한다. 즉, 추가적으로 제2 계층(4 내지 7)에 대한 비디오 데이터의 송신 요청과 수신이 수행될 수 있다. 이때, 비디오 청크의 순서를 결정하는 과정은 수학식 1을 통하여 설명되었으므로, 이에 대한 설명은 생략하기로 한다.
t=t1+2 일때, 버퍼(150)의 가장 앞부분의 비디오 청크가 재생되어 버퍼(150)의 가장 뒷부분에 유휴 공간이 존재하므로, 단말(100)은 제1 계층(8)에 대한 비디오 데이터의 송신을 요청한다. 제1 계층(8)에 대한 비디오 데이터의 수신으로 버퍼(150)가 제1 계층으로 가득 차게 되고, 단말(100)은 제2 계층을 쌓인 상태에 따라서 순차적으로 송신 요청한다. 즉, 제2 계층(9내지 13)에 대한 비디오 데이터의 송신을 요청하고, 제2 계층(9 내지 13)에 대한 비디오 데이터를 수신함에 따라, 버퍼(150)는 제2 계층으로 가득 차게 된다. 따라서, 단말(100)은 계층의 차수를 1 증가시켜 제3 계층(14)에 대한 비디오 데이터의 송신을 요청한다.
t=t1+4 일때, 버퍼(150)의 가장 앞부분의 비디오 청크가 재생되어 버퍼(150)의 가장 뒷부분에 유휴 공간이 존재하므로, 단말(100)은 제1 계층(15)에 대한 비디오 데이터의 송신을 요청한다. 제1 계층(15)에 대한 비디오 데이터의 수신으로 버퍼(150)가 제1 계층으로 가득 차게 되고, 단말(100)은 제2 계층을 쌓인 상태에 따라서 순차적으로 송신 요청한다. 즉, 제2 계층(16)에 대한 비디오 데이터의 송신을 요청하고, 제2 계층(16)에 대한 비디오 데이터를 수신함에 따라, 버퍼(150)는 제2 계층으로 가득 차게 된다. 따라서, 단말(100)은 계층의 차수를 1 증가시켜 제3 계층(17 및 18)에 대한 비디오 데이터의 송신을 요청한다.
t=t1+6 일때, 버퍼(150)의 가장 앞부분의 비디오 청크가 재생되어 버퍼(150)의 가장 뒷부분에 유휴 공간이 존재하게 된다. 계층(15와 16)은 비디오 컨텐츠의 마지막 비디오 청크에 해당하므로 제1 계층과 제2 계층에 대한 송신 요청을 수행하지 않는다. 단말(100)은 제3 계층(19 내지 22)에 대한 비디오 데이터의 송신을 요청하고, 제3 계층(19 내지 22)의 비디오 데이터를 수신한다.
상술한 바와 같이, 본 발명에 의할 경우, 대역폭 변화가 심한 네트워크 환경이라 하더라도, 재생되는 화질이 급격하게 변화하는 것을 예방할 수 있는 효과가 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 단말
110 : 송신 요청부
130 : 데이터 수신부
150 : 버퍼
170 : 컨텐츠 재생부
190 : 목표 계층 결정부
300 : 컨텐츠 서버
1000 : 비디오 스트리밍 시스템

Claims (8)

  1. 계층적으로 코딩된 비디오 컨텐츠에 대한 스트리밍 서비스를 단말에서 수신하는 방법에 있어서,
    단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에,
    (a) 버퍼의 유휴 공간에 저장될 적어도 하나의 기본 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계; 및
    (b) 상기 버퍼의 유휴 공간이 존재하지 않는 경우, 증가된 차수의 계층에 대한 비디오 데이터의 송신을 순차적으로 요청하는 단계를 포함하고,
    상기 단계 (b)는 상기 단일의 비디오 청크에 해당하는 비디오 데이터가 디코딩되는 동안에 계층의 차수를 증가시켜 반복적으로 수행되는, 스트리밍 서비스를 수신하는 방법.
  2. 제1항에 있어서,
    상기 단계 (a)와 상기 단계 (b)에서 순차적으로 요청되는 송신 요청은 이전의 송신 요청에 대응하는 비디오 데이터의 수신이 완료된 후에 송신되는, 스트리밍 서비스를 수신하는 방법.
  3. 제1항에 있어서,
    상기 단계 (b)에서 송신이 요청된 비디오 데이터에 대응하는 비디오 청크의 순서는 상기 단일의 청크의 순서보다 적어도 2이상 큰 것을 특징으로 하는, 스트리밍 서비스를 수신하는 방법.
  4. 제1항에 있어서,
    상기 증가된 차수의 계층은 미리 수신된 마지막 비디오 청크의 다음 비디오 청크의 향상 계층인 것을 특징으로 하는, 스트리밍 서비스를 수신하는 방법.
  5. 제1항에 있어서,
    상기 단말은 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어, MP4 플레이어, 모바일폰(mobile phone) 또는 스마트폰(smart phone)인, 스트리밍 서비스를 수신하는 방법.
  6. 제1항에 있어서,
    상기 스트리밍 서비스를 수신하는 방법은 무선 네트워크 환경에서 수행되는, 스트리밍 서비스를 수신하는 방법.
  7. 제1항에 있어서,
    상기 비디오 컨텐츠는 SVC(Scalable Video Coding) 기법을 이용하여 계층적으로 코딩된 것을 특징으로 하는, 스트리밍 서비스를 수신하는 방법.
  8. 제1항에 있어서,
    상기 스트리밍 서비스는 DASH(Dynamic Adaptive Streaming over HTTP) 기법을 이용하여 제공되는, 스트리밍 서비스를 수신하는 방법.
KR1020150053358A 2015-04-15 2015-04-15 적응형 스트리밍 서비스를 수신하는 방법 KR101654898B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020150053358A KR101654898B1 (ko) 2015-04-15 2015-04-15 적응형 스트리밍 서비스를 수신하는 방법
US15/566,095 US11057448B2 (en) 2015-04-15 2016-04-15 Method for receiving adaptive streaming service
PCT/KR2016/003924 WO2016167590A1 (ko) 2015-04-15 2016-04-15 적응형 스트리밍 서비스를 수신하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150053358A KR101654898B1 (ko) 2015-04-15 2015-04-15 적응형 스트리밍 서비스를 수신하는 방법

Publications (1)

Publication Number Publication Date
KR101654898B1 true KR101654898B1 (ko) 2016-09-07

Family

ID=56949938

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150053358A KR101654898B1 (ko) 2015-04-15 2015-04-15 적응형 스트리밍 서비스를 수신하는 방법

Country Status (3)

Country Link
US (1) US11057448B2 (ko)
KR (1) KR101654898B1 (ko)
WO (1) WO2016167590A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713955A (zh) * 2016-12-22 2017-05-24 中央电视台 直播流播放的控制方法及装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040104063A (ko) * 2003-06-03 2004-12-10 강상혁 스트리밍을 위한 패킷 스케줄링 방법
KR20100092830A (ko) 2009-02-13 2010-08-23 고려대학교 산학협력단 스케일러블 피투피 스트림 수신 방법 및 전송 방법
KR20120070999A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 통신 시스템에서 데이터 송수신 장치 및 방법
KR20130112936A (ko) * 2011-01-04 2013-10-14 알까뗄 루슨트 적응적 스트리밍 서비스를 제공하기 위한 방법
KR20140077672A (ko) 2012-12-14 2014-06-24 에스케이플래닛 주식회사 스트리밍 서비스에서 콘텐츠 제공을 위한 장치 및 이를 위한 방법
KR20140093430A (ko) * 2013-01-18 2014-07-28 고려대학교 산학협력단 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
KR20140122202A (ko) 2013-04-05 2014-10-17 삼성전자주식회사 계층 식별자 확장에 따른 비디오 스트림 부호화 방법 및 그 장치, 계층 식별자 확장에 따른 따른 비디오 스트림 복호화 방법 및 그 장치
EP2894860A1 (en) * 2014-01-14 2015-07-15 Thomson Licensing Method and apparatus for multiplexing layered coded contents
GB2534136A (en) * 2015-01-12 2016-07-20 Nokia Technologies Oy An apparatus, a method and a computer program for video coding and decoding
KR102263696B1 (ko) * 2015-03-20 2021-06-10 삼성전자주식회사 무선통신 시스템에서 데이터 송수신 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040104063A (ko) * 2003-06-03 2004-12-10 강상혁 스트리밍을 위한 패킷 스케줄링 방법
KR20100092830A (ko) 2009-02-13 2010-08-23 고려대학교 산학협력단 스케일러블 피투피 스트림 수신 방법 및 전송 방법
KR20120070999A (ko) * 2010-12-22 2012-07-02 한국전자통신연구원 통신 시스템에서 데이터 송수신 장치 및 방법
KR20130112936A (ko) * 2011-01-04 2013-10-14 알까뗄 루슨트 적응적 스트리밍 서비스를 제공하기 위한 방법
KR20140077672A (ko) 2012-12-14 2014-06-24 에스케이플래닛 주식회사 스트리밍 서비스에서 콘텐츠 제공을 위한 장치 및 이를 위한 방법
KR20140093430A (ko) * 2013-01-18 2014-07-28 고려대학교 산학협력단 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713955A (zh) * 2016-12-22 2017-05-24 中央电视台 直播流播放的控制方法及装置
CN106713955B (zh) * 2016-12-22 2019-10-08 中央电视台 直播流播放的控制方法及装置

Also Published As

Publication number Publication date
US20180183848A1 (en) 2018-06-28
US11057448B2 (en) 2021-07-06
WO2016167590A1 (ko) 2016-10-20

Similar Documents

Publication Publication Date Title
US6499060B1 (en) Media coding for loss recovery with remotely predicted data units
US8671435B2 (en) Method and system for visualizing an adaptive screen according to a terminal
CN110636339B (zh) 基于码率的调度方法、装置及电子设备
KR20170012471A (ko) 개량된 스트리밍 미디어 재생
US20150156557A1 (en) Display apparatus, method of displaying image thereof, and computer-readable recording medium
CN106797487B (zh) 云流服务器
JP6419848B2 (ja) 帯域幅最適化のための適応的データセグメント配信調停
US20060159352A1 (en) Method and apparatus for encoding a video sequence
US9998513B2 (en) Selecting bitrate to stream encoded media based on tagging of important media segments
CN102918594A (zh) 用于自适应流播放器的高速缓存控制
CN114363649B (zh) 视频处理方法、装置、设备及存储介质
US20200221147A1 (en) Intelligent video frame dropping for improved digital video flow control over a crowded wireless network
US20150095509A1 (en) Adaptive buffers for media players
US11563990B2 (en) Method and apparatus for automatic HLS bitrate adaptation
US20140226711A1 (en) System and method for self-adaptive streaming of multimedia content
CN112929747A (zh) 基于网络反馈的视频编码方法、装置、设备及存储介质
KR20200058431A (ko) 송신 장치 및 송신 방법, 그리고 프로그램
KR20120030969A (ko) Http 스트리밍에서 표현 스위칭시 처리 방법
KR101654898B1 (ko) 적응형 스트리밍 서비스를 수신하는 방법
KR102293797B1 (ko) 영상 복잡도 정보를 이용한 화면 영역별 차등 대역폭 할당 방법 및 장치
US20150149593A1 (en) Virtual desktop infrastructure server, computer implemented video streaming method, and non-transitory computer readable storage medium thereof
EP1625724A1 (en) Systems and methods for selecting a provider
US20240147000A1 (en) Client transcoding of video segment
Shen et al. Transcoding-enabled Caching Proxy for Video Delivery in Heterogeneous Network Environments.
KR20160044732A (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Legal Events

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

Payment date: 20190808

Year of fee payment: 4