创建和管理子记录的制作方法

文档序号:7994505阅读:129来源:国知局
创建和管理子记录的制作方法
【专利摘要】提供了记录和回放媒体内容的相应的系统和方法。记录媒体内容的系统包括:分段器(303),用于在接入点边界上以周期性的间隔将与所述媒体内容相对应的传输流数据和索引数据拆分为离散文件。所述离散文件中的每一个包括相应的传输分段和相应的索引分段。该系统还包括分段存储设备(304),用于存储所述离散文件。所述分段器(303)对所述传输流数据和所述索引数据进行拆分,使得对于其中包括多个节目的记录会话或者节目,将所述节目或者记录会话以及其中的所述多个节目的每一个记录为单独的节目。
【专利说明】创建和管理子记录
[0001]相关申请的交叉引用
[0002]本申请要求于2012年I月9日提交的序列号为N0.61/584,352的美国临时申请的权益,通过引用将其全部内容并入本文。

【技术领域】
[0003]本原理一般涉及记录媒体内容,并且更具体地,涉及创建和管理子记录。

【背景技术】
[0004]数字视频记录器(DVR)的核心功能是记录和回放广播的多媒体内容,诸如视频内容(以及与其相对应的任何音频内容,但是为了简洁,在下文中将其合称为“视频内容”)。很多DVR允许时移(time-shift)功能。时移功能本质上是直播内容的滚动缓冲。这使得可以将诸如暂停、回退和快进这样的特技模式操作用于直播内容。典型的时移实现方式将维持直播内容的最近30分钟的缓冲,从而允许用户使用特技模式对该缓冲进行导航。
[0005]由于视频内容的存储需要相当数量的存储空间,因此,在多数实现方式中,通常将用于时移功能的视频数据存储在硬盘上。因为当将新数据添加到时移记录上时,必须从结束处截断旧数据,所以这出现了问题。虽然多数文件系统允许在文件的结束处高效地插入新数据,但是多数文件系统不提供从文件的开始处截断数据的高效机制。一些DVR通过使用经特殊设计的文件系统来解决该问题,该文件系统提供在文件的结束处进行插入以及从文件的开始处进行截断。然而,特殊设计的文件系统的使用不具有缺陷,其中包括但不限于将这种经特殊设计的文件系统与同样在DVR中使用的标准文件系统集成。


【发明内容】

[0006]通过针对创建和管理子记录的本原理来解决现有技术中的这些和其他缺点和不足。
[0007]根据本原理的一方面,提供了一种记录媒体内容的系统。该系统包括分段器,用于在接入点边界上以周期性的间隔将与所述媒体内容相对应的传输流数据和索引数据拆分为尚散文件。所述尚散文件中的每一个包括相应的传输分段和相应的索引分段。该系统还包括分段存储设备,用于存储所述离散文件。所述分段器对所述传输流数据和所述索引数据进行拆分,使得对于其中包括多个节目的记录会话或者节目,将所述节目或者记录会话以及其中的所述多个节目的每一个记录为单独的节目。
[0008]根据本原理的另一方面,提供了一种记录媒体内容的方法。该方法包括在接入点边界上以周期性的间隔将与所述媒体内容相对应的传输流数据和索引数据拆分为离散文件。所述离散文件中的每一个包括相应的传输分段和相应的索引分段。该方法还包括在分段存储设备中存储所述离散文件。对所述传输流数据和所述索引数据进行拆分,使得对于其中包括多个节目的记录会话或者节目,将所述节目或者记录会话以及其中的所述多个节目的每一个记录为单独的节目。
[0009]根据本原理的又一方面,提供了一种回放媒体内容的系统。该系统包括分段存储设备,用于存储离散文件。所述离散文件的每一个包括从与所述媒体内容相对应的传输流数据和索引数据中得到的相应的传输分段和相应的索引分段。该系统还包括去分段器(desegmenter),用于重新组装来自所述离散文件的传输分段以便对所述传输分段进行无缝回放。对于其中包括多个节目的记录会话或者节目,能够将关于所述节目或者记录会话以及其中的所述多个节目中的每一个的传输分段重新组装为单独的节目。
[0010]根据本原理的再一方面,提供了一种回放媒体内容的方法。该方法包括在分段存储设备中存储离散文件。所述离散文件的每一个包括从与所述媒体内容相对应的传输流数据和索引数据中得到的相应的传输分段和相应的索引分段。该方法还包括重新组装来自所述离散文件的传输分段以便对所述传输分段进行无缝回放。对于其中包括多个节目的记录会话或者节目,能够将关于所述节目或者记录会话以及其中的所述多个节目中的每一个的传输分段重新组装为单独的节目。
[0011]根据结合附图一起阅读的以下示例性实施例的详细说明,本原理的这些和其他方面、特征和优点将变得显而易见。

【专利附图】

【附图说明】
[0012]根据以下附图,可以更好地理解本原理,在附图中:
[0013]图1是示出根据本原理的实施例的可以应用本原理的示例性处理系统100的图示;
[0014]图2是示出根据本原理的实施例的包括数字视频记录器功能和时移功能的示例性机顶盒200的图示;
[0015]图3是示出根据本原理的实施例的可以应用本原理的示例性记录流水线(pipeline) 300 的图不;
[0016]图4是示出根据本原理的实施例的可以应用本原理的示例性回放流水线300的图示;
[0017]图5是示出根据本原理的实施例的在分段数据库中存在的示例性记录类型500的图示;
[0018]图6是示出根据本原理的实施例的开始记录的示例性方法600的图示;
[0019]图7是示出根据本原理的实施例的停止记录的示例性方法700的图示;
[0020]图8是示出根据本原理的实施例的删除记录的示例性方法800的图示;
[0021]图9是示出根据本原理的实施例的对分段进行垃圾收集的示例性方法900的图示;
[0022]图10是示出根据本原理的实施例的从记录的开始处截断数据的示例性方法1000的图示;
[0023]图11是示出根据本原理的实施例的将分段附加到记录的开始处的示例性方法1100的图示;
[0024]图12是示出根据本原理的实施例的回放记录的示例性方法1200的图示;并且
[0025]图13是示出根据本原理的实施例的示例性记录树索引1300的图示。

【具体实施方式】
[0026]本原理针对创建和管理子记录。
[0027]尽管本领域普通技术人员将容易地设想到可以应用本原理的各种应用,以下说明将集中于应用于具有数字视频记录器功能和时移功能的机顶盒的本原理的实施例。然而,给出在本文中提供的本原理的教导,本领域普通技术人员将容易地设想到可以在保留本原理的精神的同时,应用本原理的其他设备和应用。例如,可以将本原理并入到具有多媒体回放能力以及记录和时移功能的任何设备中。相应地,可以将本原理并入到具有数字视频记录器(DVR)能力的机顶盒、单机DVR、家用媒体服务器、计算机媒体站、平板设备、家用网络网关、多媒体播放器、家用联网设施,等等。要理解的是,前述的设备列表仅仅是示例性的,而不是穷举性的。
[0028]关于前述的现有技术以及使用经特殊设计的文件系统来解决在从时移记录的结束处截断旧数据的同时将新数据添加到时移记录的问题,我们初始地指出,本原理解决了该问题而不需要经特殊设计的文件系统。有利地,这允许使用标准的文件系统(在本文中也被称为“现有的”或者“遗留的”文件系统)进行视频存储。此外,本原理允许在重叠记录之间共享传输数据,从而减少存储空间。
[0029]图1示出了根据本原理的实施例的可以应用本原理的示例性处理系统100。处理系统100包括至少一个处理器(CPU) 102,其经由系统总线104操作性地耦合到其他组件。只读存储器(ROM) 106、随机存取存储器(RAM) 108、显示适配器110、输入/输出(I/O)适配器112、用户接口适配器114,以及网络适配器198操作性地耦合到系统总线104。
[0030]显示设备116通过显示适配器110操作性地耦合到系统总线104。盘存储设备(例如,磁盘或光盘存储设备)118通过I/O适配器112操作性地耦合到系统总线104。
[0031]鼠标120和键盘122通过用户接口适配器214操作性地耦合到系统总线104。鼠标120和键盘122用于向系统100输入信息以及从系统100输出信息。
[0032]收发器196通过网络适配器198操作性地耦合到系统总线104。
[0033]当然,如本领域普通技术人员容易设想到的,处理系统100还可以包括其他元件(未示出),以及省略某些元件。例如,如本领域普通技术人员容易理解的,取决于处理系统100的具体实现方式,可以在处理系统100中包括各种其他输入设备和/或输出设备。例如,可以使用各种类型的无线和/或有线的输入和/或输出设备。此外,如本领域普通技术人员容易理解的,在各种配置中,还可以利用另外的处理器、控制器、存储器,等等。给出在本文中提供的本原理的教导,本领域普通技术人员容易设想到处理系统100的这些和其他变型。
[0034]此外,要理解的是,以下参照图2说明的机顶盒200是实现本原理的各个实施例的机顶盒200。另外,要理解的是,以下分别参照图3和图4说明的记录流水线300和回放流水线400被包括在机顶盒200内。当然,如上所述,本原理不限于机顶盒,并且因此可以在保留本原理的精神的同时,将记录流水线300和回放流水线400并入到其他设备中,其中一些已经在上面提到。可以在机顶盒200 (或者其他设备)、记录流水线300和/或回放流水线400的一个或多个元件中实现处理系统100的部分或者全部。
[0035]另外,要理解的是,处理系统100可以实施在本文中说明的方法的至少一部分,其包括例如图6的方法600的至少一部分和/或图7的方法700的至少一部分。类似地,可以使用机顶盒200、记录流水线300和/或回放流水线400的部分或者全部来实施方法600的至少一部分和/或方法700的至少一部分。
[0036]图2示出根据本原理的实施例的包括数字视频记录器功能和时移功能的示例性机顶盒200。要理解的是,为了简明,没有示出机顶盒200的全部操作所需的若干组件,因为没有示出的组件对于本领域普通技术人员是公知的。
[0037]在输入信号接收器202处使信号连接到机顶盒200。输入信号接收器202连接到输入流处理器204。输入流处理器204连接到音频处理器206和视频处理器210。音频处理器206连接到提供来自机顶盒200的音频输出信号的音频接口 208。视频处理器210连接到提供来自机顶盒200的视频输出信号显示接口 218。音频处理器206和视频处理器210还连接到存储设备212。控制器214连接到存储设备212以及输入流处理器204、音频处理器206和视频处理器210。控制存储器220连接到控制器214。控制器214还连接到用户接口 216和手持接口 222。
[0038]在输入信号接收器202中接收内容。输入信号接收器202可以是用于对通过包括空气、电缆、卫星、以太网、光纤和电话线网络的若干可能的网络之一提供的信号进行接收、解调和解码的若干已知接收器电路的一个或多个。重点要注意的是,输入信号接收器202可以包括用于通过与期望的广播输入信号相同的递送网络或者通过不同的网络和/或替代性的蜂窝或无线网络递送的数据信号以及媒体内容信号的接收、解调和解码电路。通过递送网络2(或无线网络)接收的媒体内容和数据可以不同于媒体内容和递送网络I。数据可以包括与调度改变和更新相关联的信息以及与通过任一递送网络递送的媒体内容有关的信息。在一个实施例中,在信号接收器202的电缆调谐器电路中接收、解调和解码有线广播信号。可以基于通过控制接口(未示出)提供的用户输入在输入信号接收器202中选择和取得期望的广播输入信号。输入信号接收器202还包括另外提供双向网络连接性的因特网协议(IP)接口电路。
[0039]将来自输入信号接收器202中的一个或多个电路的解码的输出信号提供给输入流处理器204。输入流处理器204实施最终信号选择和处理,并且包括针对内容流分离视频内容与音频内容。将音频内容提供给音频处理器206以便从接收的格式(例如,压缩的数字信号)转换到另一格式(例如,模拟波形信号)。将模拟波形信号提供给音频接口 208并且进一步提供给显示设备114或者音频放大器(未示出)。替代地,音频接口 208可以使用高清晰度多媒体接口(HDMI)电缆或者诸如经由索尼/飞利浦数字互联格式(SPDIF)这样的备选的音频接口将数字信号提供给音频输出设备或者显示设备。音频处理器206还实施关于音频信号的存储的任何必要的转换。
[0040]将从输入流处理器204输出的视频提供给视频处理器210。视频信号可以是若干格式之一。视频处理器210在必要时基于输入信号格式提供视频内容的转换。视频处理器210还实施关于视频信号的存储的任何必要的转换。
[0041]存储设备212存储在输入端接收的音频和视频内容。存储设备212允许在控制器214的控制下,并且还基于从用户接口 216接收的诸如诸如快进(FF)和回退(Rew)等导航指令这样的命令,稍后取得内容并且进行回放。存储设备212可以是硬盘驱动、一个或多个诸如静态RAM(SRAM)或动态RAM(DRAM)这样的大容量集成电子存储器、诸如压缩盘驱动或数字视频盘驱动这样的可交换的光盘存储系统、或者外部的并且可以由机顶盒200访问的存储。
[0042]将源自输入端或存储设备212的来自视频处理器210的转换后的视频信号提供给显示接口 218。显示接口 218还将显示信号提供给如上所述类型的显示设备。显示接口 218可以是诸如红-绿-蓝(RGB)这样的模拟信号接口,或者可以是数字接口(例如HDMI)。
[0043]控制器214经由总线互连到机顶盒200的若干组件,其中包括:输入流处理器202、音频处理器206、视频处理器210、存储设备212、用户接口 216以及手持接口 222。控制器214管理将输入流信号转换为用于存储在存储设备上或者用于显示的信号的转换处理。控制器214还管理所存储的内容的取得和回放。控制器214还耦合到控制存储器220 (例如,易失性或者非易失性的存储器,包括RAM、SRAM、DRAM、只读存储器(ROM)、可编程ROM、电子可编程ROM(EPROM),电子可擦除可编程ROM(EEPROM)、闪速存储器等)以便存储控制器214的信息和指令码。此外,存储器220的实现方式可以包括若干可能的实施例,诸如单一存储器设备或者(替代地)连接在一起以形成共享或者共用存储器的多于一个的存储器电路。另外,可以将存储器与诸如总线通信电路的一部分这样的其他电路包括在更大的电路中。
[0044]除了连接用户接口元件和显示设备之外,机顶盒200还可以通过手持接口 222连接到诸如平板电脑这样的手持设备。该手持设备可以包括具有附加控制的显示屏,或者可以包括触摸屏。可以在控制器214与手持设备222之间传递(ixnite)来自视频处理器210的视频信号以及诸如屏上显示消息和消息提示返回等其他数据。手持接口 222可以使用诸如W1-F1、蓝牙(Bluetooth)或电气和电子工程师协会(IEEE)标准802.11这样的射频通信链路与手持设备或平板电脑发送和接收信号以及数据。替代地,手持接口 222可以使用红外接口与手持设备或者平板电脑传送和接收信号以及数据。
[0045]如在下面进一步详细说明的那样,在工作时,机顶盒200实现更新、管理和搜索诸如机顶盒或家用网关这样的客户端设备中的媒体内容数据库的处理。可以以诸如与视频处理器210有关的离散电路这样的硬件或者以驻留在控制存储器220中并且由控制器214读取和执行的软件这样的软件来完成算法或功能的物理实现方式。该方法涉及:接收与媒体内容相关联的事件数据,所述事件数据包括唯一的事件标识符;检查事件标识符以将事件数据存储在高速缓存存储器中的阵列中;如果所接收的事件数据中的事件标识符当前不在所述阵列中,则更新事件计数值;以及,如果触发了高速缓存存储器的交换(swap),诸如在事件计数值超过了预定阈值和时段值超过了预定阈值之中的至少一个发生时,则使用所述阵列中的事件数据来更新第一事件数据库。
[0046]被用作媒体存储装置和接口设备的诸如机顶盒200这样的设备的可操作的方面典型地包括:媒体内容的存储、维护、搜索、取得以及用于标识内容的数据库条目或记录。在能够包括周期性或者连续的内容信息更新的动态系统中,数据库信息和条目的更新是重要的。例如,可以接收并向数据库提供新的数据库记录或信息。另外,可以移除或者擦除当前存储的内容以及与内容相关联的条目或信息。可以以周期性的基础或者替代地通过从用户控制到设备的输入来移除或者擦除内容。同时地或者接近同时地,可以进行诸如数据库搜索请求这样的请求。通常,可以从多个源接收所有类型和形式的内容和信息,并且输入给数据库。重点在于,稳定的数据库可用于搜索请求。需要将数据和信息添加到数据库,同时仍然维持搜索能力并且保持搜索结果以及尽可能高的搜索性能。在简单的数据库结构(例如,实现为结构化查询语言(SQL)数据库的结构)中,更期待改进数据库的更新和搜索。
[0047]可以将在本文中说明的用于更新、管理和搜索媒体内容数据库的功能和控制包括作为与网关设备(例如,机顶盒200)相关联的操作码或固件的一部分。该过程可以包括以任何编程语言(例如,Java或者超文本标记语言(HTML))书写的操作指令。可以预加载或者下载(例如,从服务器或者因特网站点)应用程序,并且将其存储在主机设备的存储器中。要理解的是,在一个实施例中,指令被存储在图2的控制存储器220中,其中,由控制器214取得控制存储器220上的指令并且执行。在另外的实施例中,可以将该存储器和实施该处理的对应的处理器或者控制器集成到分离的单独的集成电路(例如,数字处理处理器(DSP)或者专用集成电路(ASIC))中。
[0048]图3示出了根据本原理的实施例的可以应用本原理的示例性记录流水线300。在实施例中,记录流水线300包括在图2的机顶盒200中。然而,如上所述,记录流水线300可以包括在其他设备中,其中包括但不限于单机DVR、家用媒体服务器、计算机媒体站、平板设备、家用网络网关、多媒体播放器、家用联网设施,等等。
[0049]记录流水线300包括调谐器301、多路分解器302、分段器303、分段存储设备304、分段数据库305以及记录控制设备306。
[0050]通过调谐器301接收广播视频。调谐器301可以是硬件调谐器,诸如数字视频广播(DVB)或者高级电视系统委员会(ATSC)调谐器或者是通过网络接口(未图示)接收传输流的因特网协议电视(IPTV)调谐器。将通过调谐器301接收的传输流发送给多路分解器 302。
[0051]在多节目传输流的情况下,多路分解器302可以选择期望的节目,并且将单个节目传输流与索引信息一起发送给分段器303。在单个节目传输流的情况下,多路分解器302可以将接收的传输流透明地发送给分段器303而不进行修改,但是另外提供关于相关联的流的索引信息。在两种情况下,索引信息包括该流中的接入点的列表以及它们的相关联的呈现时间戳(PTS)。接入点标记在该流中的可以开始解码的位置。
[0052]分段器303将传输流数据和索引数据拆散成离散的分段并且将该数据写入到分段存储设备304中。分段存储设备304典型地将是具有文件系统的硬盘。当然,给出在本文中提供的本原理的教导,本领域普通技术人员容易理解的是,可以以不同类型的具有文件系统的存储设备来实现分段存储设备304。
[0053]将每个传输分段和索引分段存储为文件系统中的唯一文件。可以基于对于指定系统的性能考虑来调整分段的大小,但是典型的分段大小将包括大约I至5分钟的数据。在写入每个分段时,分段器303使用关于其创建的分段的信息来更新分段数据库305。
[0054]记录控制设备306与调谐器301、多路分解器302和分段器303进行交互以控制记录。记录控制设备306控制和/或以其他方式指示调谐器301调谐到要记录的服务。记录控制设备306控制和/或以其他方式指示多路分解器302记录传输流中的哪个节目,并且向分段器303给出播放的列表以与记录的分段进行关联。
[0055]图4示出了根据本原理的实施例的可以应用本原理的示例性回放流水线300。回放流水线400回放所记录的分段。在实施例中,回放流水线400包括在图2的机顶盒200中。然而,如上所述,回放流水线400可以包括在其他设备中,其中包括但不限于单机DVR、家用媒体服务器、计算机媒体站、平板设备、家用网络网关、多媒体播放器、家用联网设施,坐坐寸寸O
[0056]回放流水线400包括分段数据库401、分段存储设备402、去分段器403、多路分解器404、回放控制设备405、字幕解码器406、视频解码器407、音频解码器408、音频呈现设备209以及视频呈现设备210。
[0057]回放控制设备405控制和/或以其他方式指示去分段器403应该播放哪个播放列表。回放控制设备405还控制和/或以其他方式指示去分段器403在指定时间偏移处开始回放以及以指定速率进行回放。例如,1.0的回放速率将对应于正常回放,4.0将是4倍(4x)快进,-4.0将是4倍回退,0.0将是暂停。
[0058]去分段器403查询分段数据库401以找到回放所需要的传输和索引分段文件。然后,去分段器403从分段存储设备402中读取这些文件。在分段中某个时间偏移处开始回放的情况下,去分段器403使用索引信息跳到分段中的定义的偏移处。然后,去分段器403将来自分段存储设备402的数据(例如,传输流)发送给多路分解器404。
[0059]多路分解器404将传输流拆分为音频流、视频流和字幕基础流,并且分别将这些流发送给音频解码器408、视频解码器407和字幕解码器406。然后,来自音频解码器408的输出被发送给负责音频的最终呈现的音频呈现设备409。来自视频解码器407和字幕解码器406的输出被发送给负责视频的最终呈现的视频呈现设备410。
[0060]图5示出了根据本原理的实施例的存在于分段数据库(例如,分段数据库305和分段数据库401)中的四种示例性记录类型500。记录类型包括以下几种:Playlist (播放列表)记录501 ;PlaylistSegment (播放列表分段)记录502 ;Segment (分段)记录503 ;以及,SegmentDelete (分段删除)记录504。每个播放列表记录501表示记录。每个分段记录503表不在盘上存储的所记录的分段。每个播放列表分段记录502将分段记录503与播放列表记录501进行关联。最后,分段删除记录504用于跟踪被标记为删除的记录分段。
[0061]现在将给出关于根据本原理的实施例的可以应用本原理的某些示例性情况的说明。
[0062]如果用户正在观看实况直播内容并且决定开始记录,则即便用户直至事件开始后的某个时间才做出记录请求,也期望使用可用的时移数据来创建事件的完整记录。作为示例,假定用户正在观看开始于晚上8点的事件。在晚上8点10分,用户请求记录该事件。如果时移缓冲器包括从晚上8点到晚上8点10分的内容,则应该能够创建整个事件的完整记录。本发明提供了在不需要复制时移数据的情况下将时移数据转换为记录以形成新记录的手段。
[0063]在某些情况下,多个记录能够共享某些相同的内容。例如,在同一频道上,假设事件A在晚上8点开始并且在晚上8点30分结束,事件B在晚上8点30分开始并且在晚上9点结束。用户可能请求记录事件A和事件B二者。另外,用户的记录偏好可能指示所有记录应该早5分钟开始并且迟5分钟结束。在这种情况下存在重叠,其中,记录A的最后10分钟将包括与记录B的前10分钟相同的内容。本原理提供了一种通过允许将记录的重叠部分存储在一个位置中并且由两个记录共享而不是通过复制共享的数据来优化这种重叠记录的存储的方式。
[0064]通过多数DVR,用户可以选择记录特定事件,或者可以基于时间范围和频道来计划记录。当用户根据时间和频道进行计划时,多数DVR将记录示为通用条目,比如说“手动记录,频道99从晚上8点至晚上10点”。该记录可以包括多个事件,但是无法知道该记录包括什么。也无法挑选特定事件并且播放它,或者在记录中保存事件并且删除其余部分。例如,上述的手动记录可能包括用户想要保存节目A的从晚上8点30分至晚上9点的情节,但是该用户可能想要删除其他一切。本原理提供了针对这些问题的解决方案。
[0065]现在将给出根据本原理的实施例的关于创建记录的说明。
[0066]当开始记录时,首先将新的播放列表记录501添加到分段数据库中以表示新记录。对播放列表记录分配新的唯一的PlaylistID(播放列表ID),并且设置UsedForTimeshift (用于时移)字段来指示该播放列表是用于正常记录还是用于时移。
[0067]在创建了该播放列表之后,记录控制将记录流水线300配置为开始记录。然后,分段器303在分段数据库305中创建新的分段记录503和播放列表分段记录502,并且开始将第一传输文件和索引文件写入盘中。
[0068]使用以下值来创建分段记录503:
[0069]SegmentID (分段 ID)—分段的唯一 ID
[0070]TransportFile (传输文件)一用于存储该分段的传输流数据的文件
[0071]IndexFile (索引文件)一用于存储该分段的索引信息的文件
[0072]ReferenceCount (引用计数)一这是引用该分段的播放列表分段记录的数量的计数。如果当前记录只应用于一个播放列表,则其将被设置为I。
[0073]Service/ProgramID (服务/节目ID)—这标识正被记录的服务(频道)
[0074]StartTime (开始时间)一以UTC形式的分段的开始时间
[0075]EndTime(结束时间)一这是分段的结束时间,但是直至该分段完成为止都是未知的。该值最初被设置为O。
[0076]StartingPTS (开始PTS) —这是在分段中的第一 PTS。如果在分段创建时第一 PTS是未知的,则该值最初被设置为O。
[0077]EndingPTS (结束PTS) —这是分段的结束PTS值,但是其最初是未知的并且被设置为O。
[0078]Discontinuity (连续性)一这是指示在分段内存在PTS不连续性的标志。其最初被设置为FALSE(假)。
[0079]使用下面的值来创建播放列表分段记录502:
[0080]PlaylistID (播放列表ID)—与该分段相关联的播放列表记录的播放列表ID
[0081]SegmentID (分段ID)—分段记录的分段ID
[0082]SequenceNumber (序列号)一这是针对添加到播放列表的每个分段而递增的整数。初始值为O。
[0083]StartOffset (开始偏移)一这最初被设置为O。
[0084]EndOffset (结束偏移)一这最初被设置为O。
[0085]在记录时,为每个分段的每个播放列表创建播放列表分段记录502。因此,如果正在将数据记录到三个播放列表中,则每个分段记录将具有3个播放列表分段记录502。同样,因为有3个播放列表分段记录502引用该分段,所以每个分段记录将其引用计数设置为3。
[0086]典型的分段大小将包括I至5分钟的数据。在每个分段完成之后,分段器303使用该分段的最终数据来更新分段记录503。这将包括EndTime、EndingPTS、Discontinuity标志以及StartingPTS (如果其在开始记录时是未知的)。然后,分段器303开始写入下一分段,创建新的分段记录503和播放列表分段记录502。该过程继续直至记录完成为止。
[0087]图6示出了根据本原理的实施例的开始记录的示例性方法600。在步骤610,创建播放列表。在步骤620,确定对于期望的服务是否已经存在记录流水线。如果是这样,则该方法600进行到步骤615。否则,方法600进行到步骤660。在步骤615,将播放列表添加到现有的记录流水线的分段器303。
[0088]在步骤620,确定分段器303是否在分段的中间。如果是这样,则该方法600进行到步骤625。否则,方法600进行到步骤645。
[0089]在步骤625,分段器303使用调整后的当前位置的开始偏移为新的播放列表创建播放列表分段记录502。
[0090]在步骤630,递增分段的引用计数。
[0091]在步骤635,确定分段是否完成。如果是这样,则该方法600进行到步骤640。否贝U,方法600进行到步骤650。
[0092]在步骤640,使用最终的时间戳更新分段记录503。
[0093]在步骤645,分段器303写入新的分段并且对文件进行索引(针对新的分段),创建分段记录503,并且为每个播放列表创建播放列表分段记录502。
[0094]在步骤660,创建记录流水线。
[0095]在步骤650,确定记录是否完成。如果是这样,方法600进行到步骤655。否则,方法600返回步骤635。
[0096]在步骤655,停止记录(参见图7)。
[0097]图7示出了根据本原理的实施例的停止记录的示例性方法700。在步骤705,从分段器303移除播放列表。在步骤710,确定分段器303是否在分段的中间。如果是这样,则该方法700进行到步骤715。否则,方法700进行到步骤720。
[0098]在步骤715,调整最后的播放列表分段记录502的结束偏移。
[0099]在步骤720,确定分段是否包括一个或多个播放列表。如果是这样,则终止方法700。否则,方法700进行到步骤725。
[0100]在步骤725,拆除记录流水线。
[0101]图8示出了根据本原理的实施例的删除记录的示例性方法800。在步骤805,查询播放列表分段记录502,其中,PlaylistID =要删除的播放列表以建立分段列表。在步骤810,方法800以列表中的第一分段开始。在步骤815,递减分段记录503的引用计数。在步骤820,确定引用计数是否等于O。如果是这样,则该方法800进行到步骤825。否则,方法800进行到步骤840。
[0102]在步骤825,使用SegmentID创建分段删除记录504。
[0103]在步骤830,确定是否存在更多的分段。如果是这样,则该方法800进行到步骤835。否则,方法800进行到步骤845。
[0104]在步骤835,方法800移动到列表中的下一分段。
[0105]在步骤845,触发垃圾收集。
[0106]图9示出了根据本原理的实施例的对分段进行垃圾收集的示例性方法900。在步骤905,确定是否存在分段删除记录504。如果是这样,则该方法900进行到步骤910。否贝U,方法900终止。在步骤910,删除传输和索引文件。在步骤915,删除分段记录503。在步骤920,删除分段删除记录504。
[0107]图10示出了根据本原理的实施例的从记录的开始处截断数据的示例性方法1000。在步骤1005,查询具有最小分段记录503的播放列表分段记录502,其中,PlaylistID=要截断的播放列表以得到分段记录。在步骤1010,确定是否当前时间-EndTime >时移长度。如果是这样,则该方法1000进行到步骤1015。否则,方法进行到步骤1040。
[0108]在步骤1015,递减分段记录503的引用计数。在步骤1020,确定引用计数是否等于O。如果是这样,则该方法1000进行到步骤1025。否则,方法1000进行到步骤1035。
[0109]在步骤1025,使用SegmentID创建分段删除记录504。在步骤1030,触发垃圾收集。
[0110]在步骤1035,删除分段记录503。
[0111]在步骤1040,使延迟=时移长度_(当前时间-EndTime)。
[0112]图11示出了根据本原理的实施例的将分段附加到记录的开始处的示例性方法1100。可以使用方法1100将时移数据前置(Pr印end)于记录的开始处。在步骤1105,开始记录(参见图6)。在步骤1110,查询分段记录503,其中,Service =正在记录的服务,并且StartTime <期望的StartTime, EndTime >按照StartTime降序排列的期望的开始时间。在步骤1115,确定分段中是否存在时间间隙。如果是这样,则该方法1100进行到步骤1120。否则,方法进行到步骤1125。
[0113]在步骤1120,在间隙处实施截断,使得在列表中不存在(不再有)间隙。
[0114]在步骤1125,在列表中的第二分段处开始方法1100,其中,SequentNumber = O。
[0115]在步骤1130,创建播放列表分段记录502,并且递增引用计数。在步骤1135,确定在列表中是否存在更多的分段。如果是这样,则该方法1100进行到步骤1140。否则,方法1100终止。在步骤1140,方法1100移动到下一分段,并且递减SequenceNumber。
[0116]图12示出了根据本原理的实施例的回放记录的示例性方法1200。在步骤1205,查询具有最小SequenceNumber的播放列表分段记录502,其中,播放列表ID =要播放的播放列表。在步骤1210,确定是否StartOffset = O。如果是这样,则该方法1200进行到步骤1215。否则,方法1200进行到步骤1250。
[0117]在步骤1215,将开始字节位置设置为O。
[0118]在步骤1220,确定是否EndOffset = O。如果是这样,则该方法1200进行到步骤1225。否则,方法1200进行到步骤1255。
[0119]在步骤1225,将结束字节位置设置为等于传输文件的大小。
[0120]在步骤1230,从开始字节位置到结束字节位置读取传输文件,并且将数据发送给多路分解器404。在步骤1235,递增SequenceNumber。在步骤1240,确定是否存在具有播放列表ID =要播放的播放列表和相继的号码(sequent number)的播放列表分段。如果是这样,则该方法1200进行到步骤1245。否则,方法1200进行到步骤1260。
[0121]在步骤1245,取得播放列表分段和分段。
[0122]在步骤1250,读取索引文件以找到StartOffset的开始字节位置。
[0123]在步骤1255,读取索引文件以找到EndOffset的结束字节位置。
[0124]在步骤1260,回放完成。
[0125]现在将给出根据本原理的实施例的关于在记录操作期间添加/移除播放列表的说明。
[0126]在将相同的数据用于多个播放列表的情况下,有时需要在记录操作期间从分段器303添加或者移除播放列表。为此,使用播放列表分段记录502中的StartOffset和EndOffset字段。假设系统使用5分钟的分段。另外,假设将分段中的2分钟,即第二播放列表,添加到该记录。此时,创建新的播放列表分段记录502,递增分段记录的引用计数,并且除了 StartOffset字段以外,如前所述那样地填写播放列表分段中的字段。将StartOffset字段设置为120秒以指示对该分段的回放应该在分段中的120秒的偏移处开始。同样地,如果正在将数据记录到多个播放列表并且对于单个播放列表停止记录,则将EndOfTset字段设置为从回放应该停止的分段的结束处开始的偏移。
[0127]现在将给出根据本原理的实施例的关于删除记录的说明。该过程还在上文参照图8进行了说明。
[0128]每个记录对应于播放列表。当删除记录时,对分段数据库实施以下动作:
[0129]1.删除记录的播放列表记录501。
[0130]2.删除引用被删除的播放列表ID的所有播放列表分段记录502。
[0131]3.对于每个被删除的播放列表分段记录502,与被删除的播放列表分段记录502中的SegmentID相对应的分段记录503将其ReferenceCount字段递减I。
[0132]4.对于ReferenceCount现在为O的每个分段记录503,创建新的分段删除记录504,其中,将SegmentID设置成ReferenceCount为O的分段。
[0133]必须对数据库原子性地(atomically)实施以上4个操作使得如果在操作期间发生供电故障,则数据库仍然处于一致状态。
[0134]如还在上文参照图9说明的那样,后台处理周期性地查询分段删除记录504,查找对应的分段记录503,删除IndexFile和TransportFile,然后移除分段记录503和分段删除记录504。这可以在删除之后立即进行,或者可以延迟该操作直至需要盘空间时为止。
[0135]现在给出将根据本原理的实施例的关于创建用于时移的播放列表的说明。
[0136]创建用于时移的播放列表与创建用于记录的播放列表相同,除了以下两个例外:
[0137]1.将播放列表记录中的UsedForTimeshift标志设置为TRUE(真)。经过复位之后,不需要保留时移播放列表,因此每次启动机顶盒200时,删除UsedForTimeshift被设置为TRUE的所有播放列表,。
[0138]2.周期性地删除记录的开始处的播放列表分段。该过程按照与删除整个播放列表的相同的过程,只是不删除播放列表记录并且只移除指定的播放列表分段记录502。周期性地删除播放列表分段界定了时移缓冲器的大小。例如,如果想要维持30分钟的时移缓冲器并且分段大小是5分钟,则将为播放列表保持不超过6个完整分段。当第7个分段完成时,将删除第一个播放列表分段,使播放列表的分段的总数回到6。
[0139]现在将给出根据本原理的实施例的关于将时移数据转换为记录的说明。该过程还在上文参照图10进行了说明。
[0140]当请求记录已经在进行中的事件时,关于与该事件的时间范围和服务相匹配的分段记录503,查询分段数据库。这通过查询StartTime、EndTime和Service/ProgramID字段来进行。如果找到与请求的事件的服务和时间范围相对应的分段,则对这些分段的每一个创建新的播放列表分段记录502并且插入序列号,使得它们在记录开始时以适当的序列出现。必要时,调节第一分段的StartOffset以匹配事件的开始时间。另外,递增所添加的分段中的每一个的ReferenceCount字段。该过程允许将用于时移的现有数据添加到记录中,而无需实际地复制或者修改任何传输或索引文件。
[0141]现在将给出根据本原理的实施例的关于回放记录或时移的说明。该过程还在上文参照图12进行了说明。
[0142]已经参照图4说明了基本的回放。现在更详细地说明在回放操作期间通过去分段器403实施的数据库操作。
[0143]当从开始回放记录时,去分段器403查询具有最小序列号的播放列表分段记录502。然后,去分段器403查询对应的分段记录503以找到TransportFile和IndexFile。如果播放列表分段记录的StartOfTset是0,则在传输文件的开始处开始回放。如果StartOffset不是零,则通过使用作为分段的开始的基准时间的StartTime和StartingPTS将偏移转换为PTS偏移。扫描索引文件以找到传输文件中与指定的PTS偏移相对应的字节位置,并且从该位置处开始回放。
[0144]为了处理在播放列表中寻找指定的偏移,去分段器403查询播放列表分段记录502以得到播放列表的SegmentID的列表。然后,去分段器403查询具有最小序列号的分段记录503以读取StartTime。这是播放列表的基准开始时间。然后,去分段器403将指定的偏移添加到基准时间以计算期望的位置的绝对时间。最后,去分段器403通过比较作为播放列表的部分的分段记录503的StartTime和EndTime字段来搜索包括指定时间的分段记录503。这给出了包括期望的位置的传输和索引文件。使用分段记录503的StartTime和StartingPTS字段作为分段的基准时间,然后,计算期望的PTS偏移,由此将期望的绝对时间转换为PTS时间戳。然后,扫描索引文件以找到用于期望的PTS偏移的传输文件中的字节偏移。然后,去分段器403开始从传输文件中的该点处开始回放。
[0145]以与寻找操作相同的方式处理不连续的特技模式(快进或者回退)。例如,为了实现4倍快进,去分段器403可以每0.5秒在播放列表中往前2秒。这具有以4倍正常回放的速率扫描播放列表的效果。
[0146]为了确保寻找操作所需的数据库操作是高效的,期望数据库401将提供合适的索引以确保很快地执行要求的查询。另外,去分段器403可以对来自数据库401的数据进行高速缓存或者预取以提高性能。这些细节对于具体的数据库实现方式是特定的并且超出了本原理的范围。
[0147]现在将给出根据本原理的实施例的关于记录和子记录的创建和管理的说明。
[0148]在本文中说明的原理允许用户创建在定义的时间范围内的关于频道的记录并且管理在记录块内既作为连续记录又作为离散事件的所记录的内容。
[0149]当用户使用本原理按照时间和频道计划记录时,进行包括电子节目指南(EPG)数据的数据库的查询以确定在记录中将包括哪些事件。然后,系统创建多个记录。父记录将是覆盖用户请求的时间范围的连续记录。与父记录相并行地,如EPG数据所报告地那样,系统将创建关于父记录所包括的每个事件的记录。下面的表I示出了这种情况的示例。
[0150]表I
[0151]
手动记录一频道99从晚上8点至晚上10点节目A丨节I B丨特别新闻一总统辩论—
[0152]这样,在该示例中,尽管用户只请求了在频道99上从晚上8点到晚上10点的记录,本原理仍然创建四个记录。实际上,系统不记录任何附加数据来完成这一点。本原理使用如在本文中说明的分段的记录架构。
[0153]由于记录之间的父子关系,可以以树结构将手动记录呈现给用户,该树结构可以通过作为树的根节点的父记录进行展开和折叠。图13是示出根据本原理的实施例的示例性记录树索引1300的图示。由此,对于以上示例,可以将记录如图13所示那样地显示给用户。在树索引1300的根1310处示出“手动记录一频道99从晚上8点至晚上10点”。将“节目A”、“节目B”和“特别新闻一总统辩论”示为分支和/或叶1311、1312和1313。
[0154]然后,用户可以选取播放该手动记录,并且将看见作为连续块的一切。用户可能还决定只播放记录内的节目A,并且回放将在节目A的情节的开始处开始并在节目A的情节的结束处结束。
[0155]用户还可以删除手动记录,但是选取保留手动记录内的特定情节。例如,用户可能想要保留节目A的情节,但是删除其他一切。在父记录和子记录之间共享实际记录的视频和音频数据并且进行引用计数,这样,当不再被列表中的任何记录引用时,只将每个分段中的数据从盘中移除。
[0156]本说明例示了本原理。因此,要理解的是,尽管未在本文中明确地说明或示出,本领域的技术人员仍将能够想到使本原理具体化并且包括在本原理的精神和范围中的各种配置。
[0157]在本文中陈述的各种示例和条件性语言旨在辅助读者理解本原理和由(多个)发明人贡献的构思以促进本领域的教导性的目的,并且要被解释为不对如此具体陈述的示例和条件进行限制。
[0158]而且,在本文中陈述本原理的原理、方面以及实施例的所有叙述及其具体示例均旨在包括其结构和功能的等效物。此外,这种等效物旨在包括当前已知的等效物以及在将来开发的等效物,亦即,所开发的实施相同功能的任何元件,而不论其结构如何。
[0159]因此,例如,本领域的技术人员将理解的是,在本文中呈现的框图表示具体化本原理的说明性电路的概念上的视图。类似地,将理解的是,任何流程图表、流程图、状态转换图、伪代码等都表示各种处理,这些处理实质上可以表示在计算机可读介质中,并因此由计算机或处理器执行(无论是否明确示出这样的计算机或处理器)。
[0160]可以通过使用专用的硬件以及与合适的软件相关联的能够执行软件的硬件来提供在图中示出的各种元件的功能。当通过处理器来提供时,可以通过单个专用处理器、单个共享处理器或者其中某些可以被共享的多个单独的处理器来提供所述功能。另外,术语“处理器”或“控制器”的明确使用不应当被解释为排他性地指代能够执行软件的硬件,而是可以隐含地包括(但不限于)数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)以及非易失性存储器。
[0161]还可以包括传统的和/或定制的其他硬件。类似的,在图中所示的任何开关仅仅是概念性的。它们的功能可以通过程序逻辑的操作、通过专用的逻辑、通过程序控制和专用逻辑的交互或者甚至手动地进行,具体的技术是可由实施者按照从上下文中更具体的理解来选择的。
[0162]在本文中,用语“耦合”被定义为意味着直接连接或者通过一个或多个中间组件间接连接。这种中间组件既可以包括硬件也可以包括基于软件的组件。
[0163]在其权利要求中,被表达为用于实施指定功能的部件的任何元件旨在包含实施该功能的任何方式,例如包括:a)实施该功能的电路元件的组合或者b)与用于执行软件的适当的电路组合以实施该功能的任何形式的软件,因此包括固件、微代码等。由这样的权利要求所限定的本原理在于以下事实:以权利要求请求保护的方式将由所述的各种部件提供的功能组合并放在一起。因此可以认为,提供这些功能的任何部件都等效于与在本文中示出的那些部件。
[0164]在本说明书中对本原理的“一个实施例”或“实施例”的引用及其其他变型意味着:结合实施例说明的具体特征、结构、特性等被包括在本原理的至少一个实施例中。因此,在说明书各处出现的短语“在一个实施例中”和“在实施例中”、以及任何其他变型不一定指的是相同的实施例。
[0165]应理解,例如在“A/B”、“A和/或B”和“A和B中的至少一个”的情况中,和/或”以及“至少一个”任何一个的使用旨在包括对于仅仅第一个列出的选项㈧的选择、或对于仅仅第二个列出的选项(B)的选择、或者对于两个选项(A和B)的选择。作为另一示例,在“A、B和/或C”以及“A、B和C中的至少一个”的情况中,这种措辞旨在包括对于仅仅第一个列出的选项(A)的选择、或对于仅仅第二个列出的选项(B)的选择、或对于仅仅第三个列出的选项(C)的选择、或对于仅仅第一个和第二个列出的选项(A和B)的选择、或对于仅仅第一个和第三个列出的选项(A和C)的选择、或对于仅仅第二个和第三个列出的选项(B和C)的选择、或者对于全部三个选项(A和B和C)的选择。如本领域和相关领域普通技术人员容易认识到的,这可以被扩展用于很多列出的条目。
[0166]要理解的是可以以各种形式的硬件、软件、固件、专用处理器或其组合来实现本原理的教导。
[0167]最优选地,将本原理的教导实现为硬件和软件的组合。而且,可以将该软件实现为有形地体现在程序存储单元上的应用程序。可以将该应用程序上载到包括任何合适架构的机器,并由其执行。优选地,在具有诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、以及输入/输出(“I/O”)接口这样的硬件的计算机平台上实现该机器。该计算机平台还可以包括操作系统和微指令代码。在本文中说明的各种处理和功能可以是由(PU可以执行的微指令代码的一部分、或者应用程序的一部分、或者是其任何组合。此外,诸如附加数据存储单元和打印单元这样的各种其他的外设单元可与该计算机平台连接。
[0168]还要理解的是因为优选地以软件实现附图中描绘的某些组成系统组件和方法,所以取决于对本原理进行编程的方式,该系统组件或处理功能块之间的实际连接可能有所不同。给出在本文中的教导,相关领域的普通技术人员将能够设想到本原理的这些和类似的实施方式或配置。
[0169]虽然参照附图在本文中已经说明了说明性的实施例,但应当理解的是本原理不限于这些明确的实施例,并且相关领域的普通技术人员可以在其中实施各种改变和修改而不脱离本原理的范围或精神。所有这种改变和修改意图被包括在所附的权利要求中所阐述的本原理的范围内。
【权利要求】
1.一种记录媒体内容的系统,包含: 分段器(303),用于在接入点边界上以周期性的间隔将与所述媒体内容相对应的传输流数据和索引数据拆分为离散文件,所述离散文件中的每一个包括相应的传输分段和相应的索引分段;以及 分段存储设备(304),用于存储所述离散文件, 其中,所述分段器对所述传输流数据和所述索引数据进行拆分,使得对于其中包括多个节目的记录会话或者节目,将所述节目或者记录会话以及其中的所述多个节目的每一个记录为单独的节目。
2.根据权利要求1所述的系统,其中,使用树结构向观看者显示关于所述节目或者记录会话以及所述多个节目的索引,其中,所述节目或者记录会话位于所述树结构的根部,并且所述多个节目位于所述树结构的分支和叶之中的至少一处。
3.根据权利要求1所述的系统,其中,在所述单独的节目中的至少两个之间共享所述相应的传输分段。
4.根据权利要求3所述的系统,其中,只在所述相应的传输分段不再被任何所述单独的节目引用时才删除所述相应的传输分段。
5.—种记录媒体内容的方法,包含: 在接入点边界上以周期性的间隔将与所述媒体内容相对应的传输流数据和索引数据拆分(645)为离散文件,所述离散文件中的每一个包括相应的传输分段和相应的索引分段;以及 在分段存储设备中存储(645)所述离散文件, 其中,对所述传输流数据和所述索引数据进行拆分,使得对于其中包括多个节目的记录会话或者节目,将所述节目或者记录会话以及其中的所述多个节目的每一个记录为单独的节目(1300)。
6.根据权利要求5所述的方法,还包括:使用树结构向观看者显示(1300)所述节目或者记录会话以及所述多个节目的索引,其中,所述节目或者记录会话位于所述树结构的根部,并且所述多个节目位于所述树结构的分支和叶之中的至少一处。
7.根据权利要求5所述的方法,其中,在所述单独的节目中的至少两个之间共享所述相应的传输分段。
8.根据权利要求7的方法,其中,只在所述相应的传输分段不再被任何所述单独的节目引用时才删除所述相应的传输分段。
9.一种在其中将使计算机系统实施根据权利要求5所述的方法的计算机可读程序代码具体化的计算机可读存储介质。
10.一种回放媒体内容的系统,包含: 分段存储设备(402),用于存储离散文件,所述离散文件中的每一个包括从与所述媒体内容相对应的传输流数据和索引数据得到的相应的传输分段和相应的索引分段; 去分段器(403),用于重新组装来自所述离散文件的传输分段以便对所述传输分段进行无缝回放;并且 其中,对于其中包括多个节目的记录会话或者节目,能够将关于所述节目或者记录会话以及其中的所述多个节目中的每一个的传输分段重新组装为单独的节目。
11.根据权利要求10所述的系统,其中,使用树结构向观看者显示关于所述节目或者记录会话以及所述多个节目的索引,其中,所述节目或者记录会话位于所述树结构的根部,并且所述多个节目位于所述树结构的分支和叶之中的至少一处。
12.根据权利要求10所述的系统,其中,在所述单独的节目中的至少两个之间共享所述相应的传输分段。
13.根据权利要求12所述的系统,其中,只在所述相应的传输分段不再被任何所述单独的节目引用时才删除所述相应的传输分段。
14.一种回放媒体内容的方法,包含: 在分段存储设备中存储(645)离散文件,所述离散文件的每一个包括从与所述媒体内容相对应的传输流数据和索引数据中得到的相应的传输分段和相应的索引分段; 重新组装(1230)来自所述离散文件的传输分段以便对所述传输分段进行无缝回放;并且 其中,对于其中包括多个节目的记录会话或者节目,能够将关于所述节目或者记录会话以及其中的所述多个节目中的每一个的传输分段重新组装为单独的节目(1300)。
15.根据权利要求14所述的方法,还包含:使用树结构向观看者显示(1300)关于所述节目或者记录会话以及所述多个节目的索引,其中,所述节目或者记录会话位于所述树结构的根部,并且所述多个节目位于所述树结构的分支和叶之中的至少一处。
16.根据权利要求14所述的方法,其中,在所述单独的节目中的至少两个之间共享所述相应的传输分段。
17.根据权利要求16所述的方法,其中,只在所述相应的传输分段不再被任何所述单独的节目引用时才删除所述相应的传输分段。
18.一种在其中将使计算机系统实施根据权利要求14所述的方法的计算机可读程序代码具体化的计算机可读存储介质。
【文档编号】H04N5/76GK104170373SQ201280070524
【公开日】2014年11月26日 申请日期:2012年12月20日 优先权日:2012年1月9日
【发明者】B.D.克莱温格 申请人:汤姆逊许可公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1