KR102304476B1 - 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 - Google Patents

적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 Download PDF

Info

Publication number
KR102304476B1
KR102304476B1 KR1020210009834A KR20210009834A KR102304476B1 KR 102304476 B1 KR102304476 B1 KR 102304476B1 KR 1020210009834 A KR1020210009834 A KR 1020210009834A KR 20210009834 A KR20210009834 A KR 20210009834A KR 102304476 B1 KR102304476 B1 KR 102304476B1
Authority
KR
South Korea
Prior art keywords
block
segment
length
quality
media
Prior art date
Application number
KR1020210009834A
Other languages
English (en)
Other versions
KR20210042051A (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 KR1020210009834A priority Critical patent/KR102304476B1/ko
Publication of KR20210042051A publication Critical patent/KR20210042051A/ko
Application granted granted Critical
Publication of KR102304476B1 publication Critical patent/KR102304476B1/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
    • 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/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/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/631Multimode Transmission, e.g. transmitting basic layers and enhancement layers of the content over different transmission paths or transmitting with different error corrections, different keys or with different transmission protocols

Abstract

적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법이 개시된다. 상기 시스템과 방법은 적응적 스트리밍 서비스에서 다중 경로를 이용하여 미디어 세그먼트를 전송할 때 클라이언트로부터 각 경로의 통합 대역폭을 측정하고 블록 길이와 품질이 결정된 블록 단위 미디어 세그먼트의 요청에 따라 미디어 서버가 블록 단위로 세그먼트를 전송하는 시스템과 스트리밍 방법을 사용하여 사용자 체감 품질(QoE, Quality of Experience)을 향상시키기 위한, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법을 제공한다.

Description

적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법{Multipath-based block transmission system and streaming method for adaptive streaming service}
본 발명은 적응적 스트리밍 서비스(adaptive streaming service)에 관한 것으로, 보다 상세하게는 적응적 스트리밍 서비스에서 네트워크의 다중 경로를 이용하여 미디어 세그먼트를 전송할 때 클라이언트가 각 경로의 통합 대역폭을 측정하고 클라이언트로부터 블록 길이와 품질이 결정된 블록 단위 미디어 세그먼트의 요청에 따라 미디어 서버가 블록 단위로 세그먼트를 전송하는 시스템과 스트리밍 방법을 사용하여 사용자 체감 품질(QoE, Quality of Experience)을 향상시키기 위한, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법에 관한 것이다.
비디오 스트리밍 시스템은 네트워크 수용능력 이상으로 과부하 트래픽이 발생하는 경우 패킷 지연(packet delay), 패킷 로스(packet loss), 지터(jitter)에 의해 비디오의 서비스 품질(QoS)이 떨어져 재생 장치에서 이를 시청하는 사용자 체감 품질(QoE, Quality of Experience)이 떨어지게 된다.
최근, 비디오 스트리밍 서비스에 대한 사용자들이 증가함에 따라 대역폭이 제한된 이기종 네트워크에서 끊김 없는 비디오를 제공하며, 사용자 체감 품질(QoE)을 높이기 위해 네트워크 인지 기술을 사용하는 적응적 비디오 스트리밍 기술이 등장하였다.
적응적 비디오 스트리밍 서버는 다양한 비트율(bitrate)의 비디오 데이터를 세그먼트 단위로 분할하여 저장하고, 각 세그먼트의 URL 및 비디오 정보를 메타데이터(metadata)로 정의한다. 적응적 비디오 스트리밍 재생 장치는 초기 스트리밍 세션에서 메타데이터를 수신하고, 이를 분석하여 네트워크 상황에 적절한 세그먼트를 요청한다.
그러나, 기존 적응적 비디오 스트리밍 서비스는 품질 선택 시 대역폭 측정값과 재생 장치의 버퍼만을 고려하므로, 콘텐츠 특성 및 재생 장치 특성을 고려하지 않아 대역폭 낭비 또는 비디오 끊김 현상이 발생할 수 있다. 대역폭 낭비 문제는 재생 장치가 표현할 수 있는 픽셀 및 비트율을 초과하는 비디오를 요청하는 경우 발생한다.
비디오 끊김 현상은 변화하는 프레임이 많은 미디어 콘텐츠의 경우, 순간 비트율이 높아 해당 세그먼트 수신 시 높은 지연이 발생하여 끊김 현상이 발생한다. 비디오 스트리밍 서비스를 이용하는 사용자의 체감 품질(QoE)을 향상시키기 위해 콘텐츠, 재생 장치, 네트워크 특징을 사용하여 끊김 없는 스트리밍 서비스를 제공하는 기술이 요구된다.
이와 관련된 선행기술1로써, 특허등록번호 10-1982290에서는 "적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법"이 개시되어 있으며, 적응적 스트리밍 서비스의 체감 품질(QoE, Quality of Experience) 향상을 위한 콘텐츠 특성으로써 요청할 세그먼트의 크기, 네트워크 대역폭, 그리고 버퍼 점유율을 사용하여 비디오 품질(bitrate)을 조절함으로써 재생 끊김과 불필요한 품질 변경을 최소화하는 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반의 스트리밍 시스템 및 방법을 제공한다.
도 1은 종래의 적응적 스트리밍 서비스의 콘텐츠 특성 기반의 체감 품질 향상을 위한 클라이언트/서버 시스템 구조를 보인 그림이다.
적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템은,
콘텐츠를 다양한 비트율로 인코딩하며 각 품질(bitrate) 별 콘텐츠를 byte 단위의 세그먼트로 분할하고 콘텐츠의 정보를 표현하는 매니패스트 파일을 저장하며, 미디어 콘텐츠를 저장하며, 레이트 적응 방식을 사용하여 콘텐츠-인지 접근 방식의 적응적 스트리밍 서비스를 제공하는 서버(server); 및
적응적 스트리밍 서비스의 체감 품질 향상을 위해, 상기 클라이언트가 상기 서버로 매니패스트 파일을 요청하고 이에 대한 응답으로 상기 서버로부터 매니패스트 파일을 수신하면 각 품질 별 콘텐츠의 위치와 세그먼트의 실제 크기, 재생 길이의 정보를 인지하며, 상기 서버로부터 세그먼트들을 다운로드 할 때마다 세그먼트의 크기를 사용해 네트워크 대역폭을 측정하며, 대역폭 측정 모듈과 버퍼에서 제공하는 정보를 기반으로 다음에 요청할 세그먼트의 품질(bitrate)을 결정하며, 품질 적응 모듈에서 선택한 품질(bitrate)의 세그먼트에 해당하는 바이트를 요청하는 클라이언트(client)를 포함하며,
상기 품질은 A/V 미디어의 비트레이트(bitrate) 이며,
상기 적응적 스트리밍 서비스(adaptive streaming service)에서 체감 품질(QoE, Quality of Experience)을 향상시키기 위해 콘텐츠 특성 기반 스트리밍 시에 서버로 요청할 세그먼트(segment)의 크기, 네트워크 대역폭, 및 버퍼 점유율을 고려하여 비디오 품질(bitrate)을 조절한다.
상기 매니패스트 파일(manifest file)은 각 품질(bitrate) 별 콘텐츠의 위치와 바이트 범위가 포함되어 있으며, 클라이언트로부터 서버로 매니패스트 파일을 요청하고 이에 대항 응답으로 상기 서버로부터 매니패스트 파일을 수신하면 각 품질 별 콘텐츠의 위치와 세그먼트의 실제 크기, 재생 길이의 정보를 인지한다.
상기 클라이언트(client)는 상기 서버로부터 세그먼트들을 다운로드 할 때마다 세그먼트의 크기를 사용하여 네트워크 대역폭을 측정하는 대역폭 측정 모듈; 상기 대역폭 측정 모듈과 버퍼에서 제공하는 정보를 기반으로 다음에 요청할 세그먼트의 품질을 결정하는 품질 적응 모듈; 상기 품질 적응 모듈에서 선택한 품질(bitrate)의 세그먼트에 해당하는 바이트를 요청하는 세그먼트 요청 모듈; 및 각 세그먼트들을 서버로부터 다운로드 할 때마다, 세그먼트의 재생 길이만큼 버퍼 점유량을 증가시키며, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함한다.
콘텐츠 특성은 요청할 세그먼트(segment)의 크기, 네트워크 대역폭, 및 버퍼 점유율을 포함한다.
미디어 콘텐츠를 저장하고 있는 미디어 서버는 콘텐츠를 다양한 비트율로 인코딩하며 각 품질 별 콘텐츠를 byte 단위의 세그먼트(segment)로 분할하고 콘텐츠의 정보를 표현하는 매니패스트 파일을 저장한다. 매니패스트 파일 내부는 각 품질(bitrate) 별 콘텐츠의 위치와 바이트 범위가 포함되어 있으며, 미디어 서버는 매니패스트 파일을 수신하면 각 품질 별 콘텐츠의 위치와 세그먼트의 실제 크기, 재생 길이 등의 정보를 인지할 수 있다.
클라이언트는 대역폭 측정 모듈, 품질 적응 모듈, 세그먼트 요청 모듈 및 버퍼를 포함한다.
클라이언트의 대역폭 측정(Bandwidth Estimation) 모듈은 미디어 서버로부터 세그먼트를 다운로드 할 때마다 세그먼트의 크기를 사용하여 네트워크 대역폭을 측정한다.
버퍼(Buffer)는 세그먼트(segment)를 서버로부터 다운로드 할 때마다, 세그먼트의 재생 길이만큼 버퍼 점유량을 증가시키며, 버퍼 점유율과 버퍼 충전 속도를 산출한다.
품질 적응(Quality Adaptation) 모듈은 대역폭 측정 모듈과 버퍼에서 제공하는 정보를 기반으로 다음에 요청할 세그먼트의 품질을 결정한다.
세그먼트 요청(Segment Requesting) 모듈은 상기 품질 적응 모듈에서 선택한 품질(bitrate)의 세그먼트(segment)에 해당하는 바이트를 요청한다.
적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 방법은 (a) 클라이언트가 콘텐츠-인지 접근 방식의 적응적 스트리밍 서비스를 제공하는 미디어 서버로 매니패스트 파일을 요청하여, 상기 미디어 서버로부터 상기 클라이언트로 매니패스트 파일을 다운로드하는 단계; (b) 상기 클라이언트가 스트리밍을 시작하기 전에 각 품질(bitrate) 별 콘텐츠의 해당 세그먼트의 순서에 따른 바이트를 미디어 서버로 요청하며, 상기 클라이언트가 상기 미디어 서버로부터 요청한 매니패스트 파일을 다운로드 받은 후 첫 번째 세그먼트를 요청하여 다운로드 받으면 콘텐츠의 메타데이터 박스를 분석하며, 상기 클라이언트가 레이트 적응 방식(rate adaptation scheme)을 사용하여 매니패스트 파일(manifest file)로부터의 실제 세그먼트 정보를 사용하여 세그먼트 처리량(segment throughput)을 측정하며, 비디오 세그먼트의 다운로드 말미에, 네트워크 대역폭을 i) 추정(estimation), ⅱ) 예상(expectation), 및 ⅲ) 적응(adaptation)하는 단계; 및 (c) 상기 콘텐츠-인지 접근 방식의 적응적 스트리밍 서비스를 제공하는 미디어 서버가 VBR 비디오 콘텐츠를 스트리밍할 때, 상기 클라이언트가 영상의 데이터가 포함된 세그먼트를 서버로부터 다운로드 받으면서 버퍼링되며 네트워크 대역폭과 버퍼가 충전되는 속도를 측정하고 버퍼 점유율과 네트워크 대역폭을 기반으로 비디오 품질(bitrate)을 조절하는 단계를 포함한다.
상기 단계 (b)에서 상기 메타데이터 박스는 각 세그먼트의 바이트 위치와 범위, 및 재생 길이가 모두 포함되어 있기 때문에, 상기 클라이언트에서 각 세그먼트의 마지막 바이트 위치를 따로 분석하지 않아도 각 세그먼트의 실제 바이트 크기를 알 수 있다.
첫 번째 절차는 클라이언트가 미디어 서버로 매니패스트 파일을 요청하여, 미디어 서버로부터 클라이언트로 매니패스트 파일을 다운로드 하는 절차이다.
두 번째 절차는 클라이언트가 스트리밍을 시작하기 전 각 품질(bitrate) 별 콘텐츠의 해당 세그먼트의 순서에 따른 바이트를 요청하는 절차이다. 클라이언트가 미디어 서버로부터 매니패스트 파일을 다운로드 받은 후, 첫 번째 세그먼트를 요청하여 다운로드 하면 콘텐츠의 메타데이터 박스를 분석한다. 메타데이터 박스는 각 세그먼트의 바이트 위치와 범위, 및 재생 길이가 모두 포함되어 있기 때문에, 클라이언트에서 각 세그먼트의 마지막 바이트 위치를 따로 분석하지 않아도 각 세그먼트의 실제 바이트 크기를 알 수 있다.
세 번째 절차는 영상의 데이터가 포함된 세그먼트를 다운로드 하여 비디오 스트리밍을 시작한다. 세 번째 절차부터는 클라이언트가 세그먼트(segment)를 미디어 서버로부터 다운로드 받으면서 네트워크 대역폭과 버퍼가 충전되는 속도를 측정하고 버퍼 점유율과 네트워크 상태(네트워크 대역폭)를 기반으로 비디오 품질(bitrate)을 조절한다.
I. 관련 연구
HTTP-기반 적응 비디오 스트리밍(HTTP-based adaptive video streaming)는 레이트 적응 방식들이 분류된다. 기존의 레이트 적응 방식들은 2개의 주요 카테고리들로 분류할 수 있다: 대역폭-기반(bandwidth-based), 및 버퍼-기반(buffer-based) 레이트 적응 방식.
대역폭-기반 레이트 적응 방식(bandwidth-based rate adaptation scheme)은 추정되는 네트워크 대역폭에 기초하여, 비디오 비트레이트를 상향 또는 하향 전환한다. 상용 비디오 제공자들에 의해 채택된 대부분의 레이트 적응 방식들이 이 카테고리에 속한다. 그러나, 고유의 시-변 대역폭(inherent time-varying bandwidth)은 단-기 레이트 발진(short-term rate oscillations)을 초래하고, 스트리밍 서비스의 사용자 경험을 감소시킨다. [1] S. Akhshabi, A. C. Begen, and C. Dovrolis, "An experimental evaluation of rate-adaptation algorithms in adaptive streaming over HTTP," in Proc. ACM MMSys, Feb. 2011, pp. 157-168에서, 저자들은 3개의 인기있는 HAS 클라이언트들의 레이트 적응 방식들을 비교한다: Netflix, Microsoft Smooth Streaming, 및 Adobe Open Source Media Framework(OSMF) 클라이언트. 그들은 이 중 어느 것도 충분하지 않다고 결론을 내렸는데, 너무 공격적이거나 또는 너무 보수적이기 때문이다. 일부 클라이언트들은 최고 비디오 레이트(the highest video bitrate)와 최저 비디오 레이트(the lowest video bitrate) 간에 점프하기도 한다. 또한, 이는 네트워크 혼잡 레벨(network congestion) 변화에 대하여 상대적으로 긴 응답 시간(a relatively long response time)을 갖는다. 복잡한 네트워크 상태 때문에, 여전히 네트워크 대역폭을 정확하게 예측하는 것은 난제이다.
버퍼-기반 레이트 적응 방식들(Buffer-based rate adaptation schemes)은 버퍼 언더플로(buffer underflow), 리-버퍼링(rebuffering) 및 오버플로(overflow)를 방지함으로써 연속적인 비디오 플레이백(video playback)을 제공하는 비디오 비트레이트를 선택한다. 몇몇 연구 작업들이 버퍼-기반 방식(buffer-based approach)을 다루었다. [2] J. He, Z. Xue,D. Wu,D. O. Wu,and Y. Wen, "CBM: Online strategieon cost-aware buffer management for mobile video streaming," IEEE Trans. Multimedia, vol. 16, no. 1, pp. 242-252, Jan. 2014에서, 소비되지 않은 비디오 세그먼트들(unconsumed video segments)에 의해 유발되는 비용을 최소화하는 코스트-인지 버퍼 관리 전략(cost-aware buffermanagement strategy)이 제안된다. [3] Y. Xu,E. Altman, R. El-Azouzi, M. Haddad, S. Elayoubi, and T. Jimenez, "Analysis of bufferstarvation with application to objective Qooptimization of streaming services," IEEE Trans. Multimedia, vol. 16, no.3, pp. 813-827, Apr. 2014에서, 저자들은 플레이백 버퍼를 M/M/1 큐(M/M//1 Queue)로서모델링하여 버퍼 스타베이션(buffer starvation)을 특성화한다. Akamai는 버퍼-기반 레이트 적응(buffer-basedrate adaptation) 기술을 채택하지만, 서버 측에서 비디오 비트레이트를 조정한다[4]. 서버-측 접근은 웹 서버 또는 캐시(cache)에 대한 부담을 드라마틱하게 증가시킬 것이므로, 이는 대규모 멀티미디어 전달의 지원을 제약한다. 버퍼 언더플로(buffer underflow)를 방지하는 것은 비디오 플레이백 연속성(video playback continuity)을 보장할 수 있지만, 잦은 비디오 비트레이트 변동(frequent video bitrate changes)을 일으켜, 사용자들에게 열악한 품질 경험을 초래할 수 있다.
스마트 기기의 보편화로 다양한 네트워크 환경에서 비디오 스트리밍 서비스에 대한 수요가 급격하게 증가하고 있다. 2013년 미국의 비디오 트래픽 규모는 대표적인 비디오 스트리밍 서비스 제공 업체인 넷플릭스(Netflix)에서 전체 다운스트림 트래픽의 37.05%를 기록하였고, 10억명 이상 이용하고 전체 인터넷 사용자의 1/3을 차지하고 있는 YouTube는 17.85%의 트래픽을 차지하였다. 네트워크를 통한 비디오 스트리밍은 지속적으로 시장규모가 증가할 것으로 예상되며, 최근 UHD 콘텐츠를 제공함에 따라 비디오 트래픽은 급격하게 증가될 것으로 예상된다. 최근. 150Mbps급의 높은 전송속도를 지원하는 LTE-A 서비스와 근 시일 안에 최소 10배에서 최대 1000배 빠른 속도를 지원하는 5G 서비스가 등장하면, 비디오 스트리밍 서비스 제공 환경이 개선될 것으로 예상하고 있다. 그러나, 비디오 서비스를 제공하는 업체의 서버는 한정적인 네트워크 자원을 사용하고 있으므로, 사용자들이 고품질 동영상을 시청할 때, 서비스 품질이 감소할 수 있다. 이에 따라, 폭증하는 비디오 트래픽을 처리하기 위한 네트워크 최적화 기술과 네트워크 상태(대역폭)에 따라 콘텐츠의 품질을 적응적으로 조절하는 비디오 스트리밍 서비스가 필요하게 되었다.
특허등록번호 10-1982290 (등록일자 2019년 05월 20일), "적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법", 정광수, 박지우, 김민수, 출원인: 광운대학교 산학협력단
S. Akhshabi, A. C. Begen, and C. Dovrolis, "An experimental evaluation of rate-adaptation algorithms in adaptive streaming over HTTP," in Proc. ACM MMSys, Feb. 2011, pp. 157-168. J. He, Z. Xue,D. Wu,D. O. Wu,and Y. Wen, "CBM: Online strategieon cost-aware buffer management for mobile video streaming," IEEE Trans. Multimedia, vol. 16, no. 1, pp. 242-252, Jan. 2014. Y. Xu,E. Altman, R. El-Azouzi, M. Haddad, S. Elayoubi, and T. Jimenez, "Analysis of bufferstarvation with application to objective Qooptimization of streaming services," IEEE Trans. Multimedia, vol. 16, no.3, pp. 813-827, Apr. 2014. L. D. Cicco, S. Mascolo, and V. Palmisano, "Feedback control foadaptive live video streaming," in Proc. ACM MMSys, Feb. 2011, pp.145-156.
상기 문제점을 해결하기 위한 본 발명의 목적은 비디오 트래픽을 처리하는 네트워크 최적화 기술과 네트워크 상태에 따라 콘텐츠의 품질(bitrate)을 적응적으로 조절하는 적응적 스트리밍 서비스에서, 다중 경로를 이용하여 미디어 세그먼트를 전송할 때 클라이언트가 각 경로의 통합 대역폭을 측정하고 클라이언트로부터 블록 길이와 품질이 결정된 블록 단위 미디어 세그먼트의 요청에 따라 미디어 서버가 블록 단위로 세그먼트를 전송하는 시스템과 스트리밍 방법을 사용하여 사용자 체감 품질(QoE, Quality of Experience)을 향상시키기 위한, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템을 제공한다.
본 발명의 다른 목적은 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 스트리밍 방법을 제공한다.
본 발명의 목적을 달성하기 위해, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템은, 다수의 네트워크 환경에서, 고품질의 영상을 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키기 위해 적어도 하나 이상의 다중경로를 통해 블록의 길이와 품질(bitrate)을 결정하여 블록 단위로 미디어 세그먼트를 요청하는 클라이언트; 및 서로 다른 품질(bitrate)의 미디어 세그먼트를 저장하고, 상기 클라이언트로부터 블록 단위로 미디어 세그먼트를 요청받고, 미디어 세그먼트를 다수의 블록 단위 부분 세그먼트들로 분할하여 적응적 스트리밍 서비스를 제공하도록 블록 단위로 미디어 세그먼트를 전송하는 다수의 미디어 서버를 포함하고,
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 콘텐츠 특성은 세그먼트의 크기와 길이이며, 상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고, 상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역폭이며,
적응적 스트리밍 서비스를 제공하는 미디어 서버로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일을 수신하며, 미디어 서버로부터 클라이언트로 수신된 매니페스트 파일을 클라이언트(미디어 플레이어)의 파서에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지하며,
상기 클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정하고,
상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 및 세그먼트의 크기를 포함하고,
상기 클라이언트는 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 상기 클라이언트는 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이(N)와 블록의 품질(bitrate)을 결정하고,
다중경로 기반 블록 전송 스트리밍 서비스에서 블록의 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 블록의 길이(N)를 결정해야 하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청하고,
상기 클라이언트는 다중경로 환경에서 네트워크의 대역폭을 모두 활용하기 위해 네트워크1, 네트워크2의 각 경로의 대역폭(
Figure 112021090040561-pat00015
)을 모두 더한 통합 대역폭(
Figure 112021090040561-pat00016
)을 측정하며, 상기 클라이언트는 통합 대역폭(BW1 + BW2)을 기반으로 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 블록(block)을 다수의 부분 세그먼트들로 분할하여 다수의 네트워크(NET1, NET2)의 각 경로를 통해 블록의 길이와 품질(bitrate)이 결정된 블록 단위로 미디어 세그먼트를 상기 미디어 서버로 요청함으로써, 고품질의 비디오 콘텐츠를 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시킨다.
본 발명의 다른 목적을 달성하기 위해, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 스트리밍 방법은 (a) 다수의 네트워크 환경에서, 고품질의 영상을 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키기 위해 클라이언트가 네트워크의 적어도 하나 이상의 다중경로를 통해 블록의 길이와 품질(bitrate)을 결정하여 블록 단위로 미디어 세그먼트를 요청하는 단계; 및 (b) 다수의 미디어 서버는 서로 다른 품질(bitrate)의 미디어 세그먼트를 저장하고, 상기 클라이언트로부터 블록 단위로 미디어 세그먼트를 요청받고, 미디어 세그먼트를 다수의 블록 단위 부분 세그먼트들로 분할하여 적응적 스트리밍 서비스를 제공하도록 블록 단위로 미디어 세그먼트를 클라이언트로 전송하는 단계를 포함하고,
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 콘텐츠 특성은 세그먼트의 크기와 길이이며, 상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고, 상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역폭이며,
적응적 스트리밍 서비스를 제공하는 미디어 서버로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일을 수신하며, 미디어 서버로부터 클라이언트로 수신된 매니페스트 파일을 클라이언트(미디어 플레이어)의 파서에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지하며,
상기 클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정하고,
상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 및 세그먼트의 크기를 포함하고,
상기 클라이언트는 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 상기 클라이언트는 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이(N)와 블록의 품질(bitrate)을 결정하고,
다중경로 기반 블록 전송 스트리밍 서비스에서 블록의 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 블록의 길이(N)를 결정해야 하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청하고,
상기 클라이언트는 다중경로 환경에서 네트워크의 대역폭을 모두 활용하기 위해 네트워크1, 네트워크2의 각 경로의 대역폭(
Figure 112021090040561-pat00017
)을 모두 더한 통합 대역폭(
Figure 112021090040561-pat00018
)을 측정하며, 상기 클라이언트는 통합 대역폭(BW1 + BW2)을 기반으로 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 블록(block)을 다수의 부분 세그먼트들로 분할하여 네트워크(NET1, NET2)의 각 경로를 통해 블록의 길이와 품질(bitrate)가 결정된 블록 단위로 미디어 세그먼트를 상기 미디어 서버로 요청함으로써, 고품질의 비디오 콘텐츠를 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시킨다.
본 발명의 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법은 적응적 스트리밍 서비스에서 다중 경로를 이용하여 미디어 세그먼트를 전송할 때 블록 단위로 세그먼트를 전송하는 시스템과 스트리밍 방법을 이용하여 사용자 체감 품질(QoE)을 향상시키는 효과가 있다.
적응적 스트리밍 서비스에서 다중 경로 기반 블록 전송 시스템을 제공함으로써 재생 끊김 현상 없이 고품질의 미디어를 제공하고, 비디오 재생 품질의 변화 빈도수를 줄임으로써 사용자에게 높은 사용자 체감 품질(QoE)을 제공할 수 있다.
상기 적응적 스트리밍 서비스는 적응적 스트리밍 기술이 적용된 VoD 서비스, 적응적 스트리밍 기술이 적용된 IPTV 서비스, Web 기반 적응적 스트리밍 서비스, Mobile 단말기 기반 적응적 스트리밍 서비스, 및 초고품질 미디어 스트리밍 서비스에 적용 가능하다.
도 1은 종래의 적응적 스트리밍 서비스의 콘텐츠 특성 기반의 체감 품질 향상을 위한 클라이언트/서버 시스템 구조를 보인 그림이다.
도 2는 다중경로 기반 블록 전송 시스템의 시나리오를 나타낸 도면이다.
도 3은 다중경로 기반 블록 전송 시스템의 동작을 설명한 도면이다.
도 4는 다중경로 기반 블록 전송 시스템 구성도이다.
도 5는 다중경로 기반 블록 전송 시스템의 블록 전송 방법을 나타낸 도면이다.
도 6은 다중경로 기반 블록 전송 시스템의 동작 순서도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 발명의 구성 및 동작을 상세하게 설명한다.
본 발명의 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법은 비디오 트래픽을 처리하는 네트워크 최적화 기술과 네트워크 상태(대역폭)에 따라 콘텐츠의 품질(비디오 세그먼트의 크기, 세그먼트의 재생시간)을 적응적으로 조절하는 적응적 스트리밍 서비스에서, 네트워크1, 네트워크2의 경로를 통해 각각의 NIC(Network Interface Card) 카드를 통해 네트워크의 적어도 둘 이상의 다중 경로를 이용하여 미디어 세그먼트를 클라이언트(미디어 플레이어)로 전송할 때, 클라이언트가 대역폭을 측정하고 클라이언트로부 블록 길이와 품질이 결정된 블록 단위 미디어 세그먼트의 요청에 따라 미디어 서버가 블록 단위로 세그먼트를 전송하는 시스템과 스트리밍 방법을 사용하여 사용자 체감 품질(QoE, Quality of Experience)을 향상시키기 위한 것이다.
적응적 스트리밍 서비스를 위한 다중경로 기반 블록 전송 시스템 및 스트리밍 방법은 다중경로 환경에서 고품질의 영상을 끊김 없이 재생하고 불필요한 품질 변경을 최소화하여 사용자의 체감 품질(QoE)을 향상시키기 위해 다중경로를 통해 세그먼트를 블록 단위로 요청한다. 본 발명에서 제안하는 적응적 스트리밍 서비스를 위한 다중경로 기반 블록 전송 시스템은 콘텐츠 특성(세그먼트 크기, 길이), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭)을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청한다.
예를들면, 미디어 세그먼트는 HAS의 원래 비디오 데이터(60분 데이터)가 분할되어 쪼개된 다수의 미디어 세그먼트(2분 데이터)이다.
블록(block)은 다수의 미디어 세그먼트의 집합(예, 12분/10분/8분/6분...)으로써, 미디어 서버로 블록 단위로 미디어 세그먼트를 요청하는 단위다.
도 2는 다중경로 기반 블록 전송 시스템의 시나리오를 나타낸다.
다중경로 기반 블록 전송 시스템은 네트워크 환경에서 적어도 둘 이상의 다중경로 환경에서 고품질의 영상을 끊김 없이 재생하고 불필요한 품질 변경을 최소화하여 사용자의 체감 품질(QoE)을 향상시키기 위해 다수의 NIC 카드를 통해 적어도 하나 이상의 다중경로를 통해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 및 네트워크 특성(각 경로의 대역폭)을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하는 클라이언트(Client); 및
서로 다른 품질(bitrate)의 미디어 세그먼트를 저장하고 상기 클라이언트로부터 블록 단위로 미디어 세그먼트를 요청받고, 미디어 세그먼트를 다수의 블록 단위 부분 세그먼트들로 분할하여 적응적 스트리밍 서비스를 제공하도록 블록 단위로 미디어 세그먼트를 전송하는 다수의 미디어 서버(Media Server)를 포함하고,
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 클라이언트는 파서에서 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 상기 클라이언트는 bAggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이(N)와 블록의 품질(bitrate)을 결정한다.
다중경로 기반 블록 전송 스트리밍 서비스에서 블록의 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
적응적 스트리밍 서비스를 제공하는 다수의 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 적절한 블록의 길이(N)를 결정해야 하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청한다.
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 콘텐츠 특성은 세그먼트 크기, 길이이며,
상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고,
상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역폭 이다.
상기 클라이언트(Client)는 다중경로 환경에서 네트워크의 대역폭을 모두 활용하기 위해 예를들면, 네트워크1, 네트워크2의 각 경로의 대역폭(
Figure 112021090040561-pat00001
)을 모두 더한 통합 대역폭(
Figure 112021090040561-pat00002
)을 측정한다. 클라이언트는 통합 대역폭(BW1 + BW2)을 기반으로 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 블록(block)을 다수의 부분 세그먼트들로 분할하여 다수의 네트워크(NET1, NET2)의 각 경로를 통해 요청한다. 네트워크들의 다중경로 환경에서 클라이언트는 블록의 길이와 품질(bitrate)이 결정된 블록 단위로 미디어 세그먼트를 미디어 서버로 요청함으로써, 고품질의 비디오 콘텐츠를 끊김 없이 재생하고 품질 변경을 최소화하여 사용자의 체감 품질(QoE)을 향상시킨다.
도 3은 다중경로 기반 블록 전송 시스템의 동작을 설명한 도면을 나타낸다.
다중경로 기반 블록 전송 시스템의 Client는 5단계로 나누어 동작한다.
클라이언트는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈 및 버퍼를 포함한다.
클라이언트의 대역폭 측정(Bandwidth Estimation) 모듈은 미디어 서버로부터 블록 단위 세그먼트를 다운로드 할 때마다, Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정한다.
대역폭 측정(Bandwidth Estimation) 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이와 블록의 품질(bitrate)을 결정한다.
블록 길이 적응(Block Length Adaptation) 모듈은 네트워크의 통합 대역폭, 버퍼에 저장된 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도를 이용하여 다음에 요청할 블록의 길이를 결정한다.
블록 품질 적응(Block Quality Adaptation) 모듈은 네트워크의 통합 대역폭, 요청할 블록의 길이, 세그먼트의 크기 정보를 이용하여 요청할 블록의 품질을 결정한다.
블록 스케쥴링(Block Scheduling) 모듈은 블록을 구성하는 다수의 세그먼트를 재정렬 문제가 발생하지 않도록 동시에 다운로드를 완료하기 위해 네트워크의 각 경로를 통해 요청할 부분 세그먼트(Partial Segment)의 바이트 범위를 결정한다.
블록 단위 세그먼트 요청(Block Request) 모듈은 Block Request 단계에서는, 블록 스케쥴링(Blcok Scheduling) 모듈에 의해 결정된 부분 세그먼트(Partial Segment) 크기를 기반으로 요청할 세그먼트의 바이트 범위를 결정하여 다수의 HTTP Range Request를 통해 각 미디어 서버로 블록 길이와 품질(bitrate)을 갖는 블록을 구성하는 다수의 부분 세그먼트(Partial Segment)를 요청한다.
버퍼(Buffer)는 세그먼트(segment)를 미디어 서버로부터 다운로드 할 때마다, 세그먼트의 재생 길이만큼 버퍼 점유량을 증가시키며, 버퍼 점유율과 버퍼 충전 속도를 산출한다.
도 4는 다중경로 기반 블록 전송 시스템 구성도를 보여준다.
적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템은, 다수의 네트워크 환경에서, 고품질의 영상을 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키기 위해 적어도 하나 이상의 다중경로를 통해 블록의 길이와 품질(bitrate)을 결정하여 블록 단위로 미디어 세그먼트를 요청하는 클라이언트; 및 서로 다른 품질(bitrate)의 미디어 세그먼트를 저장하고, 상기 클라이언트로부터 블록 단위로 미디어 세그먼트를 요청받고, 미디어 세그먼트를 다수의 블록 단위 부분 세그먼트들로 분할하여 적응적 스트리밍 서비스를 제공하도록 블록 단위로 미디어 세그먼트를 전송하는 다수의 미디어 서버를 포함하고,
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 콘텐츠 특성은 세그먼트의 크기와 길이이며, 상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고, 상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역폭이며,
적응적 스트리밍 서비스를 제공하는 미디어 서버로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일을 수신하며, 미디어 서버로부터 클라이언트로 수신된 매니페스트 파일을 클라이언트(미디어 플레이어)의 파서에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지하며,
클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정하고,
상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 및 세그먼트의 크기를 포함하고,
상기 클라이언트는 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이(N)와 블록의 품질(bitrate)을 결정하고,
다중경로 기반 블록 전송 스트리밍 서비스에서 블록의 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 블록의 길이(N)를 결정해야 하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청한다.
비디오 콘텐츠에 대한 정보를 담고 있는 매니패스트 파일(Manifest File)은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 세그먼트의 크기를 포함한다.
미디어 서버(Media Server)로부터 비디오 콘텐츠에 대한 정보를 담고 있는 매니패스트 파일을 클라이언트(미디어 플레이어)로 수신하면, 클라이언트의 파서(Parser)에서 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질(bitrate), 길이, 바이트 범위의 정보를 인지한다. 그리고 대역폭 측정 (Bandwidth Estimation) 모듈은 미디어 서버로 블록을 요청하고 수신할 때마다 블록의 크기와 블록을 수신하는 시간을 이용하여 대역폭을 측정한다.
버퍼 모니터(Buffer Monitor)는 재생 장치 특성 정보를 얻기 위해 현재 재생 장치의 버퍼에 저장되어 있는 세그먼트의 양과 버퍼에 세그먼트가 저장되는 속도를 측정한다.
블록 길이 적응(Block Length Adaptation) 모듈은 네트워크의 통합 대역폭, 버퍼에 저장된 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도를 이용하여 다음에 요청할 블록의 길이를 결정한다.
블록 품질 적응(Block Quality Adaptation) 모듈은 네트워크의 통합 대역폭, 요청할 블록의 길이, 세그먼트의 크기 정보를 이용하여 요청할 블록의 품질을 결정한다.
블록 스케쥴링(Block Scheduling) 모듈은 네트워크의 각 경로를 통해 요청할 부분 세그먼트(Partial Segment)의 바이트 범위를 결정한다.
블록 단위 세그먼트 요청(Block Request) 모듈은 Block Scheduling을 통해 Partial Segment에 대한 HTTP Range Request 메시지를 각 경로를 통해 미디어 서버로 전송한다. 미디어 서버로의 요청을 통해 미디어 서버로부터 클라이언트로 수신된 Partial Segment는 재생 장치의 버퍼에 저장된 후, 디코딩 되어 미디어 플레이어에서 재생된다.
도 5는 다중경로 기반 블록 전송 시스템의 블록 전송 방법을 보여준다.
다중경로 기반 블록 전송 스트리밍 서비스에서 블록 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 미친다. N의 값이 클 경우 불필요한 품질 변화를 줄일 수 있지만 네트워크의 변화에 빠르게 적응하지 못해 재생 끊김이 발생할 가능성이 높아진다. 상대적으로 N의 값이 작을 경우 네트워크 변화에 빠르게 적응하지만 불필요한 품질 변화가 발생할 가능성이 높아진다.
따라서, 적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 적절한 N을 결정한다. 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청한다.
또한, 본 발명의 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 방법은 (a) 다수의 네트워크 환경에서, 고품질의 영상을 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키기 위해 클라이언트가 네트워크의 적어도 하나 이상의 다중경로를 통해 블록의 길이와 품질(bitrate)을 결정하여 블록 단위로 미디어 세그먼트를 요청하는 단계; 및
(b) 다수의 미디어 서버는 서로 다른 품질(bitrate)의 미디어 세그먼트를 저장하고, 상기 클라이언트로부터 블록 단위로 미디어 세그먼트를 요청받고, 미디어 세그먼트를 다수의 블록 단위 부분 세그먼트들로 분할하여 적응적 스트리밍 서비스를 제공하도록 블록 단위로 미디어 세그먼트를 클라이언트로 전송하는 단계를 포함하고,
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 콘텐츠 특성은 세그먼트의 크기, 길이이며, 상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고, 상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역이며,
적응적 스트리밍 서비스를 제공하는 미디어 서버로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일을 수신하며, 미디어 서버로부터 클라이언트로 수신된 매니페스트 파일을 클라이언트(미디어 플레이어)의 파서에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지하며,
상기 클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정하고,
상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 및 세그먼트의 크기를 포함하고,
상기 클라이언트는 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 상기 클라이언트는 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트의 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이와 블록의 품질(bitrate)을 결정한다.
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 콘텐츠 특성은 세그먼트 크기, 길이이며,
상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고,
상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역폭 이며,
매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 세그먼트의 크기를 포함한다.
상기 클라이언트는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈 및 버퍼를 포함하며,
상기 미디어 서버로부터 비디오 콘텐츠에 대한 정보를 담고 있는 매니패스트 파일을 클라이언트(미디어 플레이어)로 수신하면, 상기 클라이언트의 파서에서 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질(bitrate), 길이, 바이트 범위의 정보를 인지하는 단계;
상기 대역폭 측정 모듈에 의해 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 단계;
상기 블록 길이 적응 모듈에 의해 상기 네트워크의 통합 대역폭, 버퍼에 저장된 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도를 이용하여 다음에 요청할 블록의 길이를 결정하는 단계;
상기 블록 품질 적응 모듈에 의해 상기 네트워크의 통합 대역폭, 요청할 블록의 길이, 세그먼트의 크기 정보를 이용하여 요청할 블록의 품질을 결정하는 단계;
상기 블록 스케쥴링 모듈에 의해 블록을 구성하는 다수의 세그먼트를 재정렬 문제가 발생하지 않도록 동시에 다운로드를 완료하기 위해, 네트워크의 각 경로를 통해 요청할 부분 세그먼트(Partial Segment)의 바이트 범위를 결정하는 단계;
상기 블록 단위 세그먼트 요청 모듈에 의해 Block Request 단계에서는, 블록 스케쥴링(Blcok Scheduling) 모듈에 의해 결정된 부분 세그먼트(Partial Segment) 크기를 기반으로 요청할 세그먼트의 바이트 범위를 결정하여 다수의 HTTP Range Request를 통해 각 미디어 서버로 블록 길이와 품질(bitrate)을 갖는 블록을 구성하는 다수의 Partial Segment를 요청하는 단계; 및
상기 버퍼는 세그먼트(segment)를 미디어 서버로부터 다운로드 할 때마다, 세그먼트의 재생 길이만큼 버퍼 점유량을 증가시키며, 버퍼 점유율과 버퍼 충전 속도를 산출하는 단계를 포함하고,
상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
상기 콘텐츠 특성은 세그먼트의 크기, 길이이며, 상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고, 상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역이며,
적응적 스트리밍 서비스를 제공하는 미디어 서버로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일을 수신하며, 미디어 서버로부터 클라이언트로 수신된 매니페스트 파일을 클라이언트(미디어 플레이어)의 파서에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지하며,
클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정하고,
상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 세그먼트의 크기를 포함하고,
상기 클라이언트는 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 상기 클라이언트는 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이(N)와 블록의 품질(bitrate)을 결정하고,
다중경로 기반 블록 전송 스트리밍 서비스에서 블록의 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 적절한 블록의 길이(N)를 결정해야 하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청하고,
상기 클라이언트는 다중경로 환경에서 네트워크의 대역폭을 모두 활용하기 위해 네트워크1, 네트워크2의 각 경로의 대역폭(
Figure 112021090040561-pat00019
)을 모두 더한 통합 대역폭(
Figure 112021090040561-pat00020
)을 측정하며, 상기 클라이언트는 통합 대역폭(BW1 + BW2)을 기반으로 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 블록(block)을 다수의 부분 세그먼트들로 분할하여 네트워크(NET1, NET2)의 각 경로를 통해 블록의 길이와 품질(bitrate)가 결정된 블록 단위로 미디어 세그먼트를 상기 미디어 서버로 요청함으로써, 고품질의 비디오 콘텐츠를 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시킨다.
상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트의 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이와 블록의 품질(bitrate)을 결정한다.
상기 클라이언트는 다중경로 환경에서 네트워크의 대역폭을 모두 활용하기 위해 예를들면, 네트워크1, 네트워크2의 각 경로의 대역폭(
Figure 112021009166560-pat00003
)을 모두 더한 통합 대역폭(
Figure 112021009166560-pat00004
)을 측정하며, 상기 클라이언트는 통합 대역폭(BW1 + BW2)을 기반으로 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 블록(block)을 다수의 부분 세그먼트들로 분할하여 다수의 네트워크(NET1, NET2)의 각 경로를 통해 블록의 길이와 품질(bitrate)가 결정된 블록 단위로 미디어 세그먼트를 상기 미디어 서버로 요청함으로써, 고품질의 비디오 콘텐츠를 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시킨다.
상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 세그먼트의 크기를 포함한다.
상기 방법은, 다중경로 기반 블록 전송 스트리밍 서비스에서 블록 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 적절한 N을 결정해야 하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청한다.
도 6은 다중경로 기반 블록 전송 시스템의 동작 순서도를 보여준다.
스트리밍을 시작하면, 적응적 스트리밍 서비스를 제공하는 미디어 서버(Media Server)로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일(Manifest File)을 수신한다. 미디어 서버로부터 클라이언트로 수신된 매니패스트 파일을 클라이언트(미디어 플레이어)의 파서(Parser)에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지한다.
클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정한다.
클라이언트는 측정한 대역폭이나 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)와 같은 상황 정보를 이용하여 다음에 요청할 블록의 길이와 품질을 결정한다.
클라이언트는 결정된 미디어 세그먼트의 품질(bitrate)에 따라 다음 요청할 미디어 세그먼트의 바이트 범위와 길이를 인지하고, 네트워크 특성(각 경로의 대역폭)을 고려하여 각 경로에 요청할 블록을 다수의 부분 세그먼트(Partial Segment)로 분할한다.
블록을 다수의 부분 세그먼트(Partial Segment)로 분할한 후, 부분 세그먼트(Partial Segment)의 바이트 범위를 이용하여 각 경로로 요청 메시지를 미디어 서버로 전송하며 이에 대한 응답으로 미디어 서버로부터 클라이언트로 블록 단위 미디어 세그먼트를 수신하고, 미디어의 재생이 종료될 때까지 블록의 요청과 수신을 반복하며 적응적 스트리밍 서비스를 제공받는다.
본 발명의 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법은 적응적 스트리밍 서비스에서 다중 경로를 이용하여 미디어 세그먼트를 전송할 때 블록 단위로 세그먼트를 전송하는 시스템과 스트리밍 방법을 이용하여 사용자 체감 품질(QoE)을 향상시키게 되었다.
적응적 스트리밍 서비스에서 다중 경로 기반 블록 전송 시스템을 제공함으로써 재생 끊김 현상 없이 고품질의 미디어를 제공하고, 비디오 재생 품질의 변화 빈도수를 줄임으로써 사용자에게 높은 체감 품질(QoE)을 제공할 수 있다.
상기 적응적 스트리밍 서비스는 적응적 스트리밍 기술이 적용된 VoD 서비스, 적응적 스트리밍 기술이 적용된 IPTV 서비스, Web 기반 적응적 스트리밍 서비스, Mobile 단말기 기반 적응적 스트리밍 서비스, 및 초고품질 미디어 스트리밍 서비스에 적용 가능하다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 기록 매체는 프로그램 명령, 데이터 파일, 데이터 구조를 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 기록 매체는 스토리지, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 저장 매체에 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예는 컴파일러에 의해 만들어지는 것과, 기계어 코드 뿐만아니라 인터프리터를 사용하여 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상기 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로써 작동하도록 구성될 수 있다.
이상에서 설명한 바와 같이, 본 발명의 방법은 프로그램으로 구현되어 컴퓨터의 소프트웨어를 이용하여 읽을 수 있는 형태로 기록매체(CD-ROM, RAM, ROM, 메모리 카드, 하드 디스크, 광자기 디스크, 스토리지 디바이스 등)에 저장될 수 있다.
본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야에서 통상의 지식을 가진자가 하기의 특허청구범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있음을 이해할 수 있을 것이다.
100: 클라이언트
201, 202: 미디어 서버

Claims (6)

  1. 다수의 네트워크 환경에서, 고품질의 영상을 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키기 위해 적어도 하나 이상의 다중경로를 통해 블록의 길이와 품질(bitrate)을 결정하여 블록 단위로 미디어 세그먼트를 요청하는 클라이언트; 및
    서로 다른 품질(bitrate)의 미디어 세그먼트를 저장하고, 상기 클라이언트로부터 블록 단위로 미디어 세그먼트를 요청받고, 미디어 세그먼트를 다수의 블록 단위 부분 세그먼트들로 분할하여 적응적 스트리밍 서비스를 제공하도록 블록 단위로 미디어 세그먼트를 전송하는 다수의 미디어 서버를 포함하고,
    상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
    상기 콘텐츠 특성은 세그먼트의 크기와 길이이며, 상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고, 상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역폭이며,
    적응적 스트리밍 서비스를 제공하는 미디어 서버로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일을 수신하며, 미디어 서버로부터 클라이언트로 수신된 매니패스트 파일을 클라이언트(미디어 플레이어)의 파서에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지하며,
    상기 클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정하고,
    상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 및 세그먼트의 크기를 포함하고,
    상기 클라이언트는 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 상기 클라이언트는 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
    상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성, 재생 장치 특성, 그리고 네트워크 특성을 고려하여 블록의 길이(N)와 블록의 품질(bitrate)을 결정하고,
    다중경로 기반 블록 전송 스트리밍 서비스에서 블록의 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
    적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 블록의 길이(N)를 결정하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청하고,
    상기 클라이언트는 다중경로 환경에서 네트워크의 대역폭을 모두 활용하기 위해 네트워크1, 네트워크2의 각 경로의 대역폭(
    Figure 112021090040561-pat00021
    )을 모두 더한 통합 대역폭(
    Figure 112021090040561-pat00022
    )을 측정하며, 상기 클라이언트는 통합 대역폭(BW1 + BW2)을 기반으로 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 블록(block)을 다수의 부분 세그먼트들로 분할하여 다수의 네트워크(NET1, NET2)의 각 경로를 통해 블록의 길이와 품질(bitrate)이 결정된 블록 단위로 미디어 세그먼트를 상기 미디어 서버로 요청함으로써, 고품질의 비디오 콘텐츠를 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키는, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템.
  2. 제1항에 있어서,
    상기 클라이언트는
    상기 미디어 서버로부터 비디오 콘텐츠에 대한 정보를 담고 있는 매니패스트 파일을 클라이언트(미디어 플레이어)로 수신하면, 상기 클라이언트의 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질(bitrate), 길이, 바이트 범위의 정보를 인지하며,
    Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈;
    상기 네트워크의 통합 대역폭, 버퍼에 저장된 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도를 이용하여 다음에 요청할 블록의 길이를 결정하는 블록 길이 적응 모듈;
    상기 네트워크의 통합 대역폭, 요청할 블록의 길이, 세그먼트의 크기 정보를 이용하여 요청할 블록의 품질을 결정하는 블록 품질 적응 모듈;
    블록을 구성하는 다수의 세그먼트를 재정렬 문제가 발생하지 않도록 동시에 다운로드를 완료하기 위해, 네트워크의 각 경로를 통해 요청할 부분 세그먼트(Partial Segment)의 바이트 범위를 결정하는 블록 스케쥴링 모듈;
    Block Request 단계에서는, 블록 스케쥴링(Blcok Scheduling) 모듈에 의해 결정된 부분 세그먼트(Partial Segment) 크기를 기반으로 요청할 세그먼트의 바이트 범위를 결정하여 다수의 HTTP Range Request를 통해 각 미디어 서버로 블록 길이와 품질(bitrate)을 갖는 블록을 구성하는 다수의 부분 세그먼트(Partial Segment)를 요청하는 블록 단위 세그먼트 요청 모듈; 및
    세그먼트(segment)를 미디어 서버로부터 다운로드 할 때마다, 세그먼트의 재생 길이만큼 버퍼 점유량을 증가시키며, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼;
    를 포함하는, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템.
  3. 삭제
  4. (a) 다수의 네트워크 환경에서, 고품질의 영상을 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키기 위해 클라이언트가 네트워크의 적어도 하나 이상의 다중경로를 통해 블록의 길이와 품질(bitrate)을 결정하여 블록 단위로 미디어 세그먼트를 요청하는 단계; 및
    (b) 다수의 미디어 서버는 서로 다른 품질(bitrate)의 미디어 세그먼트를 저장하고, 상기 클라이언트로부터 블록 단위로 미디어 세그먼트를 요청받고, 미디어 세그먼트를 다수의 블록 단위 부분 세그먼트들로 분할하여 적응적 스트리밍 서비스를 제공하도록 블록 단위로 미디어 세그먼트를 클라이언트로 전송하는 단계를 포함하고,
    상기 클라이언트는 둘 이상의 네트워크의 다중 경로를 통해 상기 다수의 미디어 서버와 연결되며, 상기 클라이언트는 콘텐츠 특성, 재생 장치 특성, 및 네트워크 특성을 고려하여 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 다중경로를 통해 블록 단위로 미디어 세그먼트를 요청하며,
    상기 콘텐츠 특성은 세그먼트의 크기와 길이이며, 상기 재생 장치 특성은 버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도이고, 상기 네트워크 특성은 둘 이상의 네트워크의 각 경로의 대역폭이며,
    적응적 스트리밍 서비스를 제공하는 미디어 서버로부터 미디어 세그먼트에 대한 정보를 담고 있는 매니패스트 파일을 수신하며, 미디어 서버로부터 클라이언트로 수신된 매니패스트 파일을 클라이언트(미디어 플레이어)의 파서에서 분석하여 콘텐츠에 대한 품질(bitrate)과 세그먼트 특성(세그먼트 크기, 길이)들을 인지하며,
    상기 클라이언트는 인지한 콘텐츠 특성에 따라, 블록을 미디어 서버로 요청하고 이에 대한 응답으로 미디어 서버로부터 하나의 블록을 수신할 때마다, 블록의 크기와 블록을 다운로드하는데 걸리는 시간을 이용하여 네트워크의 대역폭을 측정하고,
    상기 매니패스트 파일은 세그먼트 파일명, 미디어 세그먼트의 품질(bitrate), 세그먼트의 재생시간, 및 세그먼트의 크기를 포함하고,
    상기 클라이언트는 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질, 길이, 바이트 범위의 정보를 인지하고, 상기 클라이언트는 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 대역폭 측정 모듈, 블록 길이 적응 모듈, 블록 품질 적응 모듈, 블록 스케쥴링 모듈, 블록 단위 세그먼트 요청 모듈, 버퍼 점유율과 버퍼 충전 속도를 산출하는 버퍼를 포함하며,
    상기 대역폭 측정 모듈이 통합 대역폭을 측정한 후, 블록 길이 적응(Block Length Adaptation) 모듈과 블록 품질 적응(Block Quality Adaptation) 모듈은 사용자 단말의 접속에 따라 변화하는 네트워크 환경에 끊김 없는 비디오 재생을 위해 콘텐츠 특성(세그먼트 크기, 길이, 재생시간), 재생 장치 특성(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도), 그리고 네트워크 특성(각 경로의 대역폭 총합)을 고려하여 블록의 길이(N)와 블록의 품질(bitrate)을 결정하고,
    다중경로 기반 블록 전송 스트리밍 서비스에서 블록의 길이(N)는 스트리밍의 네트워크 변화에 대한 적응 속도와 품질 변경 빈도수에 영향을 주며,
    적응적 스트리밍 서비스를 제공하는 미디어 서버와 클라이언트를 구비하는 다중경로 기반 블록 전송 시스템은 재생 장치 특성 정보(버퍼에 저장되어 있는 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도)를 이용하여 블록의 길이(N)를 결정해야 하며, 상기 다중경로 기반 블록 전송 시스템은 요청할 블록의 품질(V)과 길이(N)를 결정한 후, 다수의 HTTP Range Request를 이용하여 2N개의 부분 세그먼트(Partial Segment)를 각 경로를 통해 각각의 미디어 서버로 요청하고,
    상기 클라이언트는 다중경로 환경에서 네트워크의 대역폭을 모두 활용하기 위해 네트워크1, 네트워크2의 각 경로의 대역폭(
    Figure 112021090040561-pat00023
    )을 모두 더한 통합 대역폭(
    Figure 112021090040561-pat00024
    )을 측정하며, 상기 클라이언트는 통합 대역폭(BW1 + BW2)을 기반으로 요청할 블록의 길이와 품질(bitrate)을 결정한 후, 블록(block)을 다수의 부분 세그먼트들로 분할하여 네트워크(NET1, NET2)의 각 경로를 통해 블록의 길이와 품질(bitrate)가 결정된 블록 단위로 미디어 세그먼트를 상기 미디어 서버로 요청함으로써, 고품질의 비디오 콘텐츠를 끊김 없이 재생하고 사용자의 체감 품질(QoE)을 향상시키는, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 방법.
  5. 제4항에 있어서,
    상기 클라이언트는 상기 미디어 서버로부터 비디오 콘텐츠에 대한 정보를 담고 있는 매니패스트 파일을 클라이언트(미디어 플레이어)로 수신하면, 상기 클라이언트의 파서에서 상기 매니패스트 파일의 정보를 파싱 및 분석하여 미디어 세그먼트의 품질(bitrate), 길이, 바이트 범위의 정보를 인지하는 단계;
    상기 대역폭 측정 모듈에 의해 Aggregated Bandwidth Estimation 단계에서 네트워크의 통합 대역폭(각 경로의 통합 대역폭)을 측정하는 단계;
    상기 블록 길이 적응 모듈에 의해 상기 네트워크의 통합 대역폭, 버퍼에 저장된 세그먼트 양, 버퍼에 세그먼트가 저장되는 속도를 이용하여 다음에 요청할 블록의 길이를 결정하는 단계;
    상기 블록 품질 적응 모듈에 의해 상기 네트워크의 통합 대역폭, 요청할 블록의 길이, 세그먼트의 크기 정보를 이용하여 요청할 블록의 품질을 결정하는 단계;
    상기 블록 스케쥴링 모듈에 의해 블록을 구성하는 다수의 세그먼트를 재정렬 문제가 발생하지 않도록 동시에 다운로드를 완료하기 위해, 네트워크의 각 경로를 통해 요청할 부분 세그먼트(Partial Segment)의 바이트 범위를 결정하는 단계;
    상기 블록 단위 세그먼트 요청 모듈에 의해 Block Request 단계에서는, 블록 스케쥴링(Blcok Scheduling) 모듈에 의해 결정된 부분 세그먼트(Partial Segment) 크기를 기반으로 요청할 세그먼트의 바이트 범위를 결정하여 다수의 HTTP Range Request를 통해 각 미디어 서버로 블록 길이와 품질(bitrate)을 갖는 블록을 구성하는 다수의 부분 세그먼트(Partial Segment)를 요청하는 단계; 및
    상기 버퍼는 세그먼트(segment)를 미디어 서버로부터 다운로드 할 때마다, 세그먼트의 재생 길이만큼 버퍼 점유량을 증가시키며, 버퍼 점유율과 버퍼 충전 속도를 산출하는 단계;
    를 포함하는, 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 방법.
  6. 삭제
KR1020210009834A 2019-10-08 2021-01-25 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법 KR102304476B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210009834A KR102304476B1 (ko) 2019-10-08 2021-01-25 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190124929 2019-10-08
KR1020210009834A KR102304476B1 (ko) 2019-10-08 2021-01-25 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190124929 Division 2019-10-08 2019-10-08

Publications (2)

Publication Number Publication Date
KR20210042051A KR20210042051A (ko) 2021-04-16
KR102304476B1 true KR102304476B1 (ko) 2021-09-17

Family

ID=75743729

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210009834A KR102304476B1 (ko) 2019-10-08 2021-01-25 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법

Country Status (1)

Country Link
KR (1) KR102304476B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113973217B (zh) * 2021-11-02 2023-09-22 秒影工场(北京)科技有限公司 一种影像数据传输到云端的方法及装置
CN116112712B (zh) * 2023-01-12 2023-09-26 联通沃音乐文化有限公司 一种自适应影音视频传输播放方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150025484A (ko) * 2013-08-29 2015-03-10 삼성전자주식회사 복수개의 네트워크 인터페이스들을 이용하여 데이터를 수신하기 위한 방법 및 장치
KR20190048186A (ko) * 2017-10-30 2019-05-09 광운대학교 산학협력단 적응적 스트리밍 서비스를 위한 다중 경로 기반 분할 전송 시스템 및 스트리밍 방법
KR101982290B1 (ko) 2018-02-27 2019-05-24 광운대학교 산학협력단 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법

Also Published As

Publication number Publication date
KR20210042051A (ko) 2021-04-16

Similar Documents

Publication Publication Date Title
US11076187B2 (en) Systems and methods for performing quality based streaming
JP7275033B2 (ja) 適応ビットレートストリーミングの間の複数のコンテンツ配信ネットワーク間の適応切替のためのシステムおよび方法
US10298985B2 (en) Systems and methods for performing quality based streaming
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
US10320869B2 (en) Network-capacity optimized adaptive HTTP streaming
US10034048B2 (en) Multipath delivery for adaptive streaming
EP3022884B1 (en) Quality optimization with buffer and horizon constraints in adaptive streaming
KR101982290B1 (ko) 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법
EP2360923A1 (en) Method for selectively requesting adaptive streaming content and a device implementing the method
US20140040498A1 (en) Methods for quality-aware adaptive streaming over hypertext transfer protocol
US20140119428A1 (en) System and method for providing intelligent chunk duration
KR102304476B1 (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 블록 전송 시스템 및 스트리밍 방법
KR102652518B1 (ko) 비디오 스트리밍을 위한 세션 기반 적응적 재생 프로파일 판정
KR101718127B1 (ko) 상황 인지 스트리밍 서비스를 위한 콘텐츠 패키징 시스템 및 스트리밍 방법
Baik et al. VSync: Cloud based video streaming service for mobile devices
Kesavan et al. Rate adaptation performance and quality analysis of adaptive HTTP streaming methods
EP3354033B1 (en) Dynamic seeking in video delivery systems
US11902599B2 (en) Multiple protocol prediction and in-session adaptation in video streaming
KR20190048186A (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 분할 전송 시스템 및 스트리밍 방법
US11206295B1 (en) System and method for streaming content selection
US11140060B2 (en) Dynamic variation of media segment durations for optimization of network round trip times
Chang et al. Optimal scheduling of QoE-aware HTTP adaptive streaming
Shuai Dynamic adaptive video streaming with minimal buffer sizes
Haimi-Cohen et al. Flexible and robust video delivery based on self-contained multimedia segments
CN114731450A (zh) 服务器端自适性媒体串流

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant