CN101588493A - 流媒体适应性段预取的系统和方法 - Google Patents

流媒体适应性段预取的系统和方法 Download PDF

Info

Publication number
CN101588493A
CN101588493A CNA2009101427821A CN200910142782A CN101588493A CN 101588493 A CN101588493 A CN 101588493A CN A2009101427821 A CNA2009101427821 A CN A2009101427821A CN 200910142782 A CN200910142782 A CN 200910142782A CN 101588493 A CN101588493 A CN 101588493A
Authority
CN
China
Prior art keywords
leading processing
user
processing section
media item
sections
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CNA2009101427821A
Other languages
English (en)
Inventor
K·坎德卡
R·J·沃什
A·C·伊萨
R·R·凯特佩利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Porto Tech LLC
Original Assignee
Porto Tech LLC
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 Porto Tech LLC filed Critical Porto Tech LLC
Publication of CN101588493A publication Critical patent/CN101588493A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明的名称为流媒体适应性段预取的系统和方法,提供了在重放期间获得流媒体项目的超前处理段的系统和方法,使得观看者能轻松地跳到超前处理段而不会在重放中遇到任何长的中断或延迟。通常,流媒体源开始向流媒体客户端流式传送媒体项目以便重放。在一个实施例中,流媒体客户端将媒体项目的一个或多个段选择为要从流媒体源预取的一个或多个超前处理段。随后,在媒体项目正流式传送到流媒体客户端以便重放时,流媒体客户端从流媒体源预取媒体项目的一个或多个超前处理段。之后,超前处理段用于允许观看者在重放中提前跳过而不会在重放中遇到长的中断或延迟。

Description

流媒体适应性段预取的系统和方法
技术领域
本发明涉及流媒体内容。
背景技术
许多流媒体服务可供使用。例如,诸如Yahoo!、CNN、ABC、NBC及诸如此类提供的那些网站的网站提供流视频内容。在流媒体项目重放期间,用户经常想跳过部分流媒体项目或者向前跳到所需部分的媒体项目。然而,流媒体项目是以线性方式流式传送(stream)。因此,在用户向前跳时,视已缓冲的流媒体项目量而定,用户已跳到的流媒体项目部分可能不可用。例如,用户可在观看已为其缓冲了即将到来的五分钟的流视频。因此,如果用户向前跳到已缓冲的五分钟外的流媒体项目中的所需位置,则重放被中断,并且延迟将被引发以便请求、接收和缓冲足够量的流媒体项目,以便能够实现在所需位置开始的流媒体的重放。因此,需要有一种系统和方法使用户能够在流媒体项目中向前跳而不会在重放中遇到任何长的中断或延迟。
发明内容
本发明涉及在重放期间获得流媒体项目的超前处理(look-ahead)段,使得观看者能轻松地跳到超前处理段而不会在重放中遇到任何长的中断或延迟。通常,流媒体客户端从流媒体源请求媒体项目。作为响应,流媒体源开始向流媒体客户端流式传送媒体项目,并且流媒体客户端开始媒体项目流的重放。在一个实施例中,为使观看者能够在媒体项目流的重放期间无缝向前跳,流媒体客户端将媒体项目的一个或多个段选择为要从流媒体源预取的一个或多个超前处理段。一个或多个超前处理段是尚未流式传送到流媒体客户端的媒体项目段。另外,超前处理段优选是被确定为观看者感兴趣或观看者可能感兴趣的媒体项目段。随后,在媒体项目正流式传送到流媒体客户端以便重放时,流媒体客户端从流媒体源预取媒体项目的一个或多个超前处理段。
之后,如果观看者要向前跳到超前处理段之一,则流媒体客户端将重放切换到已预取并存储在本地储存器中的该超前处理段。在从本地储存器播放超前处理段的同时,流媒体客户端请求从对应于超前处理段或本地储存器中存储的部分超前处理段结束处的点开始的媒体项目的流式传送。随后,在从本地储存器播放超前处理段的同时,接收并缓冲从请求的开始点开始的媒体项目流。在该超前处理段或在本地储存器中存储的部分超前处理段的重放完成时,流媒体客户端将重放切换到从请求的开始点处开始的媒体项目流。
在另一实施例中,流媒体源可选择超前处理段并将超前处理段推送到流媒体客户端,而不是流媒体客户端选择和预取超前处理段。在仍有的另一实施例中,代理选择超前处理段。代理可随后预取超前处理段,并将超前处理段推送到流媒体客户端。备选,代理可指示流媒体源将超前处理段推送到流媒体客户端,或者指示流媒体客户端从流媒体源预取超前处理段。
在与附图相关联阅读以下优选实施例的详细说明后,本领域的技术人员将理解本发明的范围,并认识到其另外的方面。
附图说明
并入并形成此说明书一部分的附图示出本发明的几个方面,并且与说明一起用于解释本发明的原理。
图1根据本发明的第一实施例,示出预取流媒体项目的一个或多个超前处理段的系统;
图2是根据本发明的一个实施例,示出图1的流媒体重放功能的操作的流程图;
图3是根据本发明的一个实施例,示出图1的预取功能的操作的流程图;
图4A-4C根据本发明的一个实施例,以图形方式示出在观看者向前跳到超前处理段之一时利用超前处理段提供无缝重放的过程;
图5根据本发明的第二实施例,示出将流媒体项目的一个或多个超前处理段从流媒体源推送到流媒体客户端的系统;
图6是根据本发明的一个实施例,示出图5的流媒体源的流式传送功能的操作的流程图;
图7是根据本发明的一个实施例,示出图5的流媒体源的超前处理段推送功能的操作的流程图;
图8根据本发明的第三实施例,示出使用代理选择并向流媒体客户端提供超前处理段的系统;
图9根据本发明的第四实施例,示出使用代理选择并向流媒体客户端提供超前处理段的系统;
图10是根据本发明的一个实施例的流媒体源的框图;
图11是根据本发明的一个实施例,包括流媒体客户端的用户装置的框图;以及
图12是根据本发明的一个实施例的代理的框图。
具体实施方式
下述实施例陈述必需的信息以允许本领域的技术人员实践本发明,并示出实践本发明的最佳模式。在根据附图阅读以下说明时,本领域的技术人员将理解本发明的概念,并且将认识到本文中未专门提出的这些概念的应用。应理解,这些概念和应用在公开内容和随附权利要求的范围内。
图1示出根据本发明的一个实施例,能够实现流媒体适应性预取的系统10。通常,系统10包括流媒体源12和具有相关联用户16的用户装置14。流媒体源12经网络18连接到用户装置14。网络18可以是任何类型的宽域网(WAN)或局域网(LAN)或其任何组合。另外,网络18可包括有线组件、无线组件或其组合。例如,网络18可以是因特网。又如,网络18可以是有线电视(CATV)网络。
流媒体源12可以是通过网络18流式传送媒体内容的任何类型的源。媒体内容可以是媒体项目,如电影、电视节目、视频剪辑、用户生成的视频、广播或多播无线电节目、歌曲、有声图书或诸如此类。例如,流媒体源12可以是托管(host)媒体项目并在收到请求时将那些媒体项目流式传送到诸如用户装置14等用户装置的因特网协议(IP)服务器。又如,流媒体源12可以是CATV网络中提供诸如视频点播(VOD)服务等流电视服务的头端(headend)。最后,例如流媒体源可以是在本文中称为对等装置,操作为经网络18向用户装置14流式传送媒体项目的另一用户装置,或者是操作为以协作方式经网络18向用户装置14流式传送媒体项目的多个对等装置。
用户装置14可以是能够经网络18从流媒体源12接收流媒体内容的任何类型的用户装置。例如,用户装置14可以是个人计算机、诸如移动智能电话等移动电话、机顶盒或诸如此类。用户装置14包括流媒体客户端20。流媒体客户端20可以软件、硬件或其组合形式实现。流媒体客户端20包括流媒体重放功能22和预取功能24。流媒体重放功能22一般操作为将请求发送到流媒体源12以开始所需媒体项目到用户装置14的流式传送,接收媒体项目流,以及在用户16的控制下提供媒体项目流的重放。预取功能24一般操作为选择用户16感兴趣,或者用户16可能感兴趣,在本文下文称为“超前处理段”的媒体项目的一个或多个段。超前处理段是尚未流式传送到用户装置14的媒体项目段。一旦超前处理段选定,预取功能24便如下所述操作为从流媒体源12预取一个或多个超前处理段或所需量的超前处理段。因此,如果用户16要在媒体项目流重放中向前跳到缓冲的点外,到超前处理段之一,则重放可无缝地继续,基本上无中继或延迟。
图2示出根据本发明的一个实施例,图1的流媒体客户端20的流媒体重放功能22。首先,在此实施例中,流媒体重放功能22从启动媒体项目重放的用户16接收用户输入(步骤100)。例如,在一个实施例中,流媒体客户端20可实现为因特网浏览器的插件。用户16可与因特网浏览器交互以导航到对应于流媒体源12的网站。用户16随后可选择媒体项目以便重放。又如,流媒体客户端20可向用户16呈现可用媒体项目的菜单。更具体地说,如果用户装置例如是机顶盒,则电子节目指南(EPG)或类似的菜单可向用户16呈现,提供可供经VOD的重放使用的媒体项目列表。用户16随后可从菜单选择所需媒体项目以便重放。
接着,流媒体重放功能22从流媒体源12请求媒体项目(步骤102)。作为响应,流媒体源12开始经网络18向用户装置14流式传送请求的媒体项目。另外,如下所述,流媒体源12可提供元数据或者识别和描述媒体项目多个段的信息、以前观看过该媒体项目的多个用户的历史重放信息、来自诸如流媒体源12的运营者或媒体项目的创建者等媒体项目提供者的经验知识或设置、有关媒体项目或媒体项目段的带宽要求的信息或诸如此类。如下所述,此信息可由预取功能24利用。
流媒体重放功能22开始从流媒体源12接收媒体项目流,并在用户装置14处开始媒体项目的重放(步骤104)。另外,流媒体重放功能22启动预取功能24(步骤106)。如下所述,一旦启动后,预取功能24一般便操作为从流媒体源12选择和预取媒体项目的一个或多个超前处理段。流媒体重放功能22随后基于用户输入控制媒体项目流的重放(步骤108)。例如,用户16可暂停、倒退、快进、向前跳或诸如此类。
注意,如下所述,预取一个或多个超前处理段使用户16能够根据传统流式传送技术,在媒体项目流重放中向前跳到已缓冲的点外,而无任何长的中继或延迟。同样地,用户16能够根据传统流式传送技术,在重放中向后跳到尚未流式传送和缓冲的段,而无任何长的中断或延迟。此外,在一个实施例中,流媒体客户端20可向用户16提供有关媒体项目的哪些段已被预取的信息。例如,在一般用于示出媒体项目重放中当前点的媒体重放屏幕的擦除器(scrubber)中,流媒体客户端20可插入识别已被预取的超前处理段的标志,使得用户16能轻松地控制重放以在需要时跳到超前处理段之一。又如,流媒体客户端20可提供指示已被预取的段的关键帧,已被预取的段的预览或诸如此类。注意,正如本领域的技术人员在阅读此公开内容时将理解的一样,向用户16指示已预取段的方式有许多变化。上述示例无意限制本发明的范围。
图3根据本发明的一个实施例,示出图1的流媒体客户端20的预取功能24的操作。一旦由流媒体重放功能22启动后,预取功能24便先选择要预取的媒体项目的一个或多个段(步骤200)。该一个或多个选定段称为超前处理段。超前处理段一般是尚未流式传送到用户装置14的媒体项目段。注意,本文中的大部分讨论集中在作为已流式传送到用户装置14的点外媒体项目段的超前处理段。然而,本发明并不限于此。超前处理段也可以是尚未流式传送到用户装置14的、媒体项目重放中当前点之前(prior to)的媒体项目段。例如,如果用户16在媒体项目的重放中向前跳(skip ahead),则至少跳过的媒体项目的某一部分可尚未流式传送到用户装置14。因此,尚未流式传送到用户装置14的此前面部分(prior portion)的媒体项目的一个或多个段可被识别为超前处理段,并因此如本文中所述被预取或以其它方式获得。此外,超前处理段优选是被确定为用户16感兴趣或用户16可能感兴趣的媒体项目段。预取功能24可使用任何适当的技术确定媒体项目的哪些段是用户16感兴趣或用户16可能感兴趣的段。下面论述用于确定用户16感兴趣或用户16可能感兴趣的媒体项目段的几个示范方案。然而,本发明并不限于此。
在一个实施例中,预取功能24先获得识别和描述媒体项目多个段的信息。识别和描述媒体项目段的信息可从远程源获得,例如,流媒体源12。对于每个段,识别和描述媒体项目段的信息包括识别媒体项目重放中与段的开始点对应的点的信息和可选地识别媒体项目重放中对应于段的结束点的点的信息。在第一实施例中,媒体项目段由媒体项目的制作者或创建者预定义。在第二实施例中,流媒体源12识别媒体项目段。更具体地说,流媒体源12可执行帧分析过程以识别媒体项目段。例如,帧分析可检测暗帧(dark frame),如基本上黑的帧(black frame),并且确定暗帧表示从媒体项目一个段到媒体项目另一个段的转变。另外或备选,媒体源12可通过分析元数据和/或对媒体项目可用的注释,识别媒体项目段。例如,媒体项目的制作者或创建者可为媒体项目提供描述媒体项目内容但不明确识别媒体项目段的元数据。流媒体源12可分析元数据以识别媒体项目段。另外或备选,以前观看了该媒体项目的用户可为媒体项目创建注释,并且流媒体源12可分析注释以识别媒体项目段。在第三实施例中,流媒体源12可通过根据所需段重放长度或数据大小,将媒体项目分成段,或者将媒体项目分成重放长度或数据大小相等的规定数量的段,以识别段。
另外,对于每个段,识别和描述段的信息包括描述媒体项目段的内容的信息。例如,信息可将段描述为包含动作场景、浪漫场景或诸如此类。又如,如果媒体项目是星球大战影片之一,则信息可更具体地将段的内容描述为包含莉亚公主场景、达斯·维德场景、机器人场景、太空战场景或诸如此类。又如,描述段的信息可包括在段中出现的男演员或女演员列表和/或在段中发生的活动描述。描述媒体项目段的内容的信息可以是媒体项目的制作者或创建者提供的信息、诸如注释等由以前观看过该媒体项目的一个或多个用户提供的信息或诸如此类,或其任何组合。
一旦获得识别和描述媒体项目段的信息,预取功能24便基于一个或多个标准,选择要从媒体项目段预取的一个或多个超前处理段。一个或多个标准可以是例如用户16定义的用户喜好、在媒体项目的当前重放期间用户16采取的动作、用户16对媒体项目的一次或多次以前重放的重放历史,用户16对一个或多个其它媒体项目的重放历史、以前观看过该媒体项目的一个或多个用户的重放历史、用户16的社交网络中、以前观看过该媒体项目的一个或多个其它用户的重放历史、流媒体源12和/或媒体项目的制作者或创建者提供的经验知识或设置、诸如社交连网网站等社交连网服务维护的用户16的用户简档中包含的信息、带宽有效性及获得媒体项目段的带宽要求或诸如此类。
用户16定义的用户喜好可例如包括与用户16有兴趣的内容相关联的一个或多个关键字、用户16有兴趣的一个或多个男演员或女演员的姓名、用户16有兴趣的特定媒体项目中一个或多个角色的姓名、用户16有兴趣的场景类型或诸如此类。预取功能24可将用户16的用户喜好与描述媒体项目段的信息进行比较,以选择要从流媒体源12预取的超前处理段。
如下所述,在媒体项目的当前重放期间用户16采取的动作可由预取功能24用于选择要从流媒体源12预取的超前处理段。例如,如果用户16跳到媒体项目的特定段并随后观看该段,则预取功能24可将媒体项目的类似段选择为要从流媒体源12预取的超前处理段。注意,指配到用户16跳到的段的优先级及指配到类似的媒体项目段的优先级可增大。类似地,如果用户16跳过媒体项目的特定段,则预取功能24可确保媒体项目的类似段不被选择为要从流媒体源12预取的超前处理段,或者可降低指配到类似段的优先级。
预取功能24可另外或备选使用用户16对媒体项目的一次或多个以前重放的重放历史,以选择要从流媒体源12预取的超前处理段。更具体地说,重放历史可识别用户16以前观看、用户16跳过、用户16跳到的媒体项目段或诸如此类。预取功能24随后可将媒体项目的一次或多次以前重放中用户16以前跳到和观看的媒体项目段识别为要从流媒体源12预取的超前处理段。
预取功能24可另外或备选使用用户16对一个或多个其它媒体项目的重放历史。同样地,重放历史可识别用户16观看过的媒体项目段、用户16跳过的其它媒体项目段、用户16跳到的其它媒体项目段或诸如此类。例如,预取功能24可随后将类似于用户16以前跳到和观看的其它媒体项目段的媒体项目段识别为要从流媒体源12预取的超前处理段。
类似地,预取功能24可使用一个或多个其它用户或用户16的社交网络内的一个或多个其它用户的媒体项目以前重放的重放历史,选择要从流媒体源12预取的超前处理段。同样地,其它用户的重放历史可识别其它用户以前观看、其它用户跳过、其它用户跳到的媒体项目的段或诸如此类。概括来说,预取功能24因而可识别其它用户感兴趣、其它用户不感兴趣的媒体段或诸如此类。例如,由阈值数量或阈值百分比的其它用户以前跳到和观看的媒体项目的段可被识别为其它用户感兴趣的段。预取功能24随后可将阈值数量或阈值百分比的其它用户以前跳到和观看的媒体项目的段识别为要从流媒体源12预取的超前处理段。注意,在另一实施例中,其它用户的重放历史可基于例如在用户16的社交网络中用户16的分离程度、其它用户的简档与用户16的简档的类似性或诸如此类进行加权。随后,在确定例如用户16是否可能对其它用户以前跳到和观看的段感兴趣时,可考虑该加权。
另外或备选,预取功能24可基于流媒体源12提供的经验知识或设置,选择要从流媒体源12预取的一个或多个超前处理段。经验知识或设置可由流媒体源12或媒体项目的制作者或创建者或诸如此类定义。经验知识或设置可定义要为所有用户预取的一个或多个段。另外或备选,经验知识或设置可包括定义要为用户类预取的段的一个或多个规则。用户类可基于人口信息、地理信息、用户以前观看的媒体项目的记录或诸如此类定义。例如,经验知识或设置可包括指明要为年龄在20-40岁之间的男性用户预取动作场景的一个或多个规则。因此,在基于此类经验知识选择超前处理段时,预取功能24可先从用户16所属的经验知识定义的用户类选择用户类。为用户16所属的用户类识别的一个或多个段随后可被选择为超前处理段。
还有,预取功能24也可考虑由诸如社交连网网站等社交连网服务托管的用户16的用户简档中包含的信息。用户16的简档可识别用户16最喜爱的男演员或女演员、从中可断定用户16的兴趣的用户16的最喜爱的影片、用户16最喜爱的影片或电影角色或诸如此类。
最后,预取功能24也可考虑带宽有效性和获得媒体项目段所需的带宽。更具体地说,在一个实施例中,描述段的信息也可包括使预取功能24能够估计下载媒体项目段的带宽要求的信息。预取功能24可基于与媒体项目段的带宽要求相比可用于预取的带宽,确定选择的段数。最初在重放开始时,所有可用带宽可用于缓冲充足量的媒体项目流以开始媒体项目的重放。一旦充足量的媒体项目流被缓冲后,分配为接收媒体项目流的带宽可降低到足以继续重放的量。多出的带宽随后可分配用于预取。因此,基于分配用于预取的带宽量和预取媒体项目段的带宽要求,预取功能24可确定能够预取的段数量和/或选择要预取的段。
在选择要预取的超前处理段后,区分这些超前处理段的优先级(步骤202)。注意,视实现而定,超前处理段的选择和优先级区分可以是单个过程或分开的过程。概括来讲,预取功能24可基于用于选择超前处理段的标准区分超前处理段的优先级。例如,预取功能24可将最高优先级指配到基于在媒体项目的当前重放期间用户16采取的用户动作选定的超前处理段,将更低的优先级指配到基于用户16对媒体项目的一次或多次以前重放的重放历史选定的超前处理段,为基于用户16的用户喜好和用户16对其它媒体项目的重放历史选定的超前处理段指配甚至更低的优先级,以及将最低优先级指配到所有其它超前处理段。
在备选实施例中,用户16可定义对应于用户16的用户喜好的关键字列表并指配关键字的优先级。随后,可基于描述媒体项目超前处理段内容的信息的关键字比较选择超前处理段,并基于指配到关键字的优先级区分这些超前处理段的优先级。另外,在选择超前处理段中可使用与用户16根据本体论(ontology)、分类学或类似数据结构定义的关键字有关的另外关键字。
预取功能24随后开始根据指配的优先级从流媒体源12预取超前处理段(步骤204)。超前处理段的预取可通过单个过程或分开的过程执行。指配到每个超前处理段的可用带宽量可基于指配到超前处理段的优先级进行控制。注意,可基于如本领域的技术人员将理解的各种其它标准,另外或备选地控制指配到每个超前处理段的可用带宽量。在第一实施例中,预取功能24从流媒体源12预取完整的段。在第二实施例中,预取功能24预取规定量的每个超前处理段,如前X分钟或前Y字节。在第三实施例中,预取功能24为每个超前处理段确定应预取的超前处理段的量以便重放能够跳到该段,并从该段的开始继续重放而不会在重放中导致任何长的中断或延迟。在第四实施例中,预取功能24可预取比媒体项目本身的质量更低质量版本的超前处理段以降低预取的带宽要求。在第五实施例中,媒体项目可在多个层中提供,其中,最低层是最低质量版本的媒体项目,最高层是最高质量版本的媒体项目,并且多个中间层提供对应的中间质量版本的媒体项目。在预取超前处理段时,对于每个超前处理段,基于超前处理段的优先级,可选择预取功能24预取的层。
在此实施例中,在预取已开始后,预取功能24定期确定由于在媒体项目流的重放期间用户16采取的用户动作,为预取选定的段是否应更新(步骤206)。如上所述,超前处理段的选择可基于在媒体项目流的重放期间用户16采取的用户动作,如跳过媒体项目某个段,向前跳到媒体项目某个段,重复播放媒体项目某个段或诸如此类。因此,在一个实施例中,用户动作可被记录,并且预取功能24可定期检查发生的用户动作,并且确定在发生相关用户动作时是否要更新超前处理段选择。例如,如果用户16暂停重放,则预取功能24可确定不要更新超前处理段选择。与此相反,如果用户16倒退重放以重新播放特定段,跳过特定段,或者跳到特定段,则预取功能24可确定要更新超前处理段选择。在备选实施例中,预取功能24可收到用户动作的通知,并立即或在此之后的某个时间确定是否要更新超前处理段选择。如果要更新超前处理段选择,则过程返回到步骤200,使得超前处理段选择被更新,并且指配到超前处理段的优先级被更新。备选,过程可返回到步骤202以基于用户动作,只重新区分已经选定的超前处理段的优先级。优先级可基于在媒体项目流的重放期间用户16采取的用户动作进行更新,如跳过媒体项目某个段,向前跳到媒体项目某个段,重复播放媒体项目某个段或诸如此类。
如果不更新超前处理段选择,则预取功能24确定超前处理段的预取是否完成(步骤208)。视实施例而定,在已完成预取选定超前处理段时,或者在已预取充分量的每个超前处理段以便能够实现不间断重放时,可完成预取。如果预取未完成,则预取功能24继续根据指配的优先级预取超前处理段(步骤210),并且随后过程返回到步骤206。在此实施例中,如果超前处理段的预取完成,则预取功能24确定重放是否完成(步骤212)。如果未完成,则过程返回到步骤206,在该步骤中,预取功能24监视是否有与超前处理段选择相关的用户动作。如果发生相关用户动作,则可选择和预取新超前处理段。一旦重放完成,过程便结束(步骤214)。在备选实施例中,一旦超前处理段的预取完成,预取功能24便可选择要从流媒体源12预取的新超前处理段。可使用选择超前处理段的相同标准。然而,可降低基于标准、用于选择超前处理段的任何阈值。
图4A到4C根据本发明的一个实施例,以图形方式示出流媒体项目的多个超前处理段的预取。在此示例中,媒体项目具有2小时20分钟的总重放时间(02:20)。如图4A所示,当前重放位置是在三十分钟标志处(00:30)。根据用于流媒体内容的传统缓冲技术,在此示例中,媒体项目流后面的大约十分钟(00:30到00:40)已经被缓冲。这样,观看者可轻松地快进或向前跳,直至大约四十分钟(00:40)标志。然而,使用传统流式传送技术时,如果观看者要快进或向前跳到四十分钟(00:40)标志之外,或者甚至正好在该标志之前,则重放将中断,并且长的延迟将被引发以便请求、缓冲和开始从请求点开始的媒体项目流的重放。与此相反,本发明提供观看者感兴趣或观看者可能感兴趣的多个超前处理段的预取。因此,观看者可向前跳到任何超前处理段而不会在重放中遇到中断或任何长的延迟。
例如,如果观看者向前跳到如图4B所示从1小时10分钟(1:10)标志开始的超前处理段,则流媒体重放功能22开始重放来自用户装置14的本地储存器的已预取超前处理段。另外,或者在来自本地储存器的已预取超前处理段的重放开始之前、之时或之后,流媒体重放功能22请求从超前处理段结束处或本地储存器中存储的部分超前处理段的结束处开始的媒体项目的流式传送。假设整个超前处理段已被预取,则流媒体重放功能22请求从超前处理段结束处开始的媒体项目的流式传送,这在此示例中是大约1小时20分钟(1:20)标志。流媒体重放功能22在从本地储存器播放超前处理段的同时,流媒体重放功能22接收从大约1:20分钟标志处开始的媒体项目流,并开始缓冲该媒体项目流。因此,如图4C所示,在重放到达用户装置14的本地储存器中存储的超前处理段的结束处时,重放切换到从大约1:20分钟标志处开始的媒体流。在该点,足够的媒体项目流已被缓冲,以便实现无缝重放而不会有任何长的中断或延迟。
图5示出系统10,其中,根据本发明的第二实施例,超前处理段由流媒体源12选择并推送到用户装置14。同样地,系统10包括经网络18互连的流媒体源12和用户装置14。在此实施例中,流媒体源12包括流式传送功能26和超前处理段推送功能28,其中每个功能可以软件、硬件或其组合形式实现。流式传送功能26一般操作为将请求的媒体项目流式传送到用户装置14。超前处理段推送功能28一般操作为选择正流式传送到用户装置14的媒体项目的一个或多个超前处理段,并将选定的超前处理段优先推送到用户装置14。
用户装置14包括流媒体客户端20。然而,在此实施例中,流媒体客户端20不包括预取功能24。预取功能24已被替代为流媒体源12的超前处理段推送功能28。流媒体重放功能22一般操作为将请求发送到流媒体源12以开始所需媒体项目到用户装置14的流式传送,接收媒体项目流,以及在用户16的控制下提供媒体项目流的重放。
图6根据本发明的一个实施例,示出流媒体源12的流式传送功能26的操作。首先,流式传送功能26从用户装置14接收媒体项目请求(步骤300)。请求可由用户装置14响应来自选择媒体项目以便重放的用户16的用户输入而发送。作为响应,流式传送功能26开始将媒体项目流式传送到用户装置14(步骤302)。用户装置14的流式媒体重放功能22接收媒体项目流并开始重放。除开始媒体项目的流式传送外,流式传送功能26启动超前处理段推送功能28(步骤304)。如下所述,超前处理段推送功能28基于上面相对于预取功能24论述的标准,将媒体项目的一个或多个段选择为要推送到用户装置14的超前处理段,区分超前处理段的优先级,并将超前处理段推送到用户装置14。
最后,流式传送功能26在流媒体客户端20的控制下继续将媒体项目流式传送到用户装置14(步骤306)。更具体地说,在媒体项目的重放期间,用户16可选择采取各种动作,如暂停、倒退、快进、向前跳和向后跳。作为响应,流媒体重放功能22促使所需的动作发生。例如,如果用户16要向前跳到超前处理段之一,则流媒体重放功能22开始来自本地储存器的该超前处理段的重放,并且在一个实施例中将请求发送到流媒体源12以从该超前处理段结束处或从用户装置14本地存储的部分该超前处理段的结束处开始流式传送媒体项目。
图7根据本发明的一个实施例,示出图5的流媒体源12的超前处理段推送功能28的操作。一旦由流式传送功能26启动后,超前处理段推送功能28便先选择要推送到用户装置14的媒体项目的一个或多个段(步骤400)。该一个或多个选定段称为超前处理段。超前处理段一般是尚未流式传送到用户装置14的媒体项目段。超前处理段推送功能28可使用任何适当的技术确定媒体项目的哪些段是用户16感兴趣或用户16可能感兴趣的段。下面论述用于确定用户16感兴趣或用户16可能感兴趣的媒体项目段的几个示范方案。然而,本发明并不限于此。
在一个实施例中,超前处理段推送功能28先获得识别和描述媒体项目多个段的信息。对于每个段,识别和描述媒体项目段的信息包括识别媒体项目重放中与段的开始点对应的点的信息以及可选地识别媒体项目重放中与段的结束点对应的点的信息。在第一实施例中,媒体段由媒体项目的制作者或创建者预定义。这样,识别段的信息可提供到与媒体项目相关联的流媒体源12。例如,识别段的信息可作为对应于媒体项目的媒体文件内的元数据提供,如MPEG 7注释。
在第二实施例中,流媒体源12识别媒体项目段。更具体地说,流媒体源12可执行帧分析过程以识别媒体项目段。例如,帧分析可检测暗帧,如基本上黑的帧,并且确定暗帧表示从媒体项目一个段到媒体项目另一个段的转变。另外或备选,流媒体源12可通过分析元数据和/或对媒体项目可用的注释,识别媒体项目段。例如,媒体项目的制作者或创建者可为媒体项目提供描述媒体项目内容但不明确识别媒体项目段的元数据。流媒体源12可分析元数据以识别媒体项目段。另外或备选,以前观看了该媒体项目的用户可为媒体项目创建注释,并且流媒体源12可分析注释以识别媒体项目段。在第三实施例中,流媒体源12可通过根据所需段重放长度或数据大小,将媒体项目分成段,或者将媒体项目分成重放长度或数据大小相等的规定数量的段,以识别段。
另外,对于每个段,识别和描述段的信息包括描述媒体项目段的内容的信息。例如,信息可将段描述为包含动作场景、浪漫场景或诸如此类。又如,如果媒体项目是星球大战影片之一,则信息可更具体地将段的内容描述为包含莉亚公主场景、达斯·维德场景、机器人场景、太空战场景或诸如此类。又如,描述段的信息可包括在段中出现的男演员或女演员列表和/或在段中发生的活动描述。描述媒体项目段的内容的信息可以是媒体项目的制作者或创建者提供的信息,并且例如包括在与媒体项目相关联的元数据内,可以是诸如注释等由以前观看过该媒体项目的一个或多个用户提供的信息或诸如此类,或其任何组合。
一旦获得识别和描述媒体项目段的信息,超前处理段推送功能28便基于一个或多个标准,从媒体项目段中选择要推送到用户装置14的一个或多个超前处理段。如相对于预取功能24所述,一个或多个标准可以是例如用户16定义的用户喜好、在媒体项目的当前重放期间用户16采取的动作、用户16以前对媒体项目的一次或多次重放的重放历史,用户16对一个或多个其它媒体项目的重放历史、以前观看过该媒体项目的一个或多个用户的重放历史、用户16的社交网络中以前观看过该媒体项目的一个或多个其它用户的重放历史、流媒体源12和/或媒体项目的制作者或创建者的经验知识或设置、诸如社交连网网站等社交连网服务维护的用户16的用户简档中包含的信息、带宽有效性及获得媒体项目段的带宽要求或诸如此类。
在选择要推送到用户装置14的超前处理段后,区分超前处理段的优先级(步骤402)。注意,视实现而定,超前处理段的选择和优先级区分可以是单个过程或分开的过程。超前处理段推送功能28一般可基于用于选择超前处理段的标准区分超前处理段的优先级。例如,超前处理段推送功能28可将最高优先级指配到基于在媒体项目的当前重放期间用户16采取的用户动作选定的超前处理段,将更低的优先级指配到基于用户16以前对媒体项目的一次或多次重放的重放历史选定的超前处理段,为基于用户16的用户喜好和用户16对其它媒体项目的重放历史选定的超前处理段指配甚至更低的优先级,以及将最低优先级指配到所有其它超前处理段。
超前处理段推送功能28随后根据指配的优先级开始将超前处理段推送到用户装置14(步骤404)。超前处理段的推送可通过一个或多个过程执行。指配到每个超前处理段的可用带宽量可基于指配到超前处理段的优先级进行控制。在第一实施例中,超前处理段推送功能28将完整的超前处理段推送到用户装置14。在第二实施例中,超前处理段推送功能28推送规定量的每个超前处理段,如前X分钟或前Y字节。在第三实施例中,超前处理段推送功能28为每个超前处理段确定应推送的超前处理段量,以便在用户装置14的重放能够跳到该段,并从该段的开始继续重放而不会导致重放中任何长的中断或延迟。在第四实施例中,超前处理段推送功能28可推送比媒体项目本身的质量更低质量版本的超前处理段以降低推送的带宽要求。在第五实施例中,媒体项目可在多个层中提供,其中,最低层是最低质量版本的媒体项目,最高层是最高质量版本的媒体项目,并且多个中间层提供对应中间质量版本的媒体项目。在推送超前处理段时,对于每个超前处理段,可基于超前处理段的优先级,选择超前处理段推送功能28推送的层。
在此实施例中,超前处理段推送功能28定期确定由于在媒体项目流的重放期间用户16采取的用户动作,为推送选定的段是否应更新(步骤406)。如上所述,超前处理段的选择可基于在媒体项目流的重放期间用户16采取的用户动作,如跳过媒体项目某个段,向前跳到媒体项目某个段或诸如此类。因此,在一个实施例中,用户动作可被记录,并且超前处理段推送功能28可定期检查发生的用户动作,并且确定在已发生相关用户动作时是否要更新超前处理段选择。在备选实施例中,超前处理段推送功能28可收到用户动作的通知,并立即或在此之后的某个时间确定是否要更新超前处理段选择。如果要更新超前处理段选择,则过程返回到步骤400,使得超前处理段选择被更新,并且指配到超前处理段的优先级被更新。备选,过程可返回到步骤402以基于用户动作,只重新区分已经选定的超前处理段的优先级。
如果超前处理段选择不要更新,则超前处理段推送功能28确定超前处理段的推送是否完成(步骤408)。如果未完成,则超前处理段推送功能28继续根据指配的优先级推送超前处理段(步骤410),随后,过程返回到步骤406。在此实施例中,如果超前处理段的推送完成,则超前处理段推送功能28确定重放是否完成(步骤412)。如果未完成,则过程返回到步骤406,在该步骤中,超前处理段推送功能28监视是否有与超前处理段选择相关的用户动作。如果发生相关用户动作,则可选择新超前处理段并将其推送到用户装置14。一旦重放完成,过程便结束(步骤414)。在备选实施例中,一旦超前处理段的推送完成,超前处理段推送功能28便可选择要推送到用户装置14的新超前处理段。可使用选择超前处理段的相同标准。然而,可降低基于标准、用于选择超前处理段的任何阈值。
应注意的是,超前处理段推送功能28可协调超前处理段到多个用户装置14的推送。例如,如果多个用户装置14需要相同的超前处理段,则超前处理段可经多播信道推送到多个用户装置14。又如,可将两个或更多个用户装置14指配到多播信道,其中,通过该多播信道推送为指配到该多播信道的所有用户装置14选定的超前处理段。每个用户装置14接受为其选定的超前处理段,并忽略在多播信道上只为其它用户装置14选定的超前处理段。最后,超前处理段推送功能28可指示用户装置14从已经具有媒体项目的超前处理段的一个或多个其它用户装置14获得那些段,而不向用户装置14推送超前处理段。
也应注意的是,虽然在上面的论述中,超前处理推送功能28将选定的超前处理段推送到用户装置14,但本发明并不限于此。在备选实施例中,超前处理段推送功能28可将识别选定的超前处理段的信息推送到用户装置14。随后,流媒体客户端20可从流媒体源12,从另一远程媒体源、另一用户装置14或诸如此类预取选定的超前处理段。应注意的是,虽然图1和5示出系统10的两个实施例,但本发明并不限于此。例如,在另一实施例中,超前处理段的选择和优先级区分可以是由流媒体源12和流媒体客户端20执行的协作过程。
图8根据本发明的第三实施例示出还包括代理30的系统10。在此实施例中,系统10包括经诸如网络18(图1和5)等网络互连的流媒体源12、用户装置14和代理30。此实施例可特别有利,其中,用户装置14是具有最小计算能力的装置,如移动电话或诸如此类。
代理30一般可以是能够连接到网络18的任何装置或形成部分网络的任何装置。例如,如果用户装置14是用户16的移动装置,则代理30可以是用户16的个人计算机。代理30包括可以软件、硬件或其组合形式实现的预取功能32。预取功能32大致与上述预取功能24相同。通常,在此实施例中,预取功能32操作用于为正流式传送到用户装置14的媒体项目选择超前处理段,从流媒体源12预取超前处理段,并将已预取超前处理段推送到用户装置14。
在操作中,在收到用户16请求时,流媒体重放功能22从流媒体源12请求所需的媒体项目。作为响应,流媒体源12开始向用户装置14流式传送媒体项目。另外,流媒体客户端20将媒体项目重放及重放期间用户16采取的任何用户动作通知代理30。备选,如果代理位于用户装置14与流媒体源12之间,则代理30可被允许观测来自以及送往用户装置14的数据业务以确定何时媒体项目的重放在发生及重放期间用户16采取的任何用户动作。代理30的预取功能32随后获得识别和描述正流式传送到用户装置14的媒体项目段。基于此信息和上述一个或多个标准,预取功能32将媒体项目的一个或多个段选择为要从流媒体源12预取的超前处理段,并将优先级指配到选定的超前处理段。在此实施例中,预取功能32随后从流媒体源12预取超前处理段,并将超前处理段推送到用户装置14。注意,如上所述,可响应在媒体项目的重放期间用户16采取的用户动作,更新超前处理段选择和/或为其指配的优先级。
在备选实施例中,代理30可代表流媒体客户端20选择超前处理段,并将优先级指配到超前处理段。代理30随后可向用户装置14提供识别选定的超前处理段的信息,并可选地提供指配到超前处理段的优先级,其中,流媒体客户端20随后预取选定的超前处理段。备选,代理30可向流媒体源12提供识别选定超前处理段的信息,并且可选地提供指配到超前处理段的优先级,其中,流媒体源12随后将选定的超前处理段推送到用户装置14。
图9示出根据本发明的第四实施例的系统10。此实施例大致与图8所示的实施例相同。然而,在图9的系统10中,代理30是位于用户装置14与流媒体源12之间的中间装置。例如,代理30可以是向用户装置14提供到诸如网络18等网络的接入的接入点。接入点例如可以是移动电信网络中的基站、IEEE 802.11x接入点或诸如此类。注意,由于代理30位于用户装置14与流媒体源12之间,因此,用户装置14不必将正流式传送到它的媒体项目或至少一些类型的用户动作通知代理30。然而,对于对代理30透明的用户动作,用户装置14的流媒体客户端20可向代理30报告用户动作。在操作中,代理30操作为选择超前处理段,并可选择地为超前处理段区分优先级。如相对于图8所述,代理30随后预取超前处理段,并将超前处理段推送到用户装置14,指示流媒体客户端20预取超前处理段,或者指示流媒体源12将超前处理段推送到流媒体客户端20。
图10是根据本发明的一个实施例的流媒体源12的框图。通常,流媒体源12包括具有相关联存储器36的控制系统34。在一个实施例中,流式传送功能26和超前处理段推送功能28(图5)以软件形式实现,并且存储在存储器36中。然而,本发明并不限于此。流媒体源12也可包括一个或多个数字存储装置38,如一个或多个硬盘驱动器,以便存储可用于通过网络18(图1和5)流式传送到诸如用户装置14等用户装置的媒体项目。视实施例而定,流媒体源12也包括以通信方式经网络18将流媒体源12耦合到用户装置14和/或代理30的通信接口40。最后,流媒体源12可包括用户接口42,该接口可包括诸如显示器、一个或多个用户输入装置等组件或诸如此类。
图11是根据本发明的一个实施例的用户装置14的框图。通常,用户装置14包括具有相关联存储器46的控制系统44。在一个实施例中,流媒体客户端20以软件形式实现,并且存储在存储器46中。然而,本发明并不限于此。注意,在一个实施例中,超前处理段存储在存储器46中。备选,虽然未示出,但用户装置14可包括一个或多个数字存储装置,其中,超前处理段存储在一个或多个数字存储装置中。视实施例而定,用户装置14也包括以通信方式经网络18(图1和5)将用户装置14耦合到流媒体源12和/或代理30的通信接口48。最后,用户装置14包括用户接口50,该接口可包括诸如显示器、一个或多个用户输入装置、扬声器、用于将音频和/或视频提供到相关联显示器的一个或多个输出端口等组件或诸如此类。
图12是根据本发明的一个实施例的图8和图9的代理30的框图。通常,代理30包括具有相关联存储器54的控制系统52。在一个实施例中,预取功能32以软件形式实现,并且存储在存储器54中。然而,本发明并不限于此。代理30也包括以通信方式将代理30耦合到流媒体源12和用户装置14的一个或多个通信接口56。最后,代理30可包括用户接口58,该接口可包括诸如显示器、一个或多个用户输入装置等组件或诸如此类。
本领域的技术人员将认识到本发明的优选实施例的改进和修改。所有此类改进和修改被视为在本文中公开的概念范围和下面的权利要求内。

Claims (41)

1.一种用户装置的操作方法,包括:
从流媒体源接收媒体项目的流;
提供所述媒体项目所述流的重放;
获得所述媒体项目的一个或多个超前处理段,所述一个或多个超前处理段是尚未流式传送到所述用户装置的所述媒体流的段;以及
在所述用户装置的本地储存器中存储所述一个或多个超前处理段。
2.如权利要求1所述的方法,其中所述一个或多个超前处理段中的至少一个超前处理段是在获得所述至少一个超前处理段时正流式传送到所述用户装置的所述媒体项目的段之外的所述媒体项目的段。
3.如权利要求1所述的方法,其中所述一个或多个超前处理段中的至少一个超前处理段是在获得所述至少一个超前处理段时在所述媒体项目重放中的当前点之前、尚未流式传送到所述用户装置的所述媒体项目的段。
4.如权利要求1所述的方法,还包括:
从所述用户装置的用户接收用户输入,所述用户输入指示所述用户装置在所述媒体项目的所述流重放期间跳到所述一个或多个超前处理段中的超前处理段;
提供对来自所述本地储存器的所述超前处理段的重放;
请求从与所述本地储存器中存储的所述超前处理段结束处对应的点开始的所述媒体项目的流;
在提供对来自所述本地储存器的所述超前处理段的重放的同时,从所述流媒体源接收从对应于所述本地储存器中存储的所述超前处理段结束处的点开始的所述媒体项目的所述流,使得在提供对来自所述本地储存器的所述超前处理段的重放的同时缓冲从对应于所述本地储存器中存储的所述超前处理段结束处的点开始的所述媒体项目的所述流;以及
一旦完成对来自所述本地储存器的所述超前处理段的重放,便将重放从所述超前处理段转变到从对应于所述本地储存器中存储的所述超前处理段结束处的点开始的所述媒体项目的所述流。
5.如权利要求1所述的方法,其中获得所述媒体项目的所述一个或多个超前处理段包括:
将所述媒体项目的一个或多个段选择为所述一个或多个超前处理段;以及
从所述流媒体源预取所述一个或多个超前处理段。
6.如权利要求5所述的方法,其中获得所述媒体项目的所述一个或多个超前处理段还包括适应性地更新选定为所述一个或多个超前处理段的所述一个或多个段。
7.如权利要求5所述的方法,其中获得所述媒体项目的所述一个或多个超前处理段还包括基于在所述媒体项目的所述流重放期间所述用户装置的用户采取的至少一个用户动作,适应性地更新选定为所述一个或多个超前处理段的所述一个或多个段。
8.如权利要求7所述的方法,其中所述至少一个用户动作是由以下组成的组中之一:在重放期间跳过所述媒体项目的所述流的段,在重放期间跳到所述媒体项目的所述流的段,在重放期间重复对所述媒体项目的所述流的段的重放,以及在重放期间通过所述媒体项目的所述流的段快进。
9.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于描述所述媒体项目的多个段的信息和所述用户装置的用户的用户喜好比较,将所述一个或多个段选择为所述一个或多个超前处理段。
10.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于在所述媒体项目的所述流重放期间所述用户装置的用户采取的至少一个用户动作,将所述一个或多个段选择为所述一个或多个超前处理段。
11.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于描述所述媒体项目的多个段的信息和描述由以下项组成的组中至少一项的信息,将所述一个或多个段选择为所述一个或多个超前处理段:在重放期间跳过的所述媒体项目的所述流的段,在重放期间跳到的所述媒体项目的所述流的段,在重放期间重复对其重放的所述媒体项目的所述流的段,以及在重放期间快进通过的所述媒体项目的所述流的段。
12.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于所述用户装置的用户以前对所述媒体项目的至少一次重放的至少一个重放历史,将所述一个或多个段选择为所述一个或多个超前处理段。
13.如权利要求12所述的方法,其中所述至少一个重放历史指示所述用户装置的所述用户感兴趣的所述媒体项目的至少一个段。
14.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于所述用户装置的用户外的至少一个用户以前对所述媒体项目的重放的重放历史,将所述一个或多个段选择为所述一个或多个超前处理段。
15.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于在所述用户装置的用户的社交网络内的至少一个其它用户以前对所述媒体项目的重放的重放历史,将所述一个或多个段选择为所述一个或多个超前处理段。
16.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于所述用户装置的用户以前对所述媒体项目外的媒体项目重放的重放历史,将所述一个或多个段选择为所述一个或多个超前处理段。
17.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于由以下项组成的组中的至少一项,将所述一个或多个段选择为所述一个或多个超前处理段:预取所述一个或多个超前处理段的带宽有效性和预取所述媒体项目的段的带宽要求。
18.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于经验知识,将所述一个或多个段选择为所述一个或多个超前处理段。
19.如权利要求18所述的方法,其中所述经验知识识别至少一个用户类中的每个类可能感兴趣的媒体项目段,以及基于经验知识将所述一个或多个段选择为所述超前处理段包括:
从所述用户装置的用户所属的所述至少一个用户类识别用户类;以及
将通过所述经验知识为所述用户类识别的所述媒体项目的至少一个段选择为要从所述流媒体源预取的所述一个或多个超前处理段。
20.如权利要求5所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述超前处理段包括基于从社交连网服务获得的所述用户装置的用户的简档,将所述一个或多个段选择为所述一个或多个超前处理段。
21.如权利要求5所述的方法,还包括区分所述一个或多个超前处理段的优先级以将优先级指配到所述一个或多个超前处理段中的每一个。
22.如权利要求21所述的方法,其中预取所述一个或多个超前处理段包括为每个超前处理段执行以下操作:
基于指配到所述超前处理段的所述优先级,将某个可用带宽量分配到所述超前处理段;以及
使用分配到所述超前处理段的所述可用带宽量,从所述流媒体源预取所述超前处理段。
23.如权利要求5所述的方法,其中预取所述一个或多个超前处理段包括为来自所述一个或多个超前处理段的每个超前处理段从所述流媒体源预取完整版本的所述超前处理段。
24.如权利要求5所述的方法,其中预取所述一个或多个超前处理段包括为来自所述一个或多个超前处理段的每个超前处理段从所述流媒体源预取部分所述超前处理段。
25.如权利要求5所述的方法,其中预取所述一个或多个超前处理段包括为来自所述一个或多个超前处理段的每个超前处理段从所述流媒体源预取质量基本上等于所述用户装置收到的所述媒体项目所述流的质量的某个版本的所述超前处理段。
26.如权利要求5所述的方法,其中预取所述一个或多个超前处理段包括为来自所述一个或多个超前处理段的每个超前处理段从所述流媒体源预取低质量版本的所述超前处理段。
27.如权利要求5所述的方法,其中预取所述一个或多个超前处理段包括为来自所述一个或多个超前处理段的每个超前处理段进行以下操作:
基于指配到所述超前处理段的优先级,选择多个版本的所述超前处理段之一,所述多个版本的所述超前处理段的每个是不同质量版本的所述超前处理段;以及
从所述流媒体源预取所述多个版本的所述超前处理段中的所述一个。
28.如权利要求27所述的方法,其中选择所述多个版本的所述超前处理段的所述一个包括基于指配到所述超前处理段的所述优先级和用于输送所述多个版本的所述超前处理段中的每个的带宽要求,选择所述多个版本的所述超前处理段中的所述一个。
29.如权利要求1所述的方法,其中获得所述媒体项目的所述一个或多个超前处理段包括从代理获得所述一个或多个超前处理段。
30.如权利要求29所述的方法,其中所述代理从所述媒体项目的多个段选择所述一个或多个超前处理段,从所述流媒体源预取所述一个或多个超前处理段,以及将所述一个或多个超前处理段提供到所述用户装置。
31.如权利要求1所述的方法,其中获得所述媒体项目的所述一个或多个超前处理段包括响应所述一个或多个超前处理段被所述流媒体源推送到所述用户装置而从所述流媒体源接收所述一个或多个超前处理段。
32.如权利要求31所述的方法,其中所述一个或多个超前处理段由所述流媒体源从所述媒体项目的多个段中选择。
33.如权利要求31所述的方法,其中所述一个或多个超前处理段由代理从所述媒体项目的多个段中选择。
34.如权利要求1所述的方法,其中获得所述一个或多个超前处理段包括:
接收将所述媒体项目的一个或多个段识别为所述一个或多个超前处理段的信息;以及
从所述流媒体源预取所述一个或多个超前处理段。
35.如权利要求34所述的方法,其中接收将所述媒体项目的所述一个或多个段识别为所述一个或多个超前处理段的所述信息包括从所述流媒体源接收将所述媒体项目的所述一个或多个段识别为所述一个或多个超前处理段的所述信息。
36.如权利要求34所述的方法,其中接收将所述媒体项目的所述一个或多个段识别为所述一个或多个超前处理段的所述信息包括从代理接收将所述媒体项目的所述一个或多个段识别为所述一个或多个超前处理段的所述信息。
37.一种用户装置,包括:
通信接口,以通信方式将所述用户装置经网络耦合到流媒体源;以及
控制系统,与所述通信接口相关联并适用于:
从所述流媒体源接收媒体项目的流;
提供对所述媒体项目所述流的重放;
获得所述媒体项目的一个或多个超前处理段,所述一个或多个超前处理段是尚未流式传送到所述用户装置的所述媒体项目的段;以及
在所述用户装置的本地储存器中存储所述一个或多个超前处理段。
38.一种流媒体源的操作方法,包括:
经网络从用户装置接收对媒体项目的请求;
经所述网络将所述媒体项目流式传送到所述用户装置;
将所述媒体项目的一个或多个段选择为一个或多个超前处理段以推送到所述用户装置,所述超前处理段是仍未流式传送到所述用户装置的所述媒体项目的段;以及
将所述一个或多个超前处理段经所述网络推送到所述用户装置。
39.如权利要求38所述的方法,其中将所述媒体项目的所述一个或多个段选择为所述一个或多个超前处理段包括基于在所述媒体项目的所述流重放期间所述用户装置的用户采取的用户动作,适应性地更新选择为所述一个或多个超前处理段的所述一个或多个段。
40.一种流媒体源,包括:
通信接口,以通信方式将所述流媒体源经网络耦合到用户装置;以及
控制系统,与所述通信接口相关联并适用于:
从所述用户装置接收对媒体项目的请求;
将所述媒体项目流式传送到所述用户装置;
将所述媒体项目的一个或多个段选定为一个或多个超前处理段以推送到所述用户装置,所述超前处理段是仍未流式传送到所述用户装置的所述媒体项目的段;以及
将所述一个或多个超前处理段推送到所述用户装置。
41.如权利要求40所述的流媒体源,其中所述控制系统还适用于基于在所述媒体项目的所述流重放期间所述用户装置的用户采取的用户动作,适应性地更新选定为所述一个或多个超前处理段的所述一个或多个段。
CNA2009101427821A 2008-05-23 2009-05-22 流媒体适应性段预取的系统和方法 Pending CN101588493A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/126,169 US8028081B2 (en) 2008-05-23 2008-05-23 System and method for adaptive segment prefetching of streaming media
US12/126169 2008-05-23

Publications (1)

Publication Number Publication Date
CN101588493A true CN101588493A (zh) 2009-11-25

Family

ID=41342894

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2009101427821A Pending CN101588493A (zh) 2008-05-23 2009-05-22 流媒体适应性段预取的系统和方法

Country Status (2)

Country Link
US (2) US8028081B2 (zh)
CN (1) CN101588493A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724550A (zh) * 2012-06-12 2012-10-10 北京奇艺世纪科技有限公司 一种视频播放方法和装置
CN103596128A (zh) * 2012-08-16 2014-02-19 腾讯科技(深圳)有限公司 一种信息提供方法、装置、系统及移动终端
CN103873927A (zh) * 2012-12-17 2014-06-18 联想(北京)有限公司 流媒体数据处理方法和电子设备
CN105191331A (zh) * 2013-03-14 2015-12-23 谷歌公司 确定视频中的兴趣水平
CN105208126A (zh) * 2015-10-09 2015-12-30 北京航空航天大学 一种基于用户端存储的干扰管理方法
CN105307214A (zh) * 2015-09-14 2016-02-03 北京航空航天大学 一种小小区网络中基于存储的干扰管理方法
CN110248241A (zh) * 2019-06-11 2019-09-17 Oppo广东移动通信有限公司 视频处理方法及相关装置
CN111614980A (zh) * 2012-08-14 2020-09-01 俄亥俄州立创新基金会 有效使用网络带宽的系统和方法
US11973991B2 (en) 2019-10-11 2024-04-30 International Business Machines Corporation Partial loading of media based on context

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370514B2 (en) * 2005-04-28 2013-02-05 DISH Digital L.L.C. System and method of minimizing network bandwidth retrieved from an external network
US8028081B2 (en) 2008-05-23 2011-09-27 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media
US9432629B2 (en) * 2008-08-18 2016-08-30 Brigham Young University Interactive viewing of sports video
US9197486B2 (en) * 2008-08-29 2015-11-24 Google Inc. Adaptive accelerated application startup
US20100077435A1 (en) * 2008-09-24 2010-03-25 Concert Technology System and method for smart trick mode display
CN101378494B (zh) * 2008-10-07 2011-04-20 中兴通讯股份有限公司 一种实现互联网电视媒体交互的系统及方法
US8938548B2 (en) 2008-12-23 2015-01-20 At&T Mobility Ii Llc Streaming enhancements through pre-fetch background
US9183881B2 (en) 2009-02-02 2015-11-10 Porto Technology, Llc System and method for semantic trick play
US7657337B1 (en) 2009-04-29 2010-02-02 Lemi Technology, Llc Skip feature for a broadcast or multicast media station
US8806047B2 (en) 2009-04-29 2014-08-12 Lemi Technology, Llc Skip feature for a broadcast or multicast media station
DE102009022207B4 (de) * 2009-05-20 2015-06-18 Institut für Rundfunktechnik GmbH Peer-to-Peer-Übertragungssystem für Datenströme
US8782267B2 (en) * 2009-05-29 2014-07-15 Comcast Cable Communications, Llc Methods, systems, devices, and computer-readable media for delivering additional content using a multicast streaming
US8776158B1 (en) * 2009-09-30 2014-07-08 Emc Corporation Asynchronous shifting windows caching for forward and backward video streaming
US20110145283A1 (en) * 2009-12-10 2011-06-16 International Business Machines Corporation Intelligent mechanism for identifying ontological hypertext and pre-fetching and presenting the target information
US8856798B2 (en) * 2010-10-21 2014-10-07 Qualcomm Incorporated Mobile computing device activity manager
US20120159329A1 (en) * 2010-12-16 2012-06-21 Yahoo! Inc. System for creating anchors for media content
US9615126B2 (en) 2011-06-24 2017-04-04 Google Technology Holdings LLC Intelligent buffering of media streams delivered over internet
EP2737695A4 (en) * 2011-07-25 2015-03-04 Thomson Licensing METHOD AND SYSTEM FOR METADATA ASSISTED VARIABLE SPEED MODE INTERVENTION
US20130067349A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Efficiently providing data from a virtualized data source
US9445136B2 (en) * 2011-09-21 2016-09-13 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
US8433577B2 (en) * 2011-09-27 2013-04-30 Google Inc. Detection of creative works on broadcast media
US8549108B2 (en) * 2011-09-29 2013-10-01 Riverbed Technology, Inc. Optimized prefetching of compound data
US11314405B2 (en) * 2011-10-14 2022-04-26 Autodesk, Inc. Real-time scrubbing of online videos
US9137550B1 (en) * 2011-12-13 2015-09-15 Amazon Technologies, Inc. Physical location influenced caching
US9665339B2 (en) 2011-12-28 2017-05-30 Sonos, Inc. Methods and systems to select an audio track
US10225306B2 (en) * 2011-12-29 2019-03-05 Koninklijke Kpn N.V. Controlled streaming of segmented content
US9152220B2 (en) 2012-06-29 2015-10-06 International Business Machines Corporation Incremental preparation of videos for delivery
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
JP6021487B2 (ja) * 2012-07-18 2016-11-09 キヤノン株式会社 情報処理システム、制御方法、サーバ、情報処理装置およびコンピュータプログラム
US9804668B2 (en) 2012-07-18 2017-10-31 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear TV experience using streaming content distribution
US20140089467A1 (en) * 2012-09-27 2014-03-27 Andre Beck Content stream delivery using pre-loaded segments
KR20140042263A (ko) * 2012-09-28 2014-04-07 삼성전자주식회사 미디어 스트리밍 서비스에서 버퍼링 데이터를 송수신하기 위한 장치 및 방법
US8990203B2 (en) 2012-10-10 2015-03-24 Google Inc. Methods and systems for prefetching music for devices
JP6039990B2 (ja) * 2012-10-11 2016-12-07 キヤノン株式会社 情報処理装置及びその制御方法
US20140136643A1 (en) * 2012-11-13 2014-05-15 Motorola Mobility Llc Dynamic Buffer Management for a Multimedia Content Delivery System
US10841352B2 (en) 2012-11-27 2020-11-17 International Business Machines Corporation Non-chronological buffering of segments of a media file
US9294821B2 (en) * 2013-01-28 2016-03-22 Morega Systems Inc. Scrubbing noise remover and methods for use therewith
US20140237019A1 (en) * 2013-02-15 2014-08-21 Dropbox, Inc. Server-side transcoding of media files
US20140280223A1 (en) * 2013-03-13 2014-09-18 Deja.io, Inc. Media recommendation based on media content information
WO2014144338A1 (en) * 2013-03-15 2014-09-18 Opanga Networks, Inc. Pre-delivery of content to devices
US10110647B2 (en) * 2013-03-28 2018-10-23 Qualcomm Incorporated Method and apparatus for altering bandwidth consumption
EP3017605B1 (en) 2013-07-03 2022-12-07 Koninklijke KPN N.V. Streaming of segmented content
US20150089073A1 (en) 2013-09-25 2015-03-26 Ericsson Television Inc System and method for effectuating fast channel change in an adpative streaming environment
US9444856B2 (en) * 2013-09-25 2016-09-13 Ericsson Ab System and method for managing adjacent channels in an adaptive streaming environment
US9628543B2 (en) 2013-09-27 2017-04-18 Samsung Electronics Co., Ltd. Initially establishing and periodically prefetching digital content
US9326026B2 (en) * 2013-10-31 2016-04-26 At&T Intellectual Property I, Lp Method and apparatus for content distribution over a network
US9869785B2 (en) * 2013-11-12 2018-01-16 Schlumberger Technology Corporation Systems and methods for speed-adjustable model navigation
FR3013548B1 (fr) * 2013-11-18 2017-05-12 Softathome Procede et systeme de pre-telechargement de video a la demande
ES2766267T3 (es) * 2013-11-20 2020-06-12 Opanga Networks Inc Pre-entrega fraccional de contenido a dispositivos de usuario
US9509793B2 (en) * 2013-11-22 2016-11-29 Verizon Patent And Licensing Inc. Content caching in a network for efficient user device access
US10200427B2 (en) * 2014-01-13 2019-02-05 Facebook, Inc. Systems and methods for streaming digital content using an intermediate server
JP6698553B2 (ja) 2014-02-13 2020-05-27 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ 1つの要求メッセージに基づいたネットワーク・ノードへの多数のチャンクの要求
USD776126S1 (en) 2014-02-14 2017-01-10 Samsung Electronics Co., Ltd. Display screen or portion thereof with a transitional graphical user interface
KR20150133037A (ko) 2014-05-19 2015-11-27 삼성전자주식회사 콘텐츠 재생 방법 및 이를 구현하는 전자 장치
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
US9672213B2 (en) 2014-06-10 2017-06-06 Sonos, Inc. Providing media items from playback history
CN106664592B (zh) 2014-07-16 2020-08-18 腾赛拉网络有限公司 用于内容分发的方法和系统及相应的计算机可读介质
US11095743B2 (en) 2014-07-16 2021-08-17 Tensera Networks Ltd. Optimized content-delivery network (CDN) for the wireless last mile
US9979796B1 (en) 2014-07-16 2018-05-22 Tensera Networks Ltd. Efficient pre-fetching notifications
WO2016032907A1 (en) * 2014-08-26 2016-03-03 Opanga Networks, Inc. Systems and methods for conditional download using idle network capacity
US10506027B2 (en) 2014-08-27 2019-12-10 Tensera Networks Ltd. Selecting a content delivery network
US9747011B2 (en) 2014-09-16 2017-08-29 Google Inc. Continuation of playback of media content by different output devices
WO2016063161A1 (en) * 2014-10-19 2016-04-28 Tensera Networks Ltd. Partial prefetching of indexed content
US10504034B2 (en) * 2015-01-27 2019-12-10 Huawei Technologies Co., Ltd. Systems, devices and methods for distributed content interest prediction and content discovery
US9438936B1 (en) * 2015-04-03 2016-09-06 Mirriad Limited Producing video data
US9723470B1 (en) 2015-04-30 2017-08-01 Tensera Networks Ltd. Selective enabling of data services to roaming wireless terminals
US10620810B2 (en) * 2015-05-15 2020-04-14 Spotify Ab Method and a system for performing scrubbing in a video stream
US10771520B2 (en) 2015-11-24 2020-09-08 Comcast Cable Communications, Llc Methods and systems for intelligent utilization of off-peak network bandwidth
US10623517B2 (en) * 2015-12-29 2020-04-14 Oath Inc. Content prefetching and cache management
KR102399082B1 (ko) 2016-03-04 2022-05-17 삼성전자주식회사 적응적 스트리밍 서비스에서 데이터 버퍼링 방법 및 장치
US9825801B1 (en) * 2016-07-22 2017-11-21 Spotify Ab Systems and methods for using seektables to stream media items
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
US10469884B2 (en) 2016-12-12 2019-11-05 The Directv Group, Inc. Devices for presenting video program segments in accordance with definition documents
CN110431848B (zh) * 2017-03-24 2021-12-21 索尼公司 内容提供系统、内容提供方法和程序
KR102332525B1 (ko) 2017-06-01 2021-11-29 삼성전자주식회사 전자 장치 및 그 동작방법
US10158891B1 (en) * 2017-06-05 2018-12-18 Verizon Digital Media Services Inc. Prefetcher with adaptive stream segment prefetch window based on client associated thresholds
US11178459B1 (en) * 2018-09-26 2021-11-16 Amazon Technologies, Inc. Nonlinear dynamic prioritized content caching for segmented content
FR3093885A1 (fr) * 2019-03-12 2020-09-18 Orange procédé de gestion du téléchargement d’images associées à des sauts d’images susceptibles d’être réalisés lors d’une lecture accélérée d’un contenu multimédia.
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data
US11115688B2 (en) 2019-12-16 2021-09-07 Netflix, Inc. Global approach to buffering media content
US11381887B2 (en) * 2020-12-07 2022-07-05 Rovi Guides, Inc. Systems and methods for managing interruption of content presentation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7080392B1 (en) 1991-12-02 2006-07-18 David Michael Geshwind Process and device for multi-level television program abstraction
JP3472659B2 (ja) 1995-02-20 2003-12-02 株式会社日立製作所 映像供給方法および映像供給システム
US5737747A (en) 1995-10-27 1998-04-07 Emc Corporation Prefetching to service multiple video streams from an integrated cached disk array
AU739924B2 (en) 1997-01-29 2001-10-25 Google Inc Method of transferring media files over a communications network
US6182122B1 (en) 1997-03-26 2001-01-30 International Business Machines Corporation Precaching data at an intermediate server based on historical data requests by users of the intermediate server
MXPA01000974A (es) 1998-09-16 2002-06-04 Actv Inc Sistema de conmutacion de video sin restriccion de datos digitales comprimidos.
US6993787B1 (en) * 1998-10-29 2006-01-31 Matsushita Electric Industrial Co., Ltd. Providing VCR functionality for data-centered video multicast
US6711741B2 (en) 1999-04-07 2004-03-23 Intel Corporation Random access video playback system on a network
US7293280B1 (en) 1999-07-08 2007-11-06 Microsoft Corporation Skimming continuous multimedia content
US6463508B1 (en) * 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream
EP1149494A1 (en) 1999-11-23 2001-10-31 Koninklijke Philips Electronics N.V. Seamless switching of mpeg video streams
US7127736B2 (en) 2000-11-17 2006-10-24 Sony Corporation Content processing apparatus and content processing method for digest information based on input of a content user
US6907570B2 (en) 2001-03-29 2005-06-14 International Business Machines Corporation Video and multimedia browsing while switching between views
US7200669B2 (en) * 2001-07-31 2007-04-03 Dinastech Ipr Limited Method and system for delivering large amounts of data with interactivity in an on-demand system
US7320137B1 (en) 2001-12-06 2008-01-15 Digeo, Inc. Method and system for distributing personalized editions of media programs using bookmarks
KR100555427B1 (ko) 2002-12-24 2006-02-24 엘지전자 주식회사 비디오 재생 장치 및 지능형 스킵 방법
US8832732B2 (en) 2003-04-16 2014-09-09 Accenture Global Services Limited Controlled multi-media program review
US7248777B2 (en) 2003-04-17 2007-07-24 Nielsen Media Research, Inc. Methods and apparatus to detect content skipping by a consumer of a recorded program
US7177985B1 (en) * 2003-05-30 2007-02-13 Mips Technologies, Inc. Microprocessor with improved data stream prefetching
US7707296B2 (en) 2003-06-30 2010-04-27 Siemens Communications, Inc. Method and apparatus for selecting a media processor to host a conference
WO2005018218A2 (en) 2003-08-12 2005-02-24 Digital Networks North America, Inc. Method and apparatus for navigating content in a personal video recorder
KR100991619B1 (ko) 2003-09-17 2010-11-04 엘지전자 주식회사 내용 기반 트릭 플레이를 위한 방송 서비스 방법 및 시스템
US7512313B2 (en) 2004-02-11 2009-03-31 Intel Corporation System and method for automatically capturing user edits in a digital recording
US20060015895A1 (en) 2004-06-30 2006-01-19 Stone Christopher J Method and system for avoiding undesirable portions of a recorded audiovisual program
US7646960B2 (en) 2005-06-09 2010-01-12 International Business Machines Corporation Determining chapters based on presentation of a program
US9020326B2 (en) 2005-08-23 2015-04-28 At&T Intellectual Property Ii, L.P. System and method for content-based navigation of live and recorded TV and video programs
CN101098470A (zh) 2006-06-28 2008-01-02 腾讯科技(深圳)有限公司 一种基于p2p技术的流媒体节目播放/接收方法及装置
US7783773B2 (en) * 2006-07-24 2010-08-24 Microsoft Corporation Glitch-free media streaming
US7802006B2 (en) * 2007-06-13 2010-09-21 Microsoft Corporation Multi-location buffering of streaming media data
US8028081B2 (en) 2008-05-23 2011-09-27 Porto Technology, Llc System and method for adaptive segment prefetching of streaming media

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102724550A (zh) * 2012-06-12 2012-10-10 北京奇艺世纪科技有限公司 一种视频播放方法和装置
CN111614980A (zh) * 2012-08-14 2020-09-01 俄亥俄州立创新基金会 有效使用网络带宽的系统和方法
CN103596128A (zh) * 2012-08-16 2014-02-19 腾讯科技(深圳)有限公司 一种信息提供方法、装置、系统及移动终端
CN103873927A (zh) * 2012-12-17 2014-06-18 联想(北京)有限公司 流媒体数据处理方法和电子设备
CN105191331A (zh) * 2013-03-14 2015-12-23 谷歌公司 确定视频中的兴趣水平
CN105307214A (zh) * 2015-09-14 2016-02-03 北京航空航天大学 一种小小区网络中基于存储的干扰管理方法
CN105307214B (zh) * 2015-09-14 2018-12-21 北京航空航天大学 一种小小区网络中基于存储的干扰管理方法
CN105208126A (zh) * 2015-10-09 2015-12-30 北京航空航天大学 一种基于用户端存储的干扰管理方法
CN105208126B (zh) * 2015-10-09 2018-08-24 北京航空航天大学 一种基于用户端存储的干扰管理方法
CN110248241A (zh) * 2019-06-11 2019-09-17 Oppo广东移动通信有限公司 视频处理方法及相关装置
CN110248241B (zh) * 2019-06-11 2021-06-04 Oppo广东移动通信有限公司 视频处理方法及相关装置
US11973991B2 (en) 2019-10-11 2024-04-30 International Business Machines Corporation Partial loading of media based on context

Also Published As

Publication number Publication date
US8028081B2 (en) 2011-09-27
US9392228B2 (en) 2016-07-12
US20090292819A1 (en) 2009-11-26
US20120072611A1 (en) 2012-03-22

Similar Documents

Publication Publication Date Title
CN101588493A (zh) 流媒体适应性段预取的系统和方法
US11081143B2 (en) Providing enhanced content
US8589973B2 (en) Peer to peer media distribution system and method
US20210297741A1 (en) System and mothod to obtain content and generate modified content based on time limited content information
CN101523911B (zh) 用于将辅助节目数据下载到dvr的方法和装置
JP4608234B2 (ja) 仮想チャネルプレビューガイド
CN100518302C (zh) 无嵌入式触发器的互动内容
US10499101B2 (en) Apparatus and method for providing media content
US20090157697A1 (en) Systems and methods for creating variable length clips from a media stream
US20080155602A1 (en) Method and system for preferred content identification
US20100115575A1 (en) System and method for recording and distributing media content
CN101426125A (zh) 用于位置移动播放系统的个人视频记录器功能性
CN102118639A (zh) 信息处理装置、信息处理方法和程序
EP2741513A1 (en) Method in a system for providing information about program content and system
JP2005130087A (ja) マルチメディア情報機器
WO2008057941A2 (en) Customized user interface based on viewed program
EP2442581A1 (en) Video assets having associated graphical descriptor data
KR20080066513A (ko) 메타 데이터 정보 제공 서버, 클라이언트 장치, 메타데이터 정보 제공 방법 및 콘텐츠 제공 방법
JP4181962B2 (ja) 受信装置及び受信方法
US20240022791A1 (en) Systems and methods to adapt a schedule to be played by a media player
CN101990765A (zh) 再现内容的方法和设备
KR101807361B1 (ko) 채널 기반 콘텐츠 제공 시스템에서의 채널 정보 제공 장치 및 방법
KR101761015B1 (ko) 채널 기반 콘텐츠 제공 시스템에서의 콘텐츠 실행 장치 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20091125