一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

视频编解码中用于基于神经网络的工具的多模型选择的制作方法

2022-12-03 12:17:34 来源:中国专利 TAG:

视频编解码中用于基于神经网络的工具的多模型选择
1.引用并入
2.本技术要求于2021年1月11日提交的、申请号为63/136,062的美国临时申请的优先权,以及于2021年7月6日提交的、申请号为17/368,069的美国申请的优先权,其全部内容通过引用并入本技术中。
技术领域
3.本技术实施例涉及数据处理技术,尤其涉及视频编解码。


背景技术:

4.在视频编码和解码中使用具有运动补偿的帧间预测,已经有数十年。未压缩的数字视频可以由一系列图片组成,每个图片具有空间维度例如为1920x1080的亮度样本和相关联的色度样本。该系列图片可以具有固定或可变的图片速率(也被非正式地称为帧速率),例如每秒60个图片或60hz。未压缩的视频具有一个明确的比特率要求。例如,每样本8比特的1080p60 4:2:0视频(以60hz帧速率、1920x1080亮度样本分辨率)需要接近1.5gbit/s的带宽。一个小时这样的视频需要超过600gb的存储空间。
5.传统视频编码标准,诸如h.264/高级视频编码(h.264/avc)、高效视频编码(hevc)和通用视频编码(vvc),共享类似的(递归的)基于块的混合预测/变换框架,其中,各个编解码工具,诸如帧内/帧间预测、整数变换和上下文自适应熵编码,被集中地手工制作以优化整体效率。


技术实现要素:

6.本技术实施例关于一种视频编解码方法、计算机程序和计算机系统。根据本技术的一方面,提供了一种视频编解码方法,包括:
7.接收视频数据,所述视频数据包括至少一个帧;
8.确定与接收的视频数据相关联的至少一个量化参数,以对来自所述至少一个帧中的目标帧进行帧生成或增强;及,
9.基于确定的量化参数,对所述视频数据进行解码。
10.根据本技术的另一方面,提供了一种用于视频编解码的计算机系统,包括:
11.至少一个计算机可读非易失性存储介质,用于存储计算机程序代码;
12.至少一个处理器,用于读取所述计算机程序代码,根据所述计算机程序代码的指令进行操作,所述计算机程序代码包括:
13.接收代码,用于使得所述至少一个处理器,接收视频数据,所述视频数据包括至少一个帧;
14.确定代码,用于使得所述至少一个处理器,确定与接收的视频数据相关联的至少一个量化参数,以对来自所述至少一个帧中的目标帧进行帧生成或增强;及,
15.解码代码,用于使得所述至少一个处理器,基于确定的量化参数,对所述视频数据
进行解码。
16.根据本技术的另一方面,提供了一种非易失性计算机可读介质,其上存储有用于视频编解码的计算机程序,所述计算机程序用于使得至少一个计算机处理器:
17.接收视频数据,所述视频数据包括至少一个帧;
18.确定与接收的视频数据相关联的至少一个量化参数,以对来自所述至少一个帧中的目标帧进行帧生成或增强;及,
19.基于确定的量化参数,对所述视频数据进行解码。
附图说明
20.从下面结合附图对示例性实施例的详细描述中,本技术上述的和其它目的、特征和优点将变得显而易见。附图的各种特征未按比例绘制,因为图示是为了清楚起见,以便于本领域技术人员结合详细描述对本技术技术方案进行的理解。在附图中:
21.图1是根据至少一个实施例的联网计算机环境;
22.图2是根据至少一个实施例的用于环路滤波器/帧间预测的分层时间结构;
23.图3是根据至少一个实施例的由程序执行的、对视频数据进行编解码的步骤的操作流程图;
24.图4是根据至少一个实施例的图1中所示的计算机和服务器的内部组件和外部组件的框图;
25.图5是根据至少一个实施例的包括图1所示的计算机系统的示例性云计算环境的框图;以及
26.图6是根据至少一个实施例的图5所示的示例性云计算环境的功能层的框图。
具体实施方式
27.本技术公开了所要求保护的结构和方法的具体实施例。然而,应当理解的是,所公开的实施例仅是可以以各种形式体现的所要求保护的结构和方法的示例。然而,这些结构和方法可以以许多不同的形式来体现,并且不应被解释为限于本技术所描述的示例性实施例。相反,提供这些示例性实施例是为了使本技术更加全面和完整,并且将范围完全传达给本领域技术人员。在说明书中,可以省略公知的特征和技术的细节,以避免不必要地混淆所呈现的实施例。
28.实施例总体上涉及数据处理领域,更具体地,涉及视频处理。以下描述的示例性实施例提供了一种系统、方法和计算机程序,除了其他方面,以基于分级时间结构,使用环路滤波器/帧间预测,对视频进行编码和/或解码。因此,一些实施例通过提高视频编解码的效率,提高计算的效率。
29.视频编码和解码的一个目的是,通过压缩减少输入视频信号中的冗余。压缩可以帮助减少上述带宽或存储空间需求,在一些情况下减少两个数量级或更多。可以采用无损压缩和有损压缩,以及它们的组合。无损压缩是指可以从压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建信号可能与原始信号不相同,但是原始信号和重建信号之间的失真小到足以使重建信号对预期的应用而言是有用的。针对视频,有损压缩被广泛地采用。容忍的失真量取决于应用;例如,某些消费者流应用的用户可以比电视贡献
应用的用户容忍更高的失真。可实现的压缩比可以反映:较高的可允许/可容忍的失真,可以产生较高的压缩比。
30.利用时空像素邻域进行预测信号的构建,以获得对应的残差,用于后续的变换、量化和熵编码。另一方面,神经网络(nn)的本质是通过分析来自相邻像素的感受野的时空信息来提取不同级别的时空刺激(stimuli)。探索高度非线性和非局部时空相关性的能力,为大大提高压缩质量提供了具有前景的机会。
31.然而,利用来自多个相邻视频帧的信息时,一个警告是由移动相机和动态场景引起的复杂运动。传统的基于块的运动矢量不能很好地用于非平移运动。基于学习的光流方法可以在像素级提供精确的运动信息,遗憾的是,这容易出错,尤其是沿着移动物体的边界。在某种混合帧间预测中,可以使用基于nn的模型,以数据驱动的方式,隐式地处理任意复杂的运动。
32.因此,当使用基于nn的模型作为环路滤波器(lf)或用于帧间预测工具时,选择不同的帧作为参考帧来应用lf或生成中间帧是有利的,能够更好地权衡性能和编解码运行时间。
33.参考各个实施例的方法、装置(系统)和计算机可读存储介质的流程图和/或框图来描述各个方面。应当理解,流程图和/或框图中的每个框、以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
34.以下描述的示例性实施例提供了一种使用参考图像样本而非填充进行视频编解码的系统、方法和计算机程序。图1是一种联网计算机环境的功能框图,其示出了用于视频编解码的多媒体处理系统100(以下称为“系统”)。应当理解,图1仅提供了一种实施方式的图示,并不暗示对可以实现不同实施例的环境的任何限制。基于设计和实现要求,可以对所描述的环境进行各种修改。
35.系统100可以包括计算机102和服务器计算机114。计算机102可以经由通信网络110(以下称为“网络”)与服务器计算机114进行通信。计算机102可以包括处理器104和软件程序108,该软件程序108存储在数据存储设备106中,并且能够与用户接口并与服务器计算机114通信。如下面将参考图4所讨论的,计算机102可以分别包括内部组件800a和外部组件900a,服务器计算机114可以分别包括内部组件800b和外部组件900b。计算机102可以是,例如移动设备、电话、个人数字助理、上网本、膝上型计算机、平板计算机、台式计算机、或能够运行程序、访问网络、并访问数据库的任何类型的计算设备。
36.服务器计算机114还可以在云计算服务模型中运行,例如软件即服务(saas)、平台即服务(paas)或基础设施即服务(laas),如下文参照图5和图6所讨论的。服务器计算机114还可以位于云计算部署模型中,例如私有云、社区云、公共云或混合云。
37.可用于视频编解码的服务器计算机114能够运行dmvr视频编解码程序116(以下称为“程序”),该程序116可以与数据库112交互。下面参照图3更详细地解释视频编解码程序方法。在一个实施例中,计算机102可以作为包括用户界面的输入设备运行,而程序116可以主要在服务器计算机114上运行。在一可选的实施例中,程序116可以主要在至少一个计算机102上运行,而服务器计算机114可以用于处理和存储程序116所使用的数据。应当注意,程序116可以是独立程序,或者可以集成到更大的视频编解码程序中。
38.然而,应当注意,在某些情况下,可以在计算机102和服务器计算机114之间以任何
比率共享程序116的处理。在另一实施例中,程序116可以在一个以上的计算机、服务器计算机、或计算机和服务器计算机的某种组合上运行,例如,通过网络110与单个服务器计算机114进行通信的多个计算机102。在另一实施例中,例如,程序116可以在通过网络110与多个客户端计算机通信的多个服务器计算机114上运行。可选地,程序可以在通过网络与服务器和多个客户端计算机通信的网络服务器上运行。
39.网络110可以包括有线连接、无线连接、光纤连接或其某种组合。通常,网络110可以是支持在计算机102与服务器计算机114之间进行通信的连接和协议的任何组合。网络110可以包括各种类型的网络,例如局域网(lan)、诸如因特网的广域网(wan)、诸如公共交换电话网(pstn)的电信网络、无线网络、公共交换网络、卫星网络、蜂窝网络(例如第五代(5g)网络、长期演进(lte)网络、第三代(3g)网络、码分多址(cdma)网络等)、公共陆地移动网络(plmn)、城域网(man)、专用网、自组织网络、内联网、基于光纤的网络等,以及/或这些或其它类型网络的组合。
40.图1所示的设备和网络的数量和布置是作为示例来提供的。实际上,与图1所示的设备和网络相比,可以有更多的设备和/或网络、更少的设备和/或网络、不同的设备和/或网络,或布置不同的设备和/或网络。此外,图1所示的两个或更多个设备可以在单个设备中实现,或者图1所示的单个设备可以作为多个分布式设备实现。另外或可选地,系统100的一组设备(例如,至少一个设备)可以执行描述为由系统100的另一组设备执行的至少一个功能。
41.现在参考图2,描绘了用于环路滤波器/帧间预测的分级时间结构200。在视频编码和解码中,分级结构200可以运用基于nn的环路滤波器或帧间预测,并且更具体地,确定要用作参考帧的帧的数目/索引,以分别在i/p/b帧的视频编解码中使用nn模型进行帧生成或增强。假设输入视频x包括多个图像帧x1,

,x
t
(例如,1至16)。在第一运动估计步骤中,帧被分区成空间块,每个块可以迭代地被分区成较小的块,并且为每个块计算当前帧x
t
与一组先前重建帧之间的一组运动矢量m
t
。注意,下标t指示当前第t个编码周期,其可能与图像帧的显示顺序(时间戳)不匹配。而且,包含来自多个先前编码周期的帧。然后,在第二运动补偿步骤中,对于当前帧中的当前编解码块,通过基于运动矢量m
t
复制先前的对应像素来获得预测块,并且可以获得原始块和预测块之间的残差r
t
。在第三步骤中,变换残差r
t
,然后量化残差r
t

42.量化步骤给出量化的变换块。通过熵编码,将运动矢量m
t
和量化的变换块编码为码流,并将其发送到解码器。然后,在解码器侧,已解码块将应用逆变换和去量化(通常通过逆变换,如具有去量化系数的idct),以获得恢复的残差然后将加回到预测器块以获得重建块。附加部件进一步用于提高重建的视觉质量。通常,可以选择以下增强模块中的至少一个来处理包括去块滤波器(df)、样本自适应偏移(sao)、自适应环路滤波器(alf)等。
43.在hevc、vvc或其它视频编码框架或标准中,已解码图片可以被包括在参考图片列表(rpl)中,并且可以作为参考图片用于运动补偿预测和其它参数预测,从而可以以编码或解码的顺序对以下至少一个图片进行编解码。或者,当前图片的已解码部分可以用于帧内
预测或帧内块复制,以对当前图片的不同区域或块进行编解码。
44.在示例中,可以在编码器和解码器两者中,或仅在解码器中的rpl中,生成至少一个虚拟参考并将其包括在rpl中。虚拟参考图片可以由至少一个过程生成,这些过程包括信号处理、空间或时间滤波、缩放、加权平均、上/下采样、池化、具有存储器的递归处理、线性系统处理、非线性系统处理、神经网络处理、基于深度学习的处理、ai处理、预训练网络处理、基于机器学习的处理、在线训练网络处理或它们的组合。对于生成至少一个虚拟参考的处理,零个或多个前向参考图片,其以输出/显示的顺序和编码/解码的顺序位于当前图片之前,以及零个或多个后向参考图片,其以输出/显示的顺序位于当前图片之后但以编码/解码的顺序位于当前图片之前,被用作输入数据。该处理的输出是虚拟的/生成的图片,将用作新的参考图片。当选择该新的参考图片来预测当前图片中的编解码块时,可以应用常规的运动补偿技术。
45.在示例中,基于nn的方法可以应用于环路内滤波器设计,在每个帧上同时按照条带/ctu级,并结合至少一个上述附加部件(例如,df、sao、alf、ccalf等),或者代替至少一个上述附加部件(例如,df、sao、alf、ccalf等)。在应用时,重建的当前图片将用作至少一个基于nn的模型的输入数据,以生成nn增强的滤波图片。对于每个块或ctu,可以决定是选择该nn增强的滤波图片作为后滤波结果,还是使用传统的滤波方法。
46.对于不同的场景,可以选择至少一个nn模型作为基于nn的视频编解码工具,以应用于满足一定条件的图片。在一个实施例中,对于不同的qp(量化参数),可以在基于nn的视频编解码工具中选择至少一个基于nn的模型。换句话说,基于nn的视频编解码工具可以对所有qp使用一个模型,或对每个qp使用单独的模型,或者可以使用单独的模型,其中一个模型被分配用于一组qp范围。
47.在至少一个实施例中,对于不同分级级别下的图片,将在基于nn的视频编解码工具中使用至少一个基于nn的模型。换句话说,基于nn的视频编解码工具可以对所有帧使用一个模型,或对poc满足一定条件的不同帧,使用单独的模型。例如,图1图示了用于环路滤波器/帧间预测的分级结构的示例。一个模型被设计用于分级级别id等于1的帧;另一模型被设计用于分级级别id等于2的帧;等等。在另一示例中,对于不同分级级别id为偶数或奇数的图片,可以在基于nn的视频编解码工具中应用多个模型。换句话说,一个模型被设计用于分级级别id为偶数的帧;另一模型被设计用于分级级别id为奇数的帧。
48.在至少一个实施例中,对于具有不同类型的参考图片列表(rpl)的不同帧,可以在基于nn的视频编解码工具中选择至少一个基于nn的模型。换句话说,基于nn的视频编解码工具可以对所有帧使用一个模型,或对其参考图片列表(rpl)满足一定条件的不同帧使用单独的模型。例如,一个模型被设计用于其参考图片列表(rpl)的长度等于1的帧;另一模型被设计用于其参考图片列表(rpl)的长度等于2的帧;等等。在另一示例中,当参考图片列表(rpl)中的参考图片来自不同分级级别时,可以在基于nn的视频编解码工具中应用多个模型。换句话说,一个模型被设计用于其参考图片列表(rpl)中的参考图片来自分级级别1和2的帧;另一模型被设计用于其参考图片列表(rpl)中的参考图片来自分级级别1、2和3的帧;等等。
49.在至少一个实施例中,当不同的帧具有不同数目的参考帧,并将其输入到基于nn的模型时,在基于nn的视频编解码工具中选择至少一个基于nn的模型。换句话说,基于nn的
视频编解码工具可以对所有帧使用一个模型,或对不同的帧使用单独的模型,其中,这些不同的帧使用特定数目的参考帧作为基于nn的模型的输入。例如,一个模型被设计用于选择rpl中的一个唯一参考帧作为nn模型的输入;另一模型被设计用于选择rpl中的两个唯一参考帧作为nn模型的输入;等等。在另一示例中,参考帧可以不需要在rpl中呈现,然而,它们可以存储在dpb中,使得编码器和解码器都可以访问它们。
50.在至少一个实施例中,对于将到其参考帧的不同时间距离作为基于nn的模型的输入的不同帧,将在基于nn的视频编解码工具中选择至少一个基于nn的模型。换句话说,基于nn的视频编解码工具可以对所有帧使用一个模型,或对不同的帧使用单独的模型,其中,这些不同的帧的参考帧与它们之间具有不同的时间距离。例如,一个模型被设计用于使用(到当前帧)时间距离等于1的参考帧作为当前帧输入对nn模型;另一模型被设计用于将(到当前帧)时间距离等于2的参考帧作为当前帧输入对nn模型;等等。
51.在至少一个实施例中,基于nn的视频编解码可以是基于nn的帧间预测,或环路滤波,或两者。
52.多模型选择可以被应用为视频编解码中的基于nn的编解码工具。所提出的方法决定是否选择至少一个基于nn的模型,作为不同条件下针对图片的基于神经网络的编解码工具。基于nn的编解码工具可以包括但不限于基于nn的环路滤波、用于帧间预测的基于nn的虚拟参考图片。以下是进一步详细描述所提出的方法的几个示例。
53.在一个示例中,给定图1中的分级gop结构,一个模型可以用于所有级别的图片,或者对于每个级别,单独的模型可以用于不同分级级别id的帧(不同的poc条件)。作为示例,对于当前图片(poc=3),其与另一图片(poc=2)具有不同的分级级别,连同不同的场景或条件,这两个图片可以使用基于nn的编解码工具中的一个公共模型或单独的模型。
54.在另一示例中,给定图1中的分级gop结构,对于当前图片(poc=3),其具有图片(poc=0、2、4、8)的参考图片列表(rpl)且对于当前图片(poc=10),其具有图片(poc=8、12、16)的参考图片列表(rpl)。这两个帧具有不同的参考图片列表(rpl),这些参考图片列表(rpl)的参考帧来自不同的分级级别,并且这两个图片可以使用作为基于nn的编解码工具的一个公共模型或单独的模型。
55.在另一示例中,给定图1中的分级gop结构,对于当前图片(poc=3),其具有图片(poc=0、2、4、8)的参考图片列表(rpl),可以将不同数目的参考帧馈送到基于nn的模型中。当使用不同数目的参考帧作为输入时,其可以使用作为基于nn的编解码工具的一个公共模型或单独的模型。
56.在另一示例中,给定图1中的分级gop结构,对于当前图片(poc=3),其具有图片(poc=0、2、4、8)的参考图片列表(rpl);对于每个参考帧,其可以具有到当前图片的不同时间距离;对于参考帧相对于当前图片的不同时间距离,其可以使用基于nn的编解码工具中的一个公共模型或单独的模型来应用。
57.现在参考图3,描绘了图示由对视频数据进行编码和解码的程序执行的方法300的步骤的操作流程图。
58.在302处,方法300可以包括接收视频数据,所述视频数据包括至少一个帧。
59.在304处,方法300可以包括确定与接收的视频数据相关联的至少一个量化参数,以对来自所述至少一个帧中的目标帧进行帧生成或增强。
60.在306处,方法300可以包括基于确定的量化参数,对所述视频数据进行解码。
61.应当理解,图3仅提供了一种实施方式的图示,并不暗示关于如何实现不同实施例的任何限制。基于设计和实现要求,可以对所描述的环境进行各种修改。
62.图4是根据示例性实施例的图1中所描绘的计算机的内部组件和外部组件的框图400。应当理解,图4仅提供了一种实施方式的图示,并不暗示对可以实施不同实施例的环境的任何限制。基于设计和实现要求,可以对所描述的环境进行各种修改。
63.计算机102(图1)和服务器计算机114(图1)可以包括图4所示的内部组件800a、800b和外部组件900a、900b的相应集合。每组内部组件800包括连接在至少一个总线826上的至少一个处理器820、至少一个计算机可读随机存取存储器(ram)822和至少一个计算机可读只读存储器(rom)824,包括至少一个操作系统828、以及至少一个计算机可读有形存储设备830。
64.处理器820以硬件、固件或硬件与软件的组合来实现。处理器820是中央处理单元(cpu)、图形处理单元(gpu)、加速处理单元(apu)、微处理器、微控制器、数字信号处理器(dsp)、现场可编程门阵列(fpga)、专用集成电路(asic)或其它类型的处理组件。在一些实施方式中,处理器820包括至少一个能够被编程以执行功能的处理器。总线826包括允许在内部组件800a与800b之间进行通信的组件。
65.至少一个操作系统828、以及服务器计算机114(图1)上的软件程序108(图1)和dmvr视频编解码程序116(图1)都存储在至少一个相应的计算机可读有形存储设备830上,用于由至少一个相应的处理器820通过至少一个相应的ram822(其通常包括高速缓冲存储器)执行。在图4所示的实施例中,每个计算机可读有形存储设备830是内部硬盘驱动器的磁盘存储设备。可选地,每个计算机可读有形存储设备830是半导体存储设备,例如rom 824、可擦可编程只读存储器(eprom)、快闪存储器、光盘、磁光盘、固态盘、光碟(cd)、数字通用光盘(dvd)、软盘、盒式磁带、磁带,和/或能够存储计算机程序和数字信息的其它类型的非易失性计算机可读有形存储设备。
66.每组内部组件800a、800b还包括读写(r/w)驱动器或接口832,以便从至少一个便携式计算机可读有形存储设备936(例如cd-rom、dvd、记忆棒、磁带、磁盘、光盘或半导体存储设备)读取或向其写入。诸如软件程序108(图1)和dmvr视频编解码程序116(图1)的软件程序可以存储在至少一个相应的便携式计算机可读有形存储设备936上,经由相应的r/w驱动器或接口832读取并加载到相应的硬盘驱动器830中。
67.每组内部组件800a、800b还包括网络适配器或接口836,例如tcp/ip适配器卡、无线wi-fi接口卡、或3g、4g或5g无线接口卡或其它有线或无线通信链路。服务器计算机114(图1)上的软件程序108(图1)和dmvr视频编解码程序116(图1)可经由网络(例如,因特网、局域网或其它网络、广域网)和相应的网络适配器或接口836从外部计算机下载到计算机102(图1)和服务器计算机114。从网络适配器或接口836,将服务器计算机114上的软件程序108和dmvr视频编解码程序116加载到相应的硬盘驱动器830中。网络可以包括铜线、光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。
68.每组外部组件900a、900b可以包括计算机显示器920、键盘930和计算机鼠标934。外部组件900a、900b还可以包括触摸屏、虚拟键盘、触摸板、定点设备和其它人机接口设备。每组内部组件800a、800b还包括设备驱动器840,以与计算机显示器920、键盘930和计算机
鼠标934接口。设备驱动器840、r/w驱动器或接口832和网络适配器或接口836包括硬件和软件(存储在存储设备830和/或rom 824中)。
69.应当理解的是,尽管本技术包括对云计算的详细描述,但是本技术所列举的实施方式并不限于云计算环境。相反,某些实施例能够结合现在已知的或以后开发的任何其它类型的计算环境来实现。
70.云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务)共享池的方便、按需的网络访问,这些资源可以用最少的管理工作或与服务提供商的交互来快速配置和发布。云模型可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
71.特征如下:
72.按需自助服务(on-demand self-service):云用户可以根据需要自动单方面提供计算功能,例如服务器时间和网络存储,而无需与服务提供商进行人工交互。
73.广泛的网络接入(broad network access):功能可以通过网络获得,并通过标准机制进行访问,这些机制可以促进异构的瘦或胖客户端平台(例如,移动电话、笔记本电脑和个人数字助理)的使用。
74.资源池(resource pooling):使用多租户模型(multi-tenant model)将提供商的计算资源汇集起来以服务多个用户,并根据需求动态地分配和重新分配不同的物理和虚拟资源。位置独立的意义在于,用户通常对所提供的资源的确切位置没有控制权或知识,但能够在更高的抽象级别(例如,国家、州或数据中心)上指定位置。
75.快速弹性(rapid elasticity):可以快速且弹性地进行配置的功能,在某些情况下可以自动配置以快速向外扩展,并快速释放以快速向内扩展。对于用户来说,可用于配置的功能通常看起来是无限的,并且可以在任何时间以任何数量购买。
76.可计量的服务(measured service):云系统通过在适于服务类型(例如,存储、处理、带宽和活跃用户帐户)的某种抽象级别上利用计量功能,自动控制和优化资源使用。可以检视、控制和报告资源使用情况,从而为所使用服务的提供商和用户提供透明度。
77.服务模型如下:
78.软件即服务(saas):向用户提供的功能是使用在云基础设施上运行的提供商的应用程序。可以通过诸如网页浏览器(例如,基于网页的电子邮件)的瘦客户端接口从各种客户端设备访问应用程序。用户不管理或控制包括网络、服务器、操作系统、存储或甚至单个应用程序功能在内的底层云基础设施,但可能会限制用户特定的应用程序配置设置。
79.平台即服务(paas):提供给用户的功能是将用户创建或获取的应用程序部署到云基础设施上,该用户创建或获取的应用程序是使用提供商支持的编程语言和工具创建的。用户不管理或控制包括网络、服务器、操作系统或存储在内的底层云基础设施,而是控制所部署的应用程序和可能的应用程序托管环境配置。
80.基础设施即服务(laas):向用户提供的功能是提供处理、存储、网络和其他基本计算资源,其中用户能够部署和运行包括操作系统和应用程序在内的任意软件。用户不管理或控制底层云基础设施,而是控制操作系统、存储、部署的应用程序、以及可能对选择的网络组件(例如,主机防火墙)进行有限的控制。
81.部署模型如下:
82.私有云(private cloud):云基础设施仅为组织运行。它可以由组织或第三方来管理,并且可以存在于内部或外部。
83.社区云(community cloud):云基础设施由多个组织共享,并且支持具有共享关注点(例如,任务、安全要求、策略和服从性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于内部或外部。
84.公共云(public cloud):云基础设施可供一般公众或大型工业集团使用,并由出售云服务的组织所拥有。
85.混合云(hybrid cloud):云基础设施是由两个或更多个云(私有、社区或公共)组成的,这些云保持唯一的实体,但是通过标准化或专有技术绑定在一起,从而实现数据和应用程序的可移植性(例如,用于在云之间进行负载平衡的云爆发)。
86.云计算环境是面向服务的,着重于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点的网络的基础设施。
87.参照图5,其示出了示例性的云计算环境500。如图所示,云计算环境500包括至少一个云计算节点10,云用户所使用的本地计算设备(例如个人数字助理(pda)或蜂窝电话54a、台式计算机54b、膝上型计算机54c和/或汽车计算机系统54n)可以与这些云计算节点10通信。云计算节点10之间可以彼此通信。可以在至少一个网络中,例如上文所述的私有云、社区云、公共云、混合云、或其组合中,对它们进行物理或虚拟分组(未示出)。这允许云计算环境500提供基础设施、平台和/或软件作为服务,而云用户不需要在本地计算设备上为这些服务维护资源。应当理解,图5所示的计算设备54a-n的类型仅是示例性的,并且云计算节点10和云计算环境500可以通过任何类型的网络和/或网络可寻址连接(例如,使用网页浏览器)与任何类型的计算机系统通信。
88.参照图6,其示出了由云计算环境500(图5)提供的一组功能抽象层600。应当理解的是,图6所示的组件、层和功能仅是示例性的,并且实施例不限于此。如图所示,提供了以下层和相应功能:
89.硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:主机61、基于risc(精简指令集计算机,reduced instruction set computer)架构的服务器62、服务器63、刀锋服务器(blade server)64、存储设备65、以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
90.虚拟层70提供抽象层,从该抽象层可以提供以下虚拟实体的示例:虚拟服务器71、虚拟存储器72、包括虚拟专用网络的虚拟网络73、虚拟应用程序和操作系统74、以及虚拟客户端75。
91.在一个示例中,管理层80可以提供下述功能。资源供应81提供用于在云计算环境中执行任务的计算资源和其它资源的动态采购。当在云计算环境中利用资源时,计量和定价82提供成本检测,并为这些资源的消耗开具帐单或发票。在一个示例中,这些资源可包括应用软件许可证。安全性为云用户和任务提供身份验证,并为数据和其他资源提供保护。用户入口83为用户和系统管理员提供对云计算环境的访问。服务级别管理84提供云计算资源的分配和管理,从而满足所需的服务级别。服务水平协议(sla,service level agreement)计划和实现85为根据sla预期的未来需求的云计算资源提供预先安排和获取。
92.工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负
载和功能的示例包括:映射和导航91、软件开发和生命周期管理92、虚拟课堂教学实施93、数据分析处理94、交易处理95、以及dmvr视频编解码96。dmvr视频编解码96可以使用参考图像样本而非填充的方式,对视频进行编解码。
93.一些实施例可以涉及处于任何可能的技术细节集成水平的系统、方法和/或计算机可读介质。在本技术实施例,计算机可读介质可以包括非易失性计算机可读存储介质(或媒介),其上存储有使处理器执行操作的计算机可读程序指令。
94.计算机可读存储介质可以是有形设备,其可以保留和存储指令以供指令执行设备使用。计算机可读存储介质可以是,例如,但不限于,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任任意适当组合。计算机可读存储介质的更具体示例的非详尽列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字通用光盘(dvd)、记忆棒、软盘、机械编码装置(如其上记录有指令的穿孔卡(punch-card)或槽内凸起的结构)、以及上述的任意适当组合。本技术所使用的计算机可读存储介质不应被解释为本身是易失信号,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)、或通过电线传输的电信号。
95.本技术所述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过网络(例如,因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。所述网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发所述计算机可读程序指令,以将其存储在相应计算/处理设备内的计算机可读存储介质中。
96.用于执行操作的计算机可读程序代码/指令可以是汇编指令、指令集架构(isa,instruction-set-architecture)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、用于集成电路的配置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括诸如smalltalk、c 等的面向对象的编程语言、以及程序化程序语言(例如“c”编程语言)或类似的编程语言。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上执行而部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(lan)或广域网(wan))连接到用户的计算机上,或者可以连接到外部计算机(例如,通过使用互联网服务提供商的互联网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令,以使得电子电路个性化,从而执行方面或操作。
97.可以将这些计算机程序指令提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,以产生机器,使得该指令经由计算机或其他可编程数据处理装置的处理器执行,以创建用于实现流程图和/或框图中的至少一个框指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,所述计算机可读存储介质可以指导计算机、可编程数据处理装置和/或其他设备以特定方式运行,从而使得其中存储有指
令的计算机可读存储介质包含制品,所述制品包括实现流程图和/或框图中的至少一个框指定的功能/动作的各方面的指令。
98.计算机可读程序指令也可以加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,从而产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的至少一个框指定的功能/动作。
99.附图中的流程图和框图示出了根据各种实施例的系统、方法和计算机可读介质的可能的实实施方式的架构、功能和操作。在这这一点而言,流程图或框图中的每个框可以表示指令的模块、片段或部分,其包括用于实现指定逻辑功能的至少一个可执行指令。相比于图中所描绘的,所述方法、计算机系统和计算机可读介质可以包括更多的块、更少的块、不同的块或不同布置的块。在一些可选实施方式中,框中标注的功能可以不按附图中标注的顺序发生。例如,取决于所涉及的功能,连续示出的两个框实际上可以同时或基本上同时执行,或者所述框有时可以以相反的顺序执行。还应注意的是,框图和/或流程图的每个框以及框图和/或流程图的框的组合可以由执行指定功能或动作的或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实施。
100.很明显,本技术所述的系统和/或方法可以以不同形式的硬件、固件或硬件和软件的组合来实现。用于实现这些系统和/或方法的实际专用控制硬件或软件代码并不受这些实施方式的限制。因此,本技术描述了这些系统和/或方法的操作和行为而没有参考具体的软件代码——应当理解,可以基于本技术的描述来设计软件和硬件以实现这些系统和/或方法。
101.除非明确说明,否则本技术中使用的元件、动作或指令均不得解释为关键或必要的。另外,如本技术所使用的,冠词“一(a)”和“一个(an)”旨在包括至少一个项,并且可以与“至少一个”互换使用。此外,如本技术所使用的,术语“集合”旨在包括至少一个项(例如,相关项、不相关项、相关项和不相关项的组合等),并且可以与“至少一个”互换使用。在仅希望一个项的情况下,则使用术语“一个”或类似语言。另外,如本技术所使用的,术语“具有(has)”,“具有(have)”,“具有(having)”等旨在是开放式术语。进一步,短语“基于”旨在表示“至少部分地基于”,除非另外明确说明。
102.已经出于说明的目的给出了各个方面和实施例的描述,但是并不旨在穷举或限于所公开的实施例。即使权利要求中叙述了特征的组合和/或说明书中公开了特征的组合,这些组合也不旨在限制可能的实施方式的公开。实际上,这些特征中的许多特征可以以权利要求中未具体描述和/或说明书中未公开的方式组合。虽然下文列出的每个从属权利要求可以直接从属于仅一个权利要求,但是可能的实施方式的公开包括每个从属权利要求与权利要求集中的每个其他权利要求的组合。在不脱离所描述的实施例的范围的情况下,许多修改和变化对于本领域普通技术人员来说将是显而易见的。选择本技术使用的术语是为了最好地解释本技术实施例的原理、对市场上发现的技术的实际应用或技术改进,或使本领域其他普通技术人员能够理解本技术公开的实施例。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献