CN108322753B - 动态调整最近编码参数数组的元素的数据压缩方法和装置 - Google Patents
动态调整最近编码参数数组的元素的数据压缩方法和装置 Download PDFInfo
- Publication number
- CN108322753B CN108322753B CN201710027153.9A CN201710027153A CN108322753B CN 108322753 B CN108322753 B CN 108322753B CN 201710027153 A CN201710027153 A CN 201710027153A CN 108322753 B CN108322753 B CN 108322753B
- Authority
- CN
- China
- Prior art keywords
- coding parameter
- coding
- parameter array
- latest
- array
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 238000013144 data compression Methods 0.000 title claims abstract description 13
- 239000013598 vector Substances 0.000 claims description 21
- 238000006073 displacement reaction Methods 0.000 claims description 18
- 238000007906 compression Methods 0.000 claims description 6
- 230000006835 compression Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 239000000523 sample Substances 0.000 description 15
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 239000013074 reference sample Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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 an image region, e.g. an object
- H04N19/176—Methods 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 an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/182—Methods 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 a pixel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供了一种动态调整最近编码参数数组的元素的位置的数据压缩方法和装置。本方法和装置,通过将出现频度高的编码参数数组元素动态调整到编码参数数组的一个特定部位同时用短的码字来表示所述特定部位的存储地址的策略,来有效减少最近参数方式所消耗的比特数,极大地提高编码效率。
Description
技术领域
本发明涉及一种对数据进行有损或无损压缩的编码及解码系统,特别是图像和视频数据的编码及解码的方法和装置。
背景技术
随着人类社会进入大数据、云计算、移动计算、云-移动计算、超高清(4K)和特超高清(8K)视频图像分辨率、4G/5G通讯、虚拟现实的时代,对各种数据,包括大数据、图像数据、视频数据,进行超高压缩比和极高质量的数据压缩成为必不可少的技术。
数据集是由数据的样值(例如:字节、比特、像素、像素分量、空间采样点、变换域系数)组成的排列成一定空间(一维、二维、或多维)形状的有限数据的集合(例如:一个一维数据队列、一个二维数据文件、一帧图像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列)。对数据集,特别是二维或以上数据集进行数据压缩的编码(以及相应的解码)时,通常把此数据集划分成若干具有预定形状的子集,称为编码块(从解码的角度也就是解码块,统称为编解码块),以编解码块为单位,按照预定的时间顺序,一块一块进行编码或解码。在任一时刻,正在编码中的编码块称为当前编码块。在任一时刻,正在解码中的解码块称为当前解码块。当前编码块或当前解码块统称为当前编解码块或简称为当前块。正在编码或解码中的样值称为当前编码样值或当前解码样值,简称为当前样值。
对于具有一定形状(不一定限于正方形或矩形,可以是任何合理的其他形状)的一个编解码块,在很多场合需要将其划分成更精细的基元(基本单元),按照预定的时间顺序,一个基元一个基元进行编码或解码。对一个基元内的所有样值,通常施行同一类型的编码或解码操作。在任一时刻,正在编码或解码中的基元称为当前基元。对一个基元进行编码的结果是一个或多个编码参数,最后产生含这些编码参数的压缩数据码流。对一个基元进行解码就是解析所述压缩数据码流获得一个或多个编码参数,从所述一个或多个编码参数复原出重构的数据的样值。
基元的例包括编解码块(整个块作为一个基元)、子块、微块、串、像素串、样值串、索引串、线条。
很多常见的数据集的一个显著特点是具有很多匹配(即相似甚至完全相同)的式样。例如,图像和视频序列中通常有很多匹配的像素图样。因此,现有数据压缩技术中通常采用匹配(也称为预测或补偿)的方式,即用“预测值”(也称为“补偿值”或“参考样值”,例如“参考像素”)来匹配(也称为预测、表示、代表、补偿、近似、逼近等)当前编码或解码中样值(简称为“当前样值”)的方式来达到数据的无损或有损压缩的效果。简单地说,匹配方式的基本操作就是复制参考样值即在参考位置上的样值到当前样值的位置。因此,匹配方式或预测方式也称为复制方式。匹配方式中,已经经历过至少部分编码运算以及至少部分解码运算的重构(也称重建或复原)样值组成参考集(也称参考集空间或参考空间或参考缓存)。参考集之中的重构样值及其位置与原始数据集中的原始样值及其位置是一一对应的。
在进行一个当前块的编解码时,匹配方式将当前块划分成若干匹配(也称预测)基元,一个匹配基元有一个或多个匹配(编码)参数(也称为匹配关系或复制参数或复制关系或参考关系)来表示其特征。匹配参数中最重要的一个参数是位移矢量(也称为运动矢量、位置偏移、偏移量、相对位置、位置、相对地址、地址、相对坐标、坐标、相对索引、索引等)。位移矢量表示当前基元的样值与其参考样值之间的相对位移量,相当于数据样值排列成一维数据后的一维偏移量。显然,从位移矢量可导出参考样值的参考位置所在。当前基元的位移矢量称为当前位移矢量。匹配参数的其他例:匹配类型、匹配长度、不可匹配(预测)样值,等。
匹配基元的例包括编解码块、子块、微块、串、像素串、样值串、索引串、线条。
匹配方式(有时也称匹配类型或匹配模式)的例包括:块匹配、子块匹配、微块匹配、串匹配、像素串匹配、样值串匹配、索引串匹配、线条匹配。
各种不同的匹配模式通常使用至少一种同样的编码参数。如块匹配、子块匹配、微块匹配、串匹配、像素串匹配、样值串匹配、索引串匹配、线条匹配都使用“位移矢量”这一编码参数。
数据压缩中,特别是匹配方式中,尤其在匹配基元较精细的情形,常常需要对众多的同一种编码参数进行编码。为了提高对一种编码参数的编码效率,通常将最近出现的编码参数的数值存入一个“最近编码参数数组”。如果一个新的当前编码参数的数值等于最近编码参数数组中的一个元素,则仅需要编码这个元素在这个最近编码参数数组中的存储地址并将其写入压缩数据码流,而不需要直接对所述当前编码参数的数值本身进行编码并将其写入压缩数据码流。这种方式简称为最近参数方式。
另一方面,为了提高最近编码参数数组的元素被选中的频度,最近编码参数数组的元素数目不能过小,这样,仍然需要消耗不少的比特数对最近编码参数数组的元素的存储地址进行编码,在很大程度上影响了最近参数方式的编码效率。
发明内容
为了解决数据压缩中,特别是最近参数方式中的这一问题,本发明提供了一种动态调整最近编码参数数组的元素的位置的数据压缩方法和装置。本方法和装置,通过将出现频度高的编码参数数组元素动态调整到编码参数数组的一个特定部位同时用短的码字来表示所述特定部位的存储地址的策略,来有效减少最近参数方式所消耗的比特数,极大地提高编码效率。
本发明的首要技术特征是遵循预定规则对编码参数数组元素在编码参数数组中的位置进行调整。
本发明的编码方法或装置的最基本的特有技术特征是在编码器中,完成对一个新的有效的当前编码参数的编码之后,遵循预定规则,如最近编码参数数组元素的出现频度、出现的时间间隔,对最近编码参数数组元素在编码参数数组中的位置进行必要的调整,如对换两个不同出现频度的元素的位置、将具有预定出现频度特性的元素移动到最近编码参数数组的特定部位。图1是本发明的编码方法或装置的一个示意图。
本发明的解码方法或装置的最基本的特有技术特征是在解码器中,完成对一个新的有效的当前编码参数的解码之后,遵循预定规则,如最近编码参数数组元素的出现频度、出现的时间间隔,对最近编码参数数组元素在编码参数数组中的位置进行必要的调整,如对换两个不同出现频度的元素的位置、将具有预定出现频度特性的元素移动到最近编码参数数组的特定部位。图1也是本发明的编码方法或装置的一个示意图。
根据本发明的一个方面,提供了一种对数据进行压缩的编码方法或装置或者解码方法或装置,至少包括完成下列功能和操作的步骤或模块:
对一种编码参数,遵循预定规则,对所述编码参数的最近编码参数数组进行更新操作。
从第一个角度,本发明提供了一种对数据进行压缩的编码方法,其特征在于至少包括下列步骤:
对一种编码参数,遵循预定规则,对所述编码参数的最近编码参数数组进行更新操作。
从第二个角度,本发明提供了一种对数据进行压缩的编码装置,其特征在于至少包括下列模块:
对一种编码参数,遵循预定规则,对所述编码参数的最近编码参数数组进行更新操作。
从第三个角度,本发明提供了一种对数据进行压缩的解码方法,其特征在于至少包括下列步骤:
对一种编码参数,遵循预定规则,对所述编码参数的最近编码参数数组进行更新操作。
从第四个角度,本发明提供了一种对数据进行压缩的解码装置,其特征在于至少包括下列模块:
对一种编码参数,遵循预定规则,对所述编码参数的最近编码参数数组进行更新操作。
本发明适用于有损数据压缩的编码和解码,本发明也同样适用于无损数据压缩的编码和解码。本发明适用于图像数据的编码和解码,本发明也同样适用于任何一维、二维或多维数据的编码和解码。
本发明中,数据压缩所涉及的数据包括下列类型的数据之一或其组合
1)一维数据;
2)二维数据;
3)多维数据;
4)图像;
5)图像的序列;
6)视频;
7)三维场景;
8)持续变化的三维场景的序列;
9)虚拟现实的场景;
10)持续变化的虚拟现实的场景的序列
11)像素形式的图像;
12)图像的变换域数据;
13)二维或二维以上字节的集合;
14)二维或二维以上比特的集合;
15)像素的集合;
16)像素分量的集合。
本发明中,在数据是图像、图像的序列、视频等的情形,编码块或解码块是图像的一个编码区域或一个解码区域,包括以下至少一种:整幅图像、图像的子图像、宏块、最大编码单元LCU、编码树单元CTU、编码单元CU、CU的子区域、预测单元PU、变换单元TU。
本发明中,基元包括下列情形之一或其组合:编解码块、子块、微块、串、像素串、样值串、索引串、线条。
本发明中,所述编码参数包括下列情形之一或其组合:
1)位移矢量;
2)运动矢量;
3)位置偏移;
4)偏移量;
5)相对位置;
6)位置;
7)相对地址;
8)地址;
9)相对坐标;
10)坐标;
11)相对索引;
12)索引;
13)串位移矢量;
14)基元大小;
15)基元尺寸;
16)串长度。
附图说明
图1是本发明的编码方法或装置或者解码方法或装置的一个示意图。
具体实施方式
以上通过若干特定的具体实例说明本发明的技术特征。本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在不背离本发明的精神下进行各种修饰或改变。
以下是本发明的更多的实施细节或变体。
实施或变体例1
所述编码方法或装置或者解码方法或装置中,所述更新操作包括:
对所述编码参数的最近编码参数数组元素在最近编码参数数组中的位置进行调整;
和/或
将在编解码过程中出现的新的合格的编码参数的值放入最近编码参数数组;
和/或
将一个或若干最近编码参数数组元素移出最近编码参数数组。
实施或变体例2
所述编码方法或装置或者解码方法或装置中,所述预定规则包括,根据最近编码参数数组元素的出现频度和/或最近编码参数数组元素的出现间隔长短,对最近编码参数数组元素在编码参数数组中的位置进行调整。
实施或变体例3
所述编码方法或装置或者解码方法或装置中,每个最近编码参数数组元素都有一个关联记录器,记录该元素的出现情况,即编解码过程中出现的合格的编码参数的值等于该元素的值的情况。
实施或变体例4
实施或变体例1或实施或变体例3所述编码方法或装置或者解码方法或装置中,所述合格的编码参数包括属于下列情形之一或其组合的编码参数:
1)任何编码参数(即所有的编码参数都是合格的编码参数);
2)符合一类预定条件的编码参数;
3)不符合一类预定条件的编码参数;
4)使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行编解码的编码参数;
5)不使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行编解码的编码参数;
6)数值落在一个预定取值范围内的编码参数;
7)数值落在一个预定取值范围外的编码参数。
实施或变体例5
实施或变体例3所述编码方法或装置或者解码方法或装置中,所述出现情况包括出现频度和/或出现间隔长短。
实施或变体例6
实施或变体例1所述编码方法或装置或者解码方法或装置中,所述调整包括下列操作之一或其组合:
1)对换两个元素的位置;
2)将一个或若干元素移动到最近编码参数数组的特定部位;
3)将一个或若干元素移动到最近编码参数数组的前部;
4)将一个或若干元素移动到最近编码参数数组的后部。
实施或变体例7
所述编码方法或装置或者解码方法或装置中,当出现一个合格的当前编码参数时,执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于所述最近编码参数数组中的一个元素,称为命中元素,的值,对所述编码参数的最近编码参数数组元素在最近编码参数数组中的位置进行调整;
否则(即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个元素的值),将所述当前编码参数的值放入最近编码参数数组。
实施或变体例8
所述编码方法或装置或者解码方法或装置中,当出现一个合格的当前编码参数时,执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于所述最近编码参数数组中的一个元素,称为命中元素,的值,将所述命中元素置换至所述最近编码参数数组的最前部;
否则(即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个元素的值),将所述当前编码参数插入至所述最近编码参数数组的最前部,将所述最近编码参数数组的最后部的元素移出所述最近编码参数数组。
实施或变体例9
所述编码方法或装置或者解码方法或装置中,所述编码参数是位移矢量,所述最近编码参数数组是有N个元素的最近位移矢量数组,标记为
ROA[N][2] = {offset_in_roa[k] = (offset_in_roa[k][0], offset_in_roa[k][1]): 0 ≤ k < N};
当出现一个合格的位移矢量offset = (offsetX,offsetY)时,将offset与ROA[N][2]的N个元素offset_in_roa[(RoaStartPos + k)%N],0 ≤ k < N逐一进行比较,其中%是取模运算,RoaStartPos是最近位移矢量数组的当前起始位置;然后,依次执行以下操作对ROA[N][2]进行更新:
1)如果offset等于这N个元素中的第k0个元素offset_in_roa [(RoaStartPos +k0)%N],执行以下操作:
如果k0 ≥ 1,令k从大至小依次取值k0至1并且依次执行下列k0次赋值运算:
offset_in_roa[(RoaStartPos + k0)%N] = offset_in_roa[(RoaStartPos + k0- 1)%N]
2)否则(即offset不等于这N个元素中的任何一个),执行下列对最近位移矢量数组的当前起始位置RoaStartPos的更新运算:RoaStartPos = (RoaStartPos + 1)%N;
3)ROA[RoaStartPos] = offset。
Claims (22)
1.一种对数据进行压缩的编码方法,其特征在于,至少包括完成下列功能或操作的步骤:
至少采用最近编码参数数组对一种编码参数进行编码;
至少使用下列方式之一或其组合,将在编码过程中出现的一个新的合格的当前编码参数更新到最近编码参数数组:
方式一:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少调整最近编码参数数组中部分或全部已有编码参数在最近编码参数数组中的位置;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值放入所述最近编码参数数组;
方式二:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少将该等值已有编码参数置换至所述最近编码参数数组的最前部;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值插入至所述最近编码参数数组的最前部,至少将所述最近编码参数数组的最后部的已有编码参数移出所述最近编码参数数组;
方式三:至少执行以下操作对所述最近编码参数数组进行更新:
所述最近编码参数数组有N个编码参数,标记为ROA[N] = {offset_in_roa[k]: 0 ≤k < N};
将标记为offset的所述当前编码参数与ROA[N]的N个元素offset_in_roa[(RoaStartPos + k)%N],0 ≤ k < N逐一进行比较,其中%是取模运算,RoaStartPos是所述最近编码参数数组的当前起始位置;然后,依次执行以下操作对ROA[N]进行更新:
1)如果offset等于这N个元素中的第k0个元素offset_in_roa [(RoaStartPos + k0)%N],执行以下操作:
如果k0 ≥ 1,令k从大至小依次取值k0至1并且依次执行下列k0次赋值运算:
offset_in_roa[(RoaStartPos + k0)%N] = offset_in_roa[(RoaStartPos + k0 -1)%N]
2)否则,即offset不等于这N个元素中的任何一个,执行下列对所述最近编码参数数组的当前起始位置RoaStartPos的更新运算:RoaStartPos = (RoaStartPos + 1)%N;
3)ROA[RoaStartPos] = offset;
所述合格的编码参数包括属于下列情形之一或其组合的编码参数:
使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行编码的编码参数;
不使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行编码的编码参数;
数值落在第一个预定取值范围内的编码参数;
数值落在第二个预定取值范围外的编码参数。
2.一种对数据进行压缩的编码装置,其特征在于,至少包括完成下列功能或操作的模块:
至少采用最近编码参数数组对一种编码参数进行编码;
至少使用下列方式之一或其组合,将在编码过程中出现的一个新的合格的当前编码参数更新到最近编码参数数组;
方式一:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少调整最近编码参数数组中部分或全部已有编码参数在最近编码参数数组中的位置;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值放入所述最近编码参数数组;
方式二:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少将该等值已有编码参数置换至所述最近编码参数数组的最前部;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值插入至所述最近编码参数数组的最前部,至少将所述最近编码参数数组的最后部的已有编码参数移出所述最近编码参数数组;
方式三:至少执行以下操作对所述最近编码参数数组进行更新:
所述最近编码参数数组有N个编码参数,标记为ROA[N] = {offset_in_roa[k]: 0 ≤k < N};
将标记为offset的所述当前编码参数与ROA[N]的N个元素offset_in_roa[(RoaStartPos + k)%N],0 ≤ k < N逐一进行比较,其中%是取模运算,RoaStartPos是所述最近编码参数数组的当前起始位置;然后,依次执行以下操作对ROA[N]进行更新:
1)如果offset等于这N个元素中的第k0个元素offset_in_roa [(RoaStartPos + k0)%N],执行以下操作:
如果k0 ≥ 1,令k从大至小依次取值k0至1并且依次执行下列k0次赋值运算:
offset_in_roa[(RoaStartPos + k0)%N] = offset_in_roa[(RoaStartPos + k0 -1)%N]
2)否则,即offset不等于这N个元素中的任何一个,执行下列对所述最近编码参数数组的当前起始位置RoaStartPos的更新运算:RoaStartPos = (RoaStartPos + 1)%N;
3)ROA[RoaStartPos] = offset;
所述合格的编码参数包括属于下列情形之一或其组合的编码参数:
使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行编码的编码参数;
不使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行编码的编码参数;
数值落在第一个预定取值范围内的编码参数;
数值落在第二个预定取值范围外的编码参数。
3.一种对数据进行压缩的解码方法,其特征在于,至少包括完成下列功能或操作的步骤:
至少采用最近编码参数数组对一种编码参数进行解码;
至少使用下列方式之一或其组合,将在解码过程中出现的一个新的合格的当前编码参数更新到最近编码参数数组;
方式一:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少调整最近编码参数数组中部分或全部已有编码参数在最近编码参数数组中的位置;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值放入所述最近编码参数数组;
方式二:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少将该等值已有编码参数置换至所述最近编码参数数组的最前部;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值插入至所述最近编码参数数组的最前部,至少将所述最近编码参数数组的最后部的已有编码参数移出所述最近编码参数数组;
方式三:至少执行以下操作对所述最近编码参数数组进行更新:
所述最近编码参数数组有N个编码参数,标记为ROA[N] = {offset_in_roa[k]: 0 ≤k < N};
将标记为offset的所述当前编码参数与ROA[N]的N个元素offset_in_roa[(RoaStartPos + k)%N],0 ≤ k < N逐一进行比较,其中%是取模运算,RoaStartPos是所述最近编码参数数组的当前起始位置;然后,依次执行以下操作对ROA[N]进行更新:
1)如果offset等于这N个元素中的第k0个元素offset_in_roa [(RoaStartPos + k0)%N],执行以下操作:
如果k0 ≥ 1,令k从大至小依次取值k0至1并且依次执行下列k0次赋值运算:
offset_in_roa[(RoaStartPos + k0)%N] = offset_in_roa[(RoaStartPos + k0 -1)%N]
2)否则,即offset不等于这N个元素中的任何一个,执行下列对所述最近编码参数数组的当前起始位置RoaStartPos的更新运算:RoaStartPos = (RoaStartPos + 1)%N;
3)ROA[RoaStartPos] = offset;
所述合格的编码参数包括属于下列情形之一或其组合的编码参数:
使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行解码的编码参数;
不使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行解码的编码参数;
数值落在第一个预定取值范围内的编码参数;
数值落在第二个预定取值范围外的编码参数。
4.根据权利要求3所述的解码方法,其特征在于,数据压缩所涉及的数据包括下列类型的数据之一或其组合:
1)一维数据;
2)二维数据;
3)多维数据;
4)图像;
5)图像的序列;
6)视频;
7)三维场景;
8)持续变化的三维场景的序列;
9)虚拟现实的场景;
10)持续变化的虚拟现实的场景的序列
11)像素形式的图像;
12)图像的变换域数据;
13)二维或二维以上字节的集合;
14)二维或二维以上比特的集合;
15)像素的集合;
16)像素分量的集合。
5.根据权利要求3所述的解码方法,其特征在于,在数据是图像或图像的序列或视频的情形,编码参数是解码块的编码参数;所述解码块是图像的一个编码区域或一个解码区域,包括以下至少一种:整幅图像、图像的子图像、宏块、最大编码单元LCU、编码树单元CTU、编码单元CU、CU的子区域、预测单元PU、变换单元TU。
6.根据权利要求3所述的解码方法,其特征在于,在数据是图像或图像的序列或视频的情形,编码参数是基元的编码参数;所述基元包括下列情形之一或其组合:解码块、子块、微块、串、像素串、样值串、索引串、线条。
7.根据权利要求3所述的解码方法,其特征在于,所述编码参数包括下列情形之一或其组合:
1)位移矢量;
2)运动矢量;
3)位置偏移;
4)偏移量;
5)相对位置;
6)位置;
7)相对地址;
8)地址;
9)相对坐标;
10)坐标;
11)相对索引;
12)索引;
13)串位移矢量;
14)基元大小;
15)基元尺寸;
16)串长度。
8.根据权利要求3、4、5、6或7所述的解码方法,其特征在于,对所述最近编码参数数组进行更新的操作还包括:
对所述编码参数的最近编码参数数组元素在最近编码参数数组中的位置进行调整;
和/或
将一个或若干最近编码参数数组元素移出最近编码参数数组。
9.根据权利要求8所述的解码方法,其特征在于,所述调整包括下列操作之一或其组合:
对换两个元素的位置;
将一个或若干元素移动到最近编码参数数组的特定部位;
将一个或若干元素移动到最近编码参数数组的前部;
将一个或若干元素移动到最近编码参数数组的后部。
10.根据权利要求8所述的解码方法,其特征在于,根据最近编码参数数组元素的出现频度和/或最近编码参数数组元素的出现间隔长短,对最近编码参数数组元素在编码参数数组中的位置进行调整。
11.根据权利要求8所述的解码方法,其特征在于,每个最近编码参数数组元素都有一个关联记录器,记录该元素的出现情况,即解码过程中出现的合格的编码参数的值等于该元素的值的情况。
12.根据权利要求11所述的解码方法,其特征在于,所述出现情况包括出现频度和/或出现间隔长短。
13.一种对数据进行压缩的解码装置,其特征在于,至少包括完成下列功能或操作的模块:
至少采用最近编码参数数组对一种编码参数进行解码;
至少使用下列方式之一或其组合,将在解码过程中出现的一个新的合格的当前编码参数更新到最近编码参数数组;
方式一:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少调整最近编码参数数组中部分或全部已有编码参数在最近编码参数数组中的位置;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值放入所述最近编码参数数组;
方式二:至少执行以下操作对所述最近编码参数数组进行更新:
如果所述当前编码参数的值等于与所述最近编码参数数组中的已有编码参数逐一比较后找到的一个已有编码参数的值,则至少将该等值已有编码参数置换至所述最近编码参数数组的最前部;
否则,即所述当前编码参数的值不等于所述最近编码参数数组中的任何一个已有编码参数的值,至少将所述当前编码参数的值插入至所述最近编码参数数组的最前部,至少将所述最近编码参数数组的最后部的已有编码参数移出所述最近编码参数数组;
方式三:至少执行以下操作对所述最近编码参数数组进行更新:
所述最近编码参数数组有N个编码参数,标记为ROA[N] = {offset_in_roa[k]: 0 ≤k < N};
将标记为offset的所述当前编码参数与ROA[N]的N个元素offset_in_roa[(RoaStartPos + k)%N],0 ≤ k < N逐一进行比较,其中%是取模运算,RoaStartPos是所述最近编码参数数组的当前起始位置;然后,依次执行以下操作对ROA[N]进行更新:
1)如果offset等于这N个元素中的第k0个元素offset_in_roa [(RoaStartPos + k0)%N],执行以下操作:
如果k0 ≥ 1,令k从大至小依次取值k0至1并且依次执行下列k0次赋值运算:
offset_in_roa[(RoaStartPos + k0)%N] = offset_in_roa[(RoaStartPos + k0 -1)%N]
2)否则,即offset不等于这N个元素中的任何一个,执行下列对所述最近编码参数数组的当前起始位置RoaStartPos的更新运算:RoaStartPos = (RoaStartPos + 1)%N;
3)ROA[RoaStartPos] = offset;
所述合格的编码参数包括属于下列情形之一或其组合的编码参数:
使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行解码的编码参数;
不使用预定方式,包括最近编码参数数组方式和/或相邻基元的编码参数的方式和/或直接方式,进行解码的编码参数;
数值落在第一个预定取值范围内的编码参数;
数值落在第二个预定取值范围外的编码参数。
14.根据权利要求13所述的解码装置,其特征在于,数据压缩所涉及的数据包括下列类型的数据之一或其组合:
1)一维数据;
2)二维数据;
3)多维数据;
4)图像;
5)图像的序列;
6)视频;
7)三维场景;
8)持续变化的三维场景的序列;
9)虚拟现实的场景;
10)持续变化的虚拟现实的场景的序列
11)像素形式的图像;
12)图像的变换域数据;
13)二维或二维以上字节的集合;
14)二维或二维以上比特的集合;
15)像素的集合;
16)像素分量的集合。
15.根据权利要求13所述的解码装置,其特征在于,在数据是图像或图像的序列或视频的情形,编码参数是解码块的编码参数;所述解码块是图像的一个编码区域或一个解码区域,包括以下至少一种:整幅图像、图像的子图像、宏块、最大编码单元LCU、编码树单元CTU、编码单元CU、CU的子区域、预测单元PU、变换单元TU。
16.根据权利要求13所述的解码装置,其特征在于,在数据是图像或图像的序列或视频的情形,编码参数是基元的编码参数;所述基元包括下列情形之一或其组合:解码块、子块、微块、串、像素串、样值串、索引串、线条。
17.根据权利要求13所述的解码装置,其特征在于,所述编码参数包括下列情形之一或其组合:
1)位移矢量;
2)运动矢量;
3)位置偏移;
4)偏移量;
5)相对位置;
6)位置;
7)相对地址;
8)地址;
9)相对坐标;
10)坐标;
11)相对索引;
12)索引;
13)串位移矢量;
14)基元大小;
15)基元尺寸;
16)串长度。
18.根据权利要求13、14、15、16或17所述的解码装置,其特征在于,对所述最近编码参数数组进行更新的操作还包括:
对所述编码参数的最近编码参数数组元素在最近编码参数数组中的位置进行调整;
和/或
将一个或若干最近编码参数数组元素移出最近编码参数数组。
19.根据权利要求18所述的解码装置,其特征在于,所述调整包括下列操作之一或其组合:
对换两个元素的位置;
将一个或若干元素移动到最近编码参数数组的特定部位;
将一个或若干元素移动到最近编码参数数组的前部;
将一个或若干元素移动到最近编码参数数组的后部。
20.根据权利要求18所述的解码装置,其特征在于,根据最近编码参数数组元素的出现频度和/或最近编码参数数组元素的出现间隔长短,对最近编码参数数组元素在编码参数数组中的位置进行调整。
21.根据权利要求18所述的解码装置,其特征在于,每个最近编码参数数组元素都有一个关联记录器,记录该元素的出现情况,即解码过程中出现的合格的编码参数的值等于该元素的值的情况。
22.根据权利要求21所述的解码装置,其特征在于,所述出现情况包括出现频度和/或出现间隔长短。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311359448.8A CN117425012A (zh) | 2017-01-15 | 2017-01-15 | 调整帧间最近运动矢量数组的元素的视频压缩方法和装置 |
CN202311359317.XA CN117896532A (zh) | 2017-01-15 | 2017-01-15 | 调整帧内最近位移矢量数组的元素的图像压缩方法和装置 |
CN201710027153.9A CN108322753B (zh) | 2017-01-15 | 2017-01-15 | 动态调整最近编码参数数组的元素的数据压缩方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710027153.9A CN108322753B (zh) | 2017-01-15 | 2017-01-15 | 动态调整最近编码参数数组的元素的数据压缩方法和装置 |
Related Child Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311359317.XA Division CN117896532A (zh) | 2017-01-15 | 2017-01-15 | 调整帧内最近位移矢量数组的元素的图像压缩方法和装置 |
CN202311359448.8A Division CN117425012A (zh) | 2017-01-15 | 2017-01-15 | 调整帧间最近运动矢量数组的元素的视频压缩方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108322753A CN108322753A (zh) | 2018-07-24 |
CN108322753B true CN108322753B (zh) | 2024-04-12 |
Family
ID=62890677
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710027153.9A Active CN108322753B (zh) | 2017-01-15 | 2017-01-15 | 动态调整最近编码参数数组的元素的数据压缩方法和装置 |
CN202311359448.8A Pending CN117425012A (zh) | 2017-01-15 | 2017-01-15 | 调整帧间最近运动矢量数组的元素的视频压缩方法和装置 |
CN202311359317.XA Pending CN117896532A (zh) | 2017-01-15 | 2017-01-15 | 调整帧内最近位移矢量数组的元素的图像压缩方法和装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311359448.8A Pending CN117425012A (zh) | 2017-01-15 | 2017-01-15 | 调整帧间最近运动矢量数组的元素的视频压缩方法和装置 |
CN202311359317.XA Pending CN117896532A (zh) | 2017-01-15 | 2017-01-15 | 调整帧内最近位移矢量数组的元素的图像压缩方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (3) | CN108322753B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102497546A (zh) * | 2011-11-28 | 2012-06-13 | 同济大学 | 一种屏幕图像压缩装置及压缩方法 |
CN103828369A (zh) * | 2011-06-10 | 2014-05-28 | 茨特里克斯系统公司 | 质量感知视频优化中的宏块级自适应量化 |
CN104602030A (zh) * | 2014-12-26 | 2015-05-06 | 北京奇艺世纪科技有限公司 | 一种编码方法、编码装置及服务器 |
CN104704838A (zh) * | 2012-10-03 | 2015-06-10 | 美国博通公司 | 二维块图像编码 |
CN104704828A (zh) * | 2012-10-03 | 2015-06-10 | 美国博通公司 | 有界率近无损和无损图像压缩 |
-
2017
- 2017-01-15 CN CN201710027153.9A patent/CN108322753B/zh active Active
- 2017-01-15 CN CN202311359448.8A patent/CN117425012A/zh active Pending
- 2017-01-15 CN CN202311359317.XA patent/CN117896532A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103828369A (zh) * | 2011-06-10 | 2014-05-28 | 茨特里克斯系统公司 | 质量感知视频优化中的宏块级自适应量化 |
CN102497546A (zh) * | 2011-11-28 | 2012-06-13 | 同济大学 | 一种屏幕图像压缩装置及压缩方法 |
CN104704838A (zh) * | 2012-10-03 | 2015-06-10 | 美国博通公司 | 二维块图像编码 |
CN104704828A (zh) * | 2012-10-03 | 2015-06-10 | 美国博通公司 | 有界率近无损和无损图像压缩 |
CN104602030A (zh) * | 2014-12-26 | 2015-05-06 | 北京奇艺世纪科技有限公司 | 一种编码方法、编码装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN117896532A (zh) | 2024-04-16 |
CN117425012A (zh) | 2024-01-19 |
CN108322753A (zh) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11394970B2 (en) | Image encoding and decoding method and device | |
CN104244007B (zh) | 一种图像编码方法和装置及解码方法和装置 | |
CN112383781B (zh) | 参考块的位置决定其重构阶段的块匹配编解码方法和装置 | |
CN103918273B (zh) | 确定用于变换系数的二进制码字的方法 | |
CN108235007B (zh) | 各模式使用不同精度同种编码参数的数据压缩方法和装置 | |
CN110996105B (zh) | 可变速率压缩的方法和可变速率解压缩的方法 | |
CN110691250B (zh) | 结合块匹配和串匹配的图像压缩装置 | |
CN105100814B (zh) | 图像编码、解码方法及装置 | |
CN104754362B (zh) | 使用精细划分块匹配的图像压缩方法 | |
CN111614359B (zh) | 使用点预测和常现位置数组的数据编码方法和解码方法 | |
CN107770553B (zh) | 采用多类匹配参数及参数存储地址的数据压缩方法和装置 | |
CN107770527B (zh) | 使用邻近编码参数和最近编码参数的数据压缩方法和装置 | |
CN112532990B (zh) | 一种串长度参数编码、解码方法和装置 | |
CN107770543B (zh) | 多类匹配参数中按顺序递增截断值的数据压缩方法和装置 | |
CN108322753B (zh) | 动态调整最近编码参数数组的元素的数据压缩方法和装置 | |
US7492956B2 (en) | Video coding using multi-dimensional amplitude coding and 2-D non-zero/zero cluster position coding | |
CN107770544B (zh) | 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置 | |
CN111131826A (zh) | 定长码单元含多个编码参数变长码的数据压缩方法和装置 | |
CN110197513B (zh) | 一种基于调整阈值匹配误差的串匹配数据压缩方法 | |
CN117319666A (zh) | 用后缀表示点矢量索引取一个额外值的编解码方法及装置 | |
CN108989800B (zh) | 以字节为单元产生压缩数据字节流的数据压缩方法和装置 | |
CN112672160B (zh) | 融合帧内块复制和串复制编码参数的编码解码方法和装置 | |
CN117459735A (zh) | 点预测中缩小点矢量索引的取值范围的编解码方法及装置 | |
CN114584792A (zh) | 点预测中定期更新点矢量的值的数据编码解码方法及装置 | |
CN115190316A (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 |