用于神经网络压缩的基于聚类的量化的制作方法

文档序号:29211460发布日期:2022-03-12 06:05阅读:131来源:国知局
用于神经网络压缩的基于聚类的量化的制作方法
用于神经网络压缩的基于聚类的量化
1.相关申请的交叉引用
2.本技术要求2019年7月2日提交的美国临时专利申请号62/869,754的优先权,该专利申请的全文以引用方式并入本文,如同在本文完整示出一样。


背景技术:

3.神经网络表示(nnr)编码系统可用于压缩神经网络模型,例如,以减少此类模型所需的存储和/或传输带宽。nnr编码系统可包括基于块的、基于小波的和/或基于对象的系统。


技术实现要素:

4.公开了用于神经网络(nn)模型压缩的基于聚类的量化(例如,基于分层或基于k-均值聚类的量化)的系统、方法和手段。nn模型可以是一种用于处理视频、音频、医疗、语音等的nn模型。nn模型可以表示例如数据模型、包括一个或多个参数和/或函数的数学模型等。基于聚类的量化可以分析nn层(例如,卷积nn(cnn)层)和/或集群异常值的参数的张量排列。
5.设备诸如编码设备可以使用基于集群的量化来进行nn压缩,并且可以分析nn层中权重张量中的一个或多个nn权重的分布。例如,设备可以识别和/或分离集群外的异常值和集群内的内部值。设备可以使用相对于集群内的内部值识别的和/或分离的集群外的异常值来应用基于聚类的量化,诸如基于k-均值聚类的量化。设备可以根据内部值来对权重张量中的异常值进行检测、移除或分离和/或编码(例如,单独编码)。内部值(例如,移除异常值后的其余权重)可以与异常值分开编码(例如,使用标量量化和/或向量量化)。设备可以使用一个或多个异常值检测过程来检测一个或多个异常值。设备可以基于点的维度(例如,一维的点)来选择一个或多个异常值检测过程。例如,设备可以向解码设备,诸如解码器发信号通知内部值和/或异常值信息(例如,用于重建压缩的nn模型)。权重张量和权重矩阵在本文中可互换使用。
6.例如,用于nn压缩的基于集群的量化可以采用权重重新排列,以保持核间相关性。网络权重(例如,对于cnn层的较高维度的权重张量)可以重新排列为二维矩阵。可以对重排矩阵逐行或逐列执行向量量化。一种排列可以导致所得矩阵中的行向量(或列向量)之间的相关性(例如,大相关性)。例如,设备诸如编码设备可以例如使用权重重新排列将卷积核重新排列为向量。可以将跨信道的单个滤波器或多个核视为一个点。例如,可以通过在聚类期间将跨信道的一个或多个核视为一个点来保持核之间的相关性。张量可以例如沿输入信道被分成多个子空间。张量可以例如沿输出信道被分成多个子空间。设备可以基于重新整形的或先前编码的权重块或先前编码的权重矩阵来(例如,对于当前权重块或当前权重矩阵)执行预测。设备可以例如向解码器发信号通知排列信息、预测信息等(例如,用于重建压缩的nn模型)。
7.在示例中,可以(例如,在编解码器中)实现方法,以针对nn压缩或压缩nn的解压
缩/重建执行基于聚类的量化或逆量化。方法可以例如由装置实施。装置可包括被配置为执行计算机可执行指令的一个或多个处理器。一个或多个计算机可执行指令可以存储在计算机可读介质或计算机程序产品上,当由一个或多个处理器执行时,执行该方法。装置可包括一个或多个处理器,该一个或多个处理器被配置为执行该方法。计算机可读介质或计算机程序产品可包括指令,这些指令使一个或多个处理器通过执行指令来执行方法。计算机可读介质可包括根据方法生成的数据内容。信号可以包括码本和码索引、异常值和异常值索引和/或对权重矩阵或权重矩阵中的权重块的预测,其中该权重矩阵根据本文所述的方法利用重新整形、异常值检测和移除以及/或者对原始权重矩阵的nn压缩的预测性编码,根据基于聚类的量化而生成。
8.一种使用基于聚类的量化进行编码以进行nn压缩的方法可包括例如获得包括与权重矩阵诸如权重张量相关联的nn层的nn模型;识别权重矩阵的维数;基于所识别的权重矩阵的维数,对权重矩阵重新整形以减少权重矩阵的维数;并且基于重新整形的权重矩阵对nn层进行编码。
9.对权重矩阵重新整形可以包括例如展平或重新排列权重矩阵的维数。
10.权重矩阵的示例性维数可以包括例如二维(2d)、三维(3d)、四维(4d)或更高维。权重矩阵可以被重新整形为例如一维(1d)权重向量。维数可以从多维减少到(例如,任何)较低维度(例如,4d至3d、4d至2d、3d至2d、2d至1d、3d至1d、4d至1d等)。
11.nn层可以包括例如卷积nn(cnn)层、全连接层或偏置层。
12.该方法还可以包括例如在比特流中传输权重矩阵的所识别的维数和减少的维数。
13.在示例中,对nn层进行编码可以包括执行量化。量化可以是基于聚类的量化。可以在对集群内的内部值进行量化之前移除异常值。量化可以包括例如向量量化。
14.该方法还可以包括基于重新整形或先前编码的权重块或权重矩阵(例如,对于当前权重块或当前权重矩阵)执行预测。
15.一种解码方法可包括例如获得压缩的nn模型,该压缩的nn模型包括与具有第一维数的权重矩阵相关联的量化的nn层;获得指示具有第二维数的权重矩阵形状的权重矩阵形状指示;基于权重矩阵形状指示将权重矩阵重新整形为第二维数;并且基于重新整形的权重矩阵对nn层进行解码。
16.对权重矩阵重新整形可以包括例如将具有第一维数的权重矩阵恢复为具有第二维数的权重矩阵。具有第二维数的权重矩阵形状可包括例如在量化之前具有原始维数的权重矩阵。权重矩阵形状指示可以指示例如与原始维数相关联的列数和行数。权重矩阵的第二维数可包括例如2d、3d、4d或更高维。例如,可以通过将权重矩阵的第一维数增加至权重矩阵的第二维数来对权重矩阵重新整形。维数可以从较低维度增加至较高维度(例如,3d至4d、2d至4d、2d至3d、1d至2d、1d至3d、1d至4d等)。
17.在示例中,编码设备诸如基于神经网络模型的编码器、视频编码器等,可以被配置为获得具有多层的nn模型;针对nn模型的卷积层识别卷积层权重张量(例如,4-d张量,诸如k1xk2xcinxcout);例如通过将权重矩阵向量化为向量(例如,k1
×
k2

k1k2)来重新排列卷积层权重张量;以及使用重新排列的卷积层权重张量(例如,k1k2
×c输入
×c输出
)对卷积层执行向量量化。
附图说明
18.图1a是示出可在其中实现一个或多个所公开的实施方案的示例性通信系统的系统图。
19.图1b是示出根据实施方案可在图1a所示的通信系统内使用的示例性无线发射/接收单元(wtru)的系统图。
20.图1c是示出根据实施方案的可在图1a所示的通信系统内使用的示例性无线电接入网络(ran)和示例性核心网络(cn)的系统图。
21.图1d是示出根据实施方案的可在图1a所示的通信系统内使用的另一个示例性ran和另一个示例性cn的系统图。
22.图2是示出示例性视频编码器的示意图。
23.图3是示出视频解码器的示例的示意图。
24.图4是示出可在其中实现各个方面和示例的系统的示例的示意图。
25.图5示出了神经网络编解码器的示例。
26.图6示出了以3d排列的cnn层的示例。
27.图7示出了移除异常值的基于聚类的量化的示例。
28.图8示出了逆量化的示例。
29.图9示出了用于向量量化的二维权重的示例性张量重新排列。
30.图10a至图10c示出了示例性1-d卷积张量排列。
31.图11a和图11b示出了移除和未移除异常值的示例性k-均值聚类。
32.图12a和图12b示出了异常值检测的示例。
33.图13示出了移除异常值的示例性量化。
34.图14示出了用于编码的方法的示例。
35.图15示出了用于解码的方法的示例。
具体实施方式
36.现在将参考各种附图来描述例示性实施方案的详细描述。尽管本说明书提供了可能的具体实施的详细示例,但应当指出的是,细节旨在为示例性的,并且绝不限制本技术的范围。
37.图1a是示出在其中一个或多个所公开的实施方案可得以实现的示例性通信系统100的示意图。通信系统100可为向多个无线用户提供诸如语音、数据、视频、消息、广播等内容的多址接入系统。通信系统100可使多个无线用户能够通过系统资源(包括无线带宽)的共享来访问此类内容。例如,通信系统100可采用一个或多个信道接入方法,诸如码分多址接入(cdma)、时分多址接入(tdma)、频分多址接入(fdma)、正交fdma(ofdma)、单载波fdma(sc-fdma)、零尾唯一字dft扩展ofdm(zt uw dts-s ofdm)、唯一字ofdm(uw-ofdm)、资源块滤波ofdm、滤波器组多载波(fbmc)等。
38.如图1a所示,通信系统100可包括无线发射/接收单元(wtru)102a、102b、102c、102d、ran 104/113、cn 106/115、公共交换电话网(pstn)108、互联网110和其他网络112,但应当理解,所公开的实施方案设想了任何数量的wtru、基站、网络和/或网络元件。wtru 102a、102b、102c、102d中的每一者可以是被配置为在无线环境中操作和/或通信的任何类
型的设备。作为示例,wtru 102a、102b、102c、102d(其中任何一个均可被称为“站”和/或“sta”)可被配置为传输和/或接收无线信号,并且可包括用户设备(ue)、移动站、固定或移动订户单元、基于订阅的单元、寻呼机、蜂窝电话、个人数字助理(pda)、智能电话、膝上型电脑、上网本、个人计算机、无线传感器、热点或mi-fi设备、物联网(iot)设备、手表或其他可穿戴设备、头戴式显示器(hmd)、车辆、无人机、医疗设备和应用(例如,远程手术)、工业设备和应用(例如,在工业和/或自动处理链环境中操作的机器人和/或其他无线设备)、消费电子设备、在商业和/或工业无线网络上操作的设备等。wtru 102a、102b、102c和102d中的任一者可互换地称为ue。
39.通信系统100还可包括基站114a和/或基站114b。基站114a、114b中的每一者可为任何类型的设备,其被配置为与wtru 102a、102b、102c、102d中的至少一者无线对接以促进对一个或多个通信网络(诸如cn106/115、互联网110和/或其他网络112)的访问。作为示例,基站114a、114b可为基站收发台(bts)、节点b、演进节点b、家庭节点b、家庭演进节点b、gnb、nr节点b、站点控制器、接入点(ap)、无线路由器等。虽然基站114a、114b各自被描绘为单个元件,但应当理解,基站114a、114b可包括任何数量的互连基站和/或网络元件。
40.基站114a可以是ran 104/113的一部分,该ran还可包括其他基站和/或网络元件(未示出),诸如基站控制器(bsc)、无线电网络控制器(rnc)、中继节点等。基站114a和/或基站114b可被配置为在一个或多个载波频率(其可被称为小区(未示出))上传输和/或接收无线信号。这些频率可在许可频谱、未许可频谱或许可和未许可频谱的组合中。小区可向特定地理区域提供无线服务的覆盖,该特定地理区域可为相对固定的或可随时间改变。小区可进一步被划分为小区扇区。例如,与基站114a相关联的小区可被划分为三个扇区。因此,在一个实施方案中,基站114a可包括三个收发器,即,小区的每个扇区一个收发器。在一个实施方案中,基站114a可采用多输入多输出(mimo)技术并且可针对小区的每个扇区利用多个收发器。例如,可使用波束成形在所需的空间方向上传输和/或接收信号。
41.基站114a、114b可通过空中接口116与wtru 102a、102b、102c、102d中的一者或多者通信,该空中接口可为任何合适的无线通信链路(例如,射频(rf)、微波、厘米波、微米波、红外(ir)、紫外(uv)、可见光等)。可使用任何合适的无线电接入技术(rat)来建立空中接口116。
42.更具体地讲,如上所指出,通信系统100可为多址接入系统,并且可采用一个或多个信道接入方案,诸如cdma、tdma、fdma、ofdma、sc-fdma等。例如,ran 104/113中的基站114a和wtru 102a、102b、102c可实现诸如通用移动电信系统(umts)陆地无线电接入(utra)之类的无线电技术,其可使用宽带cdma(wcdma)来建立空中接口115/116/117。wcdma可包括诸如高速分组接入(hspa)和/或演进的hspa(hspa+)之类的通信协议。hspa可包括高速下行链路(dl)分组接入(hsdpa)和/或高速ul分组接入(hsupa)。
43.在一个实施方案中,基站114a和wtru 102a、102b、102c可实现诸如演进的umts陆地无线电接入(e-utra)之类的无线电技术,其可使用长期演进(lte)和/高级lte(lte-a)和/或高级lte pro(lte-a pro)来建立空中接口116。
44.在一个实施方案中,基站114a和wtru 102a、102b、102c可实现无线电技术诸如nr无线电接入,其可使用新无线电(nr)来建立空中接口116。
45.在一个实施方案中,基站114a和wtru 102a、102b、102c可实现多种无线电接入技
术。例如,基站114a和wtru 102a、102b、102c可例如使用双连接(dc)原理一起实现lte无线电接入和nr无线电接入。因此,wtru 102a、102b、102c所利用的空中接口可由多种类型的无线电接入技术和/或向/从多种类型的基站(例如,enb和gnb)发送的传输来表征。
46.在其他实施方案中,基站114a和wtru 102a、102b、102c可实现诸如ieee 802.11(即,无线保真(wifi))、ieee 802.16(即,全球微波接入互操作性(wimax))、cdma2000、cdma2000 1x、cdma2000 ev-do、暂行标准2000(is-2000)、暂行标准95(is-95)、暂行标准856(is-856)、全球移动通信系统(gsm)、gsm增强数据率演进(edge)、gsm edge(geran)等无线电技术。
47.图1a中的基站114b可为例如无线路由器、家庭节点b、家庭演进节点b或接入点,并且可利用任何合适的rat来促进诸如商业场所、家庭、车辆、校园、工业设施、空中走廊(例如,供无人机使用)、道路等局部区域中的无线连接。在一个实施方案中,基站114b和wtru 102c、102d可实现诸如ieee 802.11之类的无线电技术以建立无线局域网(wlan)。在一个实施方案中,基站114b和wtru 102c、102d可实现诸如ieee 802.15之类的无线电技术以建立无线个域网(wpan)。在又一个实施方案中,基站114b和wtru 102c、102d可利用基于蜂窝的rat(例如,wcdma、cdma2000、gsm、lte、lte-a、lte-a pro、nr等)来建立微微小区或毫微微小区。如图1a所示,基站114b可具有与互联网110的直接连接。因此,基站114b可不需要经由cn 106/115访问互联网110。
48.ran 104/113可与cn 106/115通信,该cn可以是被配置为向wtru 102a、102b、102c、102d中的一者或多者提供语音、数据、应用和/或互联网协议语音技术(voip)服务的任何类型的网络。数据可具有不同的服务质量(qos)要求,诸如不同的吞吐量要求、延迟要求、误差容限要求、可靠性要求、数据吞吐量要求、移动性要求等。cn 106/115可提供呼叫控制、账单服务、基于移动位置的服务、预付费呼叫、互联网连接、视频分发等,和/或执行高级安全功能,诸如用户认证。尽管未在图1a中示出,但是应当理解,ran 104/113和/或cn 106/115可与采用与ran 104/113相同的rat或不同rat的其他ran进行直接或间接通信。例如,除了连接到可利用nr无线电技术的ran 104/113之外,cn 106/115还可与采用gsm、umts、cdma 2000、wimax、e-utra或wifi无线电技术的另一ran(未示出)通信。
49.cn 106/115也可充当wtru 102a、102b、102c、102d的网关,以访问pstn 108、互联网110和/或其他网络112。pstn 108可包括提供普通老式电话服务(pots)的电路交换电话网络。互联网110可包括使用常见通信协议(诸如传输控制协议(tcp)、用户数据报协议(udp)和/或tcp/ip互联网协议组中的互联网协议(ip))的互连计算机网络和设备的全球系统。网络112可包括由其他服务提供商拥有和/或操作的有线和/或无线通信网络。例如,网络112可包括连接到一个或多个ran的另一个cn,其可采用与ran 104/113相同的rat或不同的rat。
50.通信系统100中的一些或所有wtru 102a、102b、102c、102d可包括多模式能力(例如,wtru 102a、102b、102c、102d可包括用于通过不同无线链路与不同无线网络通信的多个收发器)。例如,图1a所示的wtru 102c可被配置为与可采用基于蜂窝的无线电技术的基站114a通信,并且与可采用ieee 802无线电技术的基站114b通信。
51.图1b是示出示例性wtru 102的系统图。如图1b所示,wtru 102可包括处理器118、收发器120、发射/接收元件122、扬声器/麦克风124、小键盘126、显示器/触摸板128、不可移
动存储器130、可移动存储器132、电源134、全球定位系统(gps)芯片组136和/或其他外围设备138等。应当理解,wtru 102可包括前述元件的任何子组合,同时保持与实施方案一致。
52.处理器118可以是通用处理器、专用处理器、常规处理器、数字信号处理器(dsp)、多个微处理器、与dsp核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(asic)、现场可编程门阵列(fpga)电路、任何其他类型的集成电路(ic)、状态机等。处理器118可执行信号编码、数据处理、功率控制、输入/输出处理和/或任何其他功能,这些其他功能使wtru 102能够在无线环境中工作。处理器118可耦合到收发器120,该收发器可耦合到发射/接收元件122。虽然图1b将处理器118和收发器120描绘为单独的部件,但是应当理解,处理器118和收发器120可在电子封装或芯片中集成在一起。
53.发射/接收元件122可被配置为通过空中接口116向基站(例如,基站114a)传输信号或从基站接收信号。例如,在一个实施方案中,发射/接收元件122可以是被配置为传输和/或接收rf信号的天线。在一个实施方案中,发射/接收元件122可以是被配置为传输和/或接收例如ir、uv或可见光信号的发射器/检测器。在又一个实施方案中,发射/接收元件122可被配置为传输和/或接收rf和光信号。应当理解,发射/接收元件122可被配置为传输和/或接收无线信号的任何组合。
54.尽管发射/接收元件122在图1b中被描绘为单个元件,但是wtru 102可包括任何数量的发射/接收元件122。更具体地讲,wtru 102可采用mimo技术。因此,在一个实施方案中,wtru 102可包括用于通过空中接口116传输和接收无线信号的两个或更多个发射/接收元件122(例如,多个天线)。
55.收发器120可被配置为调制将由发射/接收元件122传输的信号并且解调由发射/接收元件122接收的信号。如上所指出,wtru 102可具有多模式能力。因此,收发器120可包括多个收发器,以便使wtru 102能够经由多种rat(诸如nr和ieee 802.11)进行通信。
56.wtru 102的处理器118可耦合到扬声器/麦克风124、小键盘126和/或显示器/触摸板128(例如,液晶显示器(lcd)显示单元或有机发光二极管(oled)显示单元)并且可从其接收用户输入数据。处理器118还可将用户数据输出到扬声器/麦克风124、小键盘126和/或显示器/触摸板128。此外,处理器118可从任何类型的合适存储器(诸如不可移动存储器130和/或可移动存储器132)访问信息,并且将数据存储在任何类型的合适存储器中。不可移动存储器130可包括随机存取存储器(ram)、只读存储器(rom)、硬盘或任何其他类型的存储器存储设备。可移动存储器132可包括用户身份模块(sim)卡、记忆棒、安全数字(sd)存储卡等。在其他实施方案中,处理器118可从未物理上定位在wtru 102上(诸如,服务器或家用计算机(未示出)上)的存储器访问信息,并且将数据存储在该存储器中。
57.处理器118可从电源134接收电力,并且可被配置为向wtru 102中的其他部件分配和/或控制电力。电源134可以是用于为wtru 102供电的任何合适的设备。例如,电源134可包括一个或多个干电池组(例如,镍镉(nicd)、镍锌(nizn)、镍金属氢化物(nimh)、锂离子(li-ion)等)、太阳能电池、燃料电池等。
58.处理器118还可耦合到gps芯片组136,该gps芯片组可被配置为提供关于wtru 102的当前位置的位置信息(例如,经度和纬度)。除了来自gps芯片组136的信息之外或代替该信息,wtru 102可通过空中接口116从基站(例如,基站114a、114b)接收位置信息和/或基于从两个或更多个附近基站接收到信号的定时来确定其位置。应当理解,在与实施方案保持
一致的同时,该wtru 102可通过任何合适的位置确定方法来获取位置信息。
59.处理器118还可耦合到其他外围设备138,该其他外围设备可包括提供附加特征、功能和/或有线或无线连接的一个或多个软件模块和/或硬件模块。例如,外围设备138可包括加速度计、电子指南针、卫星收发器、数字相机(用于照片和/或视频)、通用串行总线(usb)端口、振动设备、电视收发器、免提耳麦、模块、调频(fm)无线电单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器、虚拟现实和/或增强现实(vr/ar)设备、活动跟踪器等。外围设备138可包括一个或多个传感器,该传感器可为以下一者或多者:陀螺仪、加速度计、霍尔效应传感器、磁力计、方位传感器、接近传感器、温度传感器、时间传感器;地理位置传感器;测高计、光传感器、触摸传感器、磁力计、气压计、手势传感器、生物识别传感器和/或湿度传感器。
60.wtru 102可包括全双工无线电台,对于该全双工无线电台,一些或所有信号的传输和接收(例如,与用于ul(例如,用于传输)和下行链路(例如,用于接收)的特定子帧相关联)可为并发的和/或同时的。全双工无线电台可包括干扰管理单元,该干扰管理单元用于经由硬件(例如,扼流圈)或经由处理器(例如,单独的处理器(未示出)或经由处理器118)进行的信号处理来减少和/或基本上消除自干扰。在一个实施方案中,wtru 102可包括全双工无线电台,对于该全双工无线电台,一些或所有信号的发射和接收(例如,与用于ul(例如,用于发射)和下行链路(例如,用于接收)的特定子帧相关联)可为并发的和/或同时的。
61.图1c是示出根据一个实施方案的ran 104和cn 106的系统图。如上所述,ran 104可采用e-utra无线电技术通过空中接口116与wtru 102a、102b、102c通信。ran 104还可与cn 106通信。
62.ran 104可包括演进节点b 160a、160b、160c,但是应当理解,ran 104可包括任何数量的演进节点b,同时保持与实施方案一致。演进节点b160a、160b、160c各自可包括一个或多个收发器以便通过空中接口116与wtru 102a、102b、102c通信。在一个实施方案中,演进节点b 160a、160b、160c可实现mimo技术。因此,演进节点b 160a例如可使用多个天线来向wtru 102a传输无线信号和/或从wtru 102a接收无线信号。
63.演进节点b 160a、160b、160c中的每一者可与特定小区(未示出)相关联,并且可被配置为处理无线电资源管理决策、切换决策、ul和/或dl中的用户的调度等。如图1c所示,演进节点b 160a、160b、160c可通过x2接口彼此通信。
64.图1c所示的cn 106可包括移动性管理实体(mme)162、服务网关(sgw)164和分组数据网络(pdn)网关(或pgw)166。虽然前述元件中的每一者被描绘为cn 106的一部分,但应当理解,这些元件中的任何元件可由除cn运营商之外的实体拥有和/或操作。
65.mme 162可经由s1接口连接到ran 104中的演进节点b 162a、162b、162c中的每一者,并且可用作控制节点。例如,mme 162可负责认证wtru 102a、102b、102c的用户、承载激活/去激活、在wtru 102a、102b、102c的初始附加期间选择特定服务网关等。mme 162可提供用于在ran 104和采用其他无线电技术(诸如gsm和/或wcdma)的其他ran(未示出)之间进行切换的控制平面功能。
66.sgw 164可经由s1接口连接到ran 104中的演进节点b 160a、160b、160c中的每一者。sgw 164通常可向/从wtru 102a、102b、102c路由和转发用户数据分组。sgw 164可执行其他功能,诸如在演进节点b间切换期间锚定用户平面、当dl数据可用于wtru 102a、102b、
102c时触发寻呼、管理和存储wtru 102a、102b、102c的上下文等。
67.sgw 164可连接到pgw 166,该pgw可向wtru 102a、102b、102c提供对分组交换网络(诸如互联网110)的访问,以促进wtru 102a、102b、102c和启用ip的设备之间的通信。
68.cn 106可有利于与其他网络的通信。例如,cn 106可为wtru 102a、102b、102c提供对电路交换网络(诸如,pstn 108)的访问,以有利于wtru 102a、102b、102c与传统传统陆线通信设备之间的通信。例如,cn 106可包括用作cn 106与pstn 108之间的接口的ip网关(例如,ip多媒体子系统(ims)服务器)或者可与该ip网关通信。另外,cn 106可向wtru 102a、102b、102c提供对其他网络112的访问,该其他网络可包括由其他服务提供商拥有和/或运营的其他有线和/或无线网络。
69.尽管wtru在图1a至图1d中被描述为无线终端,但是可以设想到,在某些代表性实施方案中,这种终端可(例如,临时或永久)使用与通信网络的有线通信接口。
70.在代表性实施方案中,其他网络112可为wlan。
71.处于基础结构基本服务集(bss)模式的wlan可具有用于bss的接入点(ap)以及与ap相关联的一个或多个站点(sta)。ap可具有至分配系统(ds)或将流量携带至和/或携带流量离开bss的另一种类型的有线/无线网络的接入或接口。源自bss外部并通向sta的流量可通过ap到达并且可被传递到sta。源自sta并通向bss外部的目的地的流量可被发送到ap以被传递到相应目的地。bss内的sta之间的流量可通过ap发送,例如,其中源sta可向ap发送流量,并且ap可将流量传递到目的地sta。bss内的sta之间的流量可被视为和/或称为点对点流量。可利用直接链路建立(dls)在源和目的地sta之间(例如,直接在它们之间)发送点对点流量。在某些代表性实施方案中,dls可使用802.11e dls或802.11z隧道dls(tdls)。使用独立bss(ibss)模式的wlan可不具有ap,并且ibss内或使用ibss的sta(例如,所有sta)可彼此直接通信。ibss通信模式在本文中有时可称为“ad-hoc”通信模式。
72.当使用802.11ac基础结构操作模式或相似操作模式时,ap可在固定信道(诸如主信道)上传输信标。主信道可为固定宽度(例如,20mhz宽带宽)或经由信令动态设置的宽度。主信道可为bss的操作信道,并且可由sta用来建立与ap的连接。在某些代表性实施方案中,可例如在802.11系统中实现载波侦听多路访问/冲突避免(csma/ca)。对于csma/ca,sta(例如,每个sta)(包括ap)可侦听主信道。如果主信道被特定sta侦听/检测和/或确定为繁忙,则特定sta可退避。一个sta(例如,仅一个站)可在给定bss中在任何给定时间传输。
73.高吞吐量(ht)sta可使用40mhz宽的信道进行通信,例如,经由主20mhz信道与相邻或不相邻的20mhz信道的组合以形成40mhz宽的信道。
74.极高吞吐量(vht)sta可支持20mhz、40mhz、80mhz和/或160mhz宽的信道。40mhz和/或80mhz信道可通过组合连续的20mhz信道来形成。可通过组合8个连续的20mhz信道,或通过组合两个非连续的80mhz信道(这可被称为80+80配置)来形成160mhz信道。对于80+80配置,在信道编码之后,数据可通过可将数据分成两个流的段解析器。可单独地对每个流进行快速傅里叶逆变换(ifft)处理和时间域处理。可将这些流映射到两个80mhz信道,并且可通过发射sta来传输数据。在接收sta的接收器处,可颠倒上述用于80+80配置的操作,并且可将组合的数据发送到介质访问控制(mac)。
75.802.11af和802.11ah支持低于1ghz的操作模式。相对于802.11n和802.11ac中使用的那些,802.11af和802.11ah中减少了信道操作带宽和载波。802.11af支持电视白空间
(tvws)频谱中的5mhz、10mhz和20mhz带宽,并且802.11ah支持使用非tvws频谱的1mhz、2mhz、4mhz、8mhz和16mhz带宽。根据代表性实施方案,802.11ah可支持仪表类型控制/机器类型通信,诸如宏覆盖区域中的mtc设备。mtc设备可具有某些能力,例如有限的能力,包括支持(例如,仅支持)某些带宽和/或有限的带宽。mtc设备可包括电池寿命高于阈值(例如,以保持非常长的电池寿命)的电池。
76.可支持多个信道的wlan系统以及诸如802.11n、802.11ac、802.11af和802.11ah之类的信道带宽包括可被指定为主信道的信道。主信道可具有等于由bss中的所有sta支持的最大公共操作带宽的带宽。主信道的带宽可由来自在bss中操作的所有sta的sta(其支持最小带宽操作模式)设置和/或限制。在802.11ah的示例中,对于支持(例如,仅支持)1mhz模式的sta(例如,mtc型设备),主信道可为1mhz宽,即使ap和bss中的其他sta支持2mhz、4mhz、8mhz、16mhz和/或其他信道带宽操作模式。载波侦听和/或网络分配向量(nav)设置可取决于主信道的状态。如果主信道繁忙,例如,由于sta(仅支持1mhz操作模式)正在向ap传输,即使大多数频段保持空闲并且可能可用,整个可用频段也可被视为繁忙。
77.在美国,可供802.11ah使用的可用频段为902mhz至928mhz。在韩国,可用频段为917.5mhz至923.5mhz。在日本,可用频段为916.5mhz至927.5mhz。802.11ah可用的总带宽为6mhz至26mhz,具体取决于国家代码。
78.图1d是示出根据一个实施方案的ran 113和cn 115的系统图。如上所指出,ran 113可采用nr无线电技术通过空中接口116与wtru 102a、102b、102c通信。ran 113还可与cn 115通信。
79.ran 113可包括gnb 180a、180b、180c,但是应当理解,ran 113可包括任何数量的gnb,同时保持与实施方案一致。gnb 180a、180b、180c各自可包括一个或多个收发器以便通过空中接口116与wtru 102a、102b、102c通信。在一个实施方案中,gnb 180a、180b、180c可实现mimo技术。例如,gnb 180a、108b可利用波束成形来向gnb 180a、180b、180c传输信号和/或从gnb 180a、180b、180c接收信号。因此,gnb 180a例如可使用多个天线来向wtru 102a传输无线信号和/或从wtru 102a接收无线信号。在一个实施方案中,gnb 180a、180b、180c可实现载波聚合技术。例如,gnb 180a可向wtru 102a(未示出)传输多个分量载波。这些分量载波的子集可在免许可频谱上,而其余分量载波可在许可频谱上。在一个实施方案中,gnb 180a、180b、180c可实现协作多点(comp)技术。例如,wtru 102a可从gnb 180a和gnb 180b(和/或gnb 180c)接收协作传输。
80.wtru 102a、102b、102c可使用与可扩展参数集相关联的传输来与gnb 180a、180b、180c通信。例如,ofdm符号间隔和/或ofdm子载波间隔可因不同传输、不同小区和/或无线传输频谱的不同部分而变化。wtru 102a、102b、102c可使用各种或可扩展长度的子帧或传输时间间隔(tti)(例如,包含不同数量的ofdm符号和/或持续变化的绝对时间长度)来与gnb 180a、180b、180c通信。
81.gnb 180a、180b、180c可被配置为以独立配置和/或非独立配置与wtru 102a、102b、102c通信。在独立配置中,wtru 102a、102b、102c可与gnb 180a、180b、180c通信,同时也不访问其他ran(例如,诸如演进节点b 160a、160b、160c)。在独立配置中,wtru 102a、102b、102c可将gnb180a、180b、180c中的一者或多者用作移动性锚定点。在独立配置中,wtru 102a、102b、102c可在未许可频带中使用信号与gnb 180a、180b、180c通信。在非独立
配置中,wtru 102a、102b、102c可与gnb 180a、180b、180c通信或连接,同时也与其他ran(诸如,enode-b160a、160b、160c)通信或连接。例如,wtru 102a、102b、102c可实现dc原理以基本上同时与一个或多个gnb 180a、180b、180c和一个或多个演进节点b 160a、160b、160c通信。在非独立配置中,演进节点b 160a、160b、160c可用作wtru 102a、102b、102c的移动性锚点,并且gnb 180a、180b、180c可提供用于服务wtru 102a、102b、102c的附加覆盖和/或吞吐量。
82.gnb 180a、180b、180c中的每一者可与特定小区(未示出)相关联,并且可被配置为处理无线电资源管理决策、切换决策、ul和/或dl中的用户的调度、网络切片的支持、双连接、nr和e-utra之间的互通、用户平面数据朝向用户平面功能(upf)184a、184b的路由、控制平面信息朝向接入和移动性管理功能(amf)182a、182b的路由等。如图1d所示,gnb 180a、180b、180c可通过xn接口彼此通信。
83.图1d所示的cn 115可包括至少一个amf 182a、182b、至少一个upf 184a,184b、至少一个会话管理功能(smf)183a、183b以及可能的数据网络(dn)185a、185b。虽然前述元件中的每一者被描绘为cn 115的一部分,但是应当理解,这些元件中的任何元件可由除cn运营商之外的实体拥有和/或操作。
84.amf 182a、182b可在ran 113中经由n2接口连接到gnbs 180a、180b、180c中的一者或多者,并且可用作控制节点。例如,amf 182a、182b可负责认证wtru 102a、102b、102c的用户、网络切片的支持(例如,具有不同要求的不同pdu会话的处理)、选择特定smf 183a、183b、注册区域的管理、nas信令的终止、移动性管理等。amf 182a、182b可使用网络切片,以便基于wtru 102a、102b、102c所使用的服务的类型来为wtru 102a、102b、102c定制cn支持。例如,可针对不同的用例(诸如,依赖超高可靠低延迟(urllc)接入的服务、依赖增强型移动宽带(embb)接入的服务、用于机器类型通信(mtc)接入的服务等)建立不同的网络切片。amf 162可提供用于在ran 113和采用其他无线电技术(诸如lte、lte-a、lte-a pro和/或非3gpp接入技术,诸如wifi)的其他ran(未示出)之间进行切换的控制平面功能。
85.smf 183a、183b可经由n11接口连接到cn 115中的amf 182a、182b。smf 183a、183b还可经由n4接口连接到cn 115中的upf 184a、184b。smf 183a、183b可选择并控制upf 184a、184b,并且配置通过upf 184a、184b进行的流量路由。smf 183a、183b可执行其他功能,诸如管理和分配ue ip地址、管理pdu会话、控制策略实施和qos、提供下行链路数据通知等。pdu会话类型可以是基于ip的、非基于ip的、基于以太网的等。
86.upf 184a、184b可经由n3接口连接到ran 113中的gnb 180a、180b、180c中的一者或多者,这些gnb可向wtru 102a、102b、102c提供对分组交换网络(诸如互联网110)的访问,以促进wtru 102a、102b、102c和启用ip的设备之间的通信。upf 184、184b可执行其他功能,诸如路由和转发分组、实施用户平面策略、支持多宿主pdu会话、处理用户平面qos、缓冲下行链路分组、提供移动性锚定等。
87.cn 115可有利于与其他网络的通信。例如,cn 115可包括用作cn 115与pstn 108之间的接口的ip网关(例如,ip多媒体子系统(ims)服务器)或者可与该ip网关通信。另外,cn 115可向wtru 102a、102b、102c提供对其他网络112的访问,该其他网络可包括由其他服务提供商拥有和/或运营的其他有线和/或无线网络。在一个实施方案中,wtru 102a、102b、102c可通过upf 184a、184b经由至upf 184a、184b的n3接口以及在upf 184a、184b与本地数
据网络(dn)185a、185b之间的n6接口连接到dn 185a、185b。
88.鉴于图1a至图1d以及图1a至图1d的对应描述,本文参照以下中的一者或多者描述的功能中的一个或多个功能或全部功能可由一个或多个仿真设备(未示出)执行:wtru 102a-d、基站114a-b、演进节点b 160a-c、mme 162、sgw 164、pgw 166、gnb 180a-c、amf 182a-b、upf 184a-b、smf 183a-b、dn 185a-b和/或本文所述的任何其他设备。仿真设备可以是被配置为模仿本文所述的一个或多个或所有功能的一个或多个设备。例如,仿真设备可用于测试其他设备和/或模拟网络和/或wtru功能。
89.仿真设备可被设计为在实验室环境和/或运营商网络环境中实现其他设备的一个或多个测试。例如,该一个或多个仿真设备可执行一个或多个或所有功能,同时被完全或部分地实现和/或部署为有线和/或无线通信网络的一部分,以便测试通信网络内的其他设备。该一个或多个仿真设备可执行一个或多个功能或所有功能,同时临时被实现/部署为有线和/或无线通信网络的一部分。仿真设备可直接耦合到另一个设备以用于测试目的和/或可使用空中无线通信来执行测试。
90.该一个或多个仿真设备可执行一个或多个(包括所有)功能,同时不被实现/部署为有线和/或无线通信网络的一部分。例如,仿真设备可在测试实验室和/或非部署(例如,测试)有线和/或无线通信网络中的测试场景中使用,以便实现一个或多个部件的测试。该一个或多个仿真设备可为测试设备。经由rf电路(例如,其可包括一个或多个天线)进行的直接rf耦合和/或无线通信可由仿真设备用于传输和/或接收数据。
91.本技术描述了多个方面,包括手段、特征、示例或示例、模型、方法等。这些方面中的许多方面以特定的方式进行描述,并且至少为了示出个体特征,通常以听起来可能具有限制性的方式来描述。然而,这是为了描述清楚,并不限制这些方面的应用或范围。实际上,所有不同的方面可组合和互换以提供进一步的方面。此外,这些方面也可与较早提交中描述的方面组合和互换。
92.本技术中描述和设想的方面可以许多不同的形式实现。本文所述的图7至图15可提供一些示例,但也设想了其他示例。图7至图15的讨论并不限制具体实施的广度。这些方面中的至少一个方面通常涉及视频编码和解码,并且至少一个其他方面通常涉及发射生成或编码的比特流。这些方面和其他方面可被实现为方法、装置、其上存储有用于根据所述方法中的任一方法对视频数据进行编码或解码的指令的计算机可读存储介质,和/或其上存储有根据所述方法中的任一方法生成的比特流的计算机可读存储介质。
93.在本技术中,术语“重建”和“解码”可以互换使用,术语“像素”和“样本”可以互换使用,术语“图像”、“图片”和“帧”可以互换使用。
94.本文描述了各种方法,并且每种方法可包括用于实现所述方法的一个或多个步骤或动作。除非正确操作方法需要特定顺序的步骤或动作,否则可修改或组合特定步骤和/或动作的顺序和/或用途。另外,在各种示例中,诸如“第一”、“第二”等术语可用于修饰元素、部件、步骤、操作等,诸如“第一解码”和“第二解码”。除非特定需要,否则使用此类术语并不暗示对修改操作的排序。因此,在该示例中,第一解码可以不在第二解码之前执行,并且可例如在第二解码之前、期间或重叠的时间段发生。
95.本技术中描述的各种方法和其他方面可用于修改模块,例如,如图2和图3所示的视频编码器200和解码器300的预编码处理201、图像分区202、量化230、熵编码245、帧内预
测260、熵解码330、分区335、逆量化340、帧内预测360和解码后处理385。此外,本文所公开的主题呈现了不限于vvc或hevc的方面,并且可应用于例如任何类型、格式或版本的视频编码(无论是在标准中描述的还是在建议中描述的,无论是预先存在的还是未来开发的),以及任何此类标准和建议的扩展(例如,包括vvc和hevc)。除非另有指示或技术上排除,否则本技术中所述的方面可单独使用或组合使用。
96.在本技术中描述的示例中使用了各种数值,诸如图9所示的权重矩阵形状、子矩阵形状和连接形状(例如,形状c
输入
=42和c
输出
=21,转换为三(3)个21
×
14子矩阵并且连接成63
×
14形状);图10中的输入信道和矩阵(例如,12个输入信道被拆分为四个形状3k
×c输出
的矩阵)、图12所示的基准统计数据、图13所示的矩阵、集群、码本和异常值(例如,20
×
10矩阵、集群0至3、用两个比特表示每个索引、大小为4
×
10的码本,以及五个异常值行指数索引0、3、9、14、18))等。这些和其他特定值是为了描述示例,并且所描述的方面不限于这些特定值。
97.图2是示出示例性视频编码器的示意图。可以设想示例性编码器200的变化。为了清楚起见,可以在下文描述编码器200,而不描述所有预期的变化。
98.视频序列可经历预编码处理(201),例如,将颜色变换应用于输入彩色图片(例如,从rgb 4:4:4到ycbcr 4:2:0的转换),或执行输入图片分量的重新映射,以便获得对压缩更具弹性的信号分布(例如,使用颜色分量中的一个颜色分量的直方图均衡化)。元数据可与预处理相关联,并且附加到比特流。
99.在编码器200中,图片由编码器元件进行编码,如下所述。可以按例如编码单元(cu)为单位对待编码的图片进行分区(202)和处理。例如,可以使用帧内模式或帧间模式对每个单元进行编码。如果单元以帧内模式进行编码,则编码器可执行帧内预测(260)。在帧间模式中,编码器可执行运动估计(275)和/或补偿(270)。编码器可以决定(205)帧内模式或帧间模式中的哪一者用于对单元进行编码,并且可以通过例如预测模式标志来指示帧内/帧间决策。可以例如通过从图像块减去(210)预测块来计算预测残差。
100.可以对预测残差进行变换(225)和/或量化(230)。对经量化的变换系数、以及运动向量和其他语法元素进行熵编码(245),以输出比特流。编码器可以跳过变换,并且对未变换的残余信号直接应用量化。编码器可以绕过变换和量化两者,即,可以在不应用变换或量化过程的情况下直接对残差进行编码。
101.编码器可以对编码块进行解码以提供用于进一步预测的参考。可以对经量化的变换系数进行去量化(240)和逆变换(250),例如以对预测残差进行解码。组合(255)经解码的预测残差和预测块,可以重建图像块。可以向重建的图片应用环路滤波器(265)以执行例如解块/sao(样本自适应偏移)滤波,以减少编码伪影。经滤波的图像可以被存储在参考图片缓冲器(280)中。
102.图3是示出视频解码器的示例的示意图。在示例性解码器300中,比特流可以由解码器元件解码,如下所述。视频解码器300可以执行与图2中描述的编码过程相反的解码过程。编码器200通常还可执行视频解码作为对视频数据编码的一部分。例如,编码器200可执行本文呈现的视频解码步骤中的一个或多个视频解码步骤。编码器可以例如重建所解码的图像,以相对于以下项中的一者或多者保持与解码器的同步:参考图片、熵编码上下文和/或其他解码器相关状态变量。
103.具体地,解码器的输入包括视频比特流,该视频比特流可由视频编码器200生成。可对比特流进行熵解码(330)以获得变换系数、运动向量和/或其他经编码的信息。图片分区信息可指示如何对图片进行分区。解码器可根据经解码的图片分区信息来对图片进行划分(335)。可以对变换系数进行去量化(340)和逆变换(350)以对预测残差进行解码。组合(355)经解码的预测残差和预测块,可以重建图像块。可从帧内预测(360)或运动补偿预测(即帧间预测)(375)获得(370)预测块。可以向重建图像应用环路滤波器(365)。经滤波的图像可以被存储在参考图片缓冲器(380)中。
104.经解码的图片可经历解码后处理(385),例如,逆颜色变换(例如,从ycbcr 4:2:0到rgb 4:4:4的变换)或执行在预编码处理(201)中执行的重新映射过程的逆重新映射。解码后处理可使用在预编码处理中导出并且在比特流中发信号通知的元数据。
105.本文所述的编码器或解码器可以是示例。可以基于神经网络模型构建一个或多个其他设备(例如,自动驾驶车辆、机器人等)。例如,一个或多个设备可以包括基于神经网络的部件以及/或者可以检测周围的对象。如果一个或多个设备进入环境,则部件可涉及网络参数的更新。
106.图4是示出可在其中实现本文所述的各个方面和示例的系统的示例的示意图。系统400可体现为一种设备,该设备包括下文所述的各种部件并且可被配置为执行本文档中所述方面中的一个或多个方面。此类设备的示例包括但不限于各种电子设备,诸如个人计算机、膝上型计算机、智能电话、平板电脑、数字多媒体机顶盒、数字电视机接收器、个人视频录制系统、连接的家用电器和服务器。系统400的元件可单独地或组合地体现在单个集成电路(ic)、多个ic和/或分立部件中。例如,在至少一个示例中,系统400的处理和编码器/解码器元件可以跨多个ic和/或分立部件分布。在各种示例中,系统400可经由例如通信总线或通过专用输入端口和/或输出端口通信地耦接到一个或多个其他系统或其他电子设备。在各种示例中,系统400可被配置为实现本文档中所述的方面中的一个或多个方面。
107.系统400可包括至少一个处理器410,该至少一个处理器被配置为执行加载到其中的指令,以用于实施例如本文档中所述的各个方面。处理器410可包括嵌入式存储器、输入输出接口和如本领域所已知的各种其他电路。系统400可包括至少一个存储器420(例如,易失性存储器设备和/或非易失性存储器设备)。系统400可包括存储设备440,该存储设备可包括非易失性存储器和/或易失性存储器,包括但不限于电可擦除可编程只读存储器(eeprom)、只读存储器(rom)、可编程只读存储器(prom)、随机存取存储器(ram)、动态随机存取存储器(dram)、静态随机存取存储器(sram)、闪存、磁盘驱动器和/或光盘驱动器。作为非限制性示例,存储设备440可包括内部存储设备、附接存储设备(包括可拆和不可拆的存储设备)和/或网络可访问的存储设备。
108.系统400可包括编码器/解码器模块430,该编码器/解码器模块被配置为例如处理数据以提供编码视频或解码视频,并且编码器/解码器模块430可包括其自身的处理器和存储器。编码器/解码器模块430可表示可被包括在设备中以执行编码功能和/或解码功能的模块。设备可包括编码模块和解码模块中的一者或两者。编码器/解码器模块430可被实施为系统400的独立元件,或者可被结合在处理器410内作为本领域技术人员已知的硬件和软件的组合。
109.要加载到处理器410或编码器/解码器430上以执行本文所述的各个方面的程序代
码可存储在存储设备440中,并且随后加载到存储器420上以供处理器410执行。根据各种示例,处理器410、存储器420、存储设备440和编码器/解码器模块430中的一者或多者可在本文档中所述的过程的执行期间存储各种项目中的一个或多个项目。此类存储项目可包括但不限于输入视频、解码视频或解码视频的部分、比特流、矩阵、变量以及处理等式、公式、运算和运算逻辑的中间或最终结果。
110.在示例中,处理器410和/或编码器/解码器模块430内部的存储器可用于存储指令并且提供用于在编码或解码期间需要的处理的工作存储器。在示例中,处理设备外部的存储器(例如,处理设备可以为处理器410或编码器/解码器模块430)可用于这些功能中的一个或多个功能。外部存储器可为存储器420和/或存储设备440,例如动态易失性存储器和/或非易失性闪存存储器。在示例中,外部非易失性闪存存储器可用于存储例如电视机的操作系统。在示例中,快速外部动态易失性存储器诸如ram可用作视频编码和解码操作的工作存储器,诸如例如mpeg-2(mpeg是指运动图片专家组,mpeg-2也称为iso/iec 13818,并且13818-1也称为h.222,13818-2也称为h.262)、hevc(hevc是指高效视频编码,也称为h.265和mpeg-h部分2)或vvc(通用视频编码,由联合视频专家小组jvet开发的新标准)。
111.如块445所示,可通过各种输入设备提供对系统400的元件的输入。此类输入设备可包括但不限于:(i)接收例如由广播器通过空中发射的rf信号的射频(rf)部分,(ii)部件(comp)输入端子(或一组comp输入端子),(iii)通用串行总线(usb)输入端子,以及/或者(iv)高清多媒体接口(hdmi)输入端子。图4中未示出的其他示例可包括复合视频。
112.在各种示例中,块445的输入设备可具有如本领域中已知的相关联的相应的输入处理元件。例如,rf部分可与适用于以下各项的元件相关联:(i)选择所需频率(也称为选择信号,或将信号频带限制为频带);(ii)下变频所选择的信号;(iii)再次频带限制为较窄频带以选择(例如)在某些示例中可称为信道的信号频带;(iv)解调经下变频的和经频带限制的信号;(v)执行纠错;以及(vi)解复用以选择所需的数据分组流。各种示例的rf部分可包括用于执行这些功能的一个或多个元件,例如频率选择器、信号选择器、频带限制器、信道选择器、滤波器、下变频器、解调器、纠错器和解复用器。rf部分可包括执行这些功能中的各种功能的调谐器,这些功能包括例如下变频接收信号至更低频率(例如,中频或近基带频率)或至基带。在机顶盒示例中,rf部分及其相关联的输入处理元件可接收通过有线(例如,电缆)介质传输的rf信号,并且可通滤波波、下变频和再次滤波到期望频带来执行频率选择。各种示例可重新排列上述(和其他)元素的顺序,移除这些元素中的一些元素,以及/或者添加执行类似或不同功能的其他元素。添加元素可包括在现有元素之间插入元素,例如,插入放大器和模数变换器。在各种示例中,rf部分可包括天线。
113.此外,usb和/或hdmi端子可包括用于跨usb和/或hdmi连接将系统400连接到其他电子设备的相应接口处理器。应当理解,输入处理(例如,reed-solomon纠错)的各个方面可根据需要在例如单独的输入处理ic内或在处理器410内实现。类似地,usb或hdmi接口处理的各方面可根据需要在单独的接口ic内或在处理器410内实现。可以将解调流、纠错流和解复用流提供给各种处理元件,包括例如与存储器和存储元件结合操作以根据需要处理数据流以呈现在输出设备上的处理器410以及编码器/解码器430。
114.系统400的各种元件可设置在集成壳体内。在集成壳体内,各种元件可使用合适的连接布置425(例如,本领域已知的内部总线,包括芯片间(i2c)总线、布线和印刷电路板)互
连并且在这些元件之间传输数据。
115.系统400可包括能够经由通信信道460与其他设备通信的通信接口450。通信接口450可包括但不限于被配置为通过通信信道460发射和接收数据的收发器。通信接口450可包括但不限于调制解调器或网卡,并且通信信道460可例如在有线和/或无线介质内实施。
116.在各种示例中,可以使用无线网络诸如wi-fi网络例如ieee 802.11(ieee是指电气和电子工程师协会)将数据流式传输或以其他方式提供给系统400。这些示例的wi-fi信号可通过适于wi-fi通信的通信信道460和通信接口450来接收。这些示例的通信信道460通常可以连接到接入点或路由器,该接入点或路由器提供对包括互联网的外部网络的接入,以允许流式应用和其他跨顶通信。其他示例可以使用机顶盒向系统400提供流式数据,该机顶盒通过输入块445的hdmi连接来递送数据。另外一些示例可以使用输入块445的rf连接来向系统400提供流式数据。如上所述,各种示例可以非流式方式提供数据。另外,各种示例可以使用wi-fi之外的无线网络,例如蜂窝网络或蓝牙网络。
117.系统400可以向各种输出设备(包括显示器475、扬声器485和其他外围设备495)提供输出信号。各种示例的显示器475包括例如触摸屏显示器、有机发光二极管(oled)显示器、曲面显示器和/或可折叠显示器中的一者或多者。显示器475可用于电视机、平板电脑、膝上型电脑、移动电话(移动电话)或其他设备。显示器475可以与其他部件集成在一起(例如,如在智能电话中),或者是单独的(例如,笔记本的外部监视器)。在示例的各种示例中,其他外围设备495可包括独立数字视频光盘(或数字通用光盘)(dvr,对于这两个术语)、盘播放器、立体声系统和/或照明系统中的一者或多者。各种示例可使用一个或多个外围设备495,该一个或多个外围设备提供基于系统400的输出的功能。例如,盘播放器可执行播放系统400的输出的功能。
118.在各种示例中,可以使用诸如av.link、消费电子控制(cec)或其他能够在有或无用户干预的情况下进行设备到设备控制的通信协议的信令在系统400与显示器475、扬声器485或其他外围设备495之间传送控制信号。输出设备可通过相应的接口470、480和490经由专用连接通信地耦接到系统400。另选地,输出设备可使用通信信道460经由通信接口450连接到系统400。显示器475和扬声器485可与电子设备(例如电视)中的系统400的其他部件集成在单个单元中。在各种示例中,显示接口470可包括显示驱动器,诸如时序控制器(t con)芯片。
119.如果输入445的rf部分是单独的机顶盒的一部分,则显示器475和扬声器485可以与其他部件中的一个或多个部件分开。在显示器475和扬声器485为外部部件的各种示例中,输出信号可经由专用输出连接(包括例如hdmi端口、usb端口或comp输出)来提供。
120.这些示例可通过由处理器410实现的计算机软件或通过硬件或通过硬件和软件的组合来执行。作为非限制性示例,这些示例可由一个或多个集成电路来实现。存储器420可为适合技术环境的任何类型,并且作为非限制性示例,可使用任何适当的数据存储技术来实现,诸如光学存储器设备、磁存储器设备、基于半导体的存储器设备、固定存储器和可移动存储器。处理器410可以为适合技术环境的任何类型,并且作为非限制性示例,可涵盖微处理器、通用计算机、专用计算机和基于多核架构的处理器中的一者或多者。
121.各种具体实施可涉及解码。如本技术中所用,“解码”可涵盖例如对所接收的编码序列执行的过程中的一个或多个(例如,全部或部分)过程,以便产生适于显示的最终输出。
在各种示例中,此类过程可包括由解码器执行的过程中的一个或多个过程,例如熵解码、逆量化、逆变换和/或差分解码。在各种示例中,此类过程可以包括由本技术中描述的各种具体实施的解码器执行的过程,例如,获得具有与具有第一维数的权重矩阵相关联的经量化的nn层的压缩nn模型;获得原始或未压缩的权重矩阵形状的权重矩阵形状(例如,在信号安排元数据中);对集群内部值和集群异常值进行解码;(例如,通过增加维数)将权重矩阵重新整形/恢复为原始或未压缩的形状;以及基于具有内部值和异常值的重新整形的权重矩阵对nn层进行解码等。
122.在示例中,在一个示例中,解码可以指熵解码。在示例中,解码可以指差分解码。在示例中,解码可以指熵解码和差分解码的组合。短语“解码过程”是指代操作的子集还是指更广泛的解码过程基于具体描述的上下文将是清楚的,并且据信将被本领域的技术人员很好地理解。
123.各种具体实施可涉及编码。以与上面关于“解码”的讨论类似的方式,如在本技术中使用的“编码”可涵盖例如对输入视频序列执行以便产生编码比特流的过程中的一个或多个(例如,全部或部分)过程。在各种示例中,此类过程可包括由编码器执行的过程中的一个或多个过程,例如分区、差分编码、变换、量化和/或熵编码。在各种示例中,此类过程可以包括由本技术中描述的各种具体实施的编码设备诸如编码器执行的过程,例如,获得包括与权重矩阵相关联的nn层的nn模型;识别权重矩阵的维数;重新成形、展平或重新排列权重矩阵(例如,以减少权重矩阵的维数);从集群中识别和分离异常值,基于重新整形的权重矩阵和集群内部值对nn层进行编码(例如,包括量化,诸如通过标量量化或向量量化);基于重新整形的权重矩阵执行预测,传输权重矩阵的排列信息(例如,原始维数和重新整形的维数)、异常值信息、预测信息,以及比特流中的权重矩阵的编码信息等。
124.作为另外的示例,在示例中,编码可以指熵编码。在示例中,编码可以指差分编码。在示例中,编码可以指差分编码和熵编码的组合。短语“编码过程”可以是指代操作的子集还是指更广泛的编码过程基于具体描述的上下文将是清楚的,并且据信将被本领域的技术人员很好地理解。
125.需注意,如本文所用的语法元素,例如排列元数据、内部值、异常值、异常值索引、码本、代码索引、输出文件、压缩文件等是描述性术语。因此,它们可不排除使用其他语法元素名称。
126.如果附图呈现为流程图,应当理解,其还提供了对应装置的框图。类似地,如果附图呈现为框图,应当理解,其还提供了对应的方法/过程的流程图。
127.各种示例可涉及率失真优化。在编码过程期间,可以考虑率和失真之间的平衡或权衡,这常常考虑到计算复杂性的约束。可以将率失真优化公式化。例如,率失真优化可以被公式化为最小化率失真函数。率失真函数可以是率和失真的加权和。可以基于对一个或多个(例如所有)编码选项的广泛测试来优化率失真,包括一个或多个(例如所有)所考虑的模式或编码参数值,并且对其编码成本和编码和解码后的重建信号的相关失真进行完整评估。更快的方法可用于降低编码复杂性,特别是对基于预测或预测残差信号而不是重建的残差信号的近似失真的计算。可以使用这两种方法的混合,诸如通过针对可能的编码选项中的仅一些编码选项使用近似失真,而针对其他编码选项使用完全失真。其他方法可评估可能的编码选项的子集。更一般地,许多方法可以采用各种技术中的任一种来执行优化,但
是优化可能无法完成对编码成本和/或相关失真的评估。
128.本文所述的具体实施和方面可在例如方法或过程、装置、软件程序、数据流或信号中实现。即使仅在一种形式的具体实施的上下文中进行讨论(例如,作为方法讨论),所讨论的特征的具体实施可以其他形式(例如,装置或程序)实施。装置可在例如适当的硬件、软件和固件中实施。这些方法可在例如处理器中实现,该处理器通常指处理设备,包括例如计算机、微处理器、集成电路或可编程逻辑设备。处理器可包括通信设备,诸如计算机、蜂窝电话、便携式/个人数字助理(pda),以及有利于最终用户之间的信息通信的其他设备。
129.对“一个示例”、“示例”、“一个实施方案”、“实施方案”、“一个具体实施”或“具体实施”以及它们的其他变型的引用意指结合该示例描述的特定特征、结构、特性等包括在至少一个示例中。因此,短语“在一个实施方案中”、“在实施方案中”、“在示例中”、“在一个示例中”、“在一个具体实施中”或“在具体实施中”的出现,以及出现在本技术通篇的各个部分的任何其他变型不一定都是指相同的示例。
130.附加地或另选地,本技术可涉及“确定”各种信息。确定信息可包括例如估计信息、计算信息、预测信息或从存储器检索信息中的一者或多者。获得可包括接收、检索、构造、生成和/或确定。
131.此外,本技术可涉及“访问”各种信息。访问信息可包括例如接收信息、(例如,从存储器)检索信息、存储信息、移动信息、复制信息、计算信息、确定信息、预测信息或估计信息中的一者或多者。
132.另外,本技术可涉及“接收”各种信息。与“访问”一样,接收可旨在作为广义的术语。接收信息可包括例如(例如,从存储器)访问信息或检索信息中的一者或多者。此外,在诸如存储信息、处理信息、发射信息、移动信息、复制信息、擦除信息、计算信息、确定信息、预测信息和/或估计信息的操作期间,“接收”可以一种方式或另一种方式参与。
133.应当理解,例如,在“a/b”、“a和/或b”以及“a和b中的至少一者”的情况下,使用以下“/”、“和/或”和“至少一种”中的任一种可旨在涵盖仅选择第一列出的选项(a),或仅选择第二列出的选项(b),或选择两个选项(a和b)。作为进一步的示例,在“a、b和/或c”和“a、b和c中的至少一者”的情况下,此类短语旨在涵盖仅选择第一列出的选项(a),或仅选择第二列出的选项(b),或仅选择第三列出的选项(c),或仅选择第一列出的选项和第二列出的选项(a和b),或仅选择第一列出的选项和第三列出的选项(a和c),或仅选择第二列出的选项和第三列出的选项(b和c),或选择所有三个选项(a和b和c)。如对于本领域和相关领域的普通技术人员显而易见的是,这可扩展到所列出的尽可能多的项目。
134.此外,如本文所用,词语“发信号通知”是指(除了别的以外)向对应的解码器指示某物。例如,在一些示例中,编码器信号(例如,至解码器)排列元数据、异常值信息(例如,异常值、异常值索引)、量化信息(例如,码本、编码索引)、预测信息(例如,在输出文件或压缩文件中)等。这样,在示例中,可以在编码器侧和/或解码器侧使用相同的参数。例如,编码器可以向解码器传输(例如,显式信令)特定参数。解码器可以使用相同的特定参数。相反,如果解码器具有特定参数以及其他参数,则可在不传输(例如隐式信令)的情况下使用信令,以允许解码器知道和选择特定参数。通过避免传输任何实际函数,在各种示例中可实现比特节省。应当理解,信令可以多种方式实现。例如,在各种示例中,使用一个或多个语法元素、标志等向对应的解码器发信号通知信息。虽然前面涉及词语“signal(发信号通知)”的
动词形式,但是词语“signal(信号)”在本文也可以用作名词。
135.对于本领域的普通技术人员将显而易见的是,具体实施可产生格式化为携带例如可存储或可传输的信息的各种信号。信息可包括例如用于执行方法的指令或由所述具体实施中的一个具体实施产生的数据。例如,信号可格式化为携带所述示例的比特流。此类信号可格式化为例如电磁波(例如,使用频谱的射频部分)或基带信号。格式化可包括例如对数据流进行编码并且使用经编码的数据流调制载体。信号携带的信息可为例如模拟或数字信息。如已知的,信号可通过多种不同的有线或无线链路传输。信号可存储在处理器可读介质上。
136.神经网络(nn)可用于人工智能(ai)相关应用。神经网络模型可以被压缩,例如用于多媒体信号处理相关应用,诸如视觉对象分类、视频摘要、图像压缩、声学场景分类等。神经网络(例如,用于不同应用的受过训练的神经网络)可以被存储和/或传输,例如,以实现各种应用。压缩的nn表示(nnr)可以提供例如有效编码的、可解释的和/或可互操作的受过训练的nn的表示。
137.nn模型可以包括一个或多个层。nn层的类型(例如,在多媒体信号处理相关应用的压缩的nnr中)可以包括例如卷积nn(cnn)层、全连接(fc)层和/或偏置层。受过训练的nn模型可以例如由用于cnn、fc和/或偏置层的权重张量(例如,矩阵,诸如多维矩阵)表示。
138.在nn公式的示例中,参数l可以表示层数,{w1,...,w
l
}可以表示权重矩阵,{b1,...,b
l
}可以表示偏置,并且{g1,...,g
l
}可以表示非线性。例如,可以根据等式(1)写入第k层的输出yk
+1
(例如,基于权重、偏置和/或非线性):
139.y
k+1
=gk(wkyk+bk)(1)
140.其中y1=x可以是深度神经网络(dnn)的输入。深度可以指来自不同层的权重矩阵的维度(例如,列数和/或行数)。dnn可以是或可以包括深度可能很大(例如,非常大,诸如数百)的nn。
141.层可以被表示为权重张量(例如,矩阵,诸如多维矩阵),该权重张量可以用核矩阵/张量、输入特征或信道的数量和/或输出特征或信道的数量进行参数化。核可以是具有(例如,有限的)大小(例如,3
×
3、5
×
5、3
×3×
3等)的权重矩阵/张量。例如,如果进行卷积或者如果对(例如,高)维度输出数据/信号(例如,来自先前的nn层或输入信号,诸如原始输入信号)进行过滤,核可以覆盖矩阵/张量大小的(例如,局部)邻域。表1示出了来自不同类型的nn层的不同种类或类型的权重矩阵/张量的示例性分类。
142.表1-不同类型的nn层的权重张量维度的示例
143.输入信号类型层类型权重张量维度3d信号:视频/点云卷积k1×
k2×
k3×c输入
×c输出
2d信号:图像卷积k1×
k2×c输入
×c输出
1d信号:音频卷积k1×c输入
×c输出 全连接c
输入
×c输出 偏置c
输出
144.k1、k2和k3可以表示卷积核的维度。c
输入
和c
输出
可以分别表示输入和输出特征或信道的数量。在示例中,权重系数可以被存储为例如32比特浮点数。在示例中,权重系数的值可以在-1和+1之间。在示例中,该值可以不在(例如,超出)范围-1至+1。权重张量可以是数
据对象或要针对nnr压缩的信号。
145.nnr相关操作可以包括例如网络修剪、稀疏性正则化、权重张量压缩和/或熵编码。
146.网络修剪可以包括或可以通过例如经由蒸馏和/或权重修剪,例如将网络(例如,原始网络)转移到另一个(例如,较小的)(例如,具有等效或类似的分类能力和性能的)nn架构来实施。修剪网络可以被重新训练,例如,为了修剪网络的性能(例如,以保持和/或校正性能)。
147.例如,稀疏正则化可以增加权重张量的稀疏性(例如,在训练过程中)。例如,可以通过就训练损失引入附加的稀疏性正则化项来实施稀疏性正则化。
148.权重张量压缩可以包括或者可以通过例如以下项中的一者或多者来实施:矩阵分解、变换编码、标量量化和/或向量量化。
149.矩阵分解可以包括或者可以通过例如使用一种或多种类型的矩阵分解诸如奇异值分解(svd),例如将权重张量排列为矩阵并且将矩阵转换为较小的矩阵来实施。
150.变换编码可以包括或者可以(例如,在量化之前)通过例如将权重变换到频域来实施。
151.标量量化可以包括或者可以通过例如将权重张量视为实值列表以及/或者例如通过将标量点聚类成(例如,若干)集群来生成码本来实施。权重可以被量化到例如集群中心(例如,到最近的集群中心)。
152.用于权重张量压缩的向量量化可以将权重矩阵排列为向量列表(例如,多维点)以及/或者例如通过将点聚类为若干集群来生成码本。标量量化例如可以是一种向量量化,其中维度可以是一个。
153.熵编码可以包括或者可以通过例如执行压缩(例如,进一步压缩,诸如在后续步骤或最终步骤中)来实施。
154.标量量化和/或向量量化可以(例如,用于)压缩nn(例如,cnn)参数。神经网络参数中可存在冗余。可以通过网络参数的子集(例如,小子集,诸如5%)来预测(例如,准确预测)层内的权重。基于k-均值的量化(例如,包括标量量化和向量量化)可以减少冗余并且压缩权重张量。标量量化可以量化一维张量。标量量化可以(例如,用于)通过(例如,首先)将多维张量展平为一维张量来量化多维张量。量化错误(例如,用于基于聚类的量化)可能影响性能。hessian加权k-均值聚类可以(例如,用于)网络参数的聚类,例如,以减少量化误差。例如,基于k-均值的标量量化可以在全连接层上实现8至16倍的压缩率(例如,其中较小的前5的准确度下降在0.5%以内)。标量量化可以将多维张量展平为一维张量。例如,可以为展平的多维张量的每个值存储索引。不同的滤波器和特征信道之间可存在冗余(例如,显著的冗余)。向量量化可以将权重张量排列成多维向量,这可以减少存储索引所需的空间(例如,如果将多维张量展平为一维张量以进行标量量化)。
155.向量量化可以压缩nn,例如高达24倍(例如,同时保持前5的准确度下降在1%以内)。向量量化(例如,通用向量量化)可以利用随机点阵量化。压缩模型的失真可以与待压缩的nn模型/nn层无关,例如,基于使用均匀随机抖动的向量量化。对于有限维度,在一个失真级别,率-失真界限之间的差可以例如小于或等于每样本0.754比特。修剪可以产生例如10倍的压缩比。具有随机点阵量化的向量量化可以(例如,进一步)产生压缩比,例如高达50倍,但准确度损失很小。标量量化和向量量化可以减少存储器使用并且可以例如通过在计
算期间使用(例如,直接使用)码本和索引来降低推断期间的计算复杂性。在示例中,与未压缩的nn模型的处理时间和运行时存储器相比,使用标量量化和/或向量量化的nnr模型(例如,如本文所述)可以例如使用四分之一的运行时存储器将处理时间减少至四分之一。
156.图5示出了神经网络编解码器的示例,例如可以提供神经网络压缩的nnr编解码器。提供数字1至6以供参考。数字1和2可以分别指示用于一种或多种类型的参数减少(例如,稀疏性和/或矩阵分解)的输入和输出,这可以作为输入神经网络上的预处理步骤来实施。数字3至6可以指示其他处理步骤的输入和/或输出。例如,数字3可以指提供给参数逼近器的输入。数字4可以指编码器的输入(诸如可包括码本、步长等的元数据)。数字5可以指提供给解码器的编码比特流。数字6可以指解码重建的输出。编码和解码(例如,如图5所示)可以表示熵编解码器。
157.处理流水线可以使用nn模型。nn模型可以是nn层的集合(例如,具有特定架构)。nn模型可以接收一个或多个输入(例如,图像/视频、点云、音频等)以及/或者可以产生一个或多个输出(例如,输入信号的增强版本、输入的分类类别等)。nn层可以具有输入和输出。
158.nn模型可以在多个(例如,两个)阶段中实施。第一阶段可以是训练阶段,该训练阶段可以被实施以确定用于nn模型的参数。在示例中,可以针对架构实施nn模型。nn模型参数可以通过训练例如通过训练数据集来确定。(例如,对于受过训练的nn模型)操作的第二阶段可以是测试或推断阶段。可以在一个阶段实施神经网络模型,例如,其中神经网络模型可以被视为求解器。在示例中,可以将nn模型过拟合到特定输入的方式来执行训练阶段。在训练阶段获得的nn模型参数可以是产生输出的副产物,并且可能不适用于推断阶段。在示例中,训练和推断阶段可以交错,这可以被称为在线学习。mpeg nnr(例如,nn模型的压缩)可以例如在多个(例如,两个)阶段和/或在单个阶段(例如,在线学习,诸如细化nn模型参数)中实施。
159.图6示出了以3d排列的cnn层的示例。cnn层可包括卷积核(例如,可由其定义)、输入信道和输出信道的数量以及卷积滤波器的深度。卷积核可以由宽度和高度定义,宽度和高度可被称为超参数。输入信道和输出信道可被称为超参数。卷积滤波器的深度(例如,输入信道的数量)可以等于输入特征图的信道数量(例如,深度)。例如,如果输入信道/输出信道的数量不等于一(1),则核可被称为张量。核可以对应于神经元的3d体积。
160.标量量化和向量量化可以是nn压缩中的有效量化。在用于nn压缩的标量量化和向量量化的示例中,权重张量可以被视为d维点的列表。这些点可以被聚集成一个或多个集群。点可以用集群的中心来表示。权重张量可以由聚类中心的码本和记录一个(例如,每个)点的对应的聚类中心的索引列表来表示。压缩率可以通过集群的数量来控制。nn的失真可取决于例如集群的数量和聚类方法。
161.基于k-均值的方法可用于权重张量的聚类。基于k-均值的方法可能对异常值敏感。异常值可以使集群的中心偏斜(例如,远离组成部分)并且可导致(例如,大的)量化误差。集群中的异常值可引起/呈现nn权重量化中的nn失真。可以在聚类之前处理异常值(例如,无论所选择的聚类方法如何)以例如减少量化误差。
162.向量量化可以量化层。例如,向量量化可以量化全连接层,例如,其中主要参数可以表示为二维矩阵。某些类型的层诸如cnn层的较高维度的权重张量可涉及将权重重新排列为二维矩阵,其中矩阵的行/列表示一个点。基于聚类的方法可尝试找到点之间的相关
性,例如以减少数据之间的冗余。可以排列矩阵。例如,矩阵的排列可以导致在转换为二维矩阵之后的行/列之间的相关性(例如,大相关性)。
163.例如,可以通过分离和/或移除异常值来执行基于聚类的量化(例如,基于分层或k-均值聚类的量化)。如本文所公开的,基于聚类的量化可以解决cnn层的张量排列并且/或者可以减少异常值对聚类的影响(例如,在nn权重的标量量化和/或向量量化期间)。例如,可以分析nn权重的分布以将异常值与内部值分开。在示例中,可以移除检测到的异常值。在示例中,异常值和内部值可以被分类为(例如,两个)非重叠类别。例如,在nn权重的标量量化和向量量化中的聚类期间,可以对异常值和内部值类别执行基于k-均值的过程。
164.nn模型可以是一种用于处理视频、音频、医疗、语音等的nn模型。nn模型可以表示例如数据模型、包括参数和/或函数的数学模型等。
165.例如,基于聚类的量化可以检测权重张量中的异常值以及/或者可以对异常值和其余权重(例如,内部值)进行编码。权重张量和权重矩阵在本文中可互换使用。
166.权重重新排列方法可以为nn层(例如,对于cnn层)重新排列权重。(例如,用于cnn层的)核可以被展平为向量。例如,可以通过在聚类期间将跨信道的一个或多个核视为一个点来保持核之间的相关性。
167.网络权重可以重新排列为较低维度(例如,2d或1d)的矩阵,例如对于cnn层的较高维度的权重张量。例如,可以对多维矩阵逐行(或逐列)执行向量量化。该排列可以导致所得矩阵中的行向量(或列向量)之间的相关性。
168.nn模型层可以基于重新排列、重新整形或展平(例如,减少维数)的权重张量/矩阵进行编码。集群内部值和异常值可以分开编码。如本文所用,编码可以包括量化,诸如标量量化和/或向量量化。nn层可以包括例如卷积nn层、全连接层或偏置层。
169.图7示出了移除异常值的基于聚类的量化的示例。基于聚类的量化可以例如通过展平或重新排列权重矩阵/张量的维数对nn层中的权重矩阵/张量重新整形,这样可以减少权重矩阵/张量的维数。维数可以从多维减少到较低维度(例如,4d至3d、4d至2d、3d至2d、2d至1d、3d至1d、4d至1d等)。输入权重张量可以重新排列为一个或多个子矩阵,例如,形状为n
×dt
,以执行基于聚类的量化。子矩阵可以具有不同的形状。例如,d
t
子矩阵之间可以不同或变化。张量排列可以与压缩(例如,压缩的性能)相关联。输入张量的排列可以基于输入层的类型。矩阵可以被视为中的n点。
170.可以执行异常值检测过程。例如,异常值检测可以识别/检测异常值。检测到或识别到的异常值可以被发送至编码设备,诸如编码器,用于编码和/或压缩。内部值可以表示不是异常值的权重。其余的点(例如,非异常值或内部值)可以被提供给标量量化过程或向量量化过程以进行量化。例如,如果其余的点是一维标量(例如,d
t
=1),则可以使用标量量化(例如,如图7所示)对其余的点进行量化。例如,如果其余的点是多维标量(例如,d
t
》1),则可以使用向量量化对其余的点进行量化。例如,可以组合异常值和量化结果以形成输出比特流。例如,输出比特流可以包括积分量化(例如,对内部值和异常值的量化进行积分)和/或权重张量的积分输出。例如,参考图2中所示的示例性编码器可以观察到,图7中所示的基于聚类的量化可以在熵编码之后进行,可以生成表示加权张量的编码比特流。编码比特流(例如,包括权重矩阵的原始维数和减少的维数的指示)可以被提供给编码设备,诸如解码器。
171.图8示出了逆量化的示例。解码器(诸如图3所示的示例性解码器,如图8所示操作)可以获得包括与权重矩阵/张量相关联的经量化的nn层的压缩nn模型。解码可以从压缩的nn模型输入中提取排列元数据信息。压缩的nn模型输入可以是压缩的比特流。压缩的nn模型输入可以是文件的形式(例如,包括由图7中所示的量化过程创建的压缩的权重张量的输出),用于接收或获得原始或未压缩的权重张量(例如,至原始维数,以及/或者至权重张量的原始维度,诸如,k1×
k2或k1×
k2×
k3)的形状(例如,维数)和张量排列信息。解码可基于可包括原始数量的行和列的原始或未压缩形状对编码的权重矩阵/张量重新整形。在示例中,维数可以例如通过从较低维度增加至较高维度(例如,3d至4d、2d至4d、2d至3d、1d至2d、1d至3d、1d至4d等)来重建。可以基于重新整形的权重矩阵对nn层进行解码。子矩阵在权重张量中的位置可以例如基于权重矩阵/张量的形状和拆分信息导出。
172.例如,子矩阵在权重张量中的位置可以通过对排列过程的逆操作来导出。可以基于或通过使用例如码本和码索引来恢复(例如,恢复到形状矩阵)子矩阵的内部值(例如,存储在压缩的比特流中,诸如压缩文件或输出文件)。内部值可以表示在移除异常值(例如,不作为异常值移除)之后剩余的一个或多个(例如,所有)权重。
173.标量量化可以将权重张量重新排列为一维标量。向量量化可以将权重张量重新排列为一个或多个矩阵。
174.权重张量可以具有形状。权重张量(例如,赋予形状)可以被展平以及/或者可以被重新整形为矩阵,诸如中的矩阵w。参数n可以是张量中元素的数量。标量量化可以将n元素聚类成k集群,例如,根据等式(2):
[0175][0176]
参数δ
ij
可以是指示原始权重wi是否属于集群j的二进制值。参数cj(例如,可以是或者可以包括集群的代码。例如基于对g的选择,参数cj可以被定义为质心或中值。在示例中,例如,如果g是将集群中的一个或多个(例如,所有)点(例如,内部值)转换和/或映射到点的函数,则可以是集群的中心。参数h可以是值(例如,原始值)与集群中心之间的距离的量度。
[0177]
标量量化可以将权重张量重新排列为一维标量。向量量化可以重新排列权重张量以形成形状的一个或多个矩阵n
×dt
。点可以是d
t
维向量(例如,而不是标量)。例如考虑维数的差异,向量量化可以根据等式(2)来制定。向量量化可以通过聚类诸如k-均值聚类来解决。在示例中(例如,使用k-均值聚类),参数cj可以是集群的质心,并且参数h可以是欧几里德距离。
[0178]
在聚类期间识别的聚类中心的集合可用于形成码本。矩阵中的值可以被量化到其对应的集群中心。量化的权重张量可以用码本表示,例如,形状为k
×dt
,其中n整数值(例如,范围从0至k-1)可以指示码本中针对矩阵中的元素的对应代码的索引。索引可以用log(k)比特量化。
[0179]
可以重新布置矩阵或张量。在示例中,多维张量诸如形状为c
输入
×c输出
的二维张量(或矩阵),可以将原始矩阵拆分为多个子空间。矩阵可以被划分为m子空间,例如,沿c
输出
的轴线,具有维度d
t
(t=1,2,

,m),其中图9示出了用于向量量化的二维
权重的示例性张量重新排列。原始权重张量(例如,如图9所示)可以具有形状c
输入
=42和c
输出
=21。例如,原始权重张量可被转换为三(3)个子矩阵,其中d
t
=14(t=1,2,3)。矩阵可以(例如,附加地或另选地)被拆分成两个或更多个子矩阵,例如,沿c
输入
的轴线。向量量化可以在子空间中执行,例如,在拆分之后。可以量化子空间(例如,单独量化)。子空间可以具有相同的维度。例如,如果子空间具有相同的维度,则可以组合子空间。例如,可以将形状为21
×
14的三个子矩阵(例如,具有两个维度的张量)连接成形状为63
×
14的矩阵并且可以将其量化,例如一起量化。
[0180]
权重张量(例如,对于卷积层)对于1d信号可具有三个维度,对于2d信号具有四个维度,并且对于3d信号具有五个维度。由向量量化提供的压缩性能可以与向量之间的相关性相关或基于向量之间的相关性。例如,可以评估和/或选择权重张量排列以利用向量之间的相关性。例如,张量的排列(例如第一排列)可以提供优于另一种排列(例如张量的第二排列)的不同压缩性能。滤波器和特征信道之间可存在冗余。例如,可以通过排列cnn层的权重以将一个或多个滤波器视为向量进行向量量化来保持滤波器之间的相关性。
[0181]
在示例中(例如,对于张量大小为k
×c输入
×c输出
的1d卷积层),张量可以被拆分为m子空间。例如,张量可以沿输入信道(例如,c
输入
维度)被拆分为m子空间。将张量拆分为子空间可以提供大小为k
×dt
×c输出
的m张量,其中例如,对于m张量中的每一个张量,可以将多个维度(例如,前两个维度)展平,以形成维向量(例如,kd
t
维向量)。例如在转置之后,维向量可以提供矩阵(例如,kdt
×c输出
矩阵)。一个或多个d
t
滤波器可以共享相同的代码索引,这可减少用于存储代码索引的存储器。图10a至图10c示出了示例性1-d卷积张量排列。例如,具有12个输入信道的1d卷积层(例如,如图10a所示)可以被拆分为四个形状3k
×c输出
的矩阵(例如,如图10b所示)。三个滤波器可以共享相同的代码索引。如图10b所示,滤波器1至滤波器3可以共享相同的代码索引,接下来的三个滤波器可以共享一个代码索引,等等。例如,如果四个矩阵被分别量化,则可以获得四个码本。矩阵可以连接(例如,连接在一起),例如,如图10c中的示例所示。四个矩阵可以共享相同的码本,并且可以例如通过将矩阵组合(例如,连接)在一起来减少用于码本存储的存储器。例如,可以针对组合矩阵扩大码本,以提供或保持量化准确度。可以(例如,附加地或另选地)沿输出信道例如c
输出
进行拆分。向量量化可以在子矩阵上进行,例如独立地/单独地或者对组合矩阵进行。
[0182]
在示例中(例如,对于张量大小为k1×
k2×c输入
×c输出
的2d卷积层),张量可以被排列成形状为k1k2×c输入
×c输出
的三维张量。在示例中(例如,对于张量大小为k1×
k2×
k3×c输入
×c输出
的3d卷积层),张量可以重新排列为形状为k1k2k3×c输入
×c输出
的三维张量。高维张量可以被转换为三维,例如,如本文所述。权重量化可以应用于转换的三个维度,类似于本文针对张量的1d卷积层描述的权重量化。
[0183]
例如,可以基于可以存储在文件(例如,图7中引用的输出文件或图8中引用的压缩文件)中的排列元数据信息来恢复排列。元数据信息例如可以包括以下项中的一者或多者:权重张量的原始形状;整数,该整数可以指示张量沿着拆分的轴的索引;整数列表,该整数列表可以指定沿轴线的拆分,例如,d
t
(t=1,2,

,m);等等。整数列表可以指定相等的拆分,例如,d0=d1=

=dm。相等拆分可以由表示相等拆分的维度的整数来表示。可以存储具有指定维度的、拆分不均的张量的不相等的剩余部分(例如,张量可被均匀拆分之后的一行或多行的剩余部分)(例如,存储为第一个或最后一个),并且可以从形状和指定维度导出形
状。
[0184]
可以对权重张量或矩阵应用预测性编码方法。展平为2d权重矩阵的权重张量(例如,矩阵)可以被视作或视为一种图像。在示例中,图像格式的权重矩阵可以具有例如代替三个分量或除三个分量之外的分量,诸如图像中的rgb或yuv分量。图像格式的权重矩阵可以具有特定的或所选择的范围的值,而不是例如图像的8比特、10比特、12比特、24比特或其他深度。可以使用/采用图像/视频编码中使用的预测性编码方法来表示权重矩阵,例如,通过将权重矩阵视作/视为图像。
[0185]
在示例中,权重矩阵可以被分区为权重块。先前编码的权重块可用于例如以类似于帧内预测模式的方式,例如在mpegavc、hevc和/或vvc中预测当前权重块。
[0186]
在示例中,可以预测相邻权重矩阵。可以从先前编码的权重矩阵(例如,类似于帧)例如以类似于帧间预测模式的方式,例如在mpegavc、hevc和/或vvc中预测当前的权重矩阵(例如,类似于帧)。
[0187]
异常值可以被检测到并且可以被移除,例如,如本文所述。k-均值过程(例如,算法)可以用于向量量化。在示例中,k-均值过程可以假设(例如,操作基于)以下项中的一者或多者:变量的分布可以是球形的;一个或多个(例如,所有)变量可具有相同的方差;并且/或者一个或多个(例如,所有)k集群的先前概率可以相同。在示例中,可以基于假设中的一个或多个假设来产生集群。在示例中,集群合意性或质量可以基于对假设中的一个或多个假设的满足。集群质量可以基于例如集群数量的选择、集群中心的初始化和/或数据的特性。图11a和图11b示出了移除和未移除异常值的示例性k-均值聚类。如图11a所示,例如,由于可能违反或破坏一个或多个操作假设(例如,如本文所述)的异常值的存在,k-均值过程可能无法找到合适的聚类。如图11b所示,k-均值过程可以例如基于异常值的检测和分离或移除(例如,图11b中的示例所示的具有虚线边界的实心圆)来找到合适的或正确的聚类。
[0188]
例如,异常值可以由一对(w
id
,id)表示,例如在原始矩阵中指示异常值的属性w
id
和异常值的索引id。在具有no异常值的示例中,可以例如用形状为no×dt
的码本和可以表示原始权重矩阵中异常值的索引的、范围例如从0至n-1的整数索引的列表,对异常值进行编码(例如,直接编码)。
[0189]
例如,可以基于点的维度来选择异常值检测过程。在示例中(例如,一维的点,其中d
t
=1),可以导出实数的均值μ和标准偏差σ并且用作异常值检测的标准。例如,可以通过检查到均值的距离来检测异常值,例如,根据等式(3):
[0190]
异常值={wi||w
i-μ|》λσ}(3)
[0191]
参数λ可以是用于设置阈值的超参数。图12a和图12b示出了例如对于一维点的异常值检测的示例。例如,图12a和图12b可以提供用于图像分类的基准神经网络(例如,在nnr中)中的卷积层的统计的示例,诸如resnet50。图12a可以示出权重的强度。图12b可以示出例如基于等式(3)的异常值检测方案。例如针对高维数据,可以选择异常值检测过程来寻找异常值。异常值检测过程的示例可以包括z分数和/或主成分分析。
[0192]
图13示出了具有异常值移除的量化的示例。在示例中,输入矩阵可以是20
×
10矩阵(例如,如图13所示)。异常值检测可以检测或识别例如五(5)个异常值。这五个异常值可以与一个或多个行索引相关联,例如,20
×
10矩阵中的行索引0、3、9、14、18。异常值可以用它们在矩阵中的原始属性和索引进行编码。可以移除异常值。如图13所示,15个点(例如,内
部值)可以例如在移除异常值之后被聚类为4个集群(例如,集群0、集群1、集群2和集群3)。集群中心可以形成大小为4
×
10的码本。例如,可以使用15个无符号整数的列表来记录15个内部值的对应的集群索引。集群索引可以在例如[0,3]之间的范围内。一个(例如,每个)索引可以用例如2个比特来存储(例如,以表示介于0和3之间的范围)。
[0193]
可以组合内部值和异常值的码本。例如,可以基于每个组中的两个码本和码索引列表(例如,内部值和异常值)以及原始张量中的异常值的索引来连接码本。代码索引列表可以重新排列成形状与原始输入权重张量相似(例如,相同)的张量。组合和/或重新排列码本可以减少存储存储器。原始输入权重张量中的异常值索引可具有动态范围,可以利用大的(例如,较大的大)比特深度进行存储。例如,在合并码本之后,可以跳过(例如,移除)原始输入权重张量中的异常值索引。
[0194]
码本可以被排序,例如,用于标量量化。例如,码本可以按照标量量化的升序进行排序。代码索引的大小可以与对应值的大小相关。码本可以用其他压缩技术诸如可以在视频编码中使用的压缩技术来压缩(例如,进一步压缩)。
[0195]
可以为用于nn压缩和解压缩的基于聚类的量化提供编码方法(例如,编码和解码方法)。例如,可以通过编解码器(编码器/解码器)来实施编码方法。
[0196]
图14示出了用于对nn网络模型进行编码的方法的示例。本文所公开的示例和其他示例可以全部或部分地根据图14中所示的示例性方法1400进行操作。方法1400可以包括1402至1408中的一者或多者。在1402中,例如可以通过编码设备诸如编码器获得nn模型。nn模型可以包括与权重矩阵相关联的nn层。在1404中,可以识别权重矩阵的维数。在1406中,权重矩阵可以被重新整形,例如以基于权重矩阵的所识别的维数来减少权重矩阵的维数。在1408中,可以基于重新整形的权重矩阵对nn层进行编码。编码可以例如由编码设备来实施,诸如图2中所示的编码器。
[0197]
图15示出了用于对压缩的nn网络模型进行解码的方法的示例。本文所公开的示例和其他示例可以全部或部分地根据图15中所示的示例性方法1500进行操作。方法1500可以包括1502至1508中的一者或多者。在1502中,可以获得压缩的nn模型。nn模型可以包括与具有第一维数的权重矩阵相关联的量化的nn层。在1504中,可获得指示具有第二维数的权重矩阵形状的权重矩阵形状指示。在1506中,可以基于权重矩阵形状指示将权重矩阵重新整形为第二维数。在1508中,可以基于重新整形的权重矩阵对nn层进行解码。解码可以例如由编码设备来实施,诸如图3中所示的解码器。
[0198]
本文描述了许多示例。示例的特征可跨各种权利要求类别和类型单独或以任何组合提供。此外,示例可包括在本文跨各种权利要求类别和类型(诸如以下各项中的任一者)单独或以任何组合描述的特征、设备或方面中的一者或多者。
[0199]
可以(例如,在编解码器中)实现方法,以针对nn压缩或压缩的nn的解压缩/重建执行基于聚类的量化或逆量化。方法可例如由装置实施,该装置可包括一个或多个处理器,该一个或多个处理器被配置为执行计算机可执行指令,该计算机可执行指令可存储在计算机可读介质或计算机程序产品上,该计算机可执行指令在由一个或多个处理器执行时执行该方法。装置可包括一个或多个处理器,该一个或多个处理器被配置为执行该方法。计算机可读介质或计算机程序产品可包括指令,这些指令使一个或多个处理器通过执行指令来执行方法。计算机可读介质可包括根据方法生成的数据内容。信号可以包括码本和码索引、异常
值和异常值索引和/或对权重矩阵或权重矩阵中的权重块的预测,其中该权重矩阵根据本文所述的方法用重新整形、异常值检测和移除以及/或者对原始权重矩阵的nn压缩的预测性编码,根据基于聚类的量化而生成。
[0200]
一种使用基于聚类的量化进行编码以进行nn压缩的方法可包括例如获得包括与权重矩阵诸如权重张量相关联的nn层的nn模型;识别权重矩阵的维数;基于所识别的权重矩阵的维数,对权重矩阵重新整形以减少权重矩阵的维数;并且基于重新整形的权重矩阵对nn层进行编码。例如,该方法可以由根据图14所示方法操作的编码器来实施,诸如图2所示的示例性编码器200。编码器可以实施图14所示的方法,例如全部或部分地通过根据示例性操作进行操作,如图7、图9、图10a至图10c、图11a至图11b和图13所示。
[0201]
对权重矩阵重新整形可以包括例如展平或重新排列权重矩阵的维数。例如,示例性编码器200可以重新排列矩阵,如图9或图10a至图10c中的示例所示。
[0202]
权重矩阵的维数可以包括例如二维(2d)、三维(3d)、四维(4d)或更高维。权重矩阵可以被重新整形为例如一维(1d)权重向量。维数可以从多维减少到(例如,任何)较低维度(例如,4d至3d、4d至2d、3d至2d、2d至1d、3d至1d、4d至1d等)和/或其他重新排列,如图9和图10a至图10c中的示例所示。
[0203]
nn层可以包括例如卷积nn(cnn)层、全连接层或偏置层。
[0204]
该方法可以包括例如在比特流中传输权重矩阵的所识别的维数和减少的维数。例如,如图7所示,排列元数据、码本和码索引可以(例如,通过图2中所示的熵编码245)被编码并且在比特流中被传输(例如,至解码器)。
[0205]
在示例中,对nn层进行编码可以包括执行量化。量化可以是基于聚类的量化。可以在对集群内的内部值进行量化之前移除异常值。量化可以包括例如向量量化。例如,图2所示的示例性编码器200可以根据图7进行操作以执行异常值检测、标量量化或向量量化。
[0206]
该方法还可以包括基于重新整形或先前编码的权重块或权重矩阵(例如,对于当前权重块或当前权重矩阵)执行预测。例如,图2中所示的示例性编码器200可以基于图7中所示的示例性操作来执行帧内预测260。
[0207]
一种解码方法可包括例如获得压缩的nn模型,该压缩的nn模型包括与具有第一维数的权重矩阵相关联的量化的nn层;获得指示具有第二维数的权重矩阵形状的权重矩阵形状指示;基于权重矩阵形状指示将权重矩阵重新整形为第二维数;并且基于重新整形的权重矩阵对nn层进行解码。例如,该方法可以由根据图15所示方法操作的解码器来实施,诸如图3所示的示例性解码器300。解码器可以实施图15所示的方法,例如全部或部分地通过根据示例性操作进行操作,如图8所示,并且例如在逆操作中,全部或部分地,如图7、图9、图10a至图10c和/或图13所示。
[0208]
对权重矩阵重新整形可以包括例如将具有第一维数的权重矩阵恢复为具有第二维数的权重矩阵。具有第二维数的权重矩阵形状可包括例如在量化之前具有原始维数的权重矩阵。权重矩阵形状指示可以包括例如与原始维数相关联的列数和行数。例如,图3中的示例性解码器300可以根据图8进行操作以恢复权重矩阵/张量的原始形状,诸如图9和/或图10a中所示的原始矩阵/张量。
[0209]
权重矩阵的第二维数可包括例如2d、3d、4d或更高维。例如,通过将权重矩阵的第一维数增加至权重矩阵的第二维数来对权重矩阵重新整形。维度可以从较低维度增加至较
高维度(例如,3d至4d、2d至4d、2d至3d、1d至2d、1d至3d、1d至4d等)和/或其他排列重建,如图9和图10a至图10c中的示例所示。
[0210]
在示例中,编码器,诸如基于神经网络(nn)模型的视频编码器,可以被配置为获得具有多个层的nn模型;针对nn模型的卷积层识别卷积层权重张量(例如,4-d张量,诸如k1
×
k2
×c输入
×c输出
);例如通过将权重矩阵向量化为向量(例如,k1
×
k2

k1k2)来重新排列卷积层权重张量;以及使用重新排列的卷积层权重张量(例如,k1k2
×c输入
×c输出
)对卷积层执行向量量化。例如,编码器诸如图2中所示的示例性编码器200可以被配置为执行这些操作。解码器,诸如基于nn模型的视频解码器(例如图3中所示的解码器300),可以被配置为执行相反的操作。
[0211]
描述了本文的任何地方公开的每个特征,并且该特征可以分开地/单独地以及以与本文公开的任何其他特征和/或与本文可隐含地或明确地提到的或可以其他方式落入本文公开的主题的范围内的其他地方公开的任何特征的任何组合实施。
[0212]
尽管上文以特定组合描述了特征和元素,但本领域的普通技术人员将理解,每个特征或元素可单独使用或以与其他特征和元素的任何组合来使用。另外,本文所述的方法可在结合于计算机可读介质中以供计算机或处理器执行的计算机程序、软件或固件中实现。计算机可读介质的示例包括电子信号(通过有线或无线连接传输)和计算机可读存储介质。计算机可读存储介质的示例包括但不限于只读存储器(rom)、随机存取存储器(ram)、寄存器、高速缓存存储器、半导体存储器设备、磁介质(诸如内置硬盘和可移动磁盘)、磁光介质和光介质(诸如cd-rom磁盘和数字通用光盘(dvd))。与软件相关联的处理器可用于实现用于wtru、ue、终端、基站、rnc或任何主计算机的射频收发器。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1