CN114666587A - 用于感兴趣区域视频编码的技术 - Google Patents
用于感兴趣区域视频编码的技术 Download PDFInfo
- Publication number
- CN114666587A CN114666587A CN202111391469.9A CN202111391469A CN114666587A CN 114666587 A CN114666587 A CN 114666587A CN 202111391469 A CN202111391469 A CN 202111391469A CN 114666587 A CN114666587 A CN 114666587A
- Authority
- CN
- China
- Prior art keywords
- frame
- region
- interest
- video
- computing node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000004422 calculation algorithm Methods 0.000 claims description 39
- 238000010801 machine learning Methods 0.000 claims description 30
- 238000004891 communication Methods 0.000 description 90
- 230000015654 memory Effects 0.000 description 82
- 238000003860 storage Methods 0.000 description 67
- 238000012545 processing Methods 0.000 description 56
- 230000006870 function Effects 0.000 description 42
- 238000005516 engineering process Methods 0.000 description 29
- 230000002776 aggregation Effects 0.000 description 19
- 238000004220 aggregation Methods 0.000 description 19
- 238000001152 differential interference contrast microscopy Methods 0.000 description 18
- 238000007726 management method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000002093 peripheral effect Effects 0.000 description 15
- 230000001413 cellular effect Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 230000006855 networking Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 9
- 230000006872 improvement Effects 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 230000001133 acceleration Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 7
- 230000007774 longterm Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000012384 transportation and delivery Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000033001 locomotion Effects 0.000 description 5
- 238000013515 script Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000009977 dual effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000010295 mobile communication Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 2
- 241000233805 Phoenix Species 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000003042 antagnostic effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 238000001816 cooling Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000003623 enhancer Substances 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 229910044991 metal oxide Inorganic materials 0.000 description 2
- 150000004706 metal oxides Chemical class 0.000 description 2
- 239000003595 mist Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 235000012571 Ficus glomerata Nutrition 0.000 description 1
- 244000153665 Ficus glomerata Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 231100001261 hazardous Toxicity 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000012994 industrial processing Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/154—Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
公开了一种用于感兴趣区域视频编码的技术。计算节点可以通过对感兴趣区域内的噪声与感兴趣区域外的噪声进行不同的加权来确定具有感兴趣区域的经编码的帧的加权平均噪声参数。此类加权平均噪声参数可用于对视频的后续帧进行编码,以改进编码的总体质量。公开了加权平均噪声参数的其他应用。
Description
背景技术
视频编码需要在编码的视频质量与位速率之间进行权衡。在某些情 况下,编码器将对帧进行编码,然后基于经编码的帧与原始帧之间的差异来计 算噪声参数。然后,噪声参数可以用作调整编码参数(诸如分配给下一帧的位 数)的反馈。然而,此类方法可能无法以低失真对视频的感兴趣区域进行编码。
附图说明
在附图中,以示例方式而不是以限制方式例示出本文中所描述的概 念。出于说明简单和清楚起见,附图中所图示出的要素不一定是按比例绘制的。 在认为适当的情况下,已在附图之间重复了附图标记以指示对应的或类似的要 素。
图1是用于编码和发送视频的源计算节点和用于接收和解码视频的 宿计算节点的至少一个实施例的简化框图;
图2A是图1的计算节点的至少一个实施例的简化框图;
图2B提供了图1的计算节点内的示例组件的进一步概览;
图3是可由图1的源计算节点建立的环境的至少一个实施例的简化 框图;
图4是可由图1的宿计算节点建立的环境的至少一个实施例的简化 框图;
图5是可由图1的源计算节点执行的用于对视频进行编码的方法的 至少一个实施例的简化流程图;
图6是可由图1的宿计算节点执行的用于对视频进行解码的方法的 至少一个实施例的简化流程图;
图7示出了针对边缘计算的边缘云配置的概览;
图8示出了端点、边缘云和云计算环境之间的操作层;
图9示出了用于边缘计算系统中的联网和服务的示例方法;
图10示出了涉及对边缘计算系统中的应用的移动接入的计算和通 信用例;
图11示出了根据ETSI多接入边缘计算(MEC)规范布置的示例移动 边缘系统参考架构;
图12示出了根据示例的用于通过链路而耦合到相应的网关的各个 物联网(IoT)网络的域拓扑;
图13示出了根据示例的云计算网络,该云计算网络与在该云计算 网络的边缘处作为雾设备操作的IoT设备的网状网络进行通信;
图14示出了根据示例的与数个物联网(IoT)设备通信的云计算网 络或云的图;
图15示出了根据示例的示例IoT处理系统架构的框图,在该示例 IoT处理系统架构上可执行本文中所讨论的技术(例如,操作、过程、方法和 方法论)中的任何一种或多种;
图16示出了根据示例的部署在边缘计算系统中的分布式计算层的 概览;以及
图17示出了根据示例的示例软件分发平台。
具体实施方式
尽管本公开的概念易于具有各种修改和替代形式,但是,本公开的 特定实施例已作为示例在附图中示出并将在本文中详细描述。然而,应当理解, 没有将本公开的概念限制于所公开的特定形式的意图,而相反,意图旨在涵盖 符合本公开和所附权利要求书的所有修改、等效方案和替代方案。
说明书中对“一个实施例”、“实施例”、“说明性实施例”等的引用指 示所描述的实施例可包括特定特征、结构或特性,但是,每一个实施例可包括 或可以不一定包括该特定特征、结构或特性。而且,此类短语不一定是指同一 实施例。进一步地,当结合实施例来描述特定的特征、结构或特性时,认为结 合无论是否被明确描述的其他实施例来实施此类特征、结构或特性均落在本领 域技术人员的知识范围之内。附加地,应当领会,以“A、B和C中的至少一者” 的形式包括在列表中的术语可意指(A);(B);(C);(A和B);(A和C);(B和 C);或(A、B和C)。类似地,以“A、B或C中的至少一者”的形式列出的项可 以意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。
在一些情况下,所公开的实施例能以硬件、固件、软件或其任何组 合来实现。所公开的多个实施例也可被实现为由瞬态或非瞬态机器可读(例如, 计算机可读)存储介质承载或存储于其上的可由一个或多个处理器读取并执行 的指令。机器可读存储介质可被具体化为用于以可由机器读取的形式存储或传 送信息的任何存储设备、机制或其他物理结构(例如,易失性或非易失性存储 器、介质盘、或其他介质设备)。
在附图中,一些结构或方法特征可按特定布置和/或排序示出。然而, 应当领会,此类特定布置和/或排序可以不是必需的。相反,在一些实施例中, 能以与在说明性附图中示出的不同的方式和/或次序来布置此类特征。另外,在 特定附图中包括结构或方法特征不意味着暗示在所有实施例中都需要此类特 征,并且在一些实施例中,可以不包括此类特征,或此类特征可以与其他特征 组合。
现在参考图1,说明性系统100包括通过网络106连接的源计算节 点102和宿计算节点104。在说明性实施例中,源计算节点102捕获由若干帧 组成的视频。源计算节点102标识每个帧中的感兴趣区域,并基于所标识的感 兴趣区域来对帧进行编码。在对每个帧进行编码之后,基于感兴趣区域内的信 噪比和感兴趣区域外的信噪比的加权平均来确定加权平均噪声参数。加权平均 噪声参数可用作用来对后续帧进行编码的参数。加权平均噪声参数可指示绝对 噪声级或可指示信噪比。源计算节点102将经编码的帧发送到宿计算节点104。
说明性宿计算节点104被配置成用于自动化地标识经编码的帧中的 感兴趣区域。宿计算节点104然后可以诸如通过使用生成性对抗网络 (generative adversarialnetwork)来增强图像的非ROI区域。
源计算节点102和宿计算节点104中的每一个可被具体化为任何合 适的计算节点,诸如图2A所示的计算节点200或图2B所示的边缘计算节点 250。源计算节点102和/或宿计算节点104可被具体化在边缘计算系统、数据 中心计算系统或任何其他合适的计算系统中或形成边缘计算系统、数据中心计 算系统或任何其他合适的计算系统的一部分。将源计算节点102连接到宿计算 节点104的网络106可以是任何合适的网络或网络的组合。例如,网络106可 以是因特网、内部网、基于以太网的网络、TCP/IP网络、边缘网络等的任意组合。
在进一步的示例中,参考当前的边缘计算系统和环境讨论的计算节 点(例如,源计算节点102和/或宿计算节点104)或设备中的任一者可以基于 图2A和图2B中所描绘的组件来实现。相应的边缘计算节点可以被具体化为 能够与其他边缘组件、联网组件或端点组件进行通信的设备、装置、计算机或 其他“物”的类型。例如,边缘计算设备可以被具体化为个人计算机,服务器, 智能手机,移动计算设备,智能装置,机载计算系统(例如,导航系统),具 有外箱、外壳的自包含设备等,或能够执行所描述的功能的其他设备或系统。
在图2A中描绘的简化示例中,边缘计算节点200包括计算引擎(本 文中也称为“计算电路系统”)202、输入/输出(I/O)子系统208、数据存储210、 通信电路子系统212,以及任选地,相机214和/或一个或多个外围设备216。 在其他示例中,相应的计算设备可以包括其他或附加组件,诸如通常在计算机 中发现的那些组件(例如,显示器、外围设备等)。另外,在一些示例中,说 明性组件中的一个或多个可被并入到另一组件中,或以其他方式形成另一组件 的部分。
计算节点200可被具体化为能够执行各种计算功能的任何类型的引 擎、设备、或设备集合。在一些示例中,计算节点200可被具体化为单个设备, 诸如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、芯片上系统(SOC) 或者其他集成系统或设备。在说明性示例中,计算节点200包括或被具体化为 处理器204和存储器206。处理器204可被具体化为能够执行本文中所描述的 功能(例如,执行应用)的任何类型的处理器。例如,处理器204可被具体化 为(多个)多核处理器、微控制器、处理单元、专门或专用处理单元、或其他 处理器或处理/控制电路。
在一些示例中,处理器204可被具体化为、包括或耦合至FPGA、 专用集成电路(ASIC)、可重新配置的硬件或硬件电路系统、或用于促进本文 中所描述的功能的执行的其他专用硬件。而且在一些示例中,处理器204可被 具体化为专用x处理单元(xPU),也称为数据处理单元(DPU)、基础设施 处理单元(IPU)或网络处理单元(NPU)。此类xPU可具体化为独立电路或 电路封装、集成在SOC内或与联网电路系统(例如,在智能NIC或增强型智 能NIC中)集成、加速电路系统、存储设备或AI硬件(例如,GPU或编程 FPGA)。在CPU或通用处理硬件之外,此类xPU可被设计成用于接收编程以 处理一个或多个数据流并执行针对数据流的特定任务和动作(诸如主控微服务、 执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格、或 收集和分发遥测)。然而,将理解,xPU、SOC、CPU和处理器204的其他变 体可以彼此协调工作,以在计算节点200内并代表计算节点200执行许多类型 的操作和指令。
存储器206可被具体化为能够执行本文中所述的功能的任何类型的 易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据 存储。易失性存储器可以是需要功率来维持由该介质存储的数据的状态的存储 介质。易失性存储器的非限制性示例可包括各种类型的随机存取存储器(RAM), 诸如DRAM或静态随机存取存储器(SRAM)。可以在存储器模块中使用的 一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在示例中,存储器设备是块可寻址存储器设备,诸如基于NAND 或NOR技术的那些存储器设备。存储器设备还可包括三维交叉点存储器设备 (例如,3D XPointTM存储器)或其他字节可寻址的原位写入非易失性存 储器设备。存储器设备可指代管芯本身和/或指代封装的存储器产品。在一些示 例中,3D交叉点存储器(例如,3D XPointTM存储器)可包括无晶体 管的可堆叠的交叉点架构,其中存储单元位于字线和位线的交点处,并且可单 独寻址,并且其中位存储基于体电阻的变化。在一些示例中,存储器206的全部或部分可以被集成到处理器204中。存储器206可以存储在操作期间使用的 各种软件和数据,诸如一个或多个应用、通过(多个)应用、库以及驱动程序 操作的数据。
计算电路系统202经由I/O子系统208通信地耦合到计算节点200 的其他组件,该I/O子系统208可被具体化为用于促进与计算电路系统202(例 如,与处理器204和/或主存储器206)以及计算电路系统202的其他组件的输 入/输出操作的电路系统和/或组件。例如,I/O子系统208可被具体化为或以其 他方式包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设 备、通信链路(即,点对点链路、总线链路、线路、电缆、光导、印刷电路板 迹线等)和/或用于促进输入/输出操作的其他组件和子系统。在一些示例中, I/O子系统208可以形成芯片上系统(SoC)的部分,并可连同计算电路系统 202的处理器204、存储器206、和其他组件中的一者或多者一起被并入到计算 电路系统202中。
一个或多个说明性数据存储设备210可被具体化为被配置成用于数 据的短期或长期存储的任何类型的设备,诸如例如,存储器设备和电路、存储 器卡、硬盘驱动器、固态驱动器或其他数据存储设备。各个数据存储设备210 可包括存储用于数据存储设备210的数据以及固件代码的系统分区。各个数据 存储设备210还可包括根据例如计算节点200的类型来存储用于操作系统的数 据文件和可执行文件的一个或多个操作系统分区。
在一些实施例中,数据存储设备210可包括处理器220、存储器222 和加速器224。处理器220和/或存储器222可以与处理器204和/或存储器206 类似,为了清楚起见,将不重复对其的描述。当然,在一些实施例中,处理器 220和/或存储器222的容量、速度、带宽等可以分别与处理器204和/或存储 器206不同。加速器224可具体化为可加速某些计算任务的任何一个或多个电 路。例如,加速器224可具体化为现场可编程门阵列(FPGA)、专用集成电路(ASIC)、神经网络电路、图形处理单元(GPU)、通用图形处理单元(GPGPU) 等。
在说明性实施例中,数据存储设备210以及处理器220、存储器222 和加速器224(如果存在)都封装在存储设备机箱或存储设备外壳中,存储设 备机箱或存储设备外壳将存储设备210与计算节点200的其他组件(诸如计算 电路系统202)分隔开。
通信电路系统212可被具体化为能够实现通过网络在计算电路系统 202与其他计算设备(例如,边缘计算系统的边缘网关)之间进行的通信的任 何通信电路、设备或其集合。通信电路系统212可以被配置成使用任何一种或 多种通信技术(例如,有线或无线通信)和相关联的协议(例如,蜂窝联网协 议(诸如3GPP 4G或5G标准)、无线局域网协议(诸如IEEE 802.11/)、 无线广域网协议,以太网、蓝牙低能量、IoT协议(诸如IEEE 802.15.4 或)、低功率广域网(LPWAN)或低功率广域网(LPWA)协议等) 来实行此类通信。
说明性通信电路系统212包括网络接口控制器(NIC)226,其也可 被称为主机结构接口(HFI)。NIC 226可被具体化为一个或多个插入式板、 子卡、网络接口卡、控制器芯片、芯片组或可由计算节点200用来与另一计算 设备(例如,边缘网关节点)连接的其他设备。在一些示例中,NIC 226可被 具体化为包括一个或多个处理器的芯片上系统(SoC)的部分,或NIC 226可 被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 226可包括本地处理器(未示出)和/或本地存储器(未示出),这两者均位于NIC 226本地。在此类示例中,NIC 226的本地处理器可以能够执行本文中描述的 计算电路系统202的功能中的一个或多个功能。附加地或替代地,在此类示例 中,NIC 226的本地存储器可以在板级、插座级、芯片级和/或其他层级上被集 成到客户端计算节点的一个或多个组件中。
说明性相机214可具体化为能够捕获一系列图形的任何合适的设备。 在说明性实施例中,相机214具有将光聚焦到图像传感器上的透镜。在其他实 施例中,可以使用不同的成像元件,诸如孔径、镜子、过滤器等。图像传感器 可以基于任何合适的传感器,诸如互补金属氧化物半导体(CMOS)传感器、 电荷耦合器件(CCD)传感器、热传感器等。相机214可以具有任何合适的分 辨率,诸如640x 480,768x 1024、1024x 1280、1080x 1920、2160x3840、 4320x 7680等。相机214可以以任何合适的帧速率(诸如每秒24帧(FPS)、 30FPS、60FPS、120FPS、240FPS等)捕获视频。相机214可以对任何合适 的颜色范围敏感,诸如毫米波、红外线、可见光、紫外线、x射线等。相机214 可以是黑色和白色的,或者可以具有两个或多个通道,诸如红色、绿色和蓝色 通道。
另外,在一些示例中,相应的计算节点102可以包括一个或多个外 围设备216。取决于计算节点200的特定类型,此类外围设备216可包括在计 算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、 其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算 节点200可以由边缘计算系统中的相应的边缘计算节点(无论是客户端、网关 还是聚合节点)来具体化,或者由类似形式的装置、计算机、子系统、电路系 统或其他组件来具体化。
另外,在一些示例中,相应的计算节点200可以包括一个或多个外 围设备214。取决于计算节点200的特定类型,此类外围设备214可包括在计 算设备或服务器中发现的任何类型的外围设备,诸如音频输入设备、显示器、 其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算 节点200可以由边缘计算系统中的相应的边缘计算节点(无论是客户端、网关 还是聚合节点)来具体化,或者由类似形式的装置、计算机、子系统、电路系 统或其他组件来具体化。
应当理解,在一些实施例中,源计算节点102的特定硬件可以与宿 计算节点104的特定硬件不同。例如,在一些实施例中,源计算节点102可以 包括相对强大的计算电路系统202,而宿计算节点104可以包括较弱的计算电 路系统202。同时,宿计算节点104可以包括比源计算节点102中的数据存储 210具有更多存储或更多能力的数据存储210(或者源计算节点102可以不包 括数据存储210)。在一个示例中,源计算节点102具有相机214,而宿计算节点104不具有相机214。
在更详细的示例中,图2B图示出可以存在于边缘计算节点250中 的组件的示例的框图,该组件用于实现本文所描述的技术(例如,操作、过程、 方法和方法论)。该边缘计算节点250在被实现为计算设备(例如,移动设备、 基站、服务器、网关等)或计算设备(例如,移动设备、基站、服务器、网关 等)的一部分时提供节点200的相应组件的更靠近的视图。边缘计算节点250 可包括本文中所引用的硬件或逻辑组件的任何组合,并且该边缘计算节点250 可包括可与边缘通信网络或此类网络的组合一起使用的任何设备或与该任何 设备耦合。这些组件可被实现为集成电路(IC)、IC的部分、分立电子器件, 或其他模块、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或 其适用于边缘计算节点250中的组合,或作为以其他方式被并入在更大的系统 的底座内的组件。
边缘计算设备250可包括处理器252形式的处理电路系统,该处理 电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌 入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元,或其他已知 的处理元件。处理器252可以是芯片上系统(SoC)的部分,在该SoC中,处 理器252和其他组件形成为单个集成电路或单个封装,诸如来自加利福尼亚州 圣克拉拉市的英特尔公司的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC 板。作为示例,处理器252可包括基于架构酷睿TM(CoreTM)的CPU 处理器(诸如夸克TM(QuarkTM)、凌动TM(AtomTM)、i3、i5、i7、i9或MCU 类处理器)、或可从获得的另一此类处理器。然而,可使用任何数量 的其他处理器,诸如可从加利福尼亚州桑尼威尔市的超微半导体公司获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于的设计、许可自ARM控股有限公司的基于的设计,或从上述各公司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来自 公司的A5-A13处理器、来自技术公司的骁龙TM(SnapdragonTM)处 理器或来自德州仪器公司的OMAPTM处理器。处理器252和伴随的电路系统可 以以单插座形状因子、多插座形状因子或各种其他格式提供,包括以有限的硬 件配置或以包括少于图2B中所示的所有元件的配置来提供。
处理器252可通过互连256(例如,总线)来与系统存储器254通 信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存 储器254可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储 器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3 或LPDDR4)。在特定示例中,存储器组件可符合JEDEC颁布的DRAM标准, 诸如DDR SDRAM的JESD79F、DDR2 SDRAM的JESD79-2F、DDR3 SDRAM 的JESD79-3F、DDR4SDRAM的JESD79-4A、低功率DDR(LPDDR)的JESD209、 LPDDR2的JESD209-2、LPDDR3的JESD209-3和LPDDR4的JESD209-4。此 类标准(和类似的标准)可被称为基于DDR的标准,而存储设备的实现此类 标准的通信接口可被称为基于DDR的接口。在各种实现方式中,单独的存储 器设备可以是任何数量的不同封装类型,诸如单管芯封装(SDP)、双管芯封 装(DDP)或四管芯封装(Q17P)。在一些示例中,这些设备可以直接焊接到 主板上,以提供薄型解决方案,而在其他示例中,设备被配置为一个或多个存 储器模块,这一个或多个存储器模块进而通过给定的连接器耦合至主板。可使 用任何数量的其他存储器实现方式,诸如其他类型的存储器模块,例如,不同 种类的双列直插存储器模块(DIMM),包括但不限于microDIMM(微DIMM) 或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存储, 存储258还可经由互连256而耦合至处理器252。在示例中,存储258可经由 固态盘驱动器(SSDD)来实现。可用于存储258的其他设备包括闪存卡(诸 如安全数字(SD)卡、microSD卡、极限数字(XD)图片卡,等等)和通用 串行总线(USB)闪存驱动器。在示例中,存储器设备可以是或者可以包括使 用硫属化物玻璃的存储器设备、多阈值级别NAND闪存、NOR闪存、单级或 多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存 取存储器(FeTRAM)、反铁电存储器、包含忆阻器技术的磁阻随机存取存储 器(MRAM)、包括金属氧化物基底、氧空位基底和导电桥随机存取存储器 (CB-RAM)的电阻式存储器、或自旋转移力矩(STT)-MRAM、基于自旋电 子磁结存储器的设备、基于磁隧穿结(MTJ)的设备、基于DW(畴壁)和SOT (自旋轨道转移)的设备、基于晶闸管的存储器设备、或者任何上述或其他存 储器的组合。
在低功率实现方式中,存储258可以是与处理器252相关联的管芯 上存储器或寄存器。然而,在一些示例中,存储258可使用微硬盘驱动器(HDD) 来实现。此外,附加于或替代所描述的技术,可将任何数量的新技术用于存储 258,诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连256进行通信。互连256可包括任何数量的技术, 包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、外围 组件互连扩展(PCIx)、PCI express(PCI快速,PCIe)或任何数量的其他技 术。互连256可以是例如在基于SoC的系统中使用的专有总线。其他总线系统 可被包括,诸如集成电路间(I2C)接口、串行外围设备接口(SPI)接口、点 对点接口、以及功率总线,等等。
互连256可将处理器252耦合至收发器266,以用于例如与连接的 边缘设备262通信。收发器266可使用任何数量的频率和协议,诸如IEEE 802.15.4标准下的2.4千兆赫兹(GHz)传输,使用如由特别兴趣小组定义 的低能量(BLE)标准、或标准,等等。为特定的无线通信协 议配置的任何数量的无线电可用于到所连接的边缘设备262的连接。例如,无 线局域网(WLAN)单元可用于根据电气和电子工程师协会(IEEE)802.11标 准实现通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通 信可经由无线广域网(WWAN)单元发生。
无线网络收发器266(或多个收发器)可以使用用于不同范围的通信 的多种标准或无线电来进行通信。例如,边缘计算节点250可使用基于蓝牙低 能量(BLE)或另一低功率无线电的本地收发器与接近的(例如,在约10米 内的)设备通信以节省功率。更远的(例如,在约50米内的)连接的边缘设 备262可通过或其他中间功率的无线电而联络到。这两种通信技术能 以不同的功率水平通过单个无线电发生,或者可通过分开的收发器而发生,分 开的收发器例如使用BLE的本地收发器和分开的使用的网格收发器。
可包括无线网络收发器266(例如,无线电收发器),以经由局域 网协议或广域网协议来与云(例如,边缘云295)中的设备或服务通信。无线 网络收发器266可以是遵循IEEE802.15.4或IEEE 802.15.4g标准等的低功率 广域(LPWA)收发器。边缘计算节点250可使用由Semtech和LoRa联盟开 发的LoRaWANTM(长距离广域网)在广域上通信。本文中所描述的技术不限 于这些技术,而是可与实现长距离、低带宽通信(诸如Sigfox和其他技术)的 任何数量的其他云收发器一起使用。进一步地,可使用其他通信技术,诸如在 IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的无线网络收发器266而提及的系统之外, 还可使用任何数量的其他无线电通信和协议。例如,收发器266可包括使用扩 展频谱(SPA/SAS)通信以实现高速通信的蜂窝收发器。进一步地,可使用任 何数量的其他协议,诸如用于中速通信和供应网络通信的网络。收发 器266可包括与任何数量的3GPP(第三代合作伙伴计划)规范(诸如在本公 开的末尾处进一步详细讨论的长期演进(LTE)和第五代(5G)通信系统)兼 容的无线电。网络接口控制器(NIC)268可被包括以提供到边缘云295的节 点或到其他设备(诸如(例如,在网格中操作的)连接的边缘设备262)的有 线通信。有线通信可提供以太网连接,或可基于其他类型的网络,诸如控制器 区域网(CAN)、本地互连网(LIN)、设备网络(DeviceNet)、控制网络 (ControlNet)、数据高速路+、现场总线(PROFIBUS)或工业以太网 (PROFINET),等等。附加的NIC 268可被包括以实现到第二网络的连接, 例如,第一NIC 268通过以太网提供到云的通信,并且第二NIC 268通过另一 类型的网络提供到其他设备的通信。
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由设备 使用的可适用通信电路系统可以包括组件264、266、268或270中的任何一个 或多个,或由组件264、266、268或270中的任何一个或多个来具体化。因此, 在各示例中,用于通信(例如,接收、传送等)的可适用装置可由此类通信电 路系统来具体化。
边缘计算节点250可以包括或被耦合到加速电路系统264,该加速 电路系统264可以由一个或多个人工智能(AI)加速器、神经计算棒、神经形 态硬件、FPGA、GPU的布置、一个或多个SoC、一个或多个CPU、一个或多 个数字信号处理器、专用ASIC、或被设计用于完成一个或多个专有任务的其 他形式的专用处理器或电路系统来具体化。这些任务可以包括AI处理(包括 机器学习、训练、推断、和分类操作)、视觉数据处理、网络数据处理、对象 检测、规则分析等。这些任务还可包括用于本文档中其他地方讨论的服务管理 和服务操作的特定边缘计算任务。
互连256可将处理器252耦合至用于连接附加的设备或子系统的传 感器中枢或外部接口270。设备可包括传感器272,诸如加速度计、水平传感 器、流量传感器、光学光传感器、相机传感器、温度传感器、全球定位系统(例 如,GPS)传感器、压力传感器、气压传感器,等等。中枢或接口270可进一 步用于将边缘计算节点250连接至致动器274,诸如功率开关、阀致动器、可 听声音发生器、视觉警告设备等。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于边缘计 算节点250内,或可连接至边缘计算节点250。例如,可包括显示器或其他输 出设备284来显示信息,诸如传感器读数或致动器位置。可以包括输入设备286 (诸如触摸屏或小键盘)来接受输入。输出设备284可包括任何数量的音频或 视觉显示形式,包括:简单视觉输出,诸如二进制状态指示器(例如,发光二 极管(LED));多字符视觉输出;或更复杂的输出,诸如显示屏(例如,液 晶显示器(LCD)屏),其具有从边缘计算节点250的操作生成或产生的字符、 图形、多媒体对象等的输出。在本系统的上下文中,显示器或控制台硬件可用 于:提供边缘计算系统的输出并接收边缘计算系统的输入;管理边缘计算系统 的组件或服务;标识边缘计算组件或服务的状态;或进行任何其他数量的管理 或管理功能或服务用例。
电池276可为边缘计算节点250供电,但是在其中边缘计算节点250 被安装在固定位置的示例中,该边缘计算节点250可具有耦合至电网的电源, 或者电池可以用作备用或用于临时功能。电池276可以是锂离子电池、金属- 空气电池(诸如锌-空气电池、铝-空气电池、锂-空气电池),等等。
电池监测器/充电器278可被包括在边缘计算节点250中以跟踪电池 276(如果包括的话)的充电状态(SoCh)。电池监视器/充电器278可用于监 视电池276的其他参数以提供故障预测,诸如电池276的健康状态(SoH)和 功能状态(SoF)。电池监测器/充电器278可包括电池监视集成电路,诸如来 自线性技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑 那州的凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来 自德克萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电 器278可通过互连256将关于电池276的信息传输至处理器252。电池监视器/ 充电器278也可包括使处理器252能够直接监视电池276的电压或来自电池 276的电流的模数(ADC)转换器。电池参数可被用于确定边缘计算节点250 可执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块280或耦合至电网的其他电源可与电池监测器/充电器278 耦合以对电池276充电。在一些示例中,功率块280可用无线功率接收机代替, 以便例如通过边缘计算节点250中的环形天线来无线地获得功率。无线电池充 电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020芯片, 等等)可被包括在电池监测器/充电器278中。可以基于电池276的尺寸并且因 此基于所要求的电流来选择特定的充电电路。可使用由无线充电联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium) 颁布的Qi无线充电标准、或由无线电力联盟(Alliance for WirelessPower)颁 布的Rezence充电标准等等来执行充电。
存储258可包括用于实现本文中公开的技术的软件、固件或硬件命 令形式的指令282。虽然此类指令282被示出为被包括在存储器254和存储258 中的代码块,但是可以理解,可用例如被构建到专用集成电路(ASIC)中的硬 连线电路来代替代码块中的任一个。
在示例中,经由存储器254、存储258或处理器252提供的指令 282可被具体化为非瞬态机器可读介质260,该非瞬态机器可读介质260包括 用于指导处理器252执行边缘计算节点250中的电子操作的代码。处理器252 可通过互连256来访问非瞬态机器可读介质260。例如,非瞬态机器可读介质 260可由针对存储258所描述的设备来具体化,或者可包括特定的存储单元, 诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机器可读介质260可包括用于指示处理器252执行例如像参照上文中描绘的操作和功能的(多个) 流程图和(多个)框图而描述的特定的动作序列或动作流的指令。如本文中所 使用,术语“机器可读介质”和“计算机可读介质”是可互换的。
而且,在特定示例中,处理器252上的指令282(单独地或与机器 可读介质260的指令282结合)可以配置受信任执行环境(TEE)290的执行 或操作。在示例中,TEE 290作为处理器252可访问的保护区域来操作,以用 于指令的安全执行和对数据的安全访问。例如,可以通过使用软件防 护扩展(SGX)或硬件安全扩展、管理引擎(ME) 或融合安全可管理性引擎(CSME)来提供TEE 290的各种实现方式 以及处理器252或存储器254中伴随的安全区域。安全强化、硬件信任根、和 受信任或受保护操作的其他方面可以通过TEE 290和处理器252在设备250中 实现。
现参看图3,在说明性实施例中,源计算节点102在操作期间建立 环境300。说明性环境300包括视频编码器302。环境300的各模块可被具体 化为硬件、软件、固件或其组合。例如,环境300的各模块、逻辑和其他组件 可形成处理器204或源计算节点102的其他硬件组件的部分,或以其他方式由 处理器204或源计算节点102的其他硬件组件建立,源计算节点102的其他硬 件组件诸如存储器206、数据存储210等。这样,在一些实施例中,环境300的模块中的一个或多个可以被具体化为电气设备的电路系统或集合(例如,视 频编码器电路系统312等)。在一些实施例中,环境300的模块的一些或全部 可具体化为例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、加 速器设备等等。应当领会,在一些实施例中,电路(例如,视频编码器电路 系统312等)中的一个或多个可形成处理器204、存储器206、I/O子系统 208、数据存储210和/或源计算节点102的其他组件中的一者或多者的部分。 例如,在一些实施例中,这些模块中的一些或全部可被具体化为处理器204以 及存储器206和/或存储要由处理器204执行的指令的数据存储210。另外,在 一些实施例中,说明性模块中的一个或多个可形成另一模块的部分,和/或说明 性模块中的一个或多个可彼此独立。此外,在一些实施例中,环境300的模块 中的一个或多个可被具体化为虚拟化的硬件组件或仿真架构,该虚拟化的硬件 组件或仿真架构可由处理器204或源计算节点102的其他组件建立和维护。应 当领会,环境300的模块中的一个或多个模块的一些功能可能要求硬件实现,在这种情况下,实现此类功能的模块的实施例将至少部分地被具体化为硬件。
如上所述可以被具体化为硬件、固件、软件、虚拟化硬件、仿真 架构和/或其组合的视频编码器302被配置成用于对从视频源(诸如相机214) 接收的视频进行编码。在一些实施例中,视频编码器302可以访问存储在源 计算节点102上的视频(诸如存储在数据存储21中),或者可以从远程计算 节点(诸如从通信子系统212)接收视频。
说明性视频编码器302被配置成用于自动地确定视频帧的感兴趣区 域。视频编码器302可以接收关于如何确定感兴趣区域的参数或指令。例如, 视频编码器302可以接收将人标记为感兴趣区域、将汽车标记为感兴趣区域、 将汽车的一部分(诸如牌照)标记为感兴趣区域等的指令。视频编码器302可 以应用基于机器学习的算法以便标识感兴趣区域。视频编码器302可以访问存 储在源计算节点102上的此类算法的参数,可以从源计算节点102的用户接收 参数,可以从另一个计算节点102接收参数,可以使用机器学习训练算法生成参数,等等。
对于视频的每一帧,视频编码器302可以确定帧的感兴趣区域。视 频编码器302可以以任何合适的方式指示感兴趣区域,诸如通过将宏块选择为 包括感兴趣区域、指示感兴趣区域周围的边界框、指示感兴趣区域周围的轮廓 等。
视频编码器302被配置成用于对视频帧进行编码。视频编码器302 可以使用任何合适的编码算法(诸如采用运动补偿离散余弦变换的算法)来实 现这一点。视频编码器302可以以更高的质量对标记为感兴趣区域的帧的区域 进行编码。如下面更详细地讨论的,前一帧编码的噪声参数可以用作用来对当 前帧进行编码的参数。
视频编码器302被配置成用于确定编码后每个帧的加权平均信噪比。 加权平均信噪比基于计算出的指定感兴趣区域的帧区域的信噪比和计算出的 未指定感兴趣区域的帧区域的信噪比,其中两个不同的计算出的信噪比值的加 权不同。如本文所使用的,噪声是指经编码的帧与原始帧的差异,并且信噪比 是指最大信号(即,像素的最高强度)与噪声的比率。在说明性实施例中,ROI 区域中的每个像素的噪声被加权与非ROI区域中的每个像素不同的量。在其他 实施例中,加权平均信噪比可以考虑例如,ROI区域与非ROI区域的相对大小、 ROI的形状、区域等。权重中使用的一个或多个参数可以取决于任何合适的因 素,诸如用户设置、基于机器学习算法确定的参数等。
在一个实施例中,视频编码器302可计算加权平均峰值信噪比。在 说明性实施例中,加权平均峰值信噪比(WAPS)定义为:
或者,等效地,
WAPS=20logMAXI-10logMSE,
其中
MAXI=2B-1,以及
B是位深度,m是帧的长度,n是帧的高度,如果坐标(i,j)处的 像素位于感兴趣区域,则ROI(i,j)返回a,否则返回b,a是ROI像素的加 权因子,b是非ROI像素的加权因子,I(i,j)是经编码的帧的具有坐标(i,j)的像素的强度,而K(i,j)是原始帧的具有坐标(i,j)的像素的强度。 ROI(i,j)确保ROI像素的噪声加权不同于非ROI像素的噪声。说明性位深度为8位。在其他实施例中,它可以更高或更低,诸如6到20位。帧的长度 和高度可以是任何合适的值,诸如上面列出的相机214的任何分辨率。强度I 和K可以是从0到最大位深度(即,2B-1)的任何值。a和b之间的比率可以 是任何合适的比率,诸如从1到1000的任何数字。应当领会,只有a和b的 相对值是重要的,因为缩放两者将简单地缩放所有类似WAP测量的值。在说 明性实施例中,a或b中的一个可以固定在1处。例如,b可以固定为1而a 可以是大于1的任何合适值。
应当领会,帧可以具有多个通道,诸如多个颜色通道。可以以任何 合适的方式为多个通道计算WAP。例如,可以分别计算每个信道的WAP并将 其相加。可将所有通道的总强度相加以形成一个通道,计算其WAP。在确定 每个通道的WAP之前,可以将通道从一个颜色空间转换到另一个颜色空间, 诸如从RGB转换到YCbCr或HSL。
在另一实施例中,视频编码器302可执行加权平均结构相似性指数 度量(WASS)。WASS可以通过计算各种窗口的结构相似性指数度量(SSIM) 来确定,诸如一个SSIM用于ROI区域而另一个SSIM用于非ROI区域。可以 对ROI区域的SSIM进行加权,诸如通过上述WAP的因子a进行加权,然后 将其添加到非ROI区域的SSIM,该非ROI区域的SSIM也可以进行加权,诸 如通过上述因子b进行加权。两个加权SSIM值之和的结果可以是WASS。
视频编码器302可基于先前帧的加权平均信噪比来对后续帧进行编 码。在说明性实施例中,视频编码器302使用紧接的前一帧的加权平均信噪比 作为用于对当前帧进行编码的参数。在一些实施例中,帧(诸如参考帧或紧接 参考帧之后的帧)可以不使用任何其他帧的加权平均值作为用于对该帧进行编 码的参数。前一帧(诸如WAP或WASS)的加权平均信噪比可用作参数来调 整对当前帧进行编码的参数,诸如指示用于标记为感兴趣区域的帧区域和未标 记为感兴趣区域的帧区域的位数的参数。以此方式,ROI区域和非ROI区域的信噪比可以用作确定速率失真优化过程中的选择的参数。
现参看图4,在说明性实施例中,宿计算节点104在操作期间建立 环境400。说明性环境400包括视频解码器402、视频改善器404和视频推断 器406。环境400的各模块可被具体化为硬件、软件、固件或其组合。例如, 环境400的各模块、逻辑和其他组件可形成处理器204或宿计算节点104的其 他硬件组件的部分,或以其他方式由处理器204或宿计算节点104的其他硬件 组件建立,宿计算节点104的其他硬件组件诸如存储器206、数据存储210等。 这样,在一些实施例中,环境400的模块中的一个或多个可以被具体化为电气 设备的电路或集合(例如,视频解码器电路系统402、视频改善器电路系统404、 视频推断电路系统406等)。在一些实施例中,环境400的模块的一些或全部 可具体化为例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、加 速器设备等等。应当领会,在此类实施例中,电路(例如,视频解码器电路系 统402、视频改善器电路系统404、视频推断电路系统406等)中的一个或多 个可形成处理器204、存储器206、I/O子系统208、数据存储210和/或宿计算 节点104的其他组件中的一者或多者的部分。例如,在一些实施例中,这些模 块中的一些或全部可被具体化为处理器204以及存储器206和/或存储要由处理 器204执行的指令的数据存储210。另外,在一些实施例中,说明性模块中的 一个或多个可形成另一模块的部分,和/或说明性模块中的一个或多个可彼此独 立。此外,在一些实施例中,环境400的模块中的一个或多个可被具体化为虚 拟化的硬件组件或仿真架构,该虚拟化的硬件组件或仿真架构可由处理器204 或宿计算节点104的其他组件建立和维护。应当领会,环境400的模块中的一 个或多个模块的一些功能可能要求硬件实现,在这种情况下,实现此类功能的 模块的实施例将至少部分地被具体化为硬件。
如以上所讨论的可被具体化为硬件、固件、软件、虚拟化硬件、仿 真架构和/或其组合的视频解码器402被配置成用于对视频帧进行解码。要解码 的帧可以从例如源计算节点102接收所捕获的视频。在其他实施例中,视频解 码器402可以通过从本地存储设备访问帧、从本地传感器接收帧或从所捕获帧 的远程计算设备以外的远程计算设备接收帧来接收帧。视频解码器402可以使 用与用于对视频进行编码的编码算法相对应的解码算法。
如以上所讨论的可被具体化为硬件、固件、软件、虚拟化硬件、仿 真架构和/或其组合的视频改善器404被配置成用于对经解码的帧进行改善。应 当领会,尽管感兴趣区域对于机器推断和人类消费而言可能具有高质量,但未 标记为感兴趣区域的区域可能具有相对较低的质量,特别是如人类观看者所感 知的那样。因此,视频改善器404可以诸如通过使用生成性对抗网络或其他基 于机器学习的算法来改善非感兴趣区域的质量。当然,虽然此类方法不能去除 噪声以将经编码的帧返回到原始帧,但它可以提高视频的感知质量以供人类消 费。此外,视频改善器404可以以牺牲额外计算资源为代价来提高机器视觉精度。
视频改善器404可以基于加权平均信噪比(诸如经编码的帧的加权 平均信噪比或用于对当前帧进行编码的帧的加权平均信噪比)来改善帧的非 ROI部分的质量。视频改善器404可计算经编码的帧与质量通过例如生成性对 抗网络改善后的帧之间的加权平均信噪比。生成性对抗网络(或其他质量改善 算法)可以调整改善量,直到计算出的改善帧相对于经编码的帧的加权平均信 噪比匹配或在与经编码的帧一起接收的加权平均信噪比值的预定阈值差之内。
如以上所讨论的可被具体化为硬件、固件、软件、虚拟化硬件、仿 真架构和/或其组合的视频推断器406被配置成用于对所接收的帧执行推断。视 频推断器406可以在视频改善器404进行质量改善之前或之后对帧执行推断。 应当领会,在说明性实施例中,指定为感兴趣区域的帧的区域没有被视频改善 器404改善,并且视频推断器406关注的是指定为感兴趣区域的区域。结果, 视频改善器404不干扰视频推断器406的性能。
现在参考图5,在使用中,源计算节点102可执行用于对视频进行 编码的方法500。方法500开始于框502,在框502中源计算节点102确定用 于标识感兴趣区域的参数。感兴趣区域可以是,例如,其中有人的区域、其中 有汽车的区域、其中有汽车牌照的区域等。用于确定感兴趣区域的参数可以是 任何合适的参数,诸如基于机器学习的图像处理算法的参数。源计算节点102 可以以任何合适的方式确定参数。例如,源计算节点102可以访问存储在源计 算节点102上的此类算法的参数,可以从源计算节点102的用户接收参数,可 以从另一计算节点102接收参数,可以使用机器学习训练算法生成参数,等等。
在框504中,源计算节点102在传感器(诸如相机214)处接收帧。 在一些实施例中,源计算节点102可以通过例如从源计算节点102上的数据存 储210访问帧、从另一计算节点接收帧等来接收帧。
在框506中,源计算节点102使用所确定的用于标识感兴趣区域的 参数来确定帧的感兴趣区域。源计算节点102可以以任何合适的方式指示感兴 趣区域,诸如通过将宏块选择为包括感兴趣区域、指示感兴趣区域周围的边界 框、指示感兴趣区域周围的轮廓等。
在框508中,源计算节点102对视频的帧进行编码。源计算节点102 可以使用任何合适的编码算法来实现这一点,诸如采用运动补偿离散余弦变换 的算法。源计算节点102可以以更高的质量对标记为感兴趣区域的帧的区域进 行编码。应当领会,在一些实施例中,某些帧可以不被编码,诸如参考帧。
在框510中,源计算节点102可以基于前一帧的加权平均信噪比来 对该帧进行编码。上面关于视频编码器302更详细地讨论前一帧的加权平均信 噪比,下面关于框514更详细地讨论前一帧的加权平均信噪比。前一帧(诸如 WAP或WASS)的加权平均信噪比可用作参数来调谐对当前帧进行编码的参 数,诸如指示用于标记为感兴趣区域的帧区域和未标记为感兴趣区域的帧区域 的位数的参数。
在框512中,在说明性实施例中,源计算节点102将经编码的帧发 送到远程计算设备(诸如宿计算节点104)。另外或替代地,在一些实施例中, 源计算节点102可将经编码的帧本地存储在源计算节点102上以供稍后处理或 传输。
在框514中,源计算节点102确定经编码的帧的加权平均信噪比。 噪声是指经编码的帧与原始帧之间的差异,并且加权平均信噪比基于计算出的 指定感兴趣区域的帧区域的信噪比和计算出的未指定感兴趣区域的帧区域的 信噪比,其中两个不同的计算出的噪声值的加权不同。源计算节点102可以计 算任何合适的加权平均信噪比,诸如上文关于视频编码器402讨论的WAPS 或WASS。如上所述,加权平均信噪比可以用作确定用于对下一帧进行编码的 参数的输入。然后,方法500循环回框504,以在传感器处接收下一帧。
现在参考图6,在使用中,宿计算节点104可执行用于对视频进行 解码的方法600。方法600开始于框602,在框602中宿计算节点104接收视 频帧。在说明性实施例中,宿计算节点104从源计算节点102接收捕获的视频 的帧。在其他实施例中,宿计算节点104可以通过从本地存储设备访问帧、从 本地传感器接收帧或从所捕获帧的远程计算设备以外的远程计算设备接收帧 来接收帧。在说明性实施例中,宿计算节点104还接收当前帧和/或前一帧的加 权平均信噪比的指示。
在框604中,宿计算节点104确定感兴趣区域。在说明性实施例中, 宿计算节点104应用基于机器学习的算法来标识已编码为感兴趣区域的区域。 基于机器学习的算法可以使用具有编码为感兴趣区域的区域和编码为非感兴 趣区域的区域的帧的标记或未标记的训练数据来训练。可以使用例如视频编码 器402来生成训练数据。在一些实施例中,可以使用不采用前一帧的加权平均 信噪比来对当前帧进行编码的视频编码器来生成训练数据。
在框606中,宿计算设备104改善帧的非感兴趣区域部分的质量。 应当领会,尽管感兴趣区域对于机器推断和人类消费而言可能具有高质量,但 未标记为感兴趣区域的区域可能具有相对较低的质量。因此,宿计算设备104 可以诸如通过使用生成性对抗网络或其他基于机器学习的算法来改善非感兴 趣区域的质量。当然,虽然此类方法不能去除噪声以将经编码的帧返回到原始 帧,但它可以提高视频的感知质量以供人类消费。
在框608中,宿计算设备104基于加权平均信噪比(诸如经编码的 帧的加权平均信噪比或用于对当前帧进行编码的帧的加权平均信噪比)来改善 帧的非ROI部分的质量。宿计算设备104可计算经编码的帧与质量通过例如生 成性对抗网络改善后的帧之间的加权平均信噪比。生成性对抗网络(或其他质 量改善算法)可以调整改善量,直到计算出的改善帧相对于经编码的帧的加权 平均信噪比匹配或在框602中所接收的加权平均信噪比值的预定阈值差之内。
在帧被改善之后,它可以被传递到另一组件,诸如要显示给用户的 显示器或用于推断器处理帧的视频推断器406。然后,方法600循环回框602, 以接收视频的下一帧。
示例计算实施例
以下部分呈现可与本公开通篇描述的DFS存储和查询处理功能结 合使用的计算设备、系统、架构和环境的各种示例。
示例边缘计算实施例
图7是示出用于边缘计算的配置的概览的框图700,该配置包括 在以下许多示例中被称为“边缘云”的处理层。如图所示,边缘云710共同定位 在边缘位置(诸如接入点或基站740、本地处理中枢750、或中央局720),并 且因此可以包括多个实体、设备、和装备实例。与云数据中心730相比,边缘 云710被定位成更靠近端点(消费者和生产者)数据源760(例如,自主交通 工具761、用户装备762、商业和工业装备763、视频捕捉设备764、无人机765、智慧城市和建筑设备766、传感器和IoT设备767等)。在边缘云710中的边 缘处提供的计算、存储器、和存储资源对于为由端点数据源760使用的服务和 功能提供超低等待时间的响应时间以及减少从边缘云710朝向云数据中心730 的网络回程通信量(由此改善能耗和整体网络使用等益处)至关重要。
计算、存储器、和存储是稀缺资源,并且通常根据边缘位置而 减少(例如,在消费者端点设备上可用的处理资源比在基站上、在中央局处可 用的处理资源更少)。然而,边缘位置越靠近端点(例如,用户装备(UE)), 空间和功率通常就越受限。因此,边缘计算尝试通过分配被定位成既在地理上 更靠近又在网络接入时间上更靠近的更多的资源来减少网络服务所需的资源 量。以该方式,边缘计算尝试在适当的情况下将计算资源带到工作负荷数据, 或者,将工作负荷数据带到计算资源。
以下描述了边缘云架构的各方面,该架构涵盖多种潜在的部署, 并解决了一些网络运营商或服务提供商在其本身的基础设施中可能具有的限 制。这些包括以下的变体:基于边缘位置的各种配置(例如,因为处于基站级 别的边缘在多租户场景中可能具有更受限制的性能和能力);基于边缘位置、 位置的层、或位置的组可用的计算、存储器、存储、结构、加速等资源的类型 的配置;服务、安全性、以及管理和编排能力;以及实现端服务的可用性和性 能的相关目标。这些部署可以在网络层中完成处理,取决于等待时间、距离、 和定时特征,这些网络层可以被视为“接近边缘”、“靠近边缘”、“本地边缘”、“中 间边缘”、或“远边缘”层。
边缘计算是一种开发范式,其中计算在网络的“边缘”处或靠近 于网络的“边缘”被执行,典型地通过使用在基站、网关、网络路由器、或更靠 近于产生和消耗数据的端点设备的其他设备处实现的计算平台(例如,x86或ARM计算硬件架构)来执行。例如,边缘网关服务器可装配有存储器池和存 储资源,以针对连接的客户端设备的低等待时间用例(例如,自主驾驶或视频 监测)实时地执行计算。或者作为示例,基站可被扩充有计算和加速资源,以 直接为连接的用户装备处理服务工作负荷,而无需进一步经由回程网络传输数 据。或者作为另一示例,可用执行虚拟化网络功能并为服务的执行提供计算资 源并且为连接的设备提供消费者功能的标准化计算硬件来代替中央局网络管 理硬件。在边缘计算网络内,可能存在计算资源“被移动”到数据的服务中的场 景,以及其中数据“被移动”到计算资源的场景。或者作为示例,基站计算、加 速和网络资源可以提供服务,以通过激活休眠容量(订阅、按需容量)来根据 需要扩展工作负荷需求,以管理极端情况、紧急情况或为部署的资源在显著更 长的实现的生命周期中提供长寿命。
图8示出了端点、边缘云和云计算环境之间的操作层。具体而 言,图8描绘了在网络计算的多个说明性层之间利用边缘云710的计算用例805 的示例。这些层从端点(设备和事物)层800开始,该层800访问边缘云710 以进行数据创建、分析和数据消费活动。边缘云710可以跨越多个网络层(诸 如具有网关、内部(on-premise)服务器、或位于物理上邻近边缘系统中的网 络设备(节点815)的边缘设备层810);网络接入层820,该网络接入层820 涵盖基站、无线电处理单元、网络中枢、区域数据中心(DC)、或本地网络 装备(装备825);以及位于它们之间的任何装备、设备或节点(在层812中, 未详细图示出)。边缘云710内和各层之间的网络通信可以经由任何数量的有 线或无线介质来实现,包括经由未描绘出的连接性架构和技术。
由于网络通信距离和处理时间约束而导致的等待时间的示例的 范围可以从在端点层800之间时的小于一毫秒(ms),在边缘设备层810处的 低于5ms到当与网络接入层820处的节点通信时的10到40ms之间。在边缘 云710之外是核心网络830层和云数据中心840层,每个层均具有增加的等待 时间(例如,在核心网络层830处的50-60ms,在云数据中心层处的100ms或 更多ms)。因此,在核心网络数据中心835或云数据中心845处的、具有至 少为50至100ms或更多的等待时间的操作将无法完成用例805的许多时间关 键的功能。出于说明和对比的目的,提供这些等待时间值中的每一个等待时间 值;应当理解,使用其他接入网络介质和技术可以进一步降低等待时间。在一 些示例中,相对于网络源和目的地,网络的各个部分可以被分类为“靠近边缘”、 “本地边缘”、“接近边缘”、“中间边缘”或“远边缘”层。例如,从核心网络数据 中心835或云数据中心845的角度来看,中央局或内容数据网络可以被视为位 于“接近边缘”层内(“接近”云,具有在与用例805的设备和端点通信时的高等 待时间值),而接入点、基站、内部服务器或网络网关可以被视为位于“远边 缘”层内(“远”离云,具有在与用例805的设备和端点通信时的低等待时间值)。 应当理解,构成“靠近”、“本地”、“接近”、“中间”或“远”边缘的特定网络层的 其他分类可以基于等待时间、距离、网络跳数或其他可测量的特性,如从网络 层800-840中的任一层中的源测量的。
由于多个服务利用边缘云,各种用例805可以在来自传入流的 使用压力下访问资源。为了实现低等待时间的结果,在边缘云710内执行的服 务在以下方面平衡不同的需求:(a)优先级(吞吐量或等待时间)和服务质 量(QoS)(例如,在响应时间需求方面,自主汽车的通信量可能比温度传感 器具有更高的优先级;或者,取决于应用,性能敏感度/瓶颈可能存在于计算/ 加速器、存储器、存储、或网络资源上);(b)可靠性和复原性(例如,取 决于应用,一些输入流需要被作用并且以任务关键型可靠性来路由通信量,而 一些其他输入流可以容忍偶尔的故障;以及(c)物理约束(例如,功率、冷 却和形状因子)。
这些用例的端到端服务视图涉及服务流的概念,并与事务相关 联。事务详细说明了消费服务的实体的整体服务需求,以及资源、工作负荷、 工作流、以及业务功能和业务级别需求的相关联的服务。利用所描述的“方面 (term)”执行的服务能以某种方式在每层处进行管理,以确保在服务的生命周 期期间事务的实时和运行时合同合规性。当事务中的组件缺失其约定的SLA 时,系统作为整体(事务中的组件)可以提供以下能力:(1)理解SLA违规 的影响,以及(2)增强系统中的其他组件以恢复整体事务SLA,以及(3)实 现补救的步骤。
因此,考虑到这些变化和服务特征,边缘云710内的边缘计算 能以实时或接近实时的方式向用例805的多个应用(例如,对象跟踪、视频监 视、连接的汽车等)提供提供服务和作出响应的能力,并满足这些多个应用的 超低等待时间需求。这些优势使全新类别的应用(虚拟网络功能(VNF)、功 能即服务(FaaS)、边缘即服务(EaaS)、标准过程等)得以实现,这些应用 由于等待时间或其他限制而无法利用传统的云计算。
然而,随着边缘计算的优势,有以下注意事项。位于边缘处的 设备通常是资源受约束的,并且因此存在对边缘资源的使用的压力。通常,这 是通过对供多个用户(租户)和设备使用的存储器和存储资源的池化来解决的。 边缘可能是功率和冷却受约束的,并且因此需要由消耗最多功率的应用来负责 功率使用。在这些经池化的存储器资源中可能存在固有的功率性能权衡,因为 它们中的许多可能使用新兴的存储器技术,在这些技术中,更多的功率需要更 大的存储器带宽。同样,还需要改善的硬件安全性和信任根受信任的功能,因 为边缘位置可以是无人(控制)的,并且可能甚至需要经许可的访问(例如, 当被容纳在第三方位置时)。在多租户、多所有者、或多访问设置中,此类问 题在边缘云710中被放大,此类设置中,由许多用户请求服务和应用,特别是 当网络使用动态地波动以及多个利益相关者、用例、和服务的组成改变时。
在更一般的级别上,边缘计算系统可以被描述为涵盖在先前讨 论的、在边缘云710(网络层800-840)中操作的层处的任意数量的部署,这 些层提供来自客户端和分布式计算设备的协调。一个或多个边缘网关节点、一 个或多个边缘聚合节点和一个或多个核心数据中心可以分布在网络的各个层 上,以由电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提 供商(CSP)、企业实体或任何其他数量的实体或者代表其提供边缘计算系统 的实现。可以动态地提供边缘计算系统的各种实现方式和配置,诸如当被编排 以满足服务目标时。
与本文提供的示例一致,客户端计算节点可以被具体化为任何 类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行通信的其 他事物。进一步地,如边缘计算系统中所使用的标签“节点”或“设备”不一定意 指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反,边缘计算系 统中的节点或设备中的任一者指代包括分立的和/或连接的硬件或软件配置以 促进和/或使用边缘云710的个体实体、节点、或子系统。
由此,边缘云710由网络层810-830中的边缘网关节点、边 缘聚合节点或其他边缘计算节点操作并在网络层810-830中的边缘网关节 点、边缘聚合节点或其他边缘计算节点内被操作的网络组件和功能特征形 成。因此,边缘云710可被具体化为提供边缘计算和/或存储资源的任何类型 的网络,这些边缘计算和/或存储资源被定位成接近支持无线电接入网络(RAN) 的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在本文中所 讨论。换言之,边缘云710可被预想为连接端点设备和传统网络接入点、同时 还提供存储和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络 (例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G/6G网 络等)的服务提供商核心网络中的入口点。其他类型和形式的网络接入(例如, Wi-Fi、长程无线、包括光学网络的有线网络)也可替代此类3GPP运营商网络 被利用或与此类3GPP运营商网络组合来利用。
边缘云710的网络组件可以是服务器、多租户服务器、装置计 算设备和/或任何其他类型的计算设备。例如,边缘云710可以包括作为包括壳 体、底座、机箱或外壳的自包含电子设备的装置计算设备。在一些情况下,可 以针对便携性来确定壳体尺寸,以使得其可由人类携载和/或被运输。示例壳体 可包括形成一个或多个外表面的材料,该一个或多个外表面部分地或完整地保 护装置的内容物,其中,保护可包括天气保护、危险环境保护(例如,EMI、 振动、极端温度)和/或使得能够浸入水中。示例壳体可包括用于为固定式和/ 或便携式实现方式提供功率的功率电路系统,诸如AC功率输入、DC功率输 入、(多个)AC/DC或DC/AC转换器、功率调节器、变压器、充电电路系统、 电池、有线输入和/或无线功率输入。示例壳体和/或其表面可包括或连接至安 装硬件,以实现到诸如建筑物、电信结构(例如,杆、天线结构等)和/或机架 (例如,服务器机架、刀片支架等)之类的结构的附接。示例壳体和/或其表面 可支持一个或多个传感器(例如,温度传感器、振动传感器、光传感器、声学 传感器、电容传感器、接近度传感器等)。一个或多个此类传感器可被包含在 装置的表面中、由装置的表面承载、或以其他方式被嵌入在装置的表面中和/ 或被安装至装置的表面。示例壳体和/或其表面可支持机械连接性,诸如推进硬 件(例如,轮子、螺旋桨等)和/或铰接硬件(例如,机械臂、可枢转附件等)。 在一些情况下,传感器可包括任何类型的输入设备,诸如用户接口硬件(例如, 按键、开关、拨号盘、滑块等)。在一些情况下,示例壳体包括包含在其中、 由其携载、嵌入其中和/或附接于其的输出设备。输出设备可包括显示器、触摸 屏、灯、LED、扬声器、I/O端口(例如,USB)等。在一些情况下,边缘设 备是为特定目的而被呈现在网络中、但是可具有可用于其他目的的处理和/或其 他能力的设备(例如,红绿灯)。此类边缘设备可以独立于其他联网设备,并 且可设置有具有适合其主要目的的形状因子的壳体;但对于不干扰其主要任务 的其他计算任务仍然是可用的。边缘设备包括物联网设备。装置计算设备可包 括用于管理诸如设备温度、振动、资源利用率、更新、功率问题、物理和网络 安全之类的本地问题的硬件和软件组件。结合图2B描述用于实现装置计算设 备的示例硬件。边缘云710还可以包括一个或多个服务器和/或一个或多个多租 户服务器。此类服务器可包括操作系统并实现虚拟计算环境。虚拟计算环境可 包括管理(例如,生成、部署、损毁等)一个或多个虚拟机、一个或多个容器 等的管理程序。此类虚拟计算环境提供其中一个或多个应用和/或其他软件、代 码或脚本可在与一个或多个其他应用、软件、代码或脚本隔离的同时执行的执 行环境。
在图9中,(以移动设备、计算机、自主交通工具、业务计算 装备、工业处理装备的形式的)各种客户端端点910交换特定于端点网络聚合 类型的请求和响应。例如,客户端端点910可以通过借助于内部网络系统932 交换请求和响应922,经由有线宽带网络获得网络接入。一些客户端端点910 (诸如移动计算设备)可以通过借助于接入点(例如,蜂窝网络塔)934交换 请求和响应924,经由无线宽带网络获得网络接入。一些客户端端点910(诸 如自主交通工具)可通过街道定位网络系统936,经由无线机载网络获得请求 和响应926的网络接入。然而,无论网络接入的类型如何,TSP可以在边缘云 710内部署聚合点942、944来聚合通信量和请求。因此,在边缘云710内, TSP可以(诸如在边缘聚合节点940处)部署各种计算和存储资源以提供请求 的内容。边缘聚合节点940和边缘云710的其他系统被连接至云或数据中心960, 该云或数据中心960使用回程网络950来满足来自云/数据中心对网站、应用、 数据库服务器等的更高等待时间请求。边缘聚合节点940和聚合点942、944 的附加或合并的实例(包括部署在单个服务器框架上的那些实例)也可以存在 于边缘云710或TSP基础设施的其他区域内。
应当领会,本文讨论的边缘计算系统和布置可适用于涉及移动 性的各种解决方案、服务和/或用例。作为示例,图10示出涉及对实现边缘云 710的示例边缘计算系统1000中的应用进行的移动访问的简化的交通工具计 算和通信用例。在该用例中,相应的客户端计算节点1010可以被具体化为位 于相对应交通工具中的机载计算系统(例如,机载导航和/或信息娱乐系统), 该机载计算系统在横越道路期间与边缘网关节点1020通信。例如,边缘网关 节点1020可以位于路边机柜中或位于被内置到具有其他的、分开的、机械公 共设施的结构中的其他外壳中,路边机柜或其他外壳可以沿着道路、在道路的 交叉路口处、或在道路附近的其他位置放置。当相应的交通工具沿着道路行驶 时,其客户端计算节点1010与特定边缘网关设备1020之间的连接可以传播, 以便为客户端计算节点1010保持一致的连接和上下文。同样,移动边缘节点 可以在高优先级服务处或根据(多个)底层服务(例如,在无人机的情况下) 的吞吐量或等待时间分辨率需求进行聚合。相应的边缘网关设备1020包括一 定量的处理和存储能力,并且由此,客户端计算节点1010的数据的一些处理和/或存储可以在边缘网关设备1020的一个或多个边缘网关设备上执行。
边缘网关设备1020可以与一个或多个边缘资源节点1040通信, 这些边缘资源节点被说明性地具体化为位于通信基站1042(例如,蜂窝网络的 基站)处或在通信基站1042(例如,蜂窝网络的基站)中的计算服务器、设备 或组件。如上文所讨论,相应的边缘资源节点1040包括一定量的处理和存储 能力,并且由此,客户端计算节点1010的数据的一些处理和/或存储可以在边 缘资源节点1040上执行。例如,不太紧急或不太重要的数据处理可以由边缘 资源节点1040执行,而更高的紧急性或重要性的数据处理可以由边缘网关设 备1020执行(例如,取决于每个组件的能力,或请求中指示紧急性或重要性 的信息)。基于数据访问、数据位置或等待时间,当处理活动期间的处理优先 级改变时,可在边缘资源节点上继续工作。同样,可配置的系统或硬件资源本 身可以(例如,通过本地编排器)被激活,以提供附加的资源来满足新的需求 (例如,使计算资源适配到工作负荷数据)。
(多个)边缘资源节点1040还与核心数据中心1050通信,核 心数据中心1050可以包括位于中心位置(例如,蜂窝通信网络的中央局)的 计算服务器、设备和/或其他组件。核心数据中心1050可以为由(多个)边缘 资源节点1040和边缘网关设备1020形成的边缘云710操作提供到全球网络云 1060(例如,互联网)的网关。另外,在一些示例中,核心数据中心1050可 以包括一定量的处理和存储能力,并且因此,可以在核心数据中心1050上执 行用于客户端计算设备的一些数据处理和/或存储(例如,低紧急性或重要性或 高复杂性的处理)。
边缘网关节点1020或边缘资源节点1040可以提供状态型的应 用1032和地理分布式数据库1034的使用。虽然应用1032和数据库1034被图 示出为在边缘云710的层处横向地分布,但将理解,应用的资源、服务、或其 他组件可以在整个边缘云中竖直地分布(包括,在客户端计算节点1010处执 行的应用的一部分,在边缘网关节点1020处或边缘资源节点1040等处的其他 部分)。另外,如前所述,可以存在任何级别上的对等关系以满足服务目标和 义务。进一步地,特定客户端或应用的数据可以基于变化的条件(例如,基于 加速资源的可用性、跟随汽车移动等)从边缘移动到边缘。例如,基于访问的 “衰减率”,可以进行预测,以标识要继续的下一个所有者,或者数据或计算访 问何时将不再可行。可以利用这些服务和其他服务来完成保持事务合规性和无 损性所需的工作。
在进一步的场景中,容器1036(或容器的舱)可以从边缘节点 1020灵活地迁移到其他边缘节点(例如,1020、1040等),使得具有应用和 工作负荷的容器不需要被重组、重新编译、重新解释以迁移到工作中。但是, 在此类设置中,可能应用一些补救或“混乱”的翻译操作。例如,节点1040处 的物理硬件可能不同于边缘网关节点1020,因此,构成容器底部边缘的硬件抽 象层(HAL)将被重新映射到目标边缘节点的物理层。这可能涉及某种形式的后期绑定技术,诸如HAL从容器原生格式到物理硬件格式的二进制转换,或 者可能涉及映射接口和操作。舱控制器可用于驱动接口映射,作为容器生命周 期的一部分,其中包括迁移到不同的硬件环境/从不同的硬件环境迁移。
图10所涵盖的场景可以利用各种类型的移动边缘节点(诸如在 交通工具(汽车/卡车/电车/火车)或其他移动单元中主管的边缘节点),因为 边缘节点将沿着主管它的平台移动到其他地理位置。在交通工具对交通工具通 信的情况下,单个交通工具甚至可以充当其他交通工具的网络边缘节点,(例 如,以执行高速缓存、报告、数据聚合等)。因此,将理解,在各种边缘节点 中提供的应用组件可以分布在静态或移动设置中,包括在各个端点设备或边缘 网关节点1020处的一些功能或操作、在边缘资源节点1040处的一些其他功能 或操作、以及在核心数据中心1050或全球网络云1060中的其他功能或操作之 间的协调。
在进一步的配置中,边缘计算系统可以通过使用相应的可执行 应用和功能来实现FaaS计算能力。在示例中,开发者编写表示一个或多个计 算机功能的功能代码(例如,本文中的“计算机代码”),并且该功能代码被上 传到由例如边缘节点或数据中心提供的FaaS平台。触发器(诸如例如,服务 用例或边缘处理事件)发起利用FaaS平台执行功能代码。
在FaaS的示例中,容器用于提供一个环境,在该环境中执行功 能代码(例如,可能由第三方提供的应用)。容器可以是任何隔离执行的实体, 诸如进程、Docker容器或Kubernetes容器、虚拟机等。在边缘计算系统内,各 种数据中心、边缘、和端点(包括移动)设备被用于按需扩展的“旋转加速(spin up)”功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例 如,边缘计算节点)设备和底层虚拟化容器上得到执行。最后,容器响应于执 行被完成而在基础设施上被“旋转减速”(例如,去激活和/或解除分配)。
FaaS的其他方面可以使边缘功能以服务方式进行部署,包括对 支持边缘计算即服务(边缘即服务或“EaaS”)的相应功能的支持。FaaS的附加 特征可包括:使客户(例如,计算机代码开发者)仅在其代码被执行时进行支 付的粒度计费组件;用于存储数据以供一个或多个功能重新使用的通用数据存 储;各个功能之间的编排和管理;功能执行管理、并行性和合并;容器和功能 存储器空间的管理;功能可用的加速资源的协调;以及功能在容器之间的分布 (包括已经部署或操作的“暖”容器,相对于需要初始化、部署、或配置的“冷”容器)。
边缘计算系统1000可包括边缘供应节点1044或与边缘供应节 点1044通信。边缘供应节点1044可以将诸如图2B的示例计算机可读指令282 的软件,分发到实施本文所述的任何方法的各个接收方。示例边缘供应节点 1044可以由能够存储软件指令和/或向其他计算设备传输软件指令(例如,代 码、脚本、可执行二进制文件、容器、包、压缩文件和/或其衍生物)的以下各 项来实现:任何计算机服务器、家庭服务器、内容交付网络、虚拟服务器、软件分发系统、中央设施、存储设备、存储节点、数据设施、云服务等。示例边 缘供应节点1044的(多个)组件可以位于云中、局域网中、边缘网络中、广 域网中、因特网上和/或与(多个)接收方通信耦合的任何其他位置。接收方可 以是拥有和/或操作边缘供应节点1044的实体的客户、客户端、合作伙伴、用 户等。例如,拥有和/或操作边缘供应节点1044的实体可以是软件指令(诸如 图2B的示例计算机可读指令282)的开发者、销售者和/或许可者(或其客户和/或消费者)。接收方可以是消费者、服务提供商、用户、零售商、OEM等, 他们购买和/或许可软件指令以用于使用和/或转售和/或分许可。
在示例中,边缘供应节点1044包括一个或多个服务器和一个或 多个存储设备。存储设备主控计算机可读指令,诸如图2B的示例计算机可读 指令282,如下所述。类似于上述边缘网关设备1020,边缘供应节点1044的 一个或多个服务器与基站1042或其他网络通信实体通信。在一些示例中,作 为商业事务的一部分,一个或多个服务器响应于将软件指令传送到请求方的请 求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处理 对软件指令的交付、销售、和/或许可的支付。服务器使购买者和/或许可者能 够从边缘供应节点1044下载计算机可读指令282。例如,可以与图2B的示例 计算机可读指令282相对应的软件指令可以被下载到示例处理器平台,该示例 处理器平台用于执行计算机可读指令282以实现本文所描述的方法。
在一些示例中,执行计算机可读指令282的(多个)处理器平 台可以物理地位于不同的地理位置、法律管辖区等。在一些示例中,边缘供应 节点1044的一个或多个服务器周期性地提供、传送和/或强制进行软件指令(例 如,图2B的示例计算机可读指令282)的更新以确保改善、补丁、更新等被 分发并应用于终端用户设备处实现的软件指令。在一些示例中,计算机可读指 令282的不同组件可以从不同的源和/或不同的处理器平台分发;例如,不同的 库、插件、组件和其他类型的计算模块,无论是经编译的还是经解释的,都可 以从不同的源和/或向不同的处理器平台分发。例如,软件指令的一部分(例如, 本身不可执行的脚本)可以从第一源分发,而(能够执行脚本的)解释器可以 从第二源分发。
图11图示出诸如ETSI MEC规范指示的移动边缘系统参考框架 (或MEC架构)1100。图11具体图示出具有MEC主机1102和1104的MEC 架构1100,MEC主机1102和1104提供根据ETSI GS MEC-003规范的功能。 在一些方面,如上文更详细地描述的,对MEC平台1132和MEC平台管理器 1106的增强可用于在视频编码和解码中使用加权平均噪声参数。
参考图11,MEC网络架构1100可以包括MEC主机1102和1104、 虚拟化基础设施管理器(VIM)1108、MEC平台管理器1106、MEC编排器1110、 操作支持系统1112、用户应用代理1114、在UE 1120上运行的UE应用1118、 以及CFS门户1116。MEC主机1102可以包括MEC平台1132,该MEC平台 1132具有过滤规则控制组件1140、DNS处置组件1142、服务注册表1138和MEC服务1136。MEC服务1136可以包括至少一个调度程序,该至少一个调 度程序可以用于选择用于在虚拟化基础设施1122上实例化MEC应用(或NFV) 1126、1127和1128的资源。MEC应用1126和1128可以被配置成用于提供服 务1130和1131,该服务1130和1131可以包括处理与一个或多个无线连接(例 如,到一个或多个RAN或电信核心网络实体的连接)相关联的不同类型的网 络通信通信量。被实例化在MEC主机1104内的MEC应用1105可以类似于 被实例化在MEC主机1102内的MEC应用1126-1128。虚拟化基础设施1122 包括经由MP2接口耦合至MEC平台的数据平面1124。图11中图示出MEC 架构1100的各种网络实体之间的附加接口。
MEC平台管理器1106可以包括MEC平台元件管理组件1144、 MEC应用规则和要求管理组件1146、以及MEC应用生命周期管理组件1148。 MEC架构1100内的各种实体可以执行如ETSI GS MEC-003规范所公开的功 能。
在一些方面,远程应用(或app)1150被配置成经由MEC编排 器1100和MEC平台管理器1106与MEC主机1102(例如,与MEC应用1126-1128)通信。
图12图示用于通过链路而耦合到相应的网关的各个物联网(IoT) 网络的示例域拓扑。物联网(IoT)是这样的概念,其中,大量计算设备互连 至彼此并互连至因特网,以便在非常低的级别上提供功能和数据采集。因此, 如本文中所使用,IoT设备可包括执行功能(诸如感测或控制,等等)、与其 他IoT设备和范围更广的网络(诸如因特网)进行通信的半自主设备。
IoT设备常在存储器、尺寸或功能方面受限,从而允许部署较大 数量的设备,以实现与较少数量的较大设备类似的成本。然而,IoT设备可以 是智能电话、膝上型设备、平板设备、或PC、或其他较大的设备。进一步地, IoT设备可以是虚拟设备,诸如智能电话或其他计算设备上的应用。IoT设备 可包括IoT网关,这些IoT网关用于将IoT设备耦合至其他IoT设备并耦合至 云应用,以进行数据存储、过程控制,等等。
IoT设备的网络可包括商用和家用自动化设备,诸如给水系统、 配电系统、流水线控制系统、工厂控制系统、灯开关、恒温器、锁、相机、警 报、运动传感器,等等。IoT设备可以是通过远程计算机、服务器和其他系统 可访问的,从而例如控制系统或访问数据。
因特网和类似网络的未来增长可涉及非常大量的IoT设备。相 应地,在本文中讨论的技术的情境中,用于此类未来联网的大量创新将解决所 有这些层无障碍地增长、发现并制造能访问的经连接资源以及支持隐藏并分隔 经连接资源的能力的需求。可使用任何数量的网络协议和通信标准,其中,每 种协议和标准被设计成解决特定的目标。进一步地,协议是支持无论地点、时 间或空间而进行操作的人类可访问服务的结构的部分。创新包括:服务交付和 相关联的基础结构,诸如硬件和软件;安全增强;以及基于在服务水平和服务 交付协议中指定的服务质量(QoS)条款的服务提供。如将理解的那样,使用 诸如在图12和图13中介绍的那些IoT设备和网络的IoT设备和网络在包括有 线和无线技术的组合的异构连接性网络中呈现出大量新挑战。
图12具体提供可用于大量物联网(IoT)网络的域拓扑的简化 图,大量IoT网络包括IoT设备1204,其中IoT网络1256、1258、1260、1262 通过主干链路1202耦合至相应的网关1254。例如,大量IoT设备1204可与网 关1254通信,并且可通过网关1254彼此通信。为了简化该图,不是每个IoT 设备1204或通信链路(例如,链路1216、1222、1228或1232)都被标记。主 干链路1202可包括任何数量的有线或无线技术(包括光学网络),并且可以 是局域网(LAN)、广域网(WAN)或因特网的部分。另外,此类通信链路 促进IoT设备1204与网关1254两者之间的光学信号路径,包括使用促进各种 设备的互连的复用/解复用组件。
网络拓扑可包括任何数个类型的IoT网络,诸如利用网络1256 使用蓝牙低能量(BLE)链路1222而提供的网格网络。可能存在的其他类型 的IoT网络包括:用于通过IEEE802.11链路1228与IoT设备1204 通信的无线局域网(WLAN)网络1258;用于通过LTE/LTE-A(4G)或5G蜂窝 网络与IoT设备1204通信的蜂窝网络1260;以及低功率广域(LPWA)网络 1262,例如,与由LoRa联盟颁布的LoRaWan规范兼容的LPWA网络;或低 功率广域网(LPWAN)网络上的IPv6,其与由互联网工程任务组(IETF)颁 布的规范兼容。进一步地,各个IoT网络可使用任何数量的通信链路与外部网 络提供商(例如,层2或层3提供商)通信,这些通信链路诸如LTE蜂窝链 路、LPWA链路、或基于IEEE 802.15.4标准的链路(诸如)。各个 IoT网络也可伴随着各种网络和网际应用协议(诸如受约束的应用协议(CoAP)) 的使用来操作。各个IoT网络还可与协调器设备集成,这些协调器设备提供链 路链,该链路链形成经链接的设备和网络的集群树。
这些IoT网络中的每一个IoT网络可为新技术特征(诸如如本 文中所描述的那些技术特征)提供机会。改善的技术和网络可实现设备和网络 的指数式增长,包括将IoT网络用到“雾”设备或集成到“边缘”计算系统中。随 着此类改进技术的使用增长,可在无需直接的人类干预的情况下开发IoT网络 以实现自管理、功能进化和协同。改进的技术甚至可使IoT网络能够在没有集 中式受控的系统的情况下运作。相对应地,本文中描述的改进的技术可用于远 超当前实现方式地使网络管理和操作功能自动化并增强网络管理和操作功能。
在示例中,IoT设备1204之间的(诸如主干链路1202上的)通 信可受分散化系统保护以进行认证、授权和记账(AAA)。在分散化AAA系 统中,可跨互连的异构网络基础结构实现分布式支付、信贷、审计、授权和认 证系统。这允许系统和网络迈向自主操作。在这些类型的自主操作中,机器甚 至可订立人力资源合约,并且与其他机器网络商议伙伴关系。这可允许针对概 括的计划服务水平协议实现共同目标和均衡的服务交付,并且实现提供计量、 测量、可追溯性和可跟踪性的解决方案。新供应链结构和方法的产生可在没有 任何人类参与的情况下使大量服务能够被产生、被挖掘价值以及坍塌。
此类IoT网络可通过将感测技术(诸如声、光、电子通信量、 面部和模式识别、嗅觉、振动)集成到IoT设备之间的自主组织中而进一步被 增强。对传感系统的集成可允许对于针对合同服务目标、基于编排和服务质量 (QoS)的分群以及资源融合的服务交付的系统性和自主的通信和协调。基于 网络的资源处理的单独的示例中的一些包括以下示例。
网格网络1256例如可由执行串联式数据-信息变换的系统来增 强。例如,包括多链路网络的处理资源的自形成的链能以高效的方式分布原始 数据向信息的变换、在资产与资源之间进行区分的能力以及对每一者的相关联 的管理。此外,可插入基于基础结构和资源的恰当组件的信任和服务索引以改 善数据完整性、质量、保证,并递送数据置信度的度量。
WLAN网络1258例如可使用执行标准转换的系统以提供多标 准连接性,从而实现使用不同协议进行通信的IoT设备1204。进一步的系统可 提供跨多标准基础结构的无缝的互连接性,该多标准基础结构包括可见的因特 网资源和隐藏的因特网资源。
蜂窝网络1260中的通信例如可由转移数据的系统、将通信延伸 至更远程的设备的系统或转移数据的系统、以及将通信延伸至更远程的设备的 系统两者来增强。LPWA网络1262可包括执行非网际(IP)至IP互连、寻址 和路由的系统。进一步地,IoT设备1204中的每一个可包括用于与那个设备进 行广域通信的适当的收发器。进一步地,每个IoT设备1204可包括用于使用 附加的协议和频率进行通信的其他收发器。关于图14和图15中所描绘的IoT 处理设备的通信环境和硬件进一步讨论了这一点。
最终,可装备IoT设备的集群以与其他IoT设备以及与云网络 通信。这可允许IoT设备在设备之间形成自组织(ad-hoc)网络,从而允许它 们充当可被称为雾设备、雾平台或雾网络的单个设备。下面进一步参考图13 来讨论该配置。
图13图示了与在联网的场景中作为雾平台操作的IoT设备(设 备1302)的网格网络进行通信的云计算网络。IoT设备的网格网络可被称为雾 网络1320,该雾网络1320从在云1300的边缘处操作的设备的网络建立。为了 简化该图,没有对每个IoT设备1302进行标记。
雾网络1320可被认为是大规模地互连的网络,其中数个IoT设 备1302例如通过无线电链路1322与彼此进行通信。雾网络1320可以建立可 被视为位于IoT边缘设备与云或数据中心之间的水平资源平台、物理资源平台、 或虚拟资源平台。在一些示例中,雾网络可以通过分层计算、联合计算、或分 布式计算、存储、和网络连接操作来支持垂直隔离的、对等待时间敏感的应用。 然而,雾网络也可以用于在边缘和云处以及边缘和云之间分发资源和服务。因 此,在本文档中对“边缘”、“雾”、和“云”的引用不一定是离散的或彼此排他性 的。
作为示例,该雾网络1320可使用由开放连接性基金会TM(OCF) 发布的互连规范来促进。该标准允许设备发现彼此并建立通信以用于互连。也 可使用其他互连协议,包括例如,最优链路状态路由(OLSR)协议、或至移 动自组织联网的更好方式(B.A.T.M.A.N)路由协议、或OMA轻量型M2M (LWM2M)协议,等等。
尽管在本示例中展示三种类型的IoT设备1302:网关1304、数 据聚合器1326、以及传感器1328,但可以使用IoT设备1302和功能的任何组 合。网关1304可以是提供云1300与雾网络1320之间的通信的边缘设备,并 且还可为从传感器1328获得的数据(诸如运动数据、流数据、温度数据等) 提供后端处理功能。数据聚合器1326可从任何数量的传感器1328收集数据, 并执行后端处理功能以用于分析。结果、原始数据或这两者可通过网关1304 传递至云1300。传感器1328可以是例如能够既收集数据又处理数据的完整的 IoT设备1302。在一些情况下,传感器1328在功能上可能更受限制,该功能 例如,收集数据并允许数据聚合器1326或网关1304处理该数据。
来自任何IoT设备1302的通信可沿IoT设备1302中的任一者 之间的方便的路径被传递以到达网关1304。在这些网络中,互连的数目提供了 大量冗余,这允许即使在损失数个IoT设备1302的情况下也维持通信。此外, 网格网络的使用可允许使用功率非常低或位于距基础结构一定距离的IoT设备 1302,因为连接到另一IoT设备1302的范围可能比连接到网关1304的范围小 得多。
从这些IoT设备1302提供的雾网络1320可以被呈现给云1300 中的设备(诸如服务器1306)作为位于云1300的边缘处的单个设备,例如, 作为设备或平台操作的雾网络。在该示例中,来自雾平台的警报可以被发送而 不被标识为来自雾网络1320内的特定IoT设备1302。以此方式,雾网络1320 可被视为分布式平台,该分布式平台提供计算和存储资源以执行处理或数据密 集型任务(诸如数据分析、数据聚合和机器学习,等等)。
在一些示例中,可以使用命令性编程风格来配置IoT设备1302, 例如,每个IoT设备1302具有特定功能和通信伙伴。然而,形成雾平台的IoT 设备1302能以声明性编程风格配置,从而允许IoT设备1302重新配置它们的 操作和通信,诸如响应于条件、查询和设备故障来确定所需的资源。作为示例, 来自位于服务器1306处的用户关于由IoT设备1302监测的装备子集的操作的 查询可以导致雾网络1320选择回答该查询所需的IoT设备1302,诸如特定的 传感器1328。然后,来自这些传感器1328的数据在由雾网络1320发送到服务 器1306以回答该查询之前,可由传感器1328、数据聚合器1326或网关1304 的任何组合来聚合并分析。在该示例中,雾网络1320中的IoT设备1302可以 基于查询来选择使用的传感器1328,诸如添加来自流量传感器或温度传感器的 数据。进一步地,如果IoT设备1302中的一些不可操作,则雾网络1320中的 其他IoT设备1302可以提供类似的数据(如果可用的话)。
在其他示例中,以上描述的操作和功能可由电子处理系统的示 例形式的IoT或边缘计算设备来具体化,在该电子处理系统内,可执行指令序 列的集合以使该电子处理系统执行根据示例实施例的本文中讨论的方法中的 任一方法。设备可以是IoT设备或IoT网关,包括由以下各项的多个方面具体 化的机器:个人计算机(PC)、平板PC、个人数字助理(PDA)、移动电话 或智能电话、或能够执行指定要由该机器采取的动作的指令(顺序地或以其他 方式)的任何机器。
此外,尽管在上述示例中可能仅描绘并引用了单个机器,但是 也应当认为此类机器包括单独地或联合地执行一组(或多组)指令以执行本文 中所讨论的方法中的任何一种或多中方法的机器的任何集合。此外,对于基于 处理器的系统的这些示例和类似示例应当被认为包括由处理器、处理器集合或 处理电路系统(例如,计算机)控制或操作以单独地或联合地执行指令来执行 本文中所讨论的方法中的任何一种或多种方法的一个或多个机器的任何集合。 因此,在各示例中,用于处理(例如,处理、控制、生成、评估等)的可适用 装置可由此类处理电路系统来具体化。
图14示出了与数个物联网(IoT)设备通信的云计算网络或云 1400的图。云1400可表示因特网,或者可以是局域网(LAN)、或广域网(WAN), 诸如用于公司的专属网络。IoT设备可包括按各种组合分组的任何数量的不同 类型的设备。例如,交通控制组1406可包括沿城市中的街道的IoT设备。这 些IoT设备可包括停车灯、交通流监测器、相机、天气传感器,等等。交通控 制组1406或其他子组可通过有线或无线链路1408(诸如LPWA链路等等)与 云1400进行通信。进一步地,有线或无线子网1412可允许IoT设备诸如通过 局域网、无线局域网等等来彼此通信。IoT设备可使用另一设备(诸如网关1410 或1428)来与远程位置(诸如云1400)通信;IoT设备也可使用一个或多个服 务器1430来促进与云1400或与网关1410的通信。例如,一个或多个服务器 1430可充当中介网络节点以支持在局域网之间的局部边缘云或雾实现。而且, 所描绘的网关1428可在诸如具有各种IoT设备1414、1420、1424的云到网关 到许多边缘设备配置中操作,各种IoT设备1414、1420、1424对于云1400中 的资源的分配和使用是受约束的或动态的。
IoT设备的其他示例组可包括远程气象站1414、本地信息终端 1416、警报系统1418、自动化柜员机1420、警报面板1422或移动交通工具(诸 如应急交通工具1424或其他交通工具1426),等等。这些IoT设备中的每一 个可与其他IoT设备、与服务器1404、与另一IoT雾设备或系统(未示出但在 图13中描绘)、或与其中的组合通信。这些IoT设备的组可部署在各种住宅、 商业和工业设定(包括私有环境或公共环境两者)中。
如从图14可见,大量IoT设备可通过云1400进行通信。这可 允许不同的IoT设备自主地请求信息或将信息提供给其他设备。例如,IoT设 备的组(例如,交通控制组1406)可从可在没有人类干预的情况下提供预报的 远程气象站的组1414请求当前的天气预报。进一步地,可由自动化柜员机1420 向应急交通工具1424警告盗窃在进行中。当应急交通工具1424朝自动化柜员 机1420行进时,它可访问交通控制组1406以请求清空该位置,例如,通过在 足够的时间内亮起红灯以阻止交叉路口处的交叉交通流,以使应急交通工具 1424能够畅通无阻地进入该交叉路口。
可装备IoT设备的集群(诸如远程气象站1414或交通控制组 1406)以与其他IoT设备以及与云1400进行通信。这可允许IoT设备在多个 设备之间形成自组织网络,从而允许它们充当单个设备,该单个设备可被称为 雾设备或系统(例如,如上文中参照图13所描述)。
图15是可存在于IoT设备1550中用于实现本文中描述的技术 的组件的示例的框图。IoT设备1550可包括在示例中示出或在上文公开内容中 引用的组件的任何组合。这些组件可被实现为IC、IC的部分、分立电子器件, 或其他模块、逻辑、硬件、软件、固件或其适用于IoT设备1550中的组合, 或作为以其他方式被并入在更大的系统的机架内的组件。此外,图15的框图 旨在描绘IoT设备1550的组件的高级视图。然而,可省略所示出的组件中的一些组件,可存在附加的组件,并且所示出的组件的不同布置可在其他实现方 式中发生。
IoT设备1550可包括处理器1552形式的处理电路系统,该处理 电路系统可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌 入式处理器,或其他已知的处理元件。处理器1552可以是芯片上系统(SoC) 的部分,在该SoC中,处理器1552和其他组件被形成到单个集成电路或单个 封装中,诸如来自英特尔的爱迪生TM(EdisonTM)或伽利略TM(GalileoTM)SoC 板。作为示例,处理器1552可包括基于架构酷睿TM(CoreTM)的处理器(诸如QuarkTM、AtomTM、i3、i5、i7或MCU类处理器)、或可从加利福 尼亚州圣克拉拉市的公司获得的另一此类处理器。然而,可使用任何 数量的其他处理器,诸如,可从加利福尼亚州桑尼威尔市的超微半导体公司 (AMD)获得的处理器、来自加利福尼亚州桑尼威尔市的MIPS技术公司的基于MIPS的设计、许可自ARM控股有限公司的基于ARM的设计,或从上述各公 司的客户、被许可方或采纳方获得的处理器。处理器可包括诸如以下单元:来 自公司的A5-A14处理器、来自技术公司的骁龙TM(SnapdragonTM) 处理器或来自德州仪器公司的OMAPTM处理器。
处理器1552可通过互连1556(例如,总线)来与系统存储器 1554通信。可使用任何数量的存储器设备来提供给定量的系统存储器。作为示 例,存储器可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存 储器(RAM),诸如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3 或LPDDR4)。在各种实现方式中,单独的存储器设备可以是任何数量的不同 封装类型,诸如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P)。 在一些示例中,这些设备可以直接焊接到主板上,以提供薄型解决方案,而在 其他示例中,设备被配置为一个或多个存储器模块,这一个或多个存储器模块 进而通过给定的连接器耦合至主板。可使用任何数量的其他存储器实现方式, 诸如其他类型的存储器模块,例如,不同种类的双列直插存储器模块(DIMM), 包括但不限于microDIMM(微DIMM)或MiniDIMM(迷你DIMM)。
为了提供对信息(诸如数据、应用、操作系统等)的持久性存 储,存储1558还可经由互连1556而耦合至处理器1552。在示例中,存储1558 可经由固态盘驱动器(SSDD)来实现。可用于存储1558的其他设备包括闪存 卡(诸如SD卡、microSD卡、xD图片卡,等等)和USB闪存驱动器。在低 功率实现方式中,存储1558可以是与处理器1552相关联的管芯上存储器或寄 存器。然而,在一些示例中,存储1558可使用微硬盘驱动器(HDD)来实现。 此外,附加于或替代于所描述的技术,可将任何数量的新技术用于存储1558, 这些新技术诸如阻变存储器、相变存储器、全息存储器或化学存储器,等等。
组件可通过互连1556进行通信。互连1556可包括任何数量的 技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围组件互连(PCI)、 外围组件互连扩展(PCIx)、PCI express(PCI快速,PCIe)或任何数量的其 他技术。互连1556可以是例如在基于SoC的系统中使用的专有总线。其他总 线系统可被包括,诸如I2C接口、SPI接口、点对点接口、功率总线,等等。
鉴于从设备到另一组件或网络的可适用通信类型的多样性,由 设备使用的可适用通信电路系统可以包括组件1562、1566、1568或1570中的 任何一个或多个,或由组件1562、1566、1568或1570中的任何一个或多个来 具体化。因此,在各示例中,用于通信(例如,接收、传送等)的可适用装置 可由此类通信电路系统来具体化。
互连1556可将处理器1552耦合至网格收发器1562,以便例如 与其他网格设备1564通信。网格收发器1562可使用任何数量的频率和协议, 诸如IEEE 802.15.4标准下的2.4千兆赫兹(GHz)传送,使用如由特别兴 趣小组定义的低能量(BLE)标准、或标准,等等。为特定的 无线通信协议配置的任何数量的无线电可用于到网格设备1564的连接。例如, WLAN单元可用于根据电气和电子工程师协会(IEEE)802.11标准实现Wi-FiTM 通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可经由WWAN 单元发生。
网格收发器1562可使用用于不同范围的通信的多种标准或无线 电来进行通信。例如,IoT设备1550可使用基于BLE的或另一低功率无线电 的本地收发器与接近的(例如,在约10米内的)设备通信以节省功率。更远 的(例如,在约50米内的)网格设备1564可通过ZigBee或其他中间功率无 线电而达到。这两种通信技术能以不同的功率水平通过单个无线电发生,或者 可通过分开的收发器而发生,分开的收发器例如使用BLE的本地收发器和分 开的使用ZigBee的网格收发器。
无线网络收发器1566可被包括,以经由局域网协议或广域网协 议来与云1500中的设备或服务通信。无线网络收发器1566可以是遵循IEEE 802.15.4或IEEE 802.15.4g标准等的LPWA收发器。IoT设备1550可使用由 Semtech和LoRa联盟开发的LoRaWANTM(长距广域网)在广域上通信。本文 中所描述的技术不限于这些技术,而是可与实现长距离、低带宽通信(诸如 Sigfox和其他技术)的任何数量的其他云收发器一起使用。进一步地,可使用 其他通信技术,诸如在IEEE 802.15.4e规范中描述的时分信道跳。
除了针对如本文中所描述的网格收发器1562和无线网络收发器 1566而提及的系统之外,还可使用任何数量的其他无线电通信和协议。例如, 无线电收发器1562和1566可包括使用扩展频谱(SPA/SAS)通信以实现高速 通信的LTE或其他蜂窝收发器。进一步地,可使用任何数量的其他协议,诸 如用于中速通信和供应网络通信的网络。
无线电收发器1562和1566可包括与任何数量的3GPP(第三代 合作伙伴计划)规范(尤其是长期演进(LTE)、长期演进-高级(LTE-A)和 长期演进-高级加强版(LTE-A Pro))兼容的无线电。可以注意到,可选择与 任何数量的其他固定的、移动的或卫星通信技术和标准兼容的无线电。这些可 包括例如任何蜂窝广域无线通信技术,其可包括例如第5代(5G)通信系统、 全球移动通信(GSM)无线电通信系统、通用分组无线电服务(GPRS)无线 电通信技术、或GSM演进(EDGE)增强数据速率无线电通信技术、UMTS (通用移动电信系统)通信技术,除了上面列出的标准外,任何数量的卫星上 行链路技术都可以用于无线网络收发器1566,包括例如符合由ITU(国际电信 联盟)或ETSI(欧洲电信标准协会)发布标准的无线电等。本文中所提供的 示例因此可被理解为适用于各种现有的和尚未制定的各种其他通信技术。
网络接口控制器(NIC)1568可被包括以提供到云1500或到其 他设备(诸如网格设备1564)的有线通信。有线通信可提供以太网连接,或可 基于其他类型的网络,诸如控制器区域网(CAN)、本地互连网(LIN)、设 备网络(DeviceNet)、控制网络(ControlNet)、数据高速路+、现场总线 (PROFIBUS)或工业以太网(PROFINET),等等。附加的NIC 1568可被包 括以允许到第二网络的连接,例如,NIC 1568通过以太网提供到云的通信,并 且第二NIC1568通过另一类型的网络提供到其他设备的通信。
互连1556可将处理器1552耦合至外部接口1570,该外部接口 1570用于连接外部设备或子系统。外部设备可包括传感器1572,诸如加速度 计、水平传感器、流量传感器、光学光传感器、相机传感器、温度传感器、全 球定位系统(GPS)传感器、压力传感器、气压传感器,等等。外部接口1570 可进一步用于将IoT设备1550连接至致动器1574(诸如电源开关、阀致动器、 可听见声音发生器、视觉警告设备等)。
在一些任选的示例中,各种输入/输出(I/O)设备可存在于IoT 设备1550内,或可连接至IoT设备1550。例如,可包括显示器或其他输出设 备1584来显示信息,诸如传感器读数或致动器位置。可以包括输入设备1586 (诸如触摸屏或小键盘)来接受输入。输出设备1586可包括任何数量的音频 或视觉显示形式,包括:简单视觉输出,诸如二进制状态指示器(例如,LED); 多字符视觉输出;或更复杂的输出,诸如显示屏(例如,LCD屏),其具有从IoT设备1550的操作生成或产生的字符、图形、多媒体对象等的输出。
电池1576可为IoT设备1550供电,但是在其中IoT设备1550 被安装在固定位置的示例中,该IoT设备1550可具有耦合至电网的电源。电 池1576可以是锂离子电池、金属-空气电池(诸如锌-空气电池、铝-空气电池、 锂-空气电池),等等。
电池监测器/充电器1578可被包括在IoT设备1550中以跟踪电 池1576的充电状态(SoCh)。电池监视器/充电器1578可用于监视电池1576 的其他参数以提供失效预测,诸如电池1576的健康状态(SoH)和功能状态 (SoF)。电池监测器/充电器1578可包括电池监视集成电路,诸如来自线性 技术公司(Linear Technologies)的LTC4020或LTC2990、来自亚利桑那州的 凤凰城的安森美半导体公司(ON Semiconductor)的ADT7488A、或来自德克 萨斯州达拉斯的德州仪器公司的UCD90xxx族的IC。电池监测器/充电器1578 可通过互连1556将关于电池1576的信息传输至处理器1552。电池监测器/充 电器1578也可包括允许处理器1552直接监测电池1576的电压或来自电池 1576的电流的模数(ADC)转换器。电池参数可被用于确定IoT设备1550可 执行的动作,诸如传输频率、网格网络操作、感测频率,等等。
功率块1580或耦合至电网的其他电源可与电池监测器/充电器 1578耦合以对电池1576充电。在一些示例中,功率块1580可用无线功率接收 机代替,以便例如通过IoT设备1550中的环形天线来无线地获得功率。无线 电池充电电路(诸如来自加利福尼亚州的苗比达市的线性技术公司的LTC4020 芯片,等等)可被包括在电池监测器/充电器1578中。所选择的特定的充电电 路取决于电池1576的尺寸,并因此取决于所要求的电流。可使用由无线充电 联盟(Airfuel Alliance)颁布的Airfuel标准、由无线电力协会(Wireless PowerConsortium)颁布的Qi无线充电标准、或由无线电力联盟(Alliance for Wireless Power)颁布的Rezence充电标准等等来执行充电。
存储1558可包括用于实现本文中公开的技术的软件、固件或硬 件命令形式的指令1582。虽然此类指令1582被示出为被包括在存储器1554 和存储1558中的代码块,但是可以理解,可用例如被建立到专用集成电路 (ASIC)中的硬连线电路来代替代码块中的任一个。
在示例中,经由存储器1554、存储1558或处理器1552提供的 指令1582可具体化为非瞬态机器可读介质1560,该非瞬态机器可读介质1560 包括用于指示处理器1552执行IoT设备1550中的电子操作的代码。处理器 1552可通过互连1556访问非瞬态机器可读介质1560。例如,非瞬态机器可读 介质1560可由针对图15的存储1558所描述的设备来具体化,或者可包括特 定的存储单元,诸如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬态机 器可读介质1560可包括用于指示处理器1552执行例如像参照上文中描绘的操 作和功能的(多个)流程图和(多个)框图而描述的特定的动作序列或动作流 的指令。
而且,在特定示例中,处理器1552上的指令1588(单独地或与 机器可读介质1560的指令1588结合)可以配置受信任执行环境(TEE)1590 的执行或操作。在示例中,TEE 1590作为处理器1552可访问的保护区域来操 作,以用于指令的安全执行和对数据的安全访问。例如,可以通过使用 软件防护扩展(SGX)或硬件安全扩展、管理引 擎(ME)或融合安全可管理性引擎(CSME)来提供TEE 1590的各种实现方式以及处理器1552或存储器1554中伴随的安全区域。安全强化、硬 件信任根、和受信任或受保护操作的其他方面可以通过TEE 1590和处理器 1552在设备1550中实现。
在更一般的级别,边缘计算系统可以被描述为涵盖在边缘云710 中操作的任何数量的部署,其提供来自客户端和分布式计算设备的协调。为了 说明的目的,图16提供了部署在边缘计算环境之中的分布式计算层的进一步 抽象概览。
图16一般性地描绘了用于将边缘服务和应用提供给多利益相关 者实体的边缘计算系统,这些多利益相关者实体如在一个或多个客户端计算节 点1602、一个或多个边缘网关节点1612、一个或多个边缘聚合节点1622、一 个或多个核心数据中心1632和全球网络云1642之间所分布的,如跨网络的各 个层所分布的。可以在电信服务提供商(“telco”或“TSP”)、物联网服务提供 商、云服务提供商(CSP)、企业实体或任何其他数量的实体处或以其名义提 供边缘计算系统的实现。
边缘计算系统的每个节点或设备位于与层2010、2020、2030、 2040、2050相对应的特定层。例如,客户端计算节点2002各自位于端点层2010, 而边缘网关节点2012中的每一个位于边缘计算系统的边缘设备层2020(本地 层)。附加地,边缘聚合节点2022(和/或雾设备2024,如果与雾联网络配置 2026一起布置或操作,或者在雾联网配置2026中布置或操作的话)中的每一 个位于网络接入层2030(中间层)处。雾计算(或“雾化(fogging)”)通常指云计算扩展到企业的网络的边缘,通常在协调的分布式或多节点网络中。一些 形式的雾计算在终端设备与代表云计算位置的云计算数据中心之间提供计算、 存储和联网服务的部署。此类形式的雾计算提供与本文所讨论的边缘计算一致 的操作;本文所讨论的许多边缘计算方面适用于雾网络、雾化、和雾配置。进 一步地,本文所讨论的边缘计算系统的各方面可以被配置为雾,或者雾的各方 面可以被集成到边缘计算架构中。
核心数据中心2032位于核心网络层2040(例如,区域或地理中 心级别),而全球网络云2042位于云数据中心层2050(例如,国家或全球级 别)。“核心”的使用被提供为网络中较深的集中式网络位置的术语,该集中式 网络位置可由多个边缘节点或组件访问;然而,“核心”不一定指定网络的“中 心”或最深位置。因此,核心数据中心2032可位于边缘云710内、边缘云710 处或边缘云710附近。
虽然在图16中示出了说明性数量的客户端计算节点1602、边缘 网关节点1612、边缘聚合节点1622、核心数据中心1632、全球网络云1642, 但是应当领会,边缘计算系统可以在每一层处包括更多或更少的设备或系统。 附加地,如图16所示,每一层1610、1620、1630、1640、1650的组件的数量 通常在每个较低的层处增加(例如,当移动到靠近端点时)。由此,一个边缘 网关节点1612可以服务多个客户端计算节点1602,而一个边缘聚合节点1622 可以服务多个边缘网关节点1612。
与本文提供的示例一致,每个客户端计算节点2002可以被具体 化为任何类型的端点组件、设备、装置或能够作为数据的生产者或消费者进行 通信的其他“物”。进一步地,如边缘计算系统2000中所使用的标签“节点”或“设 备”不一定意指此类节点或设备以客户端或代理/仆从/跟随者角色操作;相反, 边缘计算系统2000中的节点或设备中的任一者指代包括分立的和/或连接的硬 件或软件配置以促进或使用边缘云710的各个实体、节点或子系统。
由此,边缘云710由分别由层1620、1630的边缘网关节点1612 和边缘聚合节点1622操作并在层1620、1630的边缘网关节点1612和边缘聚 合节点1622内被操作的网络组件和功能特征形成。边缘云710可被具体化为 提供边缘计算和/或存储资源的任何类型的网络,这些边缘计算和/或存储资源 被定位成接近支持无线电接入网络(RAN)的端点设备(例如,移动计算设备、 IoT设备、智能设备等),其在图16中被示出为客户端计算节点1602。换言 之,边缘云710可被预想为连接端点设备和传统网络接入点、同时还提供存储 和/或计算能力的“边缘”,该“边缘”充当进入到包括移动运营商网络(例如,全 球移动通信系统(GSM)网络、长期演进(LTE)网络、5G网络等)的服务 提供商核心网络中的入口点。其他类型和形式的网络接入(例如,Wi-Fi、长 距离无线网络)也可替代此类3GPP运营商网络被利用或与此类3GPP运营商 网络组合来利用。
在一些示例中,边缘云710可以形成雾联网配置2026的一部分 或以其他方式提供到雾联网配置2026(例如,雾设备2024的网络,未详细示 出)中或跨雾联网配置2026的入口点,该雾联网配置可被具体化为系统级别 横向且分布式架构,该架构分布资源和服务以执行特定的功能。例如,雾设备 2024的经协调的和分布式网络可以在IoT系统布置的上下文中执行计算、存储、 控制、或联网方面。在云数据中心层2050与客户端端点(例如,客户端计算 节点2002)之间的边缘云710中可以存在其他联网的、聚合的和分布式的功能。 下面各部分将在网络功能或服务虚拟化的上下文中讨论其中的一些,包括为多 个利益相关者编排的虚拟边缘和虚拟服务的使用。
边缘网关节点2012和边缘聚合节点2022协作以将各种边缘服 务和安全性提供给客户端计算节点2002。此外,因为每个客户端计算节点2002 可以是静止的或移动的,因此当相对应的客户端计算节点2002围绕区域移动 时,每个边缘网关节点2012可以与其他边缘网关设备协作以传播当前提供的 边缘服务和安全性。为此,边缘网关节点2012和/或边缘聚合节点2022中的每 一个可以支持多个租户和多个利益相关者配置,其中来自多个服务提供商和多 个消费者的服务(或针对多个服务提供商和多个消费者而主管的服务)可以跨 单个或多个计算设备被支持和被协调。
图17图示出用于将软件分发至一个或多个设备的示例软件分发 平台1705,该软件诸如图2B的示例计算机可读指令282,该一个或多个设备 诸如(多个)示例处理器平台1700和/或示例连接的边缘设备262。示例软件 分发平台1705可以由能够存储软件并将软件传送到其他计算设备(例如,第 三方、图2B的示例连接的边缘设备262)的任何计算机服务器、数据设施、 云服务等来实现。示例连接的边缘设备可以是消费方、客户端、管理设备(例 如,服务器)、第三方(例如,拥有和/或操作软件分发平台1705的实体的消 费方)。示例连接的边缘设备可在商业和/或家庭自动环境中操作。在一些示例 中,第三方是诸如图2B的示例计算机可读指令282之类的软件的开发方、销 售方和/或许可方。第三方可以是购买和/或许可软件以用于使用和/或转售和/ 或分许可的消费方、用户、零售商、OEM等。在一些示例中,所分发的软件 引起一个或多个用户界面(UI)和/或图形用户界面(GUI)的显示,以标识地 理上或逻辑上彼此分离的一个或多个设备(例如,连接的边缘设备)(例如, 被特许负责配水控制(例如,泵)、配电控制(例如,继电器)等的物理上分 离的IoT设备)。
在图17的所图示示例中,软件分发平台1705包括一个或多个 服务器以及一个或多个存储设备。存储设备存储计算机可读指令282,该计算 机可读指令282可以与图2B的示例计算机可读指令282相对应,如上文所描 述。示例软件分发平台1705的一个或多个服务器与网络1710通信,该网络1710 可以与互联网和/或上文所述示例网络295中的任一个的任何一个或多个相对 应。在一些示例中,作为商业事务的部分,一个或多个服务器响应于将软件传 送到请求方的请求。可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处置针对软件的交付、销售、和/或许可的支付。服务器使购买者和 /或许可者能够从软件分发平台1705下载计算机可读指令282。例如,软件(其 可与图2B的示例计算机可读指令282相对应)可被下载到(多个)示例处理 器平台1700(例如,示例连接的边缘设备),该(多个)示例处理器平台1700 用于执行计算机可读指令282以实现本文公开的示例。在一些示例中,软件分 发平台1705的一个或多个服务器通信地连接至一个或多个安全域和/或安全设 备,示例计算机可读指令282的请求和传送必须穿过该一个或多个安全域和/或安全设备。在一些示例中,软件分发平台1705的一个或多个服务器周期性 地提供、传送和/或强制进行软件(例如,图2B的示例计算机可读指令282) 更新以确保改善、补丁、更新等被分发并应用于端用户设备处的软件。
在图17的所图示示例中,计算机可读指令282以特定的格式被 存储在软件分发平台1705的存储设备上。计算机可读指令的格式包括但不限 于,特定的代码语言(例如,Java、JavaScript、Python、C、C#、SQL、HTML 等)和/或特定的代码状态(例如,未经编译的代码(例如,ASCII)、经解释 的代码、链接的代码、可执行代码(例如,二进制文件)等)。在一些示例中, 软件分发平台1705上所存储的计算机可读指令282在被传送至(多个)处理 器平台1700时采用第一格式。在一些示例中,第一格式是特定类型的(多个) 处理器平台1700可以按其来执行的可执行二进制文件。然而,在一些示例中, 第一格式是未经编译的代码,其要求一个或多个准备任务来将第一格式转换为 第二格式以使得能够在(多个)示例处理器平台1700上执行。例如,(多个) 接收处理器平台1700可能需要对第一格式的计算机可读指令282进行编译, 以生成能够在(多个)处理器平台1700上执行的第二格式的可执行代码。在 另外的其他示例中,第一格式是经解释的代码,其在到达(多个)处理器平台 1700后由解释器进行解释以促进指令的执行。
示例
下文提供了本文中所公开的技术的说明性示例。这些技术的实 施例可包括下文所描述的示例中的任何一个或多个示例及其任何组合。
示例1包括一种用于对视频进行编码的计算节点,该计算节点 包括视频编码器,用于:确定感兴趣区域(ROI)加权参数和非ROI加权参数; 从视频源接收视频的第一帧;确定第一帧的感兴趣区域;基于所确定的第一帧 的感兴趣区域来对第一帧进行编码以生成经编码的第一帧;基于经编码的第一 帧与未编码的第一帧之间的差来确定第一帧的加权平均噪声参数,其中,加权 平均噪声参数取决于由ROI加权参数加权的第一帧的感兴趣区域的噪声参数 和由非ROI加权参数加权的第一帧的感兴趣区域之外的区域的噪声参数;从视 频源接收视频的第二帧,其中第二帧在第一帧之后;确定第二帧的感兴趣区域; 以及基于所确定的第二帧的感兴趣区域和第一帧的加权平均噪声参数来对第 二帧进行编码。
示例2包括示例1的主题,并且其中视频编码器进一步用于基 于经编码的第一帧的感兴趣区域与未编码的第一帧的感兴趣区域的逐像素比 较来确定第一帧的感兴趣区域的噪声参数;以及基于经编码的第一帧的感兴趣 区域之外的区域与未编码的第一帧的感兴趣区域之外的区域的逐像素比较来 确定第一帧的感兴趣区域之外的区域的噪声参数。
示例3包括示例1和示例2中任一项的主题,并且其中确定加 权平均噪声参数包括确定加权平均峰值信噪比。
示例4包括示例1-3中任一项的主题,并且其中确定加权平均 噪声参数包括确定加权平均结构相似性指数度量。
示例5包括示例1-4中任一项的主题,并且其中第二帧是紧接 在第一帧之后的帧。
示例6包括示例1-5中任一项的主题,并且其中ROI加权参数 至少是非ROI加权参数的十倍。
示例7包括示例1-6中任一项的主题,并且其中非ROI加权参 数为1。
示例8包括一种系统,包括示例1中的计算节点,进一步包括 宿计算节点,宿计算节点包括视频解码器,用于:从源计算设备接收视频的第 二帧;使用基于机器学习的算法确定视频的第二帧的感兴趣区域;以及使用第 二基于机器学习的算法改进所确定的视频的第二帧的感兴趣区域的质量。
示例9包括一种用于对视频进行编码的方法,该方法包括:通 过计算节点确定感兴趣区域(ROI)加权参数和非ROI加权参数;通过计算节 点从视频源接收视频的第一帧;通过计算节点确定第一帧的感兴趣区域;通过 计算节点基于所确定的第一帧的感兴趣区域来对第一帧进行编码以生成经编 码的第一帧;通过计算节点基于经编码的第一帧与未编码的第一帧之间的差来 确定第一帧的加权平均噪声参数,其中,加权平均噪声参数取决于由ROI加权 参数加权的第一帧的感兴趣区域的噪声参数和由非ROI加权参数加权的第一帧的感兴趣区域之外的区域的噪声参数;通过计算节点从视频源接收视频的第 二帧,其中第二帧在第一帧之后;通过计算节点确定第二帧的感兴趣区域;以 及通过计算节点基于所确定的第二帧的感兴趣区域和第一帧的加权平均噪声 参数来对第二帧进行编码。
示例10包括示例9的主题,并且进一步包括基于经编码的第一 帧的感兴趣区域与未编码的第一帧的感兴趣区域的逐像素比较来确定第一帧 的感兴趣区域的噪声参数;以及基于经编码的第一帧的感兴趣区域之外的区域 与未编码的第一帧的感兴趣区域之外的区域的逐像素比较来确定第一帧的感 兴趣区域之外的区域的噪声参数。
示例11包括示例9和示例10中任一项的主题,并且其中确定 加权平均噪声参数包括确定加权平均峰值信噪比。
示例12包括示例9-11中任一项的主题,并且其中确定加权平 均噪声参数包括确定加权平均结构相似性指数度量。
示例13包括示例9-12中任一项的主题,并且其中第二帧是紧 接第一帧之后的帧。
示例14包括示例9-13中任一项的主题,并且其中ROI加权参 数至少是非ROI加权参数的十倍。
示例15包括示例9-14中任一项的主题,并且其中非ROI加权 参数为1。
示例16包括一种用于对视频进行编码的计算节点,该计算节点 包括用于确定感兴趣区域(ROI)加权参数和非ROI加权参数的装置;用于从 视频源接收视频的第一帧的装置;用于确定第一帧的感兴趣区域的装置;用于 基于所确定的第一帧的感兴趣区域来对第一帧进行编码以生成经编码的第一 帧的装置;用于基于经编码的第一帧与未编码的第一帧之间的差来确定第一帧 的加权平均噪声参数的装置,其中,加权平均噪声参数取决于由ROI加权参数 加权的第一帧的感兴趣区域的噪声参数和由非ROI加权参数加权的第一帧的感兴趣区域之外的区域的噪声参数;用于从视频源接收视频的第二帧的装置, 其中第二帧在第一帧之后;用于确定第二帧的感兴趣区域的装置;以及用于基 于所确定的第二帧的感兴趣区域和第一帧的加权平均噪声参数来对第二帧进 行编码的装置。
示例17包括示例16的主题,并且进一步包括用于基于经编码 的第一帧的感兴趣区域与未编码的第一帧的感兴趣区域的逐像素比较来确定 第一帧的感兴趣区域的噪声参数的装置;以及用于基于经编码的第一帧的感兴 趣区域之外的区域与未编码的第一帧的感兴趣区域之外的区域的逐像素比较 来确定第一帧的感兴趣区域之外的区域的噪声参数的装置。
示例18包括示例16和示例17中任一项的主题,并且其中用于 确定加权平均噪声参数的装置包括用于确定加权平均峰值信噪比的装置。
示例19包括示例16-18中任一项的主题,并且其中用于确定 加权平均噪声参数的装置包括用于确定加权平均结构相似性指数度量的装置。
示例20包括示例16-19中任一项的主题,并且其中第二帧是紧 接第一帧之后的帧。
示例21包括示例16-20中任一项的主题,并且其中ROI加权参 数至少是非ROI加权参数的十倍。
示例22包括示例16-21中任一项的主题,并且其中非ROI加权 参数为1。
示例23包括包含存储在其上有多个指令的一种或多种计算机可 读介质,指令在被执行时,使得计算节点用于:确定感兴趣区域(ROI)加权 参数和非ROI加权参数;从视频源接收视频的第一帧;确定第一帧的感兴趣区 域;基于所确定的第一帧的感兴趣区域来对第一帧进行编码以生成经编码的第 一帧;基于经编码的第一帧与未编码的第一帧之间的差来确定第一帧的加权平 均噪声参数,其中,加权平均噪声参数取决于由ROI加权参数加权的第一帧的 感兴趣区域的噪声参数和由非ROI加权参数加权的第一帧的感兴趣区域之外 的区域的噪声参数;从视频源接收视频的第二帧,其中第二帧在第一帧之后; 确定第二帧的感兴趣区域;以及基于所确定的第二帧的感兴趣区域和第一帧的 加权平均噪声参数来对第二帧进行编码。
示例24包括示例23的主题,并且其中多个指令进一步使得计 算节点用于基于经编码的第一帧的感兴趣区域与未编码的第一帧的感兴趣区 域的逐像素比较来确定第一帧的感兴趣区域的噪声参数;以及基于经编码的第 一帧的感兴趣区域之外的区域与未编码的第一帧的感兴趣区域之外的区域的 逐像素比较来确定第一帧的感兴趣区域之外的区域的噪声参数。
示例25包括示例23和示例24中任一项的主题,并且其中确定 加权平均噪声参数包括确定加权平均峰值信噪比。
示例26包括示例23-25中任一项的主题,并且其中确定加权平 均噪声参数包括确定加权平均结构相似性指数度量。
示例27包括示例23-26中任一项的主题,并且其中第二帧是紧 接在第一帧之后的帧。
示例28包括示例23-27中任一项的主题,并且其中ROI加权参 数至少是非ROI加权参数的十倍。
示例29包括示例23-28中任一项的主题,并且其中非ROI加权 参数为1。
示例30包括一种用于对视频进行解码的计算节点,该计算节点 包括视频解码器,用于:接收视频帧;使用基于机器学习的算法来确定视频帧 的感兴趣区域;以及使用基于第二机器学习的算法改进所确定的视频帧的感兴 趣区域的质量。
示例31包括示例30的主题,并且其中接收视频帧包括接收与 帧相关联的加权平均噪声参数,其中,改进所确定的感兴趣区域的质量包括基 于与帧相关联的加权平均噪声参数来改进所确定的感兴趣区域的质量。
示例32包括示例30和31中任一项的主题,并且进一步包括在 通过基于第二机器学习的算法改进质量之后对帧执行推断。
示例33包括一种用于对视频进行解码的方法,该方法包括:通 过计算节点接收视频帧;通过计算节点使用基于机器学习的算法来确定视频帧 的感兴趣区域;以及使用基于第二机器学习的算法改进所确定的视频帧的感兴 趣区域的质量。
示例34包括示例33的主题,并且其中接收视频帧包括接收与 帧相关联的加权平均噪声参数,其中,改进所确定的感兴趣区域的质量包括基 于与帧相关联的加权平均噪声参数来改进所确定的感兴趣区域的质量。
示例35包括示例33和34中任一项的主题,并且进一步包括在 通过基于第二机器学习的算法改进质量之后对帧执行推断。
示例36包括一种用于对视频进行解码的计算节点,该计算节点 包括用于接收视频帧的装置;用于使用基于机器学习的算法来确定视频帧的感 兴趣区域的装置;以及用于使用基于第二机器学习的算法改进所确定的视频帧 的感兴趣区域的质量的装置。
示例37包括示例36的主题,并且其中用于接收视频帧的装置 包括用于接收与帧相关联的加权平均噪声参数的装置,其中,用于改进所确定 的感兴趣区域的质量的装置包括用于基于与帧相关联的加权平均噪声参数来 改进所确定的感兴趣区域的质量的装置。
示例38包括示例36和37中任一项的主题,并且进一步包括用 于在通过基于第二机器学习的算法改进质量之后对帧执行推断的装置。
示例39包括包含存储在其上有多个指令的一种或多种计算机可 读介质,指令在执行时使计算节点用于:接收视频帧;使用基于机器学习的算 法来确定视频帧的感兴趣区域;以及使用基于第二机器学习的算法改进所确定 的视频帧的感兴趣区域的质量。
示例40包括示例39的主题,并且其中接收视频帧包括接收与 帧相关联的加权平均噪声参数,其中,改进所确定的感兴趣区域的质量包括基 于与帧相关联的加权平均噪声参数来改进所确定的感兴趣区域的质量。
示例41包括示例39和40中任一项的主题,并且进一步包括在 通过基于第二机器学习的算法改进质量之后对帧执行推断。
在一些实施例中,前述图中的一个或多个图中所阐述的系统或 组件中的至少一个可被配置成用于执行前述示例中所阐述的一个或多个操作、 技术、过程和/或方法。例如,计算节点102、边缘节点250、边缘/IoT处理设 备1550等可以具体化为示例1-8、16-22、30-32或36-38中的任一项,或者可 以执行示例9-15或33-35中的任一项的方法。
Claims (25)
1.一种用于对视频进行编码的计算节点,所述计算节点包括:
视频编码器,用于:
确定感兴趣区域ROI加权参数和非ROI加权参数;
从视频源接收视频的第一帧;
确定所述第一帧的感兴趣区域;
基于所确定的所述第一帧的感兴趣区域来对所述第一帧进行编码以生成经编码的第一帧;
基于所述经编码的第一帧与未编码的所述第一帧之间的差来确定所述第一帧的加权平均噪声参数,其中,所述加权平均噪声参数取决于由所述ROI加权参数加权的所述第一帧的感兴趣区域的噪声参数和由所述非ROI加权参数加权的所述第一帧的感兴趣区域之外的区域的噪声参数;
从视频源接收视频的第二帧,其中所述第二帧在所述第一帧之后;
确定所述第二帧的感兴趣区域;以及
基于所确定的所述第二帧的感兴趣区域和所述第一帧的所述加权平均噪声参数来对所述第二帧进行编码。
2.如权利要求1所述的计算节点,其中,所述视频编码器进一步用于:
基于所述经编码的第一帧的感兴趣区域与未编码的所述第一帧的感兴趣区域的逐像素比较来确定所述第一帧的感兴趣区域的噪声参数;以及
基于所述经编码的第一帧的感兴趣区域之外的区域与未编码的所述第一帧的感兴趣区域之外的区域的逐像素比较来确定所述第一帧的感兴趣区域之外的区域的噪声参数。
3.如权利要求1或2中任一项所述的计算节点,其中确定所述加权平均噪声参数包括确定加权平均峰值信噪比。
4.如权利要求1或2中任一项所述的计算节点,其中确定所述加权平均噪声参数包括确定加权平均结构相似性指数度量。
5.如权利要求1或2中任一项所述的计算节点,其中所述第二帧是紧接在所述第一帧之后的帧。
6.如权利要求1或2中任一项所述的计算节点,其中所述ROI加权参数至少是所述非ROI加权参数的十倍。
7.如权利要求6所述的计算节点,其中所述非ROI加权参数为1。
8.一种系统,包括如权利要求1或2中任一项所述的计算节点,进一步包括宿计算节点,所述宿计算节点包括:
视频解码器,用于:
从源计算设备接收视频的第二帧;
使用基于机器学习的算法确定视频的所述第二帧的感兴趣区域;以及
使用第二基于机器学习的算法改进所确定的视频的所述第二帧的感兴趣区域的质量。
9.一种用于对视频进行解码的方法,所述方法包括:
通过计算节点确定感兴趣区域ROI加权参数和非ROI加权参数;
通过所述计算节点从视频源接收视频的第一帧;
通过所述计算节点确定所述第一帧的感兴趣区域;
通过所述计算节点基于所确定的所述第一帧的感兴趣区域来对所述第一帧进行编码以生成经编码的第一帧;
通过所述计算节点基于所述经编码的第一帧与未编码的所述第一帧之间的差来确定所述第一帧的加权平均噪声参数,其中,所述加权平均噪声参数取决于由所述ROI加权参数加权的所述第一帧的感兴趣区域的噪声参数和由所述非ROI加权参数加权的所述第一帧的感兴趣区域之外的区域的噪声参数;
通过所述计算节点从视频源接收视频的第二帧,其中所述第二帧在所述第一帧之后;
通过所述计算节点确定所述第二帧的感兴趣区域;以及
通过所述计算节点基于所确定的所述第二帧的感兴趣区域和所述第一帧的加权平均噪声参数来对所述第二帧进行编码。
10.如权利要求9所述的方法,进一步包括:
基于所述经编码的第一帧的感兴趣区域与未编码的所述第一帧的感兴趣区域的逐像素比较来确定所述第一帧的感兴趣区域的噪声参数;以及
基于所述经编码的第一帧的感兴趣区域之外的区域与未编码的所述第一帧的感兴趣区域之外的区域的逐像素比较来确定所述第一帧的感兴趣区域之外的区域的噪声参数。
11.如权利要求9或10中任一项所述的方法,其中确定所述加权平均噪声参数包括确定加权平均峰值信噪比。
12.如权利要求9或10中任一项所述的方法,其中确定所述加权平均噪声参数包括确定加权平均结构相似性指数度量。
13.如权利要求9或10中任一项所述的方法,其中所述第二帧是紧接在所述第一帧之后的帧。
14.如权利要求9或10中任一项所述的方法,其中所述ROI加权参数至少是所述非ROI加权参数的十倍。
15.如权利要求14所述的方法,其中所述非ROI加权参数为1。
16.一种或多种计算机可读介质,包括存储于其上的多条指令,所述指令在执行时使得计算节点用于:
确定感兴趣区域ROI加权参数和非ROI加权参数;
从视频源接收视频的第一帧;
确定所述第一帧的感兴趣区域;
基于所确定的所述第一帧的感兴趣区域来对所述第一帧进行编码以生成经编码的第一帧;
基于所述经编码的第一帧与未编码的所述第一帧之间的差来确定所述第一帧的加权平均噪声参数,其中,所述加权平均噪声参数取决于由所述ROI加权参数加权的所述第一帧的感兴趣区域的噪声参数和由所述非ROI加权参数加权的所述第一帧的感兴趣区域之外的区域的噪声参数;
从视频源接收视频的第二帧,其中所述第二帧在所述第一帧之后;
确定所述第二帧的感兴趣区域;以及
基于所确定的所述第二帧的感兴趣区域和所述第一帧的加权平均噪声参数来对所述第二帧进行编码。
17.如权利要求16所述的一种或多种计算机可读介质,其中所述多个指令进一步使得所述计算节点用于:
基于所述经编码的第一帧的感兴趣区域与未编码的所述第一帧的感兴趣区域的逐像素比较来确定所述第一帧的感兴趣区域的噪声参数;以及
基于所述经编码的第一帧的感兴趣区域之外的区域与未编码的所述第一帧的感兴趣区域之外的区域的逐像素比较来确定所述第一帧的感兴趣区域之外的区域的噪声参数。
18.如权利要求16或17中任一项所述的一种或多种计算机可读介质,其中确定所述加权平均噪声参数包括确定加权平均峰值信噪比。
19.如权利要求16或17中任一项所述的一种或多种计算机可读介质,其中确定所述加权平均噪声参数包括确定加权平均结构相似性指数度量。
20.如权利要求16或17中任一项所述的一种或多种计算机可读介质,其中所述第二帧是紧接在所述第一帧之后的帧。
21.如权利要求16或17中任一项所述的一种或多种计算机可读介质,其中所述ROI加权参数至少是所述非ROI加权参数的十倍。
22.如权利要求21所述的一种或多种计算机可读介质,其中所述非ROI加权参数为1。
23.一种用于对视频进行解码的计算节点,所述计算节点包括:
视频编码器,用于:
接收视频帧;
使用基于机器学习的算法确定视频的帧的感兴趣区域;以及
使用第二基于机器学习的算法改进确定的视频的帧的感兴趣区域的质量。
24.如权利要求23所述的计算节点,其中接收视频的帧包括接收与所述帧相关联的加权平均噪声参数,
其中,改进所确定的感兴趣区域的质量包括基于与所述帧相关联的所述加权平均噪声参数来改进所确定的感兴趣区域的质量。
25.如权利要求24所述的计算节点,进一步包括在通过基于第二机器学习的算法改进质量之后对所述帧执行推断。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/132,714 US20210152834A1 (en) | 2020-12-23 | 2020-12-23 | Technologies for region-of-interest video encoding |
US17/132,714 | 2020-12-23 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114666587A true CN114666587A (zh) | 2022-06-24 |
Family
ID=75909394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111391469.9A Pending CN114666587A (zh) | 2020-12-23 | 2021-11-23 | 用于感兴趣区域视频编码的技术 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210152834A1 (zh) |
CN (1) | CN114666587A (zh) |
DE (1) | DE102021211047A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11295131B1 (en) * | 2021-06-15 | 2022-04-05 | Knoetik Solutions, Inc. | Smoke and fire recognition, fire forecasting, and monitoring |
WO2023235532A1 (en) * | 2022-06-03 | 2023-12-07 | Clearobject Corporation | Edge device video analysis system |
CN115396669B (zh) * | 2022-08-22 | 2024-10-29 | 上海工程技术大学 | 一种基于兴趣区域增强的视频压缩方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8768084B2 (en) * | 2005-03-01 | 2014-07-01 | Qualcomm Incorporated | Region-of-interest coding in video telephony using RHO domain bit allocation |
US8315466B2 (en) * | 2006-12-22 | 2012-11-20 | Qualcomm Incorporated | Decoder-side region of interest video processing |
US10375407B2 (en) * | 2018-02-05 | 2019-08-06 | Intel Corporation | Adaptive thresholding for computer vision on low bitrate compressed video streams |
US20220021887A1 (en) * | 2020-07-14 | 2022-01-20 | Wisconsin Alumni Research Foundation | Apparatus for Bandwidth Efficient Video Communication Using Machine Learning Identified Objects Of Interest |
WO2022081142A1 (en) * | 2020-10-13 | 2022-04-21 | Google Llc | Distributed sensor data processing using multiple classifiers on multiple devices |
-
2020
- 2020-12-23 US US17/132,714 patent/US20210152834A1/en active Pending
-
2021
- 2021-09-30 DE DE102021211047.9A patent/DE102021211047A1/de active Pending
- 2021-11-23 CN CN202111391469.9A patent/CN114666587A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20210152834A1 (en) | 2021-05-20 |
DE102021211047A1 (de) | 2022-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220358370A1 (en) | Artificial intelligence inference architecture with hardware acceleration | |
US11768705B2 (en) | Automatic localization of acceleration in edge computing environments | |
US11838138B2 (en) | Multi-access edge computing (MEC) billing and charging tracking enhancements | |
US12126592B2 (en) | Neutral host edge services | |
US20220150125A1 (en) | AI Named Function Infrastructure and Methods | |
CN111865647A (zh) | 使用分解的芯片粒进行边缘计算的模块化i/o配置 | |
JP2021057882A (ja) | エッジコンピューティング環境における適応データフロー変換 | |
US20220377614A1 (en) | Apparatus, system, method and computer-implemented storage media to implement radio resource management policies using machine learning | |
US20210152834A1 (en) | Technologies for region-of-interest video encoding | |
US20230164241A1 (en) | Federated mec framework for automotive services | |
EP4155933A1 (en) | Network supported low latency security-based orchestration | |
US20210385463A1 (en) | Resource-efficient video coding and motion estimation | |
US20210117697A1 (en) | Edge automatic and adaptive processing activations | |
US20230189319A1 (en) | Federated learning for multiple access radio resource management optimizations | |
US20210327018A1 (en) | Morphing computer vision pipeline | |
US20210117134A1 (en) | Technologies for storage and processing for distributed file systems | |
US20210152530A1 (en) | Tiered access to regions of interest in video frames | |
US20220201320A1 (en) | Video analytics using scalable video coding | |
WO2022212215A1 (en) | Streamlined development and deployment of autoencoders | |
US20220214810A1 (en) | Near-data processing in sharded storage environments | |
KR20230001016A (ko) | 에지 어플라이언스들을 위한 스위치 기반 적응적 변환 | |
US20210120259A1 (en) | Technologies for memory-efficient video encoding and decoding | |
US20240155025A1 (en) | Uses of coded data at multi-access edge computing server | |
US20220415050A1 (en) | Apparatus and method for increasing activation sparsity in visual media artificial intelligence (ai) applications | |
US20230020182A1 (en) | Technologies for source degradation detection and auto-tuning of cameras |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |