KR102434950B1 - 데이터를 스트리밍하기 위한 방법들 및 장치들 - Google Patents

데이터를 스트리밍하기 위한 방법들 및 장치들 Download PDF

Info

Publication number
KR102434950B1
KR102434950B1 KR1020197038227A KR20197038227A KR102434950B1 KR 102434950 B1 KR102434950 B1 KR 102434950B1 KR 1020197038227 A KR1020197038227 A KR 1020197038227A KR 20197038227 A KR20197038227 A KR 20197038227A KR 102434950 B1 KR102434950 B1 KR 102434950B1
Authority
KR
South Korea
Prior art keywords
content
data segments
buffer
data
playback
Prior art date
Application number
KR1020197038227A
Other languages
English (en)
Other versions
KR20200018493A (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 KR20200018493A publication Critical patent/KR20200018493A/ko
Application granted granted Critical
Publication of KR102434950B1 publication Critical patent/KR102434950B1/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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video 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/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/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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
    • 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/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
    • 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)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

데이터를 스트리밍하기 위한 방법 및 장치가 제공된다. 오디오 및/또는 비디오 데이터 콘텐츠를 포함하는 데이터 세그먼트는 네트워크를 통해 수신된다(301). 데이터 세그먼트는 버퍼에 저장된다(302). 네트워크는 데이터 세그먼트의 재생 전에 버퍼에 현재 저장되어있는 것보다 더 높은 품질로 데이터 세그먼트에 콘텐츠를 제공할 수 있는 능력을 갖는 것으로 결정된다(303). 더 이른 상대적 재생 시간을 갖는 데이터 세그먼트의 콘텐츠의 고품질 버전을 요청하는 것보다 우선하여, 더 늦은 상대적 재생 시간을 갖는 상기 버퍼 내의 하나 이상의 데이터 세그먼트의 콘텐츠의 고품질 버전이 요청된다(304).

Description

데이터를 스트리밍하기 위한 방법들 및 장치들
본 발명은 데이터를 스트리밍하기 위한 방법들, 장치들 및 컴퓨터 프로그램들에 관한 것이다.
통신 디바이스는 스트리밍과 같이 네트워크를 통해 오디오 및/또는 비디오 데이터 형태의 미디어 컨텐츠를 수신할 수 있다. 스트리밍이라는 용어는 일반적으로 미디어 컨텐츠가 실질적으로 실시간 재생을 위해 네트워크를 통해 서버에 의해 클라이언트 통신 디바이스(이는 모바일 또는 셀룰러 전화, 랩톱 컴퓨터, 데스크탑 컴퓨터, 태블릿, 게임 콘솔 등과 같은 임의 유형의 사용자 컴퓨팅 디바이스일 수 있음)로 제공됨을 나타내는데 사용된다. 이것은 예를 들어, 나중에 사용하기 위해 전체 파일이 다운로드되는 "다운로드"와 대조될 수 있다. 수신된 오디오 및/또는 비디오 데이터는 오디오 및/또는 비디오 데이터 컨텐츠의 소비를 위해 사용자에게 재생될 수 있다.
본 명세서에 개시된 제 1 양상에 따르면, 데이터를 스트리밍하는 방법이 제공되며, 상기 방법은 오디오 및/또는 비디오 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 수신하는 단계; 상기 데이터 세그먼트들을 버퍼에 저장하는 단계; 상기 데이터 세그먼트들의 재생 전에, 상기 버퍼에 현재 저장된 것보다 고품질로 데이터 세그먼트들의 콘텐츠를 제공할 수 있는 능력을 상기 네트워크가 갖는 것으로 결정하는 단계; 및 더 이른(earlier) 상대적 재생 시간들을 갖는 데이터 세그먼트들의 콘텐츠의 고품질 버전을 요청하는 것보다 우선하여, 가장 늦은 상대적 재생 시간을 갖는 상기 버퍼 내의 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 요청하는 단계를 포함한다.
상기 방법은 컴퓨터 구현방법일 수 있다.
상기 방법은 사용자가 상기 버퍼에 저장된 데이터 세그먼트들의 재생을 일시정지한 것으로 결정하는 단계를 포함할 수 있고, 상기 네트워크가 능력을 갖는 것으로 결정하는 단계 및 고품질 버전을 갖는 데이터 세그먼트들을 요청하는 단계는, 사용자가 상기 버퍼에 저장된 데이터 세그먼트들의 재생을 일시정지한 것으로 결정함에 응답하여 수행된다.
상기 방법은 버퍼 내의 데이터 세그먼트들이 오디오 및/또는 비디오 스트림의 끝을 포함하고 있다고 결정하는 단계를 포함할 수 있으며, 상기 네트워크가 능력을 갖는 것으로 결정하는 단계 및 고품질 버전을 갖는 데이터 세그먼트들을 요청하는 단계는, 상기 버퍼 내의 데이터 세그먼트들이 오디오 및/또는 비디오 스트림의 끝을 포함하고 있다고 결정함에 응답하여 수행된다.
상기 방법은 그룹 내의 각 데이터 세그먼트가 그룹 내의 적어도 하나의 다른 데이터 세그먼트의 재생 시간에 바로 인접한 재생 시간을 갖도록, 상기 버퍼 내의 데이터 세그먼트들을 최대 사이즈의 그룹들로 함께 그룹화함으로써 복수의 그룹들을 형성하는 단계를 포함하고, 상기 요청하는 단계는, 가장 늦은 상대적 재생 시간들을 갖는 데이터 세그먼트들의 그룹의 고품질 버전을 요청하는 단계를 포함한다.
상기 방법은, 상기 버퍼 내의 콘텐츠의 소정 부분의 고품질 버전을 수신하는 단계; 상기 콘텐츠의 소정 부분의 고품질 버전이 완전히 수신되기 이전의 재생 시간에서, 상기 콘텐츠의 소정 부분의 재생이 수행될 것이라고 결정하는 단계; 및 상기 재생 시간에서, 상기 콘텐츠의 저품질 버전이 재생되게 하는 단계를 포함할 수 있다.
컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 전술한 방법들을 수행하게 하는 컴퓨터 코드를 포함하는 컴퓨터 프로그램이 제공된다.
제 2 양상에 따르면, 데이터를 스트리밍하기 위한 장치가 제공되며, 상기 장치는, 오디오 및/또는 비디오 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 요청하고; 상기 데이터 세그먼트들을 버퍼에 저장하고; 상기 데이터 세그먼트들의 재생 전에, 상기 버퍼에 현재 저장된 것보다 고품질로 데이터 세그먼트들의 콘텐츠를 제공할 수 있는 능력을 상기 네트워크가 갖는 것으로 결정하고; 그리고 더 이른(earlier) 상대적 재생 시간들을 갖는 데이터 세그먼트들의 콘텐츠의 고품질 버전들을 요청하는 것보다 우선하여, 가장 늦은 상대적 재생 시간을 갖는 상기 버퍼 내의 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 요청하도록 구성된다.
상기 장치는 사용자가 데이터 세그먼트들의 재생을 일시정지했다라는 표시를 수신함에 응답하여 상기 네트워크가 능력을 갖는 것으로 결정할 수 있다.
상기 장치는, 더 이른 상대적 재생 시간들을 갖는 데이터 세그먼트들의 고품질 버전들을 요청하는 것에 우선하여, 가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 고품질 버전이 요청되어야만 함을 나타내는 사용자 입력을 수신하고; 그리고 상기 사용자 입력을 저장하도록 구성될 수 있다.
상기 장치는, 버퍼 내의 제 1 데이터 세그먼트를 포함하는 콘텐츠의 고품질 버전을 요청하고; 상기 고품질 버전이 완전히 수신되기 이전의 재생 시간에서, 상기 제 1 데이터 세그먼트를 포함하는 콘텐츠의 재생이 수행될 것이라고 결정하고; 그리고 상기 재생 시간에서, 상기 콘텐츠의 저품질 버전이 재생되게 하도록 구성될 수 있다.
제 3 양상에 따르면, 데이터를 스트리밍하는 방법이 제공되며 상기 방법은, 오디오 및/또는 비디오 데이터 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 전송하는 단계; 더 이른 상대적 재생 시간을 갖는 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하는 것에 우선하여, 전송된 콘텐츠의 가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하라는 요청을 수신하는 단계; 및 가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하는 단계를 포함한다.
상기 방법은 컴퓨터로 구현되는 방법일 수 있다.
컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 전술한 방법들을 수행하게 하는 컴퓨터 코드를 포함하는 컴퓨터 프로그램이 제공된다.
제 4 양상에 따르면, 데이터를 스트리밍하기 위한 장치가 제공되며, 상기 장치는 오디오 및/또는 비디오 데이터 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 전송하고; 더 이른 상대적 재생 시간을 갖는 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하는 것에 우선하여, 전송된 콘텐츠의 가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하라는 요청을 수신하고; 그리고 가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하도록 구성된다.
본 개시의 이해를 돕기 위해 그리고 실시예들이 어떻게 적용될 수 있는지를 나타내기 위해, 첨부 도면을 예로 들어 설명한다
도 1은 예시적인 통신 디바이스를 개략적으로 도시한다.
도 2는 예시적인 버퍼 상태를 개략적으로 도시한다.
도 3은 스트리밍 오디오 및/또는 비디오 데이터 콘텐츠의 데이터 세그먼트들을 장치에 의한 잠재적인 동작들을 나타내는 흐름도이다.
도 4는 스트리밍 오디오 및/또는 비디오 데이터 콘텐츠의 데이터 세그먼트들을 전송하는 장치에 의한 잠재적인 동작들을 나타내는 흐름도이다.
미디어 컨텐츠를 형성하는 오디오 및/또는 비디오(A/V) 데이터는 클라이언트/서버 모델을 사용하여 네트워크를 통해 통신 디바이스에 제공될 수 있다.
이러한 모델에서, 서버(실제로는 다수의 물리적 서버들일 수 있음)는 클라이언트 디바이스로서 작용하는 통신 디바이스로부터 특정 미디어 컨텐츠에 대한 요청을 수신하고, 요청을 승인할지 여부를 결정한다.
A/V 컨텐츠는 데이터 세그먼트를 사용하는 적응형 스트림을 사용하여 서버에 의해 제공될 수 있다. 적응형 스트림은 언제라도 수신된 데이터의 품질을 최대화하기 위해 A/V 콘텐츠를 획득하는 스트리밍 디바이스(즉, 클라이언트 통신 디바이스)가 사용하는 네트워크 대역폭을 적응시키는 것을 목표로 한다. 서버는 동일한 A/V 콘텐츠의 다수의 스트림들을 제공하도록 구성되며, 각각의 스트림은 다른 스트림들과는 다른 품질을 각각 갖는다. 특정 스트림과 관련된 품질은 미디어 콘텐츠의 해상도 및 미디어 콘텐츠의 인코딩 품질을 포함하는 다수의 인자들에 의존할 수 있다. 따라서, 서로 다른 스트림들은 서로 다른 비트 레이트들에서 동일한 미디어 컨텐츠의 버전들을 제공하는 것으로 볼 수 있다.
클라이언트는 예를 들어, 클라이언트가 A/V 콘텐츠를 수신하는 통신 링크의 품질 및 통신 디바이스의 현재 프로세싱 용량에 따라, A/V 콘텐츠에 대한 선호하는 품질(및 결과적으로 스트림)을 결정할 수 있다. 선호되는 스트림은 네트워크를 통해 통신 디바이스에 의해 요청될 수 있다. 수신된 A/V 컨텐츠는 스트림이 여전히 수신되는 동안 사용자에게 재생될 수 있다.
공지된 구성에서, 사용자가 A/V 컨텐츠의 재생을 일시정지하는 경우, A/V 컨텐츠를 포함하는 데이터 세그먼트는 통신 디바이스에 의해 계속 수신될 수 있으며 그리고 버퍼에 저장될 수 있다. A/V 컨텐츠의 수신이 완료된 경우(예를 들어, 기결정된 재생 길이가 수신되거나 및/또는 요청된 컨텐츠의 종점이 수신된 경우), 보다 양호한 품질의 스트림이 네트워크로부터 요청될 수 있고, 그리고 통신 디바이스는 고품질의 A/V 컨텐츠를 제공하는 데이터 세그먼트들을 사용하여 A/V 컨텐츠를 재-버퍼링할 수 있다(예를 들어, 개선된 인코딩/비트 레이트에서).
사용자가 A/V 컨텐츠의 재생을 재개할 때, 버퍼링된 A/V 컨텐츠의 모든 고품질 버전들이 수신되지 않았을 수 있다. 이것은 A/V 컨텐츠를 소비하는데 있어 지터를 발생시키며, 이는 사용자의 시청/청취 경험을 방해한다.
이를 해결하기 위해, 다음의 설명 부분에는 A/V 콘텐츠의 버퍼링된 데이터 세그먼트를 더 높은 품질 버전의 콘텐츠를 갖는 데이터 세그먼트로 대체하기 위한 구성이 설명된다. 특히, 스트림에서 마지막으로 재생될 것으로 지정된 버퍼 내의 A/V 데이터 세그먼트들(즉, 스트리밍된 콘텐츠의 끝을 향하는 또는 수신된 스트리밍된 콘텐츠의 적어도 일부)이 먼저 업그레이드되고, 재생될 두 번째(penultimate) 데이터 세그먼트들로 지정된 A/V 데이터 세그먼트들이 두 번째로 업그레이드되는 방식 등으로, 버퍼 내의 A/V 데이터 세그먼트들이 대체된다. 따라서, A/V 컨텐츠의 품질은 "백워드(backwards)" 방식으로 업그레이드되므로, 일시정지된 순간에 더 가까운 재생 시간을 갖는 데이터 세그먼트들(즉, 스트리밍된 컨텐츠에서 더 일찍 발생한)이 마지막으로 업그레이드될 것이다.
A/V 데이터 세그먼트들의 품질 업그레이드를 백워드 방식으로 처리함으로써, 사용자는 간헐적인 스트림 업그레이드 프로세스에 의해 영향을 받을 가능성이 적어진다.
예시적인 클라이언트 통신 장치가 도 1을 참조하여 설명된다.
도 1은 수신 유닛(102), 적어도 하나의 프로세서(103), 컴퓨터 코드(105)를 포함하는 메모리(104), 버퍼(106) 및 전송 유닛(107)을 포함하는 통신 디바이스(101)를 도시한다. 전송 유닛(107) 및 수신 유닛(102)은 각각의 동작을 수행하기 위하 동일한 컴포넌트들의 적어도 일부를 이용하거나, 또는 각각의 동작을 수행하기 위해 상이한 컴포넌트들을 이용할 수 있다. 컴퓨터 코드(105)는 오디오 및/또는 비디오 콘텐츠와 같은 콘텐츠를 스트리밍 및 재생하기 위한 코드를 포함할 수 있다.
동작시에, 통신 디바이스(101)는 전송 유닛(107)을 사용하여 서버로부터 A/V 콘텐츠를 수신하기 위한 요청을 포함하는 요청을 서버(도시되지 않음)에 전송하도록 구성된다.
이 요청에 응답하여, 통신 디바이스(101)는 수신 유닛(102)에서 통신 링크(도시되지 않음)를 통해 네트워크로부터 A/V 데이터 세그먼트들(즉, A/V 콘텐츠를 포함하는 데이터 세그먼트들)을 수신한다. 통신 링크는 유선 또는 무선일 수 있으며 그리고 예를 들어, 데이터 세그먼트를 통신 디바이스(101)로 스트리밍하기 위한 실시간 스트리밍 프로토콜을 사용하여, 예를 들어 인터넷 프로토콜을 포함하는 A/V 데이터 세그먼트를 전송하기 위한 임의의 적절한 프로토콜에 따라 동작할 수 있다. A/V 데이터 세그먼트들은 제 1 품질 레벨로 수신된다. 데이터 세그먼트들는 통신 링크를 통해 데이터를 전송하고 어플리케이션 레벨에서 A/V 콘텐츠를 포맷하는데 사용되는 프로토콜에 따라 패킷, 데이터 블록 및/또는 청크로 수신될 수 있다. 본 명세서에서 사용되는 세그먼트라는 용어는 수신된 A/V 콘텐츠 단위의 임의의 포맷을 지칭하기 위해 사용된다. 수신된 데이터 세그먼트들은 버퍼(106)에 저장된다.
소정 시점에서, 통신 디바이스는 미디어 콘텐츠의 데이터 세그먼트들의 수신을 중단할 수 있다. 이는 일시적일 수 있으며(예컨대, 사용자가 스트림 재생을 일시정지(pause)한 경우) 또는 "영구적"일 수도 있다(예컨대, 전체 콘텐츠가 수신된 경우). 이에 응답하여, 통신 디바이스는 결과적으로 네트워크가 제 1 품질보다 더 높은 품질의 A/V 콘텐츠 버전을 제공할 수 있는 능력을 갖는 것으로 결정할 수 있다. 이러한 결정은 또한 네트워크에서 클라이언트 통신 디바이스로의 통신 링크의 품질을 고려할 수 있다.
이러한 상황에서, 통신 디바이스는 수신된 A/V 콘텐츠의 데이터 세그먼트들의 상대적인 재생 시간들을 결정하도록 구성 될 수 있다(A/V 콘텐츠의 데이터 세그먼트들은 순서대로 수신되지 않을 수 있으며, 수신 시간은 재생 시간과 동일하지 않음). 재생 시간은 A/V 데이터 세그먼트 내에 포함된 미디어 콘텐츠가 사용자에게 재생/제시되도록 예정된(스케줄링된) 시간이다. 상대적인 재생 시간을 결정함으로써, 통신 디바이스는 버퍼 내의 어떤 데이터 세그먼트가 마지막으로 재생되도록 스케줄링되어 있는지, 어떤 데이터 세그먼트가 마지막에서 두번째로(last-but one) 재생되도록 스케줄링되어 있는지, 기타 등등을 결정할 수 있다. 다음으로, 더 높은 품질의 스트림에 대한 요청이 서버로 전송될 때, 통신 디바이스는 더 높은 품질의 데이터 세그먼트들을 "반대(reverse)" 순서대로 수신하도록 요청할 수 있으며, 따라서, 더 높은 품질의 콘텐츠를 갖고 있으며 마지막으로 재생되도록 스케줄링된 데이터 세그먼트들(즉, 스트리밍된 콘텐츠의 끝 부분 쪽의 또는 수신된 스트리밍된 콘텐츠의 적어도 일부)이, 더 일찍 재생되도록 스케줄링된 데이터 세그먼트들(즉, 스트리밍된 콘텐츠에서 더 일찍 발생하는) 보다 우선적으로 수신된다. 통신 디바이스가 더 높은 품질의 데이터 세그먼트를 반대 순서대로 수신하도록 요청하는지의 여부는 통신 디바이스의 설정가능한 사용자 세팅을 통해 제어될 수 있다. 따라서, 통신 디바이스는 이러한 반대 순서(역순) 다운로드 요청을 수행하도록 통신 디바이스를 구성하는, 사용자로부터 입력을 수신할 수 있다.
전술한 메커니즘은 도 2와 관련하여 예시된다.
도 2는 상이한 시간 인스턴스들(201 내지 204)에서 버퍼 내에 포함된 A/V 데이터 스트림을 도시한다. 각각의 데이터 스트림은 복수의 데이터 세그먼트들(200)을 포함한다. 각각의 시간 인스턴스(201-204)들을 통해 지나가는 수직 라인(205)은 사용자가 A/V 데이터 스트림의 재생을 일시정지한 재생 시간에서의 포인트를 나타내며, 시간은 x 축을 따라 증가한다.
제 1 시간 인스턴스(201)에서, 일시정지 포인트(pause point)(205)의 좌측에 있는 데이터 세그먼트들이 재생되었다. 일시정지 포인트(205)의 우측에는 수신된 데이터 세그먼트가 없다.
제 2 시간 인스턴스(202)(제 1 시간 인스턴스 이후)에서, 버퍼는 A/V 스트림의 나머지 부분에 관한 데이터 세그먼트를 수신했다. 따라서, 일시정지 포인트(205)의 우측 및 좌측 모두에 데이터 세그먼트가 존재한다. 이들 데이터 세그먼트는 스케줄링된 재생 시간에서 배열되어 도시되며, 따라서 마지막에 재생될 데이터 세그먼트는 버퍼의 가장 오른쪽에 있으며, 미디어 콘텐츠의 재생을 재개한 이후에 가장 먼저 재생될 데이터 세그먼트는 일시정지 포인트(205)의 우측에 바로 인접해 있다.
제 3 시간 인스턴스(203)(제 1 및 제 2 시간 인스턴스 이후)에서, 버퍼는 버퍼의 가장 오른쪽에 있는 마지막 2 개의 데이터 세그먼트들(206)을 업그레이드하고 있다. 다시 말해, 버퍼는 재생 예정인 수신된 마지막 2 개의 데이터 세그먼트들(206)를 업그레이드하고 있다.
제 4 시간 인스턴스(204)에서(제 1, 제 2 및 제 3 시간 인스턴스 이후), 일시정지 포인트(205)의 오른쪽에 있는 모든 데이터 세그먼트들이 이 업그레이드되었다(일시정지 포인트 205에 바로 인접한 것 및 그 다음에 오는 처음 2개의 데이터 세그먼트들 207을 포함하는 바(bar)). 상기 처음 2개의 데이터 세그먼트들(207)이 현재 업그레이드되고 있는 중이다.
따라서, 이 도면에 의해 시연된 바와 같이, 사용자가 일시정지 포인트(205)에서 비디오를 일시정지시킨 후에, A/V 데이터 세그먼트의 수신이 중단될 때까지 데이터 스트림의 버퍼링이 계속 될 수 있다. 이 시점에서, 콘텐츠 스트림이 업그레이드된다(통신 디바이스로부터의 요청에 후속하여, 더 일찍 재생될 예정된 이들 데이터 세그먼트들 보다 우선적으로, 마지막에 재생될 예정된 데이터 세그먼트들이 먼저 업그레이드되도록). 이러한 프로세스는 최종적으로, 일시정지 포인트 직후에 재생될 데이터 세그먼트들이 재생될 때까지 계속된다.
시작부 대신에 스트림의 끝에서부터 비디오를 업데이트하면, 사용자의 시청 경험이 향상될 수 있는데, 왜냐하면 사용자가 A/V 콘텐츠를 계속 시청하기로 결정할 때 버퍼링 문제가 발생하지 않기 때문이다. 하지만, 버퍼링 중단(interrupts)를 회피하기 위해, 통신 디바이스는 메모리에서 업그레이드 중인 데이터 세그먼트를 유지할 수 있으며 그리고 그 데이터 세그먼트를 업그레이드 중이라고 플래그할 수 있다. 재생이 재개된 후, 재생되고 있는 A/V 콘텐츠가 상기 플래그된 데이터 세그먼트에 접근하면, 수신된 A/V 데이터 세그먼트의 오리지널 저품질이 버전이 메모리에서 검색되어 스트림의 일부로서 재생될 것이다.
클라이언트 통신 디바이스 및 서버의 잠재적인 동작들은 도 3 및 도 4의 흐름도를 참조하여 설명된다.
도 3은 클라이언트 통신 디바이스의 잠재적인 동작들을 도시한다.
301에서, 클라이언트 통신 디바이스는 네트워크를 통해 A/V 콘텐츠를 포함하는 데이터 세그먼트들을 수신하도록 구성된다. 수신된 A/V 데이터 세그먼트들은 제 1 품질로 전송될 수 있다. 제 1 품질은 클라이언트 통신 디바이스에 의해 요청되었을 수 있다. 수신된 A/V 데이터 세그먼트는 통신 디바이스의 사용자에게 재생될 매체 콘텐츠 스트림의 일부일 수 있다. 상기 스트림은 클라이언트 통신 디바이스에 동작가능하게 연결된 디스플레이 및/또는 스피커를 통해 재생될 수 있다.
302에서, 클라이언트 통신 디바이스는 데이터 세그먼트를 버퍼에 저장하도록 구성된다. 선택적으로는 이를 위해 버퍼가 클라이언트 통신 디바이스에 연결된다.
303에서, 클라이트 통신 디바이스는 데이터 세그먼트들을 재생하기 전에, 상기 버퍼에 현재 저장된 것이 아닌 제 2 품질로 데이터 세그먼트의 콘텐츠를 제공할 수 있는 능력을 네트워크가 갖는 것으로 결정한다. 제 2 품질은 제 1 품질보다 높다.
304에서, 클라이언트 통신 디바이스는, 상대적으로 더 이른(earlier) 재생 시간을 갖는 콘텐츠의 고품질 버전의 전송을 요청하는 것보다 우선하여, 상대적으로 가장 늦은 재생 시간을 갖는 상기 버퍼 내의 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전의 전송을 요청하도록 구성된다. 이러한 요청은 네트워크를 통해 서버로 전송될 수 있다. 상기 요청에 응답하여, 서버는, 상대적으로 더 이른 재생 시간들을 갖는 콘텐츠를 포함하는 데이터 세그먼트들의 고품질 버전을 전송하는 것보다 우선하여, 상대적으로 늦은/가장 늦은 재생 시간을 갖는 A/V 콘텐츠의 고품질 버전을 갖는 데이터 세그먼트들을 전송할 수 있다.
서버의 동작은 도 4를 참조하여 설명된다. 전술한 바와 같이, 서버는 실제로 아래에 설명된 메커니즘을 수행하기 위해 협력적으로 상호작용하는 여러 개의 다른 서버들일 수 있다.
401에서, 서버는 네트워크를 통해 A/V 콘텐츠를 포함하는 데이터 세그먼트를 통신 디바이스로 전송하도록 구성된다. 이 전송은 통신 디바이스가 A/V 데이터 세그먼트 내에 포함된 콘텐츠를 수신하기 위해 미리 요청한 결과일 수 있다.
402에서, 서버는 전송된 데이터 세그먼트들의 콘텐츠의 고품질 버전을 갖는 데이터 세그먼트들을 전송하라는 요청을 수신하도록 구성될 수 있다. 이러한 요청은, 전송된 콘텐츠의 상대적으로 가장 늦은 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전이, 상대적으로 더 이른 재생 시간들을 갖는 콘텐츠의 고품질 버전을 갖는 데이터 세그먼트들을 전송하는 것보다 우선적으로 전송되어야함을 나타낸다. 상기 요청은 클라이언트 통신 디바이스로부터 수신될 수 있다.
이러한 요청에 응답하여, 403에서, 서버는 가장 늦은 상대적인 재생 시간을 갖는 하나 이상의 데이터 세그먼트의 고품질 버전들을 클라이언트 통신 디바이스로 전송하도록 구성된다.
비록, 전술한 설명에서는 수신된 A/V 콘텐츠의 고품질 버전들을 다운로드/요청하기 위해 A/V 재생을 일시정지(또는 중지)하는 것에 대해 논의하고 있지만, 이것이 필수적인 것이 아님이 이해된다. 대신에, 통신 디바이스는 통신 디바이스가 모든 관련 A/V 데이터 세그먼트들을 수신하고 그리고 이들 데이터 세그먼트들의 재생 전에 수신된 A/V 데이터 세그먼트들의 고품질 버전들을 수신할 수 있다라고 간단하게 결정할 수 있다. 그러나, 본 시스템은 사용자가 A/V 콘텐츠의 재생을 일시정지 및/또는 중지할 때 특히 유용하며, 이는 비교적 나쁜 접속을 통해 A/V 데이터 스트림의 많은 부분이 수신되고 그리고 A/V 콘텐츠의 개선된 품질 버전들을 수신할 수 있도록 더 많은 시간을 제공할 수 있다.
다음을 유의해야 하는바, 본 명세서에서 언급된 프로세서 또는 프로세싱 시스템 또는 회로는 실제로 단일 칩 또는 집적 회로 또는 복수의 칩 또는 집적 회로들에 의해 제공될 수 있으며, 선택적으로 칩셋, 주문형 집적 회로(ASIC), 필드 프로그래밍가능 게이트 어레이(FPGA: field-programmable gate array), 디지털 신호 프로세서(DSP: digital signal processor), GPU(graphics processing unit) 등으로 제공될 수 있다. 칩 또는 칩들은 예시적인 실시예들에 따라 동작하도록 구성가능한 적어도 하나 이상의 데이터 프로세서(들) 또는 디지털 신호 프로세서(들)을 구현하기 위한 회로(가능하면 펌웨어 뿐만 아니라)를 포함할 수 있다. 이와 관련하여, 예시적인 실시예들은(비일시적) 메모리에 저장되고, 프로세서에 의해, 또는 하드웨어에 의해, 또는 유형적으로 저장된 소프트웨어와 하드웨어(및 유형적으로 저장된 펌웨어)의 조합에 의해 실행가능한 컴퓨터 소프트웨어에 의해 적어도 부분적으로 구현될 수 있다.
데이터를 저장하기 위한 데이터 저장소(예를 들어, 전술한 버퍼 및 메모리)가 본 명세서에서 참조된다. 이것은 단일 디바이스 또는 복수의 디바이스들에 의해 제공될 수 있다. 적절한 디바이스들은 예를 들어, 하드 디스크 및 비휘발성 반도체 메모리를 포함한다.
본 명세서에 서술된 사례들은 본 발명의 실시예의 예시적인 일례로서 이해되어야 한다. 추가적인 실시예 및 일례들이 가능하다. 임의의 하나의 예 또는 실시예와 관련하여 설명된 임의의 피처는 단독으로 또는 다른 피처들과 조합되어 사용될 수 있다. 또한, 임의의 하나의 예 또는 실시예와 관련하여 설명된 임의의 피처는 또한 임의의 다른 예 또는 실시예의 하나 이상의 피처, 또는 임의의 다른 예 또는 실시 예의 임의의 조합과 조합하여 사용될 수 있다. 또한, 본 명세서에 기술되지 않은 균등물 및 수정예가 또한 청구 범위에 정의된 본 발명의 범위 내에서 사용될 수 있다.

Claims (13)

  1. 데이터를 스트리밍하는 방법으로서,
    오디오 및/또는 비디오 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 수신하는 단계;
    상기 데이터 세그먼트들을 버퍼에 저장하는 단계;
    상기 버퍼 내의 데이터 세그먼트들이 오디오 및/또는 비디오 스트림의 끝을 포함하고 있다고 결정하는 단계;
    상기 버퍼 내의 데이터 세그먼트들이 오디오 및/또는 비디오 스트림의 끝을 포함하고 있다고 결정함에 응답하여:
    상기 데이터 세그먼트들의 재생 전에, 상기 버퍼에 현재 저장된 것보다 고품질로 데이터 세그먼트들의 콘텐츠를 제공할 수 있는 능력을 상기 네트워크가 갖는 것으로 결정하는 단계; 및
    더 이른(earlier) 상대적 재생 시간들을 갖는 상기 버퍼에 현재 저장된 데이터 세그먼트들의 콘텐츠의 고품질 버전을 요청하는 것보다 우선하여, 가장 늦은 상대적 재생 시간을 갖는 상기 버퍼에 현재 저장된 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 요청하는 단계
    를 포함하는 것을 특징으로 하는 데이터를 스트리밍하는 방법.
  2. 제1항에 있어서,
    사용자가 상기 버퍼에 저장된 데이터 세그먼트들의 재생을 일시정지한 것으로 결정하는 단계;
    상기 네트워크가 능력을 갖는 것으로 결정하는 단계 및 고품질 버전을 갖는 데이터 세그먼트들을 요청하는 단계는, 사용자가 상기 버퍼에 저장된 데이터 세그먼트들의 재생을 일시정지한 것으로 결정함에 또한 응답하여 수행되는 것을 특징으로 하는 데이터를 스트리밍하는 방법.
  3. 삭제
  4. 제1항 또는 제2항에 있어서,
    그룹 내의 각 데이터 세그먼트가 그룹 내의 적어도 하나의 다른 데이터 세그먼트의 재생 시간에 바로 인접한 재생 시간을 갖도록, 상기 버퍼 내의 데이터 세그먼트들을 최대 사이즈의 그룹들로 함께 그룹화함으로써 복수의 그룹들을 형성하는 단계를 포함하고,
    상기 요청하는 단계는, 가장 늦은 상대적 재생 시간들을 갖는 데이터 세그먼트들의 그룹의 고품질 버전을 요청하는 단계를 포함하는 것을 특징으로 하는 데이터를 스트리밍하는 방법.
  5. 제1항 또는 제2항에 있어서,
    상기 버퍼 내의 콘텐츠의 소정 부분의 고품질 버전을 수신하는 단계;
    상기 콘텐츠의 소정 부분의 고품질 버전이 완전히 수신되기 이전의 재생 시간에서, 상기 콘텐츠의 소정 부분의 재생이 수행될 것이라고 결정하는 단계; 및
    상기 재생 시간에서, 상기 콘텐츠의 저품질 버전이 재생되게 하는 단계
    를 포함하는 것을 특징으로 하는 데이터를 스트리밍하는 방법.
  6. 데이터를 스트리밍하기 위한 장치로서, 상기 장치는,
    오디오 및/또는 비디오 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 요청하고;
    상기 데이터 세그먼트들을 버퍼에 저장하고;
    상기 버퍼 내의 데이터 세그먼트들이 오디오 및/또는 비디오 스트림의 끝을 포함하고 있다고 결정하고;
    상기 버퍼 내의 데이터 세그먼트들이 오디오 및/또는 비디오 스트림의 끝을 포함하고 있다고 결정함에 응답하여:
    상기 데이터 세그먼트들의 재생 전에, 상기 버퍼에 현재 저장된 것보다 고품질로 데이터 세그먼트들의 콘텐츠를 제공할 수 있는 능력을 상기 네트워크가 갖는 것으로 결정하고; 그리고
    더 이른(earlier) 상대적 재생 시간들을 갖는 상기 버퍼에 현재 저장된 데이터 세그먼트들의 콘텐츠의 고품질 버전을 요청하는 것보다 우선하여, 가장 늦은 상대적 재생 시간을 갖는 상기 버퍼에 현재 저장된 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 요청하도록 구성되는 것을 특징으로 하는 데이터를 스트리밍하는 장치.
  7. 제6항에 있어서,
    상기 장치는,
    사용자가 데이터 세그먼트들의 재생을 일시정지했다라는 표시를 수신함에 응답하여 상기 네트워크가 능력을 갖는 것으로 결정하는 것을 특징으로 하는 데이터를 스트리밍하는 장치.
  8. 제6항 또는 제7항에 있어서,
    상기 장치는,
    더 이른 상대적 재생 시간들을 갖는 데이터 세그먼트들의 고품질 버전들을 요청하는 것에 우선하여, 가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 고품질 버전이 요청되어야만 함을 나타내는 사용자 입력을 수신하고; 그리고
    상기 사용자 입력을 저장하도록 구성된 것을 특징으로 하는 데이터를 스트리밍하는 장치.
  9. 제6항 또는 제7항에 있어서,
    상기 장치는,
    버퍼 내의 제 1 데이터 세그먼트를 포함하는 콘텐츠의 고품질 버전을 요청하고;
    상기 고품질 버전이 완전히 수신되기 이전의 재생 시간에서, 상기 제 1 데이터 세그먼트를 포함하는 콘텐츠의 재생이 수행될 것이라고 결정하고; 그리고
    상기 재생 시간에서, 상기 콘텐츠의 저품질 버전이 재생되게 하도록 구성되는 것을 특징으로 하는 데이터를 스트리밍하는 장치.
  10. 데이터를 스트리밍하는 방법으로서,
    오디오 및/또는 비디오 데이터 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 전송하는 단계;
    클라이언트 디바이스의 버퍼에 현재 저장된 더 이른 상대적 재생 시간을 갖는 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하는 것에 우선하여, 전송된 콘텐츠의 가장 늦은 상대적 재생 시간을 가지며 그리고 클라이언트 디바이스의 버퍼에 현재 저장된 오디오 및/또는 비디오 스트림의 끝을 포함하는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하라는 요청을 클라이언트 디바이스로터 수신하는 단계; 및
    가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하는 단계
    를 포함하는 것을 특징으로 하는 데이터를 스트리밍하는 방법.
  11. 데이터를 스트리밍하기 위한 장치로서,
    오디오 및/또는 비디오 데이터 콘텐츠를 포함하는 데이터 세그먼트들을 네트워크를 통해 전송하고;
    클라이언트 디바이스의 버퍼에 현재 저장된 더 이른 상대적 재생 시간을 갖는 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하는 것에 우선하여, 전송된 콘텐츠의 가장 늦은 상대적 재생 시간을 가지며 그리고 클라이언트 디바이스의 버퍼에 현재 저장된 오디오 및/또는 비디오 스트림의 끝을 포함하는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하라는 요청을 클라이언트 디바이스로터 수신하고; 그리고
    가장 늦은 상대적 재생 시간을 갖는 하나 이상의 데이터 세그먼트들의 콘텐츠의 고품질 버전을 전송하도록 구성되는 것을 특징으로 하는 데이터를 스트리밍하기 위한 장치.
  12. 기록 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터 코드를 포함하고, 상기 컴퓨터 코드는 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제1항의 방법 단계들을 수행하게 하는 것을 특징으로 하는 기록 매체에 저장된 컴퓨터 프로그램.
  13. 기록 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨터 코드를 포함하고, 상기 컴퓨터 코드는 컴퓨터에 의해 실행될 때, 상기 컴퓨터로 하여금 제10항의 방법 단계들을 수행하게 하는 것을 특징으로 하는 기록 매체에 저장된 컴퓨터 프로그램.
KR1020197038227A 2017-05-30 2017-12-27 데이터를 스트리밍하기 위한 방법들 및 장치들 KR102434950B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP17173540.0A EP3410728A1 (en) 2017-05-30 2017-05-30 Methods and apparatus for streaming data
EP17173540.0 2017-05-30
PCT/EP2017/084662 WO2018219487A1 (en) 2017-05-30 2017-12-27 Methods and apparatus for streaming data

Publications (2)

Publication Number Publication Date
KR20200018493A KR20200018493A (ko) 2020-02-19
KR102434950B1 true KR102434950B1 (ko) 2022-08-22

Family

ID=58994860

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197038227A KR102434950B1 (ko) 2017-05-30 2017-12-27 데이터를 스트리밍하기 위한 방법들 및 장치들

Country Status (6)

Country Link
US (1) US11503354B2 (ko)
EP (1) EP3410728A1 (ko)
JP (1) JP7162019B2 (ko)
KR (1) KR102434950B1 (ko)
CN (1) CN110710220B (ko)
WO (1) WO2018219487A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11019127B1 (en) * 2019-07-25 2021-05-25 Amazon Technologies, Inc. Adaptive media fragment backfilling
CN115225928B (zh) * 2022-05-11 2023-07-25 北京广播电视台 一种多类型音视频混播系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038034A1 (en) 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel http and forward error correction
WO2011038013A2 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20110231569A1 (en) 2009-09-22 2011-09-22 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20120005368A1 (en) * 2010-06-30 2012-01-05 Cable Television Laboratories, Inc. Adaptive bit rate method and system using retransmission and replacement
EP2785067A1 (en) 2013-03-27 2014-10-01 Alcatel Lucent A method and client for requesting, receiving and decoding adaptive streaming video
US20150067105A1 (en) 2013-08-28 2015-03-05 Cisco Technology, Inc. Http streaming client adaptation algorithm based on proportional-integral control

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5699123A (en) * 1993-10-20 1997-12-16 Victor Company Of Japan, Ltd. Television receiver with an adjustable frame size
JPH07220452A (ja) * 1993-12-17 1995-08-18 Imix Inc ビデオ編集及び実時間処理のための方法及び装置
US5996015A (en) * 1997-10-31 1999-11-30 International Business Machines Corporation Method of delivering seamless and continuous presentation of multimedia data files to a target device by assembling and concatenating multimedia segments in memory
US7191462B1 (en) * 1999-11-08 2007-03-13 Kendyl A. Román System for transmitting video images over a computer network to a remote receiver
US7610205B2 (en) * 2002-02-12 2009-10-27 Dolby Laboratories Licensing Corporation High quality time-scaling and pitch-scaling of audio signals
US6653954B2 (en) * 2001-11-07 2003-11-25 International Business Machines Corporation System and method for efficient data compression
CN100581230C (zh) * 2003-04-24 2010-01-13 索尼株式会社 用于记录av流的信息处理装置和信息处理方法
US7725920B2 (en) * 2003-06-27 2010-05-25 Microsoft Corporation Media foundation media sink
US7941554B2 (en) * 2003-08-01 2011-05-10 Microsoft Corporation Sparse caching for streaming media
CN1883206A (zh) * 2003-11-18 2006-12-20 皇家飞利浦电子股份有限公司 特技播放信号的再现
US7818444B2 (en) * 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
WO2005122141A1 (en) * 2004-06-09 2005-12-22 Canon Kabushiki Kaisha Effective audio segmentation and classification
US7606799B2 (en) * 2005-01-12 2009-10-20 Fmr Llc Context-adaptive content distribution to handheld devices
US7470086B2 (en) * 2006-01-04 2008-12-30 Clifford Allen Jennings Submersible tethered platform for undersea electrical power generation
US7873982B2 (en) * 2006-06-22 2011-01-18 Tivo Inc. Method and apparatus for creating and viewing customized multimedia segments
US7979584B1 (en) * 2006-07-14 2011-07-12 Emc Corporation Partitioning a data stream using embedded anchors
US20090059004A1 (en) * 2007-08-31 2009-03-05 Speed Trac Technologies, Inc. System and Method for Monitoring the Handling of a Shipment of Freight
AU2007237206B2 (en) * 2007-11-27 2009-12-10 Canon Kabushiki Kaisha Method, apparatus and system for displaying video data
FR2926939A1 (fr) * 2008-01-30 2009-07-31 Canon Kk Procede de transmission de donnees avec anticipation des acquittements, dispositif d'entree, produit programme d'ordinateur et moyen de stockage correspondants
FR2929789B1 (fr) * 2008-04-08 2010-04-30 Canon Kk Procede de gestion de mecanismes d'amelioration de transmission de flux de donnees sur un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
US7860996B2 (en) 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
EP2150059A1 (en) * 2008-07-31 2010-02-03 Vodtec BVBA A method and associated device for generating video
US20100061709A1 (en) * 2008-09-05 2010-03-11 Davender Agnihotri Ad Menu for skipped advertisements
US8374254B2 (en) * 2008-12-15 2013-02-12 Sony Mobile Communications Ab Multimedia stream combining
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
EP2375680A1 (en) 2010-04-01 2011-10-12 Thomson Licensing A method for recovering content streamed into chunk
US8521006B2 (en) * 2010-05-06 2013-08-27 Intel Corporation Boundary detection in media streams
JP2011259067A (ja) 2010-06-07 2011-12-22 Renesas Electronics Corp 携帯端末、半導体装置、及び受信データ補完方法
JP2012222530A (ja) 2011-04-06 2012-11-12 Sony Corp 受信装置及び方法、並びにプログラム
US9154361B2 (en) * 2012-07-18 2015-10-06 Opera Software Ireland Limited Just-in-time distributed video cache
US9537917B2 (en) 2012-11-20 2017-01-03 Google Technology Holdings LLC Method and apparatus for streaming media content to client devices
US9426196B2 (en) * 2013-01-04 2016-08-23 Qualcomm Incorporated Live timing for dynamic adaptive streaming over HTTP (DASH)
US9432426B2 (en) * 2013-02-04 2016-08-30 Qualcomm Incorporated Determining available media data for network streaming
US8887217B2 (en) * 2013-03-13 2014-11-11 Futurewei Technologies, Inc. Systems and methods for quality of experience aware joint scheduling of buffered video on demand and best effort flows
CN103237232B (zh) * 2013-03-29 2016-04-27 秦祎芃 互联网视频流媒体传输空闲带宽自适应方法
US10505837B1 (en) * 2013-07-09 2019-12-10 Altera Corporation Method and apparatus for data re-packing for link optimization
US9247315B2 (en) * 2013-11-07 2016-01-26 Hulu, Inc. Disabling of multiple bitrate algorithm for media programs while playing advertisements
US10292067B2 (en) * 2013-11-25 2019-05-14 At&T Intellectual Property I, L.P. Collaborative scheduling of last hop cellular traffic
US20160028594A1 (en) * 2014-07-24 2016-01-28 Cisco Technology Inc. Generating and Utilizing Contextual Network Analytics
US10454985B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated File format based streaming with dash formats based on LCT
JP5973616B1 (ja) 2015-04-15 2016-08-23 西日本電信電話株式会社 受信端末及びその映像取得方法
MY190923A (en) * 2015-07-27 2022-05-19 Tencent Tech Shenzhen Co Ltd Video sharing method and device, and video playing method and device
WO2017045722A1 (en) * 2015-09-18 2017-03-23 Sony Mobile Communications Inc Methods and devices for controlling streaming over a radio network
CN105430425B (zh) * 2015-11-18 2018-11-16 深圳Tcl新技术有限公司 单分片视频播放加速方法及装置
US10110935B2 (en) * 2016-01-29 2018-10-23 Cable Television Laboratories, Inc Systems and methods for video delivery based upon saccadic eye motion
GB201612356D0 (en) * 2016-04-19 2016-08-31 Cisco Tech Inc Network monitoring and control system and method
WO2018139284A1 (ja) * 2017-01-30 2018-08-02 ソニー株式会社 画像処理装置および方法、並びにプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011038034A1 (en) 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel http and forward error correction
WO2011038013A2 (en) * 2009-09-22 2011-03-31 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20110231569A1 (en) 2009-09-22 2011-09-22 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US20120005368A1 (en) * 2010-06-30 2012-01-05 Cable Television Laboratories, Inc. Adaptive bit rate method and system using retransmission and replacement
EP2785067A1 (en) 2013-03-27 2014-10-01 Alcatel Lucent A method and client for requesting, receiving and decoding adaptive streaming video
US20150067105A1 (en) 2013-08-28 2015-03-05 Cisco Technology, Inc. Http streaming client adaptation algorithm based on proportional-integral control

Also Published As

Publication number Publication date
CN110710220B (zh) 2022-05-27
CN110710220A (zh) 2020-01-17
JP2020522188A (ja) 2020-07-27
US11503354B2 (en) 2022-11-15
WO2018219487A1 (en) 2018-12-06
US20200195996A1 (en) 2020-06-18
EP3410728A1 (en) 2018-12-05
JP7162019B2 (ja) 2022-10-27
KR20200018493A (ko) 2020-02-19

Similar Documents

Publication Publication Date Title
US20230283653A1 (en) Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
CN111135569B (zh) 云游戏处理方法、装置、存储介质与电子设备
CN108076364B (zh) 自适应媒体流传输设备和媒体服务设备
US9276989B2 (en) Buffering in HTTP streaming client
EP3391654B1 (en) Variable buffer handling for adaptive bitrate streaming
US10848794B2 (en) Digital data streaming using server driven adaptive bitrate
US20110307900A1 (en) Changing streaming media quality level based on current device resource usage
US20120194534A1 (en) System and Method for Managing Cache Storage in Adaptive Video Streaming System
US20160212054A1 (en) Multiple Protocol Media Streaming
US20160072864A1 (en) Method and client terminal for receiving a multimedia content split into at least two successive segments, and corresponding computer program product and computer readable mediium
WO2016185998A1 (ja) Abr配信方式のコンテンツ配信の配信制御装置および配信制御方法
US9680904B2 (en) Adaptive buffers for media players
KR102434950B1 (ko) 데이터를 스트리밍하기 위한 방법들 및 장치들
KR102521753B1 (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
US10609111B2 (en) Client-driven, ABR flow rate shaping
US10356159B1 (en) Enabling playback and request of partial media fragments
US20180034883A1 (en) Operating method of client for streaming service
US10313759B1 (en) Enabling playback and request of partial media fragments
KR20190048186A (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 분할 전송 시스템 및 스트리밍 방법
KR20220158275A (ko) 네트워크에서 스트리밍되는 콘텐츠를 클라이언트 디바이스의 플레이어에서 재생하기 위한 방법
KR101328339B1 (ko) 스트리밍 멀티미디어 재생을 위한 버퍼 관리 장치 및 방법
EP4099702A2 (en) Management of a client device buffer
US10938939B2 (en) Client-side quality-of-service (QOS) for viewing of adaptive bitrate (ABR) streams
KR20210076727A (ko) 콘텐츠 재생을 위한 장치 및 방법
JP2016015533A (ja) 情報処理装置および方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant