CN108989854A - 用于流媒体的输送和渲染的播放列表错误标签 - Google Patents

用于流媒体的输送和渲染的播放列表错误标签 Download PDF

Info

Publication number
CN108989854A
CN108989854A CN201810553151.8A CN201810553151A CN108989854A CN 108989854 A CN108989854 A CN 108989854A CN 201810553151 A CN201810553151 A CN 201810553151A CN 108989854 A CN108989854 A CN 108989854A
Authority
CN
China
Prior art keywords
media
coding
segment
playlist
stream
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.)
Granted
Application number
CN201810553151.8A
Other languages
English (en)
Other versions
CN108989854B (zh
Inventor
J·B·施奈德尔
周鹏
R·N·潘特斯
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN108989854A publication Critical patent/CN108989854A/zh
Application granted granted Critical
Publication of CN108989854B publication Critical patent/CN108989854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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
    • 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
    • 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/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/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/4425Monitoring of client processing errors or hardware failure
    • 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/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Library & Information Science (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明题为“用于流媒体的输送和渲染的播放列表错误标签”。本公开描述了用于使用对应媒体播放列表中的错误标签输送和渲染流媒体的技术。播放列表可表示媒体项的组织,其提供了构成媒体项的编码媒体片段的信息。在接收到媒体项的编码媒体片段时,可以确定编码媒体片段是否含有错误。在遇到不含有错误的编码媒体片段时,表示所述编码媒体片段的播放列表条目可以被添加到播放列表中。当编码媒体片段包含错误时,可添加播放列表条目来表示这一编码媒体片段。这一播放列表条目可以指示片段错误。播放列表可被存储以供一个或多个播放器设备访问。

Description

用于流媒体的输送和渲染的播放列表错误标签
技术领域
本公开涉及用于管理对计算机网络流传输的媒体的访问的技术。
背景技术
视频内容、音频内容或两者一起被作为流媒体定期提供给各种观看设备诸如智能电话和平板电脑。这种媒体内容在被最终输送至观看设备之前通常经历若干处理和传输步骤。例如,媒体内容可以是作为原始媒体源数据开始的。之后,原始媒体源数据可以被传输至编码器,在编码器处,所述媒体源数据被编码为一系列片段。然后,所述经编码的片段可发送至存储编码片段并生成对应播放列表的分发服务器。播放列表可被提供给观看设备以使所述观看设备能够下载并且顺次渲染所述编码片段。
然而,当媒体内容经历上述处理和传输时,可能在所述媒体内容中产生各种错误或缺陷。例如,媒体源数据的至编码器的媒体馈送可能被打断。在其他情况下,编码过程中可能存在错误,从而产生损坏片段。这样的错误可能破坏媒体内容的观看体验。当音频流和视频流彼此同步呈现时,尤其是会出现这种情况。各个流中的一个流中的错误可能导致与其他流的去同步。
因此,本发明人觉察到了本领域对适应媒体流中的错误的具有改善的媒体流技术的需求。
发明内容
根据本公开一些实施例,提供一种方法,包括:响应于接收到的编码媒体的片段和描述所述编码媒体所属的媒体项的播放列表,确定哪些编码媒体片段包含错误;对于不包含错误的第一编码媒体片段,将第一条目添加到所述播放列表,其中所述第一条目表示所述第一编码媒体片段;对于包含错误的第二编码媒体片段,将第二条目添加到所述播放列表,其中所述第二条目表示所述第二编码媒体片段,并且其中所述第二条目指示所述片段错误;以及存储所述播放列表以供播放器设备访问。
根据本公开一些实施例,提供一种方法,包括:确定编码媒体流是否包含片段错误;如果所述编码媒体流包含片段错误,那么将所述编码媒体流的播放列表修改为包括指示所述片段错误的数据;以及将经修改的播放列表传输到终端设备,以用于基于指示所述片段错误的所述数据对所述编码媒体流的至少部分进行渲染。
根据本公开一些实施例,提供一种方法,包括:接收媒体项的播放列表,其中所述播放列表标识根据不同流组织的编码媒体的片段;选择要播放的流;确定所选择的流的编码媒体片段是否具有与之相关联的标识错误的标签;对于未被识别为具有错误的第一编码媒体片段,使用所述播放列表中指定的信息来发起对所述第一编码媒体片段的检索;对于被识别为具有错误的第二编码媒体片段,确定是否切换到来自另一流的对应编码媒体片段;以及当所述确定要进行切换时,使用所述播放列表中指定的信息来发起对所述对应编码媒体片段的检索。
根据本公开一些实施例,提供一种计算机可读介质,所述计算机可读介质存储指令,所述指令在由处理器执行时,实施如上所述的任意方法的操作。
根据本公开一些实施例,提供一种计算设备,包括:处理器;存储器,所述存储器与所述处理器互相通信并存储指令,所述指令在被所述处理器执行时,实施如上所述的任意方法的操作。
根据本公开一些实施例,提供一种设备,包括用于执行如上所述的任意方法的操作的装置。
附图说明
通过结合附图研究下文对本公开的各种实施方案的详细描述,本公开的各种实施方案的前述和其他方面将变得显而易见,在附图中,使用类似的附图表示来指示功能上类似的元件。
图1是根据本公开的实施方案的示例性系统的图示。
图2是根据本公开的实施方案的示例性方法的流程图。
图3是根据本公开的实施方案的示例性系统的图示。
图4是根据本公开的实施方案的示例性计算系统的图示。
具体实施方式
本公开的实施方案提供了用于使用播放列表文件中的错误标签输送和渲染媒体项目的技术。播放列表可表示媒体项的组织,其提供了构成媒体项的编码媒体片段的信息。在接收到媒体项的编码媒体片段时,可以确定编码媒体片段是否含有错误。当遇到不含有错误的编码媒体片段时,表示所述编码媒体片段的播放列表条目可以添加到播放列表。当编码媒体片段包含错误时,表示这一编码媒体片段的播放列表条目可以被添加到播放列表。这一播放列表条目可以指示片段错误。播放列表可存储在分发服务器上,以供一个或多个播放器设备访问。
图1是根据本公开的实施方案的示例性流系统100的简化功能框图。系统100可包括被提供为通过网络140通信的编码服务器120、分发服务器130和终端设备110。编码服务器120可对要输送至终端设备110的输入媒体项编码。分发服务器130可对向一个或多个终端设备110所做的对编码媒体项的分发进行管理。终端设备110可下载并渲染媒体项的元素。
编码服务器120可经由媒体馈送160接收媒体源数据。媒体源数据可包括视频源数据和/或音频源数据。编码服务器120可利用一个或多个编码器122对媒体源数据编码并将一个或多个编码媒体流162提供给分发服务器130。通常,媒体编码是根据预定的编码协议执行的,并且与源媒体数据相比,其实现了带宽压缩。例如,可根据诸如H.265(一般被称为HEVC)、H.264(AVC)的ITU-T标准或者其他标准化编码协议对视频编码。被封装成多个被称为“片段”的独立单元的编码视频数据可从编码服务器120输出,以用于传输至终端设备110。
分发服务器130可管理由编码服务器120编码的媒体项的输送。分发服务器130可将每一媒体项的编码媒体片段存储到本地存储器132中。分发服务器130还可生成播放列表文件134(又称为清单文件),所述播放列表文件包含有关能够被终端设备110下载的每一媒体项的信息。
在许多情况下,分发服务器130将单个媒体项(例如,视频节目)存储到若干被称为“流”的表示中。在图1的示例中,单个媒体项被示为由流STR1-STRK构成。所述流中的一些可表示共同媒体内容的变型。例如,单个媒体项可具有若干流,这若干流具有对该项的视频内容的不同表示;例如,各个流可根据比特率,视频编码格式/标准或分辨率而存在变化。此外,单个媒体项可具有(例如)根据比特率,音频编码格式/标准或语言而存在变化的若干音频流。每个流可包括各自的多个片段,即片段1-片段n。尽管图1示出了每个流具有等同的数量n个片段,但是在实践中,不同的流可以(并且确实)具有不同数量的片段。
分发服务器130还可存储由分发服务器130存储的每个媒体项的播放列表文件134。播放列表文件134可包括描述媒体项的数据和作为媒体项的部分的片段。播放列表文件134可包括相应的片段标识符以及可访问和下载所述片段的URL(即,网络位置)。为了举例说明,示例性播放列表文件134可包括描述流STR1-STRK之一的各个片段的数据条目135.1-135.n。尽管图1中未示出,但播放列表文件134可具有针对构成媒体项的所有流的所有片段的条目。
在一个实施方案中,播放列表文件134还可包括错误标签以标识可能具有错误的片段。图1中示出了针对相应的片段数据条目135.2和135.n的示例性错误标签136.2和136.n;播放列表文件134可类似地包括针对其他具有错误片段的相应错误标签。错误标签的数据可指示片段的某一缺陷(如果适用的化)。在一个实施方案中,不必为没有错误的片段提供错误标签。然而,在另一实施方案中,可为播放列表文件134中的每个片段提供错误标签,并且所述错误标签可包含指示各片段的错误状态(例如,“错误”或“无错误”)的数据。如本文将进一步讨论的,终端设备110可至少部分地基于播放列表文件134中的针对任何既定编码片段的错误标签来执行渲染和回放操作。
可响应于各种各样的运行情况设置错误标签。例如,在向编码服务器120提供媒体源数据的媒体馈送160中可能发生中断。因此,编码服务器120可能无法提供对应于缺失媒体源数据的编码片段。此外,如果编码服务器120上的编码器122中的一者或多者出现错误或其他故障,则会导致段错误。例如,编码器122可能崩溃或以其他方式变得不可用。在这种情况下,分配这一编码器122对其进行编码的片段可能类似地从提供给分发服务器130的编码媒体流中缺失。作为又一示例,来自媒体馈送160的媒体源数据可被编码服务器120编码,但编码过程中的一些错误可能使得所得片段无法用于终端设备110所做的渲染和回放。
媒体项的下载和渲染可以是作为客户端定向操作执行的。例如,终端设备110通过请求分发服务器130提供的针对预期媒体项的播放列表文件134而开始媒体渲染。终端设备110可选择其将渲染流STR1-STRK中的哪些流。在单个播放会话期间,终端设备110有可能将改变其对将要渲染的流的选择。例如,终端设备110处的诸如网络带宽损失或资源争用工作条件可能导致终端设备110选择与最初选择的视频流相比带宽更低或者复杂度更低的视频流。在另一种使用情况中,操作者可改变所要使用的音频表示(开启和关闭副音轨)或者可启用/禁用其他流(例如,关闭字幕)。终端设备110可使用通过播放列表文件134标识的网络地址来发出对所选择的流的片段的请求,并在接收到所述片段之后可以对它们进行渲染。
就错误标签136而言,终端设备110可在考虑了此类标签之后作出其有关请求哪些片段的决定。例如,在针对一个流中的视频编码片段指示出错误时,终端设备110可确定是否切换到另一个流的对应片段。终端设备的110的确定可以是结合诸如网络带宽、可用资源等的其他工作条件而做出的。可能发生终端设备110确定适于切换到另一个流的情况,在这种情况下,终端设备可通过请求、接收和渲染没有错误的另一个流的片段而对错误片段进行“迂回”处理。在另一种情况下,终端设备110可能确定其不能切换到另一个流,在这种情况下,终端设备110可请求有错误的片段,或者实施其他某种活动(例如,执行错误隐藏)。
向终端设备110提供的各媒体流(例如,流STR1和流STR2)可包括相关内容,并且可在终端设备110处使所述媒体流的渲染和/或回放同步。例如,一个媒体流可包括视频媒体流,而另一媒体流可包括所具有的音频内容应当与所述视频媒体流的视频内容同步的音频媒体流,很多电视节目、电影、体育赛事报道等通常就是这种情况。视频媒体流和音频媒体流之间的关联未必是一对一的。相反,一组视频媒体流可与一组音频媒体流相关联。例如,可按照各种比特率或者分辨率中的任何一者呈现电影,同时相关联的音频轨道可以采取英语、西班牙语或法语。
终端设备110可代表媒体播放器112,该媒体播放器从分发服务器130下载媒体分组,对经编码的媒体资源解码并对其进行渲染以供回放。例如,终端设备110可以被实现为具有移动设备的形式,诸如智能电话、平板电脑或膝上型电脑。作为另一个示例,接收器设备110可以是台式计算机。作为又一个示例,终端设备110可以是有线机顶盒、数字媒体播放器或者游戏控制台等。
本文所述的各种部件进行通信所经由的网络140可包括有线通信网络、无线通信网络或者它们的组合。无线网络的示例可包括Wi-Fi网络或蜂窝网络。有线网络的示例可包括同轴电缆网络、光纤网络或以太网网络。除非另外指明,否则网络140的具体形式和属性对于本公开而言是不重要的。
图2示出了根据本公开的实施方案的方法200。方法200可确定经编码的媒体流中是否存在一个或多个错误(框206)。如果编码媒体流中存在一个或多个错误,那么方法200可生成播放列表或将播放列表修改为具有指示有关编码媒体流中的一个或多个片段的一个或多个错误的数据(框208)。具有指示一个或多个错误的数据的播放列表可被传输到终端设备(框210),以用于编码媒体流(受到了因所述编码媒体流中的一个或多个错误而必须实施的修改)的渲染和回放之用。如果编码媒体流中不存在任何错误,那么方法200可如常生成播放列表(即,没有指示错误的数据)(框212),并将该播放列表传输到终端设备(框214),以用于所述编码媒体流的渲染和回放。终端设备可根据播放列表和其中表示的错误数据(未示出)执行这样的渲染和回放。
预计方法200的操作将在网络化媒体输送系统中提供若干优点。一种有益效果在于,可以使媒体馈送的中断和/或对该媒体编码的过程中出现的错误所带来的影响降至最低。通过提供指示关于一个或多个编码片段的错误的数据,可以使终端设备能够缓解这些错误在观看体验中带来的影响。例如,如果针对某一片段或若干片段指示出了错误,那么终端设备可采用备选片段代替这些片段。备选片段可包括与受到替换的片段具有不同属性(例如,比特率)但是具有共同的内容的相似片段。这样,即使存在错误也可以允许继续节目的呈现,而不是呈现空白内容或呈现错误。
通过允许分发服务器130使用普通处理技术将错误片段整合到播放列表中可以观察到另一种有益效果,尤其是在涉及实况视频内容和实时输送的情况下。例如,方法200不需要通过异常控制来(例如)估算丢失片段何时将重新出现。此外,错误标签的用户将充分利用现有的由客户端驱动的流选择。
本公开实现的又一个有益效果是减少了对所涉及的各种部件的资源使用。例如,终端设备可避免反复尝试下载某一片段或一系列片段,从而减少分布服务器的负荷和网络带宽使用。
可以根据各种各样的技术执行有关编码媒体流中是否存在一个或多个错误的确定。例如,编码媒体流的片段可包括指示这样的错误的数据或者以其他方式与所述数据相关联。这种错误可以是由(例如)分发服务器识别的,并且可相应地生成反映这种错误的播放列表。作为另一个示例,分发服务器可分析编码媒体流的片段并确定所述片段是否表现出某种缺陷,或者在一些情况下,确定该片段是否完全从编码媒体流中缺失了。作为一些示例,分发服务器可以确定该段已损坏或包含无效内容。
编码媒体流中的一个或多个错误可以是由若干操作情形导致的。作为示例,此类错误可能是由编码过程本身的失败,诸如编码器中的故障导致的。这可能导致编码媒体流中的损坏片段。类似地,编码服务器上的编码器(或编码服务器自身)可能崩溃或以其他方式无法工作,从而在编码器从崩溃中恢复之时导致对该特定媒体流的编码中断。因此,在编码媒体流中可能存在中断缺口。作为另一个示例,上游媒体中的错误或其他故障可能导致所述编码媒体流中的错误。例如,记录实况节目的摄像机可能出现临时故障,或者上游网络连接可能发生中断。因此,编码器可能无法生成所述编码媒体流中的对应片段。这也可能导致编码媒体流中的缺口。编码媒体流中的缺口可指编码片段的缺失、编码片段中的无效内容或编码片段的损坏。
如所指示的,如果在编码媒体流中识别出一个或多个错误,那么可以生成具有指示这些错误的数据(即,错误数据)的播放列表。例如,播放列表可以由分发服务器生成。错误数据可对应于编码媒体流的一个或多个相应片段。相应地,编码媒体流中的错误数据可以具有针对受影响的片段的播放列表条目中的错误标签的形式。例如,图1示出了示例性错误标签136。
在一些实施方案中,错误数据可以仅指示对应的片段存在某种缺陷。从这一意义上讲,错误数据可采取指示该片段是否可用的二进制值在其他实施方案中,错误数据可包括其他补充信息。所述补充信息可包含在播放列表中的错误标签中,或者播放列表条目可包含针对所述补充信息的额外标签。例如,补充信息可包括备选网络位置(例如,URL),终端设备可从所述网络位置接收备选媒体片段。终端设备可渲染并播放这一备选片段,而不是试图渲染并播放所指示的具有错误的片段。在一些情况下,可能有相继的编码片段包含错误数据。因此,作为另一个示例,补充信息可包括时序元素,所述时序元素反映有错误的相继片段的数量(或其估值)或者受到错误影响的总时间段(或其估值)。
在生成播放列表之后,将其提供给终端设备以用于渲染和回放编码媒体流。终端设备可识别播放列表中的错误数据并相应地更改媒体流的渲染和回放。
在示例中,作为替代,当终端设备识别出特定片段的错误数据时,终端设备可以下载并使用与就内容而言与错误片段有关的另一备选片段。例如,备选片段可以表示与错误片段具有共同的内容但是具有一种或多种不同属性,例如,不同比特率、分辨率(对于视频片段而言)、编码格式或者语言(对于音频片段而言)的片段。因此,如果错误片段具有1080p的分辨率,那么被用来替代错误片段的另一相关片段可以具有480p的分辨率。
在另一示例中,当特定片段的播放列表条目指示有关该片段的错误时,终端设备可以不尝试从分发服务器下载该片段。如果该片段只是若干相继片段中的一个片段,那么该片段的错误数据可以指示同样有错误的后续片段的数量。类似地,终端设备可不尝试下载这些相继片段,直到抵达被指示(或估计)为无错误的片段为止。通过避免尝试下载这些有错误的片段,可以降低分发服务器和网络带宽的负担。
在说明终端设备可以如何根据具有错误数据的播放列表对渲染和回放进行调整的另一示例中,终端设备可显示本地备选片段以替代具有错误的片段。在一些情况下,本地备选片段可被称为“候选名单(slate)”内容。例如,本地备选片段可包括“经历技术困难的”消息等。当终端设备或其播放器所使用的渲染和回放技术不如所述技术的更加新式的对应技术新或者与所述对应技术不同时,这种对错误数据的响应尤其适用。
此外,如果错误数据还指示了具有错误的相继片段的数量(或估值),那么终端设备可以只需在渲染这些相继片段之时对本地备选片段进行单次访问。在一些实施方案中,包括“候选名单”内容的备选片段可以是从如分发服务器的外部源下载的,而不是一开始就本地存储在所述终端设备上。在这种情况下,终端设备还可以从指示具有错误的相继片段的数量的数据中获益,因为终端设备可以仅对备选片段进行单次下载,继而使用这一当前处于本地的备选片段代替后续的具有错误的片段。
在另一个实施方案中,分发服务器130可以采用具有替代内容的片段来代替错误片段。例如,分发服务器130可以创建含有候选名单内容或者某一其他替代内容的具有所述错误片段的持续时长的片段。类似地,在分发服务器130检测到数据从编码服务器120提供的数据馈送中缺失时,分发服务器130可以建立具有替代内容的片段,所述替代内容还是来自候选名单内容、无效内容或者某一其他替代内容。在一个实施方案中,分发服务器130可以存储候选名单内容的不同实例,所述不同实例是根据常见编码协议编码并且用于常用设备的,并且分发服务器130可以将替代片段构建为(例如)此类内容的内编码帧随后继之以足够数量的SKIP编码帧,以建立具有足够的持续时间的片段,从而替代缺失的片段。
在实践中,方法200可以接收来自媒体馈送的媒体源数据(框202)。然后,可以将这一媒体源数据编码成包括多个编码媒体片段的编码媒体流(框204)。之后,方法200可以进行至框206,如上所述,其中,方法200可以确定编码媒体流中是否存在一个或多个错误。
框202中提及的媒体源数据可以是由编码服务器经由媒体馈送接收的,而后由编码服务器编码以生成包含多个媒体片段的编码媒体流。通常,媒体馈送可以包含一定数量的相关媒体源数据馈送。例如,媒体源数据的若干实例可以包括以几种比特率或视频分辨率表示的共同视频内容。类似地,媒体源数据的若干实例可以包括以几种不同语言呈现的共同音频内容。在音频媒体馈送和视频媒体馈送之间也可以存在某种关系,使得两者被设计为同步呈现。
如所指示的,媒体源数据可以是源视频数据或源音频数据。同样地,编码媒体流可以是编码视频流或编码音频流。编码媒体流可以是根据任何已知的编码标准生成的,这些编码标准包括用于视频源数据的H.264或H.265以及用于音频源数据的AAC、MP3或AC-3。接下来可以提供编码媒体流,诸如提供给分发服务器,以用于确定编码媒体流是否包括一个或多个错误,以及被提供为实施方法200的额外步骤。
图3示出了本公开的一个实施方案的示例性使用实例的情形。系统300可包括媒体源310、编码器320和分发服务器330。由第一媒体内容构成的第一流340和由第二媒体内容构成的第二流342被经由媒体馈送350从媒体源310发送至编码器320。由此,第一流和第二流340、342被编码器320编码成编码片段并经由编码流352发送到分发服务器330。可在分发服务器330处分析第一流和第二流340、342的编码片段,以确定所述编码片段中是否存在任何错误。根据所述确定,分发服务器330可将编码片段组织成播放列表,其中,在播放列表中指示出任何具有错误的片段。如果可能,使编码片段可被流传输至终端设备(未示出),以用于渲染和回放。
第一流和第二流340、342代表媒体内容的实例,因为它们根据本公开的方法和技术在系统300的部件之间受到顺次转移并且受到系统300的部件的处理。第一流和第二流340、342可一起表示音频画面节目(或其部分)。当在终端设备处播放时,可以使第一流和第二流340、342同步。因此,第一流340可体现节目的音频分量,而第二流342可体现节目的视频分量。
最初,第一流和第二流340、342来源于媒体源310并且具有媒体源数据的形式。因此,在媒体源310处由媒体源数据312体现第一流340。在媒体源310处由媒体源数据314体现第二流342。
然后,媒体源数据312、314可以被经由媒体馈送350从媒体源310发送至编码器320。编码器320可以将媒体源数据312、314编码成编码片段。这里,表示第一流340的媒体源数据312可被编码成编码片段322.1、322.2、322.3等等。类似地,媒体源数据314可被编码成编码片段324.1、324.2、324.3等等。然而,在这一示例性使用实例中,发生了有关编码片段324.3和324.4的错误。这一错误可能是编码错误、对媒体源数据314的媒体馈送的中断或者本文讨论的其他原因导致的结果。所述错误可表示对编码片段324.3、324.4的损坏、编码片段324.3、324.4的缺失或者编码片段324.3、324.4中的无效内容,这只是试举的若干示例。
第一流和第二流340、342以及它们的编码片段可被经由编码流352发送到分发服务器330,在分发服务器330处,它们将被存储为编码片段332.1、332.2等以及编码片段334.1、334.2等。分发服务器330可以对所述编码片段进行分析,以确认关于所述编码片段的任何错误。在这种情况下,分发服务器330可以将编码片段334.3和324.4识别为具有错误。相应地,分发服务器330为第二流342生成的播放列表文件336可指示这些错误。具体而言,针对编码片段334.3和334.4的播放列表文件336中的相应条目中的错误标签包括指示错误的数据。由于未识别出关于编码片段334.1、334.2、334.5和334.6的错误,因此相应的播放列表文件条目中的错误标签指示不存在关于这些编码片段的错误。类似地,由于在第一流340的编码片段中未检测到错误,因此播放列表文件335中的错误标签指示这些编码片段没有错误。
在终端设备发出请求之时,可将播放列表文件335、336传输到所述终端设备。所述终端设备可基于针对片段334.3和334.4的播放列表文件336中的错误指示来执行对流340、342的渲染和回放。例如,终端设备可选择并下载备选片段,从而在回放中替换片段334.3和334.4。本文将更加详细地描述终端设备可借以解决片段错误的各种技术。
由于在针对第一流340的播放列表文件335的错误标签中未指示错误,因此终端设备如常渲染和回放这些片段。在对第一流和第二流340、342同步播放时(回顾一下第一流和第二流340、342可表示互补的音频和视频内容),可以在终端设备做出适当的片段调整以解决第二流342的片段中的错误时保持对第二流342的回放。由于持续对第二流342进行回放,而不是使回放延迟到有可用的无错误片段为止,因而可以保持第一流和第二流340、342的同步回放。
本文所述的技术可由一个或多个计算机系统的中央处理器执行。图4示出了可执行这样的技术的示例性计算机系统400。例如,可以按照计算机系统400的形式实现图1的编码服务器120、分发服务器130和所述终端。计算机系统400可包括中央处理器410和存储器420。中央处理器410可读取并执行存储在存储器420中的各种程序指令,所述程序指令定义系统400的操作系统412和各种应用414.1-414.N。例如,应用414.1-414.N之一可包括编码器122、用于检测具有错误的编码片段的分发服务器130的应用和/或图1的播放器112。所述程序指令可使得所述处理器执行各种媒体片段管理技术,以实施对这些片段的回放,如本文所述。
如所指示的,存储器420可存储在受到执行时使处理器410执行上文描述的技术的程序指令。存储器420可将程序指令存储在基于电、磁和/或光学的存储介质上。存储器可包括易失性和/或非易失性存储器。作为存储器420的另一种示例性用途,存储器420可实现图1的存储器132。因此,存储器420可被配置为存储编码片段和对应的播放列表文件。
系统400可具有与该系统作为媒体源、媒体回放设备或两者的角色一致的其他部件。系统400可具有编码器440,从而对一个或多个媒体片段执行视频编码,并且可具有发射器450(被示为TX),从而以将数据从系统400发射出去。编码器440可被提供为硬件设备(例如,与中央处理器410分开的处理电路),或者其可作为应用414.1提供于软件中。
在作为媒体回放设备的角色中,系统400可具有接收器450(被示为RX)、解码器480、显示器460和用户接口元件470。接收器450可接收数据,解码器480可解码数据。例如,图1的终端设备110可接收来自图1的分发服务器130的编码媒体片段并对用于回放的那些编码媒体片段解码。显示器460可以是可在其上对经解码的媒体片段进行渲染的显示设备。用户接口470可包括操作者借以向系统400输入数据的构成设备(诸如运动传感器、触摸屏输入、键盘输入、远程控制输入和/或控制器输入)。
文中具体示出并描述了本公开的若干实施方案。但是,应当理解,在不脱离本公开的是指和意指范围的情况下,上述教导将覆盖本公开的修改和变化,所述修改和变化将落在所附权利要求的范围内。

Claims (38)

1.一种方法,包括:
响应于接收到的编码媒体的片段和描述所述编码媒体所属的媒体项的播放列表,确定哪些编码媒体片段包含错误;
对于不包含错误的第一编码媒体片段,将第一条目添加到所述播放列表,其中所述第一条目表示所述第一编码媒体片段;
对于包含错误的第二编码媒体片段,将第二条目添加到所述播放列表,其中所述第二条目表示所述第二编码媒体片段,并且其中所述第二条目指示所述片段错误;以及
存储所述播放列表以供播放器设备访问。
2.根据权利要求1所述的方法,其中所述第二条目包括指示所述片段错误的标签。
3.根据权利要求1所述的方法,其中所述播放列表的所述第一条目指示所述第一编码媒体片段不包含错误。
4.根据权利要求1所述的方法,其中所述第二编码媒体片段的所述错误是由所述第二编码媒体片段中的无效内容导致的。
5.根据权利要求1所述的方法,其中所述第二编码媒体片段的所述错误是由所述第二编码媒体片段中的损坏导致的。
6.根据权利要求1所述的方法,其中所述第二编码媒体片段是预期媒体片段,并且所述错误指示所述预期的第二编码媒体片段的缺失。
7.根据权利要求1所述的方法,其中所述播放列表的所述第二条目包括所述第二编码媒体片段的替代片段的网络地址。
8.一种方法,包括:
确定编码媒体流是否包含片段错误;
如果所述编码媒体流包含片段错误,那么将所述编码媒体流的播放列表修改为包括指示所述片段错误的数据;以及
将经修改的播放列表传输到终端设备,以用于基于指示所述片段错误的所述数据对所述编码媒体流的至少部分进行渲染。
9.根据权利要求8所述的方法,其中所述片段错误对应于所述编码媒体流的片段。
10.根据权利要求9所述的方法,其中指示所述片段错误的所述数据被表示在所述片段的播放列表条目中的错误标签中。
11.根据权利要求8所述的方法,其中所述片段错误是由编码错误导致的。
12.根据权利要求8所述的方法,其中所述片段错误是由用于所述编码媒体流的编码器的不可操作性导致的。
13.根据权利要求8所述的方法,其中所述片段错误是由所述编码媒体流所源自的媒体源数据的缺失导致的。
14.根据权利要求8所述的方法,还包括:
如果所编码的媒体流不包含片段错误,那么将播放列表修改为包括指示所述编码媒体流的所述片段没有错误的数据。
15.根据权利要求8所述的方法,其中指示所述片段错误的所述数据还指示用作对应于所述片段错误的片段的备选片段的第二片段的网络位置。
16.根据权利要求15所述的方法,其中所述第二片段表示与对应于所述片段错误的所述片段共同的内容。
17.根据权利要求16所述的方法,其中所述第二片段具有至少一个属性,所述至少一个属性与对应于所述片段错误的所述片段的属性不同,其中所述至少一个属性包括编码格式、比特率、分辨率和语言中的至少一者。
18.根据权利要求8所述的方法,其中所述片段错误对应于所述编码媒体流中的多个相继片段。
19.根据权利要求18所述的方法,其中指示所述片段错误的所述数据还指示基于所述多个相继片段的各个持续时间的合计持续时间。
20.根据权利要求8所述的方法,其中所述编码媒体流是编码音频流。
21.根据权利要求8所述的方法,其中所述编码媒体流是编码视频流。
22.一种方法,包括:
接收媒体项的播放列表,其中所述播放列表标识根据不同流组织的编码媒体的片段;
选择要播放的流;
确定所选择的流的编码媒体片段是否具有与之相关联的标识错误的标签;
对于未被识别为具有错误的第一编码媒体片段,使用所述播放列表中指定的信息来发起对所述第一编码媒体片段的检索;
对于被识别为具有错误的第二编码媒体片段,确定是否切换到来自另一流的对应编码媒体片段;以及
当所述确定要进行切换时,使用所述播放列表中指定的信息来发起对所述对应编码媒体片段的检索。
23.根据权利要求22所述的方法,其中所述播放列表中指定的所述信息包括网络地址。
24.根据权利要求22所述的方法,其中当所述确定不进行切换时,使用所述播放列表中指定的信息来发起对所述第二编码媒体片段的检索。
25.根据权利要求24所述的方法,其中对所述第二编码媒体片段的所述检索导致了错误。
26.根据权利要求22所述的方法,其中当所述确定不进行切换时,在播放器设备处渲染所述第二编码媒体片段的替代内容。
27.根据权利要求26所述的方法,其中所述替代内容本地存储在所述播放器设备上。
28.根据权利要求22所述的方法,其中当所述确定不进行切换时,在对应于所述第二编码媒体片段的持续时间的持续时间内暂停对对应于所选择的流的内容的渲染。
29.根据权利要求22所述的方法,其中所述对应编码媒体片段具有至少一个属性,所述至少一个属性与所述第二编码媒体片段的属性不同,其中所述至少一个属性包括编码格式、比特率、分辨率和语言中的至少一者。
30.一种计算机可读介质,所述计算机可读介质存储指令,所述指令在由处理器执行时,实施如权利要求22-29中任一项所述的方法的操作。
31.一种计算设备,包括:
处理器;
存储器,所述存储器与所述处理器互相通信并存储指令,所述指令在被所述处理器执行时,实施如权利要求22-29中任一项所述的方法的操作。
32.一种设备,包括用于执行如权利要求22-29中任一项所述的方法的操作的装置。
33.一种计算机可读介质,所述计算机可读介质存储指令,所述指令在由处理器执行时,实施如权利要求1-7中任一项所述的方法的操作。
34.一种计算设备,包括:
处理器;
存储器,所述存储器与所述处理器互相通信并存储指令,所述指令在被所述处理器执行时,实施如权利要求1-7中任一项所述的方法的操作。
35.一种设备,包括用于执行如权利要求1-7中任一项所述的方法的操作的装置。
36.一种计算机可读介质,所述计算机可读介质存储指令,所述指令在由处理器执行时,实施如权利要求8-21中任一项所述的方法的操作。
37.一种计算设备,包括:
处理器;
存储器,所述存储器与所述处理器互相通信并存储指令,所述指令在被所述处理器执行时,实施如权利要求8-21中任一项所述的方法的操作。
38.一种设备,包括用于执行如权利要求8-21中任一项所述的方法的操作的装置。
CN201810553151.8A 2017-06-02 2018-06-01 用于流媒体的输送和渲染的播放列表错误标签 Active CN108989854B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/613,111 US10484726B2 (en) 2017-06-02 2017-06-02 Playlist error tags for delivery and rendering of streamed media
US15/613,111 2017-06-02

Publications (2)

Publication Number Publication Date
CN108989854A true CN108989854A (zh) 2018-12-11
CN108989854B CN108989854B (zh) 2021-08-24

Family

ID=64279513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810553151.8A Active CN108989854B (zh) 2017-06-02 2018-06-01 用于流媒体的输送和渲染的播放列表错误标签

Country Status (3)

Country Link
US (1) US10484726B2 (zh)
CN (1) CN108989854B (zh)
DE (1) DE102018208487A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10560215B1 (en) * 2017-03-27 2020-02-11 Amazon Technologies, Inc. Quality control service using input quality metrics
US10778354B1 (en) 2017-03-27 2020-09-15 Amazon Technologies, Inc. Asynchronous enhancement of multimedia segments using input quality metrics
US11146852B2 (en) * 2018-05-11 2021-10-12 Qualcomm Incorporated Signaling missing sections of media data for network streaming in a segment
US11636855B2 (en) 2019-11-11 2023-04-25 Sonos, Inc. Media content based on operational data
US11204737B2 (en) 2019-11-11 2021-12-21 Sonos, Inc. Playback queues for shared experiences
US11483608B2 (en) 2020-04-21 2022-10-25 Sonos, Inc. Priority media content
US11621991B2 (en) * 2021-06-29 2023-04-04 ROVl GUIDES, INC. Adaptive content streaming based on bandwidth

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102215326A (zh) * 2010-04-07 2011-10-12 索尼公司 节目发送控制设备、节目发送控制方法以及程序
CN102308547A (zh) * 2008-12-31 2012-01-04 苹果公司 通过非流化协议流化多媒体数据的方法
CN105144728A (zh) * 2013-03-15 2015-12-09 高通股份有限公司 通过http的动态自适应流式传输中面对丢失的媒体分段的恢复力
CN105191184A (zh) * 2013-03-14 2015-12-23 苹果公司 具有错误故障转移过程的支持大量客户端的媒体递送服务协议
WO2016128803A1 (en) * 2015-02-11 2016-08-18 Expway Method of handling packet losses in transmissions based on dash standard and flute protocol

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496608B2 (en) * 2005-10-07 2009-02-24 International Business Machines Corporation Online system and method for restoring electronic media on electronic storage devices
US8212819B2 (en) * 2007-05-22 2012-07-03 Yamaha Corporation Display control apparatus
US20120072286A1 (en) * 2008-03-10 2012-03-22 Hulu Llc Method and apparatus for providing a user-editable playlist of advertisements
US20100257203A1 (en) * 2009-04-03 2010-10-07 Zatisfi, Llc System and Method for Playlist Automation
GB201105502D0 (en) * 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
EP2622557B1 (en) * 2010-09-27 2019-07-17 Hulu, LLC Method and apparatus for providing directed advertising based on user preferences
US9021355B2 (en) * 2011-09-08 2015-04-28 Imagine Communications Corp. Graphical user interface to facilitate managing media operations
US20140010517A1 (en) * 2012-07-09 2014-01-09 Sensr.Net, Inc. Reduced Latency Video Streaming
US9167311B2 (en) * 2013-09-25 2015-10-20 Verizon Patent And Licensing Inc. Variant playlist optimization
US9521179B2 (en) * 2014-07-16 2016-12-13 Verizon Patent And Licensing Inc. Validation of live media stream based on predetermined standards
US20180103271A1 (en) * 2016-10-10 2018-04-12 Qualcomm Incorporated Systems and methods for signaling missing or corrupted video data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102308547A (zh) * 2008-12-31 2012-01-04 苹果公司 通过非流化协议流化多媒体数据的方法
CN102215326A (zh) * 2010-04-07 2011-10-12 索尼公司 节目发送控制设备、节目发送控制方法以及程序
CN105191184A (zh) * 2013-03-14 2015-12-23 苹果公司 具有错误故障转移过程的支持大量客户端的媒体递送服务协议
CN105144728A (zh) * 2013-03-15 2015-12-09 高通股份有限公司 通过http的动态自适应流式传输中面对丢失的媒体分段的恢复力
WO2016128803A1 (en) * 2015-02-11 2016-08-18 Expway Method of handling packet losses in transmissions based on dash standard and flute protocol

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALEX GILADI 等: "INTERNATIONAL ORGANISATION FOR STANDARDISATION ORGANISATION INTERNATIONALE DE NORMALISATION ISO/IEC JTC1/SC29/WG11 CODING OF MOVING PICTURES AND AUDIO", 《ISO/IEC JTC1/SC29/WG11 MPEG 2015/N15215》 *
DAVID SINGER: "Recording the absence of data in an MP4 file", 《116.MPEG MEETING;CHENGDU;(MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11》 *

Also Published As

Publication number Publication date
DE102018208487A1 (de) 2018-12-06
CN108989854B (zh) 2021-08-24
US10484726B2 (en) 2019-11-19
US20180352017A1 (en) 2018-12-06

Similar Documents

Publication Publication Date Title
CN108989854A (zh) 用于流媒体的输送和渲染的播放列表错误标签
CN110636346B (zh) 一种码率自适应切换方法、装置、电子设备及存储介质
RU2534936C2 (ru) Управление мультимедийными контейнерными файлами
KR101620151B1 (ko) 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법
US20160080470A1 (en) Server-side playlist stitching
US10595064B2 (en) Receiving device, transmitting device, and data processing method
CN105338425A (zh) 一种实现多屏间视频无缝切换的系统及方法
CN103314598A (zh) 具有压缩播放列表的实时或近实时流传输
CN105075273A (zh) 自适应流式传输技术
CN103119934A (zh) 一种流媒体传输装置
CN102883152A (zh) 具有适应性的媒体流传输
CN109328384A (zh) 用于在特技播放模式中提供可变速度的系统和方法
CN108574877B (zh) 直播方法、主播端、观众端、设备、系统及存储介质
KR20170141677A (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
US7149770B1 (en) Method and system for client-server interaction in interactive communications using server routes
CN113424553A (zh) 用于响应于用户选择而推进交互式媒体项目的重放的技术
US11985290B2 (en) Information processing device, information processing method, reproduction processing device, and reproduction processing method
WO1999039272A1 (en) Method and system for client-server interaction in interactive communications
CN107635142B (zh) 一种视频数据的处理方法及装置
CN110225370B (zh) 一种多媒体内容个性化呈现的时间线控制方法
US10904588B1 (en) Stitching content streams together
KR102533674B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
CN115243074A (zh) 视频流的处理方法及装置、存储介质、电子设备
EP3972260A1 (en) Information processing device, information processing method, reproduction processing device, and reproduction processing method
KR102440142B1 (ko) 수신 장치, 수신 방법, 송신 장치, 및 송신 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant