KR20110120836A - 디지털 콘텐트의 적응형 스트리밍 제어 - Google Patents

디지털 콘텐트의 적응형 스트리밍 제어 Download PDF

Info

Publication number
KR20110120836A
KR20110120836A KR1020110040782A KR20110040782A KR20110120836A KR 20110120836 A KR20110120836 A KR 20110120836A KR 1020110040782 A KR1020110040782 A KR 1020110040782A KR 20110040782 A KR20110040782 A KR 20110040782A KR 20110120836 A KR20110120836 A KR 20110120836A
Authority
KR
South Korea
Prior art keywords
encoder
digital content
available bandwidth
data
server
Prior art date
Application number
KR1020110040782A
Other languages
English (en)
Inventor
드미트리 자니코프
Original Assignee
이르데토 비.브이.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이르데토 비.브이. filed Critical 이르데토 비.브이.
Publication of KR20110120836A publication Critical patent/KR20110120836A/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/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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2401Monitoring of the client buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 최적 수신기 전략이 생성되고, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 클라이언트 디바이스에 저장되는, 개선된 적응형 스트리밍 솔루션을 제공한다. 최적 수신기 전략 데이터는 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 인코더의 하나 이상의 속성들 및 패킷 스위칭된 네트워크의 시간에 대한 이용가능한 대역폭의 변화 특성들 및/또는 패킷 스위칭된 네트워크의 이용가능한 대역폭의 사전 추정을 수학적 모델에 대한 입력으로서 이용하여, 확률적 결정 문제를 해결하는 결과이고, 상기 속성들은 인코더 유형 아이덴티피케이션 및 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델 중 적어도 하나를 포함한다.

Description

디지털 콘텐트의 적응형 스트리밍 제어{CONTROLLING AN ADAPTIVE STREAMING OF DIGITAL CONTENT}
본 발명은 디지털 콘텐트의 적응형 스트리밍에 관한 것이다. 특히, 본 발명은 시스템, 클라이언트 디바이스, 및 서버에서 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법들, 및 디지털 콘텐트의 적응형 스트리밍을 제어하는 시스템, 클라이언트 디바이스, 및 서버에 관한 것이다.
예를 들면, 인터넷 TV 또는 IPTV(즉, 인터넷 프로토콜을 이용하는 텔레비전)와 같은 인터넷을 통해 멀티미디어 콘텐트를 전달하는 것은 서비스 품질 보증들(quality of service guarantees)의 부재로, 예를 들면, 위성 또는 케이블 방송과 같은 방송 채널들을 통한 분배와 상이하다. 서비스 품질 보증들에 대한 부재를 보상하기 위해, 적응형 스트리밍 프로토콜들이, 예를 들면, 마이크로소프트로부터의 스무드 스트리밍(Smooth Streaming) 또는 애플로부터의 HTTP 라이브 스트리밍과 같이, 이용될 수 있다. 인터넷 TV 및 IPTV 솔루션들의 최근 전개는, 적응형 스트리밍 프로토콜들이 중요해지는 홈-네트워크 오퍼링(home-network offering) 및 모바일 TV로 확장한다.
적응형 스트리밍의 개념은 동일한 콘텐트가 상이한 비트 레이트들, 공간 해상도(spatial resolution) 및/또는 다른 인코딩 특성들을 갖는 다중 카피들(또한 품질 레벨들이라 함)로 인코딩될 수 있다. 각각의 카피는 통상적으로, 물리적으로 분리거나(예를 들면, 파일이 카피에서 각각의 청크(chunk)에 대해 생성됨), 논리적으로 분리되는(예를 들면, 카피의 모든 청크들이 임의의 청크를 개별적으로 액세스하도록 허용하는 어드레싱 구조를 갖는 단일 파일에 저장됨) 청크들이라 불리는 2 내지 5 초 세그먼트들로 구성된다. 프로토콜은 클라이언트로 하여금 변화하는 네트워크 상태들에 반응하도록 런-타임(run-time)에서 여러 가지 품질 레벨들 중 하나로부터 데이터 청크를 요청하도록 한다. 클라이언트 디바이스 상의 결정을 행하는 프로세스는 기존의 적응형 스트리밍 프로토콜들에 대해 공통 분모이고, 그것은 선택적인 적응형 스트리밍 솔루션을 생성하기 위한 주요 도전을 나타낸다. 클라이언트의 책임은 변하는 네트워크 상태들을 관찰하고, 상이한 품질 레벨들로부터 다음 청크를 위한 송신 시간을 예측하고, 가능한 높게 품질 레벨을 유지하면서 차후 청크 전달의 리스크를 최소화하는 품질 레벨을 선택하는 것이다.
청크의 송신 시간을 예측하는 것에 대한 어려움은 멀티미디어 스트리밍의 2가지 면, 즉 비디오 코덱 특성들 및 네트워크 특성들로부터 나온다. 공지된 적응형 스트리밍 솔루션들은 비디오 파일들이 주어진 일정한 비트 레이트(CBR)로 인코딩됨을 규정한다. 하지만, 대부분의 코덱들에 대해, 얻어진 비트 레이트는 타겟 비트 레이트와는 상이하다. 일정한 비트 레이트 비디오 인코딩은 레이트 제어 알고리즘을 갖는 비디오 인코더가 주어진 타겟 평균 비트 레이트를 지속적으로 유지하려고 시도함을 의미한다. 하지만, 이것은 인코딩되는 모든 프레임이 동일한 사이즈로 구성될 필요가 있음을 반드시 의미하지는 않는다. 반대로, 비트 예산(bit budget)은 인코딩된 비디오의 레이트 왜곡 성능을 개선하기 위해서 프레임마다 변할 수 있다. 공지된 코덱은 일정한 비트 레이트 인코딩 하에서조차 상이한 사이즈들의 청크들을 생산한다.
비디오 프레임에서 움직임의 양 및 픽셀 변화는 프레임을 인코딩하기 얼마나 어려운지에 대한 표시자들이다. 인코딩 곤란성이 증가하므로, 레이트 제어기는 피크 신호 대 노이즈 비(PSNR)에 대해 측정된 품질의 적절한 (필연적으로 일정한 것은 아님) 레벨을 유지하기 위해 프레임 상에 보다 많은 비트들을 소모하는 것을 필요로 한다. 레이트 제어 알고리즘은 그것의 입력으로서 타겟 비트 레이트 값을 요구하고, 그 출력은 비디오 프레임 시퀀스이고, 그것의 비트 레이트는 레이트 왜곡 최적화 방식으로 타겟 비트 레이트 주변에서 변동한다.
공지된 인코더는 통상적으로, 디코더 입력 버퍼의 수학적인 모델을 유지한다. 이것은 인코더들로 하여금 고정된 타겟 인코딩 레이트, 고정된 채널 처리량 및 디코더 버퍼 사이즈를 제공한 수신 측에서 비디오의 지속적인 플레이백(playback)을 보장하도록 인에이블한다. 예를 들면, 가상 참조 디코더(hypothetical reference decoder; HRD) 및 비디오 버퍼링 검정기(VBV) 모델들은 각각 AVC/H.264 및 MPEG 인코더들에 의해 이용된다.
HRD 및 VBV 방식들은 누설 버킷(leaky bucket) 모델에 기초하고, 그것들은 스트리밍될 비디오가 비디오 인코딩 레이트와 같은 레이트로 CBR 채널에 의해 드레인(drain)된다고 가정한다. HRD 및 VBV는 인코딩된 비트스트림에서 암시적인 비트 레이트 변화들에 의해 야기되는 버퍼 언더플로우들(buffer underflows)과 버퍼 오버플로우들을 가능한 회피하도록 시도한다. 인코더에서, 누설 버킷 모델은 비트들이 일정한 비트 레이트 채널 가정에 따라서, 지속적으로 디코더의 입력 버퍼에서 및 일정한 레이트로 도달하는 것을 시뮬레이트한다. 한편, 비트들은 디코드될 현재 프레임의 사이즈에 의존하여, 변화하는 레이트에서 디코더 입력 버퍼로부터 제거된다.
HRD 및 VBV 모델들의 고정된 채널 레이트 가정은 네트워크 기본구조가 보장된 QoS(quality-of-service)를 제공하는 경우만을 유지되고, 그것은 드문 경우이다. 실제로, 채널 처리량은 경쟁 트래픽으로 인해, 상이한 라우팅 경로에 대해 변하거나, 상이한 콘텐트 소스들 간에 스위칭하는, 비트 레이트가 일정하지 않을 수 있고, 시간에 따라 변할 수 있다. 이것은 네트워크를 통한 증가된 데이터 손실 또는 데이터 지연들을 야기할 수 있다. 결국, 디코더 버퍼는 언더플로우 또는 언더플로우할 수 있어, 비디오 플레이백 동안 원하지 않은 중단 및 현저한 지각 품질 손실을 야기한다.
인터넷 TV는 통상적으로 관리되지 않은 네트워크, 콘텐트 서버와 소지자의 클라이언트 디바이스 간의 인터넷 접속을 통해 전달된다. 인터넷 TV는 통상적으로, 단-대-단 QoS 보장들을 갖지 않는다. 콘텐트 전달 네트워크(CDN) 및/또는 피어-투-피어(P2P)는 콘텐트 서버로부터 클라이언트 디바이스들에 콘텐트를 중계하는 에지-서버들(edge-servers)의 세트로 콘텐트를 분배하는데 이용될 수 있다. 비록, 콘텐트 서버와 에지 서버 간의 접속이 통상적으로 QoS 보장을 제공하지만, 에지 서버와 클라이언트 디바이스 간의 접속이 통상적으로 QoS를 갖지 않는다. 이것은 최종 마일 문제(last mile problem)로서 알려져 있다.
IPTV는 통상적으로, 관리된 네트워크, 예를 들면, ISP에 의해 충분히 제어되는, 인터넷 서비스 제공자(ISP)에서 소비자에서의 클라이언트 디바이스로 ADSL 라인을 통해 전달된다. 이론적으로 IPTV가 QoS 보장들을 제공하는 제어된 전달 환경을 갖는다. 하지만, 실제에서, 최종 마일 문제가 존재한다.
단-대-단 QoS를 보장할 수 없는 네트워크 기본구조들에 대한 개선된 적응형 스트리밍 솔루션에 대한 필요성이 존재한다.
본 발명의 목적은 단-대-단 QoS를 보장할 수 없는 네트워크 기본구조들에 대한 개선된 적응형 스트리밍 솔루션을 제공하는 것이다.
본 발명의 양태에 따라, 시스템에서 디지털 콘텐트의 품질 레벨들 간의 스위칭에 의해 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법이 제공된다. 시스템은 패킷 스위칭된 네트워크를 통해 클라이언트 디바이스에 디지털 콘텐트를 송신하는 서버 및 디지털 콘텐트를 인코딩하는 인코더를 포함한다. 상기 방법은 인코더의 하나 이상의 속성들을 얻는 단계를 포함한다. 상기 속성들은 인코더의 특성들을 룩업(lookup)하는 인코더 유형 아이덴티피케이션(encoder type identification), 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델, 및 인코더의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함한다. 상기 방법은 패킷 스위칭된 네트워크의 이용가능한 대역폭을 추정하는 단계를 추가로 포함하고, 이용가능한 대역폭은 디지털 콘텐트의 송신 지속기간, 및/또는 패킷 스위칭된 네트워크의 시간에 대한 이용가능한 대역폭의 변화 특성들(variation characteristics)에 기초하고, 변화 특성들은 네트워크 특성 데이터를 얻기 위해, 평균 이용가능한 대역폭으로부터 이용가능한 대역폭의 편차(deviation)를 나타낸다. 상기 방법은 마르코프 결정 프로세스(Markov Decision Process)에 기초한 수학적인 모델을 이용하고, 네트워크 특성 데이터 및 인코더의 얻어진 특성들을 수학적 모델에 대해 입력으로서 이용하여, 확률적 결정 문제(stochastic decision problem)를 규정하는 단계를 추가로 포함한다. 상기 방법은 최적 수신기 전략 데이터를 얻기 위해 연속적인 근사 솔루션 기술을 이용하여 확률적 결정 문제를 해결하는 단계를 추가로 포함한다. 상기 방법은 서버로부터 클라이언트 디바이스로 디지털 콘텐트의 적응형 스트리밍을 제어하기 위해 클라이언트 디바이스에 최적 수신기 전략 데이터를 저장하는 단계를 추가로 포함한다.
본 발명의 양태에 따라, 디지털 콘텐트의 품질 레벨들 간에 스위칭에 의해 디지털 콘텐트의 적응형 스트리밍을 제어하는 클라이언트 디바이스가 제공된다. 디지털 콘텐트는 인코더에 의해 인코딩되고, 패킷 스위칭된 네트워크를 통해 서버로부터 기원한다. 클라이언트 디바이스는 제어기 및 버퍼에 통신가능하게 접속되는 수신기를 포함한다. 클라이언트 디바이스는 버퍼에 통신가능하게 접속되는 디코더를 추가로 포함한다. 상기 방법은 디지털 콘텐트의 데이터의 청크를 수신기에서 수신하는 단계를 포함한다. 상기 방법은 디코더에 의해 추가로 처리하기 위해 버퍼에 데이터의 청크를 저장하는 단계를 추가로 포함한다. 상기 방법은 패킷 스위칭된 네트워크의 이용가능한 대역폭을 추정하는 단계를 추가로 포함하고, 이용가능한 대역폭은 추정 데이터를 얻기 위해, 디지털 콘텐트의 송신 지속기간에 기초한다. 상기 방법은 제어기에 추정 데이터를 제공하는 단계를 추가로 포함한다. 상기 방법은 데이터의 다음 청크의 품질 레벨을 제어기에서 수신기로 시그널링하는 단계를 추가로 포함한다. 상기 방법은 품질 레벨에 따르는 데이터의 다음 청크에 대한 요청을 서버에 송신하는 단계를 추가로 포함한다. 상기 방법은 최적 수신기 전략 데이터를 수신하고, 제어기에 최적 수신기 전략 데이터를 저장하는 단계를 추가로 포함한다. 최적 수신기 전략 데이터는 연속적인 근사 솔루션 기술을 이용하는 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하여 확률적 결정 문제를 해결하는 결과이다. 확률적 결정 문제는 패킷 스위칭된 네트워크의 이용가능한 대역폭의 사전 추정 및 인코더의 하나 이상의 속성들을 수학적 모델에 대한 입력으로서 이용하고, 이용가능한 대역폭은 패킷 스위칭된 네트워크의 시간에 대한 이용가능한 대역폭의 변화 특성들 및/또는 추정 데이터를 얻기 위해, 디지털 콘텐트의 송신 지속기간에 기초하고, 변화 특성들은 평균 이용가능한 대역폭으로부터 이용가능한 대역폭의 편차를 나타낸다. 상기 속성들은 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델, 및 인코더의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함한다. 상기 방법은 추정 데이터 및 최적 수신기 전략 데이터에 기초하여 데이터의 다음 청크의 품질 레벨을 제어기에서 계산하는 단계를 추가로 포함한다.
본 발명의 양태에 따라, 디지털 콘텐트의 품질 레벨들 간에 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법이 서버에서 제공된다. 디지털 콘텐트는 인코더에 의해 인코딩된다. 서버는 패킷 스위칭된 네트워크를 통해 클라이언트 디바이스에 통신가능하게 접속된다. 상기 방법은 인코더의 하나 이상의 속성들을 얻는 단계를 포함한다. 상기 속성들은 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델, 및 인코더의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함한다. 상기 방법은 패킷 스위칭된 네트워크의 이용가능한 대역폭을 추정하는 단계를 추가로 포함하고, 이용가능한 대역폭은 디지털 콘텐트의 송신 지속기간, 및/또는 패킷 스위칭된 네트워크의 시간에 대한 이용가능한 대역폭의 변화 특성들에 기초하고, 변화 특성들은 네트워크 특성 데이터를 얻기 위해, 평균 이용가능한 대역폭으로부터 이용가능한 대역폭의 편차를 나타낸다. 상기 방법은 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 네트워크 특성 데이터 및 인코더의 얻어진 특성들을 수학적 모델에 대한 입력으로서 이용하여 확률적 결정 문제를 규정하는 단계를 추가로 포함한다. 상기 방법은 최적 수신기 전략 데이터를 얻기 위해 연속적인 근사 솔루션 기술을 이용하여 확률적 결정 문제를 해결하는 단계를 추가로 포함한다. 상기 방법은 서버로부터 클라이언트 디바이스로 디지털 콘텐트의 적응형 스트리밍을 제어하기 위해 클라이언트 디바이스를 구성하도록 서버에서 클라이언트 디바이스로 최적 수신기 전략 데이터를 송신하는 단계를 추가로 포함한다.
본 발명의 양태에 따라, 디지털 콘텐트의 품질 레벨들 간에 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하는 시스템이 제공된다. 상기 시스템은 디지털 콘텐트를 인코딩하는 인코더를 포함한다. 상기 시스템은 패킷 스위칭된 네트워크를 통해 클라이언트 디바이스에 디지털 콘텐트를 송신하는 서버를 추가로 포함한다. 서버는 인코더의 하나 이상의 속성들을 얻도록 구성되는 프로세서를 포함한다. 상기 속성들은 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델, 및 인코더의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함한다. 상기 프로세서는 패킷 스위칭된 네트워크의 이용가능한 대역폭을 추정하기 위해 추가로 구성되고, 이용가능한 대역폭은 디지털 콘텐트의 송신 지속기간, 및/또는 패킷 스위칭된 네트워크의 시간에 대한 이용가능한 대역폭의 변화 특성들에 기초하며, 변화 특성들은 네트워크 특성 데이터를 얻기 위해, 평균 이용가능한 대역폭으로부터 이용가능한 대역폭의 편차를 나타낸다. 프로세서는 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 네트워크 특성 데이터 및 인코더의 얻어진 특성들을 수학적 모델에 대한 입력으로서 이용하여, 확률적 결정 문제를 규정하도록 추가로 구성된다. 프로세서는 최적 수신기 전략 데이터를 얻기 위해 연속적 근사 솔루션 기술을 이용하여 확률적 결정 문제를 해결하도록 추가로 구성된다. 서버는 디지털 디바이스에 최적 수신기 전략 데이터를 송신하도록 구성된 송신기를 추가로 포함한다. 클라이언트 디바이스는 서버에서 클라이언트 디바이스로 디지털 콘텐트의 적응형 스트리밍을 제어하기 위해 최적 수신기 전략 데이터를 수신 및 저장하도록 구성된다.
본 발명의 양태에 따라, 디지털 콘텐트의 품질 레벨들 간에 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하는 클라이언트 디바이스가 제공된다. 디지털 콘텐트는 인코더에 의해 인코딩되고, 패킷 스위칭된 네트워크를 통해 서버로부터 기원한다. 클라이언트 디바이스는 제어기 및 버퍼에 통신가능하게 접속된 수신기를 포함한다. 클라이언트 디바이스는 버퍼에 통신가능하게 접속된 디코더를 추가로 포함한다. 수신기는 최적 수신기 전략 데이터를 수신하고, 최적 수신기 전략 데이터를 제어기에 저장하도록 구성된다. 수신기는 디지털 콘텐트의 데이터의 청크를 수신하도록 추가로 구성된다. 수신기는 디코더에 의해 추가로 프로세스하기 위해 버퍼에 데이터의 청크를 저장하도록 추가로 구성된다. 수신기는 패킷 스위칭된 네트워크의 이용가능한 대역폭을 추정하도록 추가로 구성되고, 이용가능한 대역폭은 추정 데이터를 얻기 위해, 디지털 콘텐트의 송신 지속기간에 기초한다, 수신기는 제어기에 추정 데이터를 제공하도록 추가로 구성된다. 수신기는 품질 레벨에 따라 데이터의 다음 청크에 대한 요청을 서버에 송신하도록 추가로 구성된다. 제어기는 추정 데이터 및 최적 수신기 전략 데이터에 기초하여 데이터의 다음 청크의 품질 레벨을 계산하도록 구성된다. 제어기는 데이터의 다음 청크의 품질 레벨을 수신기에 시그널링하도록 추가로 구성된다. 최적 수신기 전략 데이터는 연속적 근사 솔루션 기술을 이용하고, 패킷 스위칭된 네트워크의 이용가능한 대역폭의 앞선 추정 및 인코더의 하나 이상의 속성들을 수학적 모델에 대한 입력으로서 이용하는 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하여 확률적 결정 문제를 해결하는 결과이며, 이용가능한 대역폭은 디지털 콘텐트의 송신 지속기간 및/또는 패킷 스위칭된 네트워크의 시간에 대한 이용가능한 대역폭의 변화 특성들에 기초하며, 변화 특성들은 평균 이용가능한 대역폭으로부터 이용가능한 대역폭의 편차를 나타낸다. 상기 특성들은 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델, 및 인코더의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함한다.
본 발명의 양태에 따라, 디지털 콘텐트의 품질 레벨들 간에 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하는 서버가 제공된다. 디지털 콘텐트는 인코더에 의해 인코딩된다. 서버는 패킷 스위칭 네트워크를 통해 클라이언트 디바이스에 통신가능하게 접속된다. 서버는 인코더의 하나 이상의 속성들을 얻도록 구성된 프로세서를 포함한다. 상기 속성들은 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델, 및 인코더의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함한다. 프로세서는 패킷 스위칭된 네트워크의 이용가능한 대역폭을 추정하도록 추가로 구성되고, 이용가능한 대역폭은 디지털 콘텐트의 송신 지속기간, 및/또는 패킷 스위칭된 네트워크의 시간에 대한 이용가능한 대역폭의 변화 특성들에 기초하며, 변화 특성들은 네트워크 특성 데이터를 얻기 위해, 평균 이용가능한 대역폭으로부터 이용가능한 대역폭의 편차를 나타낸다. 프로세서는 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 네트워크 특성 데이터 및 인코더의 얻어진 특성들을 수학적 모델에 대한 입력으로서 이용하여 확률적 결정 문제를 규정하도록 추가로 구성된다. 프로세서는 최적 수신기 전략 문제를 얻기 위해 연속적인 근사 솔루션 기술을 이용하여 확률적 결정 문제를 해결하도록 추가로 구성된다. 서버는 서버에서 클라이언트 디바이스로 디지털 콘텐트의 적응형 스트리밍을 제어하도록 클라이언트 디바이스를 구성하기 위해 클라이언트 디바이스에 최적 수신기 전략 데이터를 송신하도록 구성되는 송신기를 추가로 포함한다.
그러므로, 클라이언트 디바이스는 이용가능한 대역폭(데이터의 청크들의 클라이언트 디바이스로의 송신 전에 통상적으로 추정되는 네트워크 특성 데이터를 얻기 위해 이용가능한 대역폭의 앞선 추정과 혼동되지 않음)을 추정하고, 긴 동작에서 이용자 인식된 품질(user-perceived quality)을 최적화하기 위해 품질 레벨들 간에 스위칭한다. 품질 레벨들 간의 스위칭은 최적 수신기 전략에 의해 제어되고, 그것은 입력으로서 인코더 특성들 및 네트워크 특성들로 확률적 결정 문제에 기초한 마르코프 결정 프로세스를 해결하는 결과이다. 그러므로, 변화를 코딩하는 것뿐만 아니라 네트워크 대역폭 변동들은 서버에서 클라이언트 디바이스로 송신되는 디지털 콘텐트 스트림에서 핸들링(handling)될 수 있다. 또한, 제공된 적응형 스트리밍 솔루션은 패킷 스위칭된 네트워크의 서비스 메커니즘들의 품질에 무관하다.
청구항 제 2 항의 실시예는 최적 수신기 전략으로 하여금, 예를 들면, 인코더 특성들 및 네트워크 특성들이 변할 때 업데이트되도록 인에이블한다.
본 발명의 양태에 따라, 컴퓨터 프로그램 소자가 제공되고, 그것은 프로세서에 의해 실행될 때, 상술한 특성들 중 하나를 갖는 클라이언트 디바이스에서 이용하기 위한 방법을 실행하도록 적응된다
이것은 클라이언트 디바이스로 하여금, 소프트웨어 모듈로서 적응형 스트리밍 솔루션을 구현하도록 인에이블한다.
본 발명의 양태에 따라, 프로세서에 의해 실행될 때, 상술한 특성들 중 하나 이상을 갖는 방법을 실행하도록 적응되는 컴퓨터 프로그램 소자가 제공된다.
이것은 최적 수신기 전략으로 하여금, 서버에서 동작 중인 소프트웨어 모듈에서 생성되도록 인에이블한다.
이하에서, 본 발명의 실시예들은 상세히 설명된다. 하지만, 이들 실시예들이 본 발명들에 대한 보호의 범위를 제한하는 것으로서 고려되지 않을 수 있음을 이해해야 한다.
본 발명의 양태들은 도면들에 도시된 예시적인 실시예들을 참조하여 보다 상세히 설명된다.
도 1은 본 발명의 예시적인 실시예의 클라이언트 디바이스를 도시하는 도면.
도 2는 3가지 품질 레벨들에 대해 누적 분배 함수들(cumulative distribution functions)의 예를 나타내는 그래프.
도 3은 계산된 최적 수신기 전략의 예를 나타내는 그래픽.
도 4, 도 5a 내지 도 5c 및 도 6a 내지 도 6c는 본 발명의 예시적인 실시예의 알고리즘의 비교를 나타내는 그래프들.
도 7은 본 발명의 예시적인 실시예의 시스템을 도시하는 도면.
도 8은 본 발명의 예시적인 실시예의 서버를 도시하는 도면.
도 9는 본 발명의 예시적인 실시예의 시스템에서의 방법을 도시하는 도면.
도 10은 본 발명의 예시적인 실시예의 서버에서 방법을 도시하는 도면.
도 11은 본 발명의 예시적인 실시예의 클라이언트 디바이스에서 방법을 도시하는 도면.
양호한 품질 적응형 스트리밍 경험을 제공하기 위해서, 시스템은 이상적으로, 현재 네트워크 상태들(즉, 이용가능한 대역폭 뿐만 아니라, 시간에 대한 그것의 변화)을 이해하고, 최적 비디오 품질 레벨을 다이내믹하게 스위칭한다. 시스템이 이용자 인식된 품질에서 현저한 드롭(drop)을 야기하는 전달된 데이터의 품질에서 빈번한 변경들을 회피하는 것(즉, 품질 변동들을 최소화하는 것)이 바람직하다.
앞에서 언급된 도전을 해소하기 위해, 대역폭 측정들을 실행하고, 긴 운용시에 이용자 인식된 품질을 최대화하도록 시도하는 품질 레벨들 간에 스위칭한다. 그러므로, 코딩 변화들 뿐만 아니라, 네트워크 대역폭 변동들은 네트워크를 통해 서버에서 수신기 또는 클라이언트 디바이스로 송신되는 콘텐트 스트림에서 핸들링될 수 있다. 서버는 예를 들면, 헤드엔드 시스템(headend system)의 미디어 서버이다. 클라이언트 디바이스는 예를 들면, 컴퓨터 디바이스, 대화형 텔레비전, 인터넷-인에이블된 텔레비전 세트, IPTV 수신기, 셋톱 박스, 모바일 TV 디바이스 또는 스마트폰이다. 네트워크는 통상적으로, IP 네트워크이지만, 임의의 다른 패킷 스위칭된 네트워크일 수 있다.
대역폭 변화들은 짧은 기간 및/또는 오랜 기간일 수 있다. 오랜 기간 변화들 동안, 대역폭은 평균 주변의 사소한 변경들에 대해 상당한 시간 기간(초들(seconds) 또는 심지어는 분들(minutes))에 대해 임의의 평균과 같다. 짧은 기간 변화들 동안, 대역폭은 평균에서 상당히 벗어나지만, 그러한 편차들은 통상적으로 짧게 생존한다(밀리초들(milliseconds), 초들). 각각의 구별가능한 네트워크 상태들에 대해, 전략은 품질 레벨들 사이를 스위칭하여 계산된다. 여기에서, 마르코프 결정 프로세스(MDP)는 인코더들의 예측 및/또는 관찰된 특성들에 기초하여, 및 네트워크의 예측 및/또는 관찰된 특성들에 기초하여 형성된다. MDP는 하나 이상의 최적 수신기 전략들을 얻기 위해 해결된다. 전략들은 수신기에 전달되거나, 콘텐트의 디코딩 및 적응형 스트리밍에서 이용하기 위해 수신기에 의해 다운로드된다.
인코더의 속성의 예가 인코더 아이덴티피케이션이다. 이 아이덴티피케이션은 인코더의 특성들을 룩업하는데 이용될 수 있다. 인코더의 속성의 또 다른 예는 인코더에 의해 이용되는 디코더 입력 버퍼의 수학적 모델이다. 인코더의 속성들의 또 다른 예들은 인코더의 레이트 제어 특성들 및/또는 비트 할당 특성들이다.
도 1은 본 발명의 예시적인 실시예의 클라이언트 디바이스(10)의 기본적인 기능 요소들을 도시한다. 수신기 모듈(1)은 콘텐트 데이터(101)를 요청 및 수신하기 위한 외부 서버와 통신한다. 수신기 모듈(1)은 더욱이, 통상적으로 그것의 송신 지속기간 및 다운로드된 콘텐트 데이터의 사이즈에 기초하여, 이용가능한 대역폭을 추정하도록 구성된다. 수신된 데이터(102)는 버퍼(3)에 저장되고, 또한, 디코더(4) 또는 임의의 다른 프로세싱 애플리케이션/모듈에 의해 프로세스된다. 버퍼(3)로부터 판독되고, 디코더(4)에 제공된 데이터는 화살표(103)로써 나타내진다.
추정된 이용가능한 대역폭을 나타내는 추정 데이터(201)는 수신기 모듈(1)에 의해 제어기(2)에 제공된다. 제어기(2)는 화살표(202)로써 나타내진 바와 같이, 다음 청크가 어떤 품질 레벨인지를 수신기(1)에 시그널링한다. 통상적으로, 모든 청크는 특정한 품질 레벨에 속한다. 이에 의해, 제어기는, 청크가 주어진 시간 기간 내에서 성공적으로 수신될 수 있는 방식으로 수신기의 품질 레벨을 변경한다.
콘텐트 데이터의 다수의 청크들은 클라이언트 디바이스(10)에 의해 버퍼될 수 있어, 네트워크 처리량의 강화를 보상한다. 이 방법은 수신기(1)가 현재 청크가 수신된 직후에 외부 서버로부터, 화살표(203)로써 나타내진, 다음 청크를 요청하는 것을 요구한다. 버퍼링은 다음 청크가 외부 서버에서 이용가능한하고, 수신기 버퍼(3)에서 자유 공간이 존재할 때 가능하다. 다음 청크가 이용불가능할 수도 있지만, 간략화를 위해, 본 예에서, 외부 서버는 이용가능한 다음 청크를 항상 가져서, 클라이언트 측 상에서의 버퍼 충만(fullness)이 단지 제한하는 인자(limiting factor)이다. 버퍼가 충만하면, 수신기는 버퍼(3)가 다음 청크를 수용하기에 충분한 공간을 가질 때까지 보류로 놓인다.
클라이언트 디바이스(10)는 통상적으로, 제한된 버퍼링 공간을 가지며, 통상적으로, 낮은 스타트-업 잠재 요구사항(low start-up latency requirement)을 나타내는 실시간 콘텐트 전달 시스템들에 이용된다. 버퍼링의 양은 예를 들면, 콘텐트 데이터의 2 또는 3 청크들에 대응하여 5-10초로 제한된다.
클라이언트 버퍼(3)는 네트워크 처리량의 강하 또는 가능한 오버사이즈된 청크(possible oversized chunk)를 수용할 수 있을 만큼 충만하게 유지된다. 낮은 품질에서 청크들(203으로써 나타내짐)을 요청하는 것은 다음의 청크들을 송신하기 위해 이용가능한 보다 많은 보류 시간(reserve time)을 남기는 송신 시간을 감소시킨다.
제어기(2)는 얼마나 많은 시간이 보류에서 이용가능한게 유지되는지를 결정하도록 구성된다. 보다 큰 보류는 대역폭 소모에 있어 갑작스런 증가에 대한 핸들링을 허용하고, 반면에, 보다 작은 보류는 보다 높은 품질에서 다수의 청크들의 프로세싱을 허용한다.
제어기(2)는 또한, 높은 및 낮은 품질 레벨들 간의 빈번히 점프들이 상당한 시간 양 동안 낮은 품질 레벨에 계속 있게 하는 최종-이용자들(end-users)에 대해 보다 짜증낼 수 있음을 고려하도록 구성된다.
그러므로, 제어기(2)의 전략은 디코딩된 비디오의 품질을 높게 유지하고; 비디오를 디스플레이하는데 있어 지연들을 방지하도록 현재 네트워크 상태들 하에서 적절히 송신되는 보다 많은 데이터를 요구하는 것을 회피하고; 품질 레벨 변경들의 수를 낮게 유지하기 위해, 가장 높은 가능한 품질 레벨의 청크들을 요청하도록 수신기(1)에 시그널링하는 것이며, 그래서 이용자는 품질 변동들에 의해 짜증을 받지 않는다.
청크가 수신기(1)에서 수신된 직후에, 제어기(2)는 다음 청크가 수신기(1)에 의해 요청되는 품질 레벨을 결정해야 한다. 제어기(2)에 의해 결정되는 품질 레벨은 통상적으로, 외부 서버에서 이용가능한 품질 레벨들의 세트에 대응하는 품질 레벨의 세트 중 하나이다.
품질 레벨을 선택할 때, 다음 목적들 중 하나 이상이 지각된 품질을 최소화하도록 밸런스(balance)된다. 제 1 목적은 데드라인 미스들(deadline misses)의 수가 가능한 낮게 되는 것이다. 데드라인을 미스한다는 것은 대응하는 청크가 제때에 디스플레이되지 않는다는 것을 의미하며, 그것은 일반적으로 비디오의 지각된 품질의 심각한 강하를 야기한다. 제 2 목적은 품질 변경들의 수가 가능한 낮게 되는 것이다. 제 3 목적은 클라이언트 측에서의 평균 지각 품질(average perceptual quality)이 가능한 높게 되는 것을 의미한다.
상기 목적들을 만족시키기 위해, 확률적 결정 문제는 마르코프 결정 프로세스(MDP)에 기초하여 수학적 모델을 이용하여 정의된다.
MDP를 이용하는 제어 전략은 예를 들면, 본 발명에서 전체적으로 참조문헌으로써 포함되는, 스케줄링, vol.7, no.2, pp.105-117, 2004에서, 클레멘스 씨. 뷔스트 및 윔 에프.제이. 베르하흐의 "Quality control for scalable media processing applications"로부터 공지되어 있다. MDP 제어 전략은 품질 레벨을 최소화하는 동안, 데드라인 미스들의 수 및 품질 레벨 변경들의 수 둘 모두를 최소화한다. 그것의 접근법은 오프라인 해결될 수 있는 MDP에 기초하고, 그 후에, 계산된 최적 제어 전략이 디코딩 알고리즘을 제어하기 위해 온라인 적용된다.
본 발명의 제어기(2)는 적응형 스트리밍 환경에서 클라이언트 디바이스(10) 상에서 수신기(1)를 제어하기 위해 수정된 MDP 모델을 적용한다. 적응형 스트리밍은 이용자 지각된 품질과 네트워크 리소스들 사이에서 트레이드-오프들(trade-offs)를 행할 수 있다. 클라이언트 측 제어기(2)는 이용가능한 네트워크 대역폭에 대해 지각된 품질을 최적화한다. 제어기(2)는 적응형 스트리밍의 유형에 의존하지 않으며, 그러므로, 임의의 공지된 적응형 스트리밍 기술로 이용될 수 있다.
청크의 수신이 정지(종료 또는 중단)되는 순간은 마일스톤(milestone)으로서 언급된다. 매 마일스톤 'm'은 청크의 수신이 정지되는 순간인 완료 시간('cm'), 및 대응하는 청크가 디코더를 대해 필요한 포인트인 시간('dm')에 데드라인을 갖는다. 기간(Tp)은 두 개의 연속적인 데드라인들 간의 시간이다.
각각의 마일스톤에서, 제어기는, 마일스톤의 데드라인 까지 남아있는 시간의 일부로서 정의되는, 상대적인 프로세스를 계산한다. 버퍼될 수 있는 청크들의 최대 수를 규정하는 상대적인 프로세스 상의 상부 경계가 존재한다. 마일스톤 수(m)의 데드라인은 아래 수식으로서 기재될 수 있다:
Figure pat00001
여기에서, do는 제 1 데드라인의 시간을 규정하는 오프셋이다.
마일스톤(m)에서 상대적인 프로세스(ρm)는 아래 수식에 의해 표현될 수 있다.
Figure pat00002
(m+1)th 마일스톤에서 상대적인 프로세스가 0 아래로 강하하면,
Figure pat00003
(-ρm에 대해 다음 큰 정수) 데드라인 미스들이, mth 마일스톤(예를 들면, 하나의 데드라인이 0< -ρm <1이면 미스됨) 때문에 발생한다.
데드라인 미스들은 통상적으로 다음 방식으로 프로세스된다. 마일스톤(m)에 대한 데드라인에서, 청크 수신이 완료되지 않으면, 수신기는 청크의 수신을 중단한다. 하지만, 이 접근법은 지금까지 수신된 모든 정보가 손실된다는 것을 필연적으로 의미하는 것은 아니다. 종료되지 않은 송신은 일부 정보가 추가로 이용될 수 있다는 사실에도 불구하고, 데드라인 미스로서 고려될 수 있다. 이 접근법으로, 최소 상대적인 프로세스는 0이다.
통상적으로 MDP의 제 1 요소인 시스템의 상태는 마일스톤(m)에서, πk (0≤k≤n-1)에 의해 표기되는 상대적인 프로세스 구간, 및 qm으로써 표기되는 앞에서 이용된 품질 레벨이다. 상대적인 프로세스 범위는 유한 수의 상태들을 얻기 위해, 동일 사이즈 프로세스 구간들의 유한 세트로 구획된다.
송신 가능성들을 위해, 전이 가능성들, 즉 MDP의 또 다른 요소에 대해, 품질 레벨(q)이 선택될 때, 현재 마일스톤(m)에서의 상태(i)에서 다음 마일스톤(m+1)에서의 상태(j)로 전이 가능성을 계산하는 것이 필요하다. 전이 가능성들의 계산은 예산이 기간(Tp)과 같다고 가정한다.
MDP의 최종 요소는 상태에서 특정 액션을 선택하는(즉, 품질 레벨을 선택하는) 포상들(rewards) 및/또는 패널티들(penalties)을 규정하는 수입 함수(revenue function)이다.
MDP의 솔루션은 전이 당 평균 수입을 최소화하는 결정 전략에 의해 주어진다. 연속적인 근사 솔루션 기술은 MDP을 해결하는데 이용된다. 전략 계산은 통상적으로 오프라인으로 행해진다. 얻어진 최적 수신기 전략은 클라이언트 디바이스로부터 적응형 스트리밍을 제어하기 위한 클라이언트 디바이스에 저장된다.
MDP의 완전한 선명도(full definition)를 위해, 특정한 품질 레벨(q)에서 청크에 대한 송신 시간을 나타내는 변수(Xq)의 CDF(cumulative distribution function)(Fq)가 추정된다. 통계들은 다양한 비디오 입력들로부터 특정한 지속기간의 청크들의 사이즈들을 측정하고, 계산된 전략이 이용되는 대역폭에 의해 측정된 값들을 분할함으로써 오프라인으로 수집된다.
본 발명의 설명하기 위해, 다음 예에서, 평가는 3개의 상이한 테스트들을 이용하여 2개의 높은 선명도 비디오 시퀀스들의 적응형 스트리밍으로 보여진다. 평가에 대한 입력으로서, 2개의 높은 선명도 비디오 시퀀스들의 통계들을 인코딩하는 것이 이용된다. 제 1 비디오는 10시간 길이이며, MDP 모델에 입력으로서 이용되고; 제 2 비디오는 2 시간 길이이며, MDP 모델로 생성되는 전략들을 평가하기 위해 테스트 시퀀스로서 이용된다. 비디오 시퀀스들은 1Mbps(품질 레벨 q0), 2Mbps(품질 레벨 q1) 및 3Mbps(품질 레벨 q2)의 비트 레이트들을 갖는 3개의 품질 레벨들로 x264 비디오 인코더를 이용하여 인코딩된다.
이 예에서, 청크의 지속기간은 2초이고, 비디오 시퀀스들은 청크들로 분리되고, 트레이스 파일들(trace files)은 모든 청크들의 사이즈들을 기록하기 위해 생성된다. 트레이스 파일들은 상이한 품질 레벨들로부터 청크들에 대한 사이즈 측정들을 포함한다.
도 2는 상기 예의 3개의 품질 레벨들(q0, q1, q2)에 대한 2초 청크들의 CDF들을 나타내는 그래프를 도시한다. x 축 상에서, 비트들의 청크 사이즈가 플로팅된다. y 축 상에서, 청크가 청크 사이즈보다 작거나 같은 사이즈를 갖는 누적 가능성이 플로팅된다. CDF들은 전이 가능성들을 결정하기 위해 MDP에 대한 입력으로서 이용된다.
3개의 테스트들이 네트워크 행동에 대해 상이한 가정들('고정된(fixed)', '변동하는(fluctuating)', 및 '변하는(changing)')로 실행된다.
'고정된' 테스트에 대해, 네트워크 대역폭은 비트 레이트(b)에서 모든 청크들의 송신 동안 동일한 것으로 유지된다(즉, 청크 송신 시간들에서의 차이들이 오로지 청크 크기들에서의 차이들에 의해 야기됨). 하지만, 실제로, 송신의 전체 지속기간에 대해 일정한 네트워크 대역폭을 갖는 것이 실현가능하지 않다. IPTV 및 인터넷 TV 시스템들의 대다수가 빈번한 손실, 복제, 또는 관리된 네트워크들의 이용으로 인한 송신 동안 패킷들의 리오더링(reordering)을 거의 경험하지 않지만, 데이터 패킷들은 동일한 경로를 위해 경쟁하는 다수의 트래픽 흐름들로 인해 지연될 수 있다. '고정된' 테스트는 대역폭 변화들에 대한 주요 이유로서 지연들을 보여준다.
'변동하는' 및 '변하는' 테스트들은 변하는 네트워크 상태들 하에서 시스템 성능을 평가한다. 이용가능한 대역폭의 정상 분배 및 균일 분배가 가정된다. '변동하는' 테스트에 대해, 대역폭 값은 정상 분배(N)(b,b/10)로부터 선택되지만, 양의 값들로 제한된다. '변하는' 테스트에 대해, 대역폭 값은 균일 분배(U)(b-b/10, b+b/10)로부터 선택된다. 둘 모두의 테스트들에서, 대역폭 값은 매 청크에 대해 변한다.
모두 3개의 테스트에 대해, 하나의 전략은 0.25 Mbps의 스텝과 함께 2.25Mbps 내지 6Mbps로부터 b의 각 값 마다 계산된다. 트레이스 파일들은 청크 송신 시간의 CDF들을 생성하기 위해 테스트 상태들('고정된' 테스트에 대한 시그널 값 및 '변동하는' 및 '변하는' 테스트들에 대한 1000 값들의 세트)에 따라 생성되는 청크 사이즈들 및 대역폭 값들에 대해 이용된다. CDF들은 전이 가능성들을 계산하기 위해 MDP에 대한 입력으로서 이용된다.
이 예에서, MDP 파라미터들은 아래와 같이 정의된다. 상대적인 프로세스 상의 상부 경계는 2로 설정되고, 그것은 2개 이상의 송신된 청크들이 앞서 동작될 수 있다고 가정한다. AVC/H.264 코덱의 주관적인 품질 평가에 기초하여, 레벨들(q0, q1, q2) 각각에 대해 4.2, 4.3, 4.4로서 특정 품질 레벨 상에 있는 포상이 정의된다. 수입 함수에서, 데드라인을 미스하는 패널티는 250에 설정된다. 품질 레벨을 증가시키는 패널티들은 품질 레벨이 1 또는 2만큼 각각 증가되면, 0.125 및 1.25로 설정된다. 품질 레벨을 감소시키기 위해, 패널티들은 1 또는 2 레벨들만큼 다운되게 하는 0.25 및 2.5로 설정된다.
MDP에 의해 연산되는 전략의 예가 도 3에 도시된다. 수평축은 앞의 품질 레벨을 나타낸다. 수직축은 상대적인 프로세스 값들에 대한 것이다. 다음 청크에 대한 품질 레벨을 선택하기 위해, 연산된 전략은 수평축에서 앞의 품질 레벨을 갖는 컬럼(column)을 찾음으로써, 및 상대적인 프로세스의 현재 값을 끝낼지를 컬럼의 어떤 부분에서 결정함으로써 적용된다. 알고리즘은 간단한 룩업 동작들로서 구현될 수 있고, 소프트웨어에서 구현될 수 있다.
평가를 위해, '제어된' 알고리즘은 '최대 노력(best-effort)' 알고리즘과 비교된다. '제어된' 알고리즘은 도 3에 도시된 바와 같이 MDP로 연산된 전략에 따른다. '최대 노력' 알고리즘은 가장 낮은 품질 레벨로 시작하고, 이어서, 다음의 전략에 따른다; 버퍼 충만함이 1/3보다 작고, 현재 품질 레벨이 q0이 아니면, 품질 레벨을 감소시키고; 버퍼 충만함이 2/3보다 크고, 현재 품질 레벨이 q2이 아니면, 품질 레벨을 증가시키고; 그렇지 않으면, 동일한 품질 레벨을 유지한다.
q0, q1, q2에 대해 0, 1, 2의 가능한 품질 레벨들이 각각 주어지면, 모두 3개의 테스트들('고정된', '변동하는' 및 '변하는')에서 둘 모두의 알고리즘들에 의해 달성되는 평균 품질 레벨은 도 4에서 나타내진 바와 같이, '고정된' 네트워크 테스트에 대해 거의 동일하다.
하지만, 2개의 알고리즘들의 성능들, 즉 그것들의 데드라인들을 미스하는 청크들의 퍼센티지 및 품질 레벨 변경들의 수를 비교하는데 있어 평균 품질 외의 다른 결정 인자들이 존재하고, 그것에 대해, '최대 노력' 알고리즘은 제안된 '제어된' 알고리즘에 의해 능가된다(outperformed).
도 5a는 '고정된' 테스트에서 두 개의 알고리즘들에 대한 평균 대역폭의 함수으로서 데드라인 미스들의 퍼센티지를 도시한다. 도 5b는 '변동하는' 테스트에서 두 개의 알고리즘들에 대한 평균 대역폭의 함수으로서 데드라인 미스들의 퍼센티지를 도시한다. 도 5c는 '변하는' 테스트에서 두 가지 알고리즘들에 대한 평균 대역폭의 함수으로서 데드라인 미스들의 퍼센티지를 도시한다.
도 5a에 도시된 바와 같이, 알고리즘들은 '고정된' 테스트에서 모든 대역폭 값들에 대해 거의 동일하게 실행하는 반면에, 도 5b 및 도 5c에서 도시된 바와 같이, '변동하는' 및 '변하는' 테스트들에서, '제어된' 알고리즘은 '최대 노력' 알고리즘을 능가한다. 이것은 아래와 같이 설명될 수 있다.
고정된 대역폭으로, 펑크들의 송신 시간들은 품질 레벨들 사이에서 상당히 다르고, 품질 레벨의 변경은 송신 시간에서 상당한 변경을 거의 보장한다. 그러므로, 클라이언트 디바이스 버퍼(3)가 비게 될 때, 알고리즘들은 간단히 데드라인 미스를 회피하기 위한 품질 레벨을 감소시킨다. '변동하는' 및 '변하는' 테스트들에서, 품질 레벨의 감소가 이용가능한 대역폭의 강하와 일치할 수 있어, 거의 발음되지 않은 이러한 스텝에 영향을 미치는 기회가 존재한다. '제어된' 알고리즘은 이러한 상황에 대해 준비되고, 보다 보수적인 전략을 실행한다.
도 6a는 '고정된' 테스트에서 두 개의 알고리즘들에 대해 평균 대역폭 대 품질 레벨 변경들의 수를 도시한다. 도 6b는 '변동하는' 테스트에서 두 개의 알고리즘들에 대한 평균 대역폭 대 품질 레벨 변경들의 수를 도시한다. 도 6c는 "변경하는" 테스트에서 두 개의 알고리즘들에 대한 평균 대역폭 대 품질 레벨 변경들의 수를 도시한다.
도 6a 내지 도 6c는, '고정된', '변동하는' 및 '변하는' 테스트들에서, 품질 레벨 변경들의 수가 '제어된' 알고리즘에 대해 상당히 낮다는 것을 도시한다.
도 7은 인터넷 TV 또는 IPTV을 위해 이용되는 바와 같이, 본 발명의 예시적인 실시예의 간단화된 시스템(50)을 도시한다. 서버(20)는 패킷 스위칭된 네트워크(30)를 통해 하나 이상의 클라이언트 디바이스들(10)에 접속된다. 인코더(22)는 서버(20)로부터 클라이언트 디바이스(10)로 디지털 콘텐트 스트림의 송신 전에 디지털 콘텐트 스트림을 인코딩한다. 인코더는 예를 들면, 제 3 자의 콘텐트 소스에서 서버(20)의 외부에 또는, 예를 들면, 콘텐트가 서버(20)에 저장될 때, 서버(20)에 대해 내부에 있을 수 있다.
최적 수신기 전략은 서버(20)에서 계산될 수 있고, 서버(20)에서 클라이언트 디바이스(10)로 송신된다. 이것은 최적 수신기 전략으로 하여금, 예를 들면, 인코더 특성들 또는 네트워크 특성들이 변할 때, 업데이트되게 할 수 있다. 대안으로, 최적 수신기 전략은 디지털 콘텐트의 송신에 포함되지 않은 또 다른 서버(23)에서 계산된다. 이 서버(23)는 서버(20)를 통해 또는 직접 클라이언트 디바이스(10)에 최적 수신기 전략을 송신할 수 있다. 최적 수신기 전략이 클라이언트 디바이스(10)에서 선로딩되어(preloaded) 오프라인으로 계산되는 것이 가능하다.
도 8은 프로세서(5)를 이용하여 최적 수신기 전략을 계산하고, 송신기(6)를 이용하여 클라이언트 디바이스(10)에 최적 수신기 전략을 송신하도록 구성되는 본 발명의 예시적인 실시예의 서버(20,23)를 도시한다.
도 9는 인터넷 TV 또는 IPTV 시스템과 같은 본 발명의 예시적인 실시예의 시스템(50)에서의 방법을 도시한다. 상기 방법은 인코더의 속성들을 얻는 단계(1001) 및 네트워크 속성들을 추정하는 단계(1002)를 포함한다. 인코더 속성들 및 네트워크 속성들은 MDP 모델을 규정하는데(1003) 이용된다. MDP는 해결되고(1004), 얻어진 최적 수신기 전략은 클라이언트 디바이스(10)의 제어기(2)에서 저장된다(1005). 선택적으로, 최적 수신기 전략이 서버(20, 23)에서 생성되면, 서버(20, 23)는 클라이언트 디바이스(10)에 최적 수신기 전략을 송신한다(1006). 블록들(1001-1005)의 순서는 도 9에 도시된 것과는 상이할 수 있는데, 예를 들면, 1001 및 1002는 교대로 실행될 수 있다.
도 10은 본 발명의 예시적인 실시예의 서버(20)에서의 방법을 도시한다. 상기 방법은 인코더의 속성들을 얻는 단계(1001) 및 네트워크 특성들을 추정하는 단계(1002)를 포함한다. 인코더 속성들 및 네트워크 속성들은 MDP 모델을 규정하는(1003)데 이용된다. MDP는 해결되고(1004), 얻어진 최적 수신기 전략은 클라이언트 디바이스(10)에 송신된다(1006). 블록들(1001-1005)의 순서는 도 10에 도시된 것과는 상이할 수 있는데, 예를 들면, 1001 및 1002는 교대로 실행될 수 있다.
도 11은 본 발명의 예시적인 실시예의 클라이언트 디바이스(10)에서의 방법을 도시한다. 클라이언트 디바이스의 수신기(1)는 데이터의 청크를 수신한다(2001). 데이터의 청크는 디코더(4) 또는 임의의 다른 비디오 프로세싱 애플리케이션/모듈에 의해 추가로 프로세싱하기 위한 버퍼에 저장된다(2002). 네트워크(30)의 현재 이용가능한 대역폭은 추정되고(2003), 제어기(2)에 제공된다(2004). 제어기는, 품질 레벨이 어떠해야 하는지를 데이터의 다음 청크에 대해 계산한다(2008). 여기에, 제어기는 수신기인 최적 수신기 전략을 이용하고(2007), 제어기(2)에서 저장한다(1005). 계산된 품질 레벨은 예를 들면, 품질 레벨의 대표를 포함하는 데이터를 제공함으로써 수신기에 시그널링된다(2005). 수신기는 데이터의 다음 청크에 대한 요청을 서버(20)에 송신하기 위해(2006) 품질 레벨을 이용한다. 이 요청은 제어기(2)에 의해 계산되는 바와 같이 요구된 품질 레벨을 포함한다. 블록들의 순서는, 블록으로부터의 결과들이 또 다른 블록에서 프로세스하기 위한 시간에 이용가능한 한, 도 11에 도시된 것과 상이할 수 있다.
임의의 일 실시예에 관련하여 설명된 임의의 특징이 단독으로 또는 설명된 다른 특성들과 조합하여 이용될 수 있으며, 또한 임의의 다른 실시예들의 하나 이상의 속성들과 조합하여 또는 임의의 다른 실시예들의 임의의 조합으로 이용될 수 있음을 이해해야 한다. 본 발명의 일 실시예는 컴퓨터 시스템과 함께 이용하기 위한 프로그램 제품으로서 구현될 수 있다. 프로그램 제품의 프로그램(들)은 (여기에서 설명된 방법들을 포함하는) 실시예들의 함수들을 규정하고, 다양한 컴퓨터 판독가능한 저장 매체 상에 포함될 수 있다. 예시적인 컴퓨터 판독가능한 저장 매체는, (i) 정보가 영구히 저장되는 기록불가능한 저장 매체(예를 들면, CD-ROM 드라이브에 의해 판독가능한한 CD-ROM 디스크들, ROM 칩들 또는 임의 유형의 고체 비휘발성 반도체 메모리와 같은 컴퓨터 내의 리드-온리 메모리 디바이스들); 및 (ii) 변경할 수 있는 정보가 저장되는 기록가능 저장 매체(예를 들면, 디스켓 드라이브 또는 하드디스크 드라이브 내의 플로피 디스크들 또는 임의 유형의 고체 랜덤 액세스 반도체 메모리 또는 플래시 메모리)를 포함하지만, 그것에 제한되지 않는다. 본 발명은 첨부된 청구범위의 범위 내에서 변할 수 있는 상술한 실시예들에 제한되지 않는다.
1: 수신기 모듈 2: 제어기
3: 버퍼 4: 디코더
5: 프로세서 6: 송신기
10: 클라이언트 디바이스 20, 23: 서버
22: 인코더

Claims (9)

  1. 디지털 콘텐트를 인코딩하기 위한 인코더(22) 및 상기 디지털 콘텐트를 패킷 스위칭된 네트워크(30)를 통해 클라이언트 디바이스(10)에 송신하기 위한 서버(20)를 포함하는 시스템(50)에서 상기 디지털 콘텐트의 품질 레벨들 사이를 스위칭함으로써 상기 디지털 콘텐트의 적응형 스트리밍(adaptive streaming)을 제어하기 위한 방법에 있어서:
    상기 인코더(22)의 하나 이상의 속성들을 얻는 단계로서, 상기 특성들은 상기 인코더의 특성들을 룩업(lookup)하는 인코더 유형 아이덴티피케이션(encoder type identification), 상기 인코더(22)에 의해 이용되는 디코더 입력 버퍼의 수학적 모델, 및 상기 인코더(22)의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함하는, 상기 하나 이상의 속성을 얻는 단계;
    상기 패킷 스위칭된 네트워크(30)의 이용가능한 대역폭을 추정하는 단계로서, 상기 이용가능한 대역폭은 상기 디지털 콘텐트의 송신 지속기간, 및/또는 상기 패킷 스위칭된 네트워크(30)의 시간에 대한 상기 이용가능한 대역폭의 변화 특성들에 기초하고, 상기 변화 특성들은 네트워크 특성 데이터를 얻기 위해, 평균 이용가능한 대역폭으로부터 상기 이용가능한 대역폭의 편차를 나타내는, 상기 이용가능한 대역폭을 추정하는 단계;
    마르코프 결정 프로세스(Markov Decision Process)에 기초한 수학적 모델을 이용하여, 및 인코더(22)의 얻어진 속성들 및 상기 네트워크 속성 데이터를 상기 수학적 모델에 대한 입력으로서 이용하여 확률적 결정 문제(stochastic decision problem)를 규정하는 단계;
    최적 수신기 전략 데이터를 얻기 위해 연속적인 근사 솔루션 기술을 이용하여 상기 확률적 결정 문제를 해결하는 단계; 및
    상기 서버(20)로부터 상기 클라이언트 디바이스(10)로 상기 디지털 콘텐트의 상기 적응형 스트리밍을 제어하기 위해 상기 클라이언트 디바이스(10)에 상기 최적 수신기 전략 데이터를 저장하는 단계를 포함하는, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 확률적 결정 문제는 상기 서버(20)에서 해결되고, 상기 방법은 상기 서버(20)에서 상기 클라이언트 디바이스(10)로 상기 최적 수신기 전략 데이터를 송신하는 단계를 추가로 포함하는, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법.
  3. 클라이언트 디바이스(10)에서 디지털 콘텐트의 품질 레벨들 사이를 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법으로서, 상기 디지털 콘텐트는 인코더(22)에 의해 인코딩되고, 패킷 스위칭된 네트워크(30)를 통해 서버(20)로부터 기원하고, 상기 클라이언트 디바이스(10)는 제어기(2) 및 버퍼(3)에 통신가능하게 접속되는 수신기(1)를 포함하고, 상기 클라이언트 디바이스(10)는 상기 버퍼(3)에 통신가능하게 접속되는 디코더(4)를 추가로 포함하는, 상기 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법에 있어서:
    상기 디지털 콘텐트의 데이터의 청크(chunk)를 상기 수신기(1)에서 수신하는 단계;
    상기 디코더(4)에 의해 추가적으로 프로세스하기 위한 상기 버퍼(3)에 데이터의 상기 청크를 저장하는 단계;
    상기 패킷 스위칭된 네트워크(30)의 이용가능한 대역폭을 추정하는 단계로서, 상기 이용가능한 대역폭은 추정 데이터를 얻기 위해 상기 디지털 콘텐트의 송신 지속기간에 기초하는, 상기 이용가능한 대역폭 추정 단계;
    상기 추정 데이터를 상기 제어기(2)에 제공하는 단계;
    상기 제어기(2)에서 상기 수신기(1)로 데이터의 다음 청크의 품질 레벨을 시그널링하는 단계; 및
    상기 품질 레벨에 따르는 데이터의 상기 다음 청크에 대한 요청을 상기 서버(20)에 송신하는 단계를 포함하고,
    상기 방법은:
    최적 수신기 전략 데이터를 수신하고 상기 제어기(2)에서 상기 최적 수신기 전략 데이터를 저장하는 단계로서, 상기 최적 수신기 전략 데이터는 연속적인 근사 솔루션 기술을 이용하는 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 상기 패킷 스위칭된 네트워크(30)의 이용가능한 대역폭의 사전 추정 및 상기 인코더(22)의 하나 이상의 속성들을 상기 수학적 모델에 대한 입력으로서 이용하여 확률적 결정 문제를 해결하는 결과이고, 상기 이용가능한 대역폭은 상기 패킷 스위칭된 네트워크(30)의 시간에 대한 상기 이용가능한 대역폭의 변화 특성들 및/또는 추정 데이터를 얻기 위해서, 상기 디지털 콘텐트의 송신 지속기간에 기초하고, 상기 변화 특성들은 평균 이용가능한 대역폭으로부터 상기 이용가능한 대역폭의 편차를 나타내고, 상기 특성들은 상기 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 상기 인코더(22)에 의해 이용되는 디코더 입력 버퍼의 수학적 모델 및 상기 인코더(22)의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함하는, 상기 최적 수신기 전략 데이터를 수신하고 상기 제어기(2)에서 상기 최적 수신기 전략 데이터를 저장하는 단계; 및
    상기 최적 수신기 전략 데이터 및 상기 추정 데이터에 기초하여 데이터의 다음 청크의 상기 품질 레벨을 상기 제어기(2)에서 계산하는 단계를 추가로 포함하는, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법.
  4. 서버(20, 23)에서 디지털 콘텐트의 품질 레벨들 사이를 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법으로서, 상기 디지털 콘텐트는 인코더(22)에 의해 인코딩되고, 상기 서버(20, 23)는 패킷 스위칭된 네트워크(30)를 통해 클라이언트 디바이스(10)에 통신가능하게 접속되는, 상기 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법에 있어서:
    상기 인코더(22)의 하나 이상의 속성들을 얻는 단계로서, 상기 특성들은 상기 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 상기 인코더(22)에 의해 이용되는 디코더 입력 버퍼의 수학적 모델 및 상기 인코더(22)의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함하는, 상기 인코더(22)의 하나 이상의 속성들을 얻는 단계;
    상기 패킷 스위칭된 네트워크(30)의 이용가능한 대역폭을 추정하는 단계로서, 상기 이용가능한 대역폭은 상기 디지털 콘텐트의 송신 지속기간, 및/또는 상기 패킷 스위칭된 네트워크(30)의 시간에 대한 상기 이용가능한 대역폭의 변화 특성들에 기초하고, 상기 변화 특성들은 네트워크 특성 데이터를 얻기 위해서, 평균 이용가능한 대역폭으로부터 상기 이용가능한 대역폭의 편차를 나타내는, 상기 이용가능한 대역폭 추정 단계;
    마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 상기 인코더(22)의 얻어진 특성들 및 상기 네트워크 특성 데이터를 상기 수학적 모델에 대한 입력으로서 이용하여 확률적 결정 문제를 규정하는 단계;
    최적 수신기 전략 데이터를 얻기 위해 연속적인 근사 솔루션 기술을 이용하여 상기 확률적 결정 문제를 해결하는 단계; 및
    상기 서버(20)에서 상기 클라이언트 디바이스(10)로 상기 디지털 콘텐트의 상기 적응형 스트리밍을 제어하기 위해 상기 클라이언트 디바이스(10)를 구성하도록 상기 서버(20, 23)에서 상기 클라이언트 디바이스(10)로 상기 최적 수신기 전략 데이터를 송신하는 단계를 포함하는, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 방법.
  5. 디지털 콘텐트의 품질 레벨들 사이를 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 시스템으로서, 상기 디지털 콘텐트를 인코딩하기 위한 인코더(22) 및 패킷 스위칭된 네트워크(30)를 통해 클라이언트 디바이스(10)에 상기 디지털 콘텐트를 송신하기 위한 서버(20)를 포함하는, 상기 시스템에 있어서,
    상기 서버(20)는:
    상기 인코더(22)의 하나 이상의 속성들을 얻고;
    패킷 스위칭된 네트워크(30)의 이용가능한 대역폭을 추정하고;
    마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 상기 인코더(22)의 얻어진 특성들 및 상기 네트워크 특성 데이터를 상기 수학적 모델에 대한 입력으로서 이용하여, 확률적 결정 문제를 규정하고;
    최적 수신기 전략 데이터를 얻기 위해 연속적인 근사 솔루션 기술을 이용하여 확률적 결정 문제를 해결하도록 구성되는 프로세서를 포함하고,
    상기 속성들은 상기 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 상기 인코더(22)에 의해 이용되는 디코더 입력 버퍼의 수학적 모델 및 상기 인코더(22)의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함하고,
    상기 이용가능한 대역폭은 상기 디지털 콘텐트의 송신 지속기간, 및/또는 상기 패킷 스위칭된 네트워크(30)의 시간에 대한 상기 이용가능한 대역폭의 변화 특성들에 기초하고, 상기 변환 특성들은 네트워크 특성 데이터를 얻기 위해서, 평균 이용가능한 대역폭으로부터 상기 이용가능한 대역폭의 편차를 나타내고,
    상기 서버(20)는 상기 클라이언트 디바이스(10)에 상기 최적 수신기 전략 데이터를 송신하도록 구성되는 송신기를 추가로 포함하고,
    상기 클라이언트 디바이스(10)는 상기 서버(20)로부터 상기 클라이언트 디바이스(10)로 상기 디지털 콘텐트의 상기 적응형 스트리밍을 제어하기 위해 상기 최적 수신기 전략 데이터를 수신 및 저장하도록 구성되는, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 시스템.
  6. 디지털 콘텐트의 품질 레벨들 사이를 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 클라이언트 디바이스(10)로서, 상기 디지털 콘텐트는 인코더(22)에 의해 인코딩되고, 패킷 스위칭된 네트워크(30)를 통해 서버(20)로부터 기원하는, 상기 클라이언트 디바이스(10)에 있어서:
    제어기(2) 및 버퍼(3)에 통신가능하게 접속되는 수신기(1); 및
    상기 버퍼(3)에 통신가능하게 접속되는 디코더(4)를 포함하고,
    상기 수신기(1)는:
    최적 수신기 전략 데이터를 수신하고, 상기 제어기(2)에서 상기 최적 수신기 전략 데이터를 저장하고;
    상기 디지털 콘텐트의 데이터의 청크를 수신하고;
    상기 디코더(4)에 의해 추가적으로 프로세스하기 위한 상기 버퍼(3)에 데이터의 상기 청크를 저장하고;
    패킷 스위칭된 네트워크(30)의 이용가능한 대역폭을 추정하고;
    상기 제어기(2)에 상기 추정 데이터를 제공하고;
    품질 레벨에 따르는 데이터의 다음 청크에 대한 요청을 상기 서버(20)에 송신하도록 구성되고,
    상기 이용가능한 대역폭은 추정 데이터를 얻기 위해서 상기 디지털 콘텐트의 송신 지속기간에 기초하고,
    상기 제어기는:
    상기 최적 수신기 전략 데이터 및 상기 추정 데이터에 기초하여 데이터의 다음 청크의 상기 품질 레벨을 계산하고;
    데이터의 상기 다음 청크의 상기 품질 레벨을 상기 수신기(1)에 시그널링하도록 구성되고,
    상기 최적 수신기 전략 데이터는 연속적인 근사 솔루션 기술을 이용하는 마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 상기 패킷 스위칭된 네트워크(30)의 이용가능한 대역폭의 사전 추정 및 상기 인코더(22)의 하나 이상의 속성들을 상기 수학적 모델에 대한 입력으로서 이용하여 확률적 결정 문제를 해결하는 결과이고, 상기 이용가능한 대역폭은 상기 패킷 스위칭된 네트워크(30)의 시간에 대한 상기 이용가능한 대역폭의 변화 특성들 및/또는 상기 디지털 콘텐트의 송신 지속기간에 기초하고, 상기 변화 특성들은 평균 이용가능한 대역폭으로부터 상기 이용가능한 대역폭의 편차를 나타내고, 상기 특성들은 상기 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 상기 인코더(22)에 의해 이용되는 디코더 입력 버퍼의 수학적 모델 및 상기 인코더(22)의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함하는, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 클라이언트 디바이스(10).
  7. 디지털 콘텐트의 품질 레벨들 사이를 스위칭함으로써 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 서버(20, 23)로서, 상기 디지털 콘텐트는 인코더(22)에 의해 인코딩되고, 상기 서버(20, 23)는 패킷 스위칭된 네트워크(30)를 통해 클라이언트 디바이스(10)에 통신가능하게 접속되는, 상기 서버(20, 23)에 있어서,
    상기 서버(20)는:
    상기 인코더(22)의 하나 이상의 속성들을 얻고;
    패킷 스위칭된 네트워크(30)의 이용가능한 대역폭을 추정하고;
    마르코프 결정 프로세스에 기초한 수학적 모델을 이용하고, 상기 인코더(22)의 얻어진 특성들 및 상기 네트워크 특성 데이터를 상기 수학적 모델에 대한 입력으로서 이용하여, 확률적 결정 문제를 규정하고,
    최적 수신기 전략 데이터를 얻기 위해 연속적인 근사 솔루션 기술을 이용하여 확률적 결정 문제를 해결하도록 구성되는 프로세서(5)를 포함하고,
    상기 속성들은 상기 인코더의 특성들을 룩업하는 인코더 유형 아이덴티피케이션, 상기 인코더(22)에 의해 이용되는 디코더 입력 버퍼의 수학적 모델 및 상기 인코더(22)의 레이트 제어 특성들 및/또는 비트 할당 특성들 중 적어도 하나를 포함하고,
    상기 이용가능한 대역폭은 상기 디지털 콘텐트의 송신 지속기간, 및/또는 상기 패킷 스위칭된 네트워크(30)의 시간에 대한 상기 이용가능한 대역폭의 변화 특성들에 기초하고, 상기 변환 특성들은 네트워크 특성 데이터를 얻기 위해서, 평균 이용가능한 대역폭으로부터 상기 이용가능한 대역폭의 편차를 나타내고,
    상기 서버(20)는 상기 서버(20)에서 상기 클라이언트 디바이스(10)로 상기 디지털 콘텐트의 상기 적응형 스트리밍을 제어하도록 상기 클라이언트 디바이스(10)를 구성하기 위해 상기 클라이언트 디바이스(10)에 상기 최적 수신기 전략 데이터를 송신하도록 구성되는 제어기(6)를 추가로 포함하는, 디지털 콘텐트의 적응형 스트리밍을 제어하기 위한 서버(20, 23).
  8. 프로세서에 의해 실행될 때, 제 3 항에 따르는 클라이언트 디바이스(10)에서 이용하기 위한 방법을 실행하도록 적응된, 컴퓨터 프로그램 소자.
  9. 프로세서에 의해 실행될 때, 제 4 항에 따르는 서버(20, 23)에서 이용하기 위한 방법을 실행하도록 적응된, 컴퓨터 프로그램 소자.
KR1020110040782A 2010-04-29 2011-04-29 디지털 콘텐트의 적응형 스트리밍 제어 KR20110120836A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP10161468.3 2010-04-29
EP10161468A EP2383999A1 (en) 2010-04-29 2010-04-29 Controlling an adaptive streaming of digital content

Publications (1)

Publication Number Publication Date
KR20110120836A true KR20110120836A (ko) 2011-11-04

Family

ID=42235164

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110040782A KR20110120836A (ko) 2010-04-29 2011-04-29 디지털 콘텐트의 적응형 스트리밍 제어

Country Status (6)

Country Link
US (1) US20110270913A1 (ko)
EP (1) EP2383999A1 (ko)
JP (1) JP2011234370A (ko)
KR (1) KR20110120836A (ko)
CN (1) CN102238433A (ko)
CA (1) CA2738513A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112698A1 (ko) * 2013-01-18 2014-07-24 고려대학교 산학협력단 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법
KR101462558B1 (ko) * 2013-12-19 2014-11-19 연세대학교 산학협력단 Dash에서 레프리젠테이션 선택을 위한 대역폭 결정 방법
KR101462557B1 (ko) * 2013-12-20 2014-11-27 연세대학교 산학협력단 Dash에서 레프리젠테이션을 재구성하는 방법

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2485441B1 (en) * 2011-01-31 2014-10-08 Alcatel Lucent A video packet scheduling method for multimedia streaming
JP5837621B2 (ja) * 2011-02-11 2015-12-24 インターデイジタル パテント ホールディングス インコーポレイテッド コンテンツの配信および受信の方法および装置
EP2573997A1 (en) * 2011-09-26 2013-03-27 Thomson Licensing Method for controlling bandwidth and corresponding device
US10397294B2 (en) * 2011-12-15 2019-08-27 Dolby Laboratories Licensing Corporation Bandwidth adaptation for dynamic adaptive transferring of multimedia
US9246971B2 (en) 2012-09-07 2016-01-26 Futurewei Technologies, Inc. System and method for segment demarcation and identification in adaptive streaming
US20140108495A1 (en) * 2012-10-11 2014-04-17 Steven A. Benno Adaptive streaming client
CN103929684B (zh) * 2013-01-14 2018-06-15 华为技术有限公司 一种基于流媒体选择码流分段的方法、播放器和终端
JP6270873B2 (ja) 2013-01-15 2018-01-31 華為技術有限公司Huawei Technologies Co.,Ltd. メディアコンテンツの適応型ストリーミングのための品質情報の使用
US9706522B2 (en) * 2013-03-01 2017-07-11 Intel IP Corporation Wireless local area network (WLAN) traffic offloading
EP2785067A1 (en) * 2013-03-27 2014-10-01 Alcatel Lucent A method and client for requesting, receiving and decoding adaptive streaming video
US10284612B2 (en) 2013-04-19 2019-05-07 Futurewei Technologies, Inc. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
US20140372569A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
US20150058448A1 (en) * 2013-08-21 2015-02-26 Josh Proctor Internet video streaming system
US10050856B2 (en) 2013-11-01 2018-08-14 Nec Corporation Communication device, network available bandwidth estimation method in communication device, and storage medium on which network available bandwidth estimation program has been recorded
JP6053176B2 (ja) * 2013-12-03 2016-12-27 日本電信電話株式会社 映像再生状態推定装置、映像再生状態推定方法、及びプログラム
EP2897337B1 (en) * 2014-01-21 2022-01-05 Alcatel Lucent Improved playback control device and method for streaming media content
US9542953B2 (en) * 2014-01-22 2017-01-10 Comcast Cable Communications, Llc Intelligent data delivery
JP6053180B2 (ja) * 2014-02-18 2016-12-27 日本電信電話株式会社 映像再生状態推定装置、映像再生状態推定方法、及びプログラム
CN105338422B (zh) * 2014-06-09 2018-11-13 杭州海康威视数字技术股份有限公司 视频图像数据的网络发送速率的平滑方法
WO2018018447A1 (zh) * 2016-07-27 2018-02-01 王晓光 依据网络速率调整视频广告的接收方法及系统
CN106993237B (zh) * 2017-04-13 2019-05-10 中北大学 基于mpeg-dash协议的动态自适应码率选择方法
CN110941489B (zh) * 2018-09-21 2024-06-18 北京京东尚科信息技术有限公司 流处理引擎的伸缩方法和装置
CN110087110B (zh) * 2019-06-12 2021-03-30 深圳市大数据研究院 应用深度搜索动态调控视频播放的方法及装置
US11070607B2 (en) * 2019-07-22 2021-07-20 DAZN Limited Dynamic behavior modification for content download and playback
US11269792B2 (en) * 2020-05-29 2022-03-08 EMC IP Holding Company LLC Dynamic bandwidth management on a storage system
WO2022037798A1 (en) * 2020-08-18 2022-02-24 Telefonaktiebolaget Lm Ericsson (Publ) Estimating video resolution delivered by an encrypted video stream
WO2023181205A1 (en) * 2022-03-23 2023-09-28 Nippon Telegraph And Telephone Corporation Video player, video playback method, and program
CN117768451A (zh) * 2023-12-26 2024-03-26 西安电子科技大学广州研究院 一种视频通信资源分配决策方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999432B2 (en) * 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
EP1685718A1 (en) * 2003-11-13 2006-08-02 Koninklijke Philips Electronics N.V. Method and apparatus for smoothing overall quality of video transported over a wireless medium
CN1764184B (zh) * 2005-10-20 2010-07-07 中兴通讯股份有限公司 一种实时流媒体通讯传输方法
CN101502112A (zh) * 2006-07-10 2009-08-05 迅腾公司 基于分组的视频广播系统中的图像复杂性计算
JP2008042547A (ja) * 2006-08-07 2008-02-21 Fujitsu Ltd 移動通信システム,基地局,端末装置及び送信制御方法
CN101399980B (zh) * 2007-09-26 2011-04-06 华为技术有限公司 流媒体服务实现方法、系统和策略与控制服务器
CN101527659B (zh) * 2009-04-15 2012-12-19 腾讯科技(深圳)有限公司 一种数据传输监控方法、系统及网络传输装置
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014112698A1 (ko) * 2013-01-18 2014-07-24 고려대학교 산학협력단 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법
KR101438737B1 (ko) * 2013-01-18 2014-09-05 고려대학교 산학협력단 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법
KR101462558B1 (ko) * 2013-12-19 2014-11-19 연세대학교 산학협력단 Dash에서 레프리젠테이션 선택을 위한 대역폭 결정 방법
KR101462557B1 (ko) * 2013-12-20 2014-11-27 연세대학교 산학협력단 Dash에서 레프리젠테이션을 재구성하는 방법

Also Published As

Publication number Publication date
CA2738513A1 (en) 2011-10-29
US20110270913A1 (en) 2011-11-03
JP2011234370A (ja) 2011-11-17
EP2383999A1 (en) 2011-11-02
CN102238433A (zh) 2011-11-09

Similar Documents

Publication Publication Date Title
KR20110120836A (ko) 디지털 콘텐트의 적응형 스트리밍 제어
US10623785B2 (en) Streaming manifest quality control
EP3022884B1 (en) Quality optimization with buffer and horizon constraints in adaptive streaming
US10034048B2 (en) Multipath delivery for adaptive streaming
Jarnikov et al. Client intelligence for adaptive streaming solutions
US8467457B2 (en) System and a method for controlling one or more signal sequences characteristics
KR102079155B1 (ko) 적응형 스트리밍 클라이언트의 동작을 원격으로 관리하는 방법
EP2612495B1 (en) Adaptive streaming of video at different quality levels
CN109729437B (zh) 流媒体自适应传输方法、终端和系统
US20140181266A1 (en) System, streaming media optimizer and methods for use therewith
CA2505853A1 (en) Transmission of video
US20130304934A1 (en) Methods and systems for controlling quality of a media session
KR20150042191A (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
KR20060051568A (ko) 미디어 스트림으로부터 획득한 미디어의 프리젠테이션을위한 방법 및 시스템
EP2396945A2 (en) Video streaming
EP2589223A1 (en) Video streaming
KR20160077077A (ko) 적응형 스트리밍 클라이언트에 대해 대역폭을 예약하기 위한 방법 및 디바이스
KR20160028985A (ko) 적어도 2 개의 연속 세그먼트들로 스플릿되는 멀티미디어 컨텐츠를 수신하기 위한 방법 및 클라이언트 단말, 그리고 대응하는 컴퓨터 프로그램 제품 및 컴퓨터 판독가능 매체
JP2014090419A (ja) 通信パラメータに従ってコンテンツをダウンロードするための方法、および、関連するコンテンツ受信機
WO2014066975A1 (en) Methods and systems for controlling quality of a media session
Mushtaq et al. Regulating QoE for adaptive video streaming using BBF method
Mushtaq et al. HTTP rate adaptive algorithm with high bandwidth utilization
Bezerra et al. DBuffer: A state machine oriented control system for DASH
Jabbar et al. Improving video quality in dash systems by proposing adaptive bitrate scheme based on variable segment size approach
JP2023019370A (ja) レート制御サーバ、配信システム及びレート制御プログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid