CN110287149A - 一种使用哈希搜索的匹配编码方法 - Google Patents

一种使用哈希搜索的匹配编码方法 Download PDF

Info

Publication number
CN110287149A
CN110287149A CN201910389300.6A CN201910389300A CN110287149A CN 110287149 A CN110287149 A CN 110287149A CN 201910389300 A CN201910389300 A CN 201910389300A CN 110287149 A CN110287149 A CN 110287149A
Authority
CN
China
Prior art keywords
hash
primitive
search
current
matching coding
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
CN201910389300.6A
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 CN201910389300.6A priority Critical patent/CN110287149A/zh
Publication of CN110287149A publication Critical patent/CN110287149A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/137Hash-based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1744Redundancy elimination performed by the file system using compression, e.g. sparse files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种使用哈希搜索的匹配编码方法,其技术方案要点是:一种使用哈希搜索的匹配编码方法,包括如下步骤:步骤1、搜索和选择参考基元:对一个当前基元,在一个称为参考集的由已完成预定程度的编解码的元素组成的集合或其子集之中,依据预定判断准则,搜索和选择一个最优的参考基元作为所述当前基元的参考基元;步骤2、更新哈希表:按照预定的哈希表更新规则,计算所述当前基元中满足预定条件的元素的哈希值并更新哈希表中的对应的哈希链的相应节点。本发明达到有效降低计算的复杂度,并提高使用哈希搜索的匹配编码的效率。

Description

一种使用哈希搜索的匹配编码方法
技术领域
本发明涉及数据编码和解码领域,尤其涉及到一种使用哈希搜索的匹配编码方法。
背景技术
随着人类社会进入人工智能、大数据、虚拟现实、增强现实、混合现实、云计算、移动计算、云-移动计算、超高清(4K)和特超高清(8K) 视频图像分辨率、4G/5G通讯的时代,对各种数据,包括大数据、图像数据、视频数据、以及各种新形态的数据,进行超高压缩比和极高质量的数据压缩成为必不可少的技术。
数据集是由数据元素(例如:字节、比特、像素、像素分量、空间采样点、变换域系数)组成的集合。
对数据集进行编码或解码(简称为编解码)时,通常将数据元素按照预定规则排序即规定前后顺序,依前后顺序进行编解码。
对排列成一定空间(一维、二维、或多维)形状的数据集(例如:一个一维数据队列、一个二维数据文件、一帧图像、一个视频序列、一个变换域、一个变换块、多个变换块、一个三维场景、一个持续变化的三维场景的序列),特别是二维或以上数据集进行数据压缩的编码(以及相应的解码)时,有时还把此数据集划分成若干具有预定形状和/或大小(即元素数目)的子集,称为整压缩单元,以整压缩单元为单位,以预定的顺序,一个一个整压缩单元地进行编码或者解码。在任一时刻,正在编码或者解码中的整压缩单元称为当前整压缩单元。正在编码或者解码中的数据元素(有时也简称为元素)称为当前编码数据元素或者当前解码数据元素,统称为当前数据元素,简称为当前元素。元素由N个分量(通常1≤N≤5)组成,因此数据集和整压缩单元也都由N个分量组成。
在数据集划分成整压缩单元的情形,排序的一种预定规则是首先对整压缩单元排序,再对每个整压缩单元内的元素排序。
数据压缩的一种有效手段是匹配编码也称预测编码,即在对当前元素进行编解码时,在一个称为参考集的已完成预定程度的编解码的元素的集合或其子集之中,获得与所述当前元素具有相同或相近似的数值的元素,称之为所述当前元素的参考元素或预测元素或匹配元素。当当前元素与其参考元素不是相同而是相近似时,两者的数值上的差别称为预测差或称为匹配误差或称为预测残差。
如果一个或一组或一串或一块或一群具有预定关系的若干个当前元素,称之为当前基元,能在参考集内找到相应的参考基元,则仅需要使用若干参数来记录所述参考基元在参考集内的位置和/或形状和/或大小和/或尺寸,而不需要逐个记录所述当前基元内每个元素的数值本身,就能完整地表示所述当前基元的所有元素,从而达到数据压缩的目的。
例如,一个连续排序的当前元素串,简称为当前串,如果能在参考集内找到相应的参考串,则仅需要使用当前串的第一个元素与参考串的第一个元素之间的位置关系和串长度这两个参数来记录所述参考串在参考集内的位置和大小,而不需要逐个记录所述当前串内每个元素的数值本身,就能完整地表示所述当前串的所有元素。记录所述两个参数所消耗的比特数常常远少于逐个记录所述当前串内每个元素的数值本身所消耗的比特数,从而达到了数据压缩的目的。
再如,一个具有MxN个元素,其中M和N是预定的数,的当前元素块,简称为当前块,如果能在参考集内找到相应的参考块,则仅需要使用当前块的左上角元素与参考块的左上角元素之间的位置关系这一个参数来记录所述参考块在参考集内的位置和大小(预定的MxN个元素),而不需要逐个记录所述当前块内每个元素的数值本身,就能完整地表示所述当前块的所有元素。记录所述一个参数所消耗的比特数常常远少于逐个记录所述当前块内每个元素的数值本身所消耗的比特数,从而达到了数据压缩的目的。
当参考集有很多元素时,匹配编码的关键是既快又好地搜索和找到误差尽可能小的参考元素。
哈希搜索是一种有效的快速搜索方式。在哈希搜索中,对每个元素都按照预定规则计算其哈希值,数值相同或相近似的元素具有等同的哈希值。具有等同的哈希值的元素组成一个哈希链。哈希链的节点中至少存储了对应的元素在数据集内的位置信息。因此,具有相同或相近似的数值的元素通过一个哈希链互相关联起来,从其中一个元素能快捷地找到其他具有相同或相近似的数值的元素处于数据集内的哪个位置。一个哈希链中的候选参考元素数目通常远少于参考集内的元素数目,因此,使用由哈希链构成的哈希表,能极大地缩小搜索范围,从而加快搜索速度。
在对一个当前基元进行参考基元搜索时,首先计算所述当前基元内一个预定起始元素(例如,当前串内的第一个元素或当前块内的左上角元素) 的哈希值。然后,仅从所述哈希值所在的哈希链中获得候选参考元素作为候选参考基元的起始元素并计算该候选参考基元中的各元素与相应的当前基元中的各元素之间的误差以判断该候选参考基元与当前基元的匹配程度,最后,从若干个候选参考基元中依据预定判断准则挑选出一个最优的参考基元作为所述当前基元的参考基元。
在现有哈希搜索技术中,为了达到最好的哈希搜索效果,通常对一个数据集内的每个元素,都计算其哈希值,并且将有关信息写入哈希表的对应哈希链的节点中。节点的数目等于数据集内全体元素的数目。
现有哈希搜索技术中存在的一个严重问题是:需要逐一计算数据集内所有元素的哈希值并更新哈希表的所有哈希链上的所有节点,从而导致很高的计算复杂度、很大的计算量和很长的计算时间。
因此,我们有必要对这样一种结构进行改善,以克服上述缺陷。
发明内容
本发明的目的是提供一种使用哈希搜索的匹配编码方法,达到右脚降低计算的复杂度,并提高使用哈希搜索的匹配编码的效率。
本发明的上述技术目的是用过以下技术方案实现的:一种使用哈希搜索的匹配编码方法,包括如下步骤:
步骤1、搜索和选择参考基元:对一个当前基元,在一个称为参考集的由已完成预定程度的编解码的元素组成的集合或其子集之中,依据预定判断准则,搜索和选择一个最优的参考基元作为所述当前基元的参考基元;
步骤2、更新哈希表:按照预定的哈希表更新规则,计算所述当前基元中满足预定条件的元素的哈希值并更新哈希表中的对应的哈希链的相应节点。
本发明的进一步设置为:所述基元是由连续排序的元素构成的串。
本发明的进一步设置为:所述预定判断准测为下列调节之一或其组合:
当前元素与参考元素之间的误差小于一个预定阈值;
当前基元与参考基元之间的平均误差最小;
当前基元与参考基元之间的最大误差最小。
本发明的进一步设置为:所述哈希表更新规则是:计算所述当前基元中处于K个预定位置的K个元素的哈希值并更新哈希表中的对应的哈希链的相应节点,其中K=min{当前基元的元素数目,K0}即当前基元的元素数目和一个预定数K0两者中的最小者。
所述哈希值的计算方式是从当前元素或者当前元素加上预定的若干其他元素的总共L个比特计算出所述当前元素的H比特的哈希值,其中L≥ 24,H≤16。
综上所述,本发明具有以下有益效果:
通过上述编码方法进行更新哈希表的所有哈希链上的所有节点,从而达到降低计算的复杂度、减少的计算量和缩短的计算时间,提高了编码效率。
具体实施方式
为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本发明。
本发明适用于对数据进行有损压缩的编码和解码,本发明也同样适用于对数据进行无损压缩的编码和解码。本发明适用于一维数据如字符串数据或字节串数据或一维图形或分维图形的编码和解码,本发明也同样适用于二维或以上数据如图像或视频数据的编码和解码。
本发明中,数据压缩所涉及的数据包括下列类型的数据之一或其组合
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:一种使用哈希搜索的匹配编码方法,包括如下步骤:
步骤1、搜索和选择参考基元:对一个当前基元,在一个称为参考集的由已完成预定程度的编解码的元素组成的集合或其子集之中,依据预定判断准则,搜索和选择一个最优的参考基元作为所述当前基元的参考基元;
步骤2、更新哈希表:按照预定的哈希表更新规则,计算所述当前基元中满足预定条件的元素的哈希值并更新哈希表中的对应的哈希链的相应节点。
其中所述的基元是由连续排序的元素构成的串;预定判断准测为下列调节之一或其组合:当前元素与参考元素之间的误差小于一个预定阈值;当前基元与参考基元之间的平均误差最小;当前基元与参考基元之间的最大误差最小。
哈希表更新规则是:计算所述当前基元中处于K个预定位置的K个元素的哈希值并更新哈希表中的对应的哈希链的相应节点,其中K=min{当前基元的元素数目,K0}即当前基元的元素数目和一个预定数K0两者中的最小者。
由于基元是由连续排序的元素构成的串;因此,所述当前基元的元素数目是当前串的串长度;所述K个预定位置的K个元素是串的起始K1个元素和串的结尾K2个元素,其中K1+K2=K。
并且哈希值的计算方式是从当前元素或者当前元素加上预定的若干其他元素的总共L个比特计算出所述当前元素的H比特的哈希值,其中L≥ 24,H≤16。
应用例1:在实施例1中所述的使用哈希搜索的匹配编码方法中,K为4,所述K1为2,所述K2为2。
应用例2:对L个比特施行包括预定的
乘法运算
和/或
加法运算
和/或
减法运算
和/或
按位与运算
和/或
按位或运算
和/或
按位异或运算
和/或
按位取反运算
和/或
左移运算
和/或
右移运算
的运算计算出所述H比特的哈希值。
在本发明中,对匹配编码中的当前基元,仅计算其中一部分按照预定规则选择的元素的哈希值并更新哈希表中的对应的哈希链的相应节点,从而缩短哈希链的长度。同时,所选择的元素较好地代表了整个当前基元,因此本发明的技术对编码效率的影响很小,几乎可以忽略。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等同物界定。

Claims (5)

1.一种使用哈希搜索的匹配编码方法,其特征在于,包括如下步骤:
步骤1、搜索和选择参考基元:对一个当前基元,在一个称为参考集的由已完成预定程度的编解码的元素组成的集合或其子集之中,依据预定判断准则,搜索和选择一个最优的参考基元作为所述当前基元的参考基元;
步骤2、更新哈希表:按照预定的哈希表更新规则,计算所述当前基元中满足预定条件的元素的哈希值并更新哈希表中的对应的哈希链的相应节点。
2.根据权利要求1所述的一种使用哈希搜索的匹配编码方法,其特征在于,所述基元是由连续排序的元素构成的串。
3.根据权利要求1所述的一种使用哈希搜索的匹配编码方法,其特征在于,所述预定判断准测为下列调节之一或其组合:
当前元素与参考元素之间的误差小于一个预定阈值;
当前基元与参考基元之间的平均误差最小;
当前基元与参考基元之间的最大误差最小。
4.根据权利要求1所述的一种使用哈希搜索的匹配编码方法,其特征在于,所述哈希表更新规则是:计算所述当前基元中处于K个预定位置的K个元素的哈希值并更新哈希表中的对应的哈希链的相应节点,其中K=min{当前基元的元素数目,K0}即当前基元的元素数目和一个预定数K0两者中的最小者。
5.根据权利要求1所述的一种使用哈希搜索的匹配编码方法,其特征在于,所述哈希值的计算方式是从当前元素或者当前元素加上预定的若干其他元素的总共L个比特计算出所述当前元素的H比特的哈希值,其中L≥24,H≤16。
CN201910389300.6A 2019-05-10 2019-05-10 一种使用哈希搜索的匹配编码方法 Pending CN110287149A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910389300.6A CN110287149A (zh) 2019-05-10 2019-05-10 一种使用哈希搜索的匹配编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910389300.6A CN110287149A (zh) 2019-05-10 2019-05-10 一种使用哈希搜索的匹配编码方法

Publications (1)

Publication Number Publication Date
CN110287149A true CN110287149A (zh) 2019-09-27

Family

ID=68002028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910389300.6A Pending CN110287149A (zh) 2019-05-10 2019-05-10 一种使用哈希搜索的匹配编码方法

Country Status (1)

Country Link
CN (1) CN110287149A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804528A (zh) * 2021-02-05 2021-05-14 北京字节跳动网络技术有限公司 屏幕内容处理方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184205A (zh) * 2011-04-28 2011-09-14 哈尔滨工业大学 基于可扩展精度混沌哈希的多模式串匹配算法
CN104881439A (zh) * 2015-05-11 2015-09-02 中国科学院信息工程研究所 一种空间高效的多模式串匹配方法和系统
CN107770527A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 使用邻近编码参数和最近编码参数的数据压缩方法和装置
CN107770543A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 多类匹配参数中按顺序递增截断值的数据压缩方法和装置
CN107770540A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 融合多种具有不同参考关系的基元的数据压缩方法和装置
CN108268628A (zh) * 2018-01-15 2018-07-10 深圳前海信息技术有限公司 基于动态锚点的增量压缩的方法及装置
CN109408681A (zh) * 2018-10-11 2019-03-01 广东工业大学 一种字符串匹配方法、装置、设备及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102184205A (zh) * 2011-04-28 2011-09-14 哈尔滨工业大学 基于可扩展精度混沌哈希的多模式串匹配算法
CN104881439A (zh) * 2015-05-11 2015-09-02 中国科学院信息工程研究所 一种空间高效的多模式串匹配方法和系统
CN107770527A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 使用邻近编码参数和最近编码参数的数据压缩方法和装置
CN107770543A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 多类匹配参数中按顺序递增截断值的数据压缩方法和装置
CN107770540A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 融合多种具有不同参考关系的基元的数据压缩方法和装置
CN108268628A (zh) * 2018-01-15 2018-07-10 深圳前海信息技术有限公司 基于动态锚点的增量压缩的方法及装置
CN109408681A (zh) * 2018-10-11 2019-03-01 广东工业大学 一种字符串匹配方法、装置、设备及可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LI ET AL.: "A Unified Framework of Hash-based Matching for Screen Content Coding", 《2014 IEEE VISUAL COMMUNICATIONS AND IMAGE PROCESSING CONFERENCE》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804528A (zh) * 2021-02-05 2021-05-14 北京字节跳动网络技术有限公司 屏幕内容处理方法、装置及设备

Similar Documents

Publication Publication Date Title
CN101925925B (zh) 基于预测的图像处理
CN109257604A (zh) 一种基于tmc3点云编码器的颜色属性编码方法
US20220005230A1 (en) Point Cloud Encoding and Decoding Methods, Encoding Device and Decoding Device
CN101258526B (zh) 基于具有修改亮度的两个色调的纹理压缩
CN101919254B (zh) 基于预测的图像处理
JP4579987B2 (ja) 時間的に変わるグラフィックモデルを表すデータストリームの符号化方法
CN101986716B (zh) 一种快速深度视频编码方法
CN108235007B (zh) 各模式使用不同精度同种编码参数的数据压缩方法和装置
CN101883284B (zh) 基于背景建模和可选差分模式的视频编/解码方法及系统
CN104768019A (zh) 一种面向多纹理多深度视频的相邻视差矢量获取方法
WO2021062772A1 (zh) 预测方法、编码器、解码器及计算机存储介质
CN110287149A (zh) 一种使用哈希搜索的匹配编码方法
EP4199520A1 (en) Point cloud attribute encoding and decoding method and device
CN107690069A (zh) 一种数据驱动的级联视频编码方法
CN107770527B (zh) 使用邻近编码参数和最近编码参数的数据压缩方法和装置
CN110225339A (zh) 一种hevc视频序列编解码加速方法
Mohamed et al. Speeding up fractal image compression by genetic algorithms
CN116600119A (zh) 视频编码、解码方法、装置、计算机设备和存储介质
CN111741313A (zh) 基于图像熵k均值聚类的3d-hevc快速cu分割方法
CN104732508B (zh) 基于分布式压缩感知的图像融合方法
GB2602570A (en) Selecting encoding options
CN110290382A (zh) 一种残差数据编码和解码方法
CN111901592B (zh) 预测编码神经网络权重更新方法及装置
CN110197513B (zh) 一种基于调整阈值匹配误差的串匹配数据压缩方法
CN110349228B (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