CN109379598B - 一种基于fpga实现的图像无损压缩方法 - Google Patents

一种基于fpga实现的图像无损压缩方法 Download PDF

Info

Publication number
CN109379598B
CN109379598B CN201811064645.6A CN201811064645A CN109379598B CN 109379598 B CN109379598 B CN 109379598B CN 201811064645 A CN201811064645 A CN 201811064645A CN 109379598 B CN109379598 B CN 109379598B
Authority
CN
China
Prior art keywords
pixel point
coding
pixel
residual
current pixel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811064645.6A
Other languages
English (en)
Other versions
CN109379598A (zh
Inventor
李博川
曹桂平
董宁
邵云峰
王雪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hefei Eko Photoelectric Technology Co.,Ltd.
Original Assignee
Hefei Itek Photoelectrics Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hefei Itek Photoelectrics Technology Co ltd filed Critical Hefei Itek Photoelectrics Technology Co ltd
Priority to CN201811064645.6A priority Critical patent/CN109379598B/zh
Publication of CN109379598A publication Critical patent/CN109379598A/zh
Application granted granted Critical
Publication of CN109379598B publication Critical patent/CN109379598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/182Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明公开了一种基于FPGA实现的图像无损压缩方法,属于机器视觉的图像处理技术领域,包括对编码参数进行初始化为零,该编码参数包括预测行的数据、累积预测残差以及上下文组合累积出现次数;并选取两个参考像素点以根据两个参考像素点的像素值计算当前像素点的残差;根据当前像素点的像素值P与所述两个参考像素点的像素值的关系,选取相应的残差编码方法对当前像素点的残差进行编码;在所述待压缩图像的所有像素点的残差编码完成后,对所述编码参数进行更新。本发明在FELICS算法的基础上改进优化,保证图像压缩比的同时提高上位机的解压缩速度,并使得算法运行速度能与千兆以太网传输速度相匹配。

Description

一种基于FPGA实现的图像无损压缩方法
技术领域
本发明涉及机器视觉的图像处理技术领域,特别涉及一种基于FPGA实现的图像无损压缩方法。
背景技术
图像无损压缩技术旨在通过降低图像数据冗余度来获取高压缩比并可以100%重建原图像,该技术在图像数据传输、医学图像以及遥感图像等领域具有广泛的应用,对于图像传输系统,使用无损压缩技术可以提高传输链路的吞吐率。为了满足实时性要求,压缩算法必须具备足够低的复杂度。
图像的像素值信息是一组非负整数,对于深度为N的灰度图像而言,它的像素值范围在[0,2N-1]内,无损压缩的性能就是由这组数据的信息熵决定的。常见的无损压缩编码有预测编码、熵编码、基于字典匹配的编码(如LZW算法)、游程编码等,实际运用过程中往往是多种编码方法的组合。
联合图像专家组曾经制定了无损图像压缩标准,采用的是LOCO-I压缩算法,这种算法主要由以下四个部分组成:待编码像素的选择器、像素值预测器、预测残差计算器、预测残差编码器。通过像素预测值的合理选择、预测残差的精准建模以及高效的熵编码,最终能达到理想的压缩、解压缩效果。与之类似的压缩算法主要有CALIC、FELICS。
现有的无损压缩技术在保证较高压缩比的前提下其解压速度无法与千兆以太网传输速度相匹配,即使解压速度能与千兆以太网匹配但压缩比较低。
发明内容
本发明的目的在于提供一种基于FPGA实现的图像无损压缩方法,以在千兆以太网传输速率下保证上位机端解码的实时性。
为实现以上目的,本发明采用一种基于FPGA实现的图像无损压缩方法,包括:
对编码参数进行初始化为零,该编码参数包括预测行的数据、累积预测残差C[delta]以及上下文组合累积出现次数N[delta],该预测行为待压缩图像开始编码前的一行缓冲区;
对所述待压缩图像进行逐像素点扫描,并选取两个参考像素点以根据两个参考像素点的像素值计算当前像素点的残差;
根据当前像素点的像素值P与所述两个参考像素点的像素值的关系,选取相应的残差编码方法对当前像素点的残差进行编码;
在所述待压缩图像的所有像素点的残差编码完成后,对所述编码参数进行更新。
进一步地,所述参考像素点的选取标准为:
若所述当前像素点为第一行的第一或第二个像素点,则将当前像素点的像素值编入码流;
若所述当前像素点为第一行非第一或第二个像素点,则将当前像素点左边的两个像素点作为所述参考像素点;
若所述当前像素点为第一列第一行像素点,则将当前像素点正上方的像素点和右上方的像素点作为所述参考像素点;
若所述当前像素点为非第一行和第一列的像素点,则将当前像素点左方的像素点和正上方的像素点作为所述参考像素点。
进一步地,所述对待压缩图像进行逐像素点扫描,并选取两个参考像素点以根据两个参考像素点的像素值计算当前像素点的残差,包括:
将所述两个参考像素点的像素值进行比较,记较大值者为H,较小值者为L;
若L≤P≤H,则所述当前像素点的残差R=P-L;
若P<L,则所述当前像素点的残差R=L–P-1;
若P>H,则所述当前像素点的残差R=P-H-1。
进一步地,所述根据当前像素点的像素值与所述两个参考像素点的像素值的关系,选取相应的残差编码方法对当前像素点的残差进行编码,包括:
在所述当前像素点的像素值P落在[L,H]范围内时,采用修正的二元编码方法对所述当前像素点的残差R进行编码;
在所述当前像素点的像素值P<L或P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码。
进一步地,所述在当前像素点的像素值P落在[L,H]范围内时,采用修正的二元编码方法对所述当前像素点的残差进行编码,包括:
采用如下公式计算修正后的残差R以及修正后的编码参数:
range=delta+1,
Figure BDA0001797990090000031
R`=R-L,
式中,range表示范围长度,delta=H-L,logofrange表示范围长度的对数向上取整,R`表示修正后的残差;
将修正后的残差R`和0结合作为码值,并将该码值写入logofrange+1位。
进一步地,所述在当前像素点的像素值P<L或P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,还包括:
在当前像素点的像素值P<L时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,并将2比特的二进制码10写入编码流以表征P小于下界;
在在当前像素点的像素值P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,并将2比特的二进制码11写入编码流以表征P大于下界。
进一步地,所述在当前像素点的像素值P<L或P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,包括:
以设定的参数m为单位,并结合任意一个非负正整数将待编码的残差分成两部分,两部分为组的编号和残差在编组中的位置;
对于组的编号使用一元编码进行编码,对于残差在编组中的位置采用固定长度的二进制编码进行编码。
进一步地,所述参数m是2的k次幂,在所述两个参考像素点的像素值之差在设定的范围内时,k取固定值;
在所述两个参考像素点的像素值之差超过设定的范围时,k初始值取零,并在满足(N[delta]<<k)<C[delta]时,k值加1。
进一步地,所述对编码参数进行更新,包括:
对每种delta值下像素点出现的次数进行更新N[delta]=N[delta]+1;
对每种delta值下残差的累计值进行更新C[delta]=C[delta]+R;
将所述待压缩图像按像素行数进行划分,将两行数据作为一个block进行编码;
在当前block进行编码完成后,将当前block的第二行作为下一个block残差计算的预测行。
进一步地,还包括:
在所述待压缩图像编码完成后,判断剩余编码位数是否足够一个字节;
若是不足一个字节,则添加一个字节进入编码流。
与现有技术相比,本发明存在以下技术效果:本发明使用FPGA编码实现优化的FELICS(Fast and efficient lossless image compression system)算法,优化的FELICS算法过程包括参数初始化、残差计算、残差编码和参数更新四部分。在参数编码过程采用按行扫描、逐像素编码的方式,选择两个参考像素点用来计算当前像素的预测残差。编码思想是用一比特位表示当前像素是否在两个相邻像素值的范围内,如果在范围内,对预测残差采用修正的二元编码;若不在范围内,额外使用一比特位指明当前像素值低于下界或者高于上界,对预测残差采用golomb-rice编码。在golomb-rice编码中用for(k=0;(N[delta]<<k)<C[delta];k++);计算当前k值,可以节省不少编解码时间,且最终几乎不会对压缩比产生影响。特别地,对于一般图像而言,即使是局部复杂度很高的图像,相邻像素点的像素值差别也不大,可以使用固定k值进行golomb-rice编码,省去了计算k值的环节,可以进一步提升压缩算法的速度。这种算法具有良好的上下文参数信息以及低复杂度的编码运算,能够获得较理想的压缩比和压缩、解压缩速度。保证图像压缩比的同时提高上位机的解压缩速度,并使得算法运行速度能与千兆以太网传输速度相匹配,在得到较高图像压缩比的情况下保证千兆以太网传输速率下上位机解码的实时性。
附图说明
下面结合附图,对本发明的具体实施方式进行详细描述:
图1是一种基于FPGA实现的图像无损压缩方法的流程示意图;
图2是参考像素选取示意图;
图3是一种基于FPGA实现的图像无损压缩方法的基本流程示意图;
图4是待压缩图像处理过程示意图;
图5是实验图像a;
图6是实验图像b;
图7是实验图像c。
具体实施方式
为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。
如图1所示,本实施例公开了一种基于FPGA实现的图像无损压缩方法,包括如下步骤S1至S4:
S1、对编码参数进行初始化为零,该编码参数包括预测行的数据、累积预测残差C[delta]以及上下文组合累积出现次数N[delta],该预测行为待压缩图像开始编码前的一行缓冲区;
需要说明的是,编码参数初始化是为了实现基于上下文信息的像素预测,每幅待压缩图像开始编码前需要有一行缓冲区作为预测行,累积预测残差C[delta]和上下文组合累积出现次数N[delta]是用于后续计算golomb-rice编码参数,并且在每个像素值编码完成后进行更新。
S2、对所述待压缩图像进行逐像素点扫描,并选取两个参考像素点以根据两个参考像素点的像素值计算当前像素点的残差;
S3、根据当前像素点的像素值P与所述两个参考像素点的像素值的关系,选取相应的残差编码方法对当前像素点的残差进行编码;
S4、在所述待压缩图像的所有像素点的残差编码完成后,对所述编码参数进行更新。
参阅图2所示,本实施例中参考像素点的选取规则分为四种:
(1)当前像素点为第一行第一第二个像素点,此时直接将像素值编入码流;
(2)当前像素点为第一行非第一第二个像素点,此时选取其左边的两个像素点作为参考像素点;
(3)当前像素点为第一列非第一行像素点,此时选取其正上方和右上方的两个像素点作为参考像素点;
(4)除上述三种情况,其余位置像素点选取左边和上边的两个像素点作为参考像素点。
作为进一步优选的方案,上述步骤S2:对所述待压缩图像进行逐像素点扫描,并选取两个参考像素点以根据两个参考像素点的像素值计算当前像素点的残差。具体包括:
将所述两个参考像素点的像素值进行比较,记较大值者为H,较小值者为L;
若L≤P≤H,则所述当前像素点的残差R=P-L;
若P<L,则所述当前像素点的残差R=L–P-1;
若P>H,则所述当前像素点的残差R=P-H-1。
进一步地,本实施例对参考像素值N1和N2进行比较,记较大者为H,较小者为L,令delta=H-L。有N[delta]和C[delta],前者表示每种delta值下像素点出现的次数,后者表示每种delta下残差的累计值。
本实施例根据P、H、L的大小关系分为三种情况采用不同的编码方式:
(1)L<=P<=H,此时令残差R=P-L,首先将1bit‘0’写入编码流表征P落在[L,H]范围内,并对残差R采用修正的二元编码。
(2)P<L,此时令残差R=L-P-1,采用golomb-rice编码,并将2bit‘10’写入编码流表征P小于下界,并对残差R采用golomb-rice编码。
(3)P>H,此时令残差R=P-H-1,采用golomb-rice编码,并将2bit‘11’写入编码流表征P大于上界,并对残差R采用golomb-rice编码。
进一步地,对R采用修正的二元编码的过程为:
采用如下公式获取修正后的R以及编码参数:
range=delta+1,
Figure BDA0001797990090000071
R`=R-1,
式中,range表示范围长度,delta=H-L,logofrange表示范围长度的对数,R`表示修正后的残差。
其中,range等于1表征L=H,而当前像素值又在此范围内,所以,这三个像素点值相同,可以不写入编码流,在解码端用参考像素代替这个点的像素值即可。最终的编码就是一个‘0’和修正后的R结合的码值,合计写入logofrange+1位。
进一步地,对残差R采用golomb-rice编码的过程为:
给定一个参数m,以m为单位,给待编码的数字分组,对于任意一个非负正整数y,将它分为两部分:所在组的编号和它在该组中的位置。实际上是y除以m的商和余数。对于商使用一元编码,余数使用固定长度的二进制编码。任意非负整数num的一元编码就是num个‘0’后面紧跟一个‘1’。在golomb-rice编码中,参数m是2的k次幂,取余数r的二进制的低log2(m)位(即k位),作为余数的码字。
例如残差值为10,k取2,则m=4,计算得到商为2,余数为2。对商采用一元编码,结果为‘001’,对余数取低k位,结果为‘10’,则该像素值的编码比特流为‘00110’。可见,一个8位数据被压缩到只有5位。
进一步地,所述参数m是2的k次幂,对于一般图像k可以取固定值大大提高压缩、解压缩效率,在两个参考像素点的像素值之差超过设定的范围时,k初始值取零,并在满足(N[delta]<<k)<C[delta]时,k值加1。
需要说明的是,本实施例中对编码参数k的选择与传统方法不同,传统FELICS算法是对所有可能的k值计算累计编码长度,选择其中最短的累计长度对应的k作为当前像素残差的编码参数,这种做法比较消耗FPGA缓存空间,且效率不高。本实施例参考JPEG LS标准的上下文参数思想对其进行了改进,用for(k=0;(N[delta]<<k)<C[delta];k++);计算当前k值,可以节省不少编解码时间,且最终几乎不会对压缩比产生影响。特别地,对于一般图像而言,即使是局部复杂度很高的图像,相邻像素点的像素值差别也不大,可以使用固定k值进行golomb-rice编码,省去了计算k值的环节,可以进一步提升压缩算法的速度。
本实施例中是对原有的传统FELICS算法精简,不再考虑边缘阈值的计算,可显著提升效率,而原算法中对所有可能的k值计算累计编码长度,选择其中最短的累计长度对应的k作为当前像素残差的编码参数,这种做法比较消耗FPGA缓存空间,且效率不高。
进一步地,如图3所示,本实施例编码过程放在FPGA中实现,由于存储器空间有限,每次只读入两行数据(block)进行编码,存储器还需要分配一定内存空间存储预测行像素值、上下文参数C、N以及每个像素编码的剩余位数。为了便于上位机作并行化解压缩处理,一幅完整图像按照行数拆分成四部分(portion)进行编码处理。各部分视为独立图像,即只在一个portion中执行编码相关参数的更新。一个portion编码完成后,重新初始化片上存储器中的参数,对每种delta值下像素点出现的次数进行更新N[delta]=N[delta]+1;对每种delta值下残差的累计值进行更新C[delta]=C[delta]+R;一个block编码完成后,将当前block的第二行作为下一个block残差计算的预测行。
四个portion的编码流头部都添加一个字节的标识符(从1~4)表征这是一幅完整图像的第几部分。由于是每读入两行数据进行编码,所以对于这两行数据要在编码流头部增加相关信息(是否为该portion的第一个block、该block编码长度、编码后多余位数),具体的编码流结构如图4所示。
需要说明的是,因为采用的是比特流编码,在一个portion编码结束后,可能会有多余的编码位数,要查看此时的剩余编码位数,因为是比特流编码,所以可能剩余的位数不足一个字节,这里需要添加最后一个字节进入编码流防止编码信息不完整。
本实施例公开的基于FPGA实现的快速图像无损压缩算法,包括使用按行扫描、逐像素编码的方式,选择相邻的两个像素点用来计算当前像素的预测残差。所述编码思想是用一比特位表示当前像素是否在两个相邻像素值的范围内,如果在范围内,对预测残差采用修正的二元编码;若不在范围内,额外使用一比特位指明当前像素值低于下界或者高于上界,对预测残差采用golomb-rice编码。这种算法具有良好的上下文参数信息以及低复杂度的编码运算,能够获得较理想的压缩比和压缩、解压缩速度。
而且经过实际测试,使用3幅4M大小的图像进行压缩和解压缩测试,实验图像如图5至图7所示。首先使用传统FELICS算法进行压缩、解压缩实验,压缩时间和解压缩时间取五次实验平均值,传统FELICS算法压缩比和运行时间结果如表1所示。(操作系统环境:windows 7 64位,编程语言:C,编译器:visual studio 2013CPU:core i3 2100)。
表1
实验图像a 实验图像b 实验图像c
压缩比 1.80 2.42 1.97
压缩时间(ms) 366.12 313.77 340.20
解压时间(ms) 355.82 302.60 321.61
由结果可知,传统FELICS算法能达到理想的压缩比,但是运行速度尚不能满足工程需要。
使用本实施例的改进算法结合并行化计算,选择自适应golomb-rice编码,压缩时间和解压缩速度取五次实验平均值,每次实验循环解压500次取平均值,自适应golomb-rice编码压缩比和运行时间结果如下表所示。
表2
实验图像a 实验图像b 实验图像c
压缩比 1.66 2.28 1.80
压缩时间(ms) 180.23 143.39 156.85
解压速度(MB/s) 106.8 118.4 122.8
比较表1和表2的实验结果可知,采用改进后的算法,压缩比虽然略有下降,但是运行速度有了显著提高。
在自适应golomb-rice编码中每个像素点都要通过取对数的方式计算编码参数k值,为了进一步提升解压速度,将k设为固定值(取k=1)。固定k值的golomb-rice编码压缩比和运行时间测试结果如下表3所示:
表3
实验图像a 实验图像b 实验图像c
压缩比 1.72 2.18 1.88
压缩时间(ms) 169.86 130.77 143.16
解压速度(MB/s) 124.6 137.6 141.0
选择maple.bmp这幅图在不同CPU型号的计算机上进行比对测试,并进行压力测试(循环解压过程中同时进行不相关的复杂数学运算),不同PC上运行的解压速度(单位:MB/s)如下表4所示:
表4
Core i3 2100 Core i3 4160 Xeon E5 1620
常规测试 124.6 149.7 206.1
压力测试 87.8 120.1 179.8
由表3、表4实验结果可知,对于常规图像而言,使用固定参数的golomb-rice编码也能得到较好的压缩比,且解压速度可进一步提高。在压力测试下,速度会有所下滑,且和处理器性能有直接关系。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种基于FPGA实现的图像无损压缩方法,其特征在于,包括:
对编码参数进行初始化为零,该编码参数包括预测行的数据、累积预测残差C[delta]以及上下文组合累积出现次数N[delta],该预测行为待压缩图像开始编码前的一行缓冲区,在一个当前编码块编码完成后,将当前编码块的第二行作为下一个编码块残差计算的预测行;
对所述待压缩图像进行逐像素点扫描,并选取两个参考像素点以根据两个参考像素点的像素值计算当前像素点的残差;
根据当前像素点的像素值P与所述两个参考像素点的像素值的关系,选取相应的残差编码方法对当前像素点的残差进行编码,其中在所述当前像素点的像素值P落在[L,H]范围内时,采用修正的二元编码方法对所述当前像素点的残差R进行编码;在所述当前像素点的像素值P<L或P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码;
在所述当前像素点的像素值P落在[L,H]范围内时,采用修正的二元编码方法对所述当前像素点的残差R进行编码,具体为:
采用如下公式计算修正后的残差R以及修正后的编码参数:
range=delta+1,
Figure FDF0000013019910000011
R`=R-L,
式中,range表示范围长度,delta=H-L,logofrange表示范围长度的对数向上取整,R`表示修正后的残差;
将修正后的残差R`和0结合作为码值,并将该码值写入logofrange+1位;
在所述待压缩图像的所有像素点的残差编码完成后,对所述编码参数进行更新,具体包括:
对每种delta值下像素点出现的次数进行更新N[delta]=N[delta]+1;
对每种delta值下残差的累计值进行更新C[delta]=C[delta]+R;
将所述待压缩图像按像素行数进行划分,将两行数据作为一个block进行编码;
在当前block进行编码完成后,将当前block的第二行作为下一个block残差计算的预测行;
所述在当前像素点的像素值P<L或P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,包括:
以设定的参数m为单位,并结合任意一个非负正整数将待编码的残差分成两部分,两部分为组的编号和残差在编组中的位置;
对于组的编号使用一元编码进行编码,对于残差在编组中的位置采用固定长度的二进制编码进行编码;
所述参数m是2的k次幂,在所述两个参考像素点的像素值之差在设定的范围内时,k取固定值;
在所述两个参考像素点的像素值之差超过设定的范围时,k初始值取零,并在满足(N[delta]<<k)<C[delta]时,k值加1。
2.如权利要求1所述的基于FPGA实现的图像无损压缩方法,其特征在于,所述参考像素点的选取标准为:
若所述当前像素点为第一行的第一或第二个像素点,则将当前像素点的像素值编入码流;
若所述当前像素点为第一行非第一或第二个像素点,则将当前像素点左边的两个像素点作为所述参考像素点;
若所述当前像素点为第一列非第一行像素点,则将当前像素点正上方的像素点和右上方的像素点作为所述参考像素点;
若所述当前像素点为非第一行和第一列的像素点,则将当前像素点左方的像素点和正上方的像素点作为所述参考像素点。
3.如权利要求1所述的基于FPGA实现的图像无损压缩方法,其特征在于,所述对待压缩图像进行逐像素点扫描,并选取两个参考像素点以根据两个参考像素点的像素值计算当前像素点的残差,包括:
将所述两个参考像素点的像素值进行比较,记较大值者为H,较小值者为L;
若L≤P≤H,则所述当前像素点的残差R=P-L;
若P<L,则所述当前像素点的残差R=L–P-1;
若P>H,则所述当前像素点的残差R=P-H-1。
4.如权利要求1所述的基于FPGA实现的图像无损压缩方法,其特征在于,所述在当前像素点的像素值P<L或P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,还包括:
在当前像素点的像素值P<L时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,并将2比特的二进制码10写入编码流以表征P小于下界;
在当前像素点的像素值P>H时,采用golomb-rice编码方法对所述当前像素点的残差R进行编码,并将2比特的二进制码11写入编码流以表征P大于下界。
5.如权利要求1所述的基于FPGA实现的图像无损压缩方法,其特征在于,还包括:
在所述待压缩图像编码完成后,判断剩余编码位数是否足够一个字节;
若是不足一个字节,则添加一个字节进入编码流。
CN201811064645.6A 2018-09-12 2018-09-12 一种基于fpga实现的图像无损压缩方法 Active CN109379598B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811064645.6A CN109379598B (zh) 2018-09-12 2018-09-12 一种基于fpga实现的图像无损压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811064645.6A CN109379598B (zh) 2018-09-12 2018-09-12 一种基于fpga实现的图像无损压缩方法

Publications (2)

Publication Number Publication Date
CN109379598A CN109379598A (zh) 2019-02-22
CN109379598B true CN109379598B (zh) 2021-11-19

Family

ID=65405008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811064645.6A Active CN109379598B (zh) 2018-09-12 2018-09-12 一种基于fpga实现的图像无损压缩方法

Country Status (1)

Country Link
CN (1) CN109379598B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3734973B1 (en) * 2019-05-02 2023-07-05 Sick IVP AB Method and encoder relating to encoding of pixel values to accomplish lossless compression of a digital image
CN110213589A (zh) * 2019-06-18 2019-09-06 合肥安杰特光电科技有限公司 一种高速图像的实时压缩编码方法
CN112055223A (zh) * 2020-08-21 2020-12-08 浙江大华技术股份有限公司 一种图像编解码方法及编解码器
CN112822495B (zh) * 2020-12-31 2023-10-13 广州科易光电技术有限公司 红外图像压缩方法及装置、电子设备、存储介质
CN113784140B (zh) * 2021-09-15 2023-11-07 深圳市朗强科技有限公司 一种数学无损编码方法及设备
CN115118987B (zh) * 2022-05-07 2024-05-31 腾讯科技(深圳)有限公司 一种图像数据处理方法、装置、设备以及存储介质
WO2023230933A1 (zh) * 2022-05-31 2023-12-07 上海玄戒技术有限公司 图像压缩方法、装置、电子设备、芯片及储存介质
CN117354534B (zh) * 2023-12-04 2024-02-02 上海方诚光电科技有限公司 一种自适应图像无损压缩方法、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761735A (zh) * 2011-04-25 2012-10-31 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统
CN104038765A (zh) * 2014-06-26 2014-09-10 天津大学 面向硬件实现的快速高效无损图像压缩方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102761735A (zh) * 2011-04-25 2012-10-31 中国科学院微电子研究所 编码方法及装置、图像压缩方法及系统
CN104038765A (zh) * 2014-06-26 2014-09-10 天津大学 面向硬件实现的快速高效无损图像压缩方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Design and analysis of high-throughput lossles image compression engine using VLSI-oriented FELICS algorithms;Tsung-Han Tsai等;《IEEE Transactions on Very Large Scale Integration (VLSI) Systems》;20100131;正文第39-52页 *
Implementation of VLSI-Oriented FELICS Algorithm Using Pseudo Dual-Port RAM;M. REJUSHA等;《Proceedings of the International Conference on Pattern Recognition, Informatics and Medical Engineering》;20120323;正文第68-73页 *
基于FPGA的无损图像压缩系统设计;于潇;《电子产品世界》;20150131;正文第61-63页 *
快速高效无损图像压缩算法的优化及硬件验证;于潇;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20170315;正文第1-56页 *
快速高效无损图像压缩系统的低功耗硬件实现;薛金勇等;《哈尔滨工程大学学报》;20140331;正文第368-372页 *

Also Published As

Publication number Publication date
CN109379598A (zh) 2019-02-22

Similar Documents

Publication Publication Date Title
CN109379598B (zh) 一种基于fpga实现的图像无损压缩方法
CN109996071B (zh) 基于深度学习的可变码率图像编码、解码系统及方法
US10599935B2 (en) Processing artificial neural network weights
CN111641832B (zh) 编码方法、解码方法、装置、电子设备及存储介质
CN103814396B (zh) 编解码比特流的方法和装置
CN111818346A (zh) 图像编码方法和装置、图像解码方法和装置
US12010352B2 (en) Coding method and related device
CN110021369B (zh) 基因测序数据压缩解压方法、系统及计算机可读介质
CN112702600B (zh) 一种图像编解码神经网络分层定点化方法
US20220392117A1 (en) Data compression and decompression system and method thereof
CN111641826A (zh) 对数据进行编码、解码的方法、装置与系统
CN114222129A (zh) 图像压缩编码方法、装置、计算机设备和存储介质
CN103716634A (zh) 使用误差平面编码的数据压缩方法及装置
CN112514397A (zh) 点云的编解码方法和装置
US20110280492A1 (en) Image processing apparatus and image processing method
CN112449191B (zh) 压缩多个图像的方法、解压缩图像的方法和装置
CN110191341B (zh) 一种深度数据的编码方法和解码方法
CN115022628B (zh) 基于jpeg-ls的高吞吐率无损图像压缩方法
GB2571818A (en) Selecting encoding options
CN118450131A (zh) 定长码单元含多个编码参数变长码的数据解码方法和装置
WO2014000443A1 (zh) 一种图像数据压缩和解压缩方法、装置
CN110739974B (zh) 数据压缩方法及装置和计算机可读存储介质
TWI491261B (zh) 加速遊程長度編碼之影像編碼方法與影像編碼裝置
WO2024007843A9 (zh) 一种编解码方法、装置及计算机设备
CN110087073B (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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 230088 Building 1, yizhi science and Technology Industrial Park, 388 Yanzihe Road, high tech Zone, Hefei City, Anhui Province

Patentee after: Hefei Eko Photoelectric Technology Co.,Ltd.

Address before: Room A206 / 208, University Science Park, 602 Huangshan Road, high tech Zone, Hefei, Anhui 230088

Patentee before: HEFEI ITEK PHOTOELECTRICS TECHNOLOGY CO.,LTD.