CN114584792A - 点预测中定期更新点矢量的值的数据编码解码方法及装置 - Google Patents

点预测中定期更新点矢量的值的数据编码解码方法及装置 Download PDF

Info

Publication number
CN114584792A
CN114584792A CN202111190869.3A CN202111190869A CN114584792A CN 114584792 A CN114584792 A CN 114584792A CN 202111190869 A CN202111190869 A CN 202111190869A CN 114584792 A CN114584792 A CN 114584792A
Authority
CN
China
Prior art keywords
compression unit
sub
point vector
point
reference range
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
Application number
CN202111190869.3A
Other languages
English (en)
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.)
Tongji University
Original Assignee
Tongji University
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 Tongji University filed Critical Tongji University
Priority to CN202111190869.3A priority Critical patent/CN114584792A/zh
Publication of CN114584792A publication Critical patent/CN114584792A/zh
Pending legal-status Critical Current

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/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/94Vector quantisation
    • 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/167Position within a video image, e.g. region of interest [ROI]
    • 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/17Methods 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/176Methods 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

Landscapes

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

Abstract

本发明公开了点预测中定期更新点矢量的值的数据编码解码方法及装置,其技术方案要点是:所述数据编码方法至少包括以下步骤:至少输入一个整压缩单元的原始数据;至少对所述整压缩单元进行点预测编码,在点预测编码过程中,当一个常现位置及其点矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下步骤中的操作;至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新为所述元素的位置坐标。本发明所述提供的数据编码解码方法点矢量的新位置,通常在点矢量的原位置之后,才离开和超出不断移动中的参考范围,常现位置及其点矢量就更长久地留在参考范围内,提高了点预测的编码效率。

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],称为右下角类型的主分量正位置及其正元素。
在数据集划分成整压缩单元的情形,排序的一种预定规则是首先对整压缩单元排序,再对每个整压缩单元内的 元素排序。
数据压缩的一种有效手段是串预测也称串匹配。串预测将一个当前整压缩单元的元素分割成长度可变的元素串, 对一个正在编码或者解码中的当前元素串,简称为当前串,在一个称为参考集的已完成预定程度的编解码的元素的 集合或其子集之中,获得与所述当前串具有相同或相近似的数值的参考元素串简称参考串,也称之为所述当前串的 参考串或预测串或匹配串。对于一个当前串的参考串,仅需要使用若干参数来记录所述参考串在参考集内的位置和/ 或形状和/或大小和/或尺寸,而不需要逐个记录所述当前串内每个元素的数值本身,就能完整地表示并且在需要的 时候随时随地重建所述当前串的所有元素及其数值,从而达到数据压缩的目的。重建所产生的当前串的元素称为重 建元素,其数值称为当前串及其元素的重建值。元素的重建值等同于元素的原始值的数据压缩称为无损压缩。元素 的重建值不等同于元素的原始值的数据压缩称为有损压缩。
例如,一个按照一定扫描方式连续排序的当前串,如果能在参考集内找到相应的参考串,则仅需要使用当前串 的第一个元素与参考串的第一个元素之间的位置关系和串长度这两个参数来记录所述参考串在参考集内的位置和大 小,而不需要逐个记录所述当前串内每个元素的数值本身,就能完整地表示并且在需要的时候随时随地重建所述当 前串的所有元素及其数值,获得当前串及其元素的重建值。记录所述两个参数所消耗的比特数常常远少于逐个记录 所述当前串内每个元素的数值本身所消耗的比特数,从而达到了数据压缩的目的。
串预测中,也可能出现在参考集内找不到参考元素的不可预测(也称为未匹配或不匹配或不可匹配)元素。不 可预测元素的分量、主分量、次分量分别被称为不可预测分量、不可预测主分量、不可预测次分量。对于不可预测 元素,只能将其精确或近似数值本身记录下来,按照预定方式对其进行压缩,并且在需要的时候随时随地重建不可 预测元素,获得不可预测元素的重建值。
串预测中经常使用的扫描方式包括:
水平光栅扫描:一个整压缩单元内的元素沿水平方向一个元素一个元素排列,排列完一行后接着排列下一行, 所有行内扫描方向都是从左至右排列或者所有行内扫描方向都是从右至左排列。
或者
水平来回扫描也称往返扫描或弓形扫描:一个整压缩单元内的元素沿水平方向一个元素一个元素排列,排列完 一行后接着排列下一行,任何相邻的两行中一行的行内扫描方向是从左至右排列而另一行的行内扫描方向是从右至 左排列,从左至右排列的行称之为正向行,从右至左排列的行称之为反向行;
或者
垂直光栅扫描:一个整压缩单元内的元素沿垂直方向一个元素一个元素排列,排列完一列后接着排列下一列, 所有列内扫描方向都是从上至下排列或者所有列内扫描方向都是从下至上排列;
或者
垂直来回扫描也称往返扫描或弓形扫描:一个整压缩单元内的元素沿垂直方向一个元素一个元素排列,排列完 一列后接着排列下一列,任何相邻的两列中一列的列内扫描方向是从上至下排列而另一列的列内扫描方向是从下至 上排列,从上至下排列的列称之为正向列,从下至上排列的列称之为反向列。
串的扫描即排列中的第一个元素称为起始元素,串的扫描即排列中的最后一个元素称为终结元素。
串预测的一种特殊情形是块预测也称块匹配。在这种特殊情形,每个串都形成一个矩形形状的块。
点预测是串预测的另一种特殊情形,也是数据压缩的一种有效手段。
点预测技术将若干其数值经常重复出现于当前整压缩单元内或附近的已完成预定程度的编解码的数据元素在数 据集内的位置,称为常现位置,存放在一个常现位置数组或其子集中,数组或其子集中存放的每个常现位置用一个 索引来标明,称其为常现位置索引或常现位置地址。常现位置上的数据元素作为参考元素或称预测元素或称匹配元 素来使用。当前整压缩单元内的具有相等数值的一个待编码或待解码的等数值串,仅需要使用一个索引参数和一个 所述索引所标明的常现位置的重复次数参数,来表示所述等数值串的所有元素的参考元素都是这个索引标明的常现 位置(这个常现位置可以是所述等数值串之前的数据集内的某一个元素的位置,也可以是所述等数值串中的一个元 素的位置)上的元素,或者来表示所述等数值串的所有元素的数值都等于这个索引标明的常现位置(这个常现位置 可以是所述等数值串之前的数据集内的某一个元素的位置,也可以是所述等数值串中的一个元素的位置)上的元素 的数值,而不需要逐个记录所述等数值串内每个元素的数值本身,从而达到数据压缩的目的。作为重建元素的等数 值串上元素的数值通常等于或接近(即误差不超过一个预定阈值)原始元素的数值,从而在达到数据压缩的目的的同时,也保证重建元素的高质量即小失真。常现位置通常用点矢量的形式来表示,故常现位置索引也称点矢量地址, 常现位置数组通常是点矢量数组即存放点矢量的参数的数组,点矢量的参数至少包括点矢量以及与点矢量有关的信 息,点矢量通常用预定形式的坐标,称为点矢量的位置坐标,来表示。点矢量数组有时也称为点预测数组或点预测 信息表。
例如,一个按照预定扫描方式排列的当前串,如果能在常现位置数组或其子集内找到一个点矢量,其指向的参 考元素的数值是所述当前串上所有元素的预测值,并且以预测值作为重建元素的数值,则仅需要使用所述点矢量的 点矢量地址和当前串长度这两个参数来记录所述当前串内每个元素的数值,而不需要逐个记录所述当前串内每个元 素的数值本身,就能完整地表示所述当前串的所有元素及其数值。记录所述两个参数所消耗的比特数常常远少于逐 个记录所述当前串内每个元素的数值本身所消耗的比特数,从而达到了数据压缩的目的。
常现位置元素,如果出现在正位置,即表示该常现位置的点矢量所指定的位置是正位置,则具有包括次分量的 所有N个分量,压缩数据码流中存在包括次分量的所有N个分量,编码器将包括次分量的所有N个分量的数值写入 压缩数据码流,而解码器从压缩数据码流中获得包括次分量的所有N个分量的数值,否则,仅具有主分量却没有次 分量,压缩数据码流中仅存在主分量却不存在次分量,编码器仅将主分量的数值写入压缩数据码流,而解码器从压 缩数据码流中仅获得主分量的数值。常现位置元素的次分量的数值存储在正位置上的次分量空间内。常现位置元素, 一方面是所在位置的重建元素,另一方面也是其他元素的参考元素,用于获得其他元素的重建值,这时,该常现位 置元素也被称为常现位置参考元素。
使用点预测技术进行编解码的整压缩单元中,有可能存在找不到参考元素的未匹配元素。未匹配元素,如果出 现在正位置,则具有包括次分量的所有N个分量,压缩数据码流中存在包括次分量的所有N个分量,编码器将包括 次分量的所有N个分量的数值写入压缩数据码流,而解码器从压缩数据码流中获得包括次分量的所有N个分量的数 值,否则,仅具有主分量却没有次分量,压缩数据码流中仅存在主分量却不存在次分量,编码器仅将主分量的数值 写入压缩数据码流,而解码器从压缩数据码流中仅获得主分量的数值。未匹配元素本身也允许作为其他元素的参考 元素来使用,用于获得其他元素的重建值,这时,该未匹配元素也被称为未匹配参考元素。
点预测技术将一个整压缩单元的元素,沿着扫描路径即按照预定扫描方式连续排序所形成的路径,分割成长度 可变的下列三种串类型的元素串:
串类型1:等数值串或称等值串。一个等数值串上的所有元素的数值都等于一个常现位置元素的数值;
串类型2:未匹配元素串。一个未匹配元素串上的所有元素都是未匹配元素即不可预测元素;
串类型3:单位基矢量串。单位基矢量串是参考串位于当前串正上方一个单位距离的串,其中,在水平扫描模 式中,所述正上方是指直接相邻的上方,而在垂直扫描模式中,所述正上方是指直接相邻的左方。因此,单位基矢 量串又称为复制上方串。
点预测技术还强制规定:单位基矢量串仅限于复制当前整压缩单元内部的元素,不能复制当前整压缩单元外部 的元素。因此,一个整压缩单元内所有三种串类型的串上的每个元素,其最初的来源只能是常现位置元素或未匹配 元素。也就是说,一个整压缩单元的所有元素,其参考元素都是毫无例外地直接来源于常现位置元素或未匹配元素。
因此,使用点预测技术进行编解码的整压缩单元中,重建元素的数值(即元素的重建值)都是从常现位置元素 或者未匹配元素获得。
点预测作为串预测的一种特殊情形,在重建一个元素时,与串预测一样,不管当前元素是否在正位置上,总是 必须重建当前元素的主分量,如果当前元素在正位置上,则还必须重建当前元素的次分量,否则,不重建当前元素 的次分量。
影响串预测和点预测技术的编码效率的一个重要因素是参考集,通常也称为参考范围,即串矢量或点矢量所指 向的参考元素的位置的可取范围,的大小。参考范围越大,候选的参考元素也越多,越能找到合适的参考元素,编 码效率也就越高。但参考范围越大,实现复杂度和成本也越高。特别是参考范围大到一定程度,参考元素就不能放 在编解码器芯片的内部,而必须放到编解码器芯片外部的专用存储芯片中,不但成本增加,读写带宽和像素处理吞 吐量都会成为严重瓶颈,甚至无法支持高像素分辨率的图像和视频的编解码。
现有串预测和点预测技术中,为了降低实现复杂度和成本,参考范围通常是有限的,有预定的固定大小(即元 素数目),如被限制在当前整压缩单元所在最大压缩单元或附近最大压缩单元内。在点预测技术中,一个常现位置及 其点矢量,一旦其指向的位置超出了参考范围,就成为非法常现位置及其点矢量,不再是常现位置,不再被等数值 串所使用。
现有点预测技术中,表示常现位置的点矢量的值是不变的,因而其表示的常现位置在图像中的位置坐标也是固 定不动的,而参考范围是当前整压缩单元附近的区域,随着当前整压缩单元在编解码过程中不断向前移动而移动, 因此,常现位置及其点矢量很容易离开和超出参考范围,不再被使用,严重影响了点预测的编码效率。因此,本发 明提供点预测中定期更新点矢量的值的数据编码解码方法及装置,用以克服上述缺陷。
发明内容
本发明的目的是提供点预测中定期更新点矢量的值的数据编码解码方法及装置,用于解决上述问题。
本发明的上述技术目的是用过以下技术方案实现的:
点预测中定期更新点矢量的值的数据编码方法,包括所述数据编码方法至少包括以下步骤:
A1:至少输入一个整压缩单元的原始数据;
A2:至少对所述整压缩单元进行点预测编码,在点预测编码过程中,当一个常现位置及其点矢量被一个当前等数 值串所使用时,如果满足预定条件,则至少执行以下步骤中的操作;
A3:至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新为 所述元素的位置坐标。
点预测中定期更新点矢量的值的数据编码装置,所述数据编码装置至少包括下列模块:
原始数据输入模块:用于至少输入一个整压缩单元的原始数据;
点预测编码模块:用于至少对所述整压缩单元进行点预测编码,在点预测编码过程中,当一个常现位置及其点 矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下模块中的操作;
点矢量的值更新模块:用于至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述 点矢量的位置坐标更新为所述元素的位置坐标。
点预测中定期更新点矢量的值的数据解码方法,所述数据解码方法至少包括以下步骤:
B1:至少输入一个整压缩单元的压缩数据码流;
B2:至少对所述整压缩单元进行点预测解码,在点预测解码过程中,当一个常现位置及其点矢量被一个当前等 数值串所使用时,如果满足预定条件,则至少执行B3步骤中的操作;
B3:至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新 为所述元素的位置坐标。
点预测中定期更新点矢量的值的数据解码装置,所述数据解码装置至少包括下列模块:
压缩数据码流输入模块:用于至少输入一个整压缩单元的压缩数据码流;
点预测解码模块:用于至少对所述整压缩单元进行点预测解码,在点预测解码过程中,当一个常现位置及其点 矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下模块中的操作;
点矢量的值更新模块:用于至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述 点矢量的位置坐标更新为所述元素的位置坐标。
点预测涉及的压缩子集包括图像、图像的子图像、片块tile、条带slice、片patch;
点预测涉及的最大压缩单元包括片块tile、最大编码单元LCU、编码树单元CTU;
所述整压缩单元包括宏块、编码单元CU、CU的子区域、子编码单元SubCU、预测块、预测单元PU、PU的子区 域、子预测单元SubPU、变换块、变换单元TU、TU的子区域、子变换单元SubTU。
所述参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量不在所述K 个子参考范围中预定的K1个子参考范围中,其中K1<K;
优选地,参考范围按照编解码顺序从前到后被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大, 按照编解码顺序排列在越后;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[k]中,其中,1≤k≤ K1并且K1<K;
优选地,参考范围按照编解码顺序从后到前被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大, 按照编解码顺序排列在越前;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[k]中,其中,1≤k≤ K1并且K1<K;
优选地,参考范围按照编解码顺序从后到前被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大, 按照编解码顺序排列在越前;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[1]中;
优选地,参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量与所述 等数值串上的所述元素不在同一个子参考范围中;
优选地,参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量与所述 整压缩单元的左上角元素不在同一个子参考范围中。
优选地,所述预定规则包括:当所述常现位置及其点矢量仅有主分量时,所述元素是所述等数值串上的第一个 元素;当所述常现位置及其点矢量有主分量和次分量时,所述元素是所述等数值串上的第一个正元素;
优选地,所述预定规则包括:当所述常现位置及其点矢量不在正位置上时,所述元素是所述等数值串上的第一 个元素;当所述常现位置及其点矢量在正位置上时,所述元素是所述等数值串上的第一个正元素。
优选地,采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的元素数大于预定阈值,子参考 范围是元素数等于所述预定阈值的区域,否则,子参考范围是最大压缩单元;
优选地,采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的宽和/或高大于宽和/或高的预 定阈值,子参考范围是宽和/或高等于所述宽和/或高的预定阈值的矩形区域,否则,子参考范围是最大压缩单元;
优选地,最大压缩单元是正方形;采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的边长 大于预定阈值,子参考范围是将最大压缩单元等分后的边长等于所述预定阈值的正方形区域,否则,子参考范围是 最大压缩单元;
优选地,最大压缩单元是边长为2的p次方即2p的正方形;采用下列方式将参考范围划分为多个子参考范围: 如果最大压缩单元的边长大于2P,其中P是一个预定阈值,子参考范围是将最大压缩单元等分后的边长等于2P的正 方形区域,否则,子参考范围是最大压缩单元;
优选地,最大压缩单元是边长为2的p次方即2p的正方形;采用下列方式将参考范围划分为多个子参考范围: 如果最大压缩单元的边长大于64=26,子参考范围是将最大压缩单元等分后的边长等于64=26的正方形区域,否则, 子参考范围是最大压缩单元。
优选地,最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S的正方形的子参考 范围,其中,S等于2p和一个预定值这两个值中的最小值;
优选地,最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S的正方形的子参考范 围,其中,S等于2p和64这两个值中的最小值;
优选地,最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S=2q的正方形的子 参考范围,其中,子参考范围的边长的以2为底的对数q等于p和一个预定值这两个值中的最小值;
优选地,最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S=2q的正方形的子 参考范围,其中,子参考范围的边长的以2为底的对数q等于p和6这两个值中的最小值。
优选地,所述点矢量的位置坐标是点矢量指向的元素位置在当前最大压缩单元行中的坐标;
执行将所述点矢量的位置坐标更新为所述元素的位置坐标的操作的语法描述表,也就是用所述元素的位置坐标 的值对所述点矢量的位置坐标进行赋值的语法描述表至少包括:
Figure BDA0003301125780000111
Figure BDA0003301125780000121
Figure BDA0003301125780000131
Figure BDA0003301125780000141
if(component=='COMPONENT_LUMACHROMA'&&FopYonly[PvAddress]){//如果所述常现位置及其点矢量仅 有主分量
log2Size=log(min(LcuSize,64))//计算子参考范围的边长的以2为底的对数log2Size即q的值,该值等于 p=log(LcuSize)和6=log(64)这两个值中的最小值
PvX=PpInfoList[PvAddress][0]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的水 平分量PvX
PvY=PpInfoList[PvAddress][1]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的垂 直分量PvY
if(PvX>>log2Size!=(x0-LcuRx0)>>log2Size||PvY>>log2Size!=(y0-LcuRy0)>>log2Size){//如 果所述点矢量与所述整压缩单元的左上角元素不在同一个子参考范围中
xInCu=TravScan[Log(width)–2][Log(height)–2][NumCodedPixel][0]//计算所述元素在所述整压缩单元 中的坐标的水平分量,所述元素是所述等数值串上的第一个元素
yInCu=TravScan[Log(width)–2][Log(height)-2][NumCodedPixel][1]//计算所述元素在所述整压缩单元中 的坐标的水平分量,所述元素是所述等数值串上的第一个元素
xInLcuR=x0+xInCu–LcuRx0///计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的水平分量 yInLcuR=y0+yInCu–LcuRy0//计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的垂直分量
//省略的与本发明无关的操作
PpInfoList[PvAddress][0]=xInLcuR//将所述元素的位置坐标的水平分量赋值予所述点矢量的位置坐标的水平分 量
PpInfoList[PvAddress][1]=yInLcuR//将所述元素的位置坐标的垂直分量赋值予所述点矢量的位置坐标的垂直分 量
}
//省略的与本发明无关的操作
}
else if(component=='COMPONENT_LUMACHROMA'&&PvAddress<IscNumOfReusedPv){//否则,即所述常现位 置及其点矢量有主分量和次分量
//省略的与本发明无关的操作
for(k=0;k<StrLen;k++){//遍历所述等数值串上的每一个元素
xInCu=TravScan[Log(width)-2][Log(height)-2][NumCodedPixel+k][0]//计算遍历中的元素在所述整压缩单元 中的坐标的水平分量
yInCu=TravScan[Log(width)-2][Log(height)-2][NumCodedPixel+k][1]//计算遍历中的元素在所述整压缩单元 中的坐标的垂直分量
log2Size=log(min(LcuSize,64))//计算子参考范围的边长的以2为底的对数log2Size即q的值,该值等于 p=log(LcuSize)和6=log(64)这两个值中的最小值
PvX=PpInfoList[PvAddress][0]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的水 平分量PvX
PvY=PpInfoList[PvAddress][1]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的垂 直分量PvY
if(((xInCu|yInCu)&0x1)==0&&((PvX>>log2Size!=(x0-LcuRx0)>>log2Size||PvY>>log2Size!= (y0-LcuRy0)>>log2Size)||(EvsDpbIndex[PvAddress]<28))){//如果遍历中的元素在正位置上并且所述点 矢量与所述整压缩单元的左上角元素不在同一个子参考范围中
xInLcuR=x0+xInCu–LcuRx0//该遍历中的元素被选择为所述元素,计算所述元素的位置坐标即在当前最大压 缩单元行中的坐标的水平分量
yInLcuR=y0+yInCu–LcuRy0//该遍历中的元素被选择为所述元素,计算所述元素的位置坐标即在当前最大压 缩单元行中的坐标的垂直分量
//省略的与本发明无关的操作
PpInfoList[PvAddress][0]=xInLcuR//将所述元素的位置坐标的水平分量赋值予所述点矢量的位置坐标的水平分 量
PpInfoList[PvAddress][1]=yInLcuR//将所述元素的位置坐标的垂直分量赋值予所述点矢量的位置坐标的垂直分 量
break//选择成功,到此终止遍历所述等数值串上的每一个元素以选择所述元素的过程
}
}
}
以上语法描述表中,
FopYonly[PvAddress]的值为1表示点矢量地址为PvAddress的所述点矢量仅有主分量,不在正位置上,FopYonly[PvAddress]的值为0表示点矢量地址为PvAddress的所述点矢量有有主分量和次分量,在正位置上;
LcuSize是最大压缩单元的边长;
StrLen是所述等数值串的串长度;
(x0,y0)是所述整压缩单元的左上角元素位置在图像中的坐标,(LcuRx0,LcuRy0)是当前最大压缩单元行的左 上角元素位置在图像中的坐标,因此,(x0-LcuRx0,y0-LcuRy0)是所述整压缩单元的左上角元素位置在当前最大压 缩单元行中的坐标;
TravScan将一个当前元素在所述整压缩单元内的序号NumCodedPixel或NumCodedPixel+k映射为该当前元素在 所述整压缩单元内的横坐标xInCu和纵坐标yInCu,所述序号从所述整压缩单元的扫描起始元素的序号0开始,沿 着扫描路径逐元素增一,所述序号实际上就是当前整压缩单元中在该当前元素之前已经完成编解码的元素的数目;
PpInfoList[PvAddress][0]和PpInfoList[PvAddress][1]分别是点预测信息表中存储的点矢量地址为 PvAddress的所述点矢量的位置坐标的水平分量和垂直分量。
本发明适用于对数据进行有损压缩的编码和解码,本发明也同样适用于对数据进行无损压缩的编码和解码。本 发明适用于一维数据如字符串数据或字节串数据或一维图形或分维图形的编码和解码,本发明也同样适用于二维或 以上维度的数据如图像、图像序列或视频数据的编码和解码。
有损压缩中,编码前的原始等数值串上的元素的数值允许有差别,但差别小于一个预定阈值。
本发明中,数据压缩所涉及的数据包括下列类型的数据之一或其组合
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)的集合;
四分量像素(Y,Cg,Co,A)的集合。
综上所述,本发明具有以下有益效果:
本发明提供点预测中定期更新点矢量的值的数据编码解码方法,当一个常现位置及其点矢量被一个当前等数值 串所使用时,也就是当一个当前等数值串上的所有元素的参考元素都是一个常现位置即其点矢量所指向的位置上的 元素时,如果满足预定条件,则将所述点矢量的位置坐标更新为所述等数值串上的按照预定规则选择的一个元素的 位置坐标。由于当前等数值串的元素的位置,作为点矢量的新位置,按照编解码顺序,排列在其所替换的点矢量的 原位置的后面,因此,点矢量的新位置,通常在点矢量的原位置之后,才离开和超出不断移动中的参考范围,这样, 所述常现位置及其点矢量就更长久地留在参考范围内,提高了点预测的编码效率。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白 了解,下面结合具体实施例,进一步阐述本发明。
本发明提出的点预测中定期更新点矢量的值的数据编码方法,包括所 述数据编码方法至少包括以下步骤:
A1:至少输入一个整压缩单元的原始数据;
A2:至少对所述整压缩单元进行点预测编码,在点预测编码过程中,当一个常现位置及其点矢量被一个当前等数 值串所使用时,如果满足预定条件,则至少执行以下步骤中的操作;
A3:至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新为 所述元素的位置坐标。
点预测中定期更新点矢量的值的数据编码装置,所述数据编码装置至少包括下列模块:
原始数据输入模块:用于至少输入一个整压缩单元的原始数据;
点预测编码模块:用于至少对所述整压缩单元进行点预测编码,在点预测编码过程中,当一个常现位置及其点 矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下模块中的操作;
点矢量的值更新模块:用于至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述 点矢量的位置坐标更新为所述元素的位置坐标。
点预测中定期更新点矢量的值的数据解码方法,所述数据解码方法至少包括以下步骤:
B1:至少输入一个整压缩单元的压缩数据码流;
B2:至少对所述整压缩单元进行点预测解码,在点预测解码过程中,当一个常现位置及其点矢量被一个当前等 数值串所使用时,如果满足预定条件,则至少执行B3步骤中的操作;
B3:至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新 为所述元素的位置坐标。
点预测中定期更新点矢量的值的数据解码装置,所述数据解码装置至少包括下列模块:
压缩数据码流输入模块:用于至少输入一个整压缩单元的压缩数据码流;
点预测解码模块:用于至少对所述整压缩单元进行点预测解码,在点预测解码过程中,当一个常现位置及其点 矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下模块中的操作;
点矢量的值更新模块:用于至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述 点矢量的位置坐标更新为所述元素的位置坐标。
实施例1
所述编码方法或者编码装置或者解码方法或者解码装置中,在原始数据是包括图像、图像的序列、视频的二维 数据元素的阵列或阵列的序列的情形;
点预测涉及的压缩子集包括图像、图像的子图像、片块tile、条带slice、片patch;
点预测涉及的最大压缩单元包括片块tile、最大编码单元LCU、编码树单元CTU;
所述整压缩单元包括宏块、编码单元CU、CU的子区域、子编码单元SubCU、预测块、预测单元PU、PU的子区 域、子预测单元SubPU、变换块、变换单元TU、TU的子区域、子变换单元SubTU。
实施例2
所述编码方法或者编码装置或者解码方法或者解码装置中;
所述参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量不在所述K 个子参考范围中预定的K1个子参考范围中,其中K1<K;
优选地,参考范围按照编解码顺序从前到后被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大, 按照编解码顺序排列在越后;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[k]中,其中,1≤k≤ K1并且K1<K;
优选地,参考范围按照编解码顺序从后到前被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大, 按照编解码顺序排列在越前;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[k]中,其中,1≤k≤ K1并且K1<K;
优选地,参考范围按照编解码顺序从后到前被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大, 按照编解码顺序排列在越前;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[1]中;
优选地,参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量与所述 等数值串上的所述元素不在同一个子参考范围中;
优选地,参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量与所述 整压缩单元的左上角元素不在同一个子参考范围中。
实施例3
所述编码方法或者编码装置或者解码方法或者解码装置中;
优选地,所述预定规则包括:当所述常现位置及其点矢量仅有主分量时,所述元素是所述等数值串上的第一个 元素;当所述常现位置及其点矢量有主分量和次分量时,所述元素是所述等数值串上的第一个正元素;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;所述预定规则包括:当所述常现位置及其点矢量不在 正位置上时,所述元素是所述等数值串上的第一个元素;当所述常现位置及其点矢量在正位置上时,所述元素是所 述等数值串上的第一个正元素。
实施例4
所述编码方法或者编码装置或者解码方法或者解码装置中;
优选地,采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的元素数大于预定阈值,子参考 范围是元素数等于所述预定阈值的区域,否则,子参考范围是最大压缩单元;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;采用下列方式将参考范围划分为多个子参考范围: 如果最大压缩单元的宽和/或高大于宽和/或高的预定阈值,子参考范围是宽和/或高等于所述宽和/或高的预定阈值 的矩形区域,否则,子参考范围是最大压缩单元;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;最大压缩单元是正方形;采用下列方式将参考范围 划分为多个子参考范围:如果最大压缩单元的边长大于预定阈值,子参考范围是将最大压缩单元等分后的边长等于 所述预定阈值的正方形区域,否则,子参考范围是最大压缩单元;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;最大压缩单元是边长为2的p次方即2p的正方形; 采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的边长大于2P,其中P是一个预定阈值,子参 考范围是将最大压缩单元等分后的边长等于2P的正方形区域,否则,子参考范围是最大压缩单元;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;最大压缩单元是边长为2的p次方即2p的正方形; 采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的边长大于64=26,子参考范围是将最大压缩 单元等分后的边长等于64=26的正方形区域,否则,子参考范围是最大压缩单元。
实施例5
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;最大压缩单元是边长为2的p次方即2p的正方形; 将参考范围等分为多个边长为S的正方形的子参考范围,其中,S等于2p和一个预定值这两个值中的最小值;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;最大压缩单元是边长为2的p次方即2p的正方形; 将参考范围等分为多个边长为S的正方形的子参考范围,其中,S等于2p和64这两个值中的最小值;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;最大压缩单元是边长为2的p次方即2p的正方形; 将参考范围等分为多个边长为S=2q的正方形的子参考范围,其中,子参考范围的边长的以2为底的对数q等于p 和一个预定值这两个值中的最小值;
优选地,
所述编码方法或者编码装置或者解码方法或者解码装置中;最大压缩单元是边长为2的p次方即2p的正方形; 将参考范围等分为多个边长为S=2q的正方形的子参考范围,其中,子参考范围的边长的以2为底的对数q等于p 和6这两个值中的最小值。
实施例6
所述编码方法或者编码装置或者解码方法或者解码装置中,在原始数据是包括图像、图像的序列、视频的二维 数据元素的阵列或阵列的序列的情形;
所述点矢量的位置坐标是点矢量指向的元素位置在当前最大压缩单元行中的坐标;
执行将所述点矢量的位置坐标更新为所述元素的位置坐标的操作的语法描述表,也就是用所述元素的位置坐标 的值对所述点矢量的位置坐标进行赋值的语法描述表至少包括:
Figure BDA0003301125780000231
Figure BDA0003301125780000241
Figure BDA0003301125780000251
Figure BDA0003301125780000261
if(component=='COMPONENT_LUMACHROMA'&&FopYonly[PvAddress]){//如果所述常现位置及其点矢量仅 有主分量
log2Size=log(min(LcuSize,64))//计算子参考范围的边长的以2为底的对数log2Size即q的值,该值等于 p=log(LcuSize)和6=log(64)这两个值中的最小值
PvX=PpInfoList[PvAddress][0]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的水 平分量PvX
PvY=PpInfoList[PvAddress][1]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的垂 直分量PvY
if(PvX>>log2Size!=(x0-LcuRx0)>>log2Size||PvY>>log2Size!=(y0-LcuRy0)>>log2Size){//如 果所述点矢量与所述整压缩单元的左上角元素不在同一个子参考范围中
xInCu=TravScan[Log(width)–2][Log(height)–2][NumCodedPixel][0]//计算所述元素在所述整压缩单元 中的坐标的水平分量,所述元素是所述等数值串上的第一个元素
yInCu=TravScan[Log(width)–2][Log(height)-2][NumCodedPixel][1]//计算所述元素在所述整压缩单元中 的坐标的水平分量,所述元素是所述等数值串上的第一个元素
xInLcuR=x0+xInCu–LcuRx0///计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的水平分量
yInLcuR=y0+yInCu–LcuRy0//计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的垂直分量
//省略的与本发明无关的操作
PpInfoList[PvAddress][0]=xInLcuR//将所述元素的位置坐标的水平分量赋值予所述点矢量的位置坐标的水平分 量
PpInfoList[PvAddress][1]=yInLcuR//将所述元素的位置坐标的垂直分量赋值予所述点矢量的位置坐标的垂直分 量
}
//省略的与本发明无关的操作
}
else if(component=='COMPONENT_LUMACHROMA'&&PvAddress<IscNumOfReusedPv){//否则,即所述常现位 置及其点矢量有主分量和次分量
//省略的与本发明无关的操作
for(k=0;k<StrLen;k++){//遍历所述等数值串上的每一个元素
xInCu=TravScan[Log(width)-2][Log(height)-2][NumCodedPixel+k][0]//计算遍历中的元素在所述整压缩单元 中的坐标的水平分量
yInCu=TravScan[Log(width)-2][Log(height)-2][NumCodedPixel+k][1]//计算遍历中的元素在所述整压缩单元 中的坐标的垂直分量
log2Size=log(min(LcuSize,64))//计算子参考范围的边长的以2为底的对数log2Size即q的值,该值等于 p=log(LcuSize)和6=log(64)这两个值中的最小值
PvX=PpInfoList[PvAddress][0]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的水 平分量PvX
PvY=PpInfoList[PvAddress][1]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的垂 直分量PvY
if(((xInCu|yInCu)&0x1)==0&&((PvX>>log2Size!=(x0-LcuRx0)>>log2Size||PvY>>log2Size!= (y0-LcuRy0)>>log2Size)||(EvsDpbIndex[PvAddress]<28))){//如果遍历中的元素在正位置上并且所述点 矢量与所述整压缩单元的左上角元素不在同一个子参考范围中
xInLcuR=x0+xInCu–LcuRx0//该遍历中的元素被选择为所述元素,计算所述元素的位置坐标即在当前最大压 缩单元行中的坐标的水平分量
yInLcuR=y0+yInCu–LcuRy0//该遍历中的元素被选择为所述元素,计算所述元素的位置坐标即在当前最大压 缩单元行中的坐标的垂直分量
//省略的与本发明无关的操作
PpInfoList[PvAddress][0]=xInLcuR//将所述元素的位置坐标的水平分量赋值予所述点矢量的位置坐标的水平分 量
PpInfoList[PvAddress][1]=yInLcuR//将所述元素的位置坐标的垂直分量赋值予所述点矢量的位置坐标的垂直分 量
break//选择成功,到此终止遍历所述等数值串上的每一个元素以选择所述元素的过程
}
}
}
以上语法描述表中,
FopYonly[PvAddress]的值为1表示点矢量地址为PvAddress的所述点矢量仅有主分量,不在正位置上, FopYonly[PvAddress]的值为0表示点矢量地址为PvAddress的所述点矢量有有主分量和次分量,在正位置上;
LcuSize是最大压缩单元的边长;
StrLen是所述等数值串的串长度;
(x0,y0)是所述整压缩单元的左上角元素位置在图像中的坐标,(LcuRx0,LcuRy0)是当前最大压缩单元行的左 上角元素位置在图像中的坐标,因此,(x0-LcuRx0,y0-LcuRy0)是所述整压缩单元的左上角元素位置在当前最大压 缩单元行中的坐标;
TravScan将一个当前元素在所述整压缩单元内的序号NumCodedPixel或NumCodedPixel+k映射为该当前元素在 所述整压缩单元内的横坐标xInCu和纵坐标yInCu,所述序号从所述整压缩单元的扫描起始元素的序号0开始,沿 着扫描路径逐元素增一,所述序号实际上就是当前整压缩单元中在该当前元素之前已经完成编解码的元素的数目;
PpInfoList[PvAddress][0]和PpInfoList[PvAddress][1]分别是点预测信息表中存储的点矢量地址为 PvAddress的所述点矢量的位置坐标的水平分量和垂直分量。
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、 “左”、“右”等指示的方位或位置关系为该发明产品使用时惯常摆放的方 位或位置关系,或者是本领域技术人员惯常理解的方位或位置关系,仅是 为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必 须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明 的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为 指示或暗示相对重要性。在本发明的描述中,还需要说明的是,除非另有 明确的规定和限定,“设置”、“连接”等术语应做广义理解,例如,“连接” 可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接, 也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以 是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体 情况理解上述术语在本发明中的具体含义。在本文中,术语“包括”、“包 含”或者其任何其他变体意在涵盖非排他性的包含,除了包含所列的那些 要素,而且还可包含没有明确列出的其他要素。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受 上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本 发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利 要求书及其等同物界定。

Claims (10)

1.点预测中定期更新点矢量的值的数据编码方法,其特征在于,所述数据编码方法至少包括以下步骤:
A1:至少输入一个整压缩单元的原始数据;
A2:至少对所述整压缩单元进行点预测编码,在点预测编码过程中,当一个常现位置及其点矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下步骤中的操作;
A3:至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新为所述元素的位置坐标。
2.点预测中定期更新点矢量的值的数据编码装置,其特征在于,所述数据编码装置至少包括下列模块:
原始数据输入模块:用于至少输入一个整压缩单元的原始数据;
点预测编码模块:用于至少对所述整压缩单元进行点预测编码,在点预测编码过程中,当一个常现位置及其点矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下模块中的操作;
点矢量的值更新模块:用于至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新为所述元素的位置坐标。
3.点预测中定期更新点矢量的值的数据解码方法,其特征在于,所述数据解码方法至少包括以下步骤:
B1:至少输入一个整压缩单元的压缩数据码流;
B2:至少对所述整压缩单元进行点预测解码,在点预测解码过程中,当一个常现位置及其点矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行B3步骤中的操作;
B3:至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新为所述元素的位置坐标。
4.点预测中定期更新点矢量的值的数据解码装置,其特征在于,所述数据解码装置至少包括下列模块:
压缩数据码流输入模块:用于至少输入一个整压缩单元的压缩数据码流;
点预测解码模块:用于至少对所述整压缩单元进行点预测解码,在点预测解码过程中,当一个常现位置及其点矢量被一个当前等数值串所使用时,如果满足预定条件,则至少执行以下模块中的操作;
点矢量的值更新模块:用于至少按照预定规则选择所述等数值串上的一个元素,如果选择成功,则至少将所述点矢量的位置坐标更新为所述元素的位置坐标。
5.根据权利要求3或4所述的点预测中定期更新点矢量的值的数据解码方法或装置,其特征在于,原始数据是包括图像、图像的序列、视频的二维数据元素的阵列或阵列的序列;
点预测涉及的压缩子集包括图像、图像的子图像、片块tile、条带slice、片patch;
点预测涉及的最大压缩单元包括片块tile、最大编码单元LCU、编码树单元CTU;
所述整压缩单元包括宏块、编码单元CU、CU的子区域、子编码单元SubCU、预测块、预测单元PU、PU的子区域、子预测单元SubPU、变换块、变换单元TU、TU的子区域、子变换单元SubTU。
6.根据权利要求3或4所述的点预测中定期更新点矢量的值的数据解码方法或装置,其特征在于,包括下列特征之一或其任一组合,
特征1:
参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量不在所述K个子参考范围中预定的K1个子参考范围中,其中K1<K;
特征2:
参考范围按照编解码顺序从前到后被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大,按照编解码顺序排列在越后;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[k]中,其中,1≤k≤K1并且K1<K;
特征3:
参考范围按照编解码顺序从后到前被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大,按照编解码顺序排列在越前;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[k]中,其中,1≤k≤K1并且K1<K;
特征4:
参考范围按照编解码顺序从后到前被划分为K个子参考范围,分别被记为R[k],1≤k≤K,k越大,按照编解码顺序排列在越前;所述预定条件包括所述常现位置及其点矢量不在子参考范围R[1]中;
特征5:
参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量与所述等数值串上的所述元素不在同一个子参考范围中;
特征6:
参考范围被划分为K个子参考范围,其中K≥2;所述预定条件包括所述常现位置及其点矢量与所述整压缩单元的左上角元素不在同一个子参考范围中。
7.根据权利要求3或4所述的点预测中定期更新点矢量的值的数据解码方法或装置,其特征在于,所述预定规则包括下列规则之一或其任一组合:
规则1:
当所述常现位置及其点矢量仅有主分量时,所述元素是所述等数值串上的第一个元素;当所述常现位置及其点矢量有主分量和次分量时,所述元素是所述等数值串上的第一个正元素;
规则2:
当所述常现位置及其点矢量不在正位置上时,所述元素是所述等数值串上的第一个元素;当所述常现位置及其点矢量在正位置上时,所述元素是所述等数值串上的第一个正元素。
8.根据权利要求3或4所述的点预测中定期更新点矢量的值的数据解码方法或装置,其特征在于,包括下列特征之一或其任一组合,
特征1:
采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的元素数大于预定阈值,子参考范围是元素数等于所述预定阈值的区域,否则,子参考范围是最大压缩单元;
特征2:
采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的宽和/或高大于宽和/或高的预定阈值,子参考范围是宽和/或高等于所述宽和/或高的预定阈值的矩形区域,否则,子参考范围是最大压缩单元;
特征3:
最大压缩单元是正方形;采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的边长大于预定阈值,子参考范围是将最大压缩单元等分后的边长等于所述预定阈值的正方形区域,否则,子参考范围是最大压缩单元;
特征4:
最大压缩单元是边长为2的p次方即2p的正方形;采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的边长大于2P,其中P是一个预定阈值,子参考范围是将最大压缩单元等分后的边长等于2P的正方形区域,否则,子参考范围是最大压缩单元;
特征5:
最大压缩单元是边长为2的p次方即2p的正方形;采用下列方式将参考范围划分为多个子参考范围:如果最大压缩单元的边长大于64=26,子参考范围是将最大压缩单元等分后的边长等于64=26的正方形区域,否则,子参考范围是最大压缩单元。
9.根据权利要求3或4所述的点预测中定期更新点矢量的值的数据解码方法或装置,其特征在于,包括下列特征之一或其任一组合,
特征1:
最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S的正方形的子参考范围,其中,S等于2p和一个预定值这两个值中的最小值;
特征2:
最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S的正方形的子参考范围,其中,S等于2p和64这两个值中的最小值;
特征3:
最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S=2q的正方形的子参考范围,其中,子参考范围的边长的以2为底的对数q等于p和一个预定值这两个值中的最小值;
特征4:
最大压缩单元是边长为2的p次方即2p的正方形;将参考范围等分为多个边长为S=2q的正方形的子参考范围,其中,子参考范围的边长的以2为底的对数q等于p和6这两个值中的最小值。
10.根据权利要求3或4所述的点预测中定期更新点矢量的值的数据解码方法或装置,其特征在于,原始数据是包括图像、图像的序列、视频的二维数据元素的阵列或阵列的序列,
所述点矢量的位置坐标是点矢量指向的元素位置在当前最大压缩单元行中的坐标;
执行将所述点矢量的位置坐标更新为所述元素的位置坐标的操作的语法描述表,也就是用所述元素的位置坐标的值对所述点矢量的位置坐标进行赋值的语法描述表至少包括:
Figure FDA0003301125770000051
Figure FDA0003301125770000061
Figure FDA0003301125770000071
if(component=='COMPONENT_LUMACHROMA'&&FopYonly[PvAddress]){//如果所述常现位置及其点矢量仅有主分量
log2Size=log(min(LcuSize,64))//计算子参考范围的边长的以2为底的对数log2Size即q的值,该值等于p=log(LcuSize)和6=log(64)这两个值中的最小值
PvX=PpInfoList[PvAddress][0]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的水平分量PvX
PvY=PpInfoList[PvAddress][1]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的垂直分量PvY
if(PvX>>log2Size!=(x0-LcuRx0)>>log2Size||PvY>>log2Size!=(y0-LcuRy0)>>log2Size){//如果所述点矢量与所述整压缩单元的左上角元素不在同一个子参考范围中
xInCu=TravScan[Log(width)–2][Log(height)–2][NumCodedPixel][0]//计算所述元素在所述整压缩单元中的坐标的水平分量,所述元素是所述等数值串上的第一个元素
yInCu=TravScan[Log(width)–2][Log(height)-2][NumCodedPixel][1]//计算所述元素在所述整压缩单元中的坐标的水平分量,所述元素是所述等数值串上的第一个元素
xInLcuR=x0+xInCu–LcuRx0///计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的水平分量
yInLcuR=y0+yInCu–LcuRy0//计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的垂直分量
//省略的与本发明无关的操作
PpInfoList[PvAddress][0]=xInLcuR//将所述元素的位置坐标的水平分量赋值予所述点矢量的位置坐标的水平分量
PpInfoList[PvAddress][1]=yInLcuR//将所述元素的位置坐标的垂直分量赋值予所述点矢量的位置坐标的垂直分量
}
//省略的与本发明无关的操作
}
else if(component=='COMPONENT_LUMACHROMA'&&PvAddress<IscNumOfReusedPv){//否则,即所述常现位置及其点矢量有主分量和次分量
//省略的与本发明无关的操作
for(k=0;k<StrLen;k++){//遍历所述等数值串上的每一个元素
xInCu=TravScan[Log(width)-2][Log(height)-2][NumCodedPixel+k][0]//计算遍历中的元素在所述整压缩单元中的坐标的水平分量
yInCu=TravScan[Log(width)-2][Log(height)-2][NumCodedPixel+k][1]//计算遍历中的元素在所述整压缩单元中的坐标的垂直分量
log2Size=log(min(LcuSize,64))//计算子参考范围的边长的以2为底的对数log2Size即q的值,该值等于p=log(LcuSize)和6=log(64)这两个值中的最小值
PvX=PpInfoList[PvAddress][0]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的水平分量PvX
PvY=PpInfoList[PvAddress][1]//从点预测信息表中取出点矢量地址为PvAddress的所述点矢量的位置坐标的垂直分量PvY
if(((xInCu|yInCu)&0x1)==0&&((PvX>>log2Size!=(x0-LcuRx0)>>log2Size||PvY>>log2Size!=(y0-LcuRy0)>>log2Size)||(EvsDpbIndex[PvAddress]<28))){//如果遍历中的元素在正位置上并且所述点矢量与所述整压缩单元的左上角元素不在同一个子参考范围中
xInLcuR=x0+xInCu–LcuRx0//该遍历中的元素被选择为所述元素,计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的水平分量
yInLcuR=y0+yInCu–LcuRy0//该遍历中的元素被选择为所述元素,计算所述元素的位置坐标即在当前最大压缩单元行中的坐标的垂直分量
//省略的与本发明无关的操作
PpInfoList[PvAddress][0]=xInLcuR//将所述元素的位置坐标的水平分量赋值予所述点矢量的位置坐标的水平分量
PpInfoList[PvAddress][1]=yInLcuR//将所述元素的位置坐标的垂直分量赋值予所述点矢量的位置坐标的垂直分量
break//选择成功,到此终止遍历所述等数值串上的每一个元素以选择所述元素的过程
}
}
}
以上语法描述表中,
FopYonly[PvAddress]的值为1表示点矢量地址为PvAddress的所述点矢量仅有主分量,不在正位置上,
FopYonly[PvAddress]的值为0表示点矢量地址为PvAddress的所述点矢量有有主分量和次分量,在正位置上;
LcuSize是最大压缩单元的边长;
StrLen是所述等数值串的串长度;
(x0,y0)是所述整压缩单元的左上角元素位置在图像中的坐标,(LcuRx0,LcuRy0)是当前最大压缩单元行的左上角元素位置在图像中的坐标,因此,(x0-LcuRx0,y0-LcuRy0)是所述整压缩单元的左上角元素位置在当前最大压缩单元行中的坐标;
TravScan将一个当前元素在所述整压缩单元内的序号NumCodedPixel或NumCodedPixel+k映射为该当前元素在所述整压缩单元内的横坐标xInCu和纵坐标yInCu,所述序号从所述整压缩单元的扫描起始元素的序号0开始,沿着扫描路径逐元素增一,所述序号实际上就是当前整压缩单元中在该当前元素之前已经完成编解码的元素的数目;
PpInfoList[PvAddress][0]和PpInfoList[PvAddress][1]分别是点预测信息表中存储的点矢量地址为PvAddress的所述点矢量的位置坐标的水平分量和垂直分量。
CN202111190869.3A 2021-10-13 2021-10-13 点预测中定期更新点矢量的值的数据编码解码方法及装置 Pending CN114584792A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111190869.3A CN114584792A (zh) 2021-10-13 2021-10-13 点预测中定期更新点矢量的值的数据编码解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111190869.3A CN114584792A (zh) 2021-10-13 2021-10-13 点预测中定期更新点矢量的值的数据编码解码方法及装置

Publications (1)

Publication Number Publication Date
CN114584792A true CN114584792A (zh) 2022-06-03

Family

ID=81769903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111190869.3A Pending CN114584792A (zh) 2021-10-13 2021-10-13 点预测中定期更新点矢量的值的数据编码解码方法及装置

Country Status (1)

Country Link
CN (1) CN114584792A (zh)

Similar Documents

Publication Publication Date Title
CN104378644B (zh) 定宽度变长度像素样值串匹配增强的图像压缩方法和装置
US11856221B2 (en) Method and device for image encoding and decoding, and recording medium having bit stream stored therein
CN105491376B (zh) 图像编码、解码方法及装置
CN104754362B (zh) 使用精细划分块匹配的图像压缩方法
WO2015120823A1 (zh) 使用多种形式的参考像素存储空间的图像压缩方法和装置
CN111614359B (zh) 使用点预测和常现位置数组的数据编码方法和解码方法
KR101946598B1 (ko) 이미지 코딩, 디코딩 방법 및 장치
EP3310059A1 (en) Image encoding and decoding method, image processing device, and computer storage medium
CN107770540B (zh) 融合多种具有不同参考关系的基元的数据压缩方法和装置
KR102532391B1 (ko) 영상 부호화 방법과 장치 및 영상 복호화 방법과 장치
CN111757117B (zh) 对分量下采样格式数据进行串预测的数据编码和解码方法
CN112637600B (zh) 对数据进行有损或无损压缩的编码、解码的方法或装置
CN112565790B (zh) 一种采用最小基矢量标志的串预测编码、解码方法及装置
CN107770527B (zh) 使用邻近编码参数和最近编码参数的数据压缩方法和装置
CN114584792A (zh) 点预测中定期更新点矢量的值的数据编码解码方法及装置
CN113395515B (zh) 对分量下采样格式数据进行点预测的编码解码方法及装置
WO2016119746A1 (zh) 图像编码方法及装置、图像解码方法及装置
CN113938683A (zh) 点预测色度重建值来自多个参考位置的编解码方法及装置
CN113365074B (zh) 限制点预测常现位置及其点矢量数目的编解码方法及装置
CN117336491A (zh) 点预测中渐增点矢量索引值的最大值的编解码方法及装置
CN117319665A (zh) 借用点矢量索引值表示未匹配元素串的编解码方法及装置
CN107770544B (zh) 采用多类匹配参数及前参数缓冲区的数据压缩方法和装置
CN117459735A (zh) 点预测中缩小点矢量索引的取值范围的编解码方法及装置
CN114245130A (zh) 用历史点预测信息表复用点矢量的数据编解码方法及装置
CN117459734A (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