CN107018430B - 用于二进制数据的压缩和解压缩的方法和设备 - Google Patents

用于二进制数据的压缩和解压缩的方法和设备 Download PDF

Info

Publication number
CN107018430B
CN107018430B CN201710055556.4A CN201710055556A CN107018430B CN 107018430 B CN107018430 B CN 107018430B CN 201710055556 A CN201710055556 A CN 201710055556A CN 107018430 B CN107018430 B CN 107018430B
Authority
CN
China
Prior art keywords
value
binary
binary load
result
encoded
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
CN201710055556.4A
Other languages
English (en)
Other versions
CN107018430A (zh
Inventor
加埃尔·鲁弗鲁瓦
托马斯·丹尼森
唐盖伊·吉尔蒙特
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.)
Co Started Production Of Image
Original Assignee
Co Started Production Of Image
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 Co Started Production Of Image filed Critical Co Started Production Of Image
Publication of CN107018430A publication Critical patent/CN107018430A/zh
Application granted granted Critical
Publication of CN107018430B publication Critical patent/CN107018430B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • 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/3068Precoding preceding compression, e.g. Burrows-Wheeler transformation
    • H03M7/3071Prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明涉及一种用于将输入二进制数据值x集合压缩成相应的输出数据值x’集合的方法,所述输入二进制数据值全部被编码为相同的位数B,所述输出数据值全部被编码为更少的位数b,所述方法可以通过以下各项获得:(i)计算量化步长dq(ii)将所述值的范围[0,2B‑1]划分成2b个子范围,第一子范围为[0,INT(dq/2)],第i个子范围为[INT((i‑3/2)*dq)+1,INT((i‑1/2)*dq)],i从2到2b本发明还涉及一种用于解压缩数据的方法,并且涉及所述用于压缩/解压缩视频数据的方法的应用,并且涉及用于执行这些操作的设备。

Description

用于二进制数据的压缩和解压缩的方法和设备
发明领域
本发明涉及一种用于二进制数据的压缩和解压缩的方法和设备,并且涉及一种用于利用所述用于压缩和解压缩的方法来存储/检索或传输/接收图像或视频数据流的方法。
现有技术说明
音频视觉市场正在快速发展为超高分辨率(8192x4320个像素)以及更高的帧速率。因此,实时硬件系统需要以越来越高的像素速率对数据进行处理。需要对存储视频图像所需的存储容量和/或传输视频图像所需的信道带宽进行限制。为了解决这一问题,已知的解决方案正在降低用于对二进制值进行编码的位数。将在B位上编码的值的位数降至在b位上编码的值(其中,B>b)是一种被称为量化的操作。
以下描述了一种用于对数值进行量化的已知方法。存在被适配于特定值特性的其他方法,例如,用于量化对数值或指数值。在此,我们将描述一般情况。如果[0,N最大]是用于量化的任何值的区间边界并且dq是量化步长(量化集合中的两个连续值之间的间隙),则值x如下被量化成值x’:
其中,运算符代表“取整到最低的整数”。
区间被分区为(N最大/dq)+1个子范围,其中的每个子范围对应于量化值。项1/2将这些子范围正确地集中在其各自的子区间上。量化值x’如下被去量化为值x”:
图1表示水平轴上x的值,x的值为零与127之间的整数,即N最大=128。量化步长即量化集合中的两个连续值之间的间隙,dq等于16。区间[0,128]被分区为9个子范围。实线表示量化值x”。虚线表示原始的、未量化的值。从0到7的x值对应于去量化值0。从8到23的x值对应于去量化值16,依此类推,直至从120到127的x值对应于去量化值128。
当值带有符号时,原理仍保持相同。用于量化的值处于[-N最大,N最大]区间内,符号xs与绝对值y分离并且如上进行:
y=|x|
xs=Sign(x)
图2表示x与x”之间的相应关系。逆量化在原始域中重构了值x”。由于已经丢失了某个精确量,因此所产生的值是不同的并且差值被称为截断误差ε(实线与虚线之间的间隙)。
x″=xs·y′·dq
ε=x″-x
在输入和输出数据是二进制值的情况下,情况如下:为了对B+1位上的整数值x进行编码,一位用于指示符号(例如,0表示正的,1表示负的),并且B位用于表示绝对值x。类似地,b位用于对量化的绝对值y’进行编码并且一位xs用于指示其符号:
N最大=2B
max/lue在b位上被编码,使经量化的集合).ts为2位,其中,B﹥b,使eso限制存储区域
y=|x|
xs=sign(x)
其中,<<和>>运算符分别代表左二进制移位和右二进制移位。向右的二进制移位将所产生的位保持到20权重位的右边,即可以获得分数值。利用原始值的B-b位的简单二进制右移来获得量化值,接着是取整到最接近的整数。
等式(1)中的术语“1/2”需要一个额外位来对量化值进行编码,并且并非移除B-b位,量化仅移除B-b-1位。在图1上可见,我们具有对应于范围为从0到8的y’的9个值的9个子范围,并且需要四位以用于对量化值进行编码。在图2中,取决于x的值,我们具有对应于y’的17个值的17个子范围,范围为从-8到+8,需要五位以用于编码。这不是所期望的,因为压缩中寻求的性质是精确地确定在传输或存储量化值之前将需要多少位来对这些量化值进行编码的能力。当根据目标输出速率(输出了多少位)来选择量化水平(移除了多少位)时,这种所需的额外位具有影响。由于相邻值经常是相关的并且包含在同一范围内,因此压缩算法利用这一特征在利用相同位数被编码的块中对它们进行重组。这一数字由最高的绝对值设定,假设那些值以零为中心。唯一量化步长dq用于每个块,从而减少了添加至压缩码流中以用于逆量化程序的信息量,为了恢复量化值,这需要检索dq量化步长。因此,在选择这一量化步长之后,输出位数的任何变化将产生不正确的速率或者需要迭代过程以便使所述速录保持在控制之下。
例如,如果b<数字>是值的二进制记数法,并且如果我们考虑到四个4位值的块,
则这一特定的x块需要3位以便对其值中的每个值进行编码。如果算法决定这一块应当具有输出流中在2位上编码的值(经常决定质量相对成本标准),则我们获得:
由于最接近整数的取整,我们明白了x2=7产生了3位上的量化值y’2=4。这是一个问题,因为早期的决定是针对这一个块的每个值输出2位,因此总共是8位而不是9位。
固定宽度量化(方法1)
根据具有固定宽度量化的已知方法(方法1),可避免这一问题并且使得位数恒定不变。这通过在量化中省略项1/2来完成。
y=|x|,
相应的逆量化引入了校正项以便补偿正向量化中由于简化引起的偏置:
x″=xs·y″
这是量化值的B-b-1位的简单二进制左移位。
值y’的数量是16,因此y’可利用4位来表示,即无需额外位。如图3上示出的,这些输出至仍居中但在这些输出值中没有零值。由于校正项,值从-dq/2跳至dq/2。在存在零周围的小值的情况下,这产生了量化的“方格旗”模式(+dq/2、-dq/2、+dq/2、-dq/2、+dq/2、-dq/2……),这在大多数时候不是所期望的。图10示出了示例,其中,具有全部小值(被表示为虚线)的一组二进制值x导致去量化值为+8或者-8(实线)。
死区(方法2)
已知的方法(在零周围具有死区(方法2))允许零值,并且解决了方法1的问题。死区被引入逆量化中(参见图4):-16与+16之间的x的全部输入值导致了去量化的零值。值y’的数量是15,因此y’可利用4位来表示,即无需额外位。
由于取整操作的本质,在带有符号的值的情况下,以零为中心的仓是其他仓的宽度的两倍,从而导致了大的平坦区域。结果是,死区周围的步骤比其他步骤高一半。这对使用这一技术的编解码器的输出端处的信号质量具有消极影响。
以上讨论的这两种二进制值量化方法可在软件中或者在逻辑门中被有效实现,但是它们仍然正在遭受不同的问题。对这些截断值进行编码所需的位数可以取决于截断水平而发生改变,零值可以不由逆操作合适地重构(方法1),或者逆量化引入零周围的死区(方法2)。
US20070160138公开了一种用于对视频数据(包括胶片颗粒信息)进行编码和解码的方法,所述方法使用利用可控死区的量化方法。最小的系数值的量化步长的尺寸被调整,因此量化是非均匀的。与对量化系数可用的位数相关的量化步长的选择并未得到解决。
文档“用于DTV接收机成本缩减的近无损复杂度可调整的嵌入式压缩算法(Near-lossless complexity-scalable embedded compression algorithm for costreduction in DTV receivers)(范德沙尔M(van der Schaar,M)等人,IEEE Transactionson Consumer Electronics档案,2000年11月,第46卷,第4期,923-93页中)”讨论了量化方法。一种量化方法涉及限于2的方幂的量化区间(参见等式5,928页),并且因此具有以上讨论的方法的优点。另一种量化方法(参见等式6,929页)更为复杂并且被设计成用于MPEG-2。
EP2819412公开了一种量化方法,其中,针对一组二进制输入数据值,选择偏执值并且仅输出来自所述偏执值的偏移以作为在比输入数据值更少的位上被编码的二进制输出值。
许多编码方法是已知的,这些方法试图实现更好的压缩。然而,这些方法暗示了增加的计算和存储需要,这使得它们不适用于高分辨率和高帧速率。
发明内容
本发明的一个目的是提供一种用于将输入二进制数据值集合压缩成被编码为更少位数的相应输出数据值集合的方法和设备(所述方法和设备没有以上讨论的方法的缺陷)、以及一种用于对输入二进制数据值集合进行解压缩的相应方法和设备。
本发明是由独立权利要求来限定的。从属权利要求限定了有利的实施例。
根据本发明的第一方面,提供了一种用于将输入二进制数据值x集合压缩为相应的输出数据值x’集合的方法,所述输入二进制数据值全部被编码为相同的位数B,当所述输入二进制数据值包括负值时不对符号位进行计数,所述输出数据值全部被编码为更少的位数b,不对符号位进行计数,所述方法可通过以下步骤获得:
a)如果所述输入二进制数据值集合包括负值,
·则针对每个输入二进制数据值x,确定x的绝对值y和被编码为一位的x的符号xs
b)如果所述输入二进制数据值集合不包括负值,
·则针对每个输入二进制数据值x,确定x的值y;
c)计算量化步长dq
d)将y值的范围划分成2b个子范围,
·第一子范围为[0,INT(dq/2)]
·第i个子范围为[INT((i-3/2)*dq)+1,INT((i-1/2)*dq)],i从2到2b
e)针对每个y值,确定子范围i并且计算y’=i-1,所述y值为所述子范围的元素;
f)如果所述输入二进制数据值集合包括负值,
·则针对每个输入二进制数据值x,确定y’加上xs的值x’;
g)如果所述输入二进制数据值集合不包括负值,
·则针对每个输入二进制数据值x,确定y’的值x’。
y值的范围是区间[0,2B]。在本发明的一个实施例中,所述组的输出数据值x’通过以上步骤获得。在本发明的其他实施例中,所述组的输出数据值x’通过以下寄存器移位方法或查找表方法获得。所述子范围还可以被称为“仓”,并且所述方法可以被称为所述“仓方法”。
在实施例中,步骤c)、步骤d)以及步骤e)的结果可以等效地通过执行以下步骤来获得:
·将y向右移位B-b位,得出第一结果;
·将y向右移位B+1位,得出第二结果;
·从第一结果中减去第二结果,得出第三结果;
·加上0、5,得出第四结果;
·选择正权重和零权重即第四结果的非分数位,得出y’。
在所述右移位操作中,保持所述分数权重位。这两种方法是等效的。所述值y’被编码为位数b。
在另一实施例中,所述方法包括以下步骤:
·获得查找表,所述查找表针对y的所述2B个值中的每个值包含所述相应的y’值;
·针对所述集合中的每个y值,确定所述表中索引y处的所述相应的y’值。
根据本发明的第二方面,提供了一种用于将包括输入二进制数据值的输入二进制数据压缩成输出二进制数据的方法,所述输出二进制数据具有小于限值的体积,所述方法包括以下步骤:
·在NGCLI输入二进制数据值集合中对所述输入二进制数据值进行分组;
·针对所述NGCLI输入二进制数据值集合中的每个集合:
-确定所述GCLI,所述GCLI是所述集合中最高非零位的索引,不对符号位进行计数
·选择GTLI的值,从而使得针对全部所述输入二进制数据值计数GCLI-GTLI位产生了具有比所述限值更小的体积的输出二进制数据;
·针对所述NGCLI输入二进制数据值集合中的每个集合:
-应用如权利要求1至3中任一项所述的方法,其中,B=GCLI并且b=MAX(GCLI-GTLI,0)
·产生输出二进制数据,所述输出二进制数据包括所述GTLI以及针对所述NGCLI输入二进制数据值集合中的每个NGCLI输入二进制数据值集合的所述GTLI的值和所述NGCLI量化值x’。
在b=0(这可以在执行本发明的第二方面的方法时发生)的简单情况下,所述输出数据值具有值零并且在零位上被编码。在那种情况下,所述集合的所述输出二进制数据仅包含所述GCLI。
当所述输入二进制数据由视频数据的解相关变换产生时,这一方法有利地被应用。
NGCLI可以包括在4与16之间,并且优选地等于4。
根据本发明的第三方面,提供了一种用于将输入二进制数据值x’集合解压缩成相应的输出数据值x”集合的方法,所述输入二进制数据值全部被编码为相同的位数b,不对可能的符号位进行计数,所述输出数据值全部被编码为更大的位数B,不对可能的符号位进行计数,所述方法包括以下步骤:
a)计算
b)如果所述输入二进制数据值集合包括负值,
则针对每个输入二进制数据值x’,确定x’的绝对值y’和被编码为一位的x’的符号x’s
c)如果所述输入二进制数据值集合不包括负值,则针对每个输入二进制数据值x’,确定x’的值y’;
d)针对每个y’进行计算
e)如果所述输入二进制数据值集合包括负值,则针对每个输入二进制数据值y’,确定y”加上x’s的值x”;
f)如果所述输入二进制数据值集合不包括负值,则针对每个输入二进制数据值x’,确定y”的值x”。
在所述解压缩方法中,所述步骤d)可以包括以下步骤:
i.将y’向左移位B-b位,得出第一结果;
ii.将第一结果向右移位b+1位,得出第二结果;
iii.将第二结果加到第一结果上,得出总和结果;
iv.将第二结果复制到第一结果;
v.重复步骤ii.-iv.,直到第二结果低于零;
vi.将y”计算作为总和结果的整数部分。
在所述解压缩方法中,所述步骤d)还可以包括以下步骤:
i.将y’向左移位B-b位,得出第一结果;
ii.将第一结果向右移位b+1位,得出第二结果;
iii.将第二结果加到第一结果上,得出总和结果;
iv.将y”计算作为总和结果的整数部分。
所述解压缩方法可以包括以下步骤:
·获得查找表,所述查找表针对y’的所述2b个值中的每个值包含所述相应的y”;
·针对所述集合中的每个y’值,确定所述表中索引y’处的所述相应的y”值。
根据本发明的第四方面,提供了一种用于对包括NGCLI输入二进制数据值集合的输入二进制数据进行解压缩的方法,每个集合包括B值和b值,B为解压缩的二进制数据值的位数,b为所述输入二进制数据值的位数,不对可能的符号位进行计数,所述方法包括以下步骤:
·应用如权利要求7至10中任一项所述的方法以用于获得解压缩的二进制数据值;
·产生包括所述解压缩的二进制数据值的输出二进制数据。
所述解压缩的二进制数据值可以利用多个‘0’位获得具有给定长度的字来完成。
本发明还涉及使用根据本发明的用于对由本发明的压缩方法获得的输入二进制数据值x’集合进行解压素的解压缩方法。
本发明还涉及一种用于将输入二进制数据值x集合压缩成相应的输出数据值x’集合的设备,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更小的位数,所述设备包括用于执行如本发明所述的压缩方法的程序代码。
本发明还涉及一种用于将输入二进制数据值x集合压缩成相应的输出数据值x’集合的设备,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更小的位数,所述设备包括用于执行如本发明所述的压缩方法的硬件。
本发明还涉及一种用于将输入二进制数据值x’集合解压缩成相应的输出数据值x”集合的设备,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更大的位数,所述设备包括用于执行如本发明所述的解压缩方法的程序代码。
本发明还涉及一种用于将输入二进制数据值x’集合解压缩成相应的输出数据值x”集合的设备,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更大的位数,所述设备包括用于执行如本发明所述的解压缩方法的硬件。
本发明的这些方法应用于具有全部正整数值的输入二进制数据值集合并且应用于具有正值和负值的输入二进制数据值。在后一种情况下,假设这些负值由符号位和大小(绝对值)来表示。如果使用另一种表示,例如一次补充或者二次补充,则这对于本领域技术人员来说是已知的用于将所述输入二进制数据值转换成其符号—大小表示的直接操作。
附图简要说明
将通过示例并参照附图对本发明的这些和进一步的方面进行更详细的解释,在附图中:
图1表示针对适用于自然值的已知量化方法的根据原始值x的以实线表示的重构值x”以及以虚线表示的原始值x。N最大=128,dq=16;
图2表示针对适用于带有符号的值的已知量化方法的根据原始值x的以实线表示的重构值x”以及以虚线表示的原始值x;
图3表示利用固定宽度量化(方法1)的、针对适用于二进制带有符号的值的已知量化方法的根据原始值x的以实线表示的重构值x”以及以虚线表示的原始值x;
图4表示利用死区(方法2)的、针对适用于二进制带有符号的值的已知量化方法的根据原始值x的以实线表示的重构值x”以及以虚线表示的原始值x;
图5表示针对根据本发明的压缩方法的根据原始值x的以实线表示的重构值x”以及以虚线表示的原始值x。
图6示意性地表示了一种针对根据本发明的实施例的压缩方法的量化设备;
图7示意性地表示了一种针对根据本发明的实施例的解压缩方法的去量化设备;
图8示意性地表示了一种根据本发明的优选实施例的方法;
图9表示应用本发明的方法的示例性数据集合;
图10展示了如上讨论的固定宽度量化(方法1)问题。
附图既未按比例绘制也不成比例。通常,在附图中,相同的组成部分由相同的参考号来指示。
具体实施方式
本发明的第一组成部分是量化算法,所述量化算法提供了图像压缩范围内的优点,无需额外位并且提供了以上关于方法1和方法2所提及的问题的解决方案。所述量化算法将被称为“GRQ”。
图5示出了将量化算法应用于根据本发明的压缩方法的示例,其中,这些输入二进制数据值包括-127与+127之间的数据值。用于对x的绝对值进行编码的位数是7位,即B=7。绝对量化值的数量是8,即这些量化值可在3位上被编码,并且b=3。
根据本发明,值的范围被划分为2b+1-1个子范围(在图5的示例中,15个子范围),而非2b+1个子范围(在图3的示例中,16个子范围)。量化步长dq为:
量化步长略大于现有技术中的量化补偿(图1、图2、图3和图4中的示例全部具有量化补偿16)。
下表示出了针对x的正值(即图5的右上侧的四分之一)所产生的子范围
子范围i x的第一值 x的最后值 值的nb
1 0 8 9
2 9 25 17
3 26 42 17
4 43 59 17
5 60 76 17
6 77 93 17
7 94 110 17
8 111 127 17
128
量化值是通过减法1从子范围中获得的。
量化算法总是产生量化值中的准确位数b,并且因此在一速率分配为特征的压缩解决方案中是合适的,因为其根据量化水平保证了可预测速率,具有更好的质量。这使其成为与本发明的第二组成部分一起使用的理想量化算法,如段落[0040]中解释的,这些GCLI值(最大编码线索引)允许高效速率分配方法。
作为“仓方法”的替代方案,相同的量化值还可以通过以下公式获得:
如从这一等式的右手部分可见的,操作可以利用两次加法和两次二进制移位来实现,后者在逻辑门中是自由的。
图6上示出了用于执行这些操作的硬件配置。移位操作易于利用逻辑门来实现。在这些移位操作中,必须保持这些分数位。作为寄存器移位方法的替代方案,压缩可以利用查找表来执行。当B不太大时,所述查找表方法是最简便的。所述查找表可以通过将段落[0014]的方法应用于0与2B-1之间的所有整数来获得。
逆量化值通过等式获得
从等比级数我们知道:
有趣地是,y’在b位上被编码,这允许对表达(2)进行简化
其中,“V”运算符代表“二进制或者”。实际上,由于二级制或被应用于i.b位置的移位的b位值,因此这一操作可以被简化成串接连续值的位。在实际情况中,值B将不高于b许多倍。如果B>b并且B<2b+1,则仅需要串接y’<<(B-b)和y’>>(2b-B+1)的位,如图7所示。
总之,所述操作具有与现有技术中完成的操作相同的复杂水平:
·量化减去两个移位值|x|,然后在LSB之后添加位
·逆量化是移位值y’的串接
假定量化的水平相同,则这些重构值的质量更高,这意味着本发明为压缩算法提供了传输中相同比特率的增加的质量。
已经根据方法2(具有死区,“DZ”)和本发明对典型的测试图像集合进行了压缩。针对十六张测试图像,对压缩图像与原始图像之间的信噪比PSNR进行比较。下表表明了本发明的方法具有对测试集合的所有图像的改进。
本发明的第二组成部分涉及对输入二进制数据(诸如视频流)的压缩。有关相关值的数据压缩(典型地图像压缩)的方法包括以下两个特点:
·对数据进行量化以便降低用于存储或传输至解码器的位的量;
·将有关这些数据如何已被量化(B-b)的信息插到量化数据的前面,因为解码器将需要其以便应用逆量化。所产生的信息被称为码流。
由于这些数据提供某个相关水平(例如,由DWT(离散小波变换)产生的系数),因此在对它们进行重组并且应用向量或块上的一般量化水平时具有优点,因此降低了解码器将需要的用于对这些数据进行重构的信息量。大多数时候,所传输的码流的带宽受到通信信道比特率的限制,或者类似地,压缩文件的尺寸受到存储介质的容量的限制。由于更高的压缩率产生了重构数据的更低质量,因此对于压缩算法来说,能够产生码流(尽可能地接近最优比特率)并且使用所有可用带宽以便最小化质量是重要的。这是速率分配的目的,这必须确定应用于数据的量化水平,从而使得质量针对给定比特率是最大的。
由速率分配处理的数据结构的选择是至关重要的,其必须满足这些要求:
·简洁:通常,必须尽可能快地实现压缩,并且由速率分配处理的数据量越高,其将采取的速度越慢;
·表示质量:速率分配优化了给定比特率的质量,其必须能够根据量化水平来评估质量损失;
·高效转码到码流中:解码器需要足够的信息来重构数据(例如,应用每个块上的正确逆量化)。
NGCLI数据的向量或块的GCLI值为在二进制表示中对其值的大小进行编码所需的最大位数。因此,-6被编码成b110(加上一个符号位),并且需要3位以便对其绝对值进行编码。具有这些值(4、9、2、5)的框具有GCLI=4,因为最大值是9并且被编码成b1001。零需要零位以便进行编码,并且不需要符号。图9中示出了进一步的示例。表示了包括均在15位(加上符号位)中被编码的16个二进制数据值的输入二进制数据。如可能在不相关数据中发生的,许多数据值是小的并且最高有效位中的大部分是在零处(被表示为灰色区域)。这些输入数据被分组为四(NGCLI=4)字集合。针对这些集合中的每个集合,确定GCLI的值。针对输入数据的整个集合,选择GTLI的值(此处,GTLI=4),从而使得从压缩中产生的数据的大小(针对每个集合的不同值b)将满足存储尺寸的可用带宽的限制。针对所述集合中的每个集合,应用量化方法,并且所产生的数据与GCLI的值一起被放入输出二进制数据中。针对所有数据集合具有相同值的DTLI仅传输或存储一次。这些GCLI值用于在速率分配时总结数据,因为它们充分满足以上提及的要求。为了展示理由,图8中示出了可能的架构,其中:
·相关数据被分组成从其中提取GCLI的值的NGCLI值块;
·GCLI值由速率分配使用以便确定量化水平;
·量化被应用于数据(GRQ);
·码流是从已压缩数据以及对其进行解压缩所需的信息(在这一示例中,量化水平和GCLI的值)中创建的。
GCLI的值是间接的,一个值表示包含多个值的块中的最大对数,因此其将不需要许多位来进行编码:典型地,16位足以对DWT中的系数进行编码,这意味着可使用这些4位GCLI值。如果NGCLI=4,则一个4位GCLI表示速率分配中16位的4个系数,这是1与64之比。这是高效的,因为邻值是相关的并且将具有相似的大小,因此使用相同位数对它们进行编码是接近最优的。这意味着GCLI的值为速率分配提供了间洁的信息以便根据截断水平计算输出速率。而且,如图9中展示的,这些GCLI值实际上提供局部量化步长dq。截断部分或者GTLI(最大微调水平索引)是针对像其他算法的每个子段单独设定的,但因此针对每组NGCLI数据,最大位数B是由每个GCLI设定的。所述后一特性通过移除大块中的上部零MSB的值降低了用于编码的位数,这不只是补偿了将GCLI信息插到输出流(对于逆量化所必需的)中的成本。
如段落[0004]中解释的,使用GCLI方法需要根据量化的可预测速率。GRQ量化维持了这些零值并且确保了用于对这些量化值进行编码的位数仍然保持在b,因此允许易于在速率分配过程中通过参数GTLI(针对每个子段)根据量化对输出速率进行控制。如之前示出的,其不遭受像其他量化解决方案(维持了位数以及这些零值)的更大死区,并且因此在解码中具有更低的平均误差。
本发明的方法实现了以用于硬件实现方式的极其简单且有效的方式在少的步骤中对一组系数进行压缩。由于这一压缩解决方案同时对若干像素进行编码,因此对多个像素的并行编码是提出的编解码器所固有的。其允许利用低复杂度编解码器达到高像素速率,同时保持良好的压缩效率。
已经就具体实施例对本发明进行了描述,这些具体实施例是对本发明的说明而不应被理解为是限制的。更一般地,本领域技术人员将理解的是,本发明并不受限于上文中已经具体示出和/或描述的内容。
权利要求书中的参考标号并不限制其保护范围。动词“包括”、“包含”、“由…形成”或任何其他变体以及它们的对应词形变化的使用并不排除所陈述的那些之外的元件的存在。在元件前使用冠词“一个”、“一种”或“所述”并不排除存在多个此类元件。
本发明还被描述如下:本发明提供了一种用于将输入二进制数据值x集合压缩为相应的输出数据值x’集合的方法和设备,所述输入二进制数据值全部被编码为相同的位数B,当所述输入二进制数据值包括负值时不对符号位进行计数,所述输出数据值全部被编码为更少的位数b,不对符号位进行计数,所述方法可通过以下步骤获得:
a)如果所述输入二进制数据值集合包括负值,
·则针对每个输入二进制数据值x,确定x的绝对值y和被编码为一位的x的符号xs
b)如果所述输入二进制数据值集合不包括负值,
·则针对每个输入二进制数据值x,确定x的值y;
c)计算量化步长dq
d)将y值的范围[0,2B-1]划分成2b个子范围,
·第一子范围为[0,INT(dq/2)]
·第i个子范围为[INT((i-3/2)*dq)+1,INT((i-1/2)*dq)],
i从2到2b
e)针对每个y值,确定子范围i并且计算y’=i-1,所述y值为所述子范围的元素;
f)如果所述输入二进制数据值集合包括负值,
·则针对每个输入二进制数据值x,确定为y’加上xs的值x’;
g)如果所述输入二进制数据值集合不包括负值,
·则针对每个输入二进制数据值x,确定y’的值x’。

Claims (17)

1.一种用于压缩输入图像或视频数据的方法,所述输入图像或视频数据包括输入二进制数据值x集合,所述输入二进制数据值全部被编码为相同的位数B,当所述输入二进制数据值包括负值时不对符号位进行计数,所述方法包括确定相应的压缩的输出数据值x’集合的步骤,所述压缩的输出数据值全部被编码为更少的位数b,而不对符号位进行计数,其中所述压缩的输出数据值x’集合能够通过以下步骤获得:
a)对于每个输入二进制数据值x,如下确定y:
(i)如果所述输入二进制数据值集合包括负值,则确定x的绝对值y和被编码为一位的x的符号xs
(ii)如果所述输入二进制数据值集合不包括负值,则确定x的值y;
b)计算量化步长dq
c)将y值范围[0,2B-1]划分成2b个子范围,
·第一子范围为[0,INT(dq/2)]
·第i个子范围为[INT((i-3/2)*dq)+1,INT((i-1/2)*dq)],i从2到2b
d)针对每个y值,确定子范围i并且计算y’=i-1,所述y值为所述子范围i的元素;
e)如果所述输入二进制数据值集合包括负值,
·则针对每个输入二进制数据值x,确定为y’加上xs的值x’;
f)如果所述输入二进制数据值集合不包括负值,
·则针对每个输入二进制数据值x,确定y’的值x’。
2.根据权利要求1所述的方法,其中,步骤(b)到(d)通过执行以下步骤来实现:
·将y向右移位B-b位,得出第一结果;
·将y向右移位B+1位,得出第二结果;
·从第一结果中减去第二结果,得出第三结果;
·加上0.5,得出第四结果;
·选择第四结果的正权重位和零权重位,得出y’。
3.根据权利要求1所述的方法,包括以下步骤:
·获得查找表,所述查找表针对y的2B个值中的每个值包含相应的y’值;
·针对所述集合中的每个y值,确定所述表中索引y处的所述相应的y’值。
4.一种用于将输入图像或视频数据压缩成输出图像或视频数据的方法,所述输入图像或视频数据包括输入二进制数据值,所述输出图像或视频数据具有小于限值的体积,所述方法包括以下步骤:
·在NGCLI输入二进制数据值集合中对所述输入二进制数据值进行分组;
·针对所述NGCLI输入二进制数据值集合中的每个集合:
-确定GCLI,所述GCLI是所述集合中最高非零位的索引,而不对符号位进行计数
·选择GTLI的值,从而使得针对全部所述输入二进制数据值计数GCLI-GTLI位产生了具有比所述限值更小的体积的输出二进制数据;
·针对所述NGCLI输入二进制数据值集合中的每个集合:
-应用如权利要求1至3中任一项所述的方法,其中,B=GCLI
并且b=MAX(GCLI-GTLI,0)
·产生输出二进制数据作为所述输出图像或视频数据,所述输出二进制数据包括所述GTLI以及针对所述NGCLI输入二进制数据值集合中的每个集合的所述GCLI的值和NGCLI量化值x’。
5.根据权利要求4所述的方法,其中,所述输入二进制数据是从视频数据的解相关变换中产生的。
6.根据权利要求4或5所述的方法,其中,NGCLI包括在4与16之间。
7.根据权利要求4或5所述的方法,其中,NGCLI等于4。
8.一种用于将输入图像或视频数据解压缩成相应的输出图像或视频数据的方法,所述输入图像或视频数据包括输入二进制数据值x’集合,所述输入二进制数据值全部被编码为相同的位数b,而不对可能的符号位进行计数,所述输出图像或视频数据包括输出数据值x”集合,所述输出数据值全部被编码为更大的位数B,而不对可能的符号位进行计数,所述方法包括以下步骤:
a)计算量化步长dq
b)如果所述输入二进制数据值集合包括负值,则针对每个输入二进制数据值x’,确定x’的绝对值y’和被编码为一位的x’的符号x’s
c)如果所述输入二进制数据值集合不包括负值,则针对每个输入二进制数据值x’,确定x’的值y’;
d)针对每个y’计算
e)如果所述输入二进制数据值集合包括负值,则针对每个输入二进制数据值y’,确定y”加上x’s的值x”;
f)如果所述输入二进制数据值集合不包括负值,则针对每个输入二进制数据值x’,确定y”的值x”。
9.根据权利要求8所述的方法,其中,所述步骤d)包括以下步骤:
i.将y’向左移位B-b位,得出第一结果;
ii.将第一结果向右移位b+1位,得出第二结果;
iii.将第二结果加到第一结果上,得出总和结果;
iv.将第二结果复制到第一结果;
v.重复步骤ii.-iv.,直到第二结果低于零;
vi.将y”计算作为总和结果的整数部分。
10.根据权利要求8所述的方法,其中,b≤B/2,并且所述步骤d)包括以下步骤:
i.将y’向左移位B-b位,得出第一结果;
ii.将第一结果向右移位b+1位,得出第二结果;
iii.将第二结果加到第一结果上,得出总和结果;
iv.将y”计算作为总和结果的整数部分。
11.根据权利要求8所述的方法,包括以下步骤:
·获得查找表,所述查找表针对y’的2b个值中的每个值包含相应的y”值;
·针对所述集合中的每个y’值,确定所述表中索引y’处的所述相应的y”值。
12.一种用于对输入图像或视频数据进行解压缩的方法,所述输入图像或视频数据包括NGCLI输入二进制数据值集合,每个集合包括B值、b值,B为解压缩的二进制数据值的位数,b为所述输入二进制数据值的位数,而不对可能的符号位进行计数,所述方法包括以下步骤:
·应用如权利要求8至11中任一项所述的方法以用于获得解压缩的二进制数据值;
·产生包括所述解压缩的二进制数据值的输出二进制数据作为输出图像或视频数据。
13.根据权利要求12所述的解压缩的方法,其中,所述解压缩的二进制数据值是利用多个‘0’位获得具有给定长度的字来完成的。
14.一种用于将输入二进制数据值x集合压缩成相应的输出数据值x’集合的计算机可读介质,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更小的位数,所述计算机可读介质包括用于执行如权利要求1至3中任一项所述的方法的程序代码。
15.一种用于将输入二进制数据值x集合压缩成相应的输出数据值x’集合的设备,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更小的位数,所述设备包括用于执行如权利要求1至3中任一项所述的方法的硬件。
16.一种用于将输入二进制数据值x’集合解压缩成相应的输出数据值x”集合的计算机可读介质,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更大的位数,所述计算机可读介质包括用于执行如权利要求8至11中任一项所述的方法的程序代码。
17.一种用于将输入二进制数据值x’集合解压缩成相应的输出数据值x”集合的设备,所述输入二进制数据值全部被编码为相同的位数,所述输出数据值全部被编码为更大的位数,所述设备包括用于执行如权利要求8至11中任一项所述的方法的硬件。
CN201710055556.4A 2016-01-28 2017-01-25 用于二进制数据的压缩和解压缩的方法和设备 Active CN107018430B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP16153212.2A EP3200455B1 (en) 2016-01-28 2016-01-28 Method and device for compression and decompression of binary data
EP16153212.2 2016-01-28

Publications (2)

Publication Number Publication Date
CN107018430A CN107018430A (zh) 2017-08-04
CN107018430B true CN107018430B (zh) 2019-05-31

Family

ID=55361327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710055556.4A Active CN107018430B (zh) 2016-01-28 2017-01-25 用于二进制数据的压缩和解压缩的方法和设备

Country Status (4)

Country Link
US (1) US10334246B2 (zh)
EP (1) EP3200455B1 (zh)
JP (1) JP6431556B2 (zh)
CN (1) CN107018430B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3556097B1 (en) * 2016-12-19 2021-12-15 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Image coding using a subband dependent prediction adaption for gcli entropy coding
EP3653530A4 (en) 2017-07-11 2020-10-07 Mitsubishi Chemical Corporation STORAGE PACKAGING FOR SILICA POWDER AND TEST KIT WITH IT
CN111385578B (zh) * 2018-12-28 2021-06-01 北京图森智途科技有限公司 一种应用于fpga的数据解压缩方法、成像设备和汽车

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568012A (zh) * 2001-11-27 2005-01-19 三星电子株式会社 用于编码和解码关键字数据的装置和方法
CN103597838A (zh) * 2011-04-15 2014-02-19 黑莓有限公司 对末位有效系数的位置进行编码和解码的方法和设备
CN104380733A (zh) * 2012-06-28 2015-02-25 日本电气株式会社 视频量化参数编码方法、视频量化参数解码方法、设备、以及程序

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3689437B2 (ja) * 1992-10-29 2005-08-31 ソニー株式会社 画像信号の符号化方法及び装置
JP2795300B2 (ja) * 1992-12-16 1998-09-10 日本電気株式会社 画像符号化方式
JP2827997B2 (ja) * 1995-12-28 1998-11-25 日本電気株式会社 画像信号のアダマール変換符号化装置および復号装置
US6339614B1 (en) * 1996-12-20 2002-01-15 Intel Corporation Method and apparatus for quantizing and run length encoding transform coefficients in a video coder
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
EP1750447A3 (en) * 2001-11-27 2009-07-22 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding key data
JP4068537B2 (ja) * 2003-09-03 2008-03-26 日本電信電話株式会社 階層符号化ビットストリームの再量子化方法及びその装置と、階層符号化ビットストリームの再量子化プログラム及びそのプログラムを記録した記録媒体
EP1564997A1 (en) * 2004-02-12 2005-08-17 Matsushita Electric Industrial Co., Ltd. Encoding and decoding of video images based on a quantization with an adaptive dead-zone size
US8045614B2 (en) * 2005-05-11 2011-10-25 Dolby Laboratories Licensing Corporation Quantization control for variable bit depth
JP4624321B2 (ja) * 2006-08-04 2011-02-02 株式会社メガチップス トランスコーダおよび符号化画像変換方法
US10425641B2 (en) * 2013-05-30 2019-09-24 Intel Corporation Quantization offset and cost factor modification for video encoding
CN104488266B (zh) * 2013-06-27 2018-07-06 北京大学深圳研究生院 Avs视频压缩编码方法及编码器

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1568012A (zh) * 2001-11-27 2005-01-19 三星电子株式会社 用于编码和解码关键字数据的装置和方法
CN103597838A (zh) * 2011-04-15 2014-02-19 黑莓有限公司 对末位有效系数的位置进行编码和解码的方法和设备
CN104380733A (zh) * 2012-06-28 2015-02-25 日本电气株式会社 视频量化参数编码方法、视频量化参数解码方法、设备、以及程序

Also Published As

Publication number Publication date
JP6431556B2 (ja) 2018-11-28
US10334246B2 (en) 2019-06-25
CN107018430A (zh) 2017-08-04
JP2017135708A (ja) 2017-08-03
EP3200455B1 (en) 2018-09-05
US20170223354A1 (en) 2017-08-03
EP3200455A1 (en) 2017-08-02

Similar Documents

Publication Publication Date Title
CA2618564C (en) Adaptive coding and decoding of wide-range coefficients
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
CN107018430B (zh) 用于二进制数据的压缩和解压缩的方法和设备
CN102186085A (zh) 视频处理方法、设备和系统
US20170263262A1 (en) Method for coding pulse vectors using statistical properties
AU2018298758B2 (en) Method and device for digital data compression
US5822000A (en) Video encoding using rearrangement of transform coefficients and inter-block correlation
CN108182712B (zh) 图像处理方法、装置及系统
US9990931B2 (en) Method for coding pulse vectors using statistical properties
US7046852B2 (en) Fast image decompression via look up table
EP3180862B1 (en) Method for coding pulse vectors using statistical properties
EP3180863B1 (en) Method for coding pulse vectors using statistical properties
RU2765654C9 (ru) Способ и устройство для сжатия цифровых данных
Makwana et al. Image compression using tree structured vector quantization with compact codebook
KR100209432B1 (ko) 블럭 간 상관관계를 이용하는 부호화 방법 및 장치
Hung et al. Lossless compression-based progressive image transmission scheme
CN116746066A (zh) 使用人工神经网络的渐进式数据压缩
El-said et al. Image compression technique for low bit rate transmission
Yeo et al. Analysing JPEG coding with masking
El-said et al. Image compression using Least Probable Coefficients Approximation technique
El-said et al. Adaptive lossy image compression technique
Hasan PSNR Improvement using Different Prediction Coding in Image Compression
KR19980051714A (ko) 블럭 간 상관관계를 이용하는 부호화 방법 및 장치
Malik et al. Enhanced image/video compression using diagonal divide
Mosa COLOR IMAGE COMPRESSION BASED ON ABSOLUTE MOMENT BLOCK TRUNCATION CODING USING DELTA ENCODING AND HUFFMAN CODING

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