CN109952708B - 无损数据压缩 - Google Patents
无损数据压缩 Download PDFInfo
- Publication number
- CN109952708B CN109952708B CN201780068635.7A CN201780068635A CN109952708B CN 109952708 B CN109952708 B CN 109952708B CN 201780068635 A CN201780068635 A CN 201780068635A CN 109952708 B CN109952708 B CN 109952708B
- Authority
- CN
- China
- Prior art keywords
- data
- compressed
- compression
- precedent
- rows
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6005—Decoder aspects
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6064—Selection of Compressor
- H03M7/6076—Selection between compressors of the same type
Abstract
一种数据压缩的方法包含获得具有多位数据样本行的二进制传感器数据(210)。所述行划分成数据群组(G1、G2、G3、G4),其各自包含两个或更多个样本。选择所述行的先例值,或选择每一数据群组的相应先例值。通过计算所述数据样本和与其相关联的数据群组的所述先例值之间的差,从每一行产生经压缩传感器数据(220)的经压缩行。产生每一行的压缩信息包CIP,包含用于返回所述二进制传感器数据的信息,所述信息包含经压缩谓词(225),其指示每一数据群组是否经压缩存储;数据群组大小,其为存储用于行压缩的群组大小的多位值;以及经压缩字长,其存储所述行压缩的动态范围。所述经压缩行与所述CIP一起存储为所存储的经压缩数据。
Description
这大体上涉及用于无损压缩和存储数字数据的方法,其包含组织存储器内的像素信息。
背景技术
用于压缩数据的技术常用于通信和计算机领域。在通信中,通常需要发射经压缩数据串,所述经压缩数据串在经接收后即刻可重构成其原始形式。与发射未经压缩格式的相同数据相比,发射经压缩数据耗费较少时间。在计算机中,经压缩数据提供优于未经压缩数据的存储优点。因此,对于具有固定存储容量的存储装置,可将更多的经压缩文件存储在其中。
数据压缩技术可划分成两个主要类别:有损和无损。当要求在压缩/解压缩过程中不能丢失信息时,采用无损数据压缩技术。有损数据技术与无损技术相比较不准确但通常在速度上要快很多。按照定义,无损压缩技术采用保证数据在通过压缩/解压缩周期之后的精确复制的方法。无损压缩最常见的是与计算机中使用的数字数据的存储相关联。此类应用包含存储数据库记录、电子数据表信息和文字处理文件。如果数据消息中的信息是冗余的以使得将其省略不会以任何方式减少经编码于数据中的信息,那么可在不会丢失经编码于其中的信息中的任一个的情况下缩短消息。因此,无损数据压缩减小消息的大小且不会损害所述消息传送的信息的完整性。
高级驾驶辅助系统(ADAS)算法和博彩(gaming)、虚拟现实、机器学习算法全部变得受双数据速率(DDR)存储器性能和带宽限制。数据流(雷达数据、图像数据等)通常确实展示较强局部性,但位仅是“大致相等”。用于栅格数据的在线数据压缩需要更有效地使用DDR存储器。
压缩数据总体上是容易解决的问题。较难解决的问题是确保经压缩数据流的数据大小是有界的,即使对于随机数据样本也要如此。另一问题是在快速的数据读取期间提供解压缩方案。其它问题包含要求能够处置不同数据类型以及用于此类相异数据类型的存储器存取方案。举例来说,高速缓存行填充与受直接存储器存取(DMA)控制的图像数据存取将要求不同存取方案。最后,另一问题是在确定性的固定时间间隔内提供对经压缩数据的随机存取。
发明内容
所描述实例提供用于栅格化传感器数据的动态可配置在线无损压缩和解压缩的方法和系统,所述栅格化传感器数据例如来自在决定性固定时间内提供随机数据存取的图像传感器或雷达传感器的数据。所描述实例包含用于通过单个时钟周期解压缩的无损数据压缩的方法和系统。
所述方法包括获得包括多个行的二进制传感器数据,其中每一行包含多个多位数据样本。所述行各自划分成各自包含两个或更多个样本的多个数据群组。选择每一行的先例值或选择所述数据群组(DG)中的每一个的相应先例值。通过计算每一数据样本和与其相关联的DG的所述先例值之间的差,从每一行产生经压缩传感器数据的经压缩行。产生每一行的压缩信息包(CIP),其包含用于无损地返回(即,解压缩)传感器数据的信息。
所述CIP信息包含经压缩谓词,其包括指示所述DG中的每一个是否经压缩存储的数据结构;灵活DG大小,其为存储用于行压缩的群组大小的多位值;和经压缩字长,其为存储所述行压缩的动态范围的多位值。举例来说,所述DG大小可为16、32或64位。所述CIP信息还可包含累积式数据大小,其为高达128位的多位值,指示直到正被存储的帧中的所述行的栅格数据的累积式数据大小;和签名,其捕获所述行的CIP的错误校正码(ECC)和/或循环冗余检查(CRC)经编码表示。
经压缩行与CIP一起存储为所存储的经压缩数据。所述方法还可包括解压缩所述所存储的经压缩数据以从任何随机存储器位置无损地恢复传感器数据,并且在单个时钟周期内恢复所有传感器数据。
附图说明
图1是根据实例实施例的无损数据压缩的实例方法的步骤的流程图。
图2示出所描述压缩工作的实例,其中包括256位原始数据的行转换成157位的经压缩数据。行中的每一DG的先例示出为例如DG中的第一数据样本值。
图3A示出具有单个时钟周期并行压缩块和用于获得压缩参数以用于获得最小压缩比和经压缩数据大小的表决电路的实例无损数据压缩。
图3B示出先例选择电路和样本处理电路的实例组件。
图4示出与每一行的经压缩数据在一起的CIP的实例形成。
图5A示出实例解压缩方案,其使用2/2地址计算变换引擎μ架构以通过将所描述的经压缩数据转换成未经压缩原始数据输出进行解压缩。
图5B示出图5A中示出的地址指针计算器的实例电路实施方案。
图5C示出相加或原样复制电路操作的实例。
图6A示出用于DDR存储器中的数据存储的包括内线选项的第一实例选项。
图6B示出用于DDR存储器中的数据存储的包括致密存储选项的第二实例选项。
图7A是根据实例实施例的用于感测数据流(雷达数据或图像数据)的无损数据压缩的实例系统的框图。
图7B是用于数据信号的无损数据压缩和解压缩的实例系统的框图。
图7C描绘可用于实施实例系统中的所描述压缩和解压缩的4种类型的压缩和解压缩块。
图8A和8B示出用于实例成像应用的分别针对4和6的DG大小的实验确定压缩比与压缩字长数据。
具体实施方式
图式未必按比例绘制。在图式中,相同参考编号表示类似或等效元件。一些所说明的动作或事件可与其它动作或事件以不同次序和/或同时发生。而且,一些所说明的动作或事件为任选的。
如本文所使用的术语“耦合到”或“与……耦合”(等等)在未进一步限定的情况下描述间接或直接电连接。因此,如果第一装置“耦合”到第二装置,那么连接可通过其中在路径中仅存在寄生效应的直接电连接,或通过经由包含其它装置和连接的中间项的间接电连接。对于间接耦合,中间项一般不会修改信号的信息,但是可能会调整其电流电平、电压电平和/或功率电平。
图1是根据实例实施例的感测数据流的无损数据压缩的实例方法100的步骤的流程图。感测数据流可包括用于雷达应用例如频率调制连续波(FMCW)雷达的雷达数据,或用于成像例如用于高级辅助驾驶系统(ADAS)应用的像素数据。
步骤101包括获得源自所感测数据源的包括多行的二进制传感器数据,其中每一行包含多个多位(例如,16)数据样本。每一行对应于帧或作为信道,其中帧可包含在成像应用的情况下对应于以相同或不同曝光时间(例如,3)所捕获的每个图像的2D平面数据,或对应于每个雷达停留的雷达传感器线性调频脉冲(chirp)反射的2D平面数据。感测数据源可为提供实时数据作为数据流的传感器,或数据源可为存储从传感器获得的传感器数据的存储器。
步骤102包括将每一行划分成多个DG,每一DG包含两个或更多个数据样本。如本文中所使用的“数据群组”(DG)是显示数据局部性且因此相对易于压缩的栅格数据值(例如,样本或像素)的连续群组。每一行栅格化数据将具有2或更多个DG。如在下文中描述的图2的实例压缩中所示,4个DG各自具有每行4个样本。
步骤103包括选择每一行的先例值或所述行中的DG中的每一个的相应先例值。如本文中所使用的“先例值”是经选择以最小化在本文中被称为“漂移”的项的值。漂移定义为当前数据值与正被压缩的DG内的先例之间的符号差异。在一个实施例中,如图2所示,先例是DG中的第一数据样本值。
存在用于动态地选择先例值的各种方法。一种方法是产生最小的经压缩数据(最高压缩比)。也可基于DG中的每个样本(例如,像素)的预测值选择先例值,其中可通过产出对于正被压缩的样本的更好匹配的线性、二次、均值、中值或任何其它方法来产生预测值。先例选择是通常用专用硬件执行的智能方法。先例可为行中的任何数据值、所有数据值的平均值、数据值的中值或用户配置的值。用于先例选择的电路还可包含用于用于正被压缩的数据的统计直方图计算(参见在下文中描述的图3B中示出的统计直方图计算块(HIST)311),且可基于此块的输出和离线预计算的启发式规则来选择先例。
步骤104包括通过计算每一数据样本和与其相关联的DG的先例值之间的差,从每一行产生经压缩传感器数据的经压缩行。步骤105包括产生每一行的CIP,其具有用于无损地返回传感器数据的信息。如上文所描述,CIP包含经压缩谓词,其包括指示每一DG是否经压缩存储的数据结构;群组大小,其为存储用于行压缩的灵活数据群组大小的多位值;以及经压缩字长,其为存储行压缩的动态范围的多位值。(参见在下文中描述的图4中示出的实例CIP)。步骤106包括将经压缩行与CIP一起存储为所存储的经压缩数据。举例来说,参见在下文中关于图6A和图6B描述的存储选项。
方法100还可包括解压缩所存储的经压缩数据。图1中示出的步骤107包括从存储器(例如,DDR或片上RAM)检索所存储的经压缩数据并且进行解压缩以在单个周期内使用CIP恢复原始的未经压缩数据。举例来说,对于解压缩,参见图5A、图5B和图5C中描述的解压缩电路选项。
所述方法还可包含所有多个DG的并行单个时钟周期处理。提供用于以下操作的硬件:例如在下文中描述的图3A中所示,同时(非线性地)计算行中的所有DG的经压缩输出,使得压缩所需的时间独立于DG群组配置,以及先例选择等。所述方法也可包括动态地选择经压缩字长以获得以低压缩比反映的最佳压缩输出。
可在通过配置进行的控制下动态地选择压缩参数,其包含漂移、经压缩字长、先例值和DG大小。所述方法可另外包括解压缩所存储的经压缩数据以无损地恢复原始传感器数据,包含以固定时间存取随机位置。以固定时间存取随机位置意思是以恒定时间存取任何数据值(例如,像素值)。这是非平凡的,因为在所述数据值之前出现的每个DG可经压缩到任何大小上。代替必须依序加总所有先前DG的大小,而是定义CIP。使用累加数据大小、谓词、经压缩字长和DG大小,可确定数据值处于存储器中的何处。解压缩可包括用于恢复传感器数据的单个周期。所述方法还可包括使用并行映射-归约功能和单个周期地址指示器计算进行解压缩。
图2示出所描述的压缩操作的实例,其中包括未经压缩的256位原始数据210的行转换成包括具有157位的行的经压缩数据220以及示出为包括4个1位经压缩谓语的经压缩谓语225。所示的经压缩谓语是指示经压缩数据220中的DG是否已经压缩的一位数据结构。
此实例行压缩提供161/256=59%的压缩比。4个数据群组中的每一个的先例示出为DG中的第一数据样本值,其中每一样本具有16位,使得DG各自具有64位。在第一行中,DG示出为G1、G2、G3和G4。在示出的压缩方案中,每一DG具有4个样本,每个数据样本是原始数据210中的16位,且所使用的经压缩字长是5位。如本文中所使用的经压缩字长是可动态选择的压缩参数(针对16位数据通常是从4到10),其定义可在DG内部压缩的数据的漂移的动态范围。
在此实例中,G1、G2和G4经压缩,但G3不压缩,因为G3中的数据的漂移范围是50(分别为DG的最小数据值与最大数据值的100与150之间的差),其大于可在由所使用的经压缩字长设置的5位中编码的数目。在G1中,使用先例2,通过从原始数据样本值减去2来处理非先例原始样本以提供经压缩数据值。对于第二数据群组的第二样本,所述计算是10-2=8。示出的经压缩数据谓词在G1、G2和G4接收压缩的情况下给定为1,针对不接收压缩的G3给定为0。所描述的方法通过使用经压缩谓词值零(或1)以避免当不针对DG实施数据压缩时解压缩处理DG来达成优点。
所描述的压缩的基本原理是从不将任何行的经压缩数据大小增加到超过原始数据大小加W/N位确定的预定大小,所述经压缩数据大小定义为经压缩行的大小加CIP的大小,其中W是原始数据长度(以位为单位)且N是DG的大小(以位为单位)。举例来说,原始数据长度(行)在图2中为256位且最终数据长度是157位。
图3A示出实例无损数据压缩,其使用用于跨栅格数据宽度分布的每一DG的单个时钟周期并联连接压缩电路3101、3102到310n(统称为压缩电路310),其提供示出为作为示出的输入数据305接收的原始输入二进制传感器数据的每一行的最小压缩比。压缩电路3101、3102到310n各自包含在下文中的图3B中描述的两个组件,其为用于提供图3A中示出的先例选择信号的先例选择电路310a,以及通过样本处理电路310b实施的差分化进行的样本处理,所述样本处理电路310b使用从先例选择电路310a接收的相应先例值产生经压缩数据。
从压缩电路3101、3102到310n输出的经压缩数据示出为耦合到表决电路320,接着耦合到DDR存储器330。额外压缩电路可用于用DG大小和漂移的不同配置值来压缩行。此后可继以示出的表决电路320,其将从所有这些计算达成的压缩比进行比较并且将对应于最佳压缩比的经压缩数据转发到DDR 330。
图3B示出先例选择电路310a和样本处理电路310b的实例组件。图3B中示出的先例选择电路310a可从借助实例示出为第一像素312a的多个不同先例选择选项选择取决于HIST块311计算的输入数据的统计分布而示出为均值312b和中值312c的平均值。HIST块311将MUX选择信号316输出到MUX 317,其作为响应输出先例值。
这些电并联的压缩电路3101、3102到310n通过DG大小和漂移的动态范围以及基于所提供的实时计算而选择的数据先例的多种配置,对输入数据305执行单个时钟周期无损压缩。来自这些压缩电路3101、3102到310n的输出是针对不同配置和每一配置达成的压缩比产生的经压缩输出数据。压缩电路3101、3102到310n的输出耦合到表决电路320的输入,所述表决电路320实施用于选择实现最佳情形压缩的先例、DG大小和漂移的表决并且将对应于所述选项的经压缩数据和CIP转发到DDR存储器330或另一内部存储器以用于存储。
图4示出示出为行1到行4的4个行中的每一个的CIP的实例形成。CIP与经压缩数据一起存储在存储器中(参见下文中描述的图6A和6B)。如上文所描述,CIP是经创建并且与每一行一起存储的数据包。当计算压缩比时,通常不考虑CIP,这是因为CIP的大小通过显著小于常见行大小。举例来说,在2M像素相机中,未经压缩行大小是6千字节,而CIP的大小将<100字节。压缩电路在压缩数据时产生CIP信息,并且解压器电路使用所述CIP信息提取(解压缩)原始数据包。图4中示出的实例CIP中的字段包含针对每个DG为1位(示出为W/N位,但电路可使经压缩谓词为固定位字段(例如,512位),进而对DG的最大数目进行限制)以指示是否压缩的经压缩谓词,其中W是栅格行大小且N是数据群组大小。
经压缩数据大小示出为32位,其中针对图2中的实例的整个经压缩数据大小是一行157位栅格数据,且示出为64位的累积数据大小是直到所述行的帧的整个经压缩数据大小。CIP还包括经压缩字(CW)大小,其为存储用于行签名的压缩方案的动态范围的4位值;DG大小,其为存储用以压缩一个特定行的灵活DG大小的8位值;和针对每个CIP计算的ECC和/或CRC签名,其又对应于一行数据以确保功能安全性和压缩正确性。所述签名还确保CIP即使例如由于宇宙α粒子、电磁干扰(EMI)、时钟或电源故障而损毁,仍能得到实时校正,且因此用于全帧的解压缩过程会正确地发生。
图5A示出实例解压缩方案,其使用地址计算变换引擎μ架构将经压缩数据转换成未经压缩数据输出(原始数据210)。在此实例中示出的经压缩数据是图2中的经压缩数据220,且相应DG的经压缩谓词由并行映射和归约块510进行处理,所述并行映射和归约块510从所接收的经压缩谓语225产生示出的经变换谓词520。
一般来说,针对每个DG计算一个经变换谓词。基于收缩加法器使用并行映射和归约块510确保经变换谓词值表示双数据结构。数据结构的第一部分具有关于经成功压缩的DG的数目的信息,并且此可从具有log2n复杂性的经压缩谓词225输入计算以确保快速计算。经变换谓词520的第二部分可含有直到行中的所述点存储多少未经压缩的DG的累积式信息。此经变换谓词520后面接着是地址指针计算器525。此地址指针计算器525使DG的经变换谓词520第一部分乘以经压缩字长(在此实例中为31)并且使经变换谓词520的第二部分乘以经压缩字长(在此实例中为64)。接着将这两个值加起来以计算在所检索的经压缩数据中的经压缩先例的位置指针。
地址指针计算器525的输出耦合到解码器530以用于解码先例的位置并且计算正确的未经压缩数据值。解码器530基于地址指针计算器525从每一数据群组的经压缩行数据获取先例值。其还接收未经压缩行的经压缩谓词作为另一输入。解码器530的输出耦合到相加或原样复制决策块535。如果通过如由经压缩谓词指示的压缩存储DG,那么使所述DG的先例值与经压缩数据中接收的其它值相加以计算未经压缩数据值。否则,通过相加或原样复制决策块535将经压缩数据中的值作为原始数据按原样复制(不改变)复制到存储器,而不使这些值与先例相加。通过相加或原样复制决策块535的此处理致使返回图2中示出的原始数据210的行的256位。
图5B示出图5A中示出的现在示出为525'的地址指针计算器以及现在示出为并行映射和归约log2n层510'的并行映射和归约电路510的实例电路实施方案。地址指针计算器525'包含加法器525a,其将其之前的两个乘法器525b和525c的输出加在一起。525b使对应DG的经变换谓词520的第一半520a乘以等于经压缩DG的大小的固定值。525c使对应DG的第二半520b乘以等于未经压缩DG的大小的固定值。
地址指针计算器525'的输出耦合到解码器530。通过映射-归约电路5101和5102的组合计算经变换谓词520的数据结构。到这两个电路的输入是未经压缩数据行的经压缩谓词225。5101对在数据行的DG未经压缩之前在成功压缩之后存储的数据群组的数目计数。5102将在未经压缩的数据行的DG之前可能未经压缩的DG的数目计数。
图5C示出实例相加或原样复制535的操作的实例。到此电路的输入是经压缩谓词225、经压缩数据和从解码器530解码的地址位置提取的先例。如果经压缩谓词指示在压缩之后存储DG,那么加法器538a、538b和538c将接收的值与先例相加,否则按原样复制(不改变)这些值,其示出为未经补偿的数据输出210a。
图6A示出用于DDR存储器中的经压缩数据的数据存储的第一实例选项。这是通常不优化DDR存储器密度的简单线内选项。此方法改进将经压缩数据写入到存储器中的DDR带宽。CIP前置(作为标头附接)到实际经压缩数据包。经压缩数据存储在存储器中以使得每个栅格化行的CIP的第一字节处于实际数据在未经压缩的情况下所处的位置。此数据存储格式较容易于配置可发出从帧中的每个行存取数据的一系列命令的DMA引擎。DMA/流式传输引擎可引入CIP,处理包,并且接着将包转发到并行映射和归约块510、经变换谓词520和地址指针计算块525。
图6B示出DDR存储器中的数据存储的第二实例选项。这是改进DDR存储器存储密度即与图6A中示出的第一实例选项可将更多数据存储在相同DDR存储器大小中的致密存储选项。在此情况下,CIP结构还包含下一CIP的地址。替代地,CIP结构的累积式数据大小字段可用以确定下一行数据的开始地址。负责存取经压缩数据帧的DMA引擎读取数据帧中的第一CIP,其后是提取如由CIP指示的字节以存储经压缩行数据和下一行的CIP,此后将数据转发到解压缩电路。通过此过程,DMA引擎的存储器存取逻辑保持计算下一存取的地址。
通过两个唯一性过程进行因此执行的地址计算,第一过程是存储下一CIP的地址的任选的CIP字段,且第二过程是使用经压缩数据大小字段并且将其加到当前地址。此过程确保功能上安全且可靠的数据存取并且防止发生由宇宙α粒子、EMI、时钟或随机电压噪声所导致的电路失效。
所描述的实施例还包含自适应和可缩放压缩方案算法。每一数据集以不同方式表现,且不存在确保最佳压缩结果的理想压缩参数集。可定义用于DG大小和经压缩字大小的范围的“有效参数”受约束范围,以使得其两者都是灵活参数。举例来说,DG大小的有效值可为4、8、12和16。类似地,经压缩字长的有效值可介于6与12之间对于每行数据,可执行以下步骤:
(a)并行地,使用N个参数集(N=DG大小值与经压缩字长值的所有组合)运行针对整行的压缩,并且产生N个CIP;
(b)通过比较相关CIP字段(整个经压缩大小)来比较来自(a)中的运行中的每一个的经压缩数据的大小(经压缩数据大小);和
(c)基于针对所有所执行的配置选项达成的压缩比的表决电路320比较来选择最佳经压缩字长和DG选择。
此自适应和可缩放压缩算法和逻辑是完全可缩放的并且确保主动每一行数据创建最优经压缩数据集。压缩方案的4×半导体(例如,硅)面积确保性能的4×改进。可通过以特定时延为代价以时间复用方式使用相同电路约束半导体面积。
参考图7A,示出了包含处理单元705的用于压缩数据信号的系统700。示出形成于具有半导体表面(例如,硅衬底)的衬底702上的处理单元705,其可实施为具有压缩和解压缩电路的分散式实例化的芯片上系统(SOC)架构。处理单元705可包括微处理器、数字信号处理器(DSP)或微控制器单元(MCU)。处理单元705与所感测数据源710电子通信。数据源的实例可包含数码相机、摄录像机、移动装置或捕获并提供指示物理场景的视频信号的装置、或在雷达的情况下的天线以及模拟前端。处理单元705与外部存储器715电子通信。外部存储器715的实例是DDR存储器。
处理单元705包含用于处理所感测日期信号的处理子系统720。数据处理子系统720包含通过缓冲器780耦合在一起的前端725和后端730。前端725包含从数据源710接收感测到的数据信号的传感器接口735。后端730包含用于根据所描述的压缩方案产生数据信号中的帧的经压缩版本的编码器740。在一些实施例中,编码器740可包含用于产生数据信号的帧的经压缩版本的单独单元。处理单元705包含直接存储器存取(DMA)数据和配置总线745。DMA数据和配置总线745在处理单元705中的组件之间传递数据和控制信号。
处理单元705包含充当中央处理单元的精简指令集计算(RISC)处理器750。RISC处理器750可操作以执行输入或输出功能,以及系统控制功能。处理单元705包含数字信号处理器(DSP)755。DSP 755可操作以处理实时信号处理软件算法。在一个实施例中,DSP 755可操作以处理编码解码器。编解码器可定义为译码或解码软件。
处理单元705包含用于引导存储器存取的DMA控制器760。处理单元705包含存储数据信号的帧的芯片上存储器765。芯片上存储器765的实例是静态随机存取存储器(SRAM)。处理单元705可包含用于存储编码解码器的其它存储器。处理单元705还包括用于控制外部存储器715的外部存储器控制器770。处理单元705包含一或多个外围设备775,例如发射数据信号的一或多个帧的通信外围设备。通信外围设备的实例包含端口和插座。外围设备775还可包含系统外围设备例如计时器和临时存储器例如RAM。
图7B示出用于压缩和解压缩数据信号的实例系统700'。系统700'包含缓冲器780与包含传感器接口735的前端之间以及缓冲器780与后端730之间的所描述的压缩电路791和解压缩电路792。系统700'的实例架构确保在系统的各个数据处理和数据输入块的输入和输出处所需的实例化的分散式压缩和解压缩块。
图7C描绘可用于实施所描述的压缩和解压缩的实例4种类型的压缩解压缩块。示出的模块包含示出为模块794、795、796和797的模块1-4。示出的每一圆形编号对应于压缩和解压缩的类型。可由示出的模块794处理的圆形1对应于栅格线性(1D)数据Y平面图像或线性雷达数据,可由示出的模块795处理的圆形2对应于栅格线性数据U、V交错式平面图像数据,可由示出的模块796处理的圆形3对应于传感器数据的逐块(2D)随机存取,且可由示出的模块797处理的圆形4对应于传感器数据的逐块(2D)规律存取。示出的此实例也可实例化用于处置线性雷达数据的压缩和解压缩块。用于压缩和解压缩的机构、电路和方法允许固定和决定性时间中的不同数据拓扑(1D、2D)和存取模式(规律或随机)的数据处置。
所描述的实施例的优点包含简单无损和动态自适应数据压缩方案。描述的压缩实现随机数据存取。所描述的实施例尤其很好地适合于具有所描述CIP结构的安全关键应用。功能安全具有潜在材料清单(BOM)成本减少。所描述的实施例允许多种外部存储器存储方案,包括线性和逐块两者。所描述的实施例还允许固定密度、解联的控制和数据包,以及最小化时延的DG并行处理。
图8A和8B示出针对使用所描述的压缩和解压缩的实例成像应用的分别为4和6的DG大小的压缩比与压缩字长数据。对于此实例,通过变化图8A中的DG大小4和图8B中的DG大小6产生数据。图8A和8B中的X轴记录用于压缩的CW大小。在此特定实例中,达成针对CW大小8和DG大小6的大致等于0.6的最佳压缩比。原始数据样本是16位图像数据(像素)。每一帧包含约300,000像素。后压缩带宽已经减小到未经压缩数据的60%。对于12位图像数据(未示出),发现可达成的压缩比为约70%。
在权利要求书的范围内,对所描述实施例的修改是可能的,并且其它实施例是可能的。
Claims (19)
1.一种无损数据压缩的方法,其包括:
获得包括多个行的二进制传感器数据,其中每一所述行包含多个多位数据样本;
将每一所述行划分成各自包含所述多位数据样本中的两个或更多个的多个数据群组;
选择每一所述行的先例值或所述多个数据群组中的每一个的所述先例值中的相应者,所述先例值是基于每行或每个数据群组中的所述数据样本的统计分布,从多个不同的先例值中选择的;
通过计算每一所述数据样本和所述数据群组中的与其相关联的数据群组的所述先例值之间的差,从每一所述行产生经压缩传感器数据的经压缩行;
产生每一所述行的压缩信息包CIP,其具有用于无损地返回所述二进制传感器数据的信息,所述信息包含:经压缩谓词,其包括指示所述数据群组中的每一个是否经压缩存储的数据结构;数据群组大小,其为存储用于行压缩的群组大小的多位值;
以及经压缩字长,其为存储所述行压缩的动态范围的多位值,和
将所述经压缩行与所述CIP一起存储为所存储的经压缩数据。
2.根据权利要求1所述的方法,其中所述方法包括所有所述多个数据群组的并行单个时钟周期处理。
3.根据权利要求1所述的方法,其另外包括使用动态地选择所述经压缩字长的表决电路。
4.根据权利要求1所述的方法,其另外包括动态地选择受配置控制的压缩参数,其包含为当前数据值与所述数据群组内的所述先例值之间的差的漂移、所述经压缩字长、所述先例值和所述数据群组大小。
5.根据权利要求1所述的方法,其另外包括解压缩所述所存储的经压缩数据以恢复所述二进制传感器数据,包含在固定时间内存取随机位置。
6.根据权利要求5所述的方法,其中所述解压缩包括用于所述二进制传感器数据的所述恢复的单个周期。
7.根据权利要求1所述的方法,其另外包括使用并行映射-归约功能和单个周期地址指示器计算进行解压缩。
8.根据权利要求1所述的方法,其中所述CIP包含至少一个错误校正码ECC或循环冗余校验CRC字段。
9.一种用于提供无损数据压缩的系统,其包括:
传感器接口,其用于接收包括多个行的二进制传感器数据,其中每一所述行包含多个多位数据样本;
数据处理子系统,其包含具有耦合到所述传感器接口的输出的输入的编码器,所述数据处理子系统包含用于以下操作的硬件和软件:
将每一所述行划分成各自包含所述多位数据样本中的两个或更多个的多个数据群组;
基于每行或每个数据群组中的所述数据样本的统计分布,从多个不同的先例值中选择每一所述行的先例值或所述多个数据群组中的每一个的所述先例值中的相应者;
通过计算每一所述数据样本和与其相关联的所述数据群组的所述先例值之间的差,从每一所述行产生经压缩传感器数据的经压缩行;
产生每一所述行的压缩信息包CIP,其具有用于无损地返回所述二进制传感器数据的信息,所述信息包含:经压缩谓词,其包括指示所述数据群组中的每一个是否经压缩存储的数据结构;数据群组大小,其为存储用于行压缩的群组大小的多位值;
以及经压缩字长,其为存储所述行压缩的动态范围的多位值。
10.根据权利要求9所述的系统,其中所述数据处理子系统另外提供将所述经压缩行与所述CIP一起存储为所存储的经压缩数据。
11.根据权利要求9所述的系统,其中所述数据处理子系统包含用于所述多个数据群组的并行处理的电路。
12.根据权利要求9所述的系统,其中所述编码器包括具有半导体表面的衬底。
13.根据权利要求9所述的系统,其另外包括用于实施所述无损数据压缩的单个时钟周期压缩电路。
14.根据权利要求10所述的系统,其另外包括用于动态选择所述经压缩字长的表决电路。
15.根据权利要求10所述的系统,其另外包括受配置控制的动态选择压缩参数块,其包含为当前数据值与所述数据群组内的所述先例值之间的差值的漂移、所述经压缩字长、所述先例值和所述数据群组大小。
16.根据权利要求10所述的系统,其另外包括用于解压缩所述所存储的经压缩数据以恢复所述二进制传感器数据的解码器。
17.根据权利要求16所述的系统,其中所述解码器包括在单个周期中操作以用于所述二进制传感器数据的所述恢复的解压缩电路。
18.根据权利要求16所述的系统,其另外包括使用并行映射-归约功能和单个周期地址指针计算器识别用于所述解压缩的所述先例值的位置。
19.根据权利要求10所述的系统,其中所述CIP包含至少一个错误校正码ECC或循环冗余校验CRC字段。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/376,170 | 2016-12-12 | ||
US15/376,170 US10069511B2 (en) | 2016-12-12 | 2016-12-12 | Lossless data compression |
PCT/US2017/065915 WO2018111942A1 (en) | 2016-12-12 | 2017-12-12 | Lossless data compression |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109952708A CN109952708A (zh) | 2019-06-28 |
CN109952708B true CN109952708B (zh) | 2023-06-30 |
Family
ID=62490497
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780068635.7A Active CN109952708B (zh) | 2016-12-12 | 2017-12-12 | 无损数据压缩 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10069511B2 (zh) |
EP (1) | EP3552312A4 (zh) |
JP (1) | JP7421036B2 (zh) |
CN (1) | CN109952708B (zh) |
WO (1) | WO2018111942A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10402111B1 (en) * | 2017-08-14 | 2019-09-03 | Xilinx, Inc. | Systems and methods for data storage compression |
US10970080B2 (en) | 2018-02-08 | 2021-04-06 | Marvell Asia Pte, Ltd. | Systems and methods for programmable hardware architecture for machine learning |
US10891136B1 (en) | 2018-05-22 | 2021-01-12 | Marvell Asia Pte, Ltd. | Data transmission between memory and on chip memory of inference engine for machine learning via a single data gathering instruction |
US10929760B1 (en) | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Architecture for table-based mathematical operations for inference acceleration in machine learning |
US11016801B1 (en) | 2018-05-22 | 2021-05-25 | Marvell Asia Pte, Ltd. | Architecture to support color scheme-based synchronization for machine learning |
US10929778B1 (en) * | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Address interleaving for machine learning |
US10997510B1 (en) | 2018-05-22 | 2021-05-04 | Marvell Asia Pte, Ltd. | Architecture to support tanh and sigmoid operations for inference acceleration in machine learning |
US10929779B1 (en) | 2018-05-22 | 2021-02-23 | Marvell Asia Pte, Ltd. | Architecture to support synchronization between core and inference engine for machine learning |
CN111697973B (zh) * | 2019-05-16 | 2021-02-02 | 时擎智能科技(上海)有限公司 | 压缩方法及压缩系统 |
CN110247666B (zh) * | 2019-05-22 | 2023-08-18 | 深圳大学 | 一种硬件并行压缩的系统及方法 |
TWI745697B (zh) | 2019-05-24 | 2021-11-11 | 創鑫智慧股份有限公司 | 用於神經網路參數的運算系統及其壓縮方法 |
CN112241005A (zh) * | 2019-07-19 | 2021-01-19 | 杭州海康威视数字技术股份有限公司 | 雷达探测数据的压缩方法、装置及存储介质 |
DE102019214587A1 (de) * | 2019-09-24 | 2021-03-25 | Conti Temic Microelectronic Gmbh | Verarbeitung verlustbehaftet komprimierten ADAS-Sensordaten für Fahrerassistenzsysteme |
DE112020006288T5 (de) * | 2019-12-23 | 2022-10-27 | ams AG | Verlustfreie Komprimierung der Datenübertragung |
CN111307182B (zh) * | 2020-03-06 | 2022-08-23 | 宁波飞芯电子科技有限公司 | 数据处理方法及阵列型传感器 |
US20230177730A1 (en) * | 2021-12-07 | 2023-06-08 | International Business Machines Corporation | Stochastic compression of raster data |
CN114268323B (zh) * | 2021-12-24 | 2023-07-07 | 成都索贝数码科技股份有限公司 | 支持行存的数据压缩编码方法、装置及时序数据库 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04252569A (ja) * | 1991-01-28 | 1992-09-08 | Nec Corp | 画像データ圧縮方式 |
JPH06319047A (ja) * | 1993-05-07 | 1994-11-15 | Seiko Epson Corp | 情報処理装置 |
JPH1132328A (ja) * | 1997-07-10 | 1999-02-02 | Pfu Ltd | 多値画像データにおけるデータ圧縮方法、データ圧縮装置および記録媒体 |
CN201523455U (zh) * | 2009-09-24 | 2010-07-07 | 信飞系统公司 | 基站收发机系统中的信号压缩装置 |
US9496894B1 (en) * | 2015-10-21 | 2016-11-15 | GE Lighting Solutions, LLC | System and method for data compression over a communication network |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9204157B2 (en) | 2011-11-18 | 2015-12-01 | Texas Instruments Incorporated | Video compression searching reference frame in hybrid growing-window and sliding-window |
JP2012013657A (ja) | 2010-07-05 | 2012-01-19 | Ihi Infrastructure Systems Co Ltd | 分光分析装置 |
JP5591080B2 (ja) * | 2010-11-26 | 2014-09-17 | 三菱電機株式会社 | データ圧縮装置及びデータ処理システム及びコンピュータプログラム及びデータ圧縮方法 |
US20120239612A1 (en) | 2011-01-25 | 2012-09-20 | Muthian George | User defined functions for data loading |
US8914545B2 (en) * | 2011-04-27 | 2014-12-16 | Iii Holdings 1, Llc | Systems and methods for lossless compression of data and high speed manipulation thereof |
JP2014075687A (ja) | 2012-10-04 | 2014-04-24 | Seiko Epson Corp | 画像データ圧縮装置、画像データ伸張装置、表示装置、画像処理システム、画像データ圧縮方法及び画像データ伸張方法 |
US9800886B2 (en) | 2014-03-07 | 2017-10-24 | Lattice Semiconductor Corporation | Compressed blanking period transfer over a multimedia link |
CN104378118B (zh) * | 2014-10-29 | 2017-08-11 | 中国科学院地质与地球物理研究所 | 高效自适应地震数据流无损压缩及解压缩方法 |
US9748972B2 (en) * | 2015-09-14 | 2017-08-29 | Leco Corporation | Lossless data compression |
US9923577B1 (en) * | 2016-09-04 | 2018-03-20 | ScaleFlux, Inc. | Hybrid software-hardware implementation of lossless data compression and decompression |
-
2016
- 2016-12-12 US US15/376,170 patent/US10069511B2/en active Active
-
2017
- 2017-12-12 CN CN201780068635.7A patent/CN109952708B/zh active Active
- 2017-12-12 EP EP17880411.8A patent/EP3552312A4/en not_active Withdrawn
- 2017-12-12 WO PCT/US2017/065915 patent/WO2018111942A1/en unknown
- 2017-12-12 JP JP2019551920A patent/JP7421036B2/ja active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04252569A (ja) * | 1991-01-28 | 1992-09-08 | Nec Corp | 画像データ圧縮方式 |
JPH06319047A (ja) * | 1993-05-07 | 1994-11-15 | Seiko Epson Corp | 情報処理装置 |
JPH1132328A (ja) * | 1997-07-10 | 1999-02-02 | Pfu Ltd | 多値画像データにおけるデータ圧縮方法、データ圧縮装置および記録媒体 |
CN201523455U (zh) * | 2009-09-24 | 2010-07-07 | 信飞系统公司 | 基站收发机系统中的信号压缩装置 |
US9496894B1 (en) * | 2015-10-21 | 2016-11-15 | GE Lighting Solutions, LLC | System and method for data compression over a communication network |
Also Published As
Publication number | Publication date |
---|---|
EP3552312A1 (en) | 2019-10-16 |
WO2018111942A1 (en) | 2018-06-21 |
US20180167083A1 (en) | 2018-06-14 |
EP3552312A4 (en) | 2019-12-25 |
JP7421036B2 (ja) | 2024-01-24 |
US10069511B2 (en) | 2018-09-04 |
CN109952708A (zh) | 2019-06-28 |
JP2020501475A (ja) | 2020-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109952708B (zh) | 无损数据压缩 | |
US6597812B1 (en) | System and method for lossless data compression and decompression | |
US11595062B2 (en) | Decompression apparatus for decompressing a compressed artificial intelligence model and control method thereof | |
US8949687B2 (en) | Memory device and memory system | |
JP2020173782A (ja) | 画像エンコーディング方法及び装置並びに画像デコーディング方法及び装置 | |
Alarabeyyat et al. | Lossless image compression technique using combination methods | |
CN112953550B (zh) | 数据压缩的方法、电子设备及存储介质 | |
US10515112B2 (en) | Method and device for searching images | |
TWI602212B (zh) | 用於在一電子束微影系統中之壓縮資料傳輸之系統及方法及用於具有資料壓縮及傳輸能力之電子束微影的系統 | |
US11960986B2 (en) | Neural network accelerator and operating method thereof | |
US20150181236A1 (en) | Transform space difference compression | |
CN114222129A (zh) | 图像压缩编码方法、装置、计算机设备和存储介质 | |
US11562241B2 (en) | Data output method, data acquisition method, device, and electronic apparatus | |
EP4135200A1 (en) | Systems, methods, and apparatus for dividing and compressing data | |
US7071854B1 (en) | Hardware-implemented LZW data decompression | |
WO2022072802A1 (en) | Systems and methods for lossless compression of tabular numeric data | |
Ahmed et al. | WSN application based on image compression using AHAAR wavelet transform | |
CN115250351A (zh) | 用于图像数据的压缩方法、解压方法及相关产品 | |
US11742875B1 (en) | Compression of floating-point numbers for neural networks | |
US11048413B2 (en) | Method for reducing read ports and accelerating decompression in memory systems | |
Beebe et al. | A Bibliography on Data Compression | |
Jothin et al. | High performance static segment on-Chip memory for image processing applications | |
CN113971456A (zh) | 人工神经网络处理方法和系统 | |
Kumar et al. | Improvement in DPCM image compression technique | |
DE102020133861A1 (de) | Normalisierte-wahrscheinlichkeit-bestimmung für zeichenkodierung |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |