在数字电视时移中优化磁盘空间利用率的方法及装置的制作方法

文档序号:7788067阅读:426来源:国知局
专利名称:在数字电视时移中优化磁盘空间利用率的方法及装置的制作方法
技术领域
本发明涉及数字电视技术,特别涉及在数字电视时移中优化磁盘空间利用率的方法及装置。
背景技术
数字电视中的“时移”是指将节目录制在存储器中供将来使用。观众在观看数字电视节目时,可以随时按暂停或快退/快进键,也可以选择几天前的电视节目进行观看。现有技术中,比较常见的是由网络电视提供时移功能,其主要实现位于服务器端,可以参考申请号为“200610147769.1”,发明名称为《一种具有时移功能的直播服务器及实现方法》的中国发明专利申请,以及申请号为“200510111252.2”,发明名称为《一种网络互动电视系统实现时移功能的方法》的中国发明专利申请。这种类型的时移方案主要由广电服务提供商采用,特点是由服务器端屏蔽了复杂度,客户端可以跳转至任意感兴趣的区域。目前,也出现了一些由电视端提供时移功能的技术方案,即由电视端将一定时间范围内的数据录制于本地以提供给用户作时移使用。在时移策略上主要有以下两种:第一种:定时间定空间根据当前码流,假设一个码率上限,据此计算出当前磁盘可以录制多长时间的节目,然后就在设定好的空闲磁盘空间上录制节目直到占满磁盘空间,同时提供给上层的可播放的数据是固定。这种方法的缺点有:1)没有合理利用空间,该方法是基于所假设的码率上限来计算可以录制多长时间的节目,而如果按实际码率进行计算可能在当前空间下可以给上层提供更多时间的时移内容;2)如果此时有其它应用占据磁盘空间,就可能导致时移内容达不到当初设定的时长。第二种:定时间不定空间在公开号为“CN101146196A”,发明名称为《控制时移存储空间的方法和设备及使用其的电视接收机》的中国发明专利申请中,当时移实例需要增加空间时,就为其分配更多的空间。但当时移实例不需要那么多空间的情况下,并不会主动释放多余的空间。在公开号为“US2006171658A1”,发明名称为“Use trim module to delete theoldest data”的美国专利申请中,增加了剪切文件模块,复杂化了文件操作。在写入新录制数据的同时剪切掉过期数据,而通常时移过程是将新录制数据覆盖过期数据,多出来的剪切功能会降低时移性能。上述现有技术方案没有考虑如何在磁盘空间不足的情况下更加合理地利用磁盘空间,并与其他应用合理共存。并且,上述现有技术都是针对单个调谐器(Tuner)作时移,而随着越来越多的双调谐器硬件的普及,需要在两个或者两个以上调谐器的情况下提供时移功能
发明内容
本发明提供了一种在数字电视时移中优化磁盘空间利用率的方法及装置,以根据需要动态改变时移节目所占用的磁盘空间大小,避免磁盘空间不足时磁盘空间利用率低的问题。本发明提供的一种在数字电视时移中优化磁盘空间利用率的方法,包括:在录制时移节目的过程中,如果当前已录制的时移节目的时长已超过设定的最大时移时间,并且当前所接收到的传输流的流比特率小于平均流比特率,则删除录制时间最久的时移节目,以释放多余的磁盘碎片,并将新录制的时移节目覆盖当前文件中最久录制的时移节目;其中,最大时移时间是已录制的时移节目能够存储在磁盘中的最大时长。该方法可以进一步包括:如果当前已录制的时移节目的时长已超过设定的最大时移时间,且当前所接收到的传输流的流比特率大于等于平均流比特率,则判断新录制的时移节目是否会覆盖最大时移时间内的时移节目,如果不会覆盖,则将新录制的时移节目覆盖当前文件中最久录制的时移节目,如果会覆盖,则判断是否存在空闲磁盘空间,如果存在,申请新的磁盘碎片用于存储新录制的时移节目,如果不存在,将新录制的时移节目覆盖当前文件中最久录制的时移节目;如果当前已录制的时移节目的时长未超过设定的最大时移时间,则判断是否存在空闲磁盘空间,如果存在,申请新的磁盘碎片用于存储新录制的时移节目,如果不存在,将新录制的时移节目覆盖当前文件中最久录制的时移节目。当同时有多个时移实例正在进行时移节目录制时;该方法可以进一步包括:预先为所述多个时移实例设置获取磁盘空间的优先级,并在磁盘空间不足时,根据各时移实例的优先级进行磁盘空间分配。在磁盘空间不足时,可以按照以下方式进行磁盘空间分配:无论时移实例的优先级是否相同,优先满足已录制的时移节目的时长尚未达到其对应的最小时移时间的时移实例的需求,使所述时移实例所录制的时移节目的时长能够达到其对应的最小时移时间;强制征用优先级低的时移实例的磁盘空间,使优先级高的时移实例获得尽量多的磁盘空间直至所述优先级高的时移实例的已录制的时移节目的时长达到其对应的最大时移时间,同时使被强制征用磁盘空间的时移实例的已录制的时移节目的时长不低于其对应的最小时移时间;其中,最小时移时间是在磁盘空间允许的情况下,时移实例的已录制的时移节目至少要达到的时长。较佳地,通过磁盘碎片列表和文件系统的inode表,对已录制的时移节目所占用的磁盘空间的磁盘碎片进行管理;所述磁盘碎片列表为双向链表,其中的磁盘碎片以录制的时移节目的先后顺序进行排列,在读取已录制的时移节目时,先查找磁盘碎片列表,再确定下一个要读取的磁盘碎片的物理地址;文件系统的inode表描述了已录制的时移节目所占用的磁盘空间。本发明提供的一种在数字电视时移中优化磁盘空间利用率的装置,包括:用户接口模块和文件管理模块,其中:用户接口模块提供了与数字电视用户进行交互的接口,用于根据用户的设置设定最大时移时间,所述最大时移时间是已录制的时移节目能够存储在磁盘中的最大时长;文件管理模块以磁盘碎片为最小管理单元,通过磁盘碎片列表将构成当前文件的所有磁盘碎片串联起来,在录制时移节目的过程中,如果当前已录制的时移节目的时长已超过最大时移时间,并且当前所接收到的传输流的流比特率小于平均流比特率,则删除当前文件中录制时间最久的时移节目,将相应的磁盘碎片从磁盘碎片列表中删除,并将新录制的时移节目覆盖当前文件中最久录制的时移节目。该装置中还可以包括:码流信息提取模块和视频信息索引模块;所述码流信息提取模块,用于从接收到的传输流中提取码流信息,对码流信息进行处理之后发送给视频信息索引模块,将传输流发送给文件管理模块;所述码流信息包括:绝对时间、绝对数据偏移量和关键帧标签;处理之后的码流信息包括:录制时间、数据偏移量和帧类型;所述视频信息索引模块,用于将码流信息提取模块所提供的信息以画面组(GOP)为单位,构造成以录制时间先后顺序排列的列表,并提供快速搜索和查询功能;所述文件管理模块,还用于根据视频信息索引模块所构造的列表,将当前文件中数据偏移量与关键帧的绝对偏移量对应起来,对磁盘碎片进行管理。当所述装置中同时有多个时移实例正在进行时移节目录制时;每个时移实例共用一个文件管理模块,文件管理模块通过时移实例对应的标签进行区分;所述用户接口模块,还用于根据用户的设置设定所述多个时移实例获取磁盘空间的优先级;在磁盘空间不足时,所述文件管理模块还用于根据各时移实例的优先级进行磁盘空间分配。较佳地,所述用户接口模块,还用于根据用户的设置分别为各时移实例设定对应的最小时移时间和最大时移时间,所述最小时移时间是在磁盘空间允许的情况下,时移实例的已录制的时移节目至少要达到的时长;在磁盘空间不足时,无论时移实例的优先级是否相同,文件管理模块优先对已录制的时移节目的时长尚未达到其对应的最小时移时间的时移实例进行磁盘空间分配,使所述时移实例所录制的时移节目的时长能够达到其对应的最小时移时间;并强制征用优先级低的时移实例的磁盘空间,使优先级高的时移实例获得尽量多的磁盘空间直至所述优先级高的时移实例的已录制的时移节目的时长达到其对应的最大时移时间,同时使被强制征用磁盘空间的时移实例的已录制的时移节目的时长不低于其对应的最小时移时间。较佳地,文件管理模块所构造的磁盘碎片列表为双向链表,在读取已录制的时移节目时,所述文件管理模块先查找磁盘碎片列表,再确定下一个要读取的磁盘碎片的物理地址。由上述技术方案可见,本发明在录制时移节目的过程中,通过判断当前已录制的时移节目的时长是否已超过设定的最大时移时间,并判断当前所接收到的传输流的流比特率是否小于平均流比特率,在上述两个条件均满足的情况下,删除录制时间最久的时移节目,以释放多余的磁盘碎片,并将新录制的时移节目覆盖当前文件中最久录制的时移节目。从而,随着流比特率变小,可以主动释放多余的磁盘碎片,使得时移节目所占用的磁盘空间随着传输流的流比特率的大小起伏而增减,从而达到了根据需要动态改变时移节目所占用的磁盘空间大小的目的,避免了磁盘空间不足时磁盘空间利用率低的问题。并且,本发明提供的多时移实例方案通过为各时移实例设置用于获取磁盘空间的优先级,并在磁盘空间不足时,根据各时移实例的优先级进行磁盘空间分配,实现了在多个时移实例间动态、合理地分配磁盘空间的目的,在磁盘空间不足的情况下,可以降低其中一个时移实例所占用的磁盘空间给另一个时移实例使用,从而使各时移实例能够互补利用磁盘空间。此外,采用本发明使得时移实例可以与其他应用共用一个文件系统,文件管理模块驱动层添加的新功能对文件系统的其他功能没有影响。


图1为本发明一较佳在数字电视时移中优化磁盘空间利用率的方法的流程示意图;图2为本发明一较佳在数字电视时移中优化磁盘空间利用率的装置的组成结构示意图;图3为单个时移实例的主界面示意图;图4为两个时移实例的同时运行的主界面示意图;图5为本发明用户接口模块与文件管理模块的交互示意图;图6为绝对偏移量与文件偏移量在文件管理模块中间件层中的映射关系示意图;图7为本发明合并文件碎片的流程示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。本发明的主要思想是:在录制时移节目的过程中,如果当前已录制的时移节目的时长已超过设定的最大时移时间,并且当前所接收到的传输流的流比特率小于平均流比特率,则删除录制时间最久的时移节目,以释放多余的磁盘碎片,并将新录制的时移节目覆盖当前文件中最久录制的时移节目。基于上述主要思想,随着流比特率变小,可以主动释放多余的磁盘碎片,使得时移节目所占用的磁盘空间随着传输流的流比特率的大小起伏而增减,从而达到根据需要动态改变时移节目所占用的磁盘空间大小的目的,避免磁盘空间不足时磁盘空间利用率低的问题。本发明中,最大时移时间是已录制的时移节目能够存储在磁盘中的最大时长;最小时移时间是在磁盘空间允许的情况下,时移实例的已录制的时移节目至少要达到的时长。本发明包括单时移实例方案和多时移实例共存方案。多时移实例共存方案是在单时移实例方案的基础上,为各时移实例设置获取磁盘空间的优先级,并在磁盘空间不足时,根据各时移实例的优先级进行磁盘空间分配,从而使各时移实例能够互补利用磁盘空间。
图1为本发明一较佳在数字电视时移中优化磁盘空间利用率的方法的流程示意图。图1所示方法包括以下步骤:步骤101:进行时移功能设置。在开始时移录制前,需要通过用户接口模块或利用默认数据设置时移功能选项,包括设置最大时移时间和最小时移时间等。步骤102:开始时移录制。步骤103:判断当前已录制的时移节目的时长是否已达到设定的最大时移时间,如果是,执行步骤104,否则,执行步骤108.
步骤104:判断当前所接收到的传输流的流比特率是否小于平均流比特率,如果是,执行步骤106,否则,执行步骤105。步骤105:判断新录制的时移节目是否会覆盖最大时移时间内的时移节目,即判断是否需要申请磁盘碎片,如果是,执行步骤108,否则,执行步骤107。步骤106:删除录制时间最久的时移节目,以释放多余的磁盘碎片。步骤107:将新录制的时移节目覆盖当前文件中最久录制的时移节目,返回步骤102。步骤108:判断是否存在空闲磁盘空间,如果存在,执行步骤109,否则,执行步骤107。步骤109:根据流比特率大小、磁盘剩余空间、以及实际的磁盘空间大小,申请新的磁盘碎片用于存储新录制的时移节目,并返回步骤102。对应于上述方法,本发明提供了一种在数字电视时移中优化磁盘空间利用率的装置,该装置包括:用户接口模块和文件管理模块,其中:用户接口模块提供了与数字电视用户进行交互的接口,用于根据用户的设置设定最大时移时间;文件管理模块以磁盘碎片为最小管理单元,通过磁盘碎片列表将构成当前文件的所有磁盘碎片串联起来,在录制时移节目的过程中,如果当前已录制的时移节目的时长已超过最大时移时间,并且当前所接收到的传输流的流比特率小于平均流比特率,则删除当前文件中录制时间最久的时移节目,将相应的磁盘碎片从磁盘碎片列表中删除,并将新录制的时移节目覆盖当前文件中最久录制的时移节目。上述用户接口模块和文件管理模块是为了达到优化磁盘空间利用率的目的,该装置最少要包含的模块。在实际应用中,录制的时移节目需要供用户播放,并提供快速搜索、查找功能,以提供快退、快进功能,为此,需要在装置中设置码流信息提取模块和视频信息模块。码流信息提取模块,用于从接收到的传输流中提取码流信息,对码流信息进行处理之后发送给视频信息索引模块,将传输流发送给文件管理模块;码流信息包括:绝对时间、绝对数据偏移量和关键帧标签;处理之后的码流信息包括:录制时间、数据偏移量和帧类型;视频信息索引模块,用于将码流信息提取模块所提供的信息以画面组(GOP)为单位,构造成以录制时间先后顺序排列的列表,并提供快速搜索和查询功能;文件管理模块还用于根据视频信息索引模块所构造的列表,将当前文件中数据偏移量与关键帧的绝对偏移量对应起来,对磁盘碎片进行管理。本发明中,关键帧即I帧。下面结合附图,以双时移实例为例,对本发明装置进行说明。图2为本发明一较佳在数字电视时移中优化磁盘空间利用率的装置的组成结构示意图。图中所示两个时移实例将录制的数据保存在同一个可编辑文件中。两个时移实例中对应的功能模块是相同的,下面详细说明单个时移实例中的各个模块。图2所示装置中包括四个基本模块:码流信息提取模块、视频信息索引模块、文件管理模块和用户接口模块。其中:传输流数据I的数据来自于同轴电缆,经过电视调谐器和解复用处理到达码流信息提取模块。传输流的编码格式可以是MPEG2,也可以是H.264,对于码流信息提取模块来说,传输流的编码格式不同,获取帧信息的方法不一样。码流信息提取模块提取当前视频流的绝对时间信息、绝对数据偏移量信息以及关键帧标签,进行处理之后,得到以下信息:I)录制时间:从O开始,用以取代传输流中的时间标签。利用录制过程提取当前时间信息,避免了传输流中时间标签不准确的问题。2)数据偏移量:从O开始,在录制过程中以字节为单位一直递增。提供给用户接口进行视频跳转或者快进快退。3)帧类型:可以是I帧、B帧或P帧。录制时间与数据偏移量都是从O开始一直递增。传输流的包头以0x47开始,假定每个传输流的包由188个字节组成。根据传输流的组成,码流信息提取模块可以通过硬件,也可以通过软件方式将所有帧的基本信息提取出来。处理完一个帧的信息,就将此信息发送给视频信息索引模块,视频信息索引模块负责将所有帧组织成一个队列。对于原始的传输流数据1,码流信息提取模块可以将传输流包中的时间标签修改成当前时间,这样在以后的播放过程中就可以直接使用传输流包中的时间标签,从而避免由于数据在解码器中缓冲过多而造成播放时间不准确的问题。也可以不修改时间标签,直接将原始数据输出至文件管理模块,这样就需要解码器缓冲区尽可能地小。关键巾贞信息输入到视频信息处理模块,以GOP (Group of Picture,画面组)为单位组织成以时间先后顺序排列的队列。每个GOP信息的组成为:
权利要求
1.一种在数字电视时移中优化磁盘空间利用率的方法,其特征在于,包括: 在录制时移节目的过程中,如果当前已录制的时移节目的时长已超过设定的最大时移时间,并且当前所接收到的传输流的流比特率小于平均流比特率,则删除录制时间最久的时移节目,以释放多余的磁盘碎片,并将新录制的时移节目覆盖当前文件中最久录制的时移节目; 其中,最大时移时间是已录制的时移节目能够存储在磁盘中的最大时长。
2.根据权利要求1所述的方法,其特征在于,该方法进一步包括: 如果当前已录制的时移节目的时长已超过设定的最大时移时间,且当前所接收到的传输流的流比特率大于等于平均流比特率,则判断新录制的时移节目是否会覆盖最大时移时间内的时移节目,如果不会覆盖,则将新录制的时移节目覆盖当前文件中最久录制的时移节目,如果会覆盖,则判断是否存在空闲磁盘空间,如果存在,申请新的磁盘碎片用于存储新录制的时移节目,如果不存在,将新录制的时移节目覆盖当前文件中最久录制的时移节目; 如果当前已录制的时移节目的时长未超过设定的最大时移时间,则判断是否存在空闲磁盘空间,如果存在,申请新的磁盘碎片用于存储新录制的时移节目,如果不存在,将新录制的时移节目覆盖当前文件中最久录制的时移节目。
3.根据权利要求1所述的方法,其特征在于: 同时有多个时移实例正在进行时移节目录制; 该方法进一步包括:预先 为所述多个时移实例设置获取磁盘空间的优先级,并在磁盘空间不足时,根据各时移实例的优先级进行磁盘空间分配。
4.根据权利要求3所述的方法,其特征在于,在磁盘空间不足时,按照以下方式进行磁盘空间分配: 无论时移实例的优先级是否相同,优先满足已录制的时移节目的时长尚未达到其对应的最小时移时间的时移实例的需求,使所述时移实例所录制的时移节目的时长能够达到其对应的最小时移时间; 强制征用优先级低的时移实例的磁盘空间,使优先级高的时移实例获得尽量多的磁盘空间直至所述优先级高的时移实例的已录制的时移节目的时长达到其对应的最大时移时间,同时使被强制征用磁盘空间的时移实例的已录制的时移节目的时长不低于其对应的最小时移时间; 其中,最小时移时间是在磁盘空间允许的情况下,时移实例的已录制的时移节目至少要达到的时长。
5.根据权利要求1至4任一项所述的方法,其特征在于: 通过磁盘碎片列表和文件系统的inode表,对已录制的时移节目所占用的磁盘空间的磁盘碎片进行管理; 所述磁盘碎片列表为双向链表,其中的磁盘碎片以录制的时移节目的先后顺序进行排列,在读取已录制的时移节目时,先查找磁盘碎片列表,再确定下一个要读取的磁盘碎片的物理地址; 文件系统的inode表描述了已录制的时移节目所占用的磁盘空间。
6.一种在数字电视时移中优化磁盘空间利用率的装置,其特征在于,包括:用户接口模块和文件管理模块,其中: 用户接口模块提供了与数字电视用户进行交互的接口,用于根据用户的设置设定最大时移时间,所述最大时移时间是已录制的时移节目能够存储在磁盘中的最大时长; 文件管理模块以磁盘碎片为最小管理单元,通过磁盘碎片列表将构成当前文件的所有磁盘碎片串联起来,在录制时移节目的过程中,如果当前已录制的时移节目的时长已超过最大时移时间,并且当前所接收到的传输流的流比特率小于平均流比特率,则删除当前文件中录制时间最久的时移节目,将相应的磁盘碎片从磁盘碎片列表中删除,并将新录制的时移节目覆盖当前文件中最久录制的时移节目。
7.根据权利要求6所述的装置,其特征在于,该装置中还包括:码流信息提取模块和视频信息索引模块; 所述码流信息提取模块,用于从接收到的传输流中提取码流信息,对码流信息进行处理之后发送给视频信息索引模块,将传输流发送给文件管理模块;所述码流信息包括:绝对时间、绝对数据偏移量和关键帧标签;处理之后的码流信息包括:录制时间、数据偏移量和帧类型; 所述视频信息索引模块,用于将码流信息提取模块所提供的信息以画面组(GOP)为单位,构造成以录制时间先后顺序排列的列表,并提供快速搜索和查询功能; 所述文件管理模块,还用于根据视频信息索引模块所构造的列表,将当前文件中数据偏移量与关键帧的绝对偏移量对应起来,对磁盘碎片进行管理。
8.根据权利要求6或7所述的装置,其特征在于: 所述装置中同时有多个时移实例正在进行时移节目录制; 每个时移实例共用一个 文件管理模块,文件管理模块通过时移实例对应的标签进行区分; 所述用户接口模块,还用于根据用户的设置设定所述多个时移实例获取磁盘空间的优先级; 在磁盘空间不足时,所述文件管理模块还用于根据各时移实例的优先级进行磁盘空间分配。
9.根据权利要求8所述的装置,其特征在于: 所述用户接口模块,还用于根据用户的设置分别为各时移实例设定对应的最小时移时间和最大时移时间,所述最小时移时间是在磁盘空间允许的情况下,时移实例的已录制的时移节目至少要达到的时长; 在磁盘空间不足时,无论时移实例的优先级是否相同,文件管理模块优先对已录制的时移节目的时长尚未达到其对应的最小时移时间的时移实例进行磁盘空间分配,使所述时移实例所录制的时移节目的时长能够达到其对应的最小时移时间;并强制征用优先级低的时移实例的磁盘空间,使优先级高的时移实例获得尽量多的磁盘空间直至所述优先级高的时移实例的已录制的时移节目的时长达到其对应的最大时移时间,同时使被强制征用磁盘空间的时移实例的已录制的时移节目的时长不低于其对应的最小时移时间。
10.根据权利要求6或7所述的装置,其特征在于: 文件管理模块所构造的磁盘碎片列表为双向链表,在读取已录制的时移节目时,所述文件管理模块先查找磁盘碎片列表,再确定下一个要读取的磁盘碎片的物理地址。
全文摘要
本发明提供了一种在数字电视时移中优化磁盘空间利用率的方法及装置,在录制时移节目的过程中,如果当前已录制的时移节目的时长已超过设定的最大时移时间,并且当前所接收到的传输流的流比特率小于平均流比特率,则删除录制时间最久的时移节目,以释放多余的磁盘碎片,并将新录制的时移节目覆盖当前文件中最久录制的时移节目。应用本发明能够根据需要动态改变时移节目所占用的磁盘空间大小,从而避免磁盘空间不足时磁盘空间利用率低的问题。
文档编号H04N21/433GK103179447SQ201110430918
公开日2013年6月26日 申请日期2011年12月20日 优先权日2011年12月20日
发明者俞贵涛, 陈海林, 陈斌德 申请人:三星电子(中国)研发中心, 三星电子株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1