CN101448158A - 一种水下视频压缩方法 - Google Patents
一种水下视频压缩方法 Download PDFInfo
- Publication number
- CN101448158A CN101448158A CN 200810249521 CN200810249521A CN101448158A CN 101448158 A CN101448158 A CN 101448158A CN 200810249521 CN200810249521 CN 200810249521 CN 200810249521 A CN200810249521 A CN 200810249521A CN 101448158 A CN101448158 A CN 101448158A
- Authority
- CN
- China
- Prior art keywords
- wavelet
- coefficient
- compressed
- image
- component
- 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.)
- Granted
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种水下视频压缩方法,包括对待压缩图像进行帧内压缩的步骤及帧间压缩的步骤,所述待压缩图像为YUV空间数据,并且在所述帧内压缩步骤及帧间压缩步骤之前,还包括将待压缩图像进行小波变换预处理的步骤;所述小波变换预处理的步骤包括将待压缩图像的Y分量进行至少一级整数小波变换并舍弃其中的LH、HL、HH高频分量中的至少一种的过程。本发明中,由于将待压缩的图像进行小波变换后舍弃其中Y分量的至少部分高频分量,且仅保留了U、V分量的小波变换后的低频分量,因而使得需要编码的数据量得以降低,从而在保证图像质量的前提下从另一方面提高了压缩比。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种水下视频压缩方法。
背景技术
21世纪是人类向海洋进军的世纪,为了探索和开发海洋,人类必须首先要观察海洋。装备有摄像系统的水下机器人是最先进、最方便的水下作业装置。但从水下机器人如何将大量视频图像信息实时传送到水面工作站是目前国内外海洋探索和开发面临的挑战之一。
从水下机器人到水面工作站的无线信息传输只能靠水声信道,而水声信道具有“时变-空变-频变”随机多径传输特性,其有效带宽非常有限,目前的水声数据传输速率一般低于16Kbps。因此,克服以上瓶颈问题的关键技术便是高效视频图像压缩技术的研究。
当前流行的标准视频图像压缩方法(如MPEG-2、MPEG-4、H.263、H.264等)都无法对水下视频图像进行高效压缩,压缩比一般较低,因此无法满足有限带宽水声信道的传输要求。因此亟待出现一种高效地对水下视频图像进行压缩的方法。
发明内容
本发明所要解决的技术问题在于提供一种压缩比更高的水下视频压缩方法。
为了解决上述技术问题,本发明提出一种水下视频压缩方法,包括对待压缩图像进行帧内压缩的步骤及帧间压缩的步骤,所述待压缩图像为YUV空间数据,并且在所述帧内压缩步骤及帧间压缩步骤之前,还包括将待压缩图像进行小波变换预处理的步骤;
所述小波变换预处理的步骤包括将待压缩图像的Y分量进行至少一级整数小波变换并舍弃其中的LH、HL、HH高频分量中的至少一种的过程。
其中,所述小波变换预处理的步骤还包括将所述待压缩图像的U、V分量进行至少一级整数小波变换并仅保留最后一次变换的LL子带的步骤。
其中,所述小波变换预处理的步骤中,对所述Y分量进行一级整数小波变换并舍弃变换后的全部高频分量;并且,对所述U、V分量进行三级整数小波变换并仅保留最后一次变换的LL子带。
其中,所述帧内压缩的步骤包括:
a、对待压缩图像经过小波变换预处理后的Y分量再进行至少一级提升小波变换;
b、对最后一级变换得到的LL子带进行压缩编码;并且,以经过步骤a最后一次小波变换得到的高频子带中的系数为根节点组织小波树,以小波树为单位进行扫描并进行压缩编码。
其中,所述剩余高频子带内的小波系数的扫描顺序为:LH,按行进行扫描;HL,按列进行扫描;HH,进行Zigzag顺序扫描。
其中,所述剩余高频子带中的小波系数的压缩方法为:
b1、确定第一阈值T1;
b2、对小波树进行扫描,如果一个小波树中所有小波系数均小于所述第一阈值T1,则认为该小波树为小波零树,否则认为是重要小波树;
b3、对所述重要小波树内的大于所述第一阈值T1的小波系数进行位置编码及大小编码,其中位置编码采用小波系数位置差降法编码;
所述大小编码的步骤包括:
判断并记录所述重要小波树内的小波系数属于区间[T1,T1+T1/2),或是区间[T1+T1/2,2T1),并将所述记录的对应关系编码传输;
以所述重要小波树内小波系数的原始值与该小波系数所在区间内的一个确定值之差替换所述重要小波树内的小波系数。
其中,所述第一阈值满足以下条件:
至少有一个小波系数的绝对值大于等于该第一阈值;剩余小波系数的绝对值小于二倍的所述第一阈值。
另外,所述帧间压缩的步骤包括:
将所述待压缩图像经过小波变换后的LL低频子带划分为互不重合的块并在其参考帧中搜索匹配块,从而得到运动矢量并进行编码;
并且,根据所述待压缩图像中的原始块与所述参考帧中的匹配块得到残差数据;
对该残差数据进行编码:
A、对所述残差数据进行至少一级小波变换;
B、将第一设定值与所述残差数据中的最大值之间的区间二等分,得到中间点第一等分值;
C、将所述残差数据划分为互不重合的块,并且若一个块中大于等于所述第一设定值的系数的个数达到了第一系数预设值,则认为该块为重要子块;
对所述重要子块在所述残差数据中的位置采用位置差降法进行编码;
对所述重要子块中大于等于所述第一设定值的系数,分别在阈值为所述第一等分值和所述第一设定值时以位置差降法进行位置编码,以及大小编码。
其中,所述运动矢量编码的步骤包括:
将运动矢量分解到位平面;
将所述位平面中的数值位平面转换为格雷码;
对所述转换后的格雷码进行算术编码,并且在算术编码的过程中应用概率模型降低编码数。
另外,帧间压缩的过程中,将待压缩图像的U、V分量经过最后一次变换得到的LL子带划分为互不重合的子块,对于每个子块采用该待压缩图像的Y分量的运动估计结果确定对应的U、V分量的匹配块,并进行预测补偿编码。
本发明中,由于将待压缩的图像进行小波变换后舍弃其中Y分量的至少部分高频分量,且仅保留了U、V分量的小波变换后的低频分量,因而使得需要编码的数据量得以降低,从而在保证图像质量的前提下从另一方面提高了压缩比。
并且,在帧内扫描压缩的过程中,由于采用了以小波树为单位进行扫描压缩,因而充分的考虑了小波树内系数的相关性,当图像中含有大量小波零树时,可以达到较高的压缩比;
另外,在帧间扫描压缩的过程中,对于残差数据的处理可以保证重要系数位置分布的紧凑性,提高了压缩比。此外,由于采用两个确定的不同阈值进行两次扫描编码,使其既没有丢失重要系数,又能较好的逼近保留重要系数。
所述运动矢量的编码过程中,由于将位平面转换为格雷码,这样可以使运动矢量分解到位平面后“0”或者“1”大面积出现,有效地将“0”,“1”的概率拉开,为后续的算术编码提供了有利条件,减少了编码量;另一方面,因为“0”“1”数据流中二进制位之间具有一定的相关性,因而在算术编码的过程中采用了概率模型,更加节省了编码数量,从另一方面提高了压缩比。
而,在帧间压缩的过程中,对U、V分量由于直接采用了Y分量的运动矢量,因而也降低了压缩的复杂度。
附图说明
图1是对待压缩图像分量Y进行一级小波变换后形成的子带的一个实施例的示意图;
图2是对待压缩图像分量U、V分别进行三级提升整数小波变换后形成的子带的一个实施例的示意图;
图3是对Y分量预处理后的低频子带LL进行三级提升小波变换后形成的子带和构建的小波树的一个实施例的结构示意图;
图4是经过预处理的Y分量的LL子带再经过三级提升小波变换后的包含具体系数的数据分布一个实施例的示意图;
图5是帧间压缩中确定两个阈值的一个实施例的示意图;
图6是残差数据的一个实施例的示意图;
图7是本发明一种水下视频压缩方法的一个实施例的流程图;
图8是图7所示实施例中帧内压缩的一个实施例的流程图;
图9是图8所示实施例中对重要系数大小编码的一个实施例的流程图;
图10是图7所示实施例中帧间压缩的一个实施例的流程图。
具体实施方式
下面结合附图对本发明进行详细阐述。
参考图7,图示了本发明一种水下视频压缩方法的一个实施例的流程图。如图所示,包括以下步骤:
步骤S71,将RGB空间的待压缩图像转换为YUV空间。
即,本步骤中,若原始的待压缩图像是RGB空间的图像,则转换为YUV,若原始的待压缩图像即是YUV空间的图像,则无需本步骤直接执行后续步骤。
同时,由于RGB转YUV已经是公知的技术,在此对具体的转换过程不作阐述。
步骤S72,对YUV空间的待压缩图像进行预处理。
本步骤中,对YUV空间数据中的Y(亮度)分量进行一级整数小波变换,由此得到LL、LH、HL、HH四个子带。其中,由于经过变换后,图像的主要能量集中在低频子带LL上,因而舍弃所述LH、HL、HH三个高频子带,仅保留LL低频子带。
例如,参考图1,图中示出了经过一级整数小波变换后的Y分量的子带示意图,图中主要能量集中于LL1低频子带中。其中LL、LH、HL、HH后的1表示经过几次小波变换所得到的子带,后续不再说明。
对于YUV空间数据中的U、V(色度)分量,则进行三级整数小波变换。其中,仅保留经过最后一次变换后的LL低频分量。
例如,参考图2,图示了对待压缩图像分量U、V分别进行三级提升整数小波变换后形成的子带的一个实施例的示意图。如图所示,经过最后一级变换所得到的LL低频子带为LL3,在此仅保留该LL3子带。
经过本步骤的预处理之后,因为Y分量经过一级小波变换后LL图像的面积为原始图像的1/4,U、V色度分量LL3图像的面积仅为原始图像的1/64,所以既可以大大降低待压缩的数据量和提高压缩比,又可以降低压缩计算量和提高压缩计算的速度。
需要说明的是,所述Y分量和U、V分量所进行小波变换的次数并不限于上述的一次和三次,其可以具体根据压缩比的需要进行调整,若期望压缩比更高,则可以提高变换级数,反之,可以降低变换级数。可以看出,级数无论如何变换也均不脱离本发明的原理,均在本发明的保护范围内。
步骤S73,进行帧内压缩和帧间压缩。
其中,帧内压缩的一个实施例可以参考图8及其文字说明,帧间压缩的一个实施例可以参考图9及其文字说明。
步骤S74,结束。
参考图8,图示了图7所示实施例中帧内压缩的一个实施例的流程图。如图所示,包括以下步骤:
步骤S81,对Y分量进行3级提升小波变换。
本步骤中,即是对经过预处理后得到的Y分量的LL低频子带再进行上述的3级提升小波变换。
参考图3,图示了对Y分量预处理后的低频子带LL进行三级提升小波变换后形成的子带和构建的小波树的一个实施例的结构示意图。如图所示,以图中所示的方式按小波4叉树方式进行数据组织。例如,以经过最后一次变换得到的HL3子带中的一个系数为根节点,该根节点在HL2中对应四个后代,而HL2中的四个后代中每个又对应4个后代(这样有4*4=16个后代)。所述的根节点与它的四个后代,再与该四个后代对应的16个后代(共1+4+16=21)共21个数据构成一个小波树。例如:
在三级变换后的子带内任意一个位置(i,j)对应的系数x(i,j)为一个根节点,在二级变换后的对应子带对应4个后代:x(2i,2j),x(2i,2j+1),x(2i+1,2j),x(2i+1,2j+1),相应地,这4个后代在一级变换后的对应子带共对应16个后代:x(4i,4j),x(4i,4j+1),x(4i+1,4j),x(4i+1,4j+1),x(4i,4j+2),x(4i,4j+3),x(4i+1,4j+2),x(4i+1,4j+3),x(4i+2,4j),x(4i+2,4j+1),x(4i+3,4j),x(4i+3,4j+1),x(4i+2,4j+2),x(4i+2,4j+3),x(4i+3,4j+2),x(4i+3,4j+3)。x(i,j)与它的4个后代,连同这4个后代对应的16个后代(共21个数据)共同构成一棵小波树。
同样,对于HH3子带来说,图中也举例示出了一个小波树的示意;对于LH3子带也同样举例示出了一个小波树。
步骤S82,对LL3子带进行压缩编码。
即,对于经过步骤S81变换后,对于经最后一级变换得到的LL3子带进行压缩编码。
在本发明的一个实施例中,所述LL3的压缩编码可以采用差分脉冲编码调制(DPCM)预测加预测误差熵编码的方法进行无损压缩。由于这种压缩方法已是现有技术,在此仅对其简要的说明:
DPCM预测的基本思想建立在图像中邻近像素高度相关的事实基础上。预测编码的突出技术特点是不直接传送像素值,而对实际像素值与它的一个预测值之间的差值进行编码和传送,这种差值称为预测误差。由于预测值是以在当前像素前已经传出的若干邻近像素作为参考像素预测出来的,因此,预测误差可以认为是待传像素所携带的新信息。预测编码通过由像素值到预测误差这种映射方式消除或者削弱了相邻像素间存在于空间及时间上的冗余度,在所传送的信息流中,后续时刻所传送的只是新的信息,从而可以实现数据压缩。我们是利用当前像素左边和上边的像素作为参考像素进行预测的。假设当前像素是x(i,j),左面的像素是x(i,j-1),上面的像素是x(i-1,j),那么当前像素的预测误差是x(i,j)-(x(i,j-1)+x(i-1,j))/2,我们只对预测误差进行编码。而对于其余的高频子带,首先以图3所示的方式按小波4叉树方式进行数据组织,然后对构建的小波树进行扫描压缩编码。
后续步骤S83至S87是对剩余的高频子带进行扫描压缩的步骤。
步骤S83,确定第一阈值T1。
该第一阈值T1通过以下方式确定:
T1应该使得所述剩余的高频子带中至少有一个小波系数大于等于该第一阈值T1;并且,使得剩余的小波系数均小于2倍的所述第一阈值T1。
步骤S84,对小波树进行扫描以确定小波零树和重要小波树。
在本步骤中,对剩余高频子带中同一级的子带按以下顺序扫描:HL—>LH—>HH。
对于子带内部的小波系数的扫描顺序为:HL内的小波系数按列进行扫描;LH内的小波系数按行进行扫描;HH内的小波系数按Zigzag顺序进行扫描。上述扫描顺序可以使得重要系数的分布更加紧凑,从而减少编码量。
在上述扫描顺序的控制下,对各个小波树进行考察:
如果一个小波树中所有的小波系数均小于所述第一阈值T1,则认为该小波树为小波零树,整个小波树用二进制0标记;否则,认为该小波树为重要小波树,重要小波树用二进制1标记。所述对整个小波树的标记也需要进行编码传输至解码端。
步骤S85,对重要小波树进行位置编码和大小编码。
本步骤中,对重要小波树进行考察,对重要小波树中大于所述第一阈值T1的小波系数(称之为重要系数)进行编码。该编码包括位置编码和大小编码,其中位置编码采用小波系数位置差降法(WDR)方法进行压缩编码,而大小编码的一个实施例则可以参考图9及其文字说明。
其中,所述位置差降法为公知技术,原理及详细介绍可以图考文献:Y.Yuanand M.K.Mandal.Novel embedded image coding algorithms based on waveletdifference reduction,IEE.Proc.Vision,Image and Signal Processing 152(1)(2005)9-19。
为了更为清楚的说明本发明,对应用该位置差降法进行位置编码进行举例说明:
参考图4,图示了经过预处理的Y分量的LL子带再经过三级提升小波变换后的包含具体系数的数据分布一个实施例的示意图。
以HL3高频子带为例进行说明:设当前的第一阈值为32,图中没有数据的块表示块内小波系数的绝对值小于32,是不重要的系数。
HL3子带的小波树按列进行扫描。子带内第一个,第二个小波树都是小波零树,输出2个二进制位“0”。第三个小波树包含重要系数,是重要小波树,输出二进制位“1”。接下来对该重要小波树(图中圈内所包含的系数构成的小波树)进行扫描和WDR编码。
扫描遇到的系数依次为:32,0,-52,36,0,0,50,0,0,0,0,0,0,0,60,0,0,0,0,0,-62,其中0表示不重要的系数。得到的重要系数位置依次为:1,3,4,7,15,21。我们进一步处理得到重要系数的位置差:1,2,1,3,8,6。这一系列位置差用二进制表示为:1、10、1、11、1000、110。因为这些二进制表示的最高位始终是1,我们就可以不对1进行编码。同时这些重要系数的符号在编码时可以用作各个位置差的间隔。这样我们就得到了编码数据流:+-0++1+000-10。其中,包含四种符号(即+、-、0、1)因而可以采用两位二进制进行编码。
再以HH3高频子带为例进行说明:HH3子带的小波树按Zigzag顺序进行扫描。子带的第一,二,三个小波树都是小波零树,输出二进制位“0”。第四个小波树包含重要系数,输出二进制位“1”。接下来对该小波树进行扫描和WDR编码。
扫描遇到的重要系数依次为:52,0,0,0,60,0,51,0,0,0,0,0,-32,0,0,0,0,0,0,62,0。得到的重要系数位置依次为:1,5,7,13,20。我们进一步处理得到重要系数的位置差:1,4,2,6,7。这一系列位置差用二进制表示为:1、100、10、110、111,同时这些重要系数的符号在编码时可以用作各个位置差的间隔,这样我们就得到了编码数据流++00+0-10+11。其中,包含四种符号(即+、-、0、1)因而可以采用两位二进制进行编码。
再以LH3高频子带为例进行说明:LH3子带的小波树按行进行扫描。第一个小波树包含重要系数,是重要小波树,输出二进制位“1”。接下来对该小波树进行扫描和WDR编码。
扫描遇到的系数依次为:36,-40,60,32,0,0,0,0,50,0,0,0,0,0,0,0,0,0,0,0,58,其中0表示不重要的系数。得到的重要系数位置依次为:1,2,3,4,9,21。我们进一步处理得到重要系数的位置差:1,1,1,1,5,12。这一系列位置差用二进制表示为:1、1、1、1、101、1100,同时这些重要系数的符号在编码时可以用作各个位置差的间隔,这样我们就得到了编码数据流:+-+++01+100。其中,包含四种符号(即+、-、0、1)因而可以采用两位二进制进行编码。
步骤S86,判断是否达到设定的压缩比特量,若是,则执行步骤S88,否则执行步骤S87。
即,经过上述各个步骤将该图像的全部小波树均进行扫描压缩后,再由本步骤判断压缩后的数据量是否达到了设定的限制量,若是,则表明不能再进行压缩,故而执行步骤S88,否则则表明还可以继续进行压缩,以使得解码端还原出的图像质量更佳,故而执行步骤S87。
步骤S87,更新所述第一阈值。
即,通过步骤S86判定还可以继续进行压缩时,此时将所述第一阈值更新,也就是重新设定新的第一阈值,具体的是将所述第一阈值减小。
在本发明的一个优选的实施例中,本步骤将第一阈值更新为上一次设定的第一阈值的一半。
将所述第一阈值减小的目的是为了使得对图像的描绘更加细致,使得解码端还原的效果更逼真。
本步骤结束后执行步骤S84。即,更新阈值后,重新执行上述的扫描压缩流程。
步骤S88,结束。
参考图9,图示了图8所示实施例中对重要系数大小编码的一个实施例的流程图。如图所示,包括以下步骤:
步骤S91,确定所述重要系数所属区间并对表征这种区间的对应关系进行编码。
在本步骤中,判断所述重要系数的值属于下述两个区间中的哪个区间:[T1,T1+T1/2)、[T1+T1/2,2T1)
若属于区间[T1,T1+T1/2),则用二进制0编码;若属于区间[T1+T1/2,2T1),则用二进制1编码。
这样一来,解码端便可以通过判断区间的编码来确定其属于哪个区间,从而便可以确定下属步骤中该区间的中值。
为了更便于理解本发明,下面以仍以图4为例进行说明:
以上述步骤S85中HL3高频子带中的小波树为例进行说明:
假设T1=32,这样两个区间分别是[32,48)和[48,64);当重要系数的绝对值落在[32,48)区间时,编码输出二进制位“0”;当落在[48,64)区间时,编码输出二进制位“1”。所以重要系数产生的细化码流为:010111。
各重要系数用原始值与编码值的差来代替,其中属于区间[32,48)的编码值为40,属于区间[48,64)的编码值为56。这样一来,32,-52,36,50,60,-62依次用差值表示,变为:-8,4,-4,-6,4,-6。该HL3子带的小波树编码完成。
再以上述步骤S85中HH3高频子带中的小波树为例进行说明:
仍然采用上述的区间,首先对各重要系数所述区间进行编码,得到码流11101,并用原始值与编码值的差来代替。这样一来,52,60,51,-32,62依次用差值表示,变为:-4,4,-5,8,6。该HH3子带的小波树编码完成。
再以上述步骤S85中LH3高频子带为例进行说明:
仍然采用上述的区间,首先对各重要系数所述区间进行编码,得到码流001011。各重要系数用原始值与编码值的差来代替。这样一来,36,-40,60,32,50,58依次用差值表示,变为:-4,0,4,-8,-6,2。该LH3子带的小波树编码完成。
步骤S92,以所述重要系数的原始值与其所属区间内的一个确定值之差替换所述重要系数。
对于每个重要系数,用其所属区间中的一个确定值来作为其编码值。在本发明的一个优选的实施例中,以其所述区间的中值作为编码值。并且,将所述重要系数的原始值与编码值之差替换所述重要系数。
以上述步骤S85中HL3高频子带中的小波树为例进行说明:
各重要系数用原始值与编码值的差来代替,其中属于区间[32,48)的编码值为40,属于区间[48,64)的编码值为56。这样一来,32,-52,36,50,60,-62依次用差值表示,变为:-8,4,-4,-6,4,-6。该HL3子带的小波树编码完成。
再以上述步骤S85中HH3高频子带中的小波树为例进行说明:
仍然采用上述的区间,用原始值与编码值的差来代替。这样一来,52,60,51,-32,62依次用差值表示,变为:-4,4,-5,8,6。该HH3子带的小波树编码完成。
再以上述步骤S85中LH3高频子带为例进行说明:
仍然采用上述的区间,各重要系数用原始值与编码值的差来代替。这样一来,36,-40,60,32,50,58依次用差值表示,变为:-4,0,4,-8,-6,2。该LH3子带的小波树编码完成。
需要说明的是,本步骤中用差值替代所述重要系数是为了在下次更新阈值后,进一步对符合新阈值的重要系数(包含了被差值替代的位置)进行扫描编码以使得还原出的图像更加细腻。由于过程类似,在此不做进一步描述。
步骤S93,结束。
参考图10,图示了图7所示实施例中帧间压缩的一个实施例的流程图。如图所示,包括以下步骤:
步骤S101,将经过预处理的Y分量的LL子带划分为互不重合的子块。
本步骤中,针对经过预处理后的Y分量的LL子带,即经过一次小波变换后的Y分量的LL子带。
将所述LL子带划分为不重合的子块,例如划分为8×8的子块。各个子块之间不重合。
步骤S102,在其参考帧中寻找各个子块的匹配块得到运动矢量。
本步骤中,由于仅仅针对LL子带,因而使得匹配块的搜索也在参考帧的LL子带中进行,因而搜索面积降低为原来的1/4;以8×8的子块为例,则可以以所述子块的参考帧中同位置的对应子块为中心,上下左右各7个像素的范围内进行全搜索。
搜索到所述匹配块后,则就得到了所述子块的运动矢量。
步骤S103,对所述子块进行预测补偿得到残差数据。
即,根据所述子块与其匹配块计算得到对应的残差数据。为了降低预测残差的方块效应,本发明的一个优选的实施例中,采用重叠块运动补偿方法,其中加权窗函数采用升余弦窗函数:
其中N可以取8、16等值,分别对应8×8的子块划分和16×16的子块划分。
对于所述“重叠块运动补偿方法”在以下文献中有详细的描述,在此不进行赘述:
Orchard M.T.and Sullivan G.J..Overlapped block motion compensation:Anestimation-theoretic approach,IEEE Trans.on Image Processing.3(5)(1994):693-699。
步骤S104,对残差数据进行一级小波变换。
本步骤的目的在于进一步的降低残差数据的空间相关性和降低残差数据的取值范围。
步骤S105,将第一设定值与变换后的残差数据中最大值所构成的区间二等分,确定第一等分值。
即,首先确定所述变换后的残差数据中的最大值,然后取该最大值与所述第一设定值的中间值。如图5中所示,所述第一设定值为10,Amax表示所述残差数据中的最大值,而10+(Amax-10)/2则是所述第一等分值,也就是10与Amax区域的中值。
并且,本步骤中将小于所述第一设定值的残差数据(也就是残差系数)忽略。
步骤S106,将所述残差数据划分为不重合的子块并确定重要子块。
在本发明的一个优选的实施例中,可以划分为4×4子块。并且,判断是否是重要子块的方法为,若一个子块中有三个以上的系数大于所述第一设定值,则认为所述子块为重要子块。
参考图6,图示了残差数据的一个实施例的示意图。如图所示,该残差数据是一个16×16的块,其包含了16个4×4子块,其中粗线所圈定的6个子块即为重要子块,因为其中均包含三个以上大于所述第一设定值10的系数。
步骤S107,对所述重要子块进行位置编码。
本步骤中,位置编码可以采用WDR编码。为了有助于理解本发明,下面仅以图6为例(所述第一设定值为10)进行说明:
图中未标志数据的点代表系数值不重要(即小于10的被忽略的系数),从图中可以看出,绝对值最大的系数Amax=60,这样我们得到两个编码阈值:第一设定值10和第一等分值35。边框线条加粗的子块代表重要子块。
按图示箭头顺序对重要子块的位置进行WDR压缩编码。重要子块的位置依次为:1,3,6,11,13,16,17。最后的“17”为结束符。进一步处理得到重要子块的位置差:1,2,3,5,2,3,1。这一系列位置差用二进制表示为:1、10、11、101、10、11、1,其中不对最高位“1”进行编码,最终得到的编码数据流是:++0+1+01+0+1+,其中“+”表示间隔符号,没有实际意义。
然后沿着重要子块的扫描路径把所有子块中的系数展成一维序列:32、16、40、-50、15、-32、30、20、25、40、-42、60、20、16、45、56、49、16、55、20、25、50、52、46、28、-12。再按照WDR方法对重要系数的位置进行压缩编码。所述WDR编码过程可以参考上述的文献,在这里不进行详细的描述。
步骤S108,以所述第一等分值为阈值对重要子块内的重要系数的位置及大小进行编码。
仍以图5、图6为例,其中第一设定值为10,Amax=60,所述第一等分值为35。
其中,一维序列中重要系数的位置依次是:14,15,37,45,46,62,64,65,73,81,83,91,97(此处大于阈值35的被视为重要系数)。最后的“97”为结束符。进一步处理得到重要系数的位置差:14,1,22,8,1,16,2,1,8,8,2,8,6。位置差用二进制表示为:1110、1、10110、1000、1、10000、10、1、1000、1000、10、1000、110,不对最高位“1”进行编码,重要系数的符号用作各个位置差的间隔,最终得到的编码数据流是:+110-+0110-000++0000+0++000+000+0+000+10。
之后,对所述重要系数的大小进行编码。当重要系数的绝对值落在[35,47)区间时,输出二进制位“0”;当落在[47,60)区间时,输出二进制位“1”。所以重要系数产生的细化码流为:010010111110。所述数值47为区间[35,60)的中值,也即图5中M2的位置,表示为[Amax-[10+(Amax-10)/2]]/2+35,对于本Amax=60的实施例来说,则是[60-[10+(60-10)/2]]/2+35=35+25/2≈47。即,本步骤的大小编码相当于对所述重要系数的进一步细化编码。
同样,上述大小编码时的阈值也不限于是所属区间的中间值,其可以是任意设定的数值。
步骤S109,以所述第一设定值为阈值对重要子块内的重要系数的位置进行编码。
仍以图5、图6为例,其中第一设定值为10,Amax=60,所述第一等分值为35。
本步骤中,以这样一来,一维序列中重要系数的位置依次是:2,5,17,20,21,28,33,50,55,66,77,79,94,96,97(此处大于阈值10小于阈值35的被视为重要系数)。最后的“97”为结束符。进一步处理得到重要系数的位置差:2,3,12,3,1,7,5,17,5,11,11,2,15,2,1。位置差用二进制表示为:10,11,1100,11,1,111,101,10001,101,1011,1011,10,1111,10,1,不对最高位“1”进行编码,重要系数的符号用作各个位置差的间隔,最终得到的编码数据流是:+0+1+100-1++11+01+0001+01+011+011+0+111-0+。
之后,对所述重要系数的大小进行编码。当所述重要系数的绝对值落在[10,22)区间时,输出二进制位“0”;当落在[22,35)区间时,输出二进制位“1”。所以重要系数产生的细化码流为:10011010000110。所述数值22为区间[10,35)的中值,也即图5中M1的位置,表示为[10+(Amax-10)/2-10]/2+10,对于本Amax=60的实施例来说,则是[10+(60-10)/2-10]/2+10≈22。即,本步骤的大小编码相当于对所述重要系数的进一步细化编码。
同样,上述大小编码时的阈值也不限于是所属区间的中间值,其可以是任意设定的数值。
需要说明的是,上述结束符只是起到标记作用,只要其不在所述残差数据所在范围内即可。
步骤S110,结束。
以上对重要子块及重要子块内的重要系数的位置编码的方法保证了重要系数位置分布的紧凑性,有利于压缩比的提高。此外,因为编码的系数取值范围较小,可以由确定的两个阈值进行两次扫描编码即可,既没有丢失重要系数,又能较好地逼近保留的重要系数。
其中,对步骤S102中得到的运动矢量来说,首先将其分解为位平面,然后再将该位平面转换为格雷码,最后对转换后的格雷码进行算术编码。在所述算术编码的过程中,加入概率模型以减少编码量。在本发明的一个优选的实施例中,以步骤S101中划分为8×8子块为例:
因为运动矢量(mvx,mvy)的各分量值的范围是±7,其绝对值可以表示为以2为基底的多项式,即
mv=b222+b121+b020 (2)
所有运动矢量数据的绝对值可以分解为3个位平面,第i个位平面由所有运动矢量数据绝对值的第i个比特位(bi)组成。符号位也组成了一个位平面(1表示正,0表示负),并作为最高位平面。
最低的3个数值位平面(除符号位以外的位平面)按格雷(Gray)码进行比特平面分解。二进制码到格雷码的转换公式为:
其中i=0,1 (3)
bi,gi分别表示二进制码和格雷码的第i个比特位。这样做的原因是,相邻的运动矢量具有一定的相似性,格雷码的突出特点是相邻整数的二进制表示只相差一个二进制位,这样可以使运动矢量分解到位平面后“0”或者“1”大面积出现,有效地将“0”,“1”的概率拉开,为接下来要进行的算术编码提供了有利条件(当使用算术编码对“0”“1”数据流进行编码时,“0”“1”出现的概率相差越大,所需要的编码数越少)。本发明将所有位平面按行首尾相接的顺序,形成一维的“0”“1”数据流,再使用JPEG2000中的MQ算术编码[6]方法对“0”“1”数据流进行压缩编码。
本发明为降低方法的复杂性,采用1阶概率模型。因为“0”“1”数据流中二进制位之间具有一定的相关性,所以在二进制位“0”之后,二进制位“0”再一次出现的可能性比较大,即在“0”出现的条件下,下一个二进制位是“0”的条件概率远远大于下一个二进制位是“1”的条件概率,用公式表示为:
p(0|0)>>p(1|0) (4)
同样的,还有
p(1|1)>>p(0|1) (5)
这样,在待编码位前一个二进制位是“0”或者是“1”的条件下,“0”“1”出现的概率差距远远超出统计所有二进制位得出的“0”“1”概率(p(0)和p(1))的差距。编码时通过判断待编码二进制位前面的位是“0”或是“1”,使用不同的条件概率(待编码位前面的位是“0”,使用p(0|0)和p(1|0);待编码位前面的位是“1”,使用p(0|1)和p(1|1))。由于p(0|0)和p(1|0),p(0|1)和p(1|1)的差距更大,所以更有利于节省编码数。这里我们使用待编码位前面的1个二进制位作为条件概率的判断条件,所以称之为1阶概率模型,假如我们使用前面2个或以上二进制位作为判断条件,“0”“1”出现的概率差别会更大,但是会消耗较多的系统时间和空间。所以综合考虑我们采用1阶概率模型。本发明事先扫描统计出1阶模型的条件概率,然后再按MQ算术编码方法进行压缩编码。
需要说明的是,以上的帧内或帧间的压缩方式仅阐述了对Y分量的操作。对于帧内压缩来说,经过预处理后的U、V分量直接采用DPCM预测加预测误差熵编码方法进行无损压缩。
所述DPCM预测和预测误差熵编码方法均是公知技术,其中DPCM可以参考上述的相关描述,而预测误差熵编码方法则可以参考:王汇源.数字图像通信原理与技术,国防工业出版社,2000.9:54—57。
其中,对于U、V分量来说,由于进行帧内压缩时其面积仅为原始图像的1/64(经过三级整数小波变换),因而极大的降低了信息量,提高了压缩比。
对于帧间压缩来说,图像的色度分量U、V,运动补偿是在预处理后对应的LL3子带进行。因为LL3子带图像较小,其长宽尺寸分别是亮度分量Y低频子带LL1长宽尺寸的1/4。因此在帧间预测中,本发明将前图像预处理后的色度分量U、V的LL3子带划分为互不重叠的2×2子块,然后对每个子块,直接利用亮度分量Y的LL1的运动估计结果,确定匹配子块并进行预测补偿。这样通过非常简短的运算过程便可以充分利用色度分量U、V的帧间相关性,有效减小了预测误差值,而预测误差采用霍夫曼熵编码方法编码,所以最终减少了所需的编码数。其中,对于U、V分量进行预测补偿后的残差数据来说,由于数据量较少,其直接进行熵编码后传输至解码端。
通过以上描述可知,本发明所述的编码方法最终传输的数据包括:
帧内编码部分包括Y分量经过预处理后并经过3次提升小波变换后的LL3子带的DPCM预测误差的熵编码,U、V分量经过预处理后的LL3子带的DPCM预测误差的熵编码,Y分量经过预处理后并经过3次提升小波变换后的高频子带的位置编码和大小编码,以及所述第一阈值T1;
帧间编码部分包括Y分量经过预处理后并经过运动估计得到的残差数据中重要子块的位置编码,所述重要子块内重要系数的位置编码和大小编码,所述残差数据中绝对值最大的系数,以及U、V分量直接采用所述Y分量的运动估计结果得到的残差(预测误差)的熵编码。
当前标准视频图像压缩方法(如MPEG-2、MPEG-4、H.263、H.264等)都无法对水下视频图像进行高效压缩,压缩比一般小于150:1,而按照本发明提出的方法,压缩比范围可以达到:250:1至500:1,基本满足水声信道传输速率为16Kbps时的带宽要求。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1、一种水下视频压缩方法,包括对待压缩图像进行帧内压缩的步骤及帧间压缩的步骤,其特征在于,所述待压缩图像为YUV空间数据,并且在所述帧内压缩步骤及帧间压缩步骤之前,还包括将待压缩图像进行小波变换预处理的步骤;
所述小波变换预处理的步骤包括将待压缩图像的Y分量进行至少一级整数小波变换并舍弃其中的LH、HL、HH高频分量中的至少一种的过程。
2、根据权利要求1所述的方法,其特征在于,所述小波变换预处理的步骤还包括将所述待压缩图像的U、V分量进行至少一级整数小波变换并仅保留最后一次变换的LL子带的步骤。
3、根据权利要求2所述的方法,其特征在于,所述小波变换预处理的步骤中,对所述Y分量进行一级整数小波变换并舍弃变换后的全部高频分量;并且,对所述U、V分量进行三级整数小波变换并仅保留最后一次变换的LL子带。
4、根据权利要求1至3中任一项所述的方法,其特征在于,所述帧内压缩的步骤包括:
a、对待压缩图像经过小波变换预处理后的Y分量再进行至少一级提升小波变换;
b、对最后一级变换得到的LL子带进行压缩编码;并且,以经过步骤a最后一次小波变换得到的高频子带中的系数为根节点组织小波树,以小波树为单位进行扫描并进行压缩编码。
5、根据权利要求4所述的方法,其特征在于,所述剩余高频子带内的小波系数的扫描顺序为:LH,按行进行扫描;HL,按列进行扫描;HH,进行Zigzag顺序扫描。
6、根据权利要求4所述的方法,其特征在于,所述剩余高频子带中的小波系数的压缩方法为:
b1、确定第一阈值T1;
b2、对小波树进行扫描,如果一个小波树中所有小波系数均小于所述第一阈值T1,则认为该小波树为小波零树,否则认为是重要小波树;
b3、对所述重要小波树内的大于所述第一阈值T1的小波系数进行位置编码及大小编码,其中位置编码采用小波系数位置差降法编码;
所述大小编码的步骤包括:
判断并记录所述重要小波树内的小波系数属于区间[T1,T1+T1/2),或是区间[T1+T1/2,2T1),并将所述记录的对应关系编码传输;
以所述重要小波树内小波系数的原始值与该小波系数所在区间内的一个确定值之差替换所述重要小波树内的小波系数。
7、根据权利要求6所述的方法,其特征在于,所述第一阈值满足以下条件:
至少有一个小波系数的绝对值大于等于该第一阈值;剩余小波系数的绝对值小于二倍的所述第一阈值。
8、根据权利要求1至3中任一项所述的方法,其特征在于,所述帧间压缩的步骤包括:
将所述待压缩图像经过小波变换后的LL低频子带划分为互不重合的块并在其参考帧中搜索匹配块,从而得到运动矢量并进行编码;
并且,根据所述待压缩图像中的原始块与所述参考帧中的匹配块得到残差数据;
对该残差数据进行编码:
A、对所述残差数据进行至少一级小波变换;
B、将第一设定值与所述残差数据中的最大值之间的区间二等分,得到中间点第一等分值;
C、将所述残差数据划分为互不重合的块,并且若一个块中大于等于所述第一设定值的系数的个数达到了第一系数预设值,则认为该块为重要子块;
对所述重要子块在所述残差数据中的位置采用位置差降法进行编码;
对所述重要子块中大于等于所述第一设定值的系数,分别在阈值为所述第一等分值和所述第一设定值时以位置差降法进行位置编码,以及大小编码。
9、根据权利要求8所述的方法,其特征在于,所述运动矢量编码的步骤包括:
将运动矢量分解到位平面;
将所述位平面中的数值位平面转换为格雷码;
对所述转换后的格雷码进行算术编码,并且在算术编码的过程中应用概率模型降低编码数。
10、根据权利要求8所述的方法,其特征在于,帧间压缩的过程中,将待压缩图像的U、V分量经过最后一次变换得到的LL子带划分为互不重合的子块,对于每个子块采用该待压缩图像的Y分量的运动估计结果确定对应的U、V分量的匹配块,并进行预测补偿编码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810249521 CN101448158B (zh) | 2008-12-19 | 2008-12-19 | 一种水下视频压缩方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200810249521 CN101448158B (zh) | 2008-12-19 | 2008-12-19 | 一种水下视频压缩方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101448158A true CN101448158A (zh) | 2009-06-03 |
CN101448158B CN101448158B (zh) | 2012-03-14 |
Family
ID=40743505
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810249521 Expired - Fee Related CN101448158B (zh) | 2008-12-19 | 2008-12-19 | 一种水下视频压缩方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101448158B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566842A (zh) * | 2017-08-31 | 2018-01-09 | 西安万像电子科技有限公司 | 图像编解码压缩的方法、装置和系统 |
CN107948644A (zh) * | 2017-12-12 | 2018-04-20 | 桂林电子科技大学 | 一种水下图像压缩方法及传输方法 |
CN109067405A (zh) * | 2018-07-27 | 2018-12-21 | 深圳还是威健康科技有限公司 | 一种数据压缩的方法、装置、终端及计算机可读存储介质 |
CN109857709A (zh) * | 2019-02-22 | 2019-06-07 | 中国人民解放军空军研究院战略预警研究所 | 一种数据压缩方法及装置 |
CN114025166A (zh) * | 2021-11-04 | 2022-02-08 | 成都信息工程大学 | 视频压缩方法、电子设备及计算机可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100366382B1 (ko) * | 2001-02-12 | 2002-12-31 | (주) 멀티비아 | 동영상 부호화 장치 및 방법 |
CN101155300A (zh) * | 2006-09-26 | 2008-04-02 | 中国科学院声学研究所 | 一种高误比特率下基于离散小波变换的水声图像压缩方法 |
-
2008
- 2008-12-19 CN CN 200810249521 patent/CN101448158B/zh not_active Expired - Fee Related
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107566842A (zh) * | 2017-08-31 | 2018-01-09 | 西安万像电子科技有限公司 | 图像编解码压缩的方法、装置和系统 |
CN107566842B (zh) * | 2017-08-31 | 2019-08-23 | 西安万像电子科技有限公司 | 图像编解码压缩的方法、装置和系统 |
CN107948644A (zh) * | 2017-12-12 | 2018-04-20 | 桂林电子科技大学 | 一种水下图像压缩方法及传输方法 |
CN107948644B (zh) * | 2017-12-12 | 2020-09-18 | 桂林电子科技大学 | 一种水下图像压缩方法及传输方法 |
CN109067405A (zh) * | 2018-07-27 | 2018-12-21 | 深圳还是威健康科技有限公司 | 一种数据压缩的方法、装置、终端及计算机可读存储介质 |
CN109857709A (zh) * | 2019-02-22 | 2019-06-07 | 中国人民解放军空军研究院战略预警研究所 | 一种数据压缩方法及装置 |
CN114025166A (zh) * | 2021-11-04 | 2022-02-08 | 成都信息工程大学 | 视频压缩方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101448158B (zh) | 2012-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
ZainEldin et al. | Image compression algorithms in wireless multimedia sensor networks: A survey | |
CN102137263B (zh) | 基于cnm关键帧分类的分布式视频编码及解码方法 | |
CN105959705B (zh) | 一种面向可穿戴设备的视频直播方法 | |
CN102223541B (zh) | 一种混合图像的编码方法 | |
CN101448158B (zh) | 一种水下视频压缩方法 | |
CN113822147B (zh) | 一种协同机器语义任务的深度压缩方法 | |
CN101014129B (zh) | 一种视频数据压缩方法 | |
CN106385584A (zh) | 基于空域相关性的分布式视频压缩感知自适应采样编码方法 | |
CN102186069A (zh) | 一种保持量测性能的遥感影像数据压缩方法 | |
CN105825530B (zh) | 基于感兴趣区域的海岸带高光谱图像分布式有损编码和解码方法 | |
Martínez-Enríquez et al. | Lifting transforms on graphs for video coding | |
Li et al. | Low-bit-rate coding of underwater color image using improved wavelet difference reduction | |
Liu et al. | Improving multiple machine vision tasks in the compressed domain | |
Huang et al. | HMFVC: a human-machine friendly video compression scheme | |
CN102821303B (zh) | 一种像素级视频信息网络实时分级压缩传输方法 | |
He et al. | End-to-end facial image compression with integrated semantic distortion metric | |
CN101841705A (zh) | 基于自适应模板的视频无损压缩方法 | |
CN101056406B (zh) | 基于混合小波编码的医学超声图像压缩方法 | |
CN101888552A (zh) | 一种基于局部补偿的跳帧编解码方法和装置 | |
CN108833920A (zh) | 一种基于光流和块匹配的dvc边信息融合方法 | |
Tong et al. | Alternate learning based sparse semantic communications for visual transmission | |
CN104320661A (zh) | 基于差分熵和结构相似性的图像编码质量预测方法 | |
US8437391B2 (en) | Transmitting video between two stations in a wireless network | |
CN103402090A (zh) | 一种基于霍夫曼无损压缩算法的改进方法 | |
CN113822801A (zh) | 基于多分支卷积神经网络的压缩视频超分辨率重建方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120314 Termination date: 20141219 |
|
EXPY | Termination of patent right or utility model |