CN117459735A - 点预测中缩小点矢量索引的取值范围的编解码方法及装置 - Google Patents
点预测中缩小点矢量索引的取值范围的编解码方法及装置 Download PDFInfo
- Publication number
- CN117459735A CN117459735A CN202111284140.2A CN202111284140A CN117459735A CN 117459735 A CN117459735 A CN 117459735A CN 202111284140 A CN202111284140 A CN 202111284140A CN 117459735 A CN117459735 A CN 117459735A
- Authority
- CN
- China
- Prior art keywords
- values
- value
- original
- point vector
- vector index
- 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.)
- Pending
Links
- 239000013598 vector Substances 0.000 title claims abstract description 188
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000009466 transformation Effects 0.000 claims abstract description 70
- 238000007906 compression Methods 0.000 claims description 102
- 230000006835 compression Effects 0.000 claims description 102
- 238000003491 array Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 abstract description 2
- 238000005070 sampling Methods 0.000 description 17
- 238000013144 data compression Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000010076 replication Effects 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/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
-
- 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/134—Methods 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/146—Data rate or code amount at the encoder output
-
- 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/42—Methods 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
-
- 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/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive 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/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods 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)
Abstract
本发明提供了一种缩小点矢量索引的取值范围以提高点预测编码效率的编码和解码的方法及装置。对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值。根据变换和缩小后的新取值范围确定的点矢量索引的新最大值比原最大值更小,对点矢量索引的新数值进行二值化和熵编码比对点矢量索引的原数值进行二值化和熵编码消耗更少的比特数,从而,显著提高了点预测的编码效率。
Description
技术领域
本发明涉及一种对数据进行有损或无损压缩的编码及解码***,特别是采用点预测对数据进行压缩的编码方法及装置和解码方法及装置。
背景技术
随着人类社会进入人工智能、大数据、虚拟现实、增强现实、混合现实、云计算、移动计算、云-移动计算、超高清(4K)和特超高清(8K)视频图像分辨率、4G/5G通讯的时代,对各种数据,包括大数据、图像数据、视频数据、以及各种新形态的数据,进行超高压缩比和极高质量的数据压缩成为必不可少的技术。
数据集是由数据元素(例如:字节、比特、像素、像素分量、空间采样点、变换域系数)组成的集合。
对数据集进行编码或解码(简称为编解码)时,通常将数据元素按照预定规则排序即规定前后顺序,依前后顺序进行编解码。
对排列成一定空间(一维、二维、或多维)形状的数据集(例如:一个一维数据队列、一个二维数据文件、一帧图像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列),特别是二维或以上数据集进行数据压缩的编码(以及相应的解码)时,一般将此数据集划分成若干具有预定形状和/或大小(即元素数目)的压缩子集,以压缩子集为单位,以预定的顺序,一个压缩子集接着一个压缩子集地依次进行编码或者解码。
在对一个压缩子集进行编码或者解码时,通常将此压缩子集划分成若干具有预定形状和/或大小(即元素数目)的最大压缩单元,以最大压缩单元为单位,以预定的顺序,一个最大压缩单元接着一个最大压缩单元地依次进行编码或者解码。从左向右排列成一行的最大压缩单元组成最大压缩单元行。
在一个最大压缩单元内,还把此最大压缩单元进一步划分成若干具有预定形状和/或大小(即元素数目)的子单元,称为整压缩单元,以整压缩单元为单位,以预定的顺序,一个一个整压缩单元地进行编码或者解码。
简而言之,以上过程最终将数据集划分成若干具有预定形状和/或大小(即元素数目)的子集,称为整压缩单元,以整压缩单元为单位,以预定的顺序,一个一个整压缩单元地进行编码或者解码。
在任一时刻,正在编码或者解码中的压缩子集称为当前压缩子集。正在编码或者解码中的最大压缩单元称为当前最大压缩单元。正在编码或者解码中的最大压缩单元行称为当前最大压缩单元行。正在编码或者解码中的整压缩单元称为当前整压缩单元。正在编码或者解码中的数据元素(有时也简称为元素)称为当前编码数据元素或者当前解码数据元素,统称为当前数据元素,简称为当前元素。元素由N个分量(通常1≤N≤5)组成,因此数据集、压缩子集、最大压缩单元和整压缩单元也都由N个分量组成。元素的分量也称为分量元素。
例如,压缩子集是一帧图像,其元素即像素排列成矩形形状,具有3840(宽度)x2160(高度)的大小(分辨率),由3个分量组成:G(绿色)分量,B(蓝色)分量,R(红色)分量或Y(亮度)分量,U(Cb色度)分量,V(Cr色度)分量。一帧图像被划分为128x128大小的最大压缩单元。每个最大压缩单元又进一步被划分成从4x4到64x64的大小各异的正方形或矩形的整压缩单元。
在数据集划分成压缩子集、最大压缩单元和整压缩单元的情形,对元素进行排序的一种预定规则是首先对压缩子集排序、继而对每个压缩子集内的最大压缩单元排序,然后对每个最大压缩单元内的整压缩单元排序,再对每个整压缩单元内的元素排序。
也就是说,在数据集最终划分成整压缩单元的情形,排序的一种预定规则是首先对整压缩单元排序,再对每个整压缩单元内的元素排序。
作为编码对象的多分量数据集和整压缩单元的各分量的采样率之间的关系通常用采样格式来表示。N个分量都具有同样的采样率和大小(即分量样值的数目)的数据被称为全采样格式数据。N个分量具有不同的采样率和大小,其中N1个分量,称之为主分量,的采样率和大小是其余N-N1个分量,称之为次分量,的采样率和大小的整数倍的数据被称为下采样格式数据。所述整数倍通常是2倍、4倍、8倍、2x2倍、4x2倍等。全采样格式数据中,所有分量都被认为是主分量,没有次分量。下采样格式数据中,至少有一个分量是主分量并且至少有一个分量是次分量。例如,对于包括计算机产生的含图形和文字的图像的一类二维数据元素的阵列,通常采用一种称为4:4:4(简称444)的采样格式,就是数据集的3个分量都具有同样的采样率和大小(即分量样值的数目)。对于包括摄像机摄取的自然图像和视频的另一类二维数据元素的阵列,通常采用一种称为4:2:0(简称420)的采样格式,就是具有矩形形状和3个分量的数据集(如图像或视频)的2个称为次分量的分量(D分量和E分量)的采样率和尺寸分别是另一个称为主分量的分量(F分量)的四分之一,也就是主分量与次分量之间具有4:1的下采样关系。在这种情形,一个D分量D[i][j]和一个E分量E[i][j]对应于四个(2×2个)F分量F[2i][2j],F[2i+1][2j],F[2i][2j+1],F[2i+1][2j+1]。如果F分量的分辨率是2M×2N(水平2M个分量元素,垂直2N个分量元素),即数据集的F分量是F = {F[m][n]:m= 0~2M-1,n = 0~2N-1},那么D分量和E分量的分辨率分别都是M×N(水平M个分量元素,垂直N个分量元素),即数据集的D分量和E分量分别是D = {D[m][n]:m = 0~M-1,n = 0~N-1}和E = {E[m][n]:m = 0~M-1,n = 0~N-1}。在对次分量也需要较高质量的场合,则常常使用一种称为4:2:2(简称422)的采样格式,就是具有矩形形状和3个分量的数据集(如图像或视频)的2个次分量(D分量和E分量)的采样率和尺寸分别是另一个主分量(F分量)的二分之一,也就是主分量与次分量之间具有2:1的下采样关系。在这种情形,在数据集(如图像或视频)的一个方向(如水平方向),一个D分量D[i][j]和一个E分量E[i][j]对应于两个(2×1个)F分量F[2i][j]和F[2i+1][j]。如果F分量的分辨率是2M×N,,即数据集的F分量是F= {F[m][n]:m = 0~2M-1,n = 0~N-1},那么D分量和E分量的分辨率分别都是M×N,即数据集的D分量和E分量分别是D = {D[m][n]:m = 0~M-1,n = 0~N-1}和E = {E[m][n]:m =0~M-1,n = 0~N-1}。在采用YUV或YCbCr或YCgCo色彩格式的图像和视频中,以上所述F、D、E分量通常分别是Y、U、V分量或Y、Cb、Cr分量或Y、Cg、Co分量。在采用RGB色彩格式的图像和视频中,以上所述F、D、E分量通常分别是G、B、R分量或G、R、B分量。在数据是图像或视频的场合,采样格式也常称为色度格式。各分量都具有相同采样率的色度格式称为全色度格式。一部分分量与另一部分分量之间具有下采样关系的色度格式称为下采样色度格式。
在下采样格式中,一个次分量所在的位置(通常称为次分量位置)及其元素对应于多个主分量所在的位置(通常称为主分量位置,即使简称为位置也不会产生混淆)及其元素。这种一对多的对应关系具有不确定性。为了消除这种不确定性,通常在与一个次分量位置及其元素对应的多个位置(如420格式中的2x2个位置或422格式中的2x1个位置)及其元素中预先指定一个主分量正位置及其正元素(如指定2x2个位置及其元素中位于左上角的位置及其元素或2x1个位置及其元素中位于左边的位置及其元素为主分量正位置及其正元素)作为与所述次分量位置及其元素一一对应的唯一正规的主分量位置及其元素。主分量正位置与次分量位置之间具有一一对应关系,因此,主分量正位置与次分量位置合称为正位置,表示该位置既是主分量正位置也是次分量位置,正位置与次分量位置之间也同样具有一一对应关系,与一个次分量位置对应的多个位置中的除了正位置之外的其他位置都称为非正位置。主分量正元素与次分量元素之间也具有一一对应关系,因此,主分量正元素与次分量元素合称为正元素,表示该元素既是主分量正元素也是次分量元素,正元素与次分量元素之间也同样具有一一对应关系,与一个次分量元素对应的多个元素中的除了正元素之外的其他元素都称为非正元素。另一方面,在全采样格式中,所有位置都被认为是主分量正位置和正位置,所有元素都被认为是主分量正元素和正元素。
在数据是420采样格式的二维数据元素的阵列或阵列的序列的情形,有一个主分量F和两个次分量D和E;
次分量D和E的采样率和尺寸分别是主分量F的四分之一,也就是主分量与次分量之间具有4:1即2x2:1的下采样关系;
一个D分量元素D[i][j]和一个E分量元素E[i][j]对应于2×2个即上下左右排列的4个F分量元素F[2i][2j],F[2i+1][2j],F[2i][2j+1],F[2i+1][2j+1];
F分量元素的分辨率是2M×2N,即F分量元素组成阵列F = {F[m][n]:m = 0~2M-1,n = 0~2N-1},
D分量元素的分辨率是M×N,即D分量元素组成阵列D = {D[m][n]:m = 0~M-1,n= 0~N-1},
E分量元素的分辨率也是M×N,即E分量元素组成阵列E = {E[m][n]:m = 0~M-1,n = 0~N-1}。
预先指定的正位置上的主分量正元素是F[2i][2j],称为左上角类型的主分量正位置及其正元素;
或者,
预先指定的正位置上的主分量正元素是F[2i+1][2j],称为右上角类型的主分量正位置及其正元素;
或者,
预先指定的正位置上的主分量正元素是F[2i][2j+1],称为左下角类型的主分量正位置及其正元素;
或者,
预先指定的正位置上的主分量正元素是F[2i+1][2j+1],称为右下角类型的主分量正位置及其正元素。
在数据集划分成整压缩单元的情形,排序的一种预定规则是首先对整压缩单元排序,再对每个整压缩单元内的元素排序。
数据压缩的一种有效手段是串预测也称串匹配。串预测将一个当前整压缩单元的元素分割成长度可变的元素串,对一个正在编码或者解码中的当前元素串,简称为当前串,在一个称为参考集的已完成预定程度的编解码的元素的集合或其子集之中,获得与所述当前串具有相同或相近似的数值的参考元素串简称参考串,也称之为所述当前串的参考串或预测串或匹配串。对于一个当前串的参考串,仅需要使用若干参数来记录所述参考串在参考集内的位置和/或形状和/或大小和/或尺寸,而不需要逐个记录所述当前串内每个元素的数值本身,就能完整地表示并且在需要的时候随时随地重建所述当前串的所有元素及其数值,从而达到数据压缩的目的。重建所产生的当前串的元素称为重建元素,其数值称为当前串及其元素的重建值。元素的重建值等同于元素的原始值的数据压缩称为无损压缩。元素的重建值不等同于元素的原始值的数据压缩称为有损压缩。
例如,一个按照一定扫描方式连续排序的当前串,如果能在参考集内找到相应的参考串,则仅需要使用当前串的第一个元素与参考串的第一个元素之间的位置关系和串长度这两个参数来记录所述参考串在参考集内的位置和大小,而不需要逐个记录所述当前串内每个元素的数值本身,就能完整地表示并且在需要的时候随时随地重建所述当前串的所有元素及其数值,获得当前串及其元素的重建值。记录所述两个参数所消耗的比特数常常远少于逐个记录所述当前串内每个元素的数值本身所消耗的比特数,从而达到了数据压缩的目的。
串预测中,重建操作通常是通过读取参考元素并将其复制到当前元素的位置来完成的。因此,串预测也称为串复制。产生重建元素的吞吐量基本上取决于读取参考元素的吞吐量。
串预测中,也可能出现在参考集内找不到参考元素的不可预测(也称为未匹配或不匹配或不可匹配)元素。不可预测元素的分量、主分量、次分量分别被称为不可预测分量、不可预测主分量、不可预测次分量。对于不可预测元素,只能将其精确或近似数值本身记录下来,按照预定方式对其进行压缩,并且在需要的时候随时随地重建不可预测元素,获得不可预测元素的重建值。
串预测中经常使用的扫描方式包括:
水平光栅扫描:一个整压缩单元内的元素沿水平方向一个元素一个元素排列,排列完一行后接着排列下一行,所有行内扫描方向都是从左至右排列或者所有行内扫描方向都是从右至左排列。
或者
水平来回扫描也称往返扫描或弓形扫描:一个整压缩单元内的元素沿水平方向一个元素一个元素排列,排列完一行后接着排列下一行,任何相邻的两行中一行的行内扫描方向是从左至右排列而另一行的行内扫描方向是从右至左排列,从左至右排列的行称之为正向行,从右至左排列的行称之为反向行;
或者
垂直光栅扫描:一个整压缩单元内的元素沿垂直方向一个元素一个元素排列,排列完一列后接着排列下一列,所有列内扫描方向都是从上至下排列或者所有列内扫描方向都是从下至上排列;
或者
垂直来回扫描也称往返扫描或弓形扫描:一个整压缩单元内的元素沿垂直方向一个元素一个元素排列,排列完一列后接着排列下一列,任何相邻的两列中一列的列内扫描方向是从上至下排列而另一列的列内扫描方向是从下至上排列,从上至下排列的列称之为正向列,从下至上排列的列称之为反向列。
串的扫描即排列中的第一个元素称为起始元素,串的扫描即排列中的最后一个元素称为终结元素。
串预测的一种特殊情形是块预测也称块匹配。在这种特殊情形,每个串都形成一个矩形形状的块,甚至一个串即一个块就是一个整压缩单元。在这种特殊情形,编解码可以不按照元素扫描的形式和顺序进行,而是直接以块的形式进行,但也可以块与串统一按照元素扫描的形式和顺序进行。
在本申请中,串和块统称为串。因此,串预测也是串预测与块预测的统称。
影响串预测的编码效率的一个重要因素是参考集,通常也称为参考范围,即串矢量所指向的参考元素的位置的可取范围,的大小。参考范围越大,候选的参考元素也越多,越能找到合适的参考元素,编码效率也就越高。但参考范围越大,实现复杂度和成本也越高。特别是参考范围大到一定程度,参考元素就不能放在编解码器芯片的内部,而必须放到编解码器芯片外部的专用存储芯片中,不但成本增加,读写带宽和像素处理吞吐量都会成为严重瓶颈,甚至无法支持高像素分辨率的图像和视频的编解码。
串预测技术中,为了降低实现复杂度和成本,参考范围通常是有限的,有预定的固定大小(即元素数目),如被限制在当前整压缩单元所在最大压缩单元或附近最大压缩单元内。即使参考范围有限,其元素都在编解码器芯片的内部,读写带宽和元素处理吞吐量,特别是读取参考元素的吞吐量,也仍然是瓶颈。例如,如果每个时钟周期仅能读取最多产生1个重建元素的参考元素,则产生重建元素的吞吐量也绝不会超过每时钟1个元素。
点预测是串预测的另一种特殊情形,也是数据压缩的一种有效手段。
点预测技术将若干其数值经常重复出现于当前整压缩单元内或附近的已完成预定程度的编解码的数据元素在数据集内的位置,称为常现位置,存放在一个常现位置数组或其子集中,数组或其子集中存放的每个常现位置用一个索引来标明,称其为常现位置索引或常现位置地址。常现位置上的数据元素作为参考元素或称预测元素或称匹配元素来使用。当前整压缩单元内的具有相等数值的一个待编码或待解码的等数值串,仅需要使用一个索引参数和一个所述索引所标明的常现位置的重复次数参数,来表示所述等数值串的所有元素的参考元素都是这个索引标明的常现位置(这个常现位置可以是所述等数值串之前的数据集内的某一个元素的位置,也可以是所述等数值串中的一个元素的位置)上的元素,或者来表示所述等数值串的所有元素的数值都等于这个索引标明的常现位置(这个常现位置可以是所述等数值串之前的数据集内的某一个元素的位置,也可以是所述等数值串中的一个元素的位置)上的元素的数值,而不需要逐个记录所述等数值串内每个元素的数值本身,从而达到数据压缩的目的。作为重建元素的等数值串上元素的数值通常等于或接近(即误差不超过一个预定阈值)原始元素的数值,从而在达到数据压缩的目的的同时,也保证重建元素的高质量即小失真。常现位置通常用点矢量的形式来表示,故常现位置索引也称点矢量地址,常现位置数组通常是点矢量数组即存放点矢量的参数的数组,点矢量的参数至少包括点矢量以及与点矢量有关的信息,点矢量通常用预定形式的坐标,称为点矢量的位置坐标,来表示。点矢量数组有时也称为点预测数组或点预测信息表。
例如,一个按照预定扫描方式排列的当前串,如果能在常现位置数组或其子集内找到一个点矢量,其指向的参考元素的数值是所述当前串上所有元素的预测值,并且以预测值作为重建元素的数值,则仅需要使用所述点矢量的点矢量地址和当前串长度这两个参数来记录所述当前串内每个元素的数值,而不需要逐个记录所述当前串内每个元素的数值本身,就能完整地表示所述当前串的所有元素及其数值。记录所述两个参数所消耗的比特数常常远少于逐个记录所述当前串内每个元素的数值本身所消耗的比特数,从而达到了数据压缩的目的。
常现位置元素,如果出现在正位置,即表示该常现位置的点矢量所指定的位置是正位置,则具有包括次分量的所有N个分量,压缩数据码流中存在包括次分量的所有N个分量,编码器将包括次分量的所有N个分量的数值写入压缩数据码流,而解码器从压缩数据码流中获得包括次分量的所有N个分量的数值,否则,仅具有主分量却没有次分量,压缩数据码流中仅存在主分量却不存在次分量,编码器仅将主分量的数值写入压缩数据码流,而解码器从压缩数据码流中仅获得主分量的数值。常现位置元素的次分量的数值存储在正位置上的次分量空间内。常现位置元素,一方面是所在位置的重建元素,另一方面也是其他元素的参考元素,用于获得其他元素的重建值,这时,该常现位置元素也被称为常现位置参考元素。
使用点预测技术进行编解码的整压缩单元中,有可能存在找不到参考元素的未匹配元素。未匹配元素,如果出现在正位置,则具有包括次分量的所有N个分量,压缩数据码流中存在包括次分量的所有N个分量,编码器将包括次分量的所有N个分量的数值写入压缩数据码流,而解码器从压缩数据码流中获得包括次分量的所有N个分量的数值,否则,仅具有主分量却没有次分量,压缩数据码流中仅存在主分量却不存在次分量,编码器仅将主分量的数值写入压缩数据码流,而解码器从压缩数据码流中仅获得主分量的数值。未匹配元素本身也允许作为其他元素的参考元素来使用,用于获得其他元素的重建值,这时,该未匹配元素也被称为未匹配参考元素。
点预测技术将一个整压缩单元的元素,沿着扫描路径即按照预定扫描方式连续排序所形成的路径,分割成长度可变的下列三种串类型的元素串:
串类型1:等数值串或称等值串。一个等值串上的所有元素的参考元素或称预测元素的数值都等于一个常现位置元素的数值;等值串用一个常现位置及其点矢量索引(也简称为常现位置索引或点矢量索引)的值来表示该等值串所使用的常现位置及其点矢量即指定该等值串上所有元素的参考元素或称预测元素的数值都等于哪个点矢量所指向的常现位置上的数据元素的数值;
串类型2:未匹配元素串。一个未匹配元素串上的所有元素都是未匹配元素即不可预测元素;未匹配元素串也用一个特定的点矢量索引的值来表示该串是一个未匹配元素串而不是一个等值串;
串类型3:单位基矢量串。单位基矢量串是参考串位于当前串正上方一个单位距离的串,其中,在水平扫描模式中,所述正上方是指直接相邻的上方,而在垂直扫描模式中,所述正上方是指直接相邻的左方。因此,单位基矢量串又称为复制上方串。
可见,等值串和未匹配元素串都是用一个点矢量索引的值来表示和区分的。因此,等值串和未匹配元素串统称为点矢量索引表示串。
点预测技术还强制规定:单位基矢量串的参考元素仅限于当前整压缩单元内部的元素,不能是当前整压缩单元外部的元素。因此,一个整压缩单元内所有三种串类型的串上的每个元素,其最初的来源只能是常现位置元素或未匹配元素。也就是说,一个整压缩单元的所有元素,其参考元素都是毫无例外地直接来源于常现位置元素或未匹配元素。
因此,使用点预测技术进行编解码的整压缩单元中,重建元素的数值(即元素的重建值)都是从常现位置元素或者未匹配元素获得。
为了提高点预测的编码效率,点预测技术中,将当前整压缩单元中所使用的部分常现位置及其点矢量或者全部常现位置及其点矢量的参数,添加和存储到一个历史点预测信息表中,以供后续的整压缩单元重复使用。采用点预测的整压缩单元所使用的常现位置及其点矢量,一部分来自所述历史点预测信息表,称其为复用常现位置及其复用点矢量,另一部分不在所述历史点预测信息表中,是该整压缩单元所新产生的常现位置及其点矢量,称其为新常现位置及其新点矢量。对于新常现位置及其新点矢量,在编码器中将新点矢量表示的新常现位置上的元素数值写入压缩数据码流而在解码器中从压缩数据码流中获得新点矢量表示的新常现位置上的元素数值。当前整压缩单元中所使用的全部点矢量的参数,都存储在该整压缩单元专用的点预测信息表中;所述点预测信息表由复用点矢量的参数和新点矢量的参数组成。在对一个当前整压缩单元进行编码或解码时,一方面,将复用点矢量的参数从所述历史点预测信息表中取出,放入当前整压缩单元专用的当前点预测信息表中,另一方面,将新点矢量的参数也放入所述当前点预测信息表中。在将一个当前整压缩单元中使用的全部点矢量的参数都放入当前整压缩单元专用的当前点预测信息表中之后,将所述当前点预测信息表和所述历史点预测信息表合并,删除重复的冗余的点矢量的参数,产生新的历史点预测信息表。
在数据集具有主分量和次分量的情形,当前整压缩单元可分为下列三种类型。
1)主次分量整压缩单元:同时对主分量和对应的次分量进行编解码,用于对主分量和对应的次分量之间具有较强相关性的部分数据元素,通常采用同样或基本同样的方式对主分量和次分量进行编解码。
2)主分量整压缩单元:仅对主分量进行编解码,用于对主分量和对应的次分量之间没有较强相关性的部分数据元素。
3)次分量整压缩单元:仅对次分量进行编解码,用于对主分量和对应的次分量之间没有较强相关性的部分数据元素。
主分量整压缩单元都有对应的次分量整压缩单元。可以多个主分量整压缩单元对应于一个次分量整压缩单元。也可以多个主分量整压缩单元对应于多个次分量整压缩单元,但所述多个主分量整压缩单元与所述多个次分量整压缩单元之间不是一一对应。
点预测技术中,对常现位置及其点矢量索引(简称为点矢量索引)采用具有最大值的截断码进行二值化和熵编码。具有最大值的截断码的一个特点是最大值越大消耗的比特数越多编码效率越低,最大值越小消耗的比特数越少编码效率越高。
点矢量索引的最大值直接与点矢量索引的取值范围有关。取值范围越大,最大值也越大,取值范围越小,最大值也越小。
点矢量索引的取值有下列两个性质:
1)一个当前点矢量索引表示串,如果其前方也是一个点矢量索引表示串,则当前点矢量索引表示串的点矢量索引的值不能等于前方点矢量索引表示串的点矢量索引的值;这是因为,假如相连的两个点矢量索引表示串的点矢量索引的值相等,那么这两个串就必然被合并为一个串,绝不可能是连续出现的点矢量索引的值相等的两个串;鉴于这个特点,一个当前点矢量索引表示串,如果其前方也是一个点矢量索引表示串,那么,该当前点矢量索引表示串的点矢量索引的实际取值范围是原取值范围去掉一个值,即去掉前方点矢量索引表示串的点矢量索引的值。因此,该当前点矢量索引表示串的点矢量索引的实际取值范围比原取值范围少了一个值。
2)一个当前点矢量索引表示串,如果其前方是一个单位基矢量串并且其首元素的正上方元素的最初的来源是常现位置元素而不是未匹配元素,则当前点矢量索引表示串的点矢量索引的值不能等于该正上方元素的点矢量索引的值;这是因为,假如这两个点矢量索引的值相等,那么这个首元素与这个正上方元素的点矢量索引的值也相等,也就是这个首元素的参考元素位于这个首元素的正上方一个单位距离,因此,这个首元素是前方单位基矢量串的元素,而绝不可能是当前点矢量索引表示串的首元素,由此可知这是互相矛盾的不可能发生的情况;鉴于这个特点,一个当前点矢量索引表示串,如果其前方是一个单位基矢量串并且其首元素的正上方元素的最初的来源是常现位置元素而不是未匹配元素,那么,该当前点矢量索引表示串的点矢量索引的实际取值范围是原取值范围去掉一个值,即去掉该正上方元素的点矢量索引的值。因此,该当前点矢量索引表示串的点矢量索引的实际取值范围比原取值范围少了一个值。
现有点预测技术中,没有考虑这两个性质,对点矢量索引,按照原取值范围确定最大值,严重影响了点预测的编码效率。
发明内容
为了解决点预测技术中的这个问题,本发明提供了一种缩小点矢量索引的取值范围以提高点预测编码效率的编码和解码的方法及装置。对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值。根据变换和缩小后的新取值范围确定的点矢量索引的新最大值比原最大值更小,对点矢量索引的新数值进行二值化和熵编码比对点矢量索引的原数值进行二值化和熵编码消耗更少的比特数,从而,显著提高了点预测的编码效率。
优选地,
所述预定的变换操作是先进行减法操作再进行取模操作;所述逆变换操作是先进行加法操作再进行取模操作。
优选地,
所述原取值范围是[0, V],不可能取到的所述预定数值是v0 ∈[0, V]即v0满足0≤ v0 ≤ V;对一个点矢量索引的原数值v,所述预定的变换操作是
v’ = (v – v0 – 1) % (V + 1), (1)
其中%是模为V + 1的取模操作;v’是变换后的点矢量索引的新数值;变换操作(1)等价于下列操作:
if(v – v0 – 1 < 0) {v’ = v – v0 + V} else { v’ = v – v0 – 1},
也就是:如果v – v0 – 1 < 0,则v’ = v – v0 + V,否则,v’ = v – v0 – 1;
变换操作(1)将v的两个不连续的原子取值范围[v0 + 1, V]和[0, v0 – 1]分别变换为v’的两个连续的新子取值范围[0, V – v0 – 1]和[V – v0, V – 1],也就是变换为v’的V个连续数值的新取值范围[0, V – 1];显然,变换后的点矢量索引的新数值v’的最大值是V – 1,比变换前的点矢量索引的原数值v的最大值V减少1;
变换操作(1)的逆变换操作是
v = (v’ + v0 + 1) % (V + 1), (2)
逆变换操作(2)等价于下列操作:
if(v’ + v0 + 1 > V) {v = v’ + v0 – V} else {v = v’ + v0 + 1},
也就是:如果v’ + v0 + 1 > V,则v = v’ + v0 – V,否则,v = v’ + v0 + 1;
逆变换操作(2)将v’的V个连续数值的新取值范围[0, V – 1]逆变换回v的两个不连续原子取值范围[v0 + 1, V]和[0, v0 – 1]。
优选地,
对于一个当前点矢量索引表示串,如果其前方也是一个点矢量索引表示串,则当前点矢量索引所不可能取到的所述预定数值v0等于前方点矢量索引表示串的点矢量索引的值。
优选地,
对于一个当前点矢量索引表示串,如果其前方是一个单位基矢量串并且其首元素的正上方元素的最初的来源是常现位置元素而不是未匹配元素,则当前点矢量索引所不可能取到的所述预定数值v0等于该正上方元素的点矢量索引的值。
优选地,
对点矢量索引的新数值进行逆变换操作以获得点矢量索引的原数值的语法描述表至少包括:
输入逆变换操作前的点矢量索引的新数值PvAddress |
if (StringType[i - 1] != 0) { |
if ((PvAddress += (PvAddr[Pnum-1]+1)) >= (MaxVal + 2)) |
PvAddress -= (MaxVal + 2) |
} |
else if (PixelType[Pnum-offsetAbove] != 2){ |
if ((PvAddress += (PvAddr[Pnum-offsetAbove]+1)) >= (MaxVal +2)) |
PvAddress -= (MaxVal + 2) |
} |
输出逆变换操作后的点矢量索引的原数值PvAddress |
以上语法描述表中,
i是当前串的序号,StringType[i - 1]是当前串的前方串的串类型标记,串类型标记为0,1,2分别表示单位基矢量串,等值串,未匹配元素串;
MaxVal + 1是原取值范围[0, MaxVal + 1]中的数值即原数值的最大值;
Pnum是当前串的首元素沿着扫描路径排序的序号;
PvAddr[Pnum-1]是序号为Pnum的元素的前一个元素的点矢量索引的值即当前串的前方串的点矢量索引的值;
PvAddr[Pnum-offsetAbove]是序号为Pnum的元素的正上方元素的点矢量索引的值,offsetAbove实际上是当前元素的序号Pnum减去其正上方元素的序号,因此,当前元素的正上方元素的序号等于Pnum-offsetAbove;
PixelType[Pnum-offsetAbove]是序号为Pnum的元素的正上方元素的元素类型标记,元素类型标记为0,1,2分别表示元素是单位基矢量串上的元素并且最初的来源是常现位置元素,等值串上的元素,最初的来源为未匹配元素的元素。
A += B是A自加B的运算即A加上B后再重新赋值给A。
根据本发明的第一个方面,提供了一种点预测的编码方法,其特征在于至少包括下列步骤:
1)至少输入一个整压缩单元的原始数据,
2)至少对所述整压缩单元进行点预测编码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)至少输出所述整压缩单元的压缩数据码流。
根据本发明的第二个方面,提供了一种点预测的编码装置,其特征在于至少包括下列模块:
1)原始数据输入模块:至少输入一个整压缩单元的原始数据,
2)点预测编码模块:至少对所述整压缩单元进行点预测编码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)压缩数据码流输出模块:至少输出所述整压缩单元的压缩数据码流。
根据本发明的第三个方面,提供了一种点预测的解码方法,其特征在于至少包括下列步骤:
1)至少输入一个整压缩单元的压缩数据码流,
2)至少对所述整压缩单元进行点预测解码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)至少输出所述整压缩单元的重建元素。
根据本发明的第四个方面,提供了一种点预测的解码装置,其特征在于至少包括下列模块:
1)压缩数据码流输入模块:至少输入一个整压缩单元的压缩数据码流,
2)点预测解码模块:至少对所述整压缩单元进行点预测解码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)重建元素输出模块:至少输出所述整压缩单元的重建元素。
本发明适用于对数据进行有损压缩的编码和解码,本发明也同样适用于对数据进行无损压缩的编码和解码。本发明适用于一维数据如字符串数据或字节串数据或一维图形或分维图形的编码和解码,本发明也同样适用于二维或以上维度的数据如图像、图像序列或视频数据的编码和解码。
本发明中,数据压缩所涉及的数据包括下列类型的数据之一或其组合
1)一维数据;
2)二维数据;
3)多维数据;
4)图形;
5)分维图形;
6)图像;
7)图像的序列;
8)视频;
9)音频;
10)文件;
11)字节;
12)比特;
13)像素;
14)三维场景;
15)持续变化的三维场景的序列;
16)虚拟现实的场景;
17)持续变化的虚拟现实的场景的序列
18)像素形式的图像;
19)图像的变换域数据;
20)二维或二维以上字节的集合;
21)二维或二维以上比特的集合;
22)像素的集合;
23)单分量像素的集合;
24)三分量像素(R,G,B,A)的集合;
25)三分量像素(Y,U,V)的集合;
26)三分量像素(Y,Cb,Cr)的集合;
27)三分量像素(Y,Cg,Co)的集合;
28)四分量像素(C,M,Y,K)的集合;
29)四分量像素(R,G,B,A)的集合;
30)四分量像素(Y,U,V,A)的集合;
31)四分量像素(Y,Cb,Cr,A)的集合;
32)四分量像素(Y,Cg,Co,A)的集合。
以上通过若干特定的具体实例说明本发明的技术特征。本领域技术人员可由本说明书所揭示的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在不背离本发明的精神下进行各种修饰或改变。
附图说明
图1是本发明的编码方法或装置的一个示意图。
图2是本发明的解码方法或装置的一个示意图。
具体实施方式
以下是本发明的更多的实施细节。
实施例1
所述编码方法或者编码装置或者解码方法或者解码装置中,原始数据是包括图像、图像的序列、视频的二维数据元素的阵列或阵列的序列,
点预测涉及的压缩子集包括图像、图像的子图像、片块tile、条带slice、片patch;
点预测涉及的最大压缩单元包括片块tile、最大编码单元LCU、编码树单元CTU;
所述整压缩单元包括宏块、编码单元CU、CU的子区域、子编码单元SubCU、预测块、预测单元PU、PU的子区域、子预测单元SubPU、变换块、变换单元TU、TU的子区域、子变换单元SubTU。
实施例2
所述编码方法或者编码装置或者解码方法或者解码装置中,
所述预定的变换操作是先进行减法操作再进行取模操作;所述逆变换操作是先进行加法操作再进行取模操作。
实施例3
所述编码方法或者编码装置或者解码方法或者解码装置中,
所述原取值范围是[0, V],不可能取到的所述预定数值是v0 ∈[0, V]即v0满足0≤ v0 ≤ V;对一个点矢量索引的原数值v,所述预定的变换操作是
v’ = (v – v0 – 1) % (V + 1), (1)
其中%是模为V + 1的取模操作;v’是变换后的点矢量索引的新数值;变换操作(1)等价于下列操作:
if(v – v0 – 1 < 0) {v’ = v – v0 + V} else { v’ = v – v0 – 1},
也就是:如果v – v0 – 1 < 0,则v’ = v – v0 + V,否则,v’ = v – v0 – 1;
变换操作(1)将v的两个不连续的原子取值范围[v0 + 1, V]和[0, v0 – 1]分别变换为v’的两个连续的新子取值范围[0, V – v0 – 1]和[V – v0, V – 1],也就是变换为v’的V个连续数值的新取值范围[0, V – 1];显然,变换后的点矢量索引的新数值v’的最大值是V – 1,比变换前的点矢量索引的原数值v的最大值V减少1;
变换操作(1)的逆变换操作是
v = (v’ + v0 + 1) % (V + 1), (2)
逆变换操作(2)等价于下列操作:
if(v’ + v0 + 1 > V) {v = v’ + v0 – V} else {v = v’ + v0 + 1},
也就是:如果v’ + v0 + 1 > V,则v = v’ + v0 – V,否则,v = v’ + v0 + 1;
逆变换操作(2)将v’的V个连续数值的新取值范围[0, V – 1]逆变换回v的两个不连续原子取值范围[v0 + 1, V]和[0, v0 – 1]。
实施例4
所述编码方法或者编码装置或者解码方法或者解码装置中,
对于一个当前点矢量索引表示串,如果其前方也是一个点矢量索引表示串,则当前点矢量索引所不可能取到的所述预定数值v0等于前方点矢量索引表示串的点矢量索引的值。
实施例5
所述编码方法或者编码装置或者解码方法或者解码装置中,
对于一个当前点矢量索引表示串,如果其前方是一个单位基矢量串并且其首元素的正上方元素的最初的来源是常现位置元素而不是未匹配元素,则当前点矢量索引所不可能取到的所述预定数值v0等于该正上方元素的点矢量索引的值。
实施例6
所述编码方法或者编码装置或者解码方法或者解码装置中,
对点矢量索引的新数值进行逆变换操作以获得点矢量索引的原数值的语法描述表至少包括:
输入逆变换操作前的点矢量索引的新数值PvAddress |
if (StringType[i - 1] != 0) { |
if ((PvAddress += (PvAddr[Pnum-1]+1)) >= (MaxVal + 2)) |
PvAddress -= (MaxVal + 2) |
} |
else if (PixelType[Pnum-offsetAbove] != 2){ |
if ((PvAddress += (PvAddr[Pnum-offsetAbove]+1)) >= (MaxVal +2)) |
PvAddress -= (MaxVal + 2) |
} |
输出逆变换操作后的点矢量索引的原数值PvAddress |
以上语法描述表中,
i是当前串的序号,StringType[i - 1]是当前串的前方串的串类型标记,串类型标记为0,1,2分别表示单位基矢量串,等值串,未匹配元素串;
MaxVal + 1是原取值范围[0, MaxVal + 1]中的数值即原数值的最大值;
Pnum是当前串的首元素沿着扫描路径排序的序号;
PvAddr[Pnum-1]是序号为Pnum的元素的前一个元素的点矢量索引的值即当前串的前方串的点矢量索引的值;
PvAddr[Pnum-offsetAbove]是序号为Pnum的元素的正上方元素的点矢量索引的值,offsetAbove实际上是当前元素的序号Pnum减去其正上方元素的序号,因此,当前元素的正上方元素的序号等于Pnum-offsetAbove;
PixelType[Pnum-offsetAbove]是序号为Pnum的元素的正上方元素的元素类型标记,元素类型标记为0,1,2分别表示元素是单位基矢量串上的元素并且最初的来源是常现位置元素,等值串上的元素,最初的来源为未匹配元素的元素。
A += B是A自加B的运算即A加上B后再重新赋值给A。
Claims (10)
1.一种点预测的编码方法,其特征在于至少包括下列步骤:
1)至少输入一个整压缩单元的原始数据,
2)至少对所述整压缩单元进行点预测编码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)至少输出所述整压缩单元的压缩数据码流。
2.一种点预测的编码装置,其特征在于至少包括下列模块:
1)原始数据输入模块:至少输入一个整压缩单元的原始数据,
2)点预测编码模块:至少对所述整压缩单元进行点预测编码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)压缩数据码流输出模块:至少输出所述整压缩单元的压缩数据码流。
3.一种点预测的解码方法,其特征在于至少包括下列步骤:
1)至少输入一个整压缩单元的压缩数据码流,
2)至少对所述整压缩单元进行点预测解码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)至少输出所述整压缩单元的重建元素。
4.一种点预测的解码装置,其特征在于至少包括下列模块:
1)压缩数据码流输入模块:至少输入一个整压缩单元的压缩数据码流,
2)点预测解码模块:至少对所述整压缩单元进行点预测解码,对于具有V+1个连续数值的点矢量索引的原取值范围,在点矢量索引不可能取到所述原取值范围内的一个预定数值的情况下,使用预定的变换操作将所述原取值范围内其余V个可能取到的但可能不连续的原数值变换为V个连续的新数值并形成新取值范围。所述变换操作的逆变换操作则将新取值范围变换回原取值范围,将点矢量索引的新数值变换回原数值,
3)重建元素输出模块:至少输出所述整压缩单元的重建元素。
5.根据权利要求3或4所述的解码方法或装置,其特征在于,
原始数据是包括图像、图像的序列、视频的二维数据元素的阵列或阵列的序列,
点预测涉及的压缩子集包括图像、图像的子图像、片块tile、条带slice、片patch;
点预测涉及的最大压缩单元包括片块tile、最大编码单元LCU、编码树单元CTU;
所述整压缩单元包括宏块、编码单元CU、CU的子区域、子编码单元SubCU、预测块、预测单元PU、PU的子区域、子预测单元SubPU、变换块、变换单元TU、TU的子区域、子变换单元SubTU。
6.根据权利要求3或4所述的解码方法或装置,其特征在于,
所述预定的变换操作是先进行减法操作再进行取模操作;所述逆变换操作是先进行加法操作再进行取模操作。
7.根据权利要求3或4所述的解码方法或装置,其特征在于,
所述原取值范围是[0, V],不可能取到的所述预定数值是v0 ∈[0, V]即v0满足0 ≤v0 ≤ V;对一个点矢量索引的原数值v,所述预定的变换操作是
v’ = (v – v0 – 1) % (V + 1), (1)
其中%是模为V + 1的取模操作;v’是变换后的点矢量索引的新数值;变换操作(1)等价于下列操作:
if(v – v0 – 1 < 0) {v’ = v – v0 + V} else { v’ = v – v0 – 1},
也就是:如果v – v0 – 1 < 0,则v’ = v – v0 + V,否则,v’ = v – v0 – 1;
变换操作(1)将v的两个不连续的原子取值范围[v0 + 1, V]和[0, v0 – 1]分别变换为v’的两个连续的新子取值范围[0, V – v0 – 1]和[V – v0, V – 1],也就是变换为v’的V个连续数值的新取值范围[0, V – 1];显然,变换后的点矢量索引的新数值v’的最大值是V – 1,比变换前的点矢量索引的原数值v的最大值V减少1;
变换操作(1)的逆变换操作是
v = (v’ + v0 + 1) % (V + 1), (2)
逆变换操作(2)等价于下列操作:
if(v’ + v0 + 1 > V) {v = v’ + v0 – V} else {v = v’ + v0 + 1},
也就是:如果v’ + v0 + 1 > V,则v = v’ + v0 – V,否则,v = v’ + v0 + 1;
逆变换操作(2)将v’的V个连续数值的新取值范围[0, V – 1]逆变换回v的两个不连续原子取值范围[v0 + 1, V]和[0, v0 – 1]。
8.根据权利要求3或4所述的解码方法或装置,其特征在于,
对于一个当前点矢量索引表示串,如果其前方也是一个点矢量索引表示串,则当前点矢量索引所不可能取到的所述预定数值v0等于前方点矢量索引表示串的点矢量索引的值。
9.根据权利要求3或4所述的解码方法或装置,其特征在于:
对于一个当前点矢量索引表示串,如果其前方是一个单位基矢量串并且其首元素的正上方元素的最初的来源是常现位置元素而不是未匹配元素,则当前点矢量索引所不可能取到的所述预定数值v0等于该正上方元素的点矢量索引的值。
10.根据权利要求3或4所述的解码方法或装置,其特征在于:
对点矢量索引的新数值进行逆变换操作以获得点矢量索引的原数值的语法描述表至少包括:
以上语法描述表中,
i是当前串的序号,StringType[i - 1]是当前串的前方串的串类型标记,串类型标记为0,1,2分别表示单位基矢量串,等值串,未匹配元素串;
MaxVal + 1是原取值范围[0, MaxVal + 1]中的数值即原数值的最大值;
Pnum是当前串的首元素沿着扫描路径排序的序号;
PvAddr[Pnum-1]是序号为Pnum的元素的前一个元素的点矢量索引的值即当前串的前方串的点矢量索引的值;
PvAddr[Pnum-offsetAbove]是序号为Pnum的元素的正上方元素的点矢量索引的值,offsetAbove实际上是当前元素的序号Pnum减去其正上方元素的序号,因此,当前元素的正上方元素的序号等于Pnum-offsetAbove;
PixelType[Pnum-offsetAbove]是序号为Pnum的元素的正上方元素的元素类型标记,元素类型标记为0,1,2分别表示元素是单位基矢量串上的元素并且最初的来源是常现位置元素,等值串上的元素,最初的来源为未匹配元素的元素。
A += B是A自加B的运算即A加上B后再重新赋值给A。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284140.2A CN117459735A (zh) | 2021-11-01 | 2021-11-01 | 点预测中缩小点矢量索引的取值范围的编解码方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111284140.2A CN117459735A (zh) | 2021-11-01 | 2021-11-01 | 点预测中缩小点矢量索引的取值范围的编解码方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117459735A true CN117459735A (zh) | 2024-01-26 |
Family
ID=89591545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111284140.2A Pending CN117459735A (zh) | 2021-11-01 | 2021-11-01 | 点预测中缩小点矢量索引的取值范围的编解码方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117459735A (zh) |
-
2021
- 2021-11-01 CN CN202111284140.2A patent/CN117459735A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107071450B (zh) | 数据压缩的编码、解码方法及装置 | |
CN104378644B (zh) | 定宽度变长度像素样值串匹配增强的图像压缩方法和装置 | |
WO2015120818A1 (zh) | 图像编码、解码方法及装置 | |
CN111614359B (zh) | 使用点预测和常现位置数组的数据编码方法和解码方法 | |
CN107770540B (zh) | 融合多种具有不同参考关系的基元的数据压缩方法和装置 | |
CN108235007B (zh) | 各模式使用不同精度同种编码参数的数据压缩方法和装置 | |
CN104754362B (zh) | 使用精细划分块匹配的图像压缩方法 | |
CN111757117B (zh) | 对分量下采样格式数据进行串预测的数据编码和解码方法 | |
CN107770553B (zh) | 采用多类匹配参数及参数存储地址的数据压缩方法和装置 | |
CN113365074B (zh) | 限制点预测常现位置及其点矢量数目的编解码方法及装置 | |
CN112565790B (zh) | 一种采用最小基矢量标志的串预测编码、解码方法及装置 | |
CN107770527B (zh) | 使用邻近编码参数和最近编码参数的数据压缩方法和装置 | |
CN113395515B (zh) | 对分量下采样格式数据进行点预测的编码解码方法及装置 | |
CN107770543B (zh) | 多类匹配参数中按顺序递增截断值的数据压缩方法和装置 | |
CN108989819B (zh) | 各模式采用各自相应色彩空间的数据压缩方法和装置 | |
CN117459735A (zh) | 点预测中缩小点矢量索引的取值范围的编解码方法及装置 | |
CN117319665A (zh) | 借用点矢量索引值表示未匹配元素串的编解码方法及装置 | |
CN117319663A (zh) | 复用仅主分量来自点预测的常现位置的编解码方法及装置 | |
CN117336491A (zh) | 点预测中渐增点矢量索引值的最大值的编解码方法及装置 | |
CN117319666A (zh) | 用后缀表示点矢量索引取一个额外值的编解码方法及装置 | |
CN117354376A (zh) | 采用匹配串与未匹配元素统一序号的编码解码方法及装置 | |
CN107770544B (zh) | 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置 | |
CN117459734A (zh) | 第一个和其余串数目有不同取值范围的编解码方法及装置 | |
CN113452995A (zh) | 当前串与参考串有不同扫描方向的数据编解码方法及装置 | |
CN117319667A (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 |