KR20130028979A - 비디오 청크들을 전송하기 위한 방법, 그러한 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티 - Google Patents

비디오 청크들을 전송하기 위한 방법, 그러한 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티 Download PDF

Info

Publication number
KR20130028979A
KR20130028979A KR1020137004467A KR20137004467A KR20130028979A KR 20130028979 A KR20130028979 A KR 20130028979A KR 1020137004467 A KR1020137004467 A KR 1020137004467A KR 20137004467 A KR20137004467 A KR 20137004467A KR 20130028979 A KR20130028979 A KR 20130028979A
Authority
KR
South Korea
Prior art keywords
entity
chunks
client
server
encoded
Prior art date
Application number
KR1020137004467A
Other languages
English (en)
Other versions
KR101446450B1 (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 알까뗄 루슨트
Publication of KR20130028979A publication Critical patent/KR20130028979A/ko
Application granted granted Critical
Publication of KR101446450B1 publication Critical patent/KR101446450B1/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/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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • 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/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

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

Abstract

비디오 청크들(chunks)을 요청-응답 프로토콜을 이용하여 클라이언트 엔티티(C)로 제공하는 방법이 개시된다. 각각의 비디오 청크는 각각의 품질 레벨에 따라 인코딩된 복수의 인코딩된 비디오 청크들로서 서버 엔티티(S)에서 이용가능하다. 상기 방법은, - 서버 엔티티가 상이한 품질 레벨들에 대한 정보를 클라이언트 엔티티에게 전송하는 단계와, - 클라이언트 엔티티가 로컬 전송 대역폭 관련 파라미터들과 연관된 기준에 기초하여 상이한 품질 레벨들 중 하나의 품질 레벨을 선택하는 단계와, - 클라이언트 엔티티가 서버 엔티티에게 하나의 품질 레벨로 인코딩된 청크들을 클라이언트 엔티티로 전송할 것을 요청하는 단계와, - 서버 엔티티가 하나의 청크 품질 레벨에 따라 인코딩된 인코딩된 청크들을 클라이언트 엔티티에게 전송하는 단계와, - 서버 엔티티가 서버 엔티티로부터 클라이언트 엔티티로의 인코딩된 청크들의 전송 시간과 연관된 부가의 정보를 클라이언트 엔티티에게 전송하는 단계와, - 클라이언트 엔티티가 부가의 정보를 또한 고려하여 하나의 품질 레벨을 선택하는 단계를 포함한다.

Description

비디오 청크들을 전송하기 위한 방법, 그러한 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티{METHOD FOR TRANSFERRING VIDEO CHUNKS, SERVER ENTITY, CLIENT ENTITY AND INTERMEDIATE NETWORK ENTITY REALIZING SUCH A METHOD}
본 발명은 비디오 청크들(chunks)을 요청-응답 프로토콜을 이용하여 클라이언트 엔티티로 제공하는 방법에 관한 것으로, 각각의 비디오 청크는 각각의 품질 레벨에 따라 인코딩된 복수의 인코딩된 비디오 청크들로서 서버 엔티티에서 이용가능하며, 상기 방법은:
- 상기 서버 엔티티가 상이한 품질 레벨들에 대한 정보를 상기 클라이언트 엔티티에게 전송하는 단계와,
- 상기 클라이언트 엔티티가 로컬 전송 대역폭 관련 파라미터들과 연관된 기준에 기초하여 상기 상이한 품질 레벨들 중 하나의 품질 레벨을 선택하는 단계와,
- 상기 클라이언트 엔티티가 상기 서버 엔티티에게 상기 하나의 품질 레벨로 인코딩된 청크들을 클라이언트 엔티티로 전송할 것을 요청하는 단계와,
- 상기 서버 엔티티가 상기 하나의 청크 품질 레벨에 따라 인코딩된 상기 인코딩된 청크들을 상기 클라이언트 엔티티에게 전송하는 단계
를 포함한다.
인터넷을 통한 비디오 파일들의 효율적인 전달을 위해, RTP(Real-time Transport Protocol) 및 UDP(User Diagram Protocol) 같은 실시간 프로토콜들이 개발되었다. 인기있는 웹 페이지들에 대한 HTTP 캐싱 노드들과 CDNs(Content Delivery Networks)의 가용성, HTTP 기술과 웹페이지 개발자들의 친밀성, 방화벽이 웹 브라우저를 통해 액세스되는 웹사이트들을 통과(pass)하도록 구성된 것에 따른 HTTP/TCP의 보다 용이한 방화벽 트래버스(traversal)하는 것에 기인하여, 인터넷을 통해 비디오 파일을 전달하기 위해 HTTP/TCP 같은 비실시간 프로토콜의 사용이 증가하는 경향이 있다. HTTP/TCP 같은 비실시간 프로토콜을 경유하여 인터넷을 통해 비디오 파일들을 전달하기 위한 상이한 카테고리의 솔루션들이 존재한다. 그들 중 하나는 적응적(adaptive) 스트리밍이다. 예를 들면, "HTTP-Based Adapting Streaming"으로부터 알려진 HAS(HTTP adaptive streaming)은 Alex Zambelli에 의한 "IIS Smooth Streaming Technical Overview"(Microsoft Silverlight)의 일부이다.
HAS는 서버에서 또는 중간에서의 가용성, 또는 상이한 품질 및, 예를 들면, 2초의 지속기간의, 청크들로도 불리우는 세그먼트 시간 슬롯들에서의 비디오 파일들의 구성요소를 캐싱하는 것에 의존한다.
상이한 품질의 시간 세그먼트들은 비디오를 시청할 때 결합될 수 있다. HTTP 적응 스트리밍은 클라이언트 엔티티가 가능하게 추정된 최고 품질로 비디오를 시청할 수 있게 하고, 네트워크 내의 가용 대역폭이 불충분할 때, 또는 더 낮은 품질의 초기 세그먼트 다운로드를 통해 빠른 시작을 가능하게 하기 위해 새로운 비디오의 기동시에 더 낮은 품질의 세그먼트를 요청할 수 있게 할 수 있다. 전형적으로, 클라이언트 엔티티는 자신의 버퍼를 임의의 레벨, 예를 들면, 20 내지 30초 재생 시간으로 채워지도록 시도할 것이다. 버퍼가 비워지는 경우, 클라이언트는 보다 빠르게 버퍼를 채우고 비디오의 동결(freezing)을 피하기 위해 보다 낮은 품질의 비디오 파일 세그먼트를 요청하기 시작한다.
품질 레벨의 선택이 대응하는 인코딩된 청크들을 다운로드하는데 필요한 대역폭에 영향을 미치기 때문에, 가용 네트워크 대역폭에서의 갑작스런 변동(fluctuations)은 청크 품질을 선택하는데 과제(challenging)가 되고 있다. 다수의 연속적인 청크가 고속으로 다운로드될 수 있는 경우, 보다 높은 비디오 품질 레벨로 진행하도록 결정될 수 있고, 청크들이 빠르게 전송될 수 있는 한, 시청자에 대해 품질 레벨을 더 증가시키도록 결정될 것이다. 대역폭이 갑자기 떨어지면(drop), 그 순간에 다운로드되는 높은 품질의 청크가 더 낮은 대역폭에서 완전하게 종료되어야 한다. 이것은 청크들을 클라이언트의 사용자에게 디스플레이하기 전에 그 청크들을 저장하는 클라이언트 엔티티의 버퍼의 채움 레벨에 심각한 영향을 미친다. 이것은 심지어 버퍼가 완전히 비게 되는(starvation) 현상을 초래할 수 있고, 결과적으로 시청자에 대해 비디오 동결을 가져올 수 있다.
대역폭 변동은 다음과 같은 몇가지 원인을 가질 수 있다:
- 간섭 영향과 함께 가장 가까운 기지국 안테나에 대한 근접도가 중요한 역할을 할 수 있는 무선 링크를 통한 청크들의 전송.
- 인지된 대역폭에 동일한 영향을 가질 수 있는 중간 HTTP 프록시들에 의한 청크 캐싱. 클라이언트(클라이언트의 내부 캐시 포함)에 근접하여 캐싱된 청크들은 높은 가용 대역폭을 나타내면서 매우 빠르게 검색될 수 있다. 캐싱되지 않는 청크들은 서버로부터 페치(fetch)되어야 하고 캐싱된 세그먼트에 비해 상대적으로 느리게 검색된다. 클라이언트의 관점으로부터, 링크 상의 가용 대역폭은 강하게 변동할 것이고 이것은 결정하는 품질 레벨에 영향을 미칠 것이다.
- 공유 링크를 통한 청크들의 전송. 다른 사용자들에 의해 발생된 부하에 의존하여, 한 클라이언트에 대한 가용 대역폭은 대폭적으로 변할 수 있다.
언제든지, 품질 레벨을 선택할 때는 밸런스(balance)가 발견되어야 한다. 선택이 너무 빠르게 적용되는 경우, 이것은 시청자에게 방해될 수 있는 많은 불필요한 품질 변동을 가져올 것이다. 결정이 충분히 빠르지 않은 경우, 이것은 버퍼 언더-런(under-run)을 호출(invoking)하는 위험을 무릅쓰고 보다 일정한 디스플레이 품질을 가져올 것이다. 심한 대역 변동의 경우 클라이언트 측에서 확실한 예측을 한다는 것은 가능하지 않기 때문에, 달성된 품질은 준최적(sub-optimal)이다. 게다가, 버퍼가 비게 될 위험이 있다.
공지된 방법의 전술한 단점을 극복하는 것이 본 발명의 목적이다.
본 발명에 따른 방법은, 상기 서버 엔티티가 상기 클라이언트 엔티티에게 상기 서버 엔티티로부터의 상기 인코딩된 청크들의 전송 시간과 연관된 부가의 정보를 전송하는 단계와, 상기 클라이언트 엔티티가 상기 하나의 품질 레벨의 선택 시에 상기 부가의 정보를 또한 고려하는 단계의 추가의 단계를 포함한다는 점에서 본 목적을 실현한다.
이 방식에서, 최적 품질 레벨의 예측의 순수한 '시행 착오(trial and error/recovery)'에 이어지는 것 대신, 서버 엔티티로부터 수신되는 부가의 정보가 클라이언트로 하여금 버퍼 언더런을 야기하지 않으면서 달성될 수 있는 (몇몇의 정확도 마진 내에서) 최고 품질의 레벨을 '계산'하게 할 수 있다.
본 발명에 따른 방법의 실시예의 추가의 특징은, 상기 클라이언트 엔티티로부터의 요청시에 상기 서버 엔티티가 상기 부가의 정보를 전송한다는 점이다. 이 방식에서, 클라이언트 엔티티는 품질 선택의 타이밍 및 빈도(frequency)를 결정한다.
본 발명에 따른 방법의 실시예의 또 다른 추가의 특징은, 상기 부가의 정보가 상기 품질 레벨 상에서 상기 정보와 함께 전송된다는 점이다. 이 방식에서, 상기 부가의 특징은 정보 전송의 수를 제한함과 동시에 실현된다.
본 발명에 따른 방법의 실시예의 또 다른 특징은, 상기 전송 시간에서의 미리 정해진 관련 변경이 발생할 때마다 상기 서버 엔티티가 상기 부가의 정보를 전송한다는 점이다. 이러한 방식으로, 클라이언트 엔티티로부터의 요청시에 부가의 정보가 제공되는 시스템에서, 이 클라이언트 엔티티는 두 개의 정보 요청들 간에 발생하는 전송 시간에서의 관련 변경을 인식할 것이다.
본 발명에 따른 방법의 실시예의 또 다른 부가의 특징은, 상기 서버 엔티티와 상기 클라이언트 엔티티 간 통신이 중간 네트워크 엘리먼트를 통해 수행된다는 점이고, 또한, 상기 방법은 상기 중간 네트워크 엘리먼트가, 제한되는 것은 아니지만, 캐싱될 가능성이 있는 청크들 또는 자신으로부터 상기 클라이언트 엔티티로 비디오 청크들을 전송하는데 필요한 전송 시간 또는 상기 클라이언트 엔티티의 프로파일 정보 또는 그들의 임의의 조합과 같은 자신에게서 이용가능한 로컬 정보를 고려하기 위해 상기 부가의 정보를 업데이트하는 부가의 단계를 포함한다.
중간 네트워크 엘리먼트는 청크들의 전송 시간에 영향을 미칠 수 있다. F.I. 캐시들은 그 추정된 전송 시간을 줄일 수 있다. 또한, 클라이언트에서 이용가능하거나 그에 의해 필요한 대역폭은 가입 동의 또는 시청 거동에 대해 각각 클라이언트의 프로파일 f.i.에 의존될 수 있다. 이러한 부가의 특징은 그들의 클라이언트 엔티티에게 알려주는 것을 가능하게 한다.
본 발명은 또한 본 발명에 따른 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티에 관한 것이다.
본 발명을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엘리먼트는 이후, 단지 예로서, 설명되고, 서버 엔티티 S가 중간 네트워크 엘리먼트 IN을 통하거나 직접 웹을 통해 클라이언트 엔티티 C와 통신하는 네트워크를 나타내는 첨부 도면을 참조한다. S는 또한 네트워크 관리 모듈 NM과 통신한다.
명료성을 위해, S, NM, IN 과 C 사이의 웹 접속은 단일 라인들로 표현된다.
S는 서버 저장 엔티티 SSTE, 서버 수신 엔티티 SRE, 서버 전송 엔티티 SSE, 서버 프로세싱 엔티티 SPE 및 서버 관리자 SM을 포함한다.
S는 HTTP(Hypertext Transfer Protocol)을 사용하여 비디오 스트림들을 캐싱 엔티티로서 동작하는 IN을 통하거나 또는 직접적으로 C에 제공한다. 비디오 소스는 원하는 전달 코드 포맷을 사용하여 인코딩되는 전형적으로 2 내지 4초 길이의 청크들로 커트된다. 이것이 행해지는 방식은 본 발명의 과제가 아니기 때문에 상세히 설명되지는 않는다. 코딩은 S에 의하거나 외부 인코더에 의해 행해질 수 있다. 청크들은 SSTE에 의해 S에 저장되고 적응형 스트리밍에 의해 전달된다. 이를 위해, 청크들은 상이한 품질 레벨들에 대응하는 상이한 비트 레이트들을 이용하여 인코딩된다.
IN은 수신부 INRE, 프로세싱부 INPE, 전송부 INSE 및 저장부 INSE를 포함한다. IN은 C에 전송될 비디오 청크들에 대한 캐싱 엘리먼트로서 기능하여 이들 청크들의 전송 시간을 감소시키고 네트워크 상의 부하를 감소시킨다.
C는 수신부 CRE, 전송부 CSE 및 프로세싱부 CPE를 포함한다.
비디오 청크들을 그로 전송하기 위해, C, 또는 특히 C 내의 CSE는 제1 예에서 요청을 S로 전송하여 소위 적하 요청(manifest request)인 이용가능한 품질 레벨에 대한 정보를 얻는다. 도시된 실시예에서, 이 요청은 S에 직접적으로 전송되지만, 이것은 IN을 통해 행해지는 것과 동일할 수 있다.
S는 이 요청을 SRE를 통해 수신하고 이것을 SPE로 전송한다. SPE는 SSTE로부터 이용가능한 품질 레벨들에 대한 정보를 검색하도록 구성된다. SM은 네트워크 관리자 모듈 NM으로부터 네트워크를 통해, 비디오 청크들을 C에 전송하는데 필요한 시간에 영향을 미칠 수 있는, 네트워크 부하 및 C에 보유된 대역폭과 같은 파라미터들에 대한 대역폭 관련 정보를 얻도록 구성된다. 이 정보는, 이 전송 시간을 대역폭 관련 정보, 이용가능한 청크들의 크기 및 서버의 부하와 같은 로컬 정보에 기초하여 평가하도록 구성된 SPE로 전달된다. 계산을 위해, 고려되는 구현예에서 다음의 공식이 사용되지만, 다른 공식들 또한 사용될 수 있다:
(t=BW/s+RTT+Ts)
여기서, t는 추정된 전송 시간, BW는 서버로부터 클라이언트로의 이용가능한 대역폭, s는 세그먼트의 크기, RTT는 라운드 트립(round trip) 시간(클라이언트-서버-클라이언트), Ts는 요청을 다루기 위해 서버에 의해 필요한 프로세싱 시간이다. t에 대한 정보는 다음에 이용가능한 품질 레벨들에 대한 정보와 함께 C로의 전송을 위해 소위 적하 메시지의 형태로 SSE로 전송된다. 이러한 전송은 IN을 통해 행해진다. IN은 INRE에서 메시지를 수신하고 INRE는 이 메시지를 INPE로 전송하며, 여기서, 적하 메시지에서의 평가된 전송 시간에 대한 정보는 어떤 청크들이 IN에 의해 캐싱되는지, IN에서 이용가능한 품질 레벨, 및 C에 근접한 이럽한 이용가능성이 어떻게 전송 시간에 영향을 미치는지에 기초하도록 구성된다. 고려되는 실시예에서, NI는 시간을,
청크가 캐시에서 이용한 경우 tu=BWI/s+RTTI+TsI로 수정하고,
여기서, tu는 업데이트된 추정된 전송 시간, BWI는 IN으로부터 클라이언트로의 이용가능한 대역폭, s는 세그먼트의 크기, RTTI는 라운트 트립 시간(클라이언트-IN-클라이언트), TsI는 요청을 조정하기 위해 IN에 의해 필요한 프로세싱 시간이다. 다시, 대체 실시예에서, 다른 공식 또한 사용될 수 있다. 업데이트된 적하 메시지는 C로의 전송을 위해 INSE로 전달된다.
고려되는 실시예에서 IN은 캐싱 유닛이라는 것을 알아야 한다. 그러나, 대체 실시예에서, IN은 또한 DSLAM 노드와 같은 액세스 노드일 수 있다. 이 경우, 평가된 다운로드 시간은 액세스 링크의 유형(ADSL, VDSL, 광 섬유...)의 함수로 적응된다.
C는 적하 메시지를 CSE를 통해 수신하고, CSE는 이 메시지를 CPE로 통과시킨다. CPE는 버퍼 오버/언더런을 일으키지 않으면서 전송이 달성될 수 있는 최고 품질 레벨을 계산하기 위해, 청크들을 사용자(도시되지 않음)에게 디스플레이하기 전에, 청크들을 버퍼링하는데 사용되는 로컬 버퍼(도면에는 또한 도시되지 않음)의 크기에 대한 국부적으로 이용가능한 정보 및 추정된 다운로드 시간을 이용한다. 이러한 계산된 품질 레벨에 대한 정보는, 요청된 품질 레벨을 갖는 비디오 청크들을 얻기 위해, IN을 통해 S로의 전송을 위해 CRE로 전달되는 청크 요청 메시지에 삽입된다. 다음에, 이 요청은, 요청된 청크들이 캐싱되는 경우 IN에 의해 조정되거나, 또는 그들이 IN에서 이용가능하지 않은 경우 IN에 의해 S로 전달되고, 요청된 청크들은 C로 전송된다.
C는, 네트워크 부하의 변동, 캐싱 조건의 변경, S의 부하의 변경과 같은 네트워크 또는 S에서의 변경에 기인한 평가된 전송 시간에서의 변경을 인식하기 위해 그러한 적하 요청들을 주기적으로 전송한다.
부가하여, S 내의 SPE는 평가된 전송 시간에 관련된 영향을 미칠 수 있는 네트워크 조건에서의 갑작스런 변경이 없는지를 SM을 통해 주기적으로 검사한다. 변경이 발생한다면, 평가된 전송 시간이 재계산되고 새로운 적하 메시지가 C로 전송된다. 대체 실시예에서, 이러한 검사는 SM에 의해 행해지거나, 또는 네트워크 조건의 변경이 발생할 때마다 네트워크로부터 트리거가 수신된다.
비디오 청크들이 어떻게 인코딩되고 디코딩되는지, 그리고 그들이 사용자에게 어떻게 스트리밍되는지는 본 발명의 과제가 아니기 때문에 여기서는 설명되지 않는다.
또한, S, IN 및 C 내의 기능 블록의 구현은 전술한 기능 설명에 기초하여 당업자에게는 그러한 구현이 자명하기 때문에 상세히 설명하지는 않는다.
부가하여, 설명된 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 수 있는 하드웨어의 사용을 통해 제공될 수 있다는 것이 이해되어야 한다. 프로세서에 의해 제공될 때, 기능은 단일의 전용 프로세서에 의해, 단일의 공유 프로세서에 의해, 또는 복수의 개별 프로세서들(이들 중 몇몇은 공유될 수 있음)에 의해 제공될 수 있다. 다른 하드웨어, 종래 및/또는 맞춤형 또한 포함될 수 있다.
전술한 설명 및 도면은 단순히 본 발명의 원리를 설명한다. 따라서, 이러한 설명에 기초하여, 당업자는, 여기서는 명시적으로 설명하거나 도시하지 않더라도, 본 발명의 원리를 구체화하고 본 발명의 사상 및 범위 내에 포함되는 다양한 구성을 도출할 수 있을 것이라는 것이 이해되어야 할 것이다. 더욱이, 여기서 인용된 예는 단지 명시적으로 본 발명의 원리의 이해에 있어 독자에게 도움을 주기 위한 교육적 목적 및 기술을 더 진행시키기 위해 발명자(들)에게 도움이 되는 개념을 위한 것을 원리적으로 의도하고 있고, 특히 그러한 인용된 예 및 조건 및 여기서 인용하는 본 발명의 원리, 양상 및 실시예 뿐만 아니라 그들의 특정 예의 모든 설명을 제한하지 않는 것으로 해석되어야 하고, 그들의 균등물을 포함하는 것을 의도로 한다.

Claims (13)

  1. 요청-응답 프로토콜을 이용하여 비디오 청크들(chunks)을 클라이언트 엔티티(C)로 제공하는 방법으로서 - 각각의 비디오 청크는 각각의 품질 레벨에 따라 인코딩된 복수의 인코딩된 비디오 청크들로서 서버 엔티티(S)에서 이용가능함 - ,
    상기 서버 엔티티가 상이한 품질 레벨들에 대한 정보를 상기 클라이언트 엔티티에게 전송하는 단계와,
    상기 클라이언트 엔티티가 로컬 전송 대역폭 관련 파라미터들과 연관된 기준에 기초하여 상기 상이한 품질 레벨들 중 하나의 품질 레벨을 선택하는 단계와,
    상기 클라이언트 엔티티가 상기 서버 엔티티에게 상기 하나의 품질 레벨로 인코딩된 청크들을 상기 클라이언트 엔티티로 전송할 것을 요청하는 단계와,
    상기 서버 엔티티가 상기 하나의 청크 품질 레벨에 따라 인코딩된 상기 인코딩된 청크들을 상기 클라이언트 엔티티에게 전송하는 단계와,
    상기 서버 엔티티가 상기 서버 엔티티로부터 상기 클라이언트 엔티티로의 상기 인코딩된 청크들의 전송 시간과 연관된 부가의 정보를 상기 클라이언트 엔티티에게 전송하는 단계와,
    상기 클라이언트 엔티티가 상기 부가의 정보를 또한 고려하여 상기 하나의 품질 레벨을 선택하는 단계를 포함하는
    비디오 청크 제공 방법.
  2. 제1항에 있어서,
    상기 서버 엔티티(S)는 파라미터들의 리스트 중 적어도 하나로부터 상기 부가의 정보를 얻고, 상기 리스트는, 상기 인코딩된 청크들의 크기, 상기 서버의 부하, 상기 인코딩된 청크들이 전송되는 네트워크의 부하, 상기 클라이언트 엔티티에 대해 상기 네트워크 상에서 보유된 대역폭을 포함하지만, 이에 제한되지 않는
    비디오 청크 제공 방법.
  3. 제1항에 있어서,
    상기 서버 엔티티(S)는 상기 클라이언트 엔티티(C)로부터의 요청에 따라 상기 부가의 정보를 전송하는
    비디오 청크 제공 방법.
  4. 제3항에 있어서,
    상기 부가의 정보는 상기 품질 레벨들에 대한 상기 정보와 함께 전송되는
    비디오 청크 제공 방법.
  5. 제1항에 있어서,
    상기 서버 엔티티(S)는 상기 전송 시간에 미리 정해진 관련 변경이 발생할 때마다 상기 부가의 정보를 전송하는
    비디오 청크 제공 방법.
  6. 제1항에 있어서,
    상기 서버 엔티티(S)와 상기 클라이언트 엔티티(C) 간의 통신은 중간 네트워크 엘리먼트를 통해 수행되고,
    상기 방법은,
    상기 중간 네트워크 엘리먼트(IN)가, 제한되는 것은 아니지만, 캐싱될 가능성이 있는 청크들 또는 상기 중간 네트워크 엘리먼트(IN)로부터 상기 클라이언트 엔티티(C)로 비디오 청크들을 전송하는데 필요한 전송 시간 또는 상기 클라이언트 엔티티(C)의 프로파일 정보 또는 그들의 임의의 조합과 같은 상기 중간 네트워크 엘리먼트(IN)에서 이용가능한 로컬 정보를 고려하기 위해 상기 부가의 정보를 업데이트하는 단계를 더 포함하는
    비디오 청크 제공 방법.
  7. 제1항에 따른 방법을 실행하기 위한 서버 엔티티(S)로서,
    상기 서버 엔티티(S)는
    비디오 청크들을 저장하는 저장 엔티티(SSTE) - 각각의 비디오 청크는 각각의 품질 레벨에 따라 인코딩된 복수의 인코딩된 비디오 청크로서 저장됨 - 와,
    상이한 품질 레벨들에 대한 정보를 클라이언트 엔티티(C)에 전송하는 전송 엔티티(SSE)와,
    상기 클라이언트 엔티티(C)로부터 선택된 청크 품질 레벨로 인코딩된 청크들을 전송하기 위한 요청을 수신하는 수신 엔티티(SRE)를 포함하고,
    상기 전송 엔티티(SSE)는 또한 상기 선택된 품질 레벨로 인코딩된 상기 인코딩된 청크들을 상기 클라이언트 엔티티(C)로 전송하고,
    상기 서버 엔티티(S)는 또한 상기 서버 엔티티(S)로부터 상기 클라이언트 엔티티(C)로의 상기 인코딩된 청크들의 전송 시간과 연관된 부가의 정보를 생성하는 프로세싱 엔티티(SPE)를 포함하고, 상기 전송 엔티티는 상기 부가의 정보를 상기 클라이언트 엔티티(C)로 전송하는
    서버 엔티티(S).
  8. 제7항에 있어서,
    상기 프로세싱 엔티티(SPE)는, 제한되는 것은 아니지만, 상기 인코딩된 청크들의 크기, 상기 서버(S)의 부하, 상기 인코딩된 청크들이 전송되는 네트워크의 부하, 상기 클라이언트 엔티티(C)에 대해 상기 네트워크 상에 보유된 대역폭을 포함하는 파라미터들의 리스트 중 적어도 하나로부터 상기 부가의 정보를 생성하는
    서버 엔티티(S).
  9. 제7항에 있어서,
    상기 수신 엔티티(SRE)는 상기 클라이언트 엔티티(C)로부터 상기 상이한 품질 레벨들에 대한 상기 부가의 정보를 전송하기 위한 요청을 수신하고, 상기 전송 엔티티(SSE)는 상기 요청의 수신시에 상기 클라이언트 엔티티(C)로 상기 부가의 정보를 전송하는
    서버 엔티티(S).
  10. 제9항에 있어서,
    상기 전송 엔티티(SSE)는 상기 상이한 품질의 레벨들에 대한 상기 정보와 함깨 상기 부가의 정보를 전송하는
    서버 엔티티(S).
  11. 제7항에 있어서,
    상기 프로세싱 엔티티(SPE)는 상기 전송 시간에서 미리 정해진 관련 변경의 검출시에 상기 부가의 정보를 생성하고 상기 전송 엔티티로 상기 부가의 정보를 전송하도록 트리거하는
    서버 엔티티(S).
  12. 제1항에 따른 방법을 실현하기 위한 클라이언트 엔티티(C)로서,
    상기 클라이언트 엔티티(C)는
    인코딩된 비디오 청크들의 가능한 품질 레벨들에 대한 정보를 수신하는 수신 엔티티(CRE)와,
    상기 인코딩된 비디오 청크들을 전송하는데 필요한 대역폭에 대한 국부적으로 이용가능한 정보와 연관된 기준에 기초하여 상기 가능한 품질 레벨들 중 하나의 청크 품질 레벨을 선택하는 선택 엔티티(CPE)와,
    상기 하나의 청크 레벨로 인코딩된 비디오 청크들을 전송하기 위한 요청을 서버 엔티티(S)로 전송하는 전송 엔티티(CSE)를 포함하고,
    상기 수신 엔티티(CRE)는 상기 인코딩된 비디오 청크들을 수신하며, 상기 수신 엔티티(CRE)는 또한 상기 서버 엔티티(S)로부터 상기 클라이언트 엔티티(C)로의 상기 인코딩된 청크들의 전송 시간과 연관된 부가의 정보를 수신하고, 상기 선택 엔티티(CPE)는 상기 부가의 정보를 또한 고려하여 상기 하나의 품질 레벨을 선택하는
    클라이언트 엔티티(C).
  13. 제6항에 따른 방법을 실현하기 위한 중간 네트워크 엔티티(IN)로서,
    상기 중간 네트워크 엔티티(IN)는
    서버 엔티티(S)로부터 클라이언트 엔티티(C)로 인코딩된 비디오 청크들을 전송하기 위한 전송 시간과 연관된 정보를 수신하도록 구성된 수신 모듈(INRE)과,
    업데이트된 부가의 정보를 생성하는 프로세싱 모듈(INPE) - 상기 업데이트된 부가의 정보는, 제한되는 것은 아니지만, 상기 중간 네트워크 엘리먼트(IN)로부터 상기 클라이언트 엔티티(C)로의 비디오 청크들의 전송 시간과 관련된 정보, 캐싱된 비디오 청크들의 정보, 상기 클라이언트 엔티티(C)의 프로파일 정보 또는 그들의 조합과 같은 로컬 정보를 고려하기 위해 상기 부가의 정보의 업데이트임 - 과,
    상기 업데이트된 부가의 정보를 상기 클라이언트 엔티티로 전송하는 전송 모듈(INSE)을 포함하는
    중간 네트워크 엔티티(IN).
KR1020137004467A 2010-07-23 2011-07-25 비디오 청크들을 전송하기 위한 방법, 그러한 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티 KR101446450B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP10305816A EP2410743A1 (en) 2010-07-23 2010-07-23 Method for transferring video chunks, server entity, client entity and intermediate network entity realizing such a method
EP10305816.0 2010-07-23
PCT/EP2011/062765 WO2012010714A1 (en) 2010-07-23 2011-07-25 Method for transferring video chunks, server entity, client entity and intermediate network entity realizing such a method

Publications (2)

Publication Number Publication Date
KR20130028979A true KR20130028979A (ko) 2013-03-20
KR101446450B1 KR101446450B1 (ko) 2014-10-01

Family

ID=43447765

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004467A KR101446450B1 (ko) 2010-07-23 2011-07-25 비디오 청크들을 전송하기 위한 방법, 그러한 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티

Country Status (6)

Country Link
US (1) US20130185759A1 (ko)
EP (1) EP2410743A1 (ko)
JP (1) JP2013535892A (ko)
KR (1) KR101446450B1 (ko)
CN (1) CN103026727A (ko)
WO (1) WO2012010714A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015156476A1 (ko) * 2014-04-07 2015-10-15 주식회사 바른기술 청크 기반의 끊김 없는 스트림 송수신 장치 및 그 방법
KR20160114203A (ko) * 2014-02-13 2016-10-04 코닌클리즈케 케이피엔 엔.브이. 단일 메세지 요청에 기초하여 네트워크 노드로부터 다수의 청크 요청

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6236459B2 (ja) * 2012-10-19 2017-11-22 インターデイジタル パテント ホールディングス インコーポレイテッド Httpストリーミングのための多仮説レート適合
CN103929684B (zh) * 2013-01-14 2018-06-15 华为技术有限公司 一种基于流媒体选择码流分段的方法、播放器和终端
US10142390B2 (en) 2013-02-15 2018-11-27 Nec Corporation Method and system for providing content in content delivery networks
US20140282792A1 (en) * 2013-03-15 2014-09-18 Cygnus Broadband, Inc. Video streaming with buffer occupancy prediction based quality adaptation
EP2819379A1 (en) * 2013-06-28 2014-12-31 Thomson Licensing Method for adapting the downloading behavior of a client terminal configured to receive multimedia content, and corresponding terminal
CN105379295A (zh) 2013-07-03 2016-03-02 皇家Kpn公司 分段内容的流送
US9386308B2 (en) * 2013-07-16 2016-07-05 Cisco Technology, Inc. Quality optimization with buffer and horizon constraints in adaptive streaming
US10523723B2 (en) 2014-06-06 2019-12-31 Koninklijke Kpn N.V. Method, system and various components of such a system for selecting a chunk identifier
WO2015198135A1 (en) * 2014-06-27 2015-12-30 Orange Method for method for estimating a transfer time of an electronic content prior to the transferring of the electronic content
US10033824B2 (en) * 2014-06-30 2018-07-24 Samsung Electronics Co., Ltd. Cache manifest for efficient peer assisted streaming
EP2993910A1 (en) * 2014-09-04 2016-03-09 Thomson Licensing Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer-readable medium.
US11818100B2 (en) * 2017-12-04 2023-11-14 Telefonaktiebolaget Lm Ericsson (Publ) Automatic provisioning of streaming policies for video streaming control in CDN

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1132020A (ja) * 1997-07-08 1999-02-02 Matsushita Electric Ind Co Ltd データ送信システムおよびデータ放送システム
JP4596693B2 (ja) * 2000-07-06 2010-12-08 パナソニック株式会社 ストリーミング方法およびそれを実行するシステム
JP4087706B2 (ja) * 2000-12-15 2008-05-21 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー オーディオおよび、またはビデオマテリアルの送信および受信
ATE464740T1 (de) * 2000-12-15 2010-04-15 British Telecomm Übertagung von ton- und/oder bildmaterial
US20030074379A1 (en) * 2001-10-11 2003-04-17 International Business Machines Corporation Apparatus and method of predicting file download time based on historical data
JP2004088621A (ja) * 2002-08-28 2004-03-18 Ntt Docomo Inc マルチメディア通信制御方法、マルチメディア通信制御サーバ及びマルチメディア通信システム
JP4288994B2 (ja) * 2003-04-10 2009-07-01 株式会社日立製作所 端末装置、配信サーバ、映像データの受信方法及び映像データの送信方法
JP2007194680A (ja) 2006-01-17 2007-08-02 Sharp Corp 動画視聴方法、通信端末およびプログラム
US8379851B2 (en) * 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US8265140B2 (en) * 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US9166711B2 (en) * 2008-11-19 2015-10-20 Qurio Holdings, Inc. Method and system to influence a viewer to select a feed
US9565239B2 (en) * 2009-05-29 2017-02-07 Orions Digital Systems, Inc. Selective access of multi-rate data from a server and/or peer
US8555163B2 (en) * 2010-06-09 2013-10-08 Microsoft Corporation Smooth streaming client component

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160114203A (ko) * 2014-02-13 2016-10-04 코닌클리즈케 케이피엔 엔.브이. 단일 메세지 요청에 기초하여 네트워크 노드로부터 다수의 청크 요청
WO2015156476A1 (ko) * 2014-04-07 2015-10-15 주식회사 바른기술 청크 기반의 끊김 없는 스트림 송수신 장치 및 그 방법

Also Published As

Publication number Publication date
WO2012010714A1 (en) 2012-01-26
US20130185759A1 (en) 2013-07-18
KR101446450B1 (ko) 2014-10-01
CN103026727A (zh) 2013-04-03
EP2410743A1 (en) 2012-01-25
JP2013535892A (ja) 2013-09-12

Similar Documents

Publication Publication Date Title
KR101446450B1 (ko) 비디오 청크들을 전송하기 위한 방법, 그러한 방법을 실현하는 서버 엔티티, 클라이언트 엔티티 및 중간 네트워크 엔티티
US9306994B2 (en) Stabilization of adaptive streaming video clients through rate limiting
CN104956631B (zh) 用于执行链路感知自适应流传输的设备和方法
US10034048B2 (en) Multipath delivery for adaptive streaming
KR101582371B1 (ko) 잉여 네트워크 용량을 사용한 점진적 다운로드 시스템 및 방법
Sanchez et al. Efficient HTTP-based streaming using scalable video coding
US20150319214A1 (en) Enhancing dash-like content streaming for content-centric networks
EP2999187B1 (en) Method, computer program product and server for streaming media content from a server to a client
JP2015133701A (ja) クライアント端末においてマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法、及び対応する端末
US20100228862A1 (en) Multi-tiered scalable media streaming systems and methods
US11057445B2 (en) Method for adapting the downloading behavior of a client terminal configured, to receive multimedia content, and corresponding terminal
JP6514217B2 (ja) セグメントに分割されたマルチメディアコンテンツを受信するように構成されたクライアント端末によるネットワーク情報取得方法
JP6352536B2 (ja) クライアントへのメディアコンテンツのアダプティブストリーミングのためのサーバ、方法、およびコンピュータプログラム製品
EP2410744A1 (en) Method for transferring video segments, client entity and proxy entity realizing such a method
KR20160028985A (ko) 적어도 2 개의 연속 세그먼트들로 스플릿되는 멀티미디어 컨텐츠를 수신하기 위한 방법 및 클라이언트 단말, 그리고 대응하는 컴퓨터 프로그램 제품 및 컴퓨터 판독가능 매체
WO2013185547A1 (zh) 一种缓存服务器的服务方法、缓存服务器及系统
KR102212973B1 (ko) 멀티미디어 컨텐츠의 컨텐츠 부분을 클라이언트 단말기, 대응 캐시에 제공하는 방법
EP2819368A1 (en) Method for providing a content part of a multimedia content to a client terminal, corresponding cache
KR102237900B1 (ko) 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법
US20140101330A1 (en) Method and apparatus for streaming multimedia contents
CA2657444A1 (en) Multi-tiered scalable media streaming systems and methods
CN112823527A (zh) 在能够运行一个自适应流传输会话的设备处实现的方法以及对应的设备

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee