掌桥专利:专业的专利平台
掌桥专利
首页

用于视频压缩的方法、设备和计算机程序产品

文献发布时间:2024-04-18 19:58:30


用于视频压缩的方法、设备和计算机程序产品

技术领域

本公开的实施例涉及数据处理技术,并且更具体地,涉及用于视频压缩的方法、设备和计算机程序产品。

背景技术

随着智能设备和社交网络的日益普及,每天都有数以百万计的视频被创建和共享。许多视频包含周期性重复的过程,诸如自然周期(例如月相)和人工重复过程(例如交通模式、体育运动和人类活动)等。大量视频的创建和共享也意味着对海量存储空间和通信资源等的需求。

发明内容

本公开的实施例提供了一种用于视频压缩的方案。

在本公开的第一方面,提供了一种视频压缩方法,该方法包括:响应于视频中的对象的一个或多个特征具有周期性变化,将视频按周期性变化的周期分割成多个片段;标识视频的帧中与该对象相关联的焦点区域;以及基于多个片段和焦点区域来压缩该视频。

在本公开的第二方面,提供了一种电子设备,包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,该指令在被处理器执行时使该设备执行动作,该动作包括:响应于视频中的对象的一个或多个特征具有周期性变化,将视频按周期性变化的周期分割成多个片段;标识视频的帧中与该对象相关联的焦点区域;以及基于多个片段和焦点区域来压缩该视频。

在本公开的第三方面中,提供了一种计算机程序产品,该计算机程序产品被有形地存储在计算机可读介质上并且包括机器可执行指令,该机器可执行指令在被执行时使机器执行本公开的第一方面的方法。

请注意,提供本发明内容是为了以简化的形式来介绍对概念的选择,这些概念在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开内容的关键特征或主要特征,也无意限制本公开内容的范围。

附图说明

通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中:

图1示出了本公开的多个实施例可以在其中实现的示例环境;

图2示出了根据本公开的一些实施例的用于压缩视频的示例方法的流程图;

图3示出了根据本公开的一些实施例的基于多个片段和焦点区域来压缩视频的示例方法的流程图;

图4示出了根据本公开的一些实施例的焦点区域的示例图示;

图5示出了根据本公开的一个实施例的基于多个帧来生成合成背景图像的简化示例;

图6示出了根据本公开的一个实施例的帧聚类的示例可视化;

图7示出了根据本公开的一些实施例的片段聚类的示例图解;以及

图8示出了可以用来实现本公开的实施例的设备的示意性框图。

在所有附图中,相同或相似的附图标记表示相同或相似的元素。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

本文中使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出。

从自然周期(如月相、心跳和呼吸)到人工重复过程(例如交通模式、体育运动和人类活动)的周期性过程在日常生活中很常见。为了观察和分析这些过程,记录少数几个周期是远远不够的。通常,人们会将数千甚至数百万次这样的重复循环记录在视频中。这样的视频可以持续数小时,其占用大量存储空间,并且在后续的传输时需要大量的通信资源。

上述视频具有高度周期性的特性,这意味着视频中的内容大部分是重复的,周期之间的内容可能仅有稍许不同。以划船机训练的视频为例,运动员在一次训练中多次执行类似来回动作,诸如双臂朝向胸前拉回再向外推开的多个周期。大多数周期可能高度相似,由于运动员在训练期间的身体或心理状况而略有不同。为方便说明起见,下文将结合划船机训练视频的示例来描述本公开的方案,但是应理解,这种视频仅作为示例,本公开也同样适用于其他具有周期性重复内容的视频。

为了有效且高效地存储和传输周期性视频以供进一步操作(诸如分析),需要删除其中的重复内容以压缩视频,同时保留与其他周期不同的异常运动以供将来还原原始视频内容或执行其他操作。一种常规的视频重复数据删除(deduplication)方法是基于散列的方法。该方法首先使用计算机视觉技术或机器学习等将视频的帧转换为一系列哈希码。然后,可以通过比较两个帧或两组帧的时间序列(视频剪辑)的哈希码来确定这两个帧或这两组帧序列是否彼此重复。这种方法可以衡量两个视频的字幕、语言(音频)或分辨率差异以删除重复数据,但是不直接适用于具有包括周期性变化的视频且成本过高。另一些方法使用深度学习模型来删除视频中的重复数据。对于包括周期性变化的视频,这样的模型以端到端的方式训练机器学习模型以直接估计重复的周期。深度学习方法需要大量的计算能力(尤其是来自GPU),并且因此不适于部署在轻量级的场景中(例如,在边缘设备处)。因此,需要专门用于周期性视频且具有成本效益的技术来对视频中的内容进行重复数据删除,以便更节约成本并且更有效地压缩视频。

为至少部分地解决上述问题以及其它潜在问题,本公开的实施例提出了一种视觉内容感知的视频重复数据删除方案来压缩视频。该方案标识视频的各帧中与感兴趣的内容相关联的焦点区域以及除焦点区域以外的背景区域,从而支持以比帧小的粒度来执行重复数据删除。在此基础上,该方案考虑到了视频的周期性特点,即在时间序列上相距较远的两帧之间,仍然很有可能有很多重复的内容区域。基于对该特点的理解,该方案在不受视频帧之间时空连续性约束的情况下,在各种尺度上测量焦点内容的相似度,并且基于焦点内容的相似度来在周期内逐帧地、以及跨周期地删除重复的内容,从而更有效地压缩视频。根据本公开的一些实施例,只需要利用深度学习模型对视频帧的检测结果来执行简单的聚类算法和数值计算即可快速运行重复数据删除过程,而无需更多的深度学习推理工作,因此非常适合部署在轻量级(例如在边缘设备处)的视频应用中。该方案与H.264和H.265等视频编码方法不同,避免了与这样的视频编解码器的IP冲突,并且可以与之结合使用来压缩视频。

图1示出了本公开的多个实施例能够在其中实现的示例环境100的示意图。环境100可以包括计算设备110。计算设备110的示例包括但不限于个人计算机、智能手机、平板电脑、膝上型计算机、台式计算机。本公开的范围在此方面不受限制。此外,尽管被示出为单个设备,但是计算设备110也可以是多个设备、虚拟设备、或者任何其他形式的适于实现本公开的实施例的设备。

为说明起见,图1中还示出了视频120。在本公开的实施例中,视频120可以是任何具有周期性变化内容的合适视频,其中包括具有周期性变化的一个或多个对象。作为非限制性示例,视频120可以是如前所述的划船机训练视频。此外,环境100中还可以包括更多具有周期性变化的重复内容的视频和/或其他视频。环境100中还可以包括视频120中的对象的特征数据130。特征数据130可以例如以数字或文本格式与视频文件相关联地一起存储。

计算设备110可以被配置为生成或者从其他设备(未示出)获取视频120,并且对视频120执行压缩操作,并且将结果保存为经压缩的视频140。然后,经压缩的视频140可以被计算设备110存储在其自身的存储装置中,或者可以由计算设备110传输给其他设备。例如,计算设备110可以使用根据本公开的实施例的方法和/或利用特征数据130来执行上述过程,下文将结合其他附图对此进行更详细的描述。

应当理解,仅出于示例性的目的描述环境100的结构和功能,而不暗示对于本公开的范围的任何限制。环境100还可以包括图1中未示出的设备、组件和其他实体。并且,本公开的实施例还可以被应用在与环境100不同的环境中。

图2示出了根据本公开的一些实施例的用于压缩视频的示例方法200的流程图。方法200可以例如由如图1所示的设备110来执行。应当理解,方法200还可以包括未示出的附加动作,本公开的范围在此方面不受限制。以下结合图1的示例环境100来详细描述方法200。

在框210处,响应于视频中的对象的一个或多个特征具有周期性变化,将视频按周期性变化的周期分割成多个片段。例如,计算设备110可以响应于视频120中的对象的一个或多个特征具有周期性变化,将视频120按周期性变化的周期分割成多个片段。换言之,由于视频120的内容的周期性,视频120的帧中会存在某些元素具有周期性的模式。计算设备110可以根据这些周期性模式将视频120拆分为周期性视频剪辑,其中每个剪辑包括该模式的一个周期。

该一个或多个特征取决于视频120的具体内容,并且可以使用例如内容领域的知识或机器学习技术来提取。例如,出于分析感兴趣对象的目的,计算设备120或者其他计算设备可以已经利用诸如计算机视觉和语音分析等从视频的帧提取了对象的特征数据130。这些特征数据可以例如以数字或文本格式与视频文件相关联地一起存储,并且可以由计算设备110用来分割视频120。以划船机训练视频作为视频120的示例,其中对象可以是运动员,特征可以是运动员的姿势点(例如,肘部、膝盖、臀部和脚踝等),这些姿势点可以形成一些几何角度(例如肘部角度、膝盖角度、臀部角度和脚踝角度等)。由于运动员在训练期间多次重复动作,这些角度的值会周期性地变化,从而反映姿势点的周期性变化。计算设备110可以基于变化的时间模式而确定周期的开始/结束可能出现的范围(例如,在角度出现最低/最高值的范围中),以及由此标识周期的开始/结束所对应的帧,以将视频120按周期分割成片段。

在框220中,标识视频的帧中与该对象相关联的焦点区域。例如,计算设备110可以标识视频120的帧中与该对象相关联的焦点区域。帧内具有周期性变化的对象是视频周期性的决定因素。与其相关联的内容区域通常是视频使用方感兴趣的焦点,例如,该区域对分析对象最有价值。这样的焦点内容区域在本公开的实施例中可以被标识以用于压缩周期性视频。例如,计算设备110可以使用深度学习方法来准确提取视频120的帧中的对象轮廓(诸如划船机视频中的运动员身体轮廓),并将轮廓覆盖的区域作为焦点区域。在一些实施例中,计算设备110可以使用启发式边界框方法来标识焦点区域。具体而言,通过使用特征数据,计算设备110可以形成针对帧中对象的多个部分的边界框(例如,将运动员的多个姿势点连接成多边形)。然后,计算设备110可以将多个边界框组合以获得其并集,该并集的区域基本覆盖了对象(例如,运动员)的所有部分并且被标识为该帧的焦点区域。

作为图示,图4示出了根据本公开的一些实施例的焦点区域的示例图示。在该非限制性示例中,利用不同方法来标识划船机训练的原始帧410中的焦点区域的结果被示出,在此示例中是与运动员身体相关联的区域。在图4中,附图标记420示出了利用深度学习方法提取的运动员身体轮廓的一个实施例。附图标记430示出了针对帧410中的运动员身体的多个部分的边界框,并且附图标记440示出了利用边界框所提取的焦点区域的另一个实施例。相比深度学习方法,启发式边界框方法可以以较小的计算量标识出感兴趣的对象所在的大致区域。

现在继续图2。在框230处,基于(在框210和框220处所得的)多个片段和焦点区域来压缩视频。例如,计算设备110可以基于视频120的按周期分割的多个片段以及视频120的焦点区域来压缩视频120。在一些实施例中,计算设备110可以通过比较单个片段内的帧的焦点区域的相似度来删除内容重复的焦点区域,由此压缩视频120。在一些实施例中,计算设备110还可以通过比较多个片段中的对应帧的焦点区域的相似度来删除内容重复的焦点区域,从而压缩视频120以得到经压缩的视频140。稍后将结合图3更详细地描述基于多个片段和焦点区域来压缩视频的示例实现。

图3示出了根据本公开的一些实施例的基于多个片段和焦点区域来压缩视频的示例方法的流程图,方法300可以视为方法200中的框230的示例实现。应当理解,尽管以一定顺序示出了方法300的动作,但是除非上下文另有说明,否则方法300的动作还可以以其他适当次序被组合。此外,方法300中的一些动作在具体的实施例中可以被省略,并且还可以包括未示出的附加动作,本公开的范围在此方面不受限制。方法300可以例如由如图1所示的计算设备110来执行。以下结合图1的示例环境100来详细描述方法300。

方法300可以在根据方法200将视频分割成多个周期性片段、并且标识了视频的焦点区域之后被执行。

在一些实施例中,视频120中除焦点区域以外的其余部分对于该视频的处理和/或分析目的而言并不重要。在这样的情况下,这些区域可以被视为背景区域,其任何波动可以被视为噪声并且在视频处理和/或分析中有意地被忽略。在这样的一些实施例中,计算设备110可以在框310处针对视频120的背景区域执行重复数据删除来压缩视频120。

在子框310-1处,计算设备110可以将视频120的至少一部分帧中除焦点区域以外的背景区域移除。计算设备110可以基于以方法200的框220中所标识的焦点区域来从视频120的部分或全部的帧中移除背景区域。通过该操作,视频120的帧的数据量被进一步降低。

在子框310-2处,基于该背景区域,计算设备110可以生成针对该至少一部分帧的一个或多个合成背景图像。

在一些实施例中,针对视频120的根据方法200所分割的多个片段中的片段,计算设备110可以基于该片段的帧中除焦点区域以外的背景区域,来生成针对片段的合成背景图像。例如,计算设备110可以通过分析特征数据(例如,姿势点)的变化,来找到对象(例如,运动员的身体)片段对应的周期内的运动轨迹。其中,一个帧中由焦点区域覆盖的背景区域可能会在另一帧中显露。计算设备110由此可以联合来自不同帧的背景区域以增加背景区域,从而生成针对整个周期片段的合成背景图像。这样,只有在整个周期中始终被焦点区域覆盖的(例如,运动员身体部位)的部分才会在针对片段的背景图像中不可用。在其他一些实施例中,计算设备110还可以针对多个片段(例如,一组片段或多个相似片段的聚类)生成一个合成背景图像,或者针对整个视频生成一个合成背景图像等。

作为图示,图5示出了基于视频的多个帧来生成合成背景图像的简化示例。在该非限制性示例中,帧510-1、510-2和520-3中的焦点区域分别示出为520-1、520-2和520-3。随着焦点区域在视频中位置的变化,每个帧中会显露出不同的背景区域。计算设备(例如计算设备110)可以联合来自520-1、520-2和520-3的背景区域来合成背景图像530。这样,只有在所有图像中都被焦点区域遮挡的区域540才在背景图像中不可用。应理解,虽然为清楚说明起见图5中仅示出了三个帧,但是更多的帧可以被使用。随着更多的帧被用来生成背景图像,所生成的背景图像将变得更加完整。

在子框310-3处,计算设备110可以将一个或多个合成背景图像与已移除背景区域的至少一部分帧相关联地保存。在如上所述生成针对片段的合成背景图像的实施例中,计算设备110可以在经压缩的视频120中保留每帧的焦点区域以及与每个片段相关联的单个合成背景图像。计算设备110可以(例如以元数据的形式)与经压缩的视频140相关联地存储合成背景图像与对应的一组帧(例如,片段或片段的聚类)之间的映射,以用于后续的还原和渲染等操作。

根据框310,计算设备110可以以比帧小的单位(例如,一组像素)来对视频进行重复数据删除操作,由此高度浓缩帧内容,从而降低对视频存储空间和计算成本的要求。

在框320处,计算设备110可以针对视频120的多个片段中的片段,对片段中的帧执行逐帧的压缩操作。

在子框320-1处,计算设备110可以基于焦点区域在该片段的帧之间的相似度,将该片段的帧划分为多个帧聚类(例如,预定数目的帧聚类)。在一些实施例中,计算设备110可以标识视频120中的周期性变化的多个阶段,并且将片段分割成与多个阶段对应的多个子片段。这意味着除了标识指示周期开始/结束对应的关键阶段帧之外,计算设备110还可以根据领域知识和特征数据来分析模式,以找到指示周期内不同阶段之间的转变的代表性指示符(诸如特征值范围)。计算设备110然后可以标识片段内与这些指示符对应的关键阶段帧,从而将片段分割成多个子片段。作为非限制性示例,计算设备110可以找到周期性变化的中点,从而将周期分成两个子周期。然后,计算设备110可以将视频120的周期性片段分割成与两个子周期对应的片段。应理解,周期中阶段的数目和与之对应的片段中子片段的取决于具体的视频内容和应用,本公开的范围不受阶段和子片段的具体数目限制。

然后,针对多个子片段中的每个子片段,计算设备110可以基于焦点区域在子片段的帧之间的相似度,将子片段的帧划分为一组帧聚类(例如预定数目的帧聚类),作为多个帧聚类中的一部分帧聚类。通过对片段中的每个子片段分别进行聚类,计算设备110可以获得更均匀分布在整个周期的不同阶段的多个帧聚类。以划船机训练视频为例,计算设备110可以将运动员身体伸展而手臂拉回到胸前的时刻(例如,膝盖和臀部的角度最大、而手肘角度最小时)作为周期的开始/结束来分割视频片段,并且进一步标识运动员身体卷曲而手臂伸展的时刻(例如,膝盖和臀部的角度最小、而手肘角度最大时)作为周期的中点,以将片段分割成两个子片段。对这两个子片段分别进行聚类,避免了将不同阶段中运动员身体位置类似的帧聚类在一起,从而可确保在压缩结果中保留包括周期内不同阶段的内容的帧。

在一些实施例中,作为执行相似度聚类的基础,计算设备110可以计算片段中每个帧的焦点区域与片段的关键阶段帧(周期片段的开始/结束帧、和/或划分子阶段的其他关键阶段帧)的焦点区域之间的焦点内容差异值。然后,例如通过对所计算的每个帧的差异值执行无监督学习(例如,K-Means),计算设备110可以将帧划分为多个帧聚类。在这样的一些实施例中,计算设备110可以对片段内的各帧的焦点区域与该片段的开始帧的焦点区域各自执行差异值计算,并且对所计算的焦点内容差异值执行聚类以将片段的帧划分为多个聚类。在划分了子片段的一些实施例中,计算设备110可以对子片段内的每个帧与作为该子片段开始的关键阶段帧执行差值计算。例如,对于通过边界框来提取焦点区域的划船机训练视频示例,计算设备110可以基于每个身体部位边界框的几何信息来计算帧之间的差异值。在其他的实施例中,计算设备也可以使用表征焦点区域的其他适当的值来作为聚类的基础。

作为图示,图6示出了根据本公开的一个实施例的帧聚类的示例可视化600,其示出了在划船机训练视频的示例中针对一个子片段的帧执行聚类的结果可视化。该划船机训练视频可以是图1中视频120的示例,并且聚类操作可以由计算设备110执行。以下将结合图1来描述示例可视化600。

在该非限制性示例中,计算设备110将视频120的片段划分为前后两个子片段,并且分别以如前所述的方法对子片段执行聚类操作,以获得预定数目的聚类。可视化600在三维特征空间中示出了对其中一个前子片段的聚类结果。其中,坐标轴610-1、610-2和610-3表示具有方差最高的差异值的特征。每个点(例如点530)表示子片段中的一个帧在该特征空间中的位置。框620-1至620-5示意性地示出了各个帧聚类所包括的帧的范围。在此示例中,通常每个聚类包含按顺序时间顺序的帧,因为根据焦点内容这些帧大多相似。然后,计算设备110将离每个聚类中心最近的点(帧)选择作为用于相似度比较的基准帧,以供后续操作使用。应理解,可视化600仅出于图示目的被示出,其中的帧、帧聚类和特征的数目仅作为示例,在其他的实施例中,任何其他适当数目的帧、帧聚类和特征也可以被使用。

现在回到图3。在子框320-2处,针对多个片段中的片段,计算设备110可以基于在子框320-1处对该片段中多个帧聚类的划分来压缩该片段。在一些实施例中,针对多个帧聚类中的帧聚类,计算设备110可以确定该帧聚类的中心帧,其中中心帧是帧聚类中离该帧聚类的中心最近的帧。例如,计算设备110可以通过将帧的焦点内容差异值投射到对应的特征空间来计算。然后,计算设备110可以将帧聚类中的其他帧与中心帧相比较,并且响应于焦点区域在中心帧与帧聚类中的另一帧之间的相似度满足阈值,将该另一帧从该片段移除。计算设备110可以以类似于前文所述的方式来比较相似度,并且将相似度小于阈值的两个帧的焦点区域视为与彼此重复的内容。该阈值可以取决于具体的应用,本公开的范围不受此限制。通过该操作,计算设备110可以在每个帧聚类中只保留中心帧以及与中心帧不同的帧的焦点内容区域,由此在最大程度地保留有用内容的同时降低视频的数据量。

与只考虑时间因素而在片段或子片段内按时间间隔采样相比,基于相似度聚类来选择比较基准帧考虑到了视频的内容。以这种方式选择的帧可以最大程度地表示子片段内的不同内容,进而提高重复数删除的效率和其结果的全面性,达成更好的视频压缩效果。

在一些实施例中,在对片段内的帧执行逐帧的重复数据删除之后,计算设备110还可以在框330处对多个片段执行逐片段的重复数据删除。

在子框330-1处,计算设备110还可以基于周期性变化的周期在多个片段之间的相似度,将视频120的多个片段划分为多个片段聚类(例如,预定数目的聚类)。以划船机训练视频为例,运动员在不同周期的动作完成质量存在波动。相比在不同质量的周期之间,动作的变化趋势在质量类似的周期之间的相似性更高,并且与这些周期对应的片段更可能具有与彼此重复的内容。因此,将与质量类似的周期对应的片段分组在同一聚类进行处理可以有益于压缩。

类似于帧的相似度,计算110可以整合量化描述每个片段内各帧的焦点区域的特征度量值,作为计算片段之间相似度的基础。在一些实施例中,计算设备110可以基于片段的帧相对于关键阶段帧的内容差异值向量来计算相似度。例如,针对每个片段,计算设备110可以比较该片段的内容差异值向量与每个已有聚类的当前中心片段的内容差异值之间的相似度,如果其中最高的相似度满足(例如,预定义的)阈值,则将该片段分组到相应的聚类中。否则,该片段将形成新的聚类。在其他一些实施例中,取决于视频内容和具体应用,计算设备110也可以采用视频片段的其他量化表示来作为相似度聚类的基础。

在框330-2处,计算设备110还可以基于(在子框320-2处)对多个片段聚类的划分来压缩视频120。在一些实施例中,计算设备可以确定多个片段聚类中的片段聚类的中心片段,中心片段是片段聚类中离该片段聚类的中心最近的第一片段。与帧聚类的中心片段类似,计算设备110可以使用聚类中片段的焦点区域表示之间的欧式距离来找到和/或标记中心片段。然后,针对片段聚类中的第二片段,计算设备110可以将第二片段的帧与中心片段的对应帧相比较。基于焦点区域在该帧与中心片段的对应帧之间的相似度满足阈值,计算设备110可以将第二片段的该帧从第二片段移除。在这样的一些实施例中,计算设备110可以将片段聚类中除中心片段之外的片段按时间排序,并且依次对这些片段进行上述比较和重复数据删除操作。在这样的一些实施例中,计算设备110还可以使用以上关于框310-3所描述的方式,针对每个片段聚类只生成并保留一个合成背景图像。

作为图示,图7示出了根据本公开的一些实施例的视频120的片段聚类的示例图解700,在该非限制性示例中,基于视频120的片段的焦点内容区域差异值向量(如前所述),视频120被划分为片段聚类710-1至710-N。针对每个聚类,在该示例中仅有一个合成背景图像被生成并且将被保留在压缩结果(例如,经压缩的视频140)中,例如针对片段聚类710-1的合成背景图像720-1和针对片段聚类710-N的合成背景图像720-N。

通过上述对跨周期片段的对应帧之间的内容感知比较,可以突破视频帧之间的时间连续性,基于不同片段的视频帧中的焦点内容来达成跨时间尺度的内容重复数据删除。

在方法200的基础上,方法300可以提供不同粒度级别的重复数据删除逻辑,从而获得更好的视频压缩结果。例如,执行视频压缩的计算设备(例如计算设备110)可以首先针对视频的每个周期片段的焦点区域和背景区域来执行逐帧的视觉内容重复数据删除过程,然后对片段进行聚类,并且以每个片段聚类的中心片段中的视频帧为内容基础来进一步去除该片段聚类中的重复内容。此外,重复内容元数据和映射关系可以例如以坐标形式与压缩结果一起保存,以供后续的视频内容还原等。在该过程中,所有中间计算结果都可以以纯文本格式存储,因此不会占用太多内存空间。而且,所有的计算操作都是数值计算和经典的统计机器学习技术,不需要很高的资源消耗或强大的硬件支持。

图8示出了可以用来实施本公开的实施例的设备800的示意性框图,设备800可以是本公开的实施例所描述的设备或装置。如图8所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。虽然未在图8中示出,设备800还可以包括协处理器。

设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如互联网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

上文所描述的各个方法或过程可由处理单元801来执行。例如,在一些实施例中,方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法或过程中的一个或多个步骤或动作。

在一些实施例中,以上所描述的方法和过程可以被实现为计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本公开的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

本文所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如互联网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言,以及常规的过程式编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过互联网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个框中规定的功能/动作的装置。也可以将这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个框中规定的功能/动作的各个方面的指令。

也可以将计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个框中规定的功能/动作。

附图中的流程图和框图显示了根据本公开的多个实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这取决于所涉及的功能。也要注意的是,框图和/或流程图中的每个框、以及框图和/或流程图中的框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是明显的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使得本技术领域的其它普通技术人员能理解本文公开的各实施例。

相关技术
  • 用于调整、制造、以及操作无线电收发信机、移动收发信机、基站收发信机的调整电路和装置、方法、以及计算机程序、和用于计算机程序或指令的存储设备
  • 用于管理存储系统的方法、设备和计算机程序产品
  • 用于管理存储系统的方法、设备和计算机程序产品
  • 用于对象检测的方法、设备和计算机程序产品
  • 用于控制飞行器能量状态的辅助方法,相关的计算机程序产品和用于控制的辅助系统
  • 用于无损视频压缩的参数估计的系统、方法和计算机程序产品
  • 用于发出摩托车紧急呼叫的方法、装置、计算机程序、计算机程序产品以及用于接收摩托车紧急呼叫的方法、装置、计算机程序、计算机程序产品
技术分类

06120116505252