CN107592541B - 一种图像解压方法和系统 - Google Patents
一种图像解压方法和系统 Download PDFInfo
- Publication number
- CN107592541B CN107592541B CN201710826772.4A CN201710826772A CN107592541B CN 107592541 B CN107592541 B CN 107592541B CN 201710826772 A CN201710826772 A CN 201710826772A CN 107592541 B CN107592541 B CN 107592541B
- Authority
- CN
- China
- Prior art keywords
- data
- image
- line
- frame
- decompression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
本发明公开了一种针对特定图像压缩数据流的快速图像解压方法,详细说明了该方法所对应的压缩算法、解压缩实现流程,图像重建过程,内部结构及各模块间的互联关系,本发明还提出一种图像解压系统,可用于实现图像解压方法。本发明提供的图像解压缩方法和系统具有算法实现简单、意义明确,且可按照“图像行”展开进行多级流水操作,从而实现数据解压缩和图像无损重建。
Description
技术领域
本发明涉及图像信息处理技术领域,特别是一种针对特定图像压缩数据流的解压缩方法和系统。
背景技术
图像传感器目前已广泛应用于科学研究,工业生产,医疗卫生,国防军事等各个领域。随着图像分辨率及图像帧率的不断提升,人类得以观察到更加细微的物体特征,或者更为短暂的物理现象,从而极大的丰富了人类的观测手段,提高了人类的认知水平。
但随着图像性能的迅速提升,同时也带来了图像数据量和数据传输带宽成倍增长的巨大挑战。海量的图像数据和超高数据传输带宽,为后续的图像传输、存储及处理都带来了一系列技术难题。为了解决上述问题,开发了一种实时处理高数据带宽的图像无损压缩方法,极大的降低了传输、存储的难度。与此同时,相应的解压缩方法也被提出,用于无损的重建图像,供后续研究和实际使用。
发明内容
(一)要解决的技术问题
本发明的目的是针对一种高速、实时图像无损压缩算法,实现图像压缩算法的逆过程,即恢复压缩前的原始图像数据,无损的重建图像供后续使用,提出一种图像解压方法和系统。
(二)技术方案
一种图像解压缩方法,包括:S1:读取图像压缩数据流中的第一帧原始图像数据,并以第一帧原始图像数据作为基础图像数据;S2:读取并判断第i帧各行中每个图像行压缩数据是否在预先设定的阈值范围内,若图像行压缩数据位于阈值范围内,则将该图像行压缩数据与相同坐标的基础图像数据相加,若图像行压缩数据超出阈值范围,则读取与该超范围数据相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,计算得到第i帧的完整数据图像,并将其作为新的基础图像数据;S3:判断第i帧是否为最后一帧,若是,则完成图像解压缩,若否,则设定i=i+1,返回S2;其中,i为正整数,且其起始值为2。
优选地,步骤S2包括:S21:从基础图像数据中读取第j行的图像数据;S22:读取第i帧中第j行的第k个图像行压缩数据;S23:判断该图像行压缩数据是否在预先设定的阈值范围内,若是,则将该图像行压缩数据与相同坐标的基础图像数据相加,若否,则存储该图像行非压缩数据对应的坐标;S24:判断k的值是否为第j行包含的像素个数,若否,则设定k=k+1,返回S22处理第j行下一个图像行压缩数据,若是,则进入步骤S25;S25:逐个读取与所述存储坐标相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,得到第i帧第j行的图像数据,并用其更新基础图像数据的第j行;S26:判断j的值是否为第i帧图像包含的行数,若否,则设定j=i+1,返回S21处理另一行的图像行压缩数据,若是,则得到第i帧的完整数据图像,将其作为新的基础图像数据;其中,k和j均为正整数,且起始值均为1。
优选地,在S1和S2之间还包括S1A:扫描图像压缩数据流中预设的对齐编码,未发现预设的对齐编码时继续搜索,发现预设的对齐编码时进入步骤S2。
一种图像解压缩系统,包括行解压缩处理模块,用于执行上述的图像解压缩方法,;
优选地,还包括数据包帧头检测模块和图像帧数据缓存模块;所述数据包帧头检测模块用于扫描图像压缩数据流中预设的对齐编码,以触发行解压缩处理模块执行步骤S2;所述图像帧数据缓存模块用于缓存基础图像数据,所述基础图像数据为原始图像数据或第i帧的图像数据。
优选地,包括行解压缩处理模块,所述行解压缩处理模块包括数据流读取控制器、比较器、加法器、OV地址寄存器、图像行数据缓存和解压缩状态控制机;所述数据流读取控制器用于读取图像压缩数据流中的第一帧原始图像数据、图像行压缩数据和图像行非压缩数据,并将原始图像帧数据传输至图像行数据缓存,将图像行压缩数据发送至比较器和加法器,将图像行非压缩数据发送至加法器;所述图像行数据缓存用于接收原始图像数据,并将其写入图像帧数据缓存模块,并从图像帧数据缓存模块中读取基础图像数据中第j行的图像数据;所述比较器连接数据流读取控制器、加法器和OV地址寄存器,用于判断每个图像行压缩数据是否在预先设定的阈值范围内,若在,则发送触发信号至加法器,若不在,则将所述超阈值范围的数据对应的坐标存储至OV地址寄存器;所述解压缩状态控制机用于扫描OV地址寄存器中的地址,控制数据流读取控制器读取对应的图像行非压缩数据,并发送触发信号至加法器。所述加法器用于将图像行压缩数据与相同坐标的基础图像数据相加,以及将图像行非压缩数据与相同坐标的基础图像数据相加;所述图像行数据缓存还连接加法器,用于将第j行图像数据中所述相同坐标的基础图像数据传输至加法器进行计算,并从加法器获取更新后的第j行的图像数据,将其传回至图像帧数据缓存模块,更新基础图像数据的第j行。
优选地,所述行解压缩处理模块还包括数据流写入控制器,所述数据流写入控制器位于图像行数据缓存和图像帧数据缓存模块之间,用于将图像数据在图像行数据缓存和图像帧数据缓存模块之间传输。
优选地,所述行解压缩处理模块还包括数据计数器和行计数器;所述数据计数器连接数据流读取控制器,用于记录数据流读取控制器读取的图像数据的个数,从而判断k的值是否为第j行包含的像素个数;所述行计数器连接数据流写入控制器,用于记录数据流写入控制器传输的数据的行数,从而判断j的值是否为第i帧图像包含的行数。
优选地,所述解压缩状态控制机还用于采集来自数据包帧头检测模块、数据计数器、OV地址寄存器、行计数器以及外部用户输入的信号,根据逻辑产生图像解压缩流程控制信号,按预定流程有序启/停数据流读取控制器、比较器、加法器、数据流写入控制器,以及产生解压缩数据流的同步有效信号。
优选地,还包括输入数据缓存模块和输出数据缓存模块;所述输入数据缓存模块用于缓存图像压缩数据流中的图像数据,并将数据传输至行解压缩处理模块;所述输出数据缓存模块连接行解压缩处理模块,用于缓存并输出第一帧原始图像数据以及后续每一帧图像数据。
(三)有益效果
从上述技术方案中可以看出,本发明具有以下有益效果:
(1)本发明方法层次简单,意义明确,实现容易,可以快速实现针对特定压缩数据流的图像无损恢复和重建;
(2)本发明实际处理中按照“图像行”进行处理,利于复制多个相似的实现结构,展开进行多级流水操作,从而提高解压缩速度。
附图说明
图1为输入的图像压缩数据流示意图。
图2为本发明实施例的图像解压缩系统结构示意图。
图3为本发明实施例的图像解压缩过程的状态机转移图。
图4为本发明实施例的图像解压缩方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明提出的图像解压缩方法,处理的图像压缩数据流,从数据结构上分为4个数据段,如图1所示为图像压缩数据流示意图,包括:
(1)原始图像帧数据段;
(2)对齐编码数据段;
(3)图像行压缩数据段;
(4)图像行非压缩数据段。
其中数据段(1)在整个压缩数据流中,仅出现一次;数据段(2)在一帧图像的压缩数据中,仅出现一次;数据段(3)、(4)则交替循环出现。且数据段(3)、(4)由公式(EQ1、EQ2、EQ3)产生,其中数据段(3)实际为B(p,l,f)计算结果,数据段(4)实际为O(p,l,f)计算结果:
δ(p,l,f)=gray(p,l,f)-gray(p,l,f-1) (EQ1)
(上式应满足1≤p≤M,Ldark+1<l≤N,f≥1,且TH=2K-1(0<K<R))
其中gray(p,l,f)为输入像素的灰度函数,p为像素序号,l为图像行序号,f为图像帧序号,M为图像宽度,N为图像高度,R为像素的量化位宽,Ldark为暗像素行行高。δ(p,l,f)表示残差,B(p,l,f)与O(p,l,f)分别代表残差编码标示值与溢出值,TH为预设阈值,binK(δ(p,l,f))与binK(TH)以及binK(-(TH+1))分别为残差的K比特有符号自然二进制码;TH的K比特有符号自然二进制码;-(TH+1)的K比特有符号自然二进制码;binR(δ(p,l,f))为残差的R比特有符号自然二进制码。
本发明一实施例提供一种图像解压缩方法,包括以下步骤:
S1:读取图像压缩数据流中的第一帧的原始图像数据,并以原始图像数据作为基础图像数据;
S2:读取并判断第i帧各行中每个图像行压缩数据是否在预先设定的阈值范围内,若图像行压缩数据位于阈值范围内,则将该图像行压缩数据与相同坐标的基础图像数据相加,若图像行压缩数据超出阈值范围,则读取与该超范围数据相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,计算得到第i帧的完整数据图像,并将其作为新的基础图像数据;
S3:判断第i帧是否为最后一帧,若是,则完成图像解压缩,若否,则设定i=i+1,返回S2;其中,i的起始值为2。
其中,步骤S2进一步包括:
S21:从基础图像数据中读取第j行的图像数据;
S22:读取第i帧中第j行的第k个图像行压缩数据;
S23:判断该图像行压缩数据是否在预先设定的阈值范围内,若是,则将该图像行压缩数据与相同坐标的基础图像数据(即第j行第k个基础图像数据)相加,若否,则存储该图像行非压缩数据对应的坐标;
S24:判断k的值是否为第j行包含的像素个数,若否,则设定k=k+1,返回S22处理第j行下一个图像行压缩数据,若是,则进入步骤S25;
S25:逐个读取与所述存储坐标相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,得到第i帧第j行的图像数据,并用其更新基础图像数据的第j行;
S26:判断j的值是否为第i帧图像包含的行数,若否,则设定j=j+1,返回S21处理另一行的图像行压缩数据,若是,则得到第i帧的完整数据图像,将其作为新的基础图像数据;其中,k和j均为正整数,且起始值均为1。
在本发明一些实施例中,在S1和S2之间还包括S1A:扫描图像压缩数据流中预设的对齐编码,未发现预设的对齐编码时继续搜索,发现预设的对齐编码时进入步骤S2。
本发明另一实施例提供一种图像解压缩系统,本发明的系统构成框图如图2所示,且针对上述数据结构,本发明按照图3所示状态机转移图有序工作。图像解压缩系统包括:SOF检测模块(数据包帧头检测模块)、输入数据缓存模块、行解压缩处理模块、图像帧数据缓存模块、输出数据缓存模块,且各模块间有序互联。其中,行解压缩处理模块用于执行步骤S1至S3。
SOF检测模块(SOF是Start of Frame的缩写,表示数据包帧头)用于扫描图像压缩数据流中预设的对齐编码,从而在连续的图像压缩数据流中,快速定位到新一帧图像的起始位置,触发行解压缩处理模块执行步骤S2。
输入数据缓存模块用于缓存图像压缩数据流中的图像数据,并将数据传输至行解压缩处理模块。
图像帧数据缓存模块用于缓存基础图像数据,所述基础图像数据为原始图像数据或第i帧的图像数据。图像帧数据缓存模块一方面接收缓存行解压缩处理模块的输出的图像数据,另一方面输出图像数据至行解压缩处理模块。其存储容量应满足至少能完整存储1帧图像数据。
输出数据缓存模块连接行解压缩处理模块,用于缓存并输出行解压缩处理模块的输出的第一帧原始图像数据以及后续每一帧图像数据,即图像解压数据流。
行解压缩处理模块包括数据流读取控制器、解压缩控制状态机、数据计数器,比较器,OV地址寄存器,图像行数据缓存、加法器、行计数器和数据流写入控制器,且各个单元之间相互间有序互联。
解压缩控制状态机连接行解压缩处理模块内的其他各单元,采集来自SOF检测模块、数据计数器、OV地址寄存器、行计数器以及外部用户输入信号(如阈值信息),根据逻辑产生图像解压缩流程控制信号,按预定流程有序启/停数据流读取控制器、比较器、加法器、数据流写入控制器,以及产生解压缩数据流的同步有效信号。
数据流读取控制器连接解压缩状态控制机、图像行数据缓存、数据计数器、比较器和加法器,数据流读取控制器受到解压缩状态控制机输出脉冲的控制有序读取第一帧的原始图像帧数据、第i帧的图像行压缩数据和图像行非压缩数据,并将原始图像帧数据传输至图像行数据缓存、将图像行压缩数据发送至比较器和加法器,将图像行非压缩数据发送至加法器。
数据计数器连接解压缩状态控制机,用于记录数据流读取控制器读取数据的个数,以判断k的值是否为第j行包含的像素个数,即判断第k个图像行压缩数据是否为第j行最后一个数据;数据计数器为循环计数器,计数的最大范围至所解压图像单行所包含的像素个数(或像素点数)。当数据计数器计满了图像一行所需的像素个数后,产生脉冲信号并发送至解压缩状态控制机,使其控制各单元进行下一操作。数据计数器继而清零开始重新计数。
图像行数据缓存连接解压缩状态控制机、数据流读取控制器和数据流写入控制器,用于缓存来自数据流读取控制器或数据流写入控制器的某一行图像数据。接收来自数据流读取控制器的原始图像数据,并将其写入图像帧数据缓存模块,并从图像帧数据缓存模块中读取基础图像数据中第j行的图像数据。图像行数据缓存还连接加法器,用于将第j行图像数据中所述相同坐标的基础图像数据传输至加法器进行计算,并从加法器获取更新后的第j行的图像数据,将其传回至图像帧数据缓存模块,更新基础图像数据的第j行。
数据流写入控制器连接解压缩状态控制机、图像行数据缓存、行计数器以及行解压缩处理模块外部的图像帧数据缓存模块和输出数据缓存模块。数据流写入控制器受到解压缩状态控制机输出脉冲的控制,将图像数据流在图像行数据缓存、图像帧数据缓存模块和输出数据缓存模块中有序搬移,且每完成1行操作即输出1次脉冲,从而启动行计数器加1。
比较器连接解压缩状态控制机、数据流读取控制器、加法器和OV地址寄存器,用于判断每个图像行压缩数据是否在预先设定的阈值范围内,接收解压缩状态控制机下发的阈值信息,将数据流读取控制器读入的图像行压缩数据与该阈值比较,如果在阈值表示范围内,则比较器向加法器发送触发信号,触发加法器读取数据并进行计算和输出;如在阈值范围外,则比较器将该超阈值范围的数据对应的坐标存储在OV地址寄存器里。
加法器连接解压缩状态控制机、数据流读取控制器、图像行数据缓存和比较器,受解压缩状态控制机的控制从图像行数据缓存读取相应坐标的数据,并将该数据与数据流读取控制器发送的相同坐标的图像行压缩数据或图像行非压缩数据求和。
OV地址寄存器(OV是Overflow的缩写,表示溢出或超阈值),连接解压缩状态控制机和比较器,用于接收并存储比较器传输来的阈值范围外的像素点的位置信息。解压缩状态控制机扫描OV地址寄存器中的地址,控制数据流读取控制器读取对应的图像行非压缩数据,并发送触发信号至加法器。
行计数器连接解压缩状态控制机和数据流写入控制器,用于记录数据流写入控制器处理的数据的行数,以判断j的值是否为第i帧图像包含的行数,即判断第j行是否为第i帧图像的最后一行,行计数器为循环计数器,计数的最大范围至所解压图像帧的高度(或最大图像行数),计满后产生脉冲信号,并将脉冲信号发送至解压缩状态控制机,使其控制各单元进行下一操作。行计数器继而清零并重新计数。
本发明另一实施例提供一种图像解压缩方法,用于图像解压缩系统,图像解压缩的实现步骤在5个状态中进行有序、有条件转换,如图3为本发明实施例的图像解压缩方法流程图,图4为本发明实施例的图像解压缩过程的状态机转移图,包括以下步骤:
步骤S1:读取图像压缩数据流中的第一帧原始图像数据,并以第一帧原始图像数据作为基础图像数据。
在本实施例中,图像解压缩系统为上述的图像解压缩系统。行解压缩处理模块读取压缩数据流中的原始图像帧数据,并将完整的原始图像帧数据写入图像帧数据缓存模块,并将图像帧数据缓存模块存储的第一帧原始图像数据作为基础图像数据。
该步骤中图像解压缩过程处于状态1,该状态针对(1)数据段进行,包括以下子步骤:
子步骤S11:解压缩状态控制机启动数据流读取控制器、数据计数器,将读取的数据顺序写入图像行数据缓存。当数据计数器计满了图像一行所需的像素个数后,解压缩状态机停止数据流读取控制器,并启动数据流写入控制器;
子步骤S12:数据流写入控制器将图像行数据缓存中的数据同时搬入图像帧缓存模块和输出数据缓存模块,当写入控制器操作完毕时产生一个脉冲,启动行计数器加1,标示1行数据处理完成。
子步骤S13:重复子步骤S11和S12,直到行计数器计满一帧图像的全部行数。
完成该状态操作时,图像帧数据缓存模块中已保存了完整1帧原始图像,而输出端也输出了完整的一帧图像数据。此后,解压缩状态控制机转入下一个状态。
步骤S1A:扫描图像压缩数据流中预设的对齐编码,未发现预设的对齐编码时继续搜索,发现预设的对齐编码时进入步骤S2。
该步骤中图像解压缩过程处于状态2,状态2针对数据段(2),使用SOF检索模块对输入数据流进行扫描,未发现预设的对齐编码时则继续搜索;若发现事先设定的对齐码则产生触发脉冲,启动解压缩状态控制机,开始进入图像行解压模式;(此处对齐码为事先设定值或约定值,例如:一行像素值全部为0xFFFF,下一行像素值全为0x0000,诸如此类连续相邻两行之间灰度值巨大突变的数据。)
步骤S2:读取并判断第i帧各行中每个图像行压缩数据是否在预先设定的阈值范围内,若图像行压缩数据位于阈值范围内,则将该图像行压缩数据与相同坐标的基础图像数据相加,若图像行压缩数据超出阈值范围,则读取与该超范围数据相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,计算得到第i帧的完整数据图像,并将其作为新的基础图像数据。
其中,i为正整数,且其起始值为2。步骤S2包括以下子步骤:
子步骤S21:从基础图像数据中读取第j行的图像数据。
其中,j为正整数,且其起始值为1。解压缩状态控制机启动数据流写入控制器,从图像帧数据缓存模块中读出一行(第j行)基础图像数据至图像行数据缓存;
子步骤S22:读取第i帧中第j行的第k个图像行压缩数据。
其中,k为正整数,且其起始值为1。
该步骤中图像解压缩过程处于状态3,状态3针对(3)数据段,解压缩状态控制机启动数据流读取控制器、计数器和比较器,数据流读取控制器依次读取压缩数据流中的图像行压缩数据,并将当前读入的数据(如第j行的第k个图像行压缩数据)传输至比较器和加法器。
子步骤S23:判断该图像行压缩数据是否在预先设定的阈值范围内,若是,则将该图像行压缩数据与相同坐标的基础图像数据相加,若否,则存储该图像行非压缩数据对应的坐标。
在比较器内将当前读入的数据与预先设定的阈值进行比较判断,如当前读入的数据在阈值表示范围内,则比较器触发加法器,加法器从图像行数据缓存中取出与当前读入的图像行压缩数据相同坐标地址的数据并将其与当前读入的图像行压缩数据求和,再将计算结果写入图像行数据缓存,更新图像行数据缓存的图像行数据。如果在阈值表示范围以外,则比较器触发OV地址寄存器,将当前读取的像素数据的坐标地址写入该OV地址寄存器。
此步骤实现了δ(p,l,f)=gray(p,l,f)-gray(p,l,f-1)中一种情况的逆过程(即,当前行像素值与相邻上一帧图像中同位置行对应像素值的差异,在设定的阈值范围以内的情况),即根据读入数据B(p,l,f)和图像行数据缓存中的gray(p,l,f一1),求解得到gray(p,l,f)。如果在阈值表示范围以外,则触发OV地址寄存器,将当前像素地址写入该寄存器,等待下一步操作。
子步骤S24:判断k的值是否为第j行包含的像素个数,若否,则设定k=k+1,返回S22处理第j行下一个图像行压缩数据,若是,则进入步骤S25。
在上述过程中,数据计数器记录数据流读取控制器读取的图像行压缩数据的个数,即判断了k的值是否达到第j行包含的像素个数,当数据计数器计满了图像一行所需的像素个数后,第k个图像行压缩数据为第j行的最后一个图像行压缩数据,转入下一个状态。
子步骤S25:逐个读取与所述存储坐标相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,得到第i帧第j行的图像数据,并用其更新基础图像数据的第j行。
该步骤中图像解压缩过程处于状态4,状态4针对(4)数据段,解压缩状态控制机逐个扫描OV地址寄存器中记录的地址数据,解压缩状态控制机触发加法器从图像行数据缓存中取出相同坐标地址的数据,并将此时数据流读取控制器获得的数据,与图像行数据缓存相同地址读出的数据交由加法器计算,再将计算结果写回到图像行数据缓存相应的坐标地址内。启动数据流写入控制器,将图像行数据缓存中的数据搬入到图像帧数据缓存模块和输出数据缓存模块。此时,实际完成了图像帧数据缓存模块中新图像行的刷新,以及新图像行的输出。数据流写入控制器输出完毕的同时产生一个脉冲,启动行计数器加1,标示一行数据处理完成。
此步骤实现了δ(p,l,f)=gray(p,l,f)-gray(p,l,f-1)中另一种情况的逆过程(即,当前行像素值与相邻上一帧图像中同样位置行对应像素值的差异,在设定的阈值范围以外的情况),即根据读入数据O(p,l,f)和图像行数据缓存中的gray(p,l,f-1)求得了gray(p,l,f)。当扫描完OV地址寄存器,解压缩状态机
子步骤S26:判断j的值是否为第i帧图像包含的行数,若否,则设定j=j+1,返回S21处理另一行的图像行压缩数据,若是,则得到第i帧的完整数据图像,将其作为新的基础图像数据;
上述过程中,行计数器记录了图像帧数据缓存模块中刷新的图像数据的行数,即判断了j的值是否为第i帧图像包含的行数,第j行是否为该帧图像最后一行,若没有完成所有行的刷新,则设定j=j+1,返回S21处理另一行的图像行压缩数据,数据流写入控制器从图像帧数据缓存模块读出下一行图像数据缓存至图像行数据缓存,解压缩状态控制器控制数据流读取控制器、比较器、加法器、OV地址寄存器、数据计数器和行计数器处理下一行图像数据,并将处理完成的下一行图像搬入到图像帧数据缓存模块和输出数据缓存模块,完成下一行图像的刷新和输出,直至解压缩状态机扫描行计数器达到图像高度(或图像行数),则此时图像帧缓存模块中保存了完整的第i帧图像数据,而输出端也输出了完整的第i帧图像数据,将其作为新的基础图像数据。
步骤S3:判断第i帧是否为最后一帧,若是,则完成图像解压缩,若否,则设定i=i+1,返回S2。
判断第i帧是否为最后一帧(这个判断过程可以由解压缩状态控制机或数据流读取控制器完成)若是,则完成所有图像帧的解压缩,若否,则设定i=i+1,返回步骤S1A重新检索下一帧图像。该步骤中图像解压缩处于状态5,重复步骤S1A至S3,直至处理完成所有F帧图像的解压。
还需要说明的是,实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向,并非用来限制本发明的保护范围。贯穿附图,相同的元素由相同或相近的附图标记来表示。在可能导致对本发明的理解造成混淆时,将省略常规结构或构造。
并且图中各部件的形状和尺寸不反映真实大小和比例,而仅示意本发明实施例的内容。另外,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。
除非有所知名为相反之意,本说明书及所附权利要求中的数值参数是近似值,能够根据通过本发明的内容所得的所需特性改变。具体而言,所有使用于说明书及权利要求中表示组成的含量、反应条件等等的数字,应理解为在所有情况中是受到「约」的用语所修饰。一般情况下,其表达的含义是指包含由特定数量在一些实施例中±10%的变化、在一些实施例中±5%的变化、在一些实施例中±1%的变化、在一些实施例中±0.5%的变化。
再者,单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。
此外,除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面发明的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种图像解压缩方法,通过图像解压缩系统执行解压,所述图像解压缩 系统包括:行解压缩处理模块、数据包帧头检测模块和图像帧数据缓存模块;所述行解压缩处理模块包括数据流读取控制器、比较器、加法器、OV地址寄存器、图像行数据缓存和解压缩状态控制机;所述图像解压缩 方法,包括:
S1:通过数据流读取控制器读取图像压缩数据流中的第一帧的原始图像数据,所述图像压缩数据流,包括:原始图像帧数据段;对齐编码数据段;图像行压缩数据段;以及图像行非压缩数据段;并以原始图像数据作为基础图像数据;
S2:读取并判断第i帧各行中每个图像行压缩数据是否在预先设定的阈值范围内,若图像行压缩数据位于阈值范围内,则将该图像行压缩数据与相同坐标的基础图像数据相加,若图像行压缩数据超出阈值范围,则读取与该超范围数据相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,计算得到第i帧的完整数据图像,并将其作为新的基础图像数据;
S3:判断第i帧是否为最后一帧,若是,则完成图像解压缩,若否,则设定i=i+1,返回S2;
其中,i的起始值为2;
其中,步骤S2进一步包括:
S21:从基础图像数据中读取第j行的图像数据;
S22:读取第i帧中第j行的第k个图像行压缩数据;
S23:判断该图像行压缩数据是否在预先设定的阈值范围内,若是,则将该图像行压缩数据与相同坐标的基础图像数据相加,若否,则存储该图像行非压缩数据对应的坐标;
S24:判断k的值是否为第j行包含的像素个数,若否,则设定k=k+1,返回S22处理第j行下一个图像行压缩数据,若是,则进入步骤S25;
S25:逐个读取与所述存储坐标相对应的图像行非压缩数据,并将其与相同坐标的基础图像数据相加,得到第i帧第j行的图像数据,并用其更新基础图像数据的第j行;
S26:判断j的值是否为第i帧图像包含的行数,若否,则设定j=j+1,返回S21处理另一行的图像行压缩数据,若是,则得到第i帧的完整数据图像,将其作为新的基础图像数据;
其中,k和j均为正整数,且起始值均为1;
其中,在S1和S2之间还包括S1A:通过数据包帧头检测模块扫描图像压缩数据流中预设的对齐编码,未发现预设的对齐编码时继续搜索,发现预设的对齐编码时进入步骤S2;
其中,通过数据流读取控制器将原始图像帧数据传输至图像行数据缓存,将图像行压缩数据发送至比较器和加法器,将图像行非压缩数据发送至加法器;
通过图像行数据缓存接收原始图像数据,并将其写入图像帧数据缓存模块,并从图像帧数据缓存模块中读取基础图像数据中第j行的图像数据;
通过比较器连接数据流读取控制器、加法器和OV地址寄存器,判断每个图像行压缩数据是否在预先设定的阈值范围内,若在,则发送触发信号至加法器,若不在,则将超阈值范围的数据对应的坐标存储至OV地址寄存器;
通过解压缩状态控制机扫描OV地址寄存器中的地址,控制数据流读取控制器读取对应的图像行非压缩数据,并发送触发信号至加法器;
通过加法器将图像行压缩数据与相同坐标的基础图像数据相加,以及将图像行非压缩数据与相同坐标的基础图像数据相加;
图像行数据缓存还连接加法器,从而将第j行图像数据中相同坐标的基础图像数据传输至加法器进行计算,并从加法器获取更新后的第j行的图像数据,将其传回至图像帧数据缓存模块,更新基础图像数据的第j行;
行解压缩处理模块还包括数据流写入控制器,数据流写入控制器位于图像行数据缓存和图像帧数据缓存模块之间,用于将图像数据在图像行数据缓存和图像帧数据缓存模块之间传输;
行解压缩处理模块还包括数据计数器和行计数器;
通过数据计数器连接数据流读取控制器,记录数据流读取控制器读取的图像数据的个数,从而判断k的值是否为第j行包含的像素个数;
通过行计数器连接数据流写入控制器,记录数据流写入控制器传输的数据的行数,从而判断j的值是否为第i帧图像包含的行数;
还通过解压缩状态控制机采集来自数据包帧头检测模块、数据计数器、OV地址寄存器、行计数器以及外部用户输入的信号,根据逻辑产生图像解压缩流程控制信号,按预定流程有序启/停数据流读取控制器、比较器、加法器、数据流写入控制器,以及产生解压缩数据流的同步有效信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710826772.4A CN107592541B (zh) | 2017-09-13 | 2017-09-13 | 一种图像解压方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710826772.4A CN107592541B (zh) | 2017-09-13 | 2017-09-13 | 一种图像解压方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107592541A CN107592541A (zh) | 2018-01-16 |
CN107592541B true CN107592541B (zh) | 2022-03-04 |
Family
ID=61051617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710826772.4A Active CN107592541B (zh) | 2017-09-13 | 2017-09-13 | 一种图像解压方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107592541B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839230B (zh) * | 2021-01-20 | 2023-04-28 | 上海思朗科技有限公司 | 图像数据压缩装置及图像数据解压缩装置 |
CN114615209B (zh) * | 2022-03-11 | 2024-03-08 | 山东云海国创云计算装备产业创新中心有限公司 | 一种动态适应的图像压缩方法、装置、设备及可读介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9071825B2 (en) * | 2012-04-24 | 2015-06-30 | Tektronix, Inc. | Tiling or blockiness detection based on spectral power signature |
CN106550237B (zh) * | 2015-09-16 | 2020-05-19 | 中国科学院深圳先进技术研究院 | 一种监控视频压缩方法 |
CN106791844B (zh) * | 2016-12-19 | 2019-09-03 | 中国科学院半导体研究所 | 一种图像无损压缩装置及方法 |
-
2017
- 2017-09-13 CN CN201710826772.4A patent/CN107592541B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107592541A (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7689047B2 (en) | Reduced buffer size for JPEG encoding | |
EP3991817A1 (en) | Data processing method and apparatus, computer device, and readable storage medium | |
CN101815168A (zh) | 拍摄装置及变速拍摄方法 | |
CN107592541B (zh) | 一种图像解压方法和系统 | |
CN100422986C (zh) | 执行离散余弦转换/反离散余弦转换的装置及其方法 | |
CN103139567B (zh) | 一种图像压缩和解压缩的方法和装置 | |
CN109743562B (zh) | 基于Census算法的匹配代价计算电路结构及其工作方法 | |
CN103647937A (zh) | 图像跟踪系统及其图像数据处理方法 | |
US7589761B2 (en) | Device and method for transmitting image data | |
JP2009295159A (ja) | メモリのアクセス方法 | |
CN107659815B (zh) | 图像解压方法及执行其的装置 | |
CN104731519B (zh) | 快取存储器管理装置及应用该快取存储器管理装置的动态影像系统及方法 | |
US5623556A (en) | System and method of extracting binary image data | |
CN112019856A (zh) | 一种用于智能手机的视频倒转方法及系统 | |
CN111865324A (zh) | 数据的压缩和解压方法、装置、系统和存储装置 | |
CN103238324A (zh) | 图像处理装置以及图像处理方法 | |
JPH04368086A (ja) | フレーム列画像圧縮方法及びシステム並びにフレーム再構成方法及びシステム | |
JPS5888971A (ja) | 画信号符号化方式 | |
KR100353894B1 (ko) | 제이펙 화상 데이터 버퍼링을 위한 메모리 구조 및 주소어드레스 방법 | |
CN108809320A (zh) | 一种基于lz77的数据压缩方法、设备及终端 | |
CN106791843A (zh) | 一种图像无损压缩系统及方法 | |
CN107680030B (zh) | 一种图像处理器及处理方法 | |
US7469068B2 (en) | Method and apparatus for dimensionally transforming an image without a line buffer | |
WO2020232683A1 (zh) | 一种基于流水式的硬件压缩的系统及方法 | |
US5210713A (en) | Data storage method and first-in first-out memory device |
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 |