CN104041013A - 管理时移数据 - Google Patents
管理时移数据 Download PDFInfo
- Publication number
- CN104041013A CN104041013A CN201280066585.6A CN201280066585A CN104041013A CN 104041013 A CN104041013 A CN 104041013A CN 201280066585 A CN201280066585 A CN 201280066585A CN 104041013 A CN104041013 A CN 104041013A
- Authority
- CN
- China
- Prior art keywords
- section
- record
- file
- span line
- index
- 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
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4333—Processing operations in response to a pause request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4334—Recording operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/82—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
- H04N9/8205—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Television Signal Processing For Recording (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
Abstract
提供了用于记录和回放媒体内容的相应系统和方法。用于记录媒体内容的系统包括:分段器(303),用于在接入点边界上以周期性间隔将与所述媒体内容相对应的传输流数据和索引数据分割为离散文件。每个离散文件包括相应的传输段和相应的索引段。该系统还包括:段存储设备(304),用于存储所述离散文件。
Description
相关申请的交叉引用
本申请要求于2012年1月9日提交的美国临时申请No.61/584,351的权益,其以全文引用的方式并入本文中。
技术领域
本原理总体上涉及时移功能,且更具体地涉及管理时移数据。
背景技术
数字视频记录仪(DVR)的核心功能是记录并回放广播多媒体内容,如视频内容(以及与其相对应的任何音频内容,但是为了简洁起见,下文中统称为“视频内容”)。很多DVR允许时移功能。时移功能实质上是实况广播内容的滚动缓冲。这允许对实况广播内容使用特技模式操作,如暂停、倒带、以及快进。通常的时移实现将维持对实况广播内容的最后30分钟的缓冲,允许用户使用特技模式对该缓冲进行导航。
由于视频内容的存储要求大量的存储空间,在大多数实现中,用于时移功能的视频数据通常存储在硬盘上。这带来了问题,因为在向时移记录中添加新数据时,必须从末尾截断旧数据。尽管大多数文件系统允许将新数据高效地插在文件末尾,大多数文件系统不提供用于从文件的开始截断数据的高效机制。一些DVR通过使用特殊设计的文件系统来解决该问题,该特殊设计的文件系统提供了在文件末尾处的插入以及从文件的开始进行截断。然而,对特殊设计的文件系统的使用不具有不足之处,包括(但不限于):将这种特殊设计的文件系统与同样在DVR上使用的标准文件系统集成。
发明内容
由本原理来解决现有技术的这些和其他缺陷和缺点,本原理涉及管理时移数据。
根据本原理的方案,提供了一种用于记录媒体内容的系统。所述系统包括:分段器,用于在接入点边界上以周期性间隔将与所述媒体内容相对应的传输流数据和索引数据分割为离散文件。每个离散文件包括相应的传输段和相应的索引段。所述系统还包括:段存储设备,用于存储所述离散文件。
根据本原理的另一方案,提供了用于记录媒体内容的方法。所述方法包括:在接入点边界上以周期性间隔将与所述媒体内容相对应的传输流数据和索引数据分割为离散文件。每个离散文件包括相应的传输段和相应的索引段。所述方法还包括:将所述离散文件存储到段存储设备中。
根据本原理的又一方案,提供了一种用于回放媒体内容的系统。所述系统包括:段存储设备,用于存储离散文件。每个离散文件包括从与所述媒体内容相对应的传输流数据和索引数据获得的相应的传输段和相应的索引段。所述系统还包括:解分段器,用于将来自所述离散文件的传输段重新组装,以无缝回放所述传输段。
根据本原理的再一方案,提供了一种用于回放媒体内容的方法。所述方法包括:在段存储设备中存储离散文件。每个离散文件包括从与所述媒体内容相对应的传输流数据和索引数据获得的相应的传输段和相应的索引段。所述方法还包括:将来自所述离散文件的传输段重新组装,以无缝回放所述传输段。
通过结合附图来阅读的以下示例实施例的详细描述,本原理的这些和其他方案、特征和优点将变得显而易见。
附图说明
根据以下示例附图来更好地理解本原理,其中:
图1是示出了根据本原理的实施例的可以应用本原理的示例处理系统100的图;
图2是示出了根据本原理的实施例的包括数字视频记录仪功能和时移功能在内的示例机顶盒200的图;
图3是示出了根据本原理的实施例的可以应用本原理的示例记录流水线300的图;
图4是示出了根据本原理的实施例的可以应用本原理的示例回放流水线300的图;
图5是示出了根据本原理的实施例的在段数据库中存在的4种示例记录类型500的图;
图6是示出了根据本原理的实施例的用于开始记录的示例方法600的图;
图7是示出了根据本原理的实施例的用于停止记录的示例方法700的图;
图8是示出了根据本原理的实施例的用于删除记录的示例方法800的图;
图9是示出了根据本原理的实施例的用于无用存储单元收集段的示例方法900的图;
图10是示出了根据本原理的实施例的用于从记录的开始截断数据的示例方法1000的图;
图11是示出了根据本原理的实施例的用于向记录的开始附加数据的示例方法1100的图;
图12是示出了根据本原理的实施例的用于回放记录的示例方法1200的图;以及
图13是示出了根据本原理的实施例的示例记录树索引1300的图。
具体实施方式
本原理涉及管理时移数据。
尽管本领域技术人员将容易构思出可以应用本原理的各种应用,以下描述将专注于本原理的应用到机顶盒的实施例,该机顶盒具有数字视频记录仪功能和时移功能。然而,在给出本文提供的本原理的教导的情况下,本领域技术人员将容易构思出可以应用本原理的其他设备和应用,同时保持本原理的精神。例如,可以将本原理并入具有多媒体回放能力以及记录和时移功能的任何设备中。因此,可以将本原理并入具有数字视频记录仪(DVR)能力的机顶盒、独立的DVR、家庭媒体服务器、计算机媒体站、平板计算机设备、家庭网关、多媒体播放器、家庭联网电器等中。应当意识到:前述设备列表仅是说明性的,且不是无遗漏的。
关于前述现有技术以及使用特别设计的文件系统来在从时移记录的末尾截断旧数据的同时向时移记录添加新数据的问题,我们首先指出本原理在不要求特别设计的文件系统的情况下解决了该问题。有利地,这允许将标准文件系统(本文中也被称为“现有”或“传统”文件系统)用于视频存储。此外,本原理允许在重叠记录之间共享传输数据,这减少了存储空间。
图1示出了根据本原理的实施例的可以应用本原理的示例处理系统100。处理系统100包括至少一个处理器(CPU)102,其经由系统总线104与其他组件可操作耦合。只读存储器(ROM)106、随机存取存储器(RAM)108、显示适配器110、输入/输出(I/O)适配器112、用户界面适配器114、以及网络适配器198可操作耦合到系统总线104。
显示设备116通过显示适配器110可操作耦合到系统总线104。盘存储设备(例如,磁盘或光盘存储设备)118通过I/O适配器112可操作耦合到系统总线104。
鼠标120和键盘122通过用户界面适配器214可操作耦合到系统总线104。鼠标120和键盘122用于向系统100输入信息以及从系统100输出信息。
收发信机196通过网络适配器198可操作耦合到系统总线104。
当然,如本领域技术人员所容易想到的,处理系统100还可以包括其他单元(未示出),以及省略特定单元。例如,如本领域普通技术人员容易理解的,取决于处理系统100的具体实现,处理系统100中可以包括各种其他输入设备和/或输出设备。例如,可以使用各种类型的无线和/或有线输入和/或输出设备。此外,如本领域普通技术人员容易理解的,还可以使用各种配置下的附加处理器、控制器、存储器等。在给出本文提供的本原理的教导的情况下,处理系统100的这些和其他变型容易由本领域普通技术人员所构思。
此外,应当意识到:下面参考图2所描述的机顶盒200是用于实现本原理的相应实施例的机顶盒200。此外,应当意识到:下面参考图3和4分别描述的记录流水线300和回放流水线400包括在机顶盒200中。当然,如上所述,本原理不限于机顶盒,且从而可以将记录流水线300和回放流水线400并入其他设备中(这些其他设备中的一些设备前面已提到),同时维持本原理的精神。可以在机顶盒200(或其他设备)、记录流水线300、和/或回放流水线400的一个或多个单元中实现处理系统100的一部分或全部。
此外,应当意识到:处理系统100可以执行至少一部分本文所述的方法,包括例如至少一部分图6的方法600和/或至少一部分图7的方法700。类似地,可以将机顶盒200、记录流水线300、和/或回放流水线400的一部分或全部用于执行方法600的至少一部分和/或方法700的至少一部分。
图2示出了根据一个实施例的包括数字视频记录仪功能和时移功能在内的示例机顶盒200。应当意识到:为了简洁的目的,未示出为了机顶盒200的完整操作所必须的若干组件,因为未示出的组件对于本领域技术人员来说是众所周知的。
在输入信号接收机202处将信号以接口方式传输到机顶盒200。输入信号接收机202连接到输入流处理器204。输入流处理器204连接到音频处理器206和视频处理器210。音频处理器206连接到音频接口208,音频接口208提供了来自机顶盒200的音频输出信号。视频处理器210连接到显示接口218,显示接口218提供了来自机顶盒200的视频输出信号。音频处理器206和视频处理器210还连接到存储设备212。控制器214连接到存储设备212以及输入流处理器204、音频处理器206、和视频处理器210。控制存储器220连接到控制器214。控制器214还连接到用户界面216和手持接口222。
在输入信号接收机202中接收内容。输入信号接收机202可以是用于对通过若干可能网络之一(包括空中、有线电视线路、卫星、以太网、光纤和电话线网络)提供的信号进行接收、解调、和解码的若干已知接收机电路中的一个或多个。重要的是注意到:输入信号接收机202可以包括用于数据信号以及媒体内容信号的接收、解调、和解码电路,该媒体内容信号与所需的广播输入信号通过相同的传输网络来传递,或者通过不同网络和/或备选蜂窝或无线网络来传递。通过传输网络2(或无线网络)接收到的媒体内容和数据可以不同于媒体内容和传输网络1。该数据可以包括与调度改变和更新相关联的信息以及与通过任一传输网络传输的媒体内容有关的信息。在一个实施例中,在信号接收机202中的有线电视调谐器电路中对有线电视广播信号进行接收、解调和解码。可以在输入信号接收机202中基于通过控制接口(未示出)提供的用户输入来选择和取回所需广播输入信号。输入信号接收机202还包括网际协议(IP)接口电路,该网际协议(IP)接口电路附加地提供双向网络连接性。
向输入流处理器204提供来自输入信号接收机202中的一个或多个电路的解码输出信号。输入流处理器204执行最终信号选择和处理,且包括针对内容流将视频内容与音频内容分离。向音频处理器206提供音频内容,以从接收格式(例如,压缩数字信号)转换为另一格式(例如,模拟波形信号)。向音频接口208提供模拟波形信号,以及还向显示设备114或音频放大器(未示出)提供模拟波形信号。备选地,音频接口208可以向音频输出设备或使用高清多媒体接口(HDMI)电缆或备选音频接口(如,经由索尼/飞利浦数字互联格式(SPDIF))的显示设备提供数字信号。音频处理器206还执行用于存储音频信号的任何必需转换。
向视频处理器210提供来自输入流处理器204的视频输出。视频信号可以是若干格式之一。视频处理器210根据需要基于输入信号格式来提供对视频内容的转换。视频处理器210还执行用于存储视频信号的任何必需转换。
存储设备212存储在输入处接收到的音频和视频内容。存储设备212允许稍后在控制器214的控制下并且还基于从用户界面216接收到的命令(例如,导航指令,如快进(FF)和倒带(Rew))来取回并回放内容。存储设备212可以是硬盘驱动器、一个或多个大容量集成电子存储器(如,静态RAM(SRAM)或动态RAM(DRAM))、可交换光盘存储系统(如,高密度盘驱动器或数字视频盘驱动器)、或在机顶盒200的外部且可由机顶盒200来访问的存储器。
向显示接口218提供来自视频处理器210的转换后的视频信号,该视频信号要么源自于输入要么源自于存储设备212。显示接口218还向上述类型的显示设备提供显示信号。显示接口218可以是模拟信号接口(如,红-绿-蓝(RGB))或者可以是数字接口(例如,HDMI)。
控制器214经由总线互连到机顶盒200的若干组件,包括输入流处理器202、音频处理器206、视频处理器210、存储设备212、用户界面216、以及手持接口222。控制器214管理用于将输入流信号转换为用于在存储设备上存储的或用于显示的信号的转换过程。控制器214还管理对存储内容的取回和回放。控制器214还耦合到用于存储控制器214的信息和指令代码的控制存储器220(例如,易失性或非易失性存储器,包括RAM、SRAM、DRAM、只读存储器(ROM)、可编程ROM、电子可编程ROM(EPROM)、电子可擦除可编程ROM(EEPROM)、闪存等)。此外,存储器220的实现可以包括若干可能实施例,例如单一存储器设备或备选地连接到一起以形成共享或公共存储器的多于一个存储器电路。此外,存储器可以与更大的电路中的其他电路(例如总线通信电路的各部分)包括在一起。
除了与用户界面单元和显示设备进行接口连接之外,机顶盒200还可以通过手持接口222与手持设备(例如,平板计算机)进行接口连接。该手持设备可以包括具有附加控制的显示屏或可以包括触摸屏。可以在控制器214和手持接口222之间路由来自视频处理器210的视频信号以及其他数据(例如,屏幕上显示消息和消息提示返回)。手持接口222可以使用射频通信链路(如,Wi-Fi、蓝牙、或电气和电子工程师协会(IEEE)标准802.11)与手持设备或平板计算机发送和接收信号和数据。手持接口222可以备选地使用红外接口与手持设备或平板计算机发送和接收信号和数据。
在操作中,机顶盒200实现了如下文更详细描述的用于对客户端设备(例如,机顶盒或家庭网关)中的媒体内容数据库进行更新、管理和搜索的过程。可以用硬件方式来进行算法或功能的物理实现,例如与视频处理器210有关的分立电路,或用软件方式进行算法或功能的物理实现,例如在控制存储器中驻留且由控制器214来读取和执行的软件。该方法涉及接收与媒体内容相关联的事件数据,事件数据包括唯一的事件标识符,检验事件标识符以在高速缓存存储器中的阵列中存储事件数据,如果接收到的事件数据中的事件标识符当前不在阵列中,则更新事件计数值,以及在例如事件计数值超过预定阈值和时间段值超过预定阈值中的至少一项发生时,如果触发了高速缓存存储器的交换,则使用阵列中的该事件数据来更新第一事件数据库。
用作媒体存储器和接口设备的设备(如,机顶盒200)的操作方案通常包括对媒体内容以及用于识别该内容的数据库条目或记录的存储、维护、搜索、和取回。对数据库信息和条目的更新在可能包括周期性或连续的内容信息更新的动态系统中是重要的。例如,可以接收并向数据库提供新的数据库记录或信息。此外,可以移除或擦除当前存储的内容和与内容相关的条目或信息。可以周期性地移除或擦除内容,或者备选地通过从用户控制到设备的输入来移除或擦除内容。同时或接近同时,可以进行请求,如数据库搜索请求。一般而言,可以从多个源接收各种种类和形式的内容和信息,并将其输入数据库。重要的是:稳定的数据库对于搜索请求是可用的。需要向数据库添加数据和信息,同时依然维持搜索能力并保持搜索的搜索结果和性能尽可能高。在简单数据库结构(例如,以结构化查询语言(SQL)数据库实现的结构)中,甚至更需要对数据库中的更新和搜索的改进。
可以将如本文所述的用于对媒体内容数据库的更新、管理和搜索的功能和控制包含为与网关设备(例如,机顶盒200)相关联的操作代码或固件的一部分。该过程可以包括以任何编程语言(例如,Java或者超文本标记语言(HTML))来编写的操作指令。可以预先加载或下载(例如,从服务器或互联网站点)应用,并将其存储在主机设备的存储器中。还应当意识到:在一个实施例中,指令被存储在图2的控制存储器220中,其中,控制器214在控制存储器220上取回指令并执行指令。在另一实施例中,可以将存储器和用于执行处理的对应处理器或控制器集成到单独的独立集成电路(例如,数字处理处理器(DSP)或专用集成电路(ASIC))中。
图3示出了根据本原理的实施例的可以应用本原理的示例记录流水线300。在实施例中,将记录流水线300包括在图2的机顶盒200中。然而,如上所述,记录流水线300可以被包括在其他设备中,包括(但不限于):独立的DVR、家庭媒体服务器、计算机媒体站、平板计算机设备、家庭网关、多媒体播放器、家庭联网电器等。
记录流水线300包括调谐器301、解复用器(demux)302、分段器303、段存储设备304、段数据库305、以及记录控制设备306。
调谐器301接收广播视频。调节器301可以是硬件调谐器,如数字视频广播(DVB)或高级电视系统委员会(ATSC)调谐器,或通过网络接口(未示出)来接收传输流的网际协议电视(IPTV)调谐器。向解复用器302发送由调谐器301接收到的传输流。
在多节目传输流的情况下,解复用器302可以选择所需节目并向分段器303发送单一节目传输流以及索引信息。在单一节目传输流的情况下,解复用器302可以向分段器303透明发送所接收的传输流,而不加修改,但是附加地向提供针对相关联流的索引信息。在这两种情况下,索引信息包括流中的接入点的列表及其它们关联的呈现时间戳(PTS)。接入点标记了流中可以开始解码的位置。
分段器303将传输流数据和索引数据拆分为离散的段,并将该数据写到段存储设备304中。段存储设备304通常将是具有文件系统的硬盘。当然,在给出本文提供的本原理的教导的情况下,如本领域普通技术人员容易意识到的:段存储设备304可以用具有文件系统的不同类型的存储器设备来实现。
在文件系统中将每个传输段和索引段作为唯一文件来存储。可以基于特定系统的性能考量来调整段的大小,但是典型的段大小将包括大致1至5分钟的数据。在写入每个段时,分段器303使用与其创建的段有关的信息来更新段数据库305。
记录控制设备306与调谐器301、解复用器302、和分段器303进行交互以控制记录。记录控制设备306控制和/或以其他方式指示调谐器301调谐到要记录的服务。记录控制设备306控制和/或以其他方式指示解复用器302要记录传输流中的哪个节目,且其向分段器303给出播放列表的列表,以与所记录的段相关联。
图4示出了根据本原理的实施例的可以应用本原理的示例回放流水线400。回放流水线400回放所记录的段。在实施例中,回放流水线400包括在图2的机顶盒200中。然而,如上所述,可以在其他设备中包括回放流水线400,包括(但不限于):独立的DVR、家庭媒体服务器、计算机媒体站、平板计算机设备、家庭网关、多媒体播放器、家庭联网电器等。
回放流水线400包括段数据库401、段存储设备402、解分段器403、解复用器404、回放控制设备405、字幕解码器406、视频解码器407、音频解码器408、音频呈现设备209、以及视频呈现设备210。
回放控制设备405控制和/或以其他方式指示解分段器403应当播放哪个播放列表。回放控制设备405还控制和/或以其他方式指示解分段器403在指定时间偏移量处开始回放以及以指定速率回放。例如,回放速率1.0将对应于正常回放,4.0将是4x快进,-4.0将是4x倒带,以及0.0将是暂停。
解分段器403向段数据库401查询,以找到回放所要求的传输和索引段文件。解分段器403然后从段存储设备402中读取这些文件。在要在段中某个时间偏移量处开始回放的情况下,解分段器403使用索引信息来跳到段中所定义的偏移量处。解分段器403然后从段存储设备402向解复用器404发送数据(例如,传输流)。
解复用器404将传输流分为音频、视频、和字幕基本流,并分别向音频解码器408、视频解码器407、以及字幕解码器406发送这些流。然后向负责音频的最终呈现的音频呈现设备409发送来自音频解码器408的输出。向负责视频的最终呈现的视频呈现设备410发送来自视频解码器407和字幕解码器406的输出。
图5示出了根据本原理的实施例的在段数据库(例如,段数据库305和段数据库401)中存在的4种示例记录类型500。记录类型包括以下各项:播放列表记录501、播放列表段(PlaylistSegment)记录502、段记录503、以及段删除(SegmentDelete)记录504。每个播放列表记录501对记录进行表示。每个段记录403对在盘上存储的记录段进行表示。每个播放列表段记录402将段记录503与播放列表记录501相关联。最终,段删除记录504用于跟踪被标记删除的记录段。
现在将给出与根据本原理的实施例的可以应用本原理的一些示例场景有关的描述。
如果用户正在观看实况广播内容且决定开始记录,即使用户直到事件开始之后的某个时间才提出记录请求,也需要使用可用的时移数据来创建事件的完整记录。作为示例,假定用户正在观看已于8:00pm开始的事件。在8:10pm,用户请求记录该事件。如果时移缓冲器包括从8:00pm到8:10pm的内容,创建整个事件的完整记录应该是可能的。本发明提供了用于将时移数据转换为记录而不要求为了形成新的记录而复制时移数据的手段。
在一些实例中,有可能让多个记录共享某些相同的内容。例如,假定事件A开始于8:00PM且结束于8:30PM,且事件B在同一频道上开始于8:30PM且结束于9:00PM。用户可以请求记录事件A和事件B。此外,用户的记录首选项可以指示所有记录应当早5分钟开始以及晚5分钟结束。在该场景下,存在重叠,其中,记录A的最后10分钟将与记录B的头10分钟包括相同内容。本原理通过允许将记录的重叠部分存储在一个位置并由两个记录来共享(而不是复制共享数据),提供了用于优化对这种重叠记录的存储的方式。
在大多数DVR上,用户可以要么选择要记录的特定事件,要么可以基于时间范围和频道来调度记录。当用户通过时间和频道来调度时,大多数DVR将记录示出为一般条目,该一般条目称为如“频道99上的手动记录8pm-10pm”之类的内容。记录可以包括多个事件,但是不存在用于了解该记录包括什么的方式。同样不存在用于挑出特定事件并对其播放的方式或在记录中保持事件并删除其余事件的方式。例如,上面引用的手动记录可能包括用户想要保留的从8:30pm-9pm的节目A的剧集,但是用户可能想要删除其余所有内容。本原理提供了对这些问题的解决方案。
现在将给出根据本原理的实施例的与创建记录有关的描述。
当开始记录时,首先向段数据库中添加新的播放列表记录501,以表示新的记录。向该播放列表记录分配新的唯一播放列表ID(PlaylistID),且用于时移(UsedForTimeshift)字段被设置为指示该播放列表是用于正常记录还是用于时移。
在创建播放列表之后,记录控制配置记录流水线300开始记录。然后分段器303在段数据库305中创建新的段记录503和播放列表段记录502,并开始将第一传输文件和索引文件写到盘上。
使用如下值来创建段记录503:
段ID(SegmentID)-段的唯一ID
传输文件(TransportFile)-用于存储该段的传输流数据的文件
索引文件(IndexFile)-用于存储该段的索引信息的文件
引用计数(ReferenceCount)-这是对引用该段的播放列表段记录的数目的计数。如果当前记录仅应用于一个播放列表,其将被设为1。
服务/节目ID(Service/ProgramID)-其识别正在记录的服务(频道)
开始时间(StartTime)-UTC格式的段的开始时间
结束时间(EndTime)-这是段的结束时间,但是在段完成之前是未知的。该值初始时设为0。
开始PTS(StartingPTS)-这是段中的第一个PTS。如果第一PTS在段创建时未知,则该值初始时设为0。
结束PTS(EndingPTS)-这是段中的结束PTS值。但是其初始时未知,并被设为0。
不连续(Discontinuity)-这是指示在段中存在PTS不连续性的标志。其初始时设置为“伪”。
使用以下值来创建播放列表段记录502:
播放列表ID(PlaylistID)-与该段相关联的播放列表记录的播放列表ID
段ID(SegmentID)-段记录的段ID
序列号(SequenceNumber)-这是针对向播放列表添加的每个段递增的整数。初始值是0。
开始偏移量(StartOffset)-这在初始时被设为0
结束偏移量(EndOffset)-这在初始时设为0
当记录时,针对每个段的每个播放列表来创建播放列表段记录502。从而,如果曾正在将数据记录到三个播放列表中,每个段记录将具有3个播放列表段记录502。此外,每个段记录将具有设为3的引用计数,因为存在引用该段的3个播放列表段记录502。
通常的段大小将包括约1至5分钟的数据。在完成每个段之后,分段器303使用该段的最终数据来更新段记录503。这将包括结束时间、结束PTS、不连续标志、以及开始PTS(如果其在记录开始时未知)。分段器303然后开始写入下一段,创建新的段记录503和播放列表段记录502。该过程继续,直到记录完成。
图6示出了根据本原理的实施例的用于开始记录的示例方法600。在步骤610,创建播放列表。在步骤620,确定针对所需服务,记录流水线是否已经存在。如果是,则方法600进行至步骤615。否则,方法600进行至步骤660。在步骤615,向现有记录流水线的分段器303添加播放列表。
在步骤620,确定分段器303是否在段的中间。如果是,则方法600进行至步骤625。否则,方法600进行至步骤645。
在步骤625,分段器303针对新的播放列表并使用针对当前位置的调整后的开始偏移量来创建播放列表段记录502。
在步骤630,递增与段有关的引用计数。
在步骤635,确定该段是否完成。如果是,则方法600进行至步骤640。否则,方法600进行至步骤650。
在步骤640,使用最终时间戳来更新段记录503。
在步骤645,分段器303写入新的段和索引文件(针对新的段),创建段记录503,并针对每个播放列表来创建播放列表段记录502。
在步骤660,创建记录流水线。
在步骤650,确定记录是否完成。如果是,则方法600进行至步骤655。否则,方法600返回步骤635。
在步骤655,停止记录(参见图7)。
图7示出了根据本原理的实施例的用于停止记录的示例方法700。在步骤705,从分段器303中移除播放列表。在步骤710,确定分段器303是否在段的中间。如果是,则方法700进行至步骤715。否则,方法700进行至步骤720。
在步骤715,调整与最后一个播放列表段记录502有关的结束偏移量。
在步骤720,确定该段是否包括一个或多个播放列表。如果是,则方法700终止。否则,方法700进行至步骤725。
在步骤725,拆除记录流水线。
图8示出了根据本原理的实施例的用于删除记录的示例方法800。在步骤805,查询播放列表段记录502以构建段列表,其中,播放列表ID=要删除的播放列表。在步骤810处,方法800以列表中的第一段开始。在步骤815,递减与段记录503有关的引用计数。在步骤820,确定是否引用计数=0。如果是,则方法800进行至步骤825。否则,方法800进行至步骤840。
在步骤825,使用段ID来创建段删除记录504。
在步骤830,确定是否存在更多的段。如果是,则方法800进行至步骤835。否则,方法800进行至步骤845。
在步骤835,方法800移动到列表中的下一段。
在步骤845,触发无用存储单元收集(garbarge collection)。
图9示出了根据本原理的实施例的用于无用存储单元收集段的示例方法900。在步骤905,确定是否存在段删除记录504。如果是,则方法900进行至步骤910。否则方法900终止。在步骤910,删除传输和索引文件。在步骤915,删除段记录503。在步骤920,删除段删除记录504。
图10示出了根据本原理的实施例的用于从记录的开始截断数据的示例方法1000。在步骤1005,查询具有最小段记录503的播放列表段记录502以得到段记录,其中,播放列表ID=要截断的播放列表。在步骤1010,确定是否当前时间-结束时间≥时移长度。如果是,则方法1000进行至步骤1015。否则方法进行至步骤1040。
在步骤1015,递减与段记录503有关的引用计数。在步骤1020,确定是否引用计数=0。如果是,则方法1000进行至步骤1025。否则,方法1000进行至步骤1035。
在步骤1025,使用段ID来创建段删除记录504。在步骤1030,触发无用存储单元收集。
在步骤1035,删除段记录503。
在步骤1040,使得延迟=时移长度-(当前时间-结束时间)。
图11示出了根据本原理的实施例的用于向记录的开始附加段的示例方法1100。方法1100可以用于向记录的开始预先附加(prepend)时移数据。在步骤1105,开始记录(参见图6)。在步骤1110,查询段记录503,其中,服务=我们正在记录的服务且开始时间≤期望开始时间,且结束时间>按开始时间降序排序的期望开始时间。在步骤1115,确定段中是否存在时间间隙。如果是,则方法1100进行至步骤1120。否则,方法进行至步骤1125。
在步骤1120,在间隙处执行截断,使得列表中不(再)存在间隙。
在步骤1125,方法1100在列表中的第二段开始,且序列号=0。
在步骤1130,创建播放列表段记录502,且递增引用计数。在步骤1135,确定列表中是否存在更多的段。如果是,则方法1100进行至步骤1140。否则,方法1100终止。在步骤1140,方法1100移动到下一段,且递减序列号。
图12示出了根据本原理的实施例的用于回放记录的示例方法1200。在步骤1205,查询具有最小序列号的播放列表段记录502,其中,播放列表ID=要播放的播放列表。在步骤1210,确定是否开始偏移量=0。如果是,则方法1200进行至步骤1215。否则,方法1200进行至步骤1250。
在步骤1215,将开始字节位置设为0。
在步骤1220,确定是否结束偏移量=0。如果是,则方法1200进行至步骤1225。否则,方法1200进行至步骤1255。
在步骤1225,将结束字节位置设为等于传输文件的大小。
在步骤1230,从开始字节位置到结束字节位置读取传输文件,且向解复用器404发送该数据。在步骤1235,递增序列号。在步骤1240,确定具有播放列表ID和序列号的播放列表段是否存在,其中,播放列表ID=要播放的播放列表。如果是,则方法1200进行至步骤1245。否则,方法1200进行至步骤1260。
在步骤1245,取回播放列表段和段。
在步骤1250,读取索引文件以找到开始偏移量的开始字节位置。
在步骤1255,读取索引文件以找到结束偏移量的结束字节位置。
在步骤1260,完成回放。
现在将给出与根据本原理的实施例的在记录操作期间添加/移除播放列表有关的描述。
在将相同数据用于多个播放列表的情况下,有时必须在记录操作期间从分段器303添加或移除播放列表。播放列表段记录502中的开始偏移量和结束偏移量字段用于该目的。假定我们的系统使用5分钟段。此外,假定向记录添加第二播放列表的段开始的2分钟。此时,创建新的播放列表段记录502,递增段记录的引用计数,且除了开始偏移量字段之外,如以前一样填写播放列表段中的字段。开始偏移量字段被设为120秒,以指示对该段的回放应当在段开始后120秒的偏移量处开始。类似地,如果将数据记录到多个播放列表且针对单一播放列表停止记录,则结束偏移量字段被设为从段的结束处开始的偏移量,在该偏移量处应当停止回放。
现在将给出根据本原理的实施例的与删除记录有关的描述。该过程也在上面关于图8描述过。
每个记录对应于播放列表。当删除记录时,在段数据库上执行以下动作:
1、删除该记录的播放列表记录501。
2、删除引用所删除播放列表ID的所有播放列表段记录502。
3、对于每个删除的播放列表段记录502,与删除的播放列表段记录502中的段ID相对应的段记录503将其引用计数字段递减1。
4、对于引用计数现在为0的每个段记录503,创建新的段删除记录504,其段ID被设置为具有0引用计数的段。
在数据库上必须以不可分割的方式(atomically)来执行上述4个操作,使得如果在操作期间发生电源故障,数据库保持一致的状态。
同样如上面关于图9描述的,后台进程周期性地查询段删除记录504,寻找对应的段记录503,删除索引文件和传输文件,然后移除段记录503和段删除记录504。这可以在删除之后立刻进行,或该操作可以推迟到需要盘空间时。
现在将给出根据本原理的实施例的与创建用于时移的播放列表有关的描述。
创建用于时移的播放列表与创建用于记录的播放列表相同,除了以下两个例外:
1、播放列表记录中的用于时移标志被设置为“真”。每次启动机顶盒200时,其用于时移被设为真的所有播放列表被删除,因为时移播放列表不需要通过重启来保留。
2、周期性地删除从记录的开始起的播放列表段。该过程遵循与用于删除整个播放列表相同的过程,只是不删除播放列表记录,以及仅移除指定的播放列表段记录502。周期性地删除播放列表段限制了时移缓冲器的大小。例如,如果我们想要维护30分钟的时移缓冲器,且我们的段大小是5分钟,我们将为播放列表保持不超过6个完整的段。当完成第7个段时,我们将删除第一个播放列表段,将播放列表的段的总数带回6。
现在将给出根据本原理的实施例的与将时移数据转换为记录有关的描述。该过程也在上面参考图10描述过。
当针对已在进行中的事件来请求记录时,向段数据库查询与该事件的时间范围和服务相匹配的段记录503。这是通过查询开始时间、结束时间、以及服务/节目ID字段来进行的。如果找到与所请求的事件的服务和时间范围相对应的段,则针对这些段中的每个段来创建新的播放列表段记录502,并插入序列号,使得它们在记录的开始处表现为正确的序列。根据需要来调整第一段的开始偏移量,以与事件的开始时间匹配。此外,递增每个所添加的段的引用计数字段。该过程允许向记录中添加用于时移的现有数据,而不实际复制或修改任何传输或索引文件。
现在将给出根据本原理的实施例的与回放记录或时移有关的描述。该过程也在上面关于图12描述过。
已经参考图4描述了基本回放。我们现在更详细地描述在回放操作期间由解分段器403执行的数据库操作。
当从开始处回放记录时,解分段器403查询具有最低序列号的播放列表段记录502。然后解分段器403查询对应的段记录503,以找到传输文件和索引文件。如果播放列表段记录上的开始偏移量为0,回放在传输文件的开始处开始。如果开始偏移量是非零,通过使用开始时间和开始PTS字段作为段的开始的基础时间,将偏移量转换为PTS偏移量。扫描索引文件,以找到传输文件中与指定PTS偏移量相对应的字节位置,且回放从该位置开始。
为了处理对播放列表中指定偏移量的寻找,解分段器403查询播放列表段记录502,以得到该播放列表的段ID的列表。然后解分段器403查询具有最低序列号的段记录503,以读取开始时间。这是播放列表的基础开始时间。然后解分段器403向基础时间添加指定的偏移量,以计算所需位置的绝对时间。最终,解分段器403通过比较作为播放列表一部分的段记录503的开始时间和结束时间字段,搜索包括指定时间在内的段记录503。这给出了包括所需位置在内的传输和索引文件。然后,通过使用段记录503上的开始时间和开始PTS字段作为段的基础时间并在然后计算所需PTS偏移量,将所需绝对时间转换为PTS时间戳。然后扫描索引文件,以找到传输文件中针对所需PTS偏移量的字节偏移量。然后解分段器403从传输文件中的该点处开始回放。
以与寻找操作相同的方式来处理不连续特技模式(快进和倒带)。例如,为了实现4x快进,解分段器403可以每0.5秒寻找播放列表中的前方(forward)2秒。这具有以4x正常回放速率在播放列表中扫描的效果。
为了确保寻找操作所要求的数据库操作是高效的,期望数据库401将提供正确的索引功能,以确保快速执行所要求的查询。此外,解分段器403可以对来自数据库401的数据进行高速缓存或预抓取,以增强性能。这些细节对于具体数据库实现来是说特定的,且超出本原理的范围。
现在将给出根据本原理的实施例的与对记录和子记录的创建和管理有关的描述。
本文所述原理允许用户针对定义的时间范围来创建频道上的记录,并管理所记录的内容,既作为连续记录,也作为记录块中的离散事件。
当用户使用本原理通过时间和频道来调度记录时,对包括电子节目指南(EPG)数据在内的数据库的查询发生,以确定在记录中将包括哪些事件。然后系统创建多个记录。父记录将是覆盖用户请求的时间范围的连续记录。与父记录并行地,系统将针对父记录包括的由EPG数据报告的每个事件来创建记录。下面表1示出了对此的示例。
表1
从而,在本示例中,本原理创建了4条记录,即使用户仅请求频道99上从8pm至10pm的记录。为了这么做,该系统实际上并未记录任何额外数据。本原理使用了如本文所述的分段记录架构。
由于在记录之间的父子关系,可以用树结构向用户呈现手动记录,该树结构可以展开并收起,其中,父记录作为该树的根节点。图13是示出了根据本原理的实施例的示例记录树索引1300的图。从而,对于上述示例,可能如图13所示向用户显示记录。在树索引1300的根1310处示出“手动记录-频道99上8PM至10PM”。将“节目A”、“节目B”、和“特别新闻-总统竞选辩论”示出为分支和/或叶子1311、1312、和1313。
然后用户可以选择播放该手动记录,且将看到作为连续块的所有内容。用户还可以决定仅播放记录中的节目A,且回放将开始于该剧集的开始处,且结束在节目A的剧集的结束处。
用户还可以决定删除该手动记录,但是选择保留该手动记录中包括的特定剧集。例如,用户可能想要保留节目A的剧集,但是删除剩余所有内容。在父记录和子记录之间共享实际记录的视频和音频数据,且对其进行引用计数,使得每个段中的数据仅在列表中任何记录都不再引用时才被从盘中移除。
本描述说明了本原理。从而将意识到:本领域技术人员能够设计出体现本原理且被包括在其精神和范围中的各种布置(尽管本文并未显式描述或示出)。
本文中记载的所有示例和条件性语言意在教育目的,以帮助读者理解由本发明人贡献的用于推进技术的本原理和概念,且应当将其理解为不将本原理限制为这种具体记载的示例和条件。
此外,本文中记载本原理的原理、方案、和实施例的所有声明及其具体示例意在包含其结构及功能等价物。此外,预期这种等价物包括当前已知的等价物和将来开发出的等价物,即,执行相同功能开发出的任何元素,而不管结构如何。
从而,例如本领域技术人员将意识到:本文呈现的框图表示体现本原理的说明性电路的概念视图。类似地,将意识到:任何流程图、流图、状态转移图、伪代码等表示可以在计算机可读介质中实质上表现且由计算机或处理器(不管这种计算机或处理器是否显式示出)来执行的各种过程。
可以通过使用专用硬件以及能够与恰当软件关联的执行软件的硬件来提供附图所示的各种单元的功能。当由处理器提供时,功能可以由单一专用处理器、单一共享处理器、或多个单独处理器(其中一些可以是共享的)来提供。此外,对术语“处理器”或“控制器”的显式使用不应当被解释为排他性地指代能够执行软件的硬件,且可以隐式地包括(但不限于)数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)、以及非易失性存储器。
还可以包括其他传统和/或定制的硬件。类似地,附图中所示的任何交换机仅是概念上的。其功能可以通过程序逻辑、专用逻辑、程序逻辑和专用逻辑的交互来执行,或甚至手动执行,可以由更特别理解上下文的实现方来选择具体的技术。
本文中,将短语“耦合”定义为意味着直接连接,或通过一个或多个中间组件间接连接。这种中间组件可以包括基于硬件的组件和基于软件的组件。
在本文的权利要求中,表达为用于执行指定功能的手段的任何单元意在包含用于执行该功能的任何方式,包括例如:a)执行该功能的电路元件的组合或b)具有任何形式的软件(因此包括固件、微代码等)与用于执行该软件以执行功能的恰当电路的组合。由这种权利要求限定的本原理驻留在以下事实中:由各种记载的手段提供的功能以与权利要求所要求的方式组合和引起在一起。从而将其视为可以提供这些功能的任何手段等于与本文的那些手段。
说明书中对本原理的“一个实施例”或“实施例”的引用及其其他变型意味着结合实施例描述的具体特征、结构、特性等被包括在本原理的至少一个实施例中。从而,在本说明书中各个位置上短语“在一个实施例中”或“在实施例中”的出现以及任何其他变型的出现不一定都表示相同的实施例。
应当意识到:在例如“A/B”、“A和/或B”、以及“A和B中至少一项”的情况下,对以下各项中任一项的使用意在包含仅对第一列出选项(A)的选择、或仅对第二列出选项(B)的选择、或对这两个选项(A和B)的选择:“/”、“和/或”、以及“至少一项”。作为另一示例,在“A、B和/或C”以及“A、B和C中至少一项”的情况下,这种措辞意在包含仅对第一列出选项(A)的选择、或仅对第二列出选项(B)的选择、或仅对第三列出选项(C)的选择、或对第一和第二列出选项(A和B)的选择、或对第一和第三列出选项(A和C)的选择、或对第二和第三列出选项(B和C)的选择、或对全部三个选项(A和B和C)的选择。如本领域和相关领域中普通技术人员容易意识到的:这可以针对列出的多个项目来扩展。
应当理解:可以用硬件、软件、固件、专用处理器、或其组合的各种形式来实现本原理的教导。
更优选地,将本原理的教导实现为硬件和软件的组合。此外,可以将软件实现为在程序存储单元上有形体现的应用程序。应用程序可以被上载到机器并由该机器来执行,该机器包括任何合适的架构。优选地,该机器是现在具有硬件的计算机平台上,该硬件是诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、以及输入/输出(“I/O”)接口。计算机平台还可以包括操作系统和微指令代码。本文描述的各种过程和功能可以是由CPU执行的微指令代码的一部分或应用程序的一部分或其任何组合。此外,各种其他外围单元可以连接到计算机平台,如附加数据存储单元和打印单元。
还应当理解:由于附图中示出的一些构成系统组件和方法优选地以软件来实现,因此在系统组件或过程功能块之间的实际连接可以根据对本原理进行编程的方式而不同。在给出本文的教导的情况下,本领域普通技术人员将能够构思出本原理的这些和类似实现或配置。
尽管本文已参考附图描述了说明性实施例,应当理解本原理不限于这些精确的实施例,且可以在不脱离本原理的范围或精神的情况下,由相关领域的普通技术人员在其中实现各种改变和修改。所有这种改变和修改预期被包括在由所附权利要求阐述的本原理的范围中。
Claims (22)
1.一种用于记录媒体内容的系统,包括:
分段器(303),用于在接入点边界上以周期性间隔将与所述媒体内容相对应的传输流数据和索引数据分割为离散文件,每个离散文件包括相应的传输段和相应的索引段;以及
段存储设备(304),用于存储所述离散文件。
2.根据权利要求1所述的系统,还包括段数据库(305),其中,所述分段器(303)在所述段数据库(305)中存储允许顺序回放传输段组的信息,每个传输段组对应于相应的节目。
3.根据权利要求1所述的系统,还包括用于在其中存储段记录的段数据库(305),每个段记录对应于相应的传输段并包括唯一的段标识符、用于对存储相应传输段的传输流数据的文件进行指示的传输文件指示符、用于对存储相应传输段的索引信息的文件进行指示的索引文件指示符、相应传输段的开始时间、以及相应传输段的结束时间。
4.根据权利要求1所述的系统,还包括:记录控制设备(306),用于将来自其他记录的段预先附加到新记录的开始之前,以用于无缝回放包括所预先附加的段在内的新记录。
5.根据权利要求1所述的系统,还包括:记录控制设备(306),用于从进行中的记录的开始处截断段,以对具有固定长度的滚动缓冲器进行仿真。
6.根据权利要求1所述的系统,其中,使用现有或传统文件系统来存储所述离散文件。
7.一种用于记录媒体内容的方法,包括:
在接入点边界上以周期性间隔将与所述媒体内容相对应的传输流数据和索引数据分割(645)为离散文件,每个离散文件包括相应的传输段和相应的索引段;以及
将所述离散文件存储(645)到段存储设备中。
8.根据权利要求7所述的方法,还包括:在段数据库中存储(645)允许顺序回放传输段组的信息,每个传输段组对应于相应的节目。
9.根据权利要求7所述的方法,还包括:在段数据库中存储(645)段记录,每个段记录对应于相应的传输段并包括唯一的段标识符、用于对存储相应传输段的传输流数据的文件进行指示的传输文件指示符、用于对存储相应传输段的索引信息的文件进行指示的索引文件指示符、相应传输段的开始时间、以及相应传输段的结束时间。
10.根据权利要求7所述的方法,还包括:将来自其他记录的段预先附加(1100)到新记录的开始之前,以用于无缝回放包括所预先附加的段在内的新记录。
11.根据权利要求7所述的方法,还包括:从进行中的记录的开始处截断(1000)段,以对具有固定长度的滚动缓冲器进行仿真。
12.根据权利要求7所述的方法,其中,使用现有或传统文件系统来存储所述离散文件。
13.一种计算机可读存储介质,具有在其中体现的计算机可读程序代码,所述计算机可读程序代码用于使得计算机系统执行权利要求7所述的方法。
14.一种用于回放媒体内容的系统,包括:
段存储设备(402),用于存储离散文件,每个离散文件包括从与所述媒体内容相对应的传输流数据和索引数据获得的相应的传输段和相应的索引段;以及
解分段器(403),用于将来自所述离散文件的传输段重新组装,以无缝回放所述传输段。
15.根据权利要求14所述的系统,还包括:段数据库(401),其中,所述解分段器(403)从所述段数据库(401)中取回允许顺序回放传输段组的信息,每个传输段组对应于相应的节目。
16.根据权利要求14所述的系统,还包括用于在其中存储段记录的段数据库(401),每个段记录对应于相应的传输段以及并包括唯一的段标识符、用于对存储相应传输段的传输流数据的文件进行指示的传输文件指示符、用于对存储相应传输段的索引信息的文件进行指示的索引文件指示符、相应传输段的开始时间、以及相应传输段的结束时间。
17.根据权利要求14所述的系统,使用现有或传统文件系统来存储所述离散文件。
18.一种用于回放媒体内容的方法,包括:
在段存储设备中存储(645)离散文件,每个离散文件包括从与所述媒体内容相对应的传输流数据和索引数据获得的相应的传输段和相应的索引段;以及
将来自所述离散文件的传输段重新组装(1230),以无缝回放所述传输段。
19.根据权利要求18所述的方法,还包括:从段数据库中取回允许顺序回放传输段组的信息,每个传输段组对应于相应的节目。
20.根据权利要求18所述的方法,还包括在段数据库中存储段记录,每个段记录对应于相应的传输段并包括唯一的段标识符、用于对存储相应传输段的传输流数据的文件进行指示的传输文件指示符、用于对存储相应传输段的索引信息的文件进行指示的索引文件指示符、相应传输段的开始时间、以及相应传输段的结束时间。
21.根据权利要求18所述的系统,其中,使用现有或传统文件系统来存储所述离散文件。
22.一种计算机可读存储介质,具有在其中体现的计算机可读程序代码,所述计算机可读程序代码用于使得计算机系统执行权利要求18所述的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261584351P | 2012-01-09 | 2012-01-09 | |
US61/584,351 | 2012-01-09 | ||
PCT/US2012/070903 WO2013106184A1 (en) | 2012-01-09 | 2012-12-20 | Managing time-shift data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104041013A true CN104041013A (zh) | 2014-09-10 |
Family
ID=47501542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280066585.6A Pending CN104041013A (zh) | 2012-01-09 | 2012-12-20 | 管理时移数据 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9640220B2 (zh) |
EP (1) | EP2803185A1 (zh) |
JP (1) | JP2015510652A (zh) |
KR (1) | KR20140111280A (zh) |
CN (1) | CN104041013A (zh) |
BR (1) | BR112014016623A8 (zh) |
WO (1) | WO2013106184A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108257624A (zh) * | 2016-12-29 | 2018-07-06 | 汤姆逊许可公司 | 用于存储音频/视频数据的方法及对应装置 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9584847B2 (en) * | 2013-02-12 | 2017-02-28 | Ericsson Ab | Rendering content for personal over-the-top network video recorder |
US9712867B2 (en) * | 2013-09-16 | 2017-07-18 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Application specific policy implementation and stream attribute modification in audio video (AV) media |
US20160246995A1 (en) * | 2015-02-25 | 2016-08-25 | Barracuda Networks, Inc. | Method and apparatus for authorized access to local files on a copy appliance |
WO2020210403A1 (en) * | 2019-04-08 | 2020-10-15 | Zycada Networks, Inc., | Context-aware content delivery |
US11869242B2 (en) * | 2020-07-23 | 2024-01-09 | Rovi Guides, Inc. | Systems and methods for recording portion of sports game |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20080049574A1 (en) * | 2004-09-13 | 2008-02-28 | Hiroshi Yahata | Data Processor |
US20080101764A1 (en) * | 2006-11-01 | 2008-05-01 | General Instrument Corporation | Method and Apparatus for Managing Multimedia Content Recording Assets |
CN102217313A (zh) * | 2011-05-26 | 2011-10-12 | 华为技术有限公司 | 重排、抽取分片中媒体数据的方法、设备及系统 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9915465D0 (en) | 1999-07-02 | 1999-09-01 | Lenzie Robert S | Identified preferred indexes for databases |
WO2003025933A1 (en) * | 2001-09-10 | 2003-03-27 | Thomson Licensing S.A. | Method and apparatus for creating an indexed playlist in a digital audio data player |
JP4099973B2 (ja) | 2001-10-30 | 2008-06-11 | 松下電器産業株式会社 | 映像データ送信方法及び映像データ受信方法、並びに映像監視システム |
US20120087637A1 (en) * | 2002-01-29 | 2012-04-12 | Logan James D | Methods and apparatus for recording and replaying video broadcasts |
JP4228767B2 (ja) * | 2003-04-25 | 2009-02-25 | ソニー株式会社 | 再生装置、再生方法、再生プログラムおよび記録媒体 |
US20040243555A1 (en) | 2003-05-30 | 2004-12-02 | Oracle International Corp. | Methods and systems for optimizing queries through dynamic and autonomous database schema analysis |
US20060064733A1 (en) * | 2004-09-20 | 2006-03-23 | Norton Jeffrey R | Playing an audiovisual work with dynamic choosing |
JP4081772B2 (ja) * | 2005-08-25 | 2008-04-30 | ソニー株式会社 | 再生装置および再生方法、プログラム、並びにプログラム格納媒体 |
US20070118873A1 (en) * | 2005-11-09 | 2007-05-24 | Bbnt Solutions Llc | Methods and apparatus for merging media content |
US20070265966A1 (en) * | 2006-05-15 | 2007-11-15 | The Directv Group, Inc. | Content delivery systems and methods to operate the same |
US7917499B2 (en) | 2006-06-30 | 2011-03-29 | Microsoft Corporation | Updating adaptive, deferred, incremental indexes |
JP4779921B2 (ja) * | 2006-10-05 | 2011-09-28 | ソニー株式会社 | データ処理装置及びデータ処理方法、並びにコンピュータ・プログラム |
US8954596B2 (en) * | 2010-04-02 | 2015-02-10 | Netflix, Inc. | Dynamic virtual chunking of streaming media content |
US9271021B2 (en) * | 2011-03-31 | 2016-02-23 | Verizon Patent And Licensing Inc. | Delivery of streaming media content |
US8510555B2 (en) * | 2011-04-27 | 2013-08-13 | Morega Systems Inc | Streaming video server with virtual file system and methods for use therewith |
-
2012
- 2012-12-20 WO PCT/US2012/070903 patent/WO2013106184A1/en active Application Filing
- 2012-12-20 KR KR1020147019114A patent/KR20140111280A/ko not_active Application Discontinuation
- 2012-12-20 US US14/363,558 patent/US9640220B2/en not_active Expired - Fee Related
- 2012-12-20 EP EP12810014.6A patent/EP2803185A1/en not_active Withdrawn
- 2012-12-20 BR BR112014016623A patent/BR112014016623A8/pt not_active IP Right Cessation
- 2012-12-20 CN CN201280066585.6A patent/CN104041013A/zh active Pending
- 2012-12-20 JP JP2014551266A patent/JP2015510652A/ja not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093790A1 (en) * | 2000-03-28 | 2003-05-15 | Logan James D. | Audio and video program recording, editing and playback systems using metadata |
US20080049574A1 (en) * | 2004-09-13 | 2008-02-28 | Hiroshi Yahata | Data Processor |
US20080101764A1 (en) * | 2006-11-01 | 2008-05-01 | General Instrument Corporation | Method and Apparatus for Managing Multimedia Content Recording Assets |
CN102217313A (zh) * | 2011-05-26 | 2011-10-12 | 华为技术有限公司 | 重排、抽取分片中媒体数据的方法、设备及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108257624A (zh) * | 2016-12-29 | 2018-07-06 | 汤姆逊许可公司 | 用于存储音频/视频数据的方法及对应装置 |
Also Published As
Publication number | Publication date |
---|---|
KR20140111280A (ko) | 2014-09-18 |
WO2013106184A1 (en) | 2013-07-18 |
EP2803185A1 (en) | 2014-11-19 |
JP2015510652A (ja) | 2015-04-09 |
US9640220B2 (en) | 2017-05-02 |
US20140369666A1 (en) | 2014-12-18 |
BR112014016623A8 (pt) | 2017-07-04 |
BR112014016623A2 (pt) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10412451B2 (en) | Storing same channel overlapping recordings | |
US9641791B2 (en) | Bandwidth aware digital video recording (DVR) scheduling | |
CA2790227C (en) | Content fragment storage and delivery | |
EP1570657B1 (en) | Tracking of partially viewed video content so that they can be marked for deletion when a personal video recorder runs out of space | |
US20220394208A1 (en) | Network Storage Device and Method | |
EP2269191B1 (en) | Method and apparatus for replacement of audio data in a recorded audio/video stream | |
US20200329269A1 (en) | Network Recorder Buffer | |
CN102415095B (zh) | 记录并且呈现由拼接的段形成的节目的数字视频录像机 | |
CN104041013A (zh) | 管理时移数据 | |
WO2013016626A1 (en) | Variable real time buffer and apparatus | |
CN104170373A (zh) | 创建和管理子记录 | |
JP6278529B2 (ja) | メディアネットワーク内のローカルコンテンツ格納のためのシステム、方法、及びコンピュータ可読媒体 | |
JP2009094906A (ja) | 番組情報管理サーバ及び番組情報取得装置並びに番組情報取得システム | |
US9258175B1 (en) | Method and system for sharing playlists for content stored within a network | |
KR101328942B1 (ko) | 방송 프로그램에 대한 방송 정보를 처리하는 방법 및 장치 | |
GB2491842A (en) | Storing content related to programmes | |
KR20070013055A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140910 |