CN102597948B - 信号数据的块浮点压缩的方法和装置 - Google Patents

信号数据的块浮点压缩的方法和装置 Download PDF

Info

Publication number
CN102597948B
CN102597948B CN201080047913.9A CN201080047913A CN102597948B CN 102597948 B CN102597948 B CN 102597948B CN 201080047913 A CN201080047913 A CN 201080047913A CN 102597948 B CN102597948 B CN 102597948B
Authority
CN
China
Prior art keywords
mantissa
code
exponential quantity
index
sampling
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
Application number
CN201080047913.9A
Other languages
English (en)
Other versions
CN102597948A (zh
Inventor
阿尔伯特·W·魏格纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altera Corp
Original Assignee
Altera Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Altera Corp filed Critical Altera Corp
Publication of CN102597948A publication Critical patent/CN102597948A/zh
Application granted granted Critical
Publication of CN102597948B publication Critical patent/CN102597948B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/14Conversion to or from non-weighted codes
    • H03M7/24Conversion to or from floating-point codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/483Computations with numbers represented by a non-linear combination of denominational numbers, e.g. rational numbers, logarithmic number system or floating-point numbers
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Nonlinear Science (AREA)
  • General Engineering & Computer Science (AREA)

Abstract

一种用于对信号采样进行压缩的方法和装置使用块浮点表示,其中每个尾数的位数由组中的最大量值采样确定。压缩器定义具有每组固定数目的采样的信号采样组。组中的最大量值采样确定与用于代表最大采样值的位数对应的指数值。对指数值进行编码以形成指数令牌。可以对在连续指数值之间的指数差值进行个体或者联合编码。将组中的采样映射到对应尾数,每个尾数具有基于指数值的位数。根据指数值去除LSB产生具有更少位的尾数。反馈控制监视已压缩位速率和/或质量度量。这一摘要并不限制如权利要求中描述的本发明范围。

Description

信号数据的块浮点压缩的方法和装置
技术领域
本发明涉及使用块浮点表示的高效编码来对信号数据进行压缩和解压,并且更具体地,涉及用于减少代表信号采样的位数以实现期望输出数据速率或者期望质量度量的块浮点编码。
背景技术
在其中希望在减少信号数据量的同时维持准确信息的信号或者图像处理应用中,信号数据压缩实现更高效的资源使用。压缩信号数据减少系统中的存储器或者其他存储设备的数据存储容量要求。压缩信号数据减少系统中的针对数据传送接口的带宽要求。用于压缩和解压的在计算上高效的操作降低对系统计算资源和延时的影响。
信号处理中的块浮点表示具有的优点在于:增加由有限数目的位可以代表的动态范围。块浮点表示可以覆盖宽动态范围并同时维持信号数据准确性。在典型块浮点表示中,针对采样组基于组中的最大量值的采样来确定共同指数。用于组中的每个采样的尾数由数目与最大采样的尾数相适应的位代表。可以连续打包代表用于组的共同指数和尾数的位,以代表用于组的已压缩采样。块浮点表示对于信号动态性(其中幅度随时间波动而邻近采样又在特定组中具有相似幅度)而言有用。若干信号类型具有这些动态性。示例包括随时间衰减的脉冲信号(比如雷达、声纳和超声信号)。
以下专利描述针对各种应用的通过使用块浮点数据表示的压缩。
在1998年5月12日授权的、名称为“WaveformDataCompressionApparatusandWaveformDataExpansionApparatus”的美国专利5,751,771中,Katsumata等人描述使用块浮点表示来逐块压缩采样信号。对于每个信号采样块,在模式的成对非相邻采样之间计算多个算术均值。一对采样的算术均值代表在该对采样之间途中的中间采样的估计。在成对采样之间的距离根据模式(即块的结束采样的对、块中的结束采样和中间采样等)随着针对块计算的算术均值而减少。从对应中间采样值减去算术均值以形成差值采样。差值采样的尾数基于它们在块中的索引(地址)被分配用于编码的位数目,从而用于一个块的编码尾数具有不同长度。使用固定数目的位来对块中的最后采样的尾数进行线性编码。基于最大数目左移位而使用公式来确定用于块的指数,从而较高两位为“01”或“10”,这有效去除任何符号扩展位。最后采样和差值采样的尾数被左移位,并且舍入以去除最低有效位(LSB)从而适合向块的尾数分配的位数。压缩数据块包括已编码指数和已编码尾数。在其他实施方式中,除了最后采样之外还可以对其他采样进行线性编码而不是对差值采样进行编码。其他实施方式包括用于相同块内的采样的尾数长度和线性对差值编码的更复杂模式。这些实施方式包括用于块的模式代码,该模式代码基于块中的采样索引来表明尾数长度、指数和线性对差值编码的模式。
在2000年2月1日授权的、名称为“CodingMethodandApparatusforMultipleChannelsofAudioInformationRepresentingThree-DimensionalSoundFields”的美国专利6,021,386中,Davis等人描述音频信号的变换系数的块浮点编码。应用于已采样音频信号的离散变换(比如离散傅里叶变换(DFT))产生变换系数。将变换系数分组成连续变换系数的子带或者块。基于子带中的最大频谱分量来确定用于块的共同指数。在一个实施方式中,向子带的组分配主指数以增加块浮点表示的动态范围。主指数代表用于子带的组中的所有指数的最小指数值,而子带指数代表主指数与子带中的最大变换系数的指数之差。量化器根据子带指数和主指数将用于子带的尾数左移位,并且将LSB截断以利用与用于子带的位分配对应的位长度代表尾数。自适应位分配器为每个子带分配某一数目的位。在一个优选实施方式中,位分配基于子带中的频谱分量的幅度。
Christensen在名称为“BlockFloatingPointforRadarData”(IEEETransactionsonAerospaceandElectronicSystems,Vol.35,No.1,pp.308-18,January1999)的文章中描述合成孔径雷达(SAR)数据的块浮点表示。该文章呈现在信噪比(SNR)比对编码参数(比如块大小、量化步长大小和用于代表块指数的位数)方面对块浮点表示的性能的理论分析。也呈现使用每个块固定位数的块浮点对SAR数据的SNR性能。
Huneycutt在名称为“SpaceborneImagingRadar-CInstrument”(发表于IEEETransactionsonGeoscienceandRemoteSensing,Vol.27,No.2,pp.164-9,March1989)的文章中描述成像雷达数据的块浮点表示。该系统包括块浮点量化器(BFPQ),该BFPQ使用每个采样四个最高有效位、跟随有用于每个采样块的共同指数来对8位数据采样编码。
以下专利和文章描述在各种应用中使用在逐个采样的基础(与上文描述的逐块基础相对照)上的浮点表示以压缩信号数据。
在1999年8月3日授权的、名称为“MethodandApparatusforSignalCompressionandProcessingUsingLogarithmicDifferentialCompression”的美国专利5,933,360中,Larson描述用于使用每个采样更少位以浮点格式来代表已采样信号的对数差分压缩(LDC)。信号处理计算(比如滤波)在解压之前被应用于压缩采样。算法差分压缩包括在模数转换之前或者之后计算信号的一阶导数以产生导数采样。导数采样的较低量值允许它们由更少位代表。以具有符号位、指数字段和尾数字段的浮点格式代表每个导数采样,以形成压缩信号的采样。浮点表示中的尾数字段和指数字段的长度对于所有导数采样而言相同,并且可以被选择成适合具体应用(比如音频和视频信号)。由于LDC算法为线性、在时间上连续并且在逐个采样的基础上应用,所以信号处理操作(比如滤波和变换)可以在解压之前直接应用于已压缩的数据。由于LDC采样的浮点表示近似于对数(以2为底),所以可以减少用于对压缩数据的信号处理操作的硬件或者软件实施方式的复杂性。例如通过将LDC采样相加来执行对数域中的乘法。可以通过应用诸如行程长度(runlength)编码、霍夫曼、LZW(Lemple-Ziv-Welch)等其他压缩技术来进一步压缩LDC数据。LDC方法将相同浮点格式用于所有采样(即格式未随数据块变化)。每个LDC采样包括指数字段和尾数字段(即未在已编码数据块中的尾数之中共享指数)。
本发明描述针对若干应用来适配用于压缩采样数据的块浮点表示。在1998年11月17日授权的、名称为“LosslessandLoss-LimitedCompressionofSampledDataSignals”的共有美国专利5,839,100(’100专利)中,本发明人描述应用于已采样信号的导数采样的块浮点编码器。导数采样是在已采样信号的连续采样量之中的一阶或者更高阶导数。在一个实施方式中,块浮点编码器基于最大导数采样来确定用于每个块的指数。霍夫曼编码器基于指数值的出现频率来向用于块的指数分配代码。用于块序列的编码指数打包成指数数组。尾数生成器使用由用于给定块的指数值指定的位数来对用于该块的尾数进行编码。已编码尾数被打包成尾数数组。
若干共有美国申请包括适配用于各种类型的信号和系统的块浮点编码。这些申请包括:2008年5月21日提交的、名称为“CompressionofBasebandSignalsinBaseTransceiverSystems”的第12/124,312号美国专利申请;2008年5月21日提交的、名称为“CompressionofSignalsinBaseTransceiverSystems”的第12/124,541号美国专利申请;2008年9月11日提交的、名称为“AdaptiveCompressionofComputedTomographyProjectionData”的第12/208,839号美国专利申请;2008年9月11日提交的、名称为“EdgeDetectionforComputedTomographyProjectionDataCompression”的第12/208,835号美国专利申请;2008年1月12日提交的、名称为“CompressionandStorageofProjectionDatainaComputedTomographySystem”的第12/352,116号美国专利申请、名称为“CompressionandStorageofProjectionDatainaRotatablePartofaComputedTomographySystem”的第12/352,222号美国专利申请、2009年6月2日提交的、名称为“UltrasoundSignalCompression”的第12/477,062号美国专利申请;以及2009年6月29日提交的、名称为“Post-BeamformingCompressioninUltrasoundSystems”的第12/494,184号美国专利申请。
发明内容
本发明的实施方式提供具有控制特征的对采样信号数据的增强型块浮点压缩,以允许已压缩采样的固定输出数据速率或者固定质量度量。本发明的目的是提供一种用于对多个信号采样进行压缩的方法,其中信号采样包括每个采样的多位。该方法包括:
将多个信号采样分组成编码组序列;
对于编码组序列中的编码组,确定用于编码组的块指数值,以及确定用于编码组中的每个信号采样的尾数,尾数具有基于用于编码组的所述指数值的位数;
对于编码组序列,对用于编码组的块指数值进行编码以确定用于序列中的编码组的指数令牌,其中指数令牌代表用于序列中的一个或者多个编码组的一个或者多个块指数值;以及
使用指数令牌和尾数来对用于存储或者发送的多个信号采样进行编码,以形成已压缩数据。
本发明的另一目的是提供一种用于对输入信号进行解压的方法,输入信号传送代表多个已编码原始信号采样的已压缩数据。该方法包括:
分解已压缩数据以获得多个指数令牌和多个已压缩尾数组,其中所述多个已编码原始信号采样由所述指数令牌和所述尾数代表;
对多个指数令牌进行解码以形成多个块指数值,其中每个块指数值与多个已压缩组之一关联;
对于每个已压缩组,使用关联块指数值来确定代表已压缩组中的每个尾数的位数,并且将每个尾数的位数映射到对应已解压采样以形成已解压采样组;以及
将所述确定和所述映射应用于多个已压缩组以生成多个已解压采样。
本发明的另一目的是提供一种用于对多个信号采样进行压缩的装置。该装置包括:
用于将信号采样分组成编码组序列以形成编码组序列的逻辑;
确定用于每个编码组的块指数值的逻辑;
尾数编码器,接收每个编码组中的信号采样并且形成用于每个信号采样的尾数,其中特定编码组的每个尾数具有基于用于特定编码组的块指数值的位数;
指数编码器,对用于编码组序列的块指数值进行编码以产生指数令牌,其中指数令牌代表用于一个或者多个编码组的一个或者多个块指数值;以及
位打包器,布置用于编码组序列的指数令牌和尾数以形成用于存储或者发送的已压缩数据。
本发明的另一目的是提供一种用于对输入信号进行解压的装置,输入信号传送代表多个已编码原始信号采样的已压缩数据。该装置包括:
缓冲器,接收压缩数据,其中多个编码原始信号采样由多个指数令牌和多个已压缩尾数组代表;
耦合到缓冲器的逻辑,用于分解已压缩数据以获得多个指数令牌和多个压缩尾数组;
指数解码器,接收多个指数令牌并且确定多个块指数值,其中每个块指数值与已压缩尾数组之一关联;
尾数解码器,接收每个已压缩尾数组和关联块指数值,其中代表已压缩组中的每个尾数的位数基于关联块指数值,尾数解码器将每个尾数的位数映射到对应已解压采样以形成已解压采样组,尾数解码器对多个已压缩组进行解码以产生多个已解压采样。
附图说明
图1是使用块浮点编码来压缩信号采样的信号处理系统的框图。
图2是块浮点编码器的框图。
图3a图示了选择用于已编码尾数的n_exp位的示例。
图3b示出了对相同块内的两个采样进行压缩的示例。
图4是将四位或者八位用于指数令牌的编码方案的表。
图5是用于N_GROUP个采样的块的指数编码的框图。
图6给出对八个信号采样块的指数编码以形成单个已压缩分组的示例。
图7是已压缩分组的数据部分的图,该已压缩分组用于图6的示例的已压缩块。
图8a图示了包括去除用于精简(reduced)尾数的LSB的位选择。
图8b示出了对相同块内的两个采样进行压缩的示例,其中精简尾数具有m_exp位。
图9是n_exp、n_LSB和m_exp的示例值的表。
图10是包括去除LSB的块浮点编码器的框图。
图11a是代表量化简档(quantizationprofile)函数f(n_exp)的示例的与图9中给出的表对应的图形。
图11b是量化简档函数f(n_exp)的图形表示的另一示例。
图11c是量化简档函数f(n_exp)的图形表示的另一示例。
图11d是量化简档函数f(n_exp)的图形表示的另一示例。
图12是针对已压缩数据的固定位速率的向BFP编码器的反馈控制的框图。
图13是针对已压缩数据的固定质量度量的向BFP编码器的反馈控制的框图。
图14是使用块浮点解码来对已压缩分组进行解压的信号处理系统的框图。
图15是用于对具有每个已编码尾数n_exp位的已压缩组进行解压的块浮点解码器操作的框图。
图16是用于对具有每个已编码尾数m_exp位的已压缩组进行解码的块浮点解码器操作的框图。
图17是根据图4的代码表的指数解码器的框图。
图18是对关于图3b描述的已压缩采样进行解压的示例。
图19是对关于图8b描述的已压缩采样进行解压的示例。
图20是适合与本技术的实施方式一起使用的计算机系统210的简化框图。
图21是用于捕获和处理在多种应用中使用的信号数据的数据处理系统的概括框图。
图22是包括压缩的数据采集系统120的框图。
具体实施方式
图1是使用块浮点编码来压缩信号采样的信号处理系统的框图。模数转换器(ADC)200按照采样率和每个采样的位数,将输入模拟信号100转换成采样信号201。压缩器110应用于已采样信号201以产生已压缩采样。可选预处理器300可以针对特定应用或者为了增加压缩性能而对已采样信号201执行各种操作。可选预处理器300可以提供比如信号调节、滤波、时间或者空间窗口化和缩放这样的操作。为了在一些应用中增加压缩性能,预处理器300可以包括如在’100专利中描述的导数运算符。只要信号在基带(DC)处或者附近,导数就减少采样的量值。当信号的中心频率在采样率的六分之一以上时,导数实际上增加采样量值。如下文进一步描述的那样,块浮点(BFP)编码器400定义信号采样的组或者块、确定指数并且对用于每组的尾数进行编码以形成已压缩组。位打包器500根据已压缩组的序列形成已压缩分组。位打包器向压缩控制器600提供关于压缩块或者压缩分组的大小的信息。压缩控制器600调节BFP编码器400的参数,以增加或者减少压缩从而满足期望飞输出数据速率或者质量度量。用户可以向压缩控制器600输入用于BFP编码器的压缩控制参数。用户输入可以向压缩控制器600提供期望的输出数据速率或者质量度量。此外,压缩控制器600可以向预处理器300提供控制参数。
图2是块浮点编码器400的一个实施方式的框图。块生成器405定义将在一起被编码的N_GROUP个采样401i的块。对于N_GROUP个采样401i,根据以下步骤对最大指数进行编码并且对N_GROUP个尾数进行编码。
对于第一组N_GROUP个采样401i:
1)比如通过计算每组N_GROUP个采样中的最大量值的log2来确定用于具有最大量值的采样的指数(以2为底)。这表明每个编码采样的位数或者n_exp(0)。
2)使用S位来对第一组的指数n_exp(0)进行绝对编码,其中S是每个采样的原始位数。
3)使用每个采样的n_exp(0)位来对N_GROUP个采样进行编码。
对于第i组(i>0)N_GROUP个采样401i:
4)确定用于具有最大量值的采样的第i个指数(以2为底),该指数表明第i组中的每个编码采样的位数或者n_exp(i);
5)通过从n_exp(i-1)减去n_exp(i)以确定第i个差值来对第i个指数进行差分编码。使用对应令牌来对第i个差值进行编码,其中较短令牌代表较常用差值,而较长令牌代表较不常用差值。
6)使用每个采样n_exp(i)来对第i组N_GROUP个采样进行编码。
对于第一组采样,对指数n_exp(0)进行直接编码。例如可以对指数n_exp(0)编码如下,其中S是每个采样的原始位数:
a.0:n_exp(0)=0(所有4个采样值为零)
b.1:n_exp(0)=2(每个采样2位)
c.2:n_exp(0)=3(每个采样3位)
d.等等直至S-1:n_exp(0)=S(每个采样S位)
对于第i组,可以使用前缀代码来对指数n_exp(i)进行差分编码,其中无代码字为另一代码字的前缀。差分编码的示例如下:
1.计算差值:e_diff=n_exp(i)-n_exp(i-1)
2.对e_diff编码如下:
a.0:e_diff=e(i)-e(i-1)
b.101:e_diff=+1
c.110:e_diff=-1
d.1001:e_diff=+2
e.1110:e_diff=-2
f.等等。
指数差值的霍夫曼编码基于指数差值的出现频率来向它们分配不同长度的令牌。可以向指数差值的更频繁值分配更短的霍夫曼令牌。可以例如通过霍夫曼编码来对n_exp(i)进行直接编码而不是进行差分编码。下文描述用于对块指数编码的备选方式。
图2是块浮点编码器400的示例,其中N_GROUP=4个采样。指数计算器402如在步骤1和步骤4中那样确定用于N_GROUP个采样的最大指数n_exp。最大指数对应于具有最大量值的采样的以2为底的对数。指数令牌生成器404如在步骤2和步骤5中那样对n_exp个值进行编码。尾数打包器406如在步骤3和步骤6中那样,对用于N_GROUP个采样的尾数进行编码从而产生具有n_exp位的尾数。图3a图示了选择用于编码尾数的n_exp位的示例。输入采样420由K位代表。选择采样420的n_exp更低位用于编码。向所选位附加用于采样的符号位,并且所得位序列代表编码采样。图3b示出了对相同块内的两个采样进行压缩的示例。对于这一示例,以符号-量值格式代表采样。块中的N_GROUP个采样的最大量值采样421占用由“X”表明的n_exp个尾数位。每个采样的原始位数为K(从0至K-1编索引,其中位K-1代表符号位“S”)。已压缩采样422根据步骤3和6代表n_exp个尾数位“X”以及符号位“S”。采样423代表N_GROUP个采样的块中的占用“Y”表明的位的另一采样。已压缩采样424使用n_exp位以根据步骤3和6代表尾数位“Y”及其符号位“S”。已压缩采样422和424的尾数具有与未压缩采样421和423的对应尾数相同的整数值,然而减少每个尾数的位宽。回到图2,复用器408将由N_GROUP个已编码尾数的集合跟随的已编码指数令牌411与符号位一起打包,以形成代表N_GROUP个已压缩采样的已压缩组410。对于这一示例,已压缩组410包括由四个打包尾数(具有附加符号位)412-0、412-1、412-2和412-3的序列跟随的指数令牌411。位打包器500可以级联连续压缩的组410以形成已压缩分组的数据部分。备选地,位打包器500可以布置对应由尾数集合跟随的与组序列对应的指数令牌序列。用于N_GROUP的优选大小为每组三个或者四个采样。然而也可以使用可变的组大小。
对尾数和指数进行单独编码可以提供附加压缩并且减轻压缩误差。在用于指数编码的一个优选实施方式中,对两个或者更多指数差值进行联合编码。用于来自各种应用的信号数据(包括超声、雷达和计算的断层摄影原始数据)的块指数值的统计分析表明,连续指数的90%具有范围为{01,0,+1}的差值,而连续指数的98%具有范围为{-2,-1,0,+1和+2}的差值。对两个或者更多相继指数差值进行联合编码可以减少每个编码指数的尾数。在图4中给出将四位或者八位用于指数令牌的编码方案。在与允许具有任意位长度的指数令牌的指数编码比较时,通过使用固定数目的指数位,压缩和解压的复杂性减少。图4的表列举用于三个编码选项的指数令牌值:(A)对两个相继指数差值进行联合编码、(B)对一个指数差值进行编码以及(C)对一个指数值进行绝对(或者线性)编码。在第三列给出的用于联合编码选项(A)的相继指数差值{diff(i),diff(i-1)}具有九个不同差值组合,其中第一和第二编码指数差值均具有三个可能值{-1,0,+1}之一。可以使用各自具有4位的指数令牌来对表中的十六个组合中的这九个组合进行编码。由于一个令牌对用于两个块的指数进行编码,所以指数差值的联合编码使用每个块指数2位。针对选项(B)列举范围为{-2,-1,0,+1和+2}的单个指数差值的编码和关联的指数令牌。这一选项使用表中的十六个组合中的五个组合。最后,针对选项(C)列举的用于指数值本身n_exp(i)的绝对编码使用每个指数令牌8位。在这一实施方式中,最高三位设置成1而最低五位对指数进行编码。设置成1的最高三位表明对指数进行绝对编码。五个较低位表明范围为{0,2,3,...,32}的一个绝对指数,其中不允许指数值1。使用整数个半字节(4位单位)简化指数编码和以后的解码。将图4的指数编码应用于来自上述应用的信号数据表明用于指数编码选项的以下比例:
(A)联合编码选项(2位/指数)-指数的80%
(B)差分编码选项(4位/指数)-指数的18%
(C)线性编码选项(8位/指数)-指数的2%
用于每个选项的位/指数的加权平均表明每个已编码指数的平均位数约为2.48位。由于每个编码指数有N_GROUP个个体采样,所以指数编码方案在与备选指数编码技术(尤其是使用每个尾数一个指数的指数编码技术)比较时提供明显效率。
为了对分组进行高效编码和解码,在分组内包含用于分组代表的所有采样的压缩数据。对分组的第一块指数绝对编码使第一指数令牌独立于前一分组。分组的最后块指数可以与分组的倒数第二块指数差分编码。与最后块指数和前一块指数对应的指数差值可以与相同分组内的前一指数差值联合编码、但是可以不与后续分组的第一指数差值联合编码。
图5是N_GROUP个采样401i的块的指数编码的框图。这一框图未包括上文描述的用于对分组中的第一和最后块指数进行编码的附加条件。减法器430从前一块指数n_exp(i-1)减去用于当前块的块指数n_exp(i),以形成指数差值diff(i)。判决块432测试差值的量值是否大于1。如果来自前一迭代的diff(i)和指数差值diff(i-1)少于或者等于一,则联合编码器440如图4中的选项(A)所示对diff(i)和diff(i-1)联合编码,以形成代表两个指数差值的4位令牌。如果diff(i)大于1,则判决块436测试差值的量值是否大于2。如果diff(i)的量值大于2,则绝对编码块434如图4中的选项(C)所示对指数n_exp(i)进行编码,以形成代表n_exp(i)的8位令牌。如果不是,则差分编码块438如图4中的选项(B)所示对diff(i)进行编码,以形成代表指数差值diff(i)的4位令牌。向位打包器500提供指数令牌。
图6给出对八个信号采样块的分量编码以形成单个已压缩分组的示例。在这一示例中,对前两个块指数进行绝对编码(选项(C))以具有每个令牌八位。对块3至6的指数差值进行联合编码(选项(A))以形成用于块3和4的4位指数令牌以及用于块5和6的4位指数令牌。对用于块7和8的指数差值差分编码以产生用于每个块的一个4位指数令牌。尽管用于块7的指数差值diff(7)=+1落入用于联合指数编码的范围内,但是用于块8的指数差值diff(8)=-2未落入。因此分别向diff(7)和diff(8)各自分配4位指数令牌1100和1001。
图7是已压缩分组的数据部分的图,该已压缩分组用于图6的示例的压缩块。该已压缩分组也将包括未示出的标头。用于每个块的四个尾数的打包位(包括符号位)由图中的“4M”表示而未按比例示出。已压缩块1包括8位指数令牌和用于四个14位尾数的打包位。已压缩块2包括8位指数令牌和用于四个7位尾数的打包位。由于对用于块3和4的指数差值进行联合编码,所以已压缩块3包括4位指数令牌和四个7位尾数。已压缩块4包括四个8位尾数而无指数令牌。由于对用于块5和6的指数差值进行联合编码,所以已压缩块5包括4位指数令牌和四个7位尾数。已压缩块6包括四个7位尾数而无指数令牌。已压缩块7包括代表与块6和块7的指数之差的指数令牌以及四个8位尾数。已压缩块8包括代表与块7和8对应的指数之差的指数令牌以及四个6位尾数。对于这一示例,使用五个指数令牌来对八个块编码。
在用于指数编码的一个备选实施方式中,对连续指数的差值进行计算和编码。指数缓慢变化,因而由零值串隔开的相对少数非零值。可以通过仅代表非零差值及其对应位置来对指数差值进行高效编码。位置可以由对应索引值代表或相对于最后非零差值的位置。指数差值的编码是无损的,这防止相对大的误差。为了对指数进行解码,通过对指数差值进行积分,并且对对应位置的位置编码来重建指数值。为了对尾数进行解码,约束每个重建的尾数值为它没有改变解码采样的对应指数的值。对于已解码指数n_exp,重建的尾数可以具有最大值2n_exp-1。这防止尾数中的压缩误差改变指数的值。
另一备选块浮点编码方法提供代表尾数的位数的进一步减少以及上文描述的指数差分编码。通过从每个尾数有选择地去除多个最低有效位(LSB)或者n_LSB,来进一步减少代表N_GROUP个采样的尾数的位数。如下文描述的那样,n_LSB的值依赖于用于采样块的n_exp值。图8a图示了位选择(包括为精简尾数去除LSB)。如在上述步骤1和步骤4中那样确定n_exp。去除从最低有效位开始的数目为n_LSB的位,而不是对尾数的所有n_exp更低位编码。选择剩余m_exp位(m_exp=n_exp-n_LSB)用于编码。图8b示出了压缩相同块内的两个采样的示例,其中精简尾数具有m_exp位。这一示例使用与关于图3b描述的示例相同的输入采样421和423。块中的N_GROUP个采样的最大量值采样421占用由“X”表明的n_exp位。在去除n_LSB位时,已压缩采样425代表具有更少MSB和LSB的精简尾数中的m_exp位“X”。采样423代表N_GROUP个采样的块中的由位“Y”代表的另一采样。在去除n_LSB个采样时,已压缩采样426使用m_exp位来代表具有m_exp位的精简尾数中的位“Y”。已压缩采样425和426的尾数具有来自未压缩采样421和423的对应尾数的不同整数值。当通过舍入来去除n_LSB时,已压缩采样425和426的精简尾数的整数值可以高于或者低于相应未压缩采样421和423。当通过截断来去除n_LSB时,已压缩采样425和426的精简尾数的整数值可以低于相应未压缩采样421和423。
n_LSB的值根据公式或者表而依赖于n_exp的值。图9是n_exp、n_LSB和m_exp的示例值的表。对于n_exp的更大值,通过截断或者舍入来去除更多LSB以形成具有m_exp位的精简尾数。例如,如果n_exp为12,则去除3个LSB,从而保持9个尾数位用于打包N_GROUP精简尾数。块浮点编码器400可以存储n_exp、n_LSB和m_exp的值的查找表。备选地,块浮点编码器400可以将n_LSB和m_exp表示为n_exp的函数并且在需要时计算它们的值。
图10是包括去除LSB的块浮点编码器400的框图。对于每组N_GROUP个采样,指数计算器402如上文描述的那样确定最大指数n_exp。尾数位计算器414使用将n_LSB、m_exp和n_exp相关的查找表或者公式(这里称为量化简档),来确定精简尾数中的尾数m_exp。精简尾数打包器416选择用于N_GROUP个采样中的每个采样的m_exp位。复用器408然后对由精简尾数(与附加符号位一起)419-0、419-1、419-2和419-3跟随的指数令牌411进行打包以形成已压缩组418。对于一些条件,没有从该组N_GROUP采样去除LSB。例如当N_GROUP个采样中的一个或者多个采样的量值少于可接受数目时,将对包括原始LSB的N_GROUP个尾数进行打包。位打包器500可以级联连续压缩的组418以形成压缩分组的数据部分。备选地,位打包器500可以布置由对应尾数集合跟随的与组序列对应的指数令牌序列。注意n_exp而不是m_exp用作向指数令牌生成器404的输入。压缩器110和解压器700均使用将n_exp、n_LSB和m_exp相关的相同量化简档(比如图9中的示例表)。一个优选实施方式在每个已压缩分组的标头中包括表选择器值、因此允许当前活跃量化简档随分组而改变。
压缩控制器600向块浮点编码器400提供压缩控制参数。压缩控制参数可以包括将n_LSB、m_exp和n_exp相关的查找表或者公式代表的备选量化简档。压缩控制参数可以包括用于量化简档的块大小参数N_GROUP和选择参数。压缩控制器600可以响应于用户输入以选择压缩控制参数。用户可以选择如下压缩控制参数,这些参数提供已压缩数据的固定位速率或者压缩数据的固定质量度量或者失真水平。
将n_LSB和m_exp与n_exp相关的量化简档可以由函数代表如下:
(n_LSB,m_exp)=f(n_exp)(1)
图11a至11d是示例函数f(n_exp)的图形表示。实线表明n_LSB的值而虚线表明m_exp的值。图11a是图9中给出的表的图形表示。图11b、11c和11d给出其他示例。量化简档可以被设计成使用于n_exp的定义范围的已压缩采样的误差最小。应用于采样的特定量化简档产生具有对应位速率和误差水平的压缩采样。
对于已压缩数据的固定质量,压缩控制器600可以选择如下量化简档,该量化简档提供特定信号质量度量或者失真水平。质量度量可以基于已压缩采样中的、由于精简尾数的截断或者舍入所致的误差。对于使用精简尾数的块浮点表示,可以使用采样中的指数值的出现概率或者概率密度函数(PDF)来计算这些误差。参照图9,从块中的尾数去除的LSB数目n_LSB依赖于用于块的最大指数值n_exp。从尾数的去除LSB是舍入或者截断误差的来源。可以使用高斯或者泊松密度函数来对信号数据PDF进行建模。对于这一方式,可以使用常规统计技术来计算PDF的参数(比如均值、方差或者标准偏差)。备选地,可以通过计算用于采样的指数值的直方图来估计PDF本身。可以使用如下常规统计技术来计算直方图,这些统计技术确定具有每个可能指数值的采样的数目。用于统计计算的采样可以对应于从预处理器300输出的如下采样,这些采样应用于针对特定信号类型的实际数据或者仿真数据。
这里将在精简尾数中的截断或者舍入误差称为量化误差或者QE。按照下式计算用于第j个采样s(i)的量化误差:
QE(j)=s(j)-Q[S(j)](2)
其中Q[S(j)]是将s(j)舍入或者截断成m_exp位而产生的s(j)的量化值。这一误差计算在解压向量化尾数附加n_LSB个零以产生具有原始位数的解压采样时适用。由于m_exp依赖于用于包含第j个采样的块的n_exp,所以量化误差QE(j)也依赖于n_exp。
可以基于量化简档f(n_exp)来估计作为指数值n_exp的函数的量化误差QE(n_exp)。备选地,可以通过向具有多个测试采样的测试信号应用量化简档并且使用等式(2)计算QE(j)来测量量化误差。用于多个测试采样的QE(j)的平均可以代表与特定量化简档对应的预计误差。
备选地,可以基于信号的PDF来计算预计误差。基于PDF的预计误差E由下式给出:
E=∑QE(exp)PDF(exp)(3)
其中PDF(exp)是指数值exp的概率密度函数。求和运算∑对从最小到最大n_exp的指数值exp求和,从而n_LSB≠0(即QE(n_exp)≠0)。例如参照图9,最大n_exp为4而最大n_exp为14。作为n_exp的函数的用于精简尾数的量化误差由下式给出:
QE(n_exp)=尾数(n_exp)-尾数(m_exp)(4)
根据量化函数f(n_exp),尾数(n_exp)代表全精度尾数而尾数(m_exp)代表具有m_exp位的精简尾数,其中m_exp=n_exp-n_LSB。然后可以使用等式(3)来计算预计误差。当用户选择期望质量、对应量化公式时,压缩控制器600将选择表或者公式代表的对应量化简档f(n_exp)。
对于已压缩数据的固定位速率或者压缩比,压缩控制器600可以选择如下量化简档,该简档提供具有已压缩数据最少失真的期望位速率。可以基于PDF(exp)来估计与特定量化简档关联的位速率。由于量化简档根据等式(1)表明作为n_exp的函数的用于对尾数编码的尾数m_exp,所以估计用于对N_SAMP个采样的尾数编码的尾数如下:
N_MANT_BITS=N_SAMP*∑m_exp(exp)PDF(exp)(5)
其中根据量化简档,PDF(exp)为指数值的概率密度函数而m_exp(exp)表明与特定n_exp关联的每个尾数的位数m_exp。如上文关于等式(3)描述的那样,求和运算∑对从最小到最大n_exp的指数值求和。用于如上文关于图4描述的那样对块指数进行编码的位数N_EXP_BITS估计如下:
N_EXP_BITS=2.48*N_SAMP/N_GROUP(6)
经验因子2.48是上文描述的通过将图4的指数编码应用于来自各种应用的信号数据、来确定的每个编码指数的平均位数。可以通过将上文描述的指数编码应用于感兴趣应用的信号数据,来针对其他应用测量这一因子。由于每N_GROUP个采样对一个指数进行编码,所以数目N_EXP_BITS通常相对于N_MANT_BITS为小。用于N_SAMP个采样的已压缩数据位数N_COMP_BITS为以下求和:
N_COMP_BITS=N_MANT_BITS+N_EXP_BITS(7)
压缩比CR由下式给出:
CR=BITS_SAMPLE*N_SAMP/N_COMP_BITS(8)
其中BITS_SAMPLE是向BFP编码器400输入的每个采样的位数。
用于误差和已压缩位速率的上述近似未对块指数(其中在N_GROUP个采样的给定块内可以有不同指数值,其中最大指数n_exp)的影响建模。基于经验测量的如下先前结果表明上述近似有用,这些结果示出了块指数或者n_exp随块缓慢变化。备选块指数模型可以并入用于具有最大指数值n_exp的块内的指数值EXP的条件概率P(EXP/n_exp)。
对于固定位速率或者固定质量,量化简档集合与用于每个量化简档的对应质量度量(基于误差、失真水平、信噪比等)和对应位速率一起被提供给压缩控制器600。通过使用信号模型和/或将BFP编码应用于实际或者仿真信号数据并且测量结果,可以针对特定应用来确定量化简档和对应质量度量。例如可以使用测试信号在系统校准期间确定一个或者多个量化简档集合。可以向压缩控制器600的存储器下载量化简档集合。用户可以选择特定量化简档集合用于在压缩信号采样期间使用。压缩控制器600可以从随分组变化的集合自适应地选择系列量化简档。
压缩控制器600可以向BFP编码器400并且可选地向预处理器300提供反馈控制。图12是针对压缩数据的固定位速率的向BFP编码器400的反馈控制的框图。压缩控制器600从位打包器500接收位速率信息(比如已压缩采样的每个分组的位计数)。位速率计算器610出于反馈控制的目的而计算压缩分组的位速率或者分组大小。位速率计算器610可以对若干已压缩分组平均位计数以计算位速率。比较器620确定测量的位速率是否在期望位速率的容限范围内。如果测量的位速率在容限范围以外,则选择器630从量化简档集合632选择新量化简档以提供更低或者更高位速率。容限范围可以由用户定义。比较器620可以计算测量的位速率与期望位速率之差。用于差值的容限范围可以是零或者可以落入差值范围内。容限范围可以包括正和负端点,从而可以在已压缩位速率太高或者太低时调整它。压缩控制器600可以包括用于存储量化简档集合632的储存器。BFP参数生成器640向用于尾数位计算器414(见图10)的BFP编码器400提供将n_exp与n_LSB和m_exp相关的对应压缩控制参数。在其中量化简档由存储于存储器中的公式代表的一个实施方式中,BFP参数生成器640计算用于将n_exp与n_LSP和m_exp相关的查找表(LUT)的条目。在其中将量化简档表示为LUT的一个实施方式中,BFP参数生成器640提供表明所选LUT的压缩控制参数。在一个备选实施方式中,BFP编码器400可以在本地存储器中存储量化简档(公式或者表)。对于这一备选方式,BFP参数生成器640可以提供用于选择新量化简档的压缩控制参数。
图13是针对已压缩数据的固定质量度量的向BFP编码器400的反馈控制的框图。质量度量计算器650计算质量度量(比如平均误差、SNR或者其他失真测量)。在一个优选实施方式中,根据等式(2)计算并且对一个或者多个压缩分组平均量化误差QE(j)以产生平均误差。质量度量计算器650可以计算用于对应信号采样s(j)的平均信号功率以产生测量的SNR。质量比较器660比较测量的质量度量(比如SNR的平均误差)与期望质量。如果测量的质量度量在容限范围以外,则选择器630选择用于确定压缩控制参数的新量化简档。用于质量度量的容限范围由用户定义并且可以是零或者可以落入差值范围内。BFP参数生成器640如上文关于图12描述的那样向BFP编码器400提供新压缩控制参数。
位打包器500根据BFP编码器400产生的压缩组(比如图2的压缩组410或者图10的压缩组418)形成压缩分组。位打包器500级联多个已压缩组以形成压缩分组的数据部分。上文关于图7描述了已压缩分组的数据部分的示例。位打包器500产生在已压缩分组的数据部分之前的标头。标头可以包括与同步、由分组代表的采样数目、分组中的字节数目、已编码的压缩控制参数、量化简档和其他标识信息有关的信息。根据用户定义的协议在标头中具有固定位宽的字段中代表这一信息。当BFP编码依赖于量化简档以对压缩块进行编码时,标头中的压缩控制参数可以包括与量化简档或者量化简档本身的参数对应的索引。为了支持解压,对分组标头解码以重新生成用于对数据部分的压缩块进行解码的参数并且对已解压采样重新定序。
图14是使用块浮点解码对已压缩分组进行解压的信号处理系统的框图。解压器700接收包括已压缩分组的输入信号,并且向应用处理器722提供已解压采样以用于该应用特有的信号处理操作。分组预处理器702分离每个已压缩分组的标头和数据部分,并且向BFP解码器710提供包含已压缩数据的数据部分。分组预处理器702对标头中的已编码参数进行解码并且向解压控制器730提供它们。BFP解码器根据已解码的压缩控制参数来对分组的压缩组进行解压,以形成与每个已压缩组对应的N_GROUP个解码采样。后处理器720对已解码采样组重新定序,并且可以执行其他操作以重建对应信号采样。例如,如果预处理器300在块浮点编码之前计算采样信号201的一阶或者更高阶导数,则后处理器720将计算已解码采样的一阶或者更高阶积分以重建采样信号。
图15是用于对具有每个已编码尾数n_exp位的已压缩组的块进行解压的浮点解码器710的操作的框图。以压缩组缓冲器740接收与图2中的已压缩分组410对应的用于N_GROUP个已压缩采样的指数令牌和尾数。如下文描述的那样,指数解码器750使用图4的代码表来对指数令牌解码以提供指数值n_exp。指数值n_exp表明代表N_GROUP个尾数中的每个尾数的位数。尾数解码器770将每个尾数映射到具有适当数目的较高阶位(通常为符号扩展位)和较低阶位(n_LSB位)的采样,以将采样表示恢复成原始位数或者其他尾数从而符合目的地处理器的数据格式。尾数解码器770产生已解压组780,其中已解压采样S0至S3对应于图2中的打包的尾数412-0至412-3。
图16是用于对具有每个编码尾数m_exp位的已压缩组进行解压的块浮点解码器710的操作的框图。已压缩组缓冲器740接收与图10中的已压缩组418对应的压缩组。如下文描述的那样,指数解码器750使用图4的代码表来对指数令牌解码以提供指数值n_exp。尾数解码器770使用指数值n_exp和量化简档来确定表明每个精简尾数419-0至419-3的尾数的参数m_exp。尾数解码器770将尾数映射到具有适当数目的较高阶位的采样。尾数移位计算器772使用指数值n_exp基于量化简档来确定n_LSB参数。在一个优选实施方式中,左移位器773将尾数移位n_LSB位从而在LSB位置附加零以产生对应的已解压采样。在左移位器774的一个备选实施方式中,向n_LSB位填充固定值(比如n_LSB-1个零跟随的‘1’,这生成具有可预测平均值的量化误差)或者随机位。所得已解压组790包括与图10中的打包尾数419-0至419-3对应的N_GROUP个已解压采样S0-S3。解压控制器730向尾数解码器770和尾数移位计算器772提供与从分组标头恢复的量化简档对应的参数。
图17是根据图4的代码表的指数解码器750的框图。对于这一实施方式,指数解码器750针对如参照图5描述的那样编码的指数令牌应用测试,以确定指数令牌是否代表被联合编码指数差值(选项A)、单个编码的指数差值(选项B)或者绝对编码的指数(选项C)。指数解码器750测试指数令牌501的较低四位。判决块752测试指数令牌751的较低四位的值是否小于9。如果是这样,则指数令牌501根据选项A代表联合编码指数差值。解码块860对指数令牌751的四位进行解码以确定连续差值diff(i)和diff(i+1)。这些用来计算连续指数值n_exp(i)和n_exp(i+1)。加法器762将diff(i)与先前计算的指数值n_exp(i-1)相加以计算第i个指数值n_exp(i)。加法器764将差值diff(i+1)与第i个指数值n_exp(i)相加以计算n_exp(i+1)。判决块754测试指数令牌751的较低四位是否小于14。如果是这样,则指数令牌501根据选项B代表已编码指数差值。解码块766对四位进行解码以确定差值diff(i)。加法器768将差值diff(i)与先前计算的指数值n_exp(i-1)相加,以确定第i个指数值n_exp(i)。如果判决块752和754的结果对于指数令牌751的较低四位而言为负,则指数令牌具有用于共计八位的四个附加位,并且根据选项C代表绝对编码指数。解码块756对8位指数令牌进行解码以确定指数值n_exp(i)。
图18是对关于图3b描述的已压缩采样进行解压的示例。尾数解码器770使用指数值n_exp来标识每个压缩采样422和424的尾数位和符号位。尾数解码器770将n_exp尾数位和符号位映射到各自具有原始数目K位的相应已解压采样421a和423a。备选地,尾数解码器770可以将尾数映射到与原始信号采样的位宽不同的位宽,以分别形成各自具有扩展数目Kext位的解压采样421b和423b。在这一示例中,在已解压采样421a、421b、423a和423b中的更高阶位为零,这对应于符号-量值表示。备选地,较高阶位中的一位或者多位根据目的地处理器的期望数据表示可以是符号扩展位。
图19是关于图8b描述的解压压缩采样的示例。尾数解码器770使用参数m_exp来标识压缩采样425和426的尾数位和符号位。尾数解码器770将m_exp个尾数位和符号位映射到K位采样。左移位器774将位左移n_LSB以分别产生已解压采样421c和423c。备选地,尾数解码器770和左移位器774可以形成分别各自具有扩展数目Kext位的解压采样421d和423d。备选地,更高阶位中的一位或者多位根据目的地处理器的期望数据表示可以是符号扩展位。
本发明的压缩器110和解压器700不受采样的特定数据表示格式限制。数据表示格式可以包括符号-量值、量值扩展、二的补码或者无符号整数。数据表示格式也可以包括以比如在标准IEEE-754-1985或者IEEE754-2008中描述的标准浮点格式32位、64位或者128位值的尾数或者指数(或者二者)。向块浮点编码器400或者预处理器300输入的采样可以具有与从块浮点解码器710或者后处理器720输出的解压采样的数据表示格式不同的数据表示格式。用户可以确定数据表示格式以满足数据处理器系统的针对特定应用的要求。
压缩器110将简单运算应用于从ADC200输出的信号采样。块浮点编码使用比较器、减法器和查找表。解压器应用简单运算以对已压缩分组进行解压。块浮点解码压缩器包括查找表、加法器和移位器。由于简单运算,压缩器110和解压器700可以被实施成在包括无线通信、雷达、超声、原始计算断层摄影数据的信号处理应用中的、实时地或者至少与ADC200的采样率一样快地操作。
压缩器110的实施方式包括在单个专用集成电路(ASIC)设备中集成ADC200和压缩器110。压缩器110的实施方式至少包括BFP编码器400和位打包器600。压缩控制器600可以实施于ASIC中或者微控制器中。根据应用,控制器110也可以包括预处理器300。备选架构可以在与ADC200分离的设备中实施压缩器110。压缩器110可以由ASIC、FPGA或者可编程处理器(比如数字信号处理器(DSP)、微处理器、微控制器多芯CPU(比如IMBCell)或者图形处理单元(GPU:比如NvidiaGeForce))实施。
解压器700可以并入到与应用处理器722相同的设备或者不同的设备中。可以在ASIC或者FPGA中实施解压操作。解压器700可以并入到数模转换器(DAC)中,其中DAC取代图14的应用处理器722。备选地,可以在由可编程处理器(比如DSP、微处理器、微控制器、CPU或者GPU)可执行的软件或者固件程序中实施解压操作。解压器700的优选实施方式是如下软件程序,该软件程序具有由GPU可执行的用于解压操作的指令。GPU也可以被编程为实施应用处理器722的操作的至少部分。备选地,可以向另一可编程处理器(比如CPU)传送已解压采样用于该应用的附加信号处理操作。
图20是适用于与本技术的实施方式一起使用的计算机系统210的简化框图。计算机系统210通常包括经由总线子系统212来与多个外围设备通信的至少一个处理器214。这些外围设备可以包括存储子系统224(该子系统包括存储器子系统226和文件存储子系统228)、用户接口输入设备222、用户接口输出设备220和通信接口子系统216。输入和输出设备允许与计算机系统210的用户交互。通信接口子系统216提供与通信信道或者网络218的接口,该信道或者网络可以是单个信道或者具有多个信道的通信网络。通信信道或者网络218耦合到其他计算机系统中的对应接口设备、发送或者接收设备或者外界网络。通信信道或者网络218可以包括有线链路、光学链路、无线链路或者用于信息通信的任何其他机制。通信网络218可以包括多个互连计算机系统和通信链路。尽管在一个实施方式中,通信网络218为因特网,但是在其他实施方式中,通信网络218可以是任何适当计算机网络。
用户接口输入设备222可以包括键盘、指示设备(比如鼠标、跟踪球、触板或者图形写字板)、扫描仪、并入到显示器中的触屏、音频输入设备(比如语音识别系统)、麦克风和其他类型的输入设备。一般而言,使用术语“输入设备”旨在于包括用于向计算机系统210中输入信息的所有可能类型的设备和方式。
用户接口输出设备220可以包括显示子系统、打印机、传真机或者非可视显示器(比如音频输出设备)。显示子系统可以包括阴极射线管(CRT)、平板设备(比如液晶显示器(LCD))、投影设备或者用于创建可视图像的某一其他机制。显示子系统也可以比如经由音频输出设备提供非可视显示。一般而言,使用术语“输出设备”旨在于包括用于从计算机系统210向用户或者向另一机器或者计算机系统输出信息的所有可能类型的设备和方式。
存储子系统224存储基本编程和数据构造,这些编程和数据构造可以提供这里描述的压缩器110和/或解压器700中的一些或者所有部件的功能。这些软件模块一般由处理器214执行。处理器214可以包括DSP、微处理器、微控制器、CPU或者GPU中的一项或者多项。处理器214也可以包括如上文描述的专用ASIC或者FPGA逻辑,该逻辑实施压缩器110或者解压器700的一些或者所有功能。
存储器子系统226通常包括多个存储器,这些储存器包括用于在程序执行期间存储指令和数据的主要随机存取存储器(RAM)230以及其中存储固定指令的只读存储器(ROM)232。文件存储子系统228提供用于程序和数据文件的持续存储并且可以包括硬盘驱动、软盘驱动以及关联可拆卸介质、CD-ROM驱动、光学驱动或者可拆卸介质盒。实施某些实施方式的功能的数据库和模块可以由文件存储子系统228存储。
总线子系统212提供用于让计算机系统210的各种部件和子系统如既定的那样相互通信的机制。虽然示意地示出了总线子系统212为单个总线,但是总线子系统的备选实施方式可以使用多个总线。
计算机可读介质240可以是与文件存储子系统228和/或与通信接口子系统216关联的介质。计算机可读介质240可以是硬盘、软件、CD-ROM、光学介质、可拆卸介质盒或者电磁波。示出了计算机可读介质240存储压缩数据文件280。计算机可读介质也可以存储程序,这些程序实施压缩器110和/或解压器270的功能。
计算机系统210本身可以是可变类型(包括个人计算机、便携计算机、工作站、计算机终端、网络计算机、电视机、主机或者任何其他数据处理系统或者用户设备)。由于计算机和网络的不断改变的性质,图20中所示计算机系统210的描述仅旨在于作为用于举例说明优选实施方式的具体示例。计算机系统210的诸多其他配置有可能具有比图20中所示计算机系统更多或者更少的部件。
本发明的实施方式可以压缩多种信号类型和应用(包括通信、超声、雷达和传感器)的信号采样。本发明的压缩可以应用于数据采集系统产生的用于成像的信号(包括用于计算机断层摄影(CT)和磁共振成像(MRI)的原始数据)。用于这些类型的应用的数据处理系统一般包括用于捕获信号数据的信号采集和处理系统(也称为数据采集系统(DAS))。可以向计算机系统210传送捕获的信号数据用于存储和应用处理。图21是用于捕获和处理在多种应用中使用的信号数据的数据处理系统的概括框图。数据采集系统120包括用于特定应用的传感器和处理单元。例如对于超声和声纳,数据采集系统120包括用于将接收的声学信号转换成模拟电信号的超声换能器单元。对于包括CTDAS的x射线成像仪器,数据采集系统120包括用于根据检测到的x射线辐射产生电信号的x射线传感器。对于通信、雷达或者MRIDAS,数据采集系统120包括用于将收集的电磁辐射转换成模拟信号的天线和接收器子系统。对于收集的数据的数字处理,数据采集系统120包括用于对模拟信号采样的ADC200。可以根据应用系统的架构经由接口222或者218向计算机系统210传送信号采样。计算机系统210执行接收的信号采样的具体处理和/或存储和/或处理结果的存储。对于比如超声、声纳、雷达、CT和MRI这样的应用,处理器214可以应用成像计算以形成用于显示子系统220的二维或者三维图像。对于通信应用,处理器214可以向信号采样应用解调操作,以形成用于用户接口输出设备220的输出和/或处理信号采样用于经由通信网络218向另一目的地传送。对于使用图21的一般架构的这些应用和其他应用,向数据采集和处理系统120中集成压缩器110减少针对接口222或者228的带宽要求、并且节约计算机系统210的存储子系统资源224。处理器214可以包括用于实施解压器700以在用于应用的处理之前解压压缩数据的专用处理器。
图22是包括压缩的数据采集系统120的框图。传感器子系统130包括针对应用进行操作以将特定模态的接收波形转换成模拟信号100的检测器、换能器和/或接收器。如关于图1描述的那样,ADC200对模拟信号100采样,并且压缩器110对信号采样进行压缩。设备接口130向接口218或者222提供压缩数据用于向计算机系统210传送。如关于图12描述的那样,处理器214解压接收的压缩数据并且执行应用特有处理。计算机系统210可以在文件存储子系统228中存储接收的压缩数据用于以后解压和应用处理。
对于一些应用,计算机系统210可以在向存储子系统224、通信信道218或者用户接口输出设备220传送之前压缩信号采样。例如向用户接口输出设备220(比如输出显示设备或者打印机)传送图像数据可以消耗输出设备220中嵌入的带宽和存储器。通常,打印机是用于办公室或者家庭中的计算机网络的共享资源,从而经由网络218向打印机传送扫描或者光栅图像采样。处理去往显示设备或者打印机的图像数据可以包括将二维图像数据扫描或者光栅化成扫描图像采样的一维序列。处理器214可以在向输出显示设备220或者经由通信网络218向共享打印机传送之前应用压缩器110。在这一情况下,光栅图像采样是向压缩器110输入的信号采样。嵌入于输出显示设备220中的解压器700在用于显示或者打印二维图像的操作之前将已压缩的扫描采样进行解压。
尽管已经图示和描述本发明的优选实施方式,但是将清楚本发明并非仅限于这些实施方式。在脱离如权利要求中描述的本发明的精神实质或者范围的情况下,诸多修改、改变、变化、替换和等效实施方式将为本领域技术人员所清楚。

Claims (36)

1.一种用于对多个信号采样进行压缩的方法,其中所述信号采样包括每个采样的多个位,包括:
将所述多个信号采样分组成编码组序列;
对于所述编码组序列中的编码组,确定用于所述编码组的块指数值,并且确定用于所述编码组中的每个信号采样的尾数,所述尾数具有基于用于所述编码组的所述指数值的位数;
对于所述编码组序列,对用于所述编码组的所述块指数值进行编码以确定用于所述序列中的所述编码组的指数令牌,其中指数令牌代表用于所述序列中的一个或者多个编码组的一个或者多个块指数值,包括:
确定用于所述序列中的连续编码组的块指数值之间的差值;
对所述确定的差值进行编码以产生用于所述连续编码组的
至少部分的所述指数令牌;
提供指数令牌代码的预定集合,所述预定集合中的所述指数令牌代码对在两个连续编码组中的块指数值之间的相应差值进行编码;
如果在用于所述序列中的两个连续编码组的所述块指数值之间的所述确定的差值与所述预定集合中的所述指数令牌代码中的一个指数令牌代码匹配,则使用所述指数令牌代码中的所述一个指数令牌代码,来代表用于所述两个连续编码组中的所述编码组中的一个编码组的所述块指数值;以及
通过使用所述指数令牌和所述尾数来对用于存储或者发送的所述多个信号采样进行编码以形成已压缩数据。
2.根据权利要求1所述的方法,包括:通过与用于个别个体编码组中的所述信号采样的串行布置的所述尾数相邻布置用于所述个别个体编码组的所述指数令牌,来形成已压缩数据集合。
3.根据权利要求1所述的方法,包括:通过串行布置用于所述序列中的多个编码组的所述指数令牌、并且串行布置用于所述多个编码组中的所述信号采样的所述尾数,来形成已压缩数据集合。
4.根据权利要求1所述的方法,其中所述块指数值基于所述编码组内的具有最大量值的信号采样中的最高非零有效位的位置值。
5.根据权利要求1所述的方法,其中所述对用于所述编码组的所述块指数值进行编码包括:
提供预定指数令牌代码的预定集合,所述预定集合中的所述指数令牌代码对在多于两个连续编码组中的块指数值之间的相应差值进行编码;以及
如果在用于所述序列中的多于两个连续编码组的所述块指数值的所述确定的差值与所述预定集合中的所述指数令牌代码中的一个指数令牌代码匹配,则使用所述指数令牌代码中的所述一个指数令牌代码,来代表用于所述连续编码组中的所述编码组中的多于一个编码组的所述块指数值。
6.根据权利要求1所述的方法,其中所述确定尾数包括:指定用于从所述编码组中的信号采样去除的最低有效位LSB的数目,以及其中用于所述编码组中的信号采样的所述尾数所包括的位数等于用于所述编码组的所述块指数值减去所述最低有效位的指定数目。
7.根据权利要求6所述的方法,其中所述指定LSB的数目基于用于所述编码组的所述块指数值来指定。
8.根据权利要求6所述的方法,其中所述指定最低有效位的数目基于用于所述已压缩数据的期望位速率来指定。
9.根据权利要求6所述的方法,其中所述指定最低有效位的数目基于用于所述已压缩数据的期望质量度量来指定。
10.根据权利要求1所述的方法,其中每个信号采样包括符号位,其中所述确定尾数包括:将每个信号采样的所述符号位与所述确定的尾数一起附加。
11.根据权利要求1所述的方法,包括:使用信号处理系统以执行所述分组、确定和编码,所述信号处理系统包括接收模拟信号的模数转换器,所述方法还包括:
将所述模拟信号转换成针对所述分组的步骤而提供的所述多个信号采样。
12.根据权利要求1所述的方法,包括:使用数据处理器和数据存储系统以执行所述分组、确定和编码。
13.根据权利要求1所述的方法,包括:使用数据通信信道中的接收器来接收所述多个信号采样。
14.根据权利要求1所述的方法,其中所述多个信号采样存储于数据存储系统中,并且包括从所述数据存储系统读取所述多个信号采样。
15.一种用于对输入信号进行解压的方法,所述输入信号传送已压缩数据,所述已压缩数据代表多个已编码原始信号采样,所述方法包括:
分解所述已压缩数据以获得多个指数令牌和多个已压缩尾数组,其中所述多个已编码原始信号采样由所述指数令牌和所述尾数代表;
对所述多个指数令牌进行解码以形成多个块指数值,其中每个块指数值与所述多个已压缩组中的一个已压缩组关联;
其中所述多个指数令牌的部分对与连续已压缩组关联的块指数值之间的差值进行编码,所述对所述多个指数令牌进行解码的步骤还包括:
提供指数令牌代码的预定集合,所述预定集合中的所述指数令牌代码对在与连续已压缩组关联的块指数值之间的相应差值进行编码;
对于给定指数令牌,通过使用所述预定集合来对由所述给定指数令牌代表的一个或者多个差值进行解码;以及
对于每个已解码差值,将所述已解码差值与前一块指数值相加,以确定与所述连续已压缩组中的对应压缩组关联的所述块指数值;
对于每个所述已压缩组,使用所述关联块指数值来确定代表所述已压缩组中的每个所述尾数的位数,以及将每个尾数的所述尾数映射到对应的已解压采样以形成已解压采样组;以及
将所述确定和所述映射应用于所述多个已压缩组以生成多个已解压采样。
16.根据权利要求15所述的方法,其中所述确定尾数位数还包括:
基于所述关联块指数值来确定最低有效位LSB的数目,其中所述映射包括插入用于所述对应已解压采样的所述LSB的数目的零位值或者抖动位值。
17.根据权利要求16所述的方法,其中所述输入信号包括:压缩控制参数,所述确定LSB的数目的步骤还包括:
从所述输入信号接收所述压缩控制参数;
根据所述压缩控制参数从存储于本地存储器中的多个量化简档选择量化简档,其中每个量化简档包括将相应块指数值与相应LSB的数目相关的查找表或者公式;以及
使用所述选择的量化简档以基于所述关联块指数值来确定所述LSB的数目。
18.根据权利要求15所述的方法,包括:使用数据处理器执行所述分解、解码、确定、映射和应用。
19.根据权利要求15所述的方法,包括:使用数据通信信道中的接收器来接收所述输入信号。
20.根据权利要求15所述的方法,其中包括:从数据存储系统取回所述输入信号。
21.一种用于压缩多个信号采样的装置,其中所述信号采样包括每个样本的多个位,包括:
用于将所述信号采样分组成编码组序列以形成编码组序列的逻辑;
确定用于每个编码组的块指数值的逻辑;
尾数编码器,接收每个编码组中的所述信号采样,并且形成用于每个信号采样的尾数,其中特定编码组的每个尾数具有基于用于所述特定编码组的所述块指数值的位数;
指数编码器,对用于所述编码组序列的所述块指数值进行编码以产生指数令牌,其中指数令牌代表用于一个或者多个编码组的一个或者多个块指数值;
差值计算器,确定与连续已压缩组关联的所述块指数值之间的差值,所述指数编码器对所述确定的差值进行编码以产生对应指数令牌;
存储于存储器中的指数令牌代码的预定集合,所述预定集合中的所述指数令牌代码对在用于两个连续编码组中的块指数值之间的相应差值进行编码;
逻辑,确定在用于所述序列中的两个连续编码组的所述块指数值之间的所述确定的差值与所述预定集合中的所述指数令牌代码中的一个指数令牌代码是否匹配,并且如果匹配则选择所述指数令牌代码中的所述一个指数令牌代码,来代表用于所述两个连续编码组中的所述编码组中一个编码区的所述块指数值;以及
位打包器,布置用于所述编码组序列的所述指数令牌和所述尾数以形成用于存储或者发送的已压缩数据。
22.根据权利要求21所述的装置,其中所述位打包器还包括:
复用器,通过与用于个体编码组中的所述信号采样的串行布置的所述尾数相邻布置用于所述个体编码组的所述指数令牌,来形成已压缩数据集合。
23.根据权利要求21所述的装置,其中所述位打包器还包括:
复用器,通过串行布置用于所述序列中的多个编码组的所述指数令牌、并且串行布置用于所述多个编码组中的所述信号采样的所述尾数,来形成已压缩数据集合。
24.根据权利要求21所述的装置,其中所述块指数值基于所述编码组内的具有最大量值的信号采样中的最高非零有效位的位置值。
25.根据权利要求21所述的装置,其中所述指数编码器还包括:
存储于存储器中的指数令牌代码的预定集合,所述预定集合中的所述指数令牌代码对在用于多于两个连续编码组的块指数值之间的相应差值进行编码;以及
逻辑,确定在用于所述序列中的多于两个连续编码组的块指数值之间的所述确定的差值与所述预定集合中的所述指数令牌代码中的一个指数令牌代码是否匹配,并且如果匹配则选择所述指数令牌代码中的所述一个指数令牌代码来代表用于所述连续编码组中的所述编码组中一个编码组的所述块指数值。
26.根据权利要求21所述的装置,其中所述尾数编码器指定用于从每个编码组中的信号采样去除的最低有效位LSB的数目,其中特定编码组的每个尾数所具有的位数等于所述块指数值减去所述指定的最低有效位数。
27.根据权利要求26所述的装置,所述尾数编码器还包括:存储于存储器中的量化简档,所述量化简档包括将相应块指数值与相应LSB的数目相关的查找表或者公式,所述尾数编码器通过使用所述量化简档以基于用于所述编码组的所述块指数值来确定所述LSB的数目。
28.根据权利要求27所述的装置,还包括:向所述尾数编码器提供压缩控制参数的压缩控制器,其中多个量化简档存储于所述存储器中,所述尾数编码器根据所述压缩控制参数来选择所述量化简档中的一个量化简档。
29.根据权利要求28所述的装置,其中所述压缩控制器基于用于所述已压缩数据的期望位速率来确定所述压缩控制参数。
30.根据权利要求28所述的装置,其中所述压缩控制器基于用于所述已压缩数据的期望质量度量来确定所述压缩控制参数。
31.根据权利要求21所述的装置,还包括:
模数转换器,耦合以接收模拟信号并且将所述模拟信号转换成所述多个信号采样。
32.一种用于对输入信号进行解压的装置,所述输入信号传送已压缩数据,所述已压缩数据代表多个已编码原始信号采样,所述装置包括:
缓冲器,接收所述已压缩数据,其中所述多个已编码原始信号采样由多个指数令牌和多个已压缩尾数组代表;
耦合到所述缓冲器的逻辑,用于分解所述已压缩数据以获得所述多个指数令牌和所述多个已压缩尾数组;
指数解码器,接收所述多个指数令牌并且确定多个块指数值,其中每个块指数值与所述已压缩尾数组之一关联,其中所述多个指数令牌的部分对与连续已压缩组关联的块指数值之间的差值进行编码,所述指数解码器还包括:
存储于存储器中的指数令牌代码的预定集合,所述预定集合中的所述指数令牌代码对在用于连续已压缩组的块指数值之间的相应差值编码,所述指数解码器使用所述预定集合来对接收的指数令牌所代表的一个或者多个差值进行解码,以获得一个或者多个已解码差值;
加法器,接收每个已解码差值和相应前一块指数值并且产生用于所述连续已压缩组中的对应压缩组的所述块指数值;以及
尾数解码器,接收每个已压缩尾数组和关联块指数值,其中代表所述已压缩组中的每个所述尾数的位数基于所述关联块指数值,所述尾数解码器将每个尾数的位数映射到对应已解压采样以形成已解压采样组,所述尾数解码器对所述多个已压缩组进行解码以产生多个已解压采样。
33.根据权利要求32所述的装置,其中所述尾数解码器基于所述关联块指数值来确定最低有效位LSB的数目,并且插入用于所述对应已解压采样的所述LSB的数目的零位值或者抖动位值。
34.根据权利要求33所述的装置,其中所述输入信号包括压缩控制参数,所述装置还包括:
解压控制器,从所述输入信号接收所述压缩控制参数并且向所述尾数解码器提供所述压缩控制参数;以及
多个量化简档,存储于耦合到所述尾数解码器的存储器中,其中每个量化简档包括将相应块指数值与相应LSB的数目相关的查找表或者公式,所述尾数解码器根据所述压缩控制参数选择所述量化简档中的一个量化简档,所述尾数解码器使用所述选择的量化简档以基于所述关联块指数值来确定所述LSB的数目。
35.根据权利要求32所述的装置,还包括:
接收器,耦合以从数据通信信道接收所述输入信号并且向所述缓冲器提供所述压缩数据。
36.根据权利要求32所述的装置,还包括:
数据存储系统,存储所述输入数据并且耦合以向所述缓冲器提供所述压缩数据。
CN201080047913.9A 2009-10-23 2010-10-22 信号数据的块浮点压缩的方法和装置 Active CN102597948B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/605,245 US8301803B2 (en) 2009-10-23 2009-10-23 Block floating point compression of signal data
US12/605,245 2009-10-23
PCT/US2010/053809 WO2011050293A2 (en) 2009-10-23 2010-10-22 Block floating point compression of signal data

Publications (2)

Publication Number Publication Date
CN102597948A CN102597948A (zh) 2012-07-18
CN102597948B true CN102597948B (zh) 2016-04-27

Family

ID=43899332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080047913.9A Active CN102597948B (zh) 2009-10-23 2010-10-22 信号数据的块浮点压缩的方法和装置

Country Status (6)

Country Link
US (3) US8301803B2 (zh)
EP (1) EP2491488A4 (zh)
JP (1) JP5745527B2 (zh)
KR (1) KR101703208B1 (zh)
CN (1) CN102597948B (zh)
WO (1) WO2011050293A2 (zh)

Families Citing this family (126)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2309648A1 (en) * 2009-09-14 2011-04-13 Thomson Licensing Method for encoding floating-point data, method for decoding floating-point data, and corresponding encoder and decoder
WO2011041269A2 (en) * 2009-09-30 2011-04-07 Samplify Systems, Inc. Enhanced multi-processor waveform data exchange using compression and decompression
US8301803B2 (en) * 2009-10-23 2012-10-30 Samplify Systems, Inc. Block floating point compression of signal data
US9003437B2 (en) * 2009-12-08 2015-04-07 At&T Intellectual Property I, L.P. Method and apparatus for utilizing a broadcasting channel
GB2484969B (en) * 2010-10-29 2013-11-20 Canon Kk Improved reference frame for video encoding and decoding
US8923386B2 (en) * 2011-02-11 2014-12-30 Alcatel Lucent Method and apparatus for signal compression and decompression
US8756262B2 (en) 2011-03-01 2014-06-17 Splunk Inc. Approximate order statistics of real numbers in generic data
JP5734717B2 (ja) * 2011-03-24 2015-06-17 セミコンダクター・コンポーネンツ・インダストリーズ・リミテッド・ライアビリティ・カンパニー 浮動小数点数のビット長変換回路およびそれを用いた振動補正制御回路
US20120278441A1 (en) * 2011-04-28 2012-11-01 Futurewei Technologies, Inc. System and Method for Quality of Experience Estimation
JP5762151B2 (ja) * 2011-06-06 2015-08-12 地方独立行政法人東京都立産業技術研究センター 数値データの圧縮システム及び方法
US9047118B2 (en) 2011-06-30 2015-06-02 Altera Corporation Computationally efficient compression of floating-point data
WO2013100783A1 (en) 2011-12-29 2013-07-04 Intel Corporation Method and system for control signalling in a data path module
US9070362B2 (en) * 2011-12-30 2015-06-30 Nyquest Corporation Limited Audio quantization coding and decoding device and method thereof
US9106936B2 (en) * 2012-01-25 2015-08-11 Altera Corporation Raw format image data processing
US8487805B1 (en) * 2012-02-23 2013-07-16 Freescale Semiconductor, Inc. Successive approximation analog-to-digital converter
US9104473B2 (en) 2012-03-30 2015-08-11 Altera Corporation Conversion and compression of floating-point and integer data
US9158686B2 (en) 2012-03-30 2015-10-13 Altera Corporation Processing system and method including data compression API
US9026568B2 (en) * 2012-03-30 2015-05-05 Altera Corporation Data compression for direct memory access transfers
DE102012007012A1 (de) * 2012-04-05 2013-10-10 Mir Medical Imaging Research Holding Gmbh Verfahren zur blockweisen Kompression von Messdaten bei Computertomographen
US8401863B1 (en) * 2012-04-25 2013-03-19 Dolby Laboratories Licensing Corporation Audio encoding and decoding with conditional quantizers
US11452153B2 (en) 2012-05-01 2022-09-20 Lisnr, Inc. Pairing and gateway connection using sonic tones
WO2013166158A1 (en) 2012-05-01 2013-11-07 Lisnr, Llc Systems and methods for content delivery and management
CN103458460B (zh) 2012-05-31 2017-04-12 国际商业机器公司 对信号数据进行压缩和解压缩的方法和装置
US10230959B2 (en) 2012-06-01 2019-03-12 Nxp Usa, Inc. Method and apparatus for performing compression of image data
CN103634273A (zh) * 2012-08-21 2014-03-12 电信科学技术研究院 数据压缩发送及解压缩方法和设备
US9118345B2 (en) 2012-10-04 2015-08-25 Altera Corporation Data compression profiler for configuration of compression
KR20140046815A (ko) * 2012-10-11 2014-04-21 삼성전자주식회사 전력 관리 집적 회로 및 그 구동 방법
US9274802B2 (en) 2013-01-22 2016-03-01 Altera Corporation Data compression and decompression using SIMD instructions
US9298457B2 (en) 2013-01-22 2016-03-29 Altera Corporation SIMD instructions for data compression and decompression
CN105264779B (zh) 2013-01-22 2019-06-07 阿尔特拉公司 使用simd指令的数据压缩和解压
JP6225687B2 (ja) * 2013-02-18 2017-11-08 富士通株式会社 データ処理装置、およびデータ処理方法
KR101374595B1 (ko) 2013-04-26 2014-03-17 (주)케이사인 데이터를 블록화하여 블록 토큰을 설계하는 방법
KR101978178B1 (ko) * 2013-05-24 2019-05-15 삼성전자주식회사 초음파 데이터를 처리하는 데이터 처리 장치 및 방법
US9274951B2 (en) 2013-05-31 2016-03-01 Altera Corporation Cache memory controller for accelerated data transfer
US10331583B2 (en) 2013-09-26 2019-06-25 Intel Corporation Executing distributed memory operations using processing elements connected by distributed channels
US8879858B1 (en) * 2013-10-01 2014-11-04 Gopro, Inc. Multi-channel bit packing engine
FR3010605A1 (fr) * 2014-03-18 2015-03-13 Thomson Licensing Procede de codage et de decodage de donnes flottantes d'un bloc d'image et dispositifs associes
WO2015052064A1 (en) * 2013-10-07 2015-04-16 Thomson Licensing Method for coding and decoding floating data of an image block and associated devices
US10305980B1 (en) 2013-11-27 2019-05-28 Intellectual Property Systems, LLC Arrangements for communicating data in a computing system using multiple processors
CN104702369B (zh) * 2013-12-06 2019-10-11 中兴通讯股份有限公司 一种处理信号样点数据的方法及装置
US9438899B1 (en) * 2013-12-11 2016-09-06 Harris Corporation Statistically lossless compression system and method
US9608664B2 (en) * 2013-12-30 2017-03-28 International Business Machines Corporation Compression of integer data using a common divisor
KR101428648B1 (ko) * 2014-01-29 2014-08-13 (주)케이사인 블록 토큰 기반의 암호화 방법 및 블록 토큰 기반의 복호화 방법
EP3116261A4 (en) * 2014-03-24 2017-03-08 Huawei Technologies Co. Ltd. Method for transmitting physical layer data and data transmission device
US9628107B2 (en) 2014-04-07 2017-04-18 International Business Machines Corporation Compression of floating-point data by identifying a previous loss of precision
KR102105606B1 (ko) 2014-06-02 2020-05-04 한국전자통신연구원 데이터 압축 장치
US10520584B2 (en) * 2014-06-05 2019-12-31 Continental Automotive Systems, Inc. Radar system with optimized storage of temporary data
US9541637B2 (en) * 2014-07-29 2017-01-10 Delphi Technologies, Inc. Radar data compression system and method
KR102165268B1 (ko) * 2014-09-18 2020-10-13 삼성전자 주식회사 표현 가능한 수의 범위를 조절하는 방법 및 장치
WO2016045733A1 (en) * 2014-09-25 2016-03-31 Nokia Solutions And Networks Oy Improving communication efficiency
US9350384B2 (en) 2014-09-30 2016-05-24 International Business Machines Corporation Hierarchical data compression and computation
KR102452183B1 (ko) * 2014-10-15 2022-10-07 엘아이에스엔알, 인크. 불가청 신호음
JP2016095600A (ja) * 2014-11-13 2016-05-26 カシオ計算機株式会社 電子機器およびプログラム
SE538512C2 (sv) * 2014-11-26 2016-08-30 Kelicomp Ab Improved compression and encryption of a file
US9959299B2 (en) 2014-12-02 2018-05-01 International Business Machines Corporation Compression-aware partial sort of streaming columnar data
US10114554B1 (en) 2015-01-20 2018-10-30 Intellectual Property Systems, LLC Arrangements for storing more data in faster memory when using a hierarchical memory structure
CN105988972B (zh) * 2015-02-03 2018-12-07 上海澜至半导体有限公司 实现快速傅里叶变换/快速傅里叶逆变换的方法和电路
US10909078B2 (en) 2015-02-25 2021-02-02 International Business Machines Corporation Query predicate evaluation and computation for hierarchically compressed data
US20170054449A1 (en) * 2015-08-19 2017-02-23 Texas Instruments Incorporated Method and System for Compression of Radar Signals
WO2017031149A1 (en) * 2015-08-19 2017-02-23 Texas Instruments Incorporated Method and system for compression of radar signals
US10644748B2 (en) 2015-08-26 2020-05-05 Viavi Solutions Inc. Network test instrument with cable connection and signature testing
US10615894B2 (en) 2015-08-31 2020-04-07 Viavi Solutions Inc. Network test instrument with testing session analysis
EP3142256A1 (en) * 2015-09-14 2017-03-15 AKADEMIA GORNICZO-HUTNICZA im. Stanislawa Staszica Method and apparatus for conversion of value of analog signal to compressed digital word
US10135461B2 (en) * 2015-09-25 2018-11-20 Intel Corporation Systems, methods, and apparatuses for decompression using hardware and software
KR102503878B1 (ko) * 2015-11-17 2023-02-27 한국전자통신연구원 데이터 압축 장치 및 방법, 데이터 복원 장치 및 방법
CN112230881A (zh) * 2016-01-20 2021-01-15 中科寒武纪科技股份有限公司 浮点数处理器
US10666984B2 (en) * 2016-03-08 2020-05-26 Qualcomm Incorporated Apparatus and method for vector-based entropy coding for display stream compression
DE102016116821A1 (de) * 2016-09-08 2018-03-08 Atlas Elektronik Gmbh Verfahren zum Übertragen von Sonardaten an eine Auswerteeinheit einer Sonaranlage eines Unterwasserfahrzeugs sowie Sonaranlage dafür
US10402168B2 (en) 2016-10-01 2019-09-03 Intel Corporation Low energy consumption mantissa multiplication for floating point multiply-add operations
US10528321B2 (en) 2016-12-07 2020-01-07 Microsoft Technology Licensing, Llc Block floating point for neural network implementations
US10715618B2 (en) * 2016-12-12 2020-07-14 Hughes Network Systems, Llc Compressibility estimation for lossless data compression
US10558575B2 (en) 2016-12-30 2020-02-11 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10416999B2 (en) 2016-12-30 2019-09-17 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US10474375B2 (en) 2016-12-30 2019-11-12 Intel Corporation Runtime address disambiguation in acceleration hardware
US10572376B2 (en) 2016-12-30 2020-02-25 Intel Corporation Memory ordering in acceleration hardware
US10135473B2 (en) * 2017-01-25 2018-11-20 Nokia Solutions And Networks Oy Bit rate compression for signal transmission
US10469397B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods with configurable network-based dataflow operator circuits
US10467183B2 (en) 2017-07-01 2019-11-05 Intel Corporation Processors and methods for pipelined runtime services in a spatial array
US10515049B1 (en) 2017-07-01 2019-12-24 Intel Corporation Memory circuits and methods for distributed memory hazard detection and error recovery
US10387319B2 (en) 2017-07-01 2019-08-20 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with memory system performance, power reduction, and atomics support features
US10445451B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with performance, correctness, and power reduction features
US10445234B2 (en) 2017-07-01 2019-10-15 Intel Corporation Processors, methods, and systems for a configurable spatial accelerator with transactional and replay features
US10515046B2 (en) 2017-07-01 2019-12-24 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator
US11086816B2 (en) 2017-09-28 2021-08-10 Intel Corporation Processors, methods, and systems for debugging a configurable spatial accelerator
US10496574B2 (en) 2017-09-28 2019-12-03 Intel Corporation Processors, methods, and systems for a memory fence in a configurable spatial accelerator
US11189295B2 (en) 2017-09-28 2021-11-30 Lisnr, Inc. High bandwidth sonic tone generation
US10380063B2 (en) 2017-09-30 2019-08-13 Intel Corporation Processors, methods, and systems with a configurable spatial accelerator having a sequencer dataflow operator
US10445098B2 (en) 2017-09-30 2019-10-15 Intel Corporation Processors and methods for privileged configuration in a spatial array
US10949766B2 (en) * 2017-10-15 2021-03-16 Gsi Technology Inc. Precise exponent and exact softmax computation
EP3471271A1 (en) * 2017-10-16 2019-04-17 Acoustical Beauty Improved convolutions of digital signals using a bit requirement optimization of a target digital signal
KR102389035B1 (ko) * 2017-12-06 2022-04-22 한국전자통신연구원 압축 데이터 송수신 방법 및 이를 위한 장치
US10417175B2 (en) 2017-12-30 2019-09-17 Intel Corporation Apparatus, methods, and systems for memory consistency in a configurable spatial accelerator
US10565134B2 (en) 2017-12-30 2020-02-18 Intel Corporation Apparatus, methods, and systems for multicast in a configurable spatial accelerator
US10445250B2 (en) 2017-12-30 2019-10-15 Intel Corporation Apparatus, methods, and systems with a configurable spatial accelerator
US11307873B2 (en) 2018-04-03 2022-04-19 Intel Corporation Apparatus, methods, and systems for unstructured data flow in a configurable spatial accelerator with predicate propagation and merging
US10564980B2 (en) 2018-04-03 2020-02-18 Intel Corporation Apparatus, methods, and systems for conditional queues in a configurable spatial accelerator
CN111989897B (zh) * 2018-04-10 2023-09-01 瞻博网络公司 计算机网络的测量指标
US11200186B2 (en) 2018-06-30 2021-12-14 Intel Corporation Apparatuses, methods, and systems for operations in a configurable spatial accelerator
US10891240B2 (en) 2018-06-30 2021-01-12 Intel Corporation Apparatus, methods, and systems for low latency communication in a configurable spatial accelerator
US10853073B2 (en) 2018-06-30 2020-12-01 Intel Corporation Apparatuses, methods, and systems for conditional operations in a configurable spatial accelerator
US10459866B1 (en) 2018-06-30 2019-10-29 Intel Corporation Apparatuses, methods, and systems for integrated control and data processing in a configurable spatial accelerator
US10678724B1 (en) 2018-12-29 2020-06-09 Intel Corporation Apparatuses, methods, and systems for in-network storage in a configurable spatial accelerator
US11029927B2 (en) 2019-03-30 2021-06-08 Intel Corporation Methods and apparatus to detect and annotate backedges in a dataflow graph
US10817291B2 (en) 2019-03-30 2020-10-27 Intel Corporation Apparatuses, methods, and systems for swizzle operations in a configurable spatial accelerator
US10965536B2 (en) 2019-03-30 2021-03-30 Intel Corporation Methods and apparatus to insert buffers in a dataflow graph
US10915471B2 (en) 2019-03-30 2021-02-09 Intel Corporation Apparatuses, methods, and systems for memory interface circuit allocation in a configurable spatial accelerator
US11037050B2 (en) 2019-06-29 2021-06-15 Intel Corporation Apparatuses, methods, and systems for memory interface circuit arbitration in a configurable spatial accelerator
DE102019215191A1 (de) * 2019-09-09 2021-03-11 Robert Bosch Gmbh FMCW-Radarsensor mit synchronisierten Hochfrequenzbausteinen
DE102019127922B4 (de) * 2019-10-16 2024-02-08 Infineon Technologies Ag Verfahren zum bearbeiten von radarsignalen eines radarsystems und radarsystem
US11907713B2 (en) 2019-12-28 2024-02-20 Intel Corporation Apparatuses, methods, and systems for fused operations using sign modification in a processing element of a configurable spatial accelerator
DE102020104594B4 (de) 2020-02-21 2024-01-25 Infineon Technologies Ag Verarbeitung von Radarsignalen
CN111431539B (zh) * 2020-03-04 2023-12-08 嘉楠明芯(北京)科技有限公司 一种神经网络数据的压缩方法、装置及计算机可读存储介质
US11416248B2 (en) * 2020-03-28 2022-08-16 Intel Corporation Method and system for efficient floating-point compression
US11709225B2 (en) * 2020-06-19 2023-07-25 Nxp B.V. Compression of data employing variable mantissa size
US11394396B2 (en) * 2020-09-25 2022-07-19 Advanced Micro Devices, Inc. Lossless machine learning activation value compression
US11949763B2 (en) * 2020-11-19 2024-04-02 Steradian Semiconductors Private Limited System, device and method for data compression in a radar system
CN112862106B (zh) * 2021-01-19 2024-01-30 中国人民大学 一种基于自适应编解码迭代学习控制信息传输系统和方法
US20220245261A1 (en) * 2021-02-01 2022-08-04 Protegrity Corporation Parallel tokenization of date and time information in a distributed network environment
WO2022173572A1 (en) * 2021-02-10 2022-08-18 Microsoft Technology Licensing, Llc Hierarchical and shared exponent floating point data types
US11886833B2 (en) 2021-02-10 2024-01-30 Microsoft Technology Licensing, Llc Hierarchical and shared exponent floating point data types
CN117321562A (zh) * 2021-02-18 2023-12-29 诺基亚通信公司 共享指数的有效计算
TWI785546B (zh) 2021-03-23 2022-12-01 創鑫智慧股份有限公司 浮點數的編碼與解碼的方法與裝置
GB2603559B (en) * 2021-07-22 2023-08-09 Imagination Tech Ltd Coding blocks of pixels
KR102653107B1 (ko) * 2021-08-23 2024-04-01 삼성전자주식회사 연산 방법 및 장치
CN117289851A (zh) * 2022-06-16 2023-12-26 加特兰微电子科技(上海)有限公司 数据存储位宽的确定方法及装置、存储指数数据的方法
WO2024106556A1 (ko) * 2022-11-14 2024-05-23 주식회사 사피온코리아 부동 소수점 데이터 압축을 위한 방법 및 장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751771A (en) * 1994-10-07 1998-05-12 Roland Kabushiki Kaisha Waveform data compression apparatus and waveform data expansion apparatus
US6021386A (en) * 1991-01-08 2000-02-01 Dolby Laboratories Licensing Corporation Coding method and apparatus for multiple channels of audio information representing three-dimensional sound fields

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179528A (en) * 1989-11-22 1993-01-12 Texas Instruments Incorporated Signal processing system and method implementing a non-linear transfer function approximated by a piecewise linear transformation
JP2605916B2 (ja) * 1990-03-19 1997-04-30 ヤマハ株式会社 波形信号発生装置
US5347478A (en) * 1991-06-09 1994-09-13 Yamaha Corporation Method of and device for compressing and reproducing waveform data
JP3230270B2 (ja) * 1992-01-31 2001-11-19 ソニー株式会社 信号処理装置
US5548687A (en) * 1992-04-30 1996-08-20 Ricoh Company, Ltd. Method and apparatus for controlling a printer using the N/2r format
CA2127520C (en) * 1994-07-06 2001-01-16 Gordon J. Reesor Signal processing circuit
US5839100A (en) * 1996-04-22 1998-11-17 Wegener; Albert William Lossless and loss-limited compression of sampled data signals
DE19625855C2 (de) * 1996-06-27 1998-06-10 Siemens Ag Verfahren und Signalauswerteeinrichtung zur Datenreduktion bei der Verarbeitung von Signalwerten mit einer digitalen Signalverarbeitungseinheit in einem Übertragungssystem
US5933360A (en) * 1996-09-18 1999-08-03 Texas Instruments Incorporated Method and apparatus for signal compression and processing using logarithmic differential compression
US6148317A (en) * 1998-08-14 2000-11-14 Qualcomm Incorporated Method and apparatus for compressing signals in a fixed point format without introducing a bias
US6807528B1 (en) * 2001-05-08 2004-10-19 Dolby Laboratories Licensing Corporation Adding data to a compressed data frame
EP3561810B1 (en) * 2004-04-05 2023-03-29 Koninklijke Philips N.V. Method of encoding left and right audio input signals, corresponding encoder, decoder and computer program product
GB0411880D0 (en) * 2004-05-27 2004-06-30 Imagination Tech Ltd Method and apparatus for efficient evaluation of "table-based" mathematical functions
US7769904B2 (en) * 2004-06-09 2010-08-03 L-3 Communications Integrated Systems L.P. Extensible binary mark-up language for efficient XML-based data communications and related systems and methods
US7554464B1 (en) * 2004-09-30 2009-06-30 Gear Six, Inc. Method and system for processing data having a pattern of repeating bits
EP1801691B1 (en) * 2004-10-15 2019-04-10 Nippon Telegraph And Telephone Corporation Information encoding method, decoding method, common multiplier estimation method, device using these methods, program, and recording medium
US8065354B1 (en) * 2005-03-04 2011-11-22 Nvidia Corporation Compression of 16 bit data using predictor values
US7541950B2 (en) * 2006-07-20 2009-06-02 Samplify Systems, Inc. Enhanced time-interleaved A/D conversion using compression
US20080154999A1 (en) * 2006-12-20 2008-06-26 Texas Instruments Incorporated Compressed Floating Point Representation Of Points On Monotonic Curves Which Can Be Specified By High Order Equations
JP2009239852A (ja) * 2008-03-28 2009-10-15 Fujifilm Corp 画像処理装置及び画像処理方法
US8174428B2 (en) * 2008-05-21 2012-05-08 Integrated Device Technology, Inc. Compression of signals in base transceiver systems
US7852977B2 (en) * 2008-09-11 2010-12-14 Samplify Systems, Inc. Adaptive compression of computed tomography projection data
US7916830B2 (en) * 2008-09-11 2011-03-29 Samplify Systems, Inc. Edge detection for computed tomography projection data compression
US8045811B2 (en) * 2008-11-26 2011-10-25 Samplify Systems, Inc. Compression and storage of projection data in a computed tomography system
US8157738B2 (en) * 2009-06-02 2012-04-17 Samplify Systems, Inc. Ultrasound signal compression
US8317706B2 (en) * 2009-06-29 2012-11-27 White Eagle Sonic Technologies, Inc. Post-beamforming compression in ultrasound systems
US8301803B2 (en) * 2009-10-23 2012-10-30 Samplify Systems, Inc. Block floating point compression of signal data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021386A (en) * 1991-01-08 2000-02-01 Dolby Laboratories Licensing Corporation Coding method and apparatus for multiple channels of audio information representing three-dimensional sound fields
US5751771A (en) * 1994-10-07 1998-05-12 Roland Kabushiki Kaisha Waveform data compression apparatus and waveform data expansion apparatus

Also Published As

Publication number Publication date
WO2011050293A2 (en) 2011-04-28
US8874794B2 (en) 2014-10-28
US20130060827A1 (en) 2013-03-07
WO2011050293A3 (en) 2011-09-22
US8880734B2 (en) 2014-11-04
CN102597948A (zh) 2012-07-18
US20110099295A1 (en) 2011-04-28
US20130054661A1 (en) 2013-02-28
JP5745527B2 (ja) 2015-07-08
JP2013508867A (ja) 2013-03-07
KR20120098651A (ko) 2012-09-05
EP2491488A4 (en) 2013-08-21
EP2491488A2 (en) 2012-08-29
KR101703208B1 (ko) 2017-02-06
US8301803B2 (en) 2012-10-30

Similar Documents

Publication Publication Date Title
CN102597948B (zh) 信号数据的块浮点压缩的方法和装置
TWI524265B (zh) 浮點資料之壓縮
Liang et al. An efficient transformation scheme for lossy data compression with point-wise relative error bound
US9104473B2 (en) Conversion and compression of floating-point and integer data
US9118345B2 (en) Data compression profiler for configuration of compression
US9026568B2 (en) Data compression for direct memory access transfers
KR100819597B1 (ko) 멀티모드 알파 이미지 처리 방법 및 장치
JP6242074B2 (ja) 信号データの圧縮および圧縮解除のための方法および装置(信号データの圧縮および圧縮解除)
US20090289819A1 (en) Efficient data compression & decompression of numeric sequences
US7543008B1 (en) Apparatus and method for providing higher radix redundant digit lookup tables for recoding and compressing function values
JPWO2020065874A1 (ja) ネットワーク量子化方法、推論方法及びネットワーク量子化装置
EP4008057A1 (en) Lossless exponent and lossy mantissa weight compression for training deep neural networks
JPH0722957A (ja) 副バンドコーディングシステムの信号処理装置
CN114118177B (zh) 一种基于奇异谱分析的位平面降噪方法、系统及存储介质
CN1474980A (zh) 编码
EP2372699B1 (en) Coding of audio or video samples using multiple quantizers
WO2021230006A1 (ja) ネットワーク量子化方法及びネットワーク量子化装置
JP3142356B2 (ja) 量子化装置および画像データ量子化装置
CN113904900B (zh) 一种实时遥测信源分阶相对编码方法
US20220188077A1 (en) Arithmetic processing device, arithmetic processing method, and storage medium
TW202329089A (zh) 編碼裝置、解碼裝置、編碼方法及解碼方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: ALTERA CORP.

Free format text: FORMER OWNER: SAMPLIFY SYSTEMS INC.

Effective date: 20140707

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140707

Address after: American California

Applicant after: Altera Corp.

Address before: American California

Applicant before: Samplify Systems Inc.

C14 Grant of patent or utility model
GR01 Patent grant