CN110858900B - 复用精简反量化乘法因子和位移表的数据压缩方法和装置 - Google Patents

复用精简反量化乘法因子和位移表的数据压缩方法和装置 Download PDF

Info

Publication number
CN110858900B
CN110858900B CN201810969839.4A CN201810969839A CN110858900B CN 110858900 B CN110858900 B CN 110858900B CN 201810969839 A CN201810969839 A CN 201810969839A CN 110858900 B CN110858900 B CN 110858900B
Authority
CN
China
Prior art keywords
shift
quantization
inverse quantization
dequantized
const
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
CN201810969839.4A
Other languages
English (en)
Other versions
CN110858900A (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.)
Shanghai Tianhe Electronic Information Co ltd
Original Assignee
Shanghai Tianhe Electronic Information Co ltd
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 Shanghai Tianhe Electronic Information Co ltd filed Critical Shanghai Tianhe Electronic Information Co ltd
Priority to CN201810969839.4A priority Critical patent/CN110858900B/zh
Publication of CN110858900A publication Critical patent/CN110858900A/zh
Application granted granted Critical
Publication of CN110858900B publication Critical patent/CN110858900B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

本发明提供了一种通过复用精简的反量化乘法因子表和反量化位移表来实现反量化的数据压缩方法和装置,将这两个表的条目数都限制在一个预定的常数Tqp+1(Tqp小于qp的最大值MAXqp)内,当量化因子qp取值0至Tqp之间(含0和Tqp,其中Tqp)时,通过直接查表获得对应的反量化乘法因子的值和反量化位移的值,而当qp的取值大于Tqp时,按照一种预定的规则将qp的值映射为0至Tqp之间(含0和Tqp,其中Tqp)的值,然后查表获得反量化乘法因子的过渡值和反量化位移的过渡值,再按照一种预定的规则对所述过渡值进行映射获得最终的对应的反量化乘法因子的值和反量化位移的值。

Description

复用精简反量化乘法因子和位移表的数据压缩方法和装置
技术领域
本发明涉及一种对数据进行压缩的编码及解码(也称译码)***,特别是对数据进行反量化的编码及解码的方法和装置。
背景技术
随着人类社会进入大数据、人工智能、云计算、移动计算、云-移动计算、超高清(4K)和特超高清(8K)视频图像分辨率、4G/5G通讯、虚拟现实的时代,对各种数据,包括大数据、图像数据、视频数据、音频数据、语音数据、神经网络数据、以及各种新形态的数据,进行超高压缩比和极高质量的数据压缩成为必不可少的技术。数据压缩领域的一个新趋势是数据的动态范围不断增大。
数据集是由数据元素(例如:字节、比特、像素、像素分量、空间采样点、变换域系数)组成的集合。对排列成一定空间(一维、二维、或多维)形状的数据集(例如:一个一维数据队列、一个二维数据文件、一帧图像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列),特别是二维或以上数据集进行数据压缩的编码(以及相应的解码)时,通常把此数据集划分成若干具有预定形状和大小(即元素数目)的块的子集,称为编码块(从解码的角度也就是解码块,统称为编解码块),以编解码块为单位,一块一块进行编码或者解码。在任一时刻,正在编码中的编码块称为当前编码块。在任一时刻,正在解码中的解码块称为当前解码块。当前编码块或当前解码块统称为当前编解码块或简称为当前块。正在编码或者解码中的数据元素(有时也简称为元素)称为当前编码数据元素或者当前解码数据元素,统称为当前数据元素,简称为当前元素。元素由N个分量(通常1≤N≤5)组成,因此数据集和编解码块也都由N个分量组成。
数据的有损压缩的一种主要手段是量化和反量化。简单地说,量化实际上就是将待压缩的数据作为一个整数被除数除以一个称为量化间隔的整数获得商即量化后数据,而反量化则是将所述商乘以所述量化间隔获得所述被除数的复原值。所述复原值与所述被除数的差就是压缩误差。
量化与反量化的例1:待压缩的数据是254,量化间隔是47,则量化后数据是5,复原值是235,压缩误差是19。
量化与反量化的例2:待压缩的数据是254,量化间隔是14,则量化后数据是18,复原值是252,压缩误差是2。
显而易见,量化后数据小于待压缩的数据,可用较少的比特来表示,从而达到数据压缩的效果。也可见,量化间隔越大,压缩比越大而压缩误差也越大,量化间隔越小,压缩比越小而压缩误差也越小。因此,量化间隔是调节和平衡压缩比和压缩误差的关键参数。
在各种视频编解码标准中,都使用具有一个预定取值范围0~MAXqp(MAXqp ≥50,如MAXqp = 52)的量化因子(通常记为qp或QP或Qp)来控制量化间隔的大小,进而调节和平衡压缩比和压缩误差。
量化和反量化是一一对应的,规定了两者之一也就规定了另一者。由于各种视频编解码标准仅对解码器做出规范性规定,各种视频编解码标准中仅对反量化方式做出规范。在现有各种视频编解码标准中,有下列两种反量化方式。
反量化方式1:使用一个1/M(M≤10)比特的反量化乘法因子表{dequant[m]: 0≤m≤M-1}和qp%M(其中%是取模运算符,表示qp除以M得到的余数)与qp/M(即qp除以M)这两种操作的方法。在反量化方式1中,从量化后数据Q获得反量化后的复原值C的操作如下:
C = (Q × w × dequant[qp%M] + 2shift - qp/M - 1)/2shift - qp/M
其中w是与qp无关的权重,shift是一个与qp无关的二进制位移量,0 ≤ qp ≤MAXqp。
反量化方式2:使用一个覆盖了整个qp取值范围0~MAXqp的反量化乘法因子表{dequant[q]: 0≤q≤MAXqp}和一个同样大小的反量化位移量表{shift[q]: 0≤q≤MAXqp}的方法。在反量化方式2中,从量化后数据Q获得反量化后的复原值C的操作如下:
C = (Q × w × dequant[qp] + 2shift[qp] + s - 1)/2shift[qp] + s
其中w是与qp无关的权重,s是一个与qp无关的二进制位移量,0 ≤ qp ≤ MAXqp。
反量化方式1本质上仅使用M(M≤10)种反量化乘法因子及其对应的量化乘法因子和量化间隔,限制了量化和反量化的作用和适用范围。
反量化方式2本质上是完全的查表法,可以规定多达MAXqp + 1(MAXqp ≥ 50)种反量化乘法因子及其对应的量化乘法因子和量化间隔,大大增强了量化和反量化的作用和适用范围。但其缺点是需要消耗资源,增加成本来存储反量化乘法因子表和反量化位移量表的所有MAXqp+1个条目。在数据的动态范围不断增大的各种新应用领域,MAXqp的值也不断增大,高达上百甚至数百,大大增加了量化和反量化的实现复杂度和成本。
发明内容
为了解决数据的动态范围不断增大时,由于仍然需要增强量化和反量化的作用和适用范围,从而导致量化和反量化的实现复杂度和成本也大大增加的问题,本发明提供了一种通过复用精简的反量化乘法因子表和反量化位移表来实现反量化的数据压缩方法和装置,将这两个表的条目数都限制在一个预定的常数Tqp+1(Tqp小于qp的最大值MAXqp)内,当量化因子qp取值0至Tqp之间(含0和Tqp,其中Tqp)时,通过直接查表获得对应的反量化乘法因子的值和反量化位移的值,而当qp的取值大于Tqp时,按照一种预定的规则将qp的值映射为0至Tqp之间(含0和Tqp,其中Tqp)的值,然后查表获得反量化乘法因子的过渡值和反量化位移的过渡值,再按照一种预定的规则对所述过渡值进行映射获得最终的对应的反量化乘法因子的值和反量化位移的值。
本发明的首要技术特征是构造一对精简的反量化乘法因子表和反量化位移表,其条目数远小于量化因子的最大值,对于一部分量化因子,通过对这些量化因子的映射(称为前映射)达到复用反量化乘法因子表和反量化位移表的目的,获得反量化乘法因子的过渡值和反量化位移的过渡值,再通过对所述反量化乘法因子的过渡值和所述反量化位移的过渡值的映射(称为后映射),获得最终的对应的反量化乘法因子的值和反量化位移的值。
本发明中,优选地,所述前映射是减去一个预定的常数。
本发明中,优选地,所述后映射是
对反量化乘法因子的过渡值的恒等映射即反量化乘法因子的值等于反量化乘法因子的过渡值
对反量化位移的过渡值的减预定常数映射即反量化位移的值等于反量化位移的过渡值减去一个预定常数。
本发明的编码方法或装置或者解码方法或装置的最基本的特有技术特征是包括一个具有下列特征的反量化器:判断量化因子是否超过一个阈值;如果是,则采用前映射,查表,后映射的方式获得反量化乘法因子和反量化位移,否则,采用直接查表的方式获得反量化乘法因子和反量化位移;采用所述反量化乘法因子和所述反量化位移对量化后数据进行反量化运算,产生反量化后的复原值。图1是本发明的编码方法或装置或者解码方法或装置的一个示意图。
根据本发明的一个方面,提供了一种对数据集及其数据进行压缩的编码方法或装置或者解码方法或装置,其特征在于至少包括一个反量化器,所述反量化器至少包括完成下列功能及操作的步骤或模块:
判断一个量化因子是否超过一个预定的阈值,所述阈值满足条件:小于量化因子取值范围的最大值即上限,所述条件的作用是减少反量化乘法因子条目和反量化位移量条目的数目及其所需的存储空间;
如果所述量化因子超过所述阈值,则;
对所述量化因子进行前映射,即按照一种预定的规则将所述量化因子映射为一个不超过所述阈值的值,称为映射后量化因子,
以所述映射后量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述映射后量化因子对应的反量化乘法因子条目和反量化位移量条目,分别称为反量化乘法因子过渡值和反量化位移量过渡值,
对所述反量化乘法因子过渡值和所述反量化位移量过渡值分别进行后映射,即按照一种预定的规则将所述反量化乘法因子过渡值和所述反量化位移量过渡值分别映射为最终的反量化乘法因子和反量化位移量;
如果所述量化因子不超过所述阈值,则;
以所述量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述量化因子对应的反量化乘法因子条目和反量化位移量条目,分别直接称为反量化乘法因子和反量化位移量;
至少根据所述反量化乘法因子和所述反量化位移量,对量化后数据进行反量化运算,产生反量化后的复原值。
从一个角度,本发明提供了一种对数据集及其数据进行压缩的编码方法或者解码方法,其特征在于至少包括一个反量化器,所述反量化器至少包括下列步骤:
1)判断一个量化因子是否超过一个预定的阈值,如果是,则顺序执行下一步骤,否则跳至步骤5),所述阈值必须小于量化因子取值范围的最大值即上限以减少步骤3)和步骤5)中反量化乘法因子和反量化位移量表的条目的数目及其所需的存储空间;
2)对所述量化因子进行前映射,即按照一种预定的规则将所述量化因子映射为一个不超过所述阈值的值,称为映射后量化因子;
3)以所述映射后量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述映射后量化因子对应的反量化乘法因子条目和反量化位移量条目,分别称为反量化乘法因子过渡值和反量化位移量过渡值;
4)对所述反量化乘法因子过渡值和所述反量化位移量过渡值分别进行后映射,即按照一种预定的规则将所述反量化乘法因子过渡值和所述反量化位移量过渡值分别映射为最终的反量化乘法因子和反量化位移量,然后跳至步骤6);
5)以所述量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述量化因子对应的反量化乘法因子条目和反量化位移量条目,分别直接称为反量化乘法因子和反量化位移量;
6)至少根据步骤4)产生的所述反量化乘法因子和所述反量化位移量或者步骤5)产生的所述反量化乘法因子和所述反量化位移量,对量化后数据进行反量化运算,产生反量化后的复原值。
从另一角度,本发明提供了一种对数据集及其数据进行压缩的编码装置或者解码装置,其特征在于至少包括一个反量化器,所述反量化器至少包括下列模块:
1)量化因子大小判断模块,用于判断一个量化因子是否超过一个预定的阈值,所述阈值必须小于量化因子取值范围的最大值即上限以减少模块2)中反量化乘法因子和反量化位移量表的条目的数目及其所需的存储空间;
2)反量化乘法因子和反量化位移量表存储模块,用于存储一个反量化乘法因子表和一个反量化位移量表,使用索引即地址来读取这两个表的条目,也就是反量化乘法因子条目和反量化位移量条目;
3)前映射模块,当一个量化因子超过所述阈值时,对所述量化因子进行前映射,即按照一种预定的规则将所述量化因子映射为一个不超过所述阈值的值,称为映射后量化因子;
4)反量化乘法因子条目和反量化位移量条目读取模块,当一个量化因子超过所述阈值时,以所述映射后量化因子为索引即地址,否则,直接以所述量化因子为索引即地址,从所述反量化乘法因子和反量化位移量表存储模块中读取获得与所述映射后量化因子或所述量化因子对应的反量化乘法因子条目和反量化位移量条目,当所述量化因子超过所述阈值时,这两个条目分别称为反量化乘法因子过渡值和反量化位移量过渡值,否则,这两个条目分别直接称为反量化乘法因子和反量化位移量;
5)后映射模块,当一个量化因子超过所述阈值时,对所述反量化乘法因子过渡值和所述反量化位移量过渡值分别进行后映射,即按照一种预定的规则将所述反量化乘法因子过渡值和所述反量化位移量过渡值分别映射为最终的反量化乘法因子和反量化位移量;
6)反量化运算模块,当一个量化因子超过所述阈值时,至少根据模块5)产生的所述反量化乘法因子和所述反量化位移量,否则,至少根据模块4)产生的所述反量化乘法因子和所述反量化位移量,对量化后数据进行反量化运算,产生反量化后的复原值。
本发明中,数据包括下列类型的数据之一或其组合
1)一维数据;
2)二维数据;
3)多维数据;
4)图形;
5)分维图形;
6)图像;
7)图像的序列;
8)视频;
9)音频;
10)文件;
11)字节;
12)比特;
13)像素;
14)三维场景;
15)持续变化的三维场景的序列;
16)虚拟现实的场景;
17)持续变化的虚拟现实的场景的序列
18)像素形式的图像;
19)图像的变换域数据;
20)二维或二维以上字节的集合;
21)二维或二维以上比特的集合;
22)像素的集合;
23)三分量像素(R,G,B)或其变体的集合;
24)三分量像素(Y,U,V)或其变体的集合;
25)三分量像素(Y,Cb,Cr)或其变体的集合;
26)三分量像素(Y,Cg,Co)或其变体的集合。
27)四分量像素(C,M,Y,K)或其变体的集合;
28)四分量像素(R,G,B,A)或其变体的集合;
29)四分量像素(Y,U,V,A)或其变体的集合;
30)四分量像素(Y,Cb,Cr,A)或其变体的集合;
31)四分量像素(Y,Cg,Co,A)或其变体的集合。
本发明中,所述量化后数据包括下列类型的数据之一或其组合
1)对原始数据进行量化操作后得到的数据;
2)对原始数据进行预测编码、对预测结果即预测残差进行量化操作后得到的数据;
3)对原始数据进行预测编码、对预测结果即预测残差进行变换编码、对变换结果即变换系数进行量化操作后得到的数据。
本发明中,在原始数据是图像、图像的序列、视频等的情形,编码块或者解码块是图像的一个编码区域或者一个解码区域,包括以下情形:图像的子图像、条带slice、片块tile、宏块、最大编码单元LCU、编码树单元CTU、编码单元CU、CU的子区域、子编码单元SubCU、预测块、预测单元PU、PU的子区域、子预测单元SubPU、变换块、变换单元TU、TU的子区域、子变换单元SubTU。
以上通过若干特定的具体实例说明本发明的技术特征。本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在不背离本发明的精神下进行各种修饰或改变。
以下是本发明的更多的实施细节或变体。
实施或变体例1
所述编码方法或装置或者解码方法或装置中,将所述量化因子,记为qp,映射为映射后量化因子,记为qp_mapped,的所述前映射是减去一个预定的常数,记为qp_const,其一种表示方法是qp_mapped = qp - qp_const。
实施或变体例2
所述编码方法或装置或者解码方法或装置中,将所述反量化乘法因子过渡值,记为dequant_multiplier_temp,和所述反量化位移量过渡值,记为dequant_shift_temp,分别映射为最终的反量化乘法因子dequant_multiplier和反量化位移量dequant_shift的所述后映射是
对所述反量化乘法因子过渡值的恒等映射即最终的反量化乘法因子等于所述反量化乘法因子过渡值,其一种表示方法是dequant_multiplier = dequant_multiplier_temp
对所述反量化位移量过渡值的减预定常数映射即最终的反量化位移量等于所述反量化位移量过渡值减去一个预定常数,记为s_const,其一种表示方法是dequant_shift= dequant_shift_temp - s_const。
实施或变体例3
所述编码方法或装置或者解码方法或装置中,所述反量化运算至少包括:
将量化后数据乘以一个与量化因子无关的权重,获得第一中间乘积,显然,当所述权重取值为1时,实际上第一中间乘积等于量化后数据,当所述权重取值不为1时,第一中间乘积不等于量化后数据;
将所述第一中间乘积加上一个四舍五入控制量R1后施行S1位的二进制位右移,即四舍五入地除以2S1,获得右移第一中间乘积,其中R1和S1都是与量化因子无关的非负整数并且R1<2S1,显然,当S1为0时,实际上所述右移第一中间乘积等于所述第一中间乘积,S1不为0时,所述右移第一中间乘积不等于所述第一中间乘积;
将所述右移第一中间乘积乘以所述反量化乘法因子后再右移dm_shift(通常0≤dm_shift≤10)比特,获得第二中间乘积,其中dm_shift可能与量化因子有关,也可能为0即实际上无右移;
将所述第二中间乘积加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值,其中S是所述反量化位移量加上一个与量化因子无关的附加二进制位移量。
实施或变体例4
所述编码方法或装置或者解码方法或装置中,所述反量化器的功能及操作至少包括:
判断一个量化因子qp是否超过一个预定的阈值qp_T;如果qp≥qp_T,则以qp减去一个预定的常数qp_const作为索引,从一个预定的反量化乘法因子表dequant_multiplier[]和一个反量化位移量表dequant_shift[]中获得反量化乘法因子条目dequant_multiplier[qp - qp_const]作为与qp对应的反量化乘法因子deq_mltplr和减去shift_const的反量化位移量条目dequant_shift[qp - qp_const] - shift_const作为与qp对应的反量化位移量deq_shift,否则,直接以qp作为索引,从所述反量化乘法因子表和所述反量化位移量表中获得反量化乘法因子条目dequant_multiplier[qp] 作为与qp对应的反量化乘法因子deq_mltplr和反量化位移量条目dequant_shift[qp] 作为与qp对应的反量化位移量deq_shift;以上获得deq_mltplr和deq_shift的一种伪代码表示是
deq_mltplr = qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_9A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]
deq_shift = qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_10A
dequant_shift[qp - qp_const] - s_const :dequant_shift[qp]
其中,符号
Figure 100002_DEST_PATH_IMAGE002_11A
之前的伪代码表示条件判断,符号
Figure 100002_DEST_PATH_IMAGE002_12A
与符号:之间的伪代码表示条件为真时的反量化乘法因子和反量化位移量,符号:之后的伪代码表示条件为假时的反量化乘法因子和反量化位移量;
将作为反量化器输入的量化后数据Q乘以一个权重w后施行w_shift位的二进制位右移,获得中间乘积A;以上获得A的一种伪代码表示是
A = Q × w >> w_shift
其中>>是右移运算符,表示将二进制数Q × w右移w_shift比特即二进制位;
如果qp≥qp_T,则将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift1位的二进制位右移,否则,将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift2位的二进制位右移,获得中间乘积B;以上获得B的一种伪代码表示是
B = A × deq_mltplr >> (qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_13A
dm_shift1 : dm_shift2)
将B加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值C,其中S是所述反量化位移量deq_shift加上一个与量化因子无关的附加二进制位移量shift1即S = deq_shift + shift1;以上获得C的一种伪代码表示是
C = (B + R) >> (deq_shift + shift1)
综合以上各伪代码,从qp,Q,qp_T,qp_const,dequant_multiplier[],dequant_shift[],s_const,w,w_shift,dm_shift1,dm_shift2,R,shift1获得C的一种伪代码表示是
C = ((((Q × w) >> w_shift) × (qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_14A
dequant_multiplier[qp -qp_const] : dequant_multiplier[qp]) >> (qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_15A
dm_shift1 : dm_shift2)) +R) >> ((qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_16A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1)
其中C是反量化后的复原值。
实施或变体例5
实施或变体例4所述编码方法或装置或者解码方法或装置中,
qp_T = 80,
qp_const = 64,
s_const = 4,
dm_shift1 = 0,
dm_shift2 = 4,
R = 1 << ((qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_17A
dequant_shift[qp - qp_const] - s_const :dequant_shift[qp]) + shift1 - 1) = 2((qp≥qp_T
Figure 100002_DEST_PATH_IMAGE012A
dequant _shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1),其中<<是左移运算符,表示将二进制数1左移((qp≥qp_T
Figure 100002_DEST_PATH_IMAGE002_18A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1)比特,
所述量化因子取值范围的最大值是143。
附图说明
图1是本发明的编码方法或装置或者解码方法或装置的一个示意图。

Claims (32)

1.一种对数据集及其数据进行压缩的编码方法,其特征在于至少包括一个反量化器,所述反量化器至少包括下列步骤:
1)判断一个量化因子是否超过一个预定的阈值,如果是,则顺序执行下一步骤,否则跳至步骤5),所述阈值必须小于量化因子取值范围的最大值即上限以减少步骤3)和步骤5)中反量化乘法因子和反量化位移量表的条目的数目及其所需的存储空间;
2)对所述量化因子进行前映射,即按照一种预定的规则将所述量化因子映射为一个不超过所述阈值的值,称为映射后量化因子;
3)以所述映射后量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述映射后量化因子对应的反量化乘法因子条目和反量化位移量条目,分别称为反量化乘法因子过渡值和反量化位移量过渡值;
4)对所述反量化乘法因子过渡值和所述反量化位移量过渡值分别进行后映射,即按照一种预定的规则将所述反量化乘法因子过渡值和所述反量化位移量过渡值分别映射为最终的反量化乘法因子和反量化位移量,然后跳至步骤6);
5)以所述量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述量化因子对应的反量化乘法因子条目和反量化位移量条目,分别直接称为反量化乘法因子和反量化位移量;
6)至少根据步骤4)产生的所述反量化乘法因子和所述反量化位移量或者步骤5)产生的所述反量化乘法因子和所述反量化位移量,对量化后数据进行反量化运算,产生反量化后的复原值。
2.根据权利要求1所述的编码方法,其特征在于,所述数据包括下列类型的数据之一或其组合:
1)一维数据;
2)二维数据;
3)多维数据;
4)图形;
5)分维图形;
6)图像;
7)图像的序列;
8)视频;
9)音频;
10)文件;
11)字节;
12)比特;
13)像素;
14)三维场景;
15)持续变化的三维场景的序列;
16)虚拟现实的场景;
17)持续变化的虚拟现实的场景的序列
18)像素形式的图像;
19)图像的变换域数据;
20)二维或二维以上字节的集合;
21)二维或二维以上比特的集合;
22)像素的集合;
23)三分量像素(R,G,B)或其变体的集合;
24)三分量像素(Y,U,V)或其变体的集合;
25)三分量像素(Y,Cb,Cr)或其变体的集合;
26)三分量像素(Y,Cg,Co)或其变体的集合;
27)四分量像素(C,M,Y,K)或其变体的集合;
28)四分量像素(R,G,B,A)或其变体的集合;
29)四分量像素(Y,U,V,A)或其变体的集合;
30)四分量像素(Y,Cb,Cr,A)或其变体的集合;
31)四分量像素(Y,Cg,Co,A)或其变体的集合。
3.根据权利要求1所述的编码方法,其特征在于,所述量化后数据包括下列类型的数据之一或其组合:
1)对原始数据进行量化操作后得到的数据;
2)对原始数据进行预测编码、对预测结果即预测残差进行量化操作后得到的数据;
3)对原始数据进行预测编码、对预测结果即预测残差进行变换编码、对变换结果即变换系数进行量化操作后得到的数据。
4.根据权利要求1所述的编码方法,其特征在于,将所述量化因子,记为qp,映射为映射后量化因子,记为qp_mapped,的所述前映射是减去一个预定的常数,记为qp_const,其一种表示方法是qp_mapped = qp - qp_const。
5.根据权利要求1所述的编码方法,其特征在于:
将所述反量化乘法因子过渡值,记为dequant_multiplier_temp,和所述反量化位移量过渡值,记为dequant_shift_temp,分别映射为最终的反量化乘法因子dequant_multiplier和反量化位移量dequant_shift的所述后映射是
对所述反量化乘法因子过渡值的恒等映射即最终的反量化乘法因子等于所述反量化乘法因子过渡值,其一种表示方法是dequant_multiplier = dequant_multiplier_temp
对所述反量化位移量过渡值的减预定常数映射即最终的反量化位移量等于所述反量化位移量过渡值减去一个预定常数,记为s_const,其一种表示方法是dequant_shift =dequant_shift_temp - s_const。
6.根据权利要求1所述的编码方法,其特征在于所述反量化运算至少包括:
将量化后数据乘以一个与量化因子无关的权重,获得第一中间乘积,显然,当所述权重取值为1时,实际上第一中间乘积等于量化后数据,当所述权重取值不为1时,第一中间乘积不等于量化后数据;
将所述第一中间乘积加上一个四舍五入控制量R1后施行S1位的二进制位右移,即四舍五入地除以2S1,获得右移第一中间乘积,其中R1和S1都是与量化因子无关的非负整数并且R1<2S1,显然,当S1为0时,实际上所述右移第一中间乘积等于所述第一中间乘积,S1不为0时,所述右移第一中间乘积不等于所述第一中间乘积;
将所述右移第一中间乘积乘以所述反量化乘法因子后再右移dm_shift(通常0≤dm_shift≤10)比特,获得第二中间乘积;
将所述第二中间乘积加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值,其中S是所述反量化位移量加上一个与量化因子无关的附加二进制位移量。
7.根据权利要求1所述的编码方法,其特征在于所述反量化器的功能及操作至少包括:
判断一个量化因子qp是否超过一个预定的阈值qp_T;如果qp≥qp_T,则以qp减去一个预定的常数qp_const作为索引,从一个预定的反量化乘法因子表dequant_multiplier[]和一个反量化位移量表dequant_shift[]中获得反量化乘法因子条目dequant_multiplier[qp - qp_const]作为与qp对应的反量化乘法因子deq_mltplr和减去s_const的反量化位移量条目dequant_shift[qp - qp_const] - s_const作为与qp对应的反量化位移量deq_shift,否则,直接以qp作为索引,从所述反量化乘法因子表和所述反量化位移量表中获得反量化乘法因子条目dequant_multiplier[qp] 作为与qp对应的反量化乘法因子deq_mltplr和反量化位移量条目dequant_shift[qp] 作为与qp对应的反量化位移量deq_shift;以上获得deq_mltplr和deq_shift的一种伪代码表示是
deq_mltplr= qp≥qp_T
Figure DEST_PATH_IMAGE002
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]
deq_shift = qp≥qp_T
Figure DEST_PATH_IMAGE002A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]
其中,符号
Figure DEST_PATH_IMAGE002AA
之前的伪代码表示条件判断,符号
Figure DEST_PATH_IMAGE002AAA
与符号:之间的伪代码表示条件为真时的反量化乘法因子和反量化位移量,符号:之后的伪代码表示条件为假时的反量化乘法因子和反量化位移量;
将作为反量化器输入的量化后数据Q乘以一个权重w后施行w_shift位的二进制位右移,获得中间乘积A;以上获得A的一种伪代码表示是
A = Q × w >> w_shift
其中>>是右移运算符,表示将二进制数Q × w右移w_shift比特即二进制位;
如果qp≥qp_T,则将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift1位的二进制位右移,否则,将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift2位的二进制位右移,获得中间乘积B;以上获得B的一种伪代码表示是
B = A × deq_mltplr>> (qp≥qp_T
Figure DEST_PATH_IMAGE002AAAA
dm_shift1 : dm_shift2)
将B加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值C,其中S是所述反量化位移量deq_shift加上一个与量化因子无关的附加二进制位移量shift1即S = deq_shift + shift1;以上获得C的一种伪代码表示是
C = (B + R) >> (deq_shift + shift1)
综合以上各伪代码,从qp,Q,qp_T,qp_const,dequant_multiplier[],dequant_shift[],s_const,w,w_shift,dm_shift1,dm_shift2,R,shift1获得C的一种伪代码表示是
C = ((((Q × w) >> w_shift)× (qp≥qp_T
Figure DEST_PATH_IMAGE002_5A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]) >> (qp≥qp_T
Figure DEST_PATH_IMAGE002_6A
dm_shift1 : dm_shift2))+ R) >> ((qp≥qp_T
Figure DEST_PATH_IMAGE002_7A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) +shift1)
其中C是反量化后的复原值。
8.根据权利要求7所述的编码方法,其特征在于:
qp_T = 80,
qp_const = 64,
s_const = 4,
dm_shift1 = 0,
dm_shift2 = 4,
R = 1 <<((qp≥qp_T
Figure DEST_PATH_IMAGE002_8A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1) = 2((qp≥qp_T
Figure DEST_PATH_IMAGE012
dequant _shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1),其中<<是左移运算符,表示将二进制数1左移((qp≥qp_T
Figure DEST_PATH_IMAGE002_9A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1)比特,
所述量化因子取值范围的最大值是143。
9.一种对数据集及其数据进行压缩的解码方法,其特征在于至少包括一个反量化器,所述反量化器至少包括下列步骤:
1)判断一个量化因子是否超过一个预定的阈值,如果是,则顺序执行下一步骤,否则跳至步骤5),所述阈值必须小于量化因子取值范围的最大值即上限以减少步骤3)和步骤5)中反量化乘法因子和反量化位移量表的条目的数目及其所需的存储空间;
2)对所述量化因子进行前映射,即按照一种预定的规则将所述量化因子映射为一个不超过所述阈值的值,称为映射后量化因子;
3)以所述映射后量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述映射后量化因子对应的反量化乘法因子条目和反量化位移量条目,分别称为反量化乘法因子过渡值和反量化位移量过渡值;
4)对所述反量化乘法因子过渡值和所述反量化位移量过渡值分别进行后映射,即按照一种预定的规则将所述反量化乘法因子过渡值和所述反量化位移量过渡值分别映射为最终的反量化乘法因子和反量化位移量,然后跳至步骤6);
5)以所述量化因子为索引即地址,从一个预定的反量化乘法因子和反量化位移量表中获得与所述量化因子对应的反量化乘法因子条目和反量化位移量条目,分别直接称为反量化乘法因子和反量化位移量;
6)至少根据步骤4)产生的所述反量化乘法因子和所述反量化位移量或者步骤5)产生的所述反量化乘法因子和所述反量化位移量,对量化后数据进行反量化运算,产生反量化后的复原值。
10.根据权利要求9所述的解码方法,其特征在于,所述数据包括下列类型的数据之一或其组合:
32)一维数据;
33)二维数据;
34)多维数据;
35)图形;
36)分维图形;
37)图像;
38)图像的序列;
39)视频;
40)音频;
41)文件;
42)字节;
43)比特;
44)像素;
45)三维场景;
46)持续变化的三维场景的序列;
47)虚拟现实的场景;
48)持续变化的虚拟现实的场景的序列
49)像素形式的图像;
50)图像的变换域数据;
51)二维或二维以上字节的集合;
52)二维或二维以上比特的集合;
53)像素的集合;
54)三分量像素(R,G,B)或其变体的集合;
55)三分量像素(Y,U,V)或其变体的集合;
56)三分量像素(Y,Cb,Cr)或其变体的集合;
57)三分量像素(Y,Cg,Co)或其变体的集合;
58)四分量像素(C,M,Y,K)或其变体的集合;
59)四分量像素(R,G,B,A)或其变体的集合;
60)四分量像素(Y,U,V,A)或其变体的集合;
61)四分量像素(Y,Cb,Cr,A)或其变体的集合;
62)四分量像素(Y,Cg,Co,A)或其变体的集合。
11.根据权利要求9所述的解码方法,其特征在于,所述量化后数据包括下列类型的数据之一或其组合:
4)对原始数据进行量化操作后得到的数据;
5)对原始数据进行预测编码、对预测结果即预测残差进行量化操作后得到的数据;
6)对原始数据进行预测编码、对预测结果即预测残差进行变换编码、对变换结果即变换系数进行量化操作后得到的数据。
12.根据权利要求9所述的解码方法,其特征在于,将所述量化因子,记为qp,映射为映射后量化因子,记为qp_mapped,的所述前映射是减去一个预定的常数,记为qp_const,其一种表示方法是qp_mapped = qp - qp_const。
13.根据权利要求9所述的解码方法,其特征在于:
将所述反量化乘法因子过渡值,记为dequant_multiplier_temp,和所述反量化位移量过渡值,记为dequant_shift_temp,分别映射为最终的反量化乘法因子dequant_multiplier和反量化位移量dequant_shift的所述后映射是
对所述反量化乘法因子过渡值的恒等映射即最终的反量化乘法因子等于所述反量化乘法因子过渡值,其一种表示方法是dequant_multiplier = dequant_multiplier_temp
对所述反量化位移量过渡值的减预定常数映射即最终的反量化位移量等于所述反量化位移量过渡值减去一个预定常数,记为s_const,其一种表示方法是dequant_shift =dequant_shift_temp - s_const。
14.根据权利要求9所述的解码方法,其特征在于所述反量化运算至少包括:
将量化后数据乘以一个与量化因子无关的权重,获得第一中间乘积,显然,当所述权重取值为1时,实际上第一中间乘积等于量化后数据,当所述权重取值不为1时,第一中间乘积不等于量化后数据;
将所述第一中间乘积加上一个四舍五入控制量R1后施行S1位的二进制位右移,即四舍五入地除以2S1,获得右移第一中间乘积,其中R1和S1都是与量化因子无关的非负整数并且R1<2S1,显然,当S1为0时,实际上所述右移第一中间乘积等于所述第一中间乘积,S1不为0时,所述右移第一中间乘积不等于所述第一中间乘积;
将所述右移第一中间乘积乘以所述反量化乘法因子后再右移dm_shift(通常0≤dm_shift≤10)比特,获得第二中间乘积;
将所述第二中间乘积加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值,其中S是所述反量化位移量加上一个与量化因子无关的附加二进制位移量。
15.根据权利要求9所述的解码方法,其特征在于所述反量化器的功能及操作至少包括:
判断一个量化因子qp是否超过一个预定的阈值qp_T;如果qp≥qp_T,则以qp减去一个预定的常数qp_const作为索引,从一个预定的反量化乘法因子表dequant_multiplier[]和一个反量化位移量表dequant_shift[]中获得反量化乘法因子条目dequant_multiplier[qp - qp_const]作为与qp对应的反量化乘法因子deq_mltplr和减去s_const的反量化位移量条目dequant_shift[qp - qp_const] - s_const作为与qp对应的反量化位移量deq_shift,否则,直接以qp作为索引,从所述反量化乘法因子表和所述反量化位移量表中获得反量化乘法因子条目dequant_multiplier[qp] 作为与qp对应的反量化乘法因子deq_mltplr和反量化位移量条目dequant_shift[qp] 作为与qp对应的反量化位移量deq_shift;以上获得deq_mltplr和deq_shift的一种伪代码表示是
deq_mltplr= qp≥qp_T
Figure DEST_PATH_IMAGE002_10A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]
deq_shift = qp≥qp_T
Figure DEST_PATH_IMAGE002_11A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]
其中,符号
Figure DEST_PATH_IMAGE002_12A
之前的伪代码表示条件判断,符号
Figure DEST_PATH_IMAGE002_13A
与符号:之间的伪代码表示条件为真时的反量化乘法因子和反量化位移量,符号:之后的伪代码表示条件为假时的反量化乘法因子和反量化位移量;
将作为反量化器输入的量化后数据Q乘以一个权重w后施行w_shift位的二进制位右移,获得中间乘积A;以上获得A的一种伪代码表示是
A = Q × w >> w_shift
其中>>是右移运算符,表示将二进制数Q × w右移w_shift比特即二进制位;
如果qp≥qp_T,则将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift1位的二进制位右移,否则,将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift2位的二进制位右移,获得中间乘积B;以上获得B的一种伪代码表示是
B = A × deq_mltplr>> (qp≥qp_T
Figure DEST_PATH_IMAGE002_14A
dm_shift1 : dm_shift2)
将B加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值C,其中S是所述反量化位移量deq_shift加上一个与量化因子无关的附加二进制位移量shift1即S = deq_shift + shift1;以上获得C的一种伪代码表示是
C = (B + R) >> (deq_shift + shift1)
综合以上各伪代码,从qp,Q,qp_T,qp_const,dequant_multiplier[],dequant_shift[],s_const,w,w_shift,dm_shift1,dm_shift2,R,shift1获得C的一种伪代码表示是
C = ((((Q × w) >> w_shift)× (qp≥qp_T
Figure DEST_PATH_IMAGE002_15A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]) >> (qp≥qp_T
Figure DEST_PATH_IMAGE002_16A
dm_shift1 : dm_shift2))+ R) >> ((qp≥qp_T
Figure DEST_PATH_IMAGE002_17A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) +shift1)
其中C是反量化后的复原值。
16.根据权利要求15所述的解码方法,其特征在于:
qp_T = 80,
qp_const = 64,
s_const = 4,
dm_shift1 = 0,
dm_shift2 = 4,
R = 1 <<((qp≥qp_T
Figure DEST_PATH_IMAGE002_18A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1) = 2((qp≥qp_T
Figure DEST_PATH_IMAGE012A
dequant _shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1),其中<<是左移运算符,表示将二进制数1左移((qp≥qp_T
Figure DEST_PATH_IMAGE002_19A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1)比特,
所述量化因子取值范围的最大值是143。
17.一种对数据集及其数据进行压缩的编码装置,其特征在于至少包括一个反量化器,所述反量化器至少包括下列模块:
1)量化因子大小判断模块,用于判断一个量化因子是否超过一个预定的阈值,所述阈值必须小于量化因子取值范围的最大值即上限以减少模块2)中反量化乘法因子和反量化位移量表的条目的数目及其所需的存储空间;
2)反量化乘法因子和反量化位移量表存储模块,用于存储一个反量化乘法因子表和一个反量化位移量表,使用索引即地址来读取这两个表的条目,也就是反量化乘法因子条目和反量化位移量条目;
3)前映射模块,当一个量化因子超过所述阈值时,对所述量化因子进行前映射,即按照一种预定的规则将所述量化因子映射为一个不超过所述阈值的值,称为映射后量化因子;
4)反量化乘法因子条目和反量化位移量条目读取模块,当一个量化因子超过所述阈值时,以所述映射后量化因子为索引即地址,否则,直接以所述量化因子为索引即地址,从所述反量化乘法因子和反量化位移量表存储模块中读取获得与所述映射后量化因子或所述量化因子对应的反量化乘法因子条目和反量化位移量条目,当所述量化因子超过所述阈值时,这两个条目分别称为反量化乘法因子过渡值和反量化位移量过渡值,否则,这两个条目分别直接称为反量化乘法因子和反量化位移量;
5)后映射模块,当一个量化因子超过所述阈值时,对所述反量化乘法因子过渡值和所述反量化位移量过渡值分别进行后映射,即按照一种预定的规则将所述反量化乘法因子过渡值和所述反量化位移量过渡值分别映射为最终的反量化乘法因子和反量化位移量;
6)反量化运算模块,当一个量化因子超过所述阈值时,至少根据模块5)产生的所述反量化乘法因子和所述反量化位移量,否则,至少根据模块4)产生的所述反量化乘法因子和所述反量化位移量,对量化后数据进行反量化运算,产生反量化后的复原值。
18.根据权利要求17所述的编码装置,其特征在于,所述数据包括下列类型的数据之一或其组合:
63)一维数据;
64)二维数据;
65)多维数据;
66)图形;
67)分维图形;
68)图像;
69)图像的序列;
70)视频;
71)音频;
72)文件;
73)字节;
74)比特;
75)像素;
76)三维场景;
77)持续变化的三维场景的序列;
78)虚拟现实的场景;
79)持续变化的虚拟现实的场景的序列
80)像素形式的图像;
81)图像的变换域数据;
82)二维或二维以上字节的集合;
83)二维或二维以上比特的集合;
84)像素的集合;
85)三分量像素(R,G,B)或其变体的集合;
86)三分量像素(Y,U,V)或其变体的集合;
87)三分量像素(Y,Cb,Cr)或其变体的集合;
88)三分量像素(Y,Cg,Co)或其变体的集合;
89)四分量像素(C,M,Y,K)或其变体的集合;
90)四分量像素(R,G,B,A)或其变体的集合;
91)四分量像素(Y,U,V,A)或其变体的集合;
92)四分量像素(Y,Cb,Cr,A)或其变体的集合;
93)四分量像素(Y,Cg,Co,A)或其变体的集合。
19.根据权利要求17所述的编码装置,其特征在于,所述量化后数据包括下列类型的数据之一或其组合:
7)对原始数据进行量化操作后得到的数据;
8)对原始数据进行预测编码、对预测结果即预测残差进行量化操作后得到的数据;
9)对原始数据进行预测编码、对预测结果即预测残差进行变换编码、对变换结果即变换系数进行量化操作后得到的数据。
20.根据权利要求17所述的编码装置,其特征在于,将所述量化因子,记为qp,映射为映射后量化因子,记为qp_mapped,的所述前映射是减去一个预定的常数,记为qp_const,其一种表示方法是qp_mapped = qp - qp_const。
21.根据权利要求17所述的编码装置,其特征在于:
将所述反量化乘法因子过渡值,记为dequant_multiplier_temp,和所述反量化位移量过渡值,记为dequant_shift_temp,分别映射为最终的反量化乘法因子dequant_multiplier和反量化位移量dequant_shift的所述后映射是
对所述反量化乘法因子过渡值的恒等映射即最终的反量化乘法因子等于所述反量化乘法因子过渡值,其一种表示方法是dequant_multiplier = dequant_multiplier_temp
对所述反量化位移量过渡值的减预定常数映射即最终的反量化位移量等于所述反量化位移量过渡值减去一个预定常数,记为s_const,其一种表示方法是dequant_shift =dequant_shift_temp - s_const。
22.根据权利要求17所述的编码装置,其特征在于所述反量化运算至少包括:
将量化后数据乘以一个与量化因子无关的权重,获得第一中间乘积,显然,当所述权重取值为1时,实际上第一中间乘积等于量化后数据,当所述权重取值不为1时,第一中间乘积不等于量化后数据;
将所述第一中间乘积加上一个四舍五入控制量R1后施行S1位的二进制位右移,即四舍五入地除以2S1,获得右移第一中间乘积,其中R1和S1都是与量化因子无关的非负整数并且R1<2S1,显然,当S1为0时,实际上所述右移第一中间乘积等于所述第一中间乘积,S1不为0时,所述右移第一中间乘积不等于所述第一中间乘积;
将所述右移第一中间乘积乘以所述反量化乘法因子后再右移dm_shift(通常0≤dm_shift≤10)比特,获得第二中间乘积;
将所述第二中间乘积加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值,其中S是所述反量化位移量加上一个与量化因子无关的附加二进制位移量。
23.根据权利要求17所述的编码装置,其特征在于所述反量化器的功能及操作至少包括:
判断一个量化因子qp是否超过一个预定的阈值qp_T;如果qp≥qp_T,则以qp减去一个预定的常数qp_const作为索引,从一个预定的反量化乘法因子表dequant_multiplier[]和一个反量化位移量表dequant_shift[]中获得反量化乘法因子条目dequant_multiplier[qp - qp_const]作为与qp对应的反量化乘法因子deq_mltplr和减去s_const的反量化位移量条目dequant_shift[qp - qp_const] - s_const作为与qp对应的反量化位移量deq_shift,否则,直接以qp作为索引,从所述反量化乘法因子表和所述反量化位移量表中获得反量化乘法因子条目dequant_multiplier[qp] 作为与qp对应的反量化乘法因子deq_mltplr和反量化位移量条目dequant_shift[qp] 作为与qp对应的反量化位移量deq_shift;以上获得deq_mltplr和deq_shift的一种伪代码表示是
deq_mltplr= qp≥qp_T
Figure DEST_PATH_IMAGE002_20A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]
deq_shift = qp≥qp_T
Figure DEST_PATH_IMAGE002_21A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]
其中,符号
Figure DEST_PATH_IMAGE002_22A
之前的伪代码表示条件判断,符号
Figure DEST_PATH_IMAGE002_23A
与符号:之间的伪代码表示条件为真时的反量化乘法因子和反量化位移量,符号:之后的伪代码表示条件为假时的反量化乘法因子和反量化位移量;
将作为反量化器输入的量化后数据Q乘以一个权重w后施行w_shift位的二进制位右移,获得中间乘积A;以上获得A的一种伪代码表示是
A = Q × w >> w_shift
其中>>是右移运算符,表示将二进制数Q × w右移w_shift比特即二进制位;
如果qp≥qp_T,则将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift1位的二进制位右移,否则,将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift2位的二进制位右移,获得中间乘积B;以上获得B的一种伪代码表示是
B = A × deq_mltplr>> (qp≥qp_T
Figure DEST_PATH_IMAGE002_24A
dm_shift1 : dm_shift2)
将B加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值C,其中S是所述反量化位移量deq_shift加上一个与量化因子无关的附加二进制位移量shift1即S = deq_shift + shift1;以上获得C的一种伪代码表示是
C = (B + R) >> (deq_shift + shift1)
综合以上各伪代码,从qp,Q,qp_T,qp_const,dequant_multiplier[],dequant_shift[],s_const,w,w_shift,dm_shift1,dm_shift2,R,shift1获得C的一种伪代码表示是
C = ((((Q × w) >> w_shift)× (qp≥qp_T
Figure DEST_PATH_IMAGE002_25A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]) >> (qp≥qp_T
Figure DEST_PATH_IMAGE002_26A
dm_shift1 : dm_shift2))+ R) >> ((qp≥qp_T
Figure DEST_PATH_IMAGE002_27A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) +shift1)
其中C是反量化后的复原值。
24.根据权利要求23所述的编码装置,其特征在于:
qp_T = 80,
qp_const = 64,
s_const = 4,
dm_shift1 = 0,
dm_shift2 = 4,
R = 1 <<((qp≥qp_T
Figure DEST_PATH_IMAGE002_28A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1) = 2((qp≥qp_T
Figure DEST_PATH_IMAGE012AA
dequant _shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1),其中<<是左移运算符,表示将二进制数1左移((qp≥qp_T
Figure DEST_PATH_IMAGE002_29A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1)比特,
所述量化因子取值范围的最大值是143。
25.一种对数据集及其数据进行压缩的解码装置,其特征在于至少包括一个反量化器,所述反量化器至少包括下列模块:
1)量化因子大小判断模块,用于判断一个量化因子是否超过一个预定的阈值,所述阈值必须小于量化因子取值范围的最大值即上限以减少模块2)中反量化乘法因子和反量化位移量表的条目的数目及其所需的存储空间;
2)反量化乘法因子和反量化位移量表存储模块,用于存储一个反量化乘法因子表和一个反量化位移量表,使用索引即地址来读取这两个表的条目,也就是反量化乘法因子条目和反量化位移量条目;
3)前映射模块,当一个量化因子超过所述阈值时,对所述量化因子进行前映射,即按照一种预定的规则将所述量化因子映射为一个不超过所述阈值的值,称为映射后量化因子;
4)反量化乘法因子条目和反量化位移量条目读取模块,当一个量化因子超过所述阈值时,以所述映射后量化因子为索引即地址,否则,直接以所述量化因子为索引即地址,从所述反量化乘法因子和反量化位移量表存储模块中读取获得与所述映射后量化因子或所述量化因子对应的反量化乘法因子条目和反量化位移量条目,当所述量化因子超过所述阈值时,这两个条目分别称为反量化乘法因子过渡值和反量化位移量过渡值,否则,这两个条目分别直接称为反量化乘法因子和反量化位移量;
5)后映射模块,当一个量化因子超过所述阈值时,对所述反量化乘法因子过渡值和所述反量化位移量过渡值分别进行后映射,即按照一种预定的规则将所述反量化乘法因子过渡值和所述反量化位移量过渡值分别映射为最终的反量化乘法因子和反量化位移量;
6)反量化运算模块,当一个量化因子超过所述阈值时,至少根据模块5)产生的所述反量化乘法因子和所述反量化位移量,否则,至少根据模块4)产生的所述反量化乘法因子和所述反量化位移量,对量化后数据进行反量化运算,产生反量化后的复原值。
26.根据权利要求25所述的解码装置,其特征在于,所述数据包括下列类型的数据之一或其组合:
94)一维数据;
95)二维数据;
96)多维数据;
97)图形;
98)分维图形;
99)图像;
100)图像的序列;
101)视频;
102)音频;
103)文件;
104)字节;
105)比特;
106)像素;
107)三维场景;
108)持续变化的三维场景的序列;
109)虚拟现实的场景;
110)持续变化的虚拟现实的场景的序列
111)像素形式的图像;
112)图像的变换域数据;
113)二维或二维以上字节的集合;
114)二维或二维以上比特的集合;
115)像素的集合;
116)三分量像素(R,G,B)或其变体的集合;
117)三分量像素(Y,U,V)或其变体的集合;
118)三分量像素(Y,Cb,Cr)或其变体的集合;
119)三分量像素(Y,Cg,Co)或其变体的集合;
120)四分量像素(C,M,Y,K)或其变体的集合;
121)四分量像素(R,G,B,A)或其变体的集合;
122)四分量像素(Y,U,V,A)或其变体的集合;
123)四分量像素(Y,Cb,Cr,A)或其变体的集合;
124)四分量像素(Y,Cg,Co,A)或其变体的集合。
27.根据权利要求25所述的解码装置,其特征在于,所述量化后数据包括下列类型的数据之一或其组合:
10)对原始数据进行量化操作后得到的数据;
11)对原始数据进行预测编码、对预测结果即预测残差进行量化操作后得到的数据;
12)对原始数据进行预测编码、对预测结果即预测残差进行变换编码、对变换结果即变换系数进行量化操作后得到的数据。
28.根据权利要求25所述的解码装置,其特征在于,将所述量化因子,记为qp,映射为映射后量化因子,记为qp_mapped,的所述前映射是减去一个预定的常数,记为qp_const,其一种表示方法是qp_mapped = qp - qp_const。
29.根据权利要求25所述的解码装置,其特征在于:
将所述反量化乘法因子过渡值,记为dequant_multiplier_temp,和所述反量化位移量过渡值,记为dequant_shift_temp,分别映射为最终的反量化乘法因子dequant_multiplier和反量化位移量dequant_shift的所述后映射是
对所述反量化乘法因子过渡值的恒等映射即最终的反量化乘法因子等于所述反量化乘法因子过渡值,其一种表示方法是dequant_multiplier = dequant_multiplier_temp
对所述反量化位移量过渡值的减预定常数映射即最终的反量化位移量等于所述反量化位移量过渡值减去一个预定常数,记为s_const,其一种表示方法是dequant_shift =dequant_shift_temp - s_const。
30.根据权利要求25所述的解码装置,其特征在于所述反量化运算至少包括:
将量化后数据乘以一个与量化因子无关的权重,获得第一中间乘积,显然,当所述权重取值为1时,实际上第一中间乘积等于量化后数据,当所述权重取值不为1时,第一中间乘积不等于量化后数据;
将所述第一中间乘积加上一个四舍五入控制量R1后施行S1位的二进制位右移,即四舍五入地除以2S1,获得右移第一中间乘积,其中R1和S1都是与量化因子无关的非负整数并且R1<2S1,显然,当S1为0时,实际上所述右移第一中间乘积等于所述第一中间乘积,S1不为0时,所述右移第一中间乘积不等于所述第一中间乘积;
将所述右移第一中间乘积乘以所述反量化乘法因子后再右移dm_shift(通常0≤dm_shift≤10)比特,获得第二中间乘积;
将所述第二中间乘积加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值,其中S是所述反量化位移量加上一个与量化因子无关的附加二进制位移量。
31.根据权利要求25所述的解码装置,其特征在于所述反量化器的功能及操作至少包括:
判断一个量化因子qp是否超过一个预定的阈值qp_T;如果qp≥qp_T,则以qp减去一个预定的常数qp_const作为索引,从一个预定的反量化乘法因子表dequant_multiplier[]和一个反量化位移量表dequant_shift[]中获得反量化乘法因子条目dequant_multiplier[qp - qp_const]作为与qp对应的反量化乘法因子deq_mltplr和减去s_const的反量化位移量条目dequant_shift[qp - qp_const] - s_const作为与qp对应的反量化位移量deq_shift,否则,直接以qp作为索引,从所述反量化乘法因子表和所述反量化位移量表中获得反量化乘法因子条目dequant_multiplier[qp] 作为与qp对应的反量化乘法因子deq_mltplr和反量化位移量条目dequant_shift[qp] 作为与qp对应的反量化位移量deq_shift;以上获得deq_mltplr和deq_shift的一种伪代码表示是
deq_mltplr= qp≥qp_T
Figure DEST_PATH_IMAGE002_30A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]
deq_shift = qp≥qp_T
Figure DEST_PATH_IMAGE002_31A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]
其中,符号
Figure DEST_PATH_IMAGE002_32A
之前的伪代码表示条件判断,符号
Figure DEST_PATH_IMAGE002_33A
与符号:之间的伪代码表示条件为真时的反量化乘法因子和反量化位移量,符号:之后的伪代码表示条件为假时的反量化乘法因子和反量化位移量;
将作为反量化器输入的量化后数据Q乘以一个权重w后施行w_shift位的二进制位右移,获得中间乘积A;以上获得A的一种伪代码表示是
A = Q × w >> w_shift
其中>>是右移运算符,表示将二进制数Q × w右移w_shift比特即二进制位;
如果qp≥qp_T,则将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift1位的二进制位右移,否则,将A乘以所述反量化乘法因子deq_mltplr后施行dm_shift2位的二进制位右移,获得中间乘积B;以上获得B的一种伪代码表示是
B = A × deq_mltplr>> (qp≥qp_T
Figure DEST_PATH_IMAGE002_34A
dm_shift1 : dm_shift2)
将B加上一个四舍五入控制量R后施行S位的二进制位右移,获得反量化后的复原值C,其中S是所述反量化位移量deq_shift加上一个与量化因子无关的附加二进制位移量shift1即S = deq_shift + shift1;以上获得C的一种伪代码表示是
C = (B + R) >> (deq_shift + shift1)
综合以上各伪代码,从qp,Q,qp_T,qp_const,dequant_multiplier[],dequant_shift[],s_const,w,w_shift,dm_shift1,dm_shift2,R,shift1获得C的一种伪代码表示是
C = ((((Q × w) >> w_shift)× (qp≥qp_T
Figure DEST_PATH_IMAGE002_35A
dequant_multiplier[qp - qp_const] : dequant_multiplier[qp]) >> (qp≥qp_T
Figure DEST_PATH_IMAGE002_36A
dm_shift1 : dm_shift2))+ R) >> ((qp≥qp_T
Figure DEST_PATH_IMAGE002_37A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) +shift1)
其中C是反量化后的复原值。
32.根据权利要求31所述的解码装置,其特征在于:
qp_T = 80,
qp_const = 64,
s_const = 4,
dm_shift1 = 0,
dm_shift2 = 4,
R = 1 <<((qp≥qp_T
Figure DEST_PATH_IMAGE002_38A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1) = 2((qp≥qp_T
Figure DEST_PATH_IMAGE012AAA
dequant _shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1),其中<<是左移运算符,表示将二进制数1左移((qp≥qp_T
Figure DEST_PATH_IMAGE002_39A
dequant_shift[qp - qp_const] - s_const : dequant_shift[qp]) + shift1 - 1)比特,
所述量化因子取值范围的最大值是143。
CN201810969839.4A 2018-08-24 2018-08-24 复用精简反量化乘法因子和位移表的数据压缩方法和装置 Active CN110858900B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810969839.4A CN110858900B (zh) 2018-08-24 2018-08-24 复用精简反量化乘法因子和位移表的数据压缩方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810969839.4A CN110858900B (zh) 2018-08-24 2018-08-24 复用精简反量化乘法因子和位移表的数据压缩方法和装置

Publications (2)

Publication Number Publication Date
CN110858900A CN110858900A (zh) 2020-03-03
CN110858900B true CN110858900B (zh) 2022-08-05

Family

ID=69636188

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810969839.4A Active CN110858900B (zh) 2018-08-24 2018-08-24 复用精简反量化乘法因子和位移表的数据压缩方法和装置

Country Status (1)

Country Link
CN (1) CN110858900B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278996A (en) * 1980-04-11 1981-07-14 Bell Telephone Laboratories, Incorporated Technique for encoding pictorial information
US5748793A (en) * 1993-09-28 1998-05-05 Nec Corporation Quick image processor of reduced circuit scale with high image quality and high efficiency
CN104683800A (zh) * 2015-02-11 2015-06-03 广州柯维新数码科技有限公司 基于avs的并行量化和反量化方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100708118B1 (ko) * 2005-01-07 2007-04-16 삼성전자주식회사 복수개의 변형 곱셈 테이블을 이용한 동영상 부호화 및복호화 장치와 그 방법, 및 이를 구현하기 위한프로그램이 기록된 기록 매체
US20160212423A1 (en) * 2015-01-16 2016-07-21 Microsoft Technology Licensing, Llc Filtering to mitigate artifacts when changing chroma sampling rates
US10448056B2 (en) * 2016-07-15 2019-10-15 Qualcomm Incorporated Signaling of quantization information in non-quadtree-only partitioned video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4278996A (en) * 1980-04-11 1981-07-14 Bell Telephone Laboratories, Incorporated Technique for encoding pictorial information
US5748793A (en) * 1993-09-28 1998-05-05 Nec Corporation Quick image processor of reduced circuit scale with high image quality and high efficiency
CN104683800A (zh) * 2015-02-11 2015-06-03 广州柯维新数码科技有限公司 基于avs的并行量化和反量化方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AVS和H.264的通用反量化模块设计;陈小垒等;《宁波大学学报(理工版)》;20100110(第01期);全文 *

Also Published As

Publication number Publication date
CN110858900A (zh) 2020-03-03

Similar Documents

Publication Publication Date Title
CN104702962B (zh) 帧内编解码方法、编码器和解码器
CN110692243A (zh) 用于在视频压缩中的熵代码化的概率的混合
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
JPH07262175A (ja) 関数変換演算装置
KR20040018400A (ko) Golomb-rice 코딩을 사용한 dct 압축
CN111316642B (zh) 信令图像编码和解码划分信息的方法和装置
KR20100117107A (ko) 참조 프레임 압축을 행하는 비디오 코딩 시스템
CN108881913B (zh) 图像编码的方法和装置
US9245353B2 (en) Encoder, decoder and method
KR20140027040A (ko) 적응 이미지 압축시스템 및 그 방법
CN112399181A (zh) 图像编解码的方法、装置和芯片
CN111432213B (zh) 用于视频和图像压缩的贴片数据大小编码的方法和装置
Kabir et al. Edge-based transformation and entropy coding for lossless image compression
JP2003188733A (ja) 符号化方法及び装置
CN108182712B (zh) 图像处理方法、装置及***
CN110858900B (zh) 复用精简反量化乘法因子和位移表的数据压缩方法和装置
Kekre et al. Image Reconstruction using Fast Inverse Half tone and Huffman Coding Technique
US11711515B2 (en) Coding method and system with improved transform domain coefficient computation
CN110710208B (zh) 嵌入关于eob位置的信息
CN105472395B (zh) 一种基于离散Krawtchouk正交多项式的图像无损压缩方法
CN116982082A (zh) 图像编解码方法、编码器、解码器及存储介质
KR101517019B1 (ko) 블록특성을 이용한 적응 이미지 압축방법 및 그 시스템
US11995871B1 (en) Lossy block repair
WO2022217472A1 (zh) 点云编解码方法、编码器、解码器及计算机可读存储介质
CN110099279B (zh) 一种基于硬件的可调节有损压缩的方法

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