一种SVC视频数据的存储方法及装置与流程

文档序号:12498260阅读:626来源:国知局
一种SVC视频数据的存储方法及装置与流程

本发明涉及视频存储技术领域,尤其涉及一种SVC视频数据的存储方法及装置。



背景技术:

可伸缩视频编码(SVC,Scalable Video Coding)技术是一种能将视频流分割为多个分辨率、质量和帧速率层的技术,是对H.264视频编码标准的扩展,被称为H.264-SVC。SVC技术将视频流分为一个小的基础层和多个增强层,基础层保存能够提供最基本的视频质量、帧率和分辨率的数据,增强层保存能够提高基础层数据的视频质量、帧率和分辨率的数据。如果基础层数据被损坏,那么对视频数据的影响是很大的,如果增强层数据被损坏,对视频数据的影响相对较小。

目前,为了防止由于基础层或增强层数据的损坏对视频数据的影响,将基础层数据和增强层数据经过同一冗余方式(容错方式)处理后存储到存储系统中的同一文件夹中。

这种存储方式由于基础层数据和增强层数据采用同一冗余方式,在对这两种数据进行冗余处理时采用的冗余度也相同,此时,如果想要提高基础层数据容错能力,就需要提高冗余度,此时会导致存储空间的利用率较低的问题;如果想要提高存储空间利用率,就需要降低冗余度,这就会导致视频数据可靠性降低的问题。因此,亟需一种既能提高存储空间的利用率又能保证视频数据可靠性的存储方式。



技术实现要素:

本发明提供一种可伸缩视频编码SVC视频数据的存储方法及装置,用以解决现有的视频数据存储方式带来的存储空间的利用率较低和视频数据可靠性降低的问题。

一种可伸缩视频编码SVC视频数据的存储方法,包括:

针对SVC视频流中的每一帧视频数据,确定该帧视频数据类型;

如果确定该帧视频数据类型为基础层数据类型,采用基础层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的基础层文件中;

如果确定该帧视频数据类型为增强层数据类型,采用相应增强层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的增强层文件中;

其中,所述基础层对应的冗余方式的冗余度大于每个增强层对应的冗余方式的冗余度。

所述方法,在对该帧视频数据进行冗余处理前,还包括:

根据该帧视频数据在所述SVC视频流中的位置以及该帧视频数据的长度,生成该帧视频数据的索引信息;

采用所述索引信息对应的冗余方式对所述索引信息进行冗余处理,并将处理后的索引信息保存到预先建立的索引文件中,所述索引信息对应的冗余方式与所述基础层对应的冗余方式相同。

本发明实施例通过设置每帧视频数据对应的索引信息,可在需要读取该帧视频数据时根据其索引信息找到该帧视频数据。

所述方法,还包括:

确定接收到读取该帧视频数据的指令时,读取所述索引文件中该帧视频数据的索引信息;

根据该帧视频数据的索引信息,确定该帧视频数据为基础层数据类型时,从所述基础层文件中读取该帧视频数据;

根据该帧视频数据的索引信息,确定该帧视频数据为增强层数据类型时,从所述增强层文件中读取该帧视频数据。

本发明实施例可根据视频数据对应的索引信息确定该视频数据类型,并根据确定的类型读取对应的视频帧视频数据。

所述方法,将该帧处理后的视频数据存储到预先建立的增强层文件中之后,还包括:

确定该帧视频数据间隔设定时长未被访问时,删除该帧视频数据。

本发明实施例本发明实施例将对影响SVC视频流的播放质量影响不大的增强层数据删除,从而节省了存储空间,保留下来的基础层数据可以在用户再次访问这些SVC视频流时,为用户最基本的视频质量、帧率和分辨率。

所述方法,将该帧处理后的视频数据存储到预先建立的增强层文件中,具体包括:

将该帧处理后的视频数据存储到所述相应增强层对应的预先建立的增强层文件中,其中,一个增强层对应一个预先建立的增强层文件。

本发明还提供一种可伸缩视频编码SVC视频数据的存储装置,包括:

确定单元,用于针对SVC视频流中的每一帧视频数据,确定该帧视频数据类型;

第一处理单元,用于如果确定该帧视频数据类型为基础层数据类型,采用基础层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的基础层文件中;

第二处理单元,用于如果确定该帧视频数据类型为增强层数据类型,采用相应增强层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的增强层文件中;

其中,所述基础层对应的冗余方式的冗余度大于每个增强层对应的冗余方式的冗余度。

所述装置,还包括:

第三处理单元,用于在对该帧视频数据进行冗余处理前,根据该帧视频数据在所述SVC视频流中的位置以及该帧视频数据的长度,生成该帧视频数据的索引信息;采用所述索引信息对应的冗余方式对所述索引信息进行冗余处理,并将处理后的索引信息保存到预先建立的索引文件中,所述索引信息对应的冗余方式与所述基础层对应的冗余方式相同。

所述装置,还包括:

读取单元,用于确定接收到读取该帧视频数据的指令时,读取所述索引文件中该帧视频数据的索引信息;根据该帧视频数据的索引信息,确定该帧视频数据为基础层数据类型时,从所述基础层文件中读取该帧视频数据;根据该帧视频数据的索引信息,确定该帧视频数据为增强层数据类型时,从所述增强层文件中读取该帧视频数据。

所述装置中,所述第二处理单元还用于:

将该帧处理后的视频数据存储到预先建立的增强层文件中之后,确定该帧视频数据间隔设定时长未被访问时,删除该帧视频数据。

所述装置中,所述第二处理单元具体用于:

将该帧处理后的视频数据存储到所述相应增强层对应的预先建立的增强层文件中,其中,一个增强层对应一个预先建立的增强层文件。

利用本发明实施例提供的可伸缩视频编码SVC视频数据的存储方法及装置,具有以下有益效果:利用冗余度较高的冗余方式对基础层数据进行冗余处理并将冗余处理后的基础层数据保存到基础层文件中,从而提高基础数据的容错能力,保证了视频数据的可靠性;利用比基础层数据的冗余度低的冗余方式对增强层数据进行冗余处理并将冗余处理后的增强层数据保存到增强层文件中,从而在一定程度上提高存储空间的利用率。

附图说明

图1为本发明实施例提供的SVC视频数据存储方法流程图;

图2为本发明实施例提供的生成视频数据索引信息的方法流程图;

图3为本发明实施例提供的读取存储的视频数据的方法流程图;

图4为本发明实施例提供的SVC视频数据存储装置示意图。

具体实施方式

下面结合附图和实施例对本发明提供的可伸缩视频编码SVC视频数据的存储方法及装置进行更详细地说明。

本发明实施例提供一种可伸缩视频编码SVC视频数据的存储方法,如图1所示,包括:

步骤101,针对SVC视频流中的每一帧视频数据,确定该帧视频数据类型。

步骤102,如果确定该帧视频数据类型为基础层数据类型,采用基础层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的基础层文件中。

具体的,基础层数据类型的基础层数据存储到预先建立的基础层文件中。

步骤103,如果确定该帧视频数据类型为增强层数据类型,采用相应增强层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的增强层文件中。

其中,所述基础层对应的冗余方式的冗余度大于每个增强层对应的冗余方式的冗余度。增强层有多个,如果确定该帧视频数据类型为增强层数据类型,相应增强层对应的冗余方式对该帧视频数据进行冗余处理,即采用该帧视频数据对应的增强层的冗余方式对该帧视频数据进行冗余处理。

视频数据类型为基础层数据类型时,可将该视频数据作为基础层数据;视频数据类型为增强层数据类型时,可将该视频数据作为增强层数据。具体的,基础层数据的重要程度比增强层数据的重要程度高,当基础层数据出错时,将会对SVC视频流的播放结果带来比较严重的影响,比如导致几秒无法播放视频,用户无法正常观看视频等影响,而增强层数据出错时或者丢失时,对SVC 视频流的播放结果影响较小,用户可正常观看视频。因此,本发明实施例中,提高基础层的容错能力而降低增强层的容错能力,从而既在一定程度上降低由于基础层数据出错而带来的恶劣影响,又在一定程度上提高了存储空间的利用率。其中,向预先建立的基础层文件或预先建立的增强层文件中存储视频数据前,先打开预先建立的基础层文件或预先建立的增强层文件;当SVC视频流中的所有帧视频数据存储完毕时,关闭预先建立的增强层文件和预先建立的基础层文件。

具体的,目前存储系统主要通过冗余策略来保证视频数据的可靠性,高冗余度意味着视频数据抗风险能力相对较高,但是存储空间的利用率较低;低冗余度则意味着视频数据抗风险能力相对较低,但是存储空间的利用率高,而现有技术中由于基础层数据和增强层数据的冗余度相同,如果想要提高基础层数据容错能力,就需要提高冗余度,此时会导致存储空间的利用率较低的问题;如果想要提高存储空间利用率,就需要降低冗余度,这就会导致视频数据可靠性降低的问题。

本发明实施例,利用冗余度较高的冗余方式对基础层数据进行冗余处理并将冗余处理后的基础层数据保存到基础层文件中,从而提高基础数据的容错能力,利用比基础层数据的冗余度低的冗余方式对增强层数据进行冗余处理并将冗余处理后的增强层数据保存到增强层文件中,从而在一定程度上提高存储空间的利用率。

具体的,步骤103中,采用相应增强层对应的冗余方式对该帧视频数据进行冗余处理,具体包括:确定该帧视频数据所属的增强层,并采用该确定的增强层对应的冗余方式对该帧视频数据进行冗余处理。

本发明实施例中,基础层对应的冗余方式的冗余度大于预设阈值,每个增强层对应的冗余方式的冗余度小于预设阈值。

由于将SVC视频流的基础层数据和增强层数据分别存储到不同的文件中,为了保证该SVC的视频流能够正常被播放,优选地,在对该帧视频数据进行 冗余处理前,如图2所示,还包括:

步骤201,根据该帧视频数据在所述SVC视频流中的位置以及该帧视频数据的长度,生成该帧视频数据的索引信息。

具体的,针对SVC视频流中的每一帧视频数据,生成该帧视频数据的索引信息,该索引信息用于读取存储的SVC视频流时,还原SVC视频流中各帧视频的播放顺序,从而保证SVC视频流能够按照顺序被读取。生成的每帧视频数据的索引信息中包括:该帧视频数据在SVC视频流中的位置以及该帧视频数据的长度。优选地,该帧视频数据在SVC视频流中的位置为该帧视频数据所在帧的帧序号。

步骤202,采用所述索引信息对应的冗余方式对所述索引信息进行冗余处理,并将处理后的索引信息保存到预先建立的索引文件中,所述索引信息对应的冗余方式与基础层对应的冗余方式相同。

具体的,由于索引信息是保证SVC视频流正常被读取的重要数据,因此采用与基础层对应的冗余方式相同的冗余方式对索引信息进行冗余处理,从而提高索引信息的容错能力。其中,向索引文件中存储索引信息之前,先打开索引文件;确定将SVC视频流对应的所有索引信息保存到索引文件中时,关闭索引文件。

在读取利用本发明实施例的SVC视频数据的存储方法存储的SVC视频数据时,针对SVC视频流中的每帧视频数据,如图3所示,具体包括:

步骤301,确定接收到读取该帧视频数据的指令时,读取所述索引文件中该帧视频数据的索引信息。

具体的,索引文件中记录的索引信息按照SVC视频流中各帧的播放顺序存储,读取SVC视频流中的视频数据时,从索引文件的第一个索引信息开始,依次读取索引信息。读取所述索引文件中该帧视频数据的索引信息之前,先打开索引文件。

步骤302,根据该帧视频数据的索引信息,判断该帧视频数据是否为基础 层数据类型,如果是,执行步骤303,否则,执行步骤304。

优选地,该帧视频数据的索引信息中包括用于标识该帧视频数据为基础层数据的标识或增强层数据的标识。根据该标识即可确定该帧视频数据为基础层数据还是增强层数据。

步骤303,从所述基础层文件中读取该帧视频数据。

具体的,从所述基础层文件中读取该帧视频数据前,先打开该基础层文件。

步骤304,确定该帧视频数据为增强层数据类型,并从所述增强层文件中读取该帧视频数据。

具体的,从所述增强层文件中读取该帧视频数据前,先打开该相应的增强层文件;确定从所述增强层文件或基础层文件中读取该帧视频数据失败时,丢弃该帧视频数据。

其中,确定该帧视频数据读取成功或失败时,继续根据索引文件中的下一个索引信息读取下一帧视频数据,直到将索引文件中的所有索引信息对应的视频数据读取完毕,索引文件中的所有索引信息对应的视频数据读取完毕且从基础层文件和增强层文件读取所有视频数据后,关闭增强层文件、基础层文件以及索引文件。

利用本发明实施例,用户可按照SVC视频流中各帧视频数据的顺序读取采用图1所示实施例进行存储的SVC视频流,从而为用户提供了正常播放SVC视频流的前提。

优选地,将该帧处理后的视频数据存储到预先建立的增强层文件中之后,还包括:

确定该帧视频数据间隔设定时长未被访问时,删除该帧视频数据。

具体的,当一些SVC视频流长时间未被访问时,为了节省存储空间,可删除这些SVC视频流,以节省存储空间,但是为了防止用户再次访问这些SVC视频流,本发明实施例将对影响SVC视频流的播放质量影响不大的增强层数据删除,从而节省了存储空间,保留下来的基础层数据可以在用户再次访问该 SVC视频流时,为用户最基本的视频质量、帧率和分辨率。

优选地,步骤102中,将该帧处理后的视频数据存储到预先建立的增强层文件中,具体包括:

将该帧处理后的视频数据存储到所述相应增强层对应的预先建立的增强层文件中,其中,一个增强层对应一个预先建立的增强层文件。

具体的,由于增强层有多个,可将所有增强层对应的增强层数据,存储到同一个预先建立的增强层文件中,也可将各增强层任意组合,将每个组合中的增强层数据存储到该组合对应的增强层文件中。

本优选实施例针对每个增强层预先建立一个增强层文件,将每个增强层对应的增强层数据存储到该增强层对应的增强层文件中,从而可根据实际情况或需求,针对不同的增强层采用不同的冗余方式对该增强层文件进行冗余处理。

在本优选实施例的基础上,步骤304确定该帧视频数据为增强层数据类型,并从所述增强层文件中读取该帧视频数据,具体包括:确定该帧视频数据所述的增强层,并从该确定的增强层对应的增强层文件中读取该帧视频数据。

基于与SVC视频数据存储方法同样的发明构思,本发明实施例还提供一种可伸缩视频编码SVC视频数据的存储装置,如图4所示,包括:

确定单元401,用于针对SVC视频流中的每一帧视频数据,确定该帧视频数据类型;

第一处理单元402,用于如果确定该帧视频数据类型为基础层数据类型,采用基础层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的基础层文件中;

第二处理单元403,用于如果确定该帧视频数据类型为增强层数据类型,采用相应增强层对应的冗余方式对该帧视频数据进行冗余处理,并将该帧处理后的视频数据存储到预先建立的增强层文件中;

其中,所述基础层对应的冗余方式的冗余度大于每个增强层对应的冗余方式的冗余度。

所述装置,还包括:

第三处理单元,用于在对该帧视频数据进行冗余处理前,根据该帧视频数据在所述SVC视频流中的位置以及该帧视频数据的长度,生成该帧视频数据的索引信息;采用所述索引信息对应的冗余方式对所述索引信息进行冗余处理,并将处理后的索引信息保存到预先建立的索引文件中,所述索引信息对应的冗余方式与所述基础层对应的冗余方式相同。

所述装置,还包括:

读取单元,用于确定接收到读取该帧视频数据的指令时,读取所述索引文件中该帧视频数据的索引信息;根据该帧视频数据的索引信息,确定该帧视频数据为基础层数据类型时,从所述基础层文件中读取该帧视频数据;根据该帧视频数据的索引信息,确定该帧视频数据为增强层数据类型时,从所述增强层文件中读取该帧视频数据。

所述装置中,所述第二处理单元还用于:

将该帧处理后的视频数据存储到预先建立的增强层文件中之后,确定该帧视频数据间隔设定时长未被访问时,删除该帧视频数据。

所述装置中,所述第二处理单元具体用于:

将该帧处理后的视频数据存储到所述相应增强层对应的预先建立的增强层文件中,其中,一个增强层对应一个预先建立的增强层文件。

利用本发明实施例提供的可伸缩视频编码SVC视频数据的存储方法及装置,具有以下有益效果:利用冗余度较高的冗余方式对基础层数据进行冗余处理并将冗余处理后的基础层数据保存到基础层文件中,从而提高基础数据的容错能力,保证了视频数据的可靠性;利用比基础层数据的冗余度低的冗余方式对增强层数据进行冗余处理并将冗余处理后的增强层数据保存到增强层文件中,从而在一定程度上提高存储空间的利用率。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1