用于文字分层压缩方法和装置与流程

文档序号:12068763阅读:237来源:国知局
用于文字分层压缩方法和装置与流程

本发明涉及图像压缩技术应用领域,具体而言,涉及一种用于文字分层压缩方法和装置。



背景技术:

电脑屏幕画面采集的视频序列与摄像机等设备采集的视频序列有着较大的区别。在电脑屏幕画面中,较多场景会有文字画面,例如:浏览网页,播放幻灯片等会出现大量文字。在本文中,对于文字图像进行截取并按固定大小划分成块,得到的图像块信息简称文字块。文字块基于其特有的性质,在较大的压缩比下,仍能保持较为合理的失真度。文字块经压缩后有失真,将文字块压缩后的内容称为基本层,图像的真实值和压缩恢复后的值之间的差值压缩后称为增强层。当基本层和增强层同时传输到解码端,解码完成后可无损的恢复出原图像。

需要注意的是,电脑屏幕画面传输,屏幕画面传输可应用于视频会议、远程桌面等场景,基于这些应用场景,基本层是需要针对整张图像进行处理并得到一个较为满意的画面质量。故基本层不存在分层传输逐渐清晰的概念。

目前主流的压缩算法中如:H.264,H.265,JPEG更多的是针对自然画面的压缩。而对于文字块压缩效果并不理想。

文字块最主要的特征是主要的能量集中在较少的几种像素中,例如屏幕显示为一篇白底黑字的文章,可以认为主要能量集中在白色像素和黑色像素中。由此定义能量集中的像素域为基本色,其他的定义为逃逸色。基本色根据文字块的频率直方图确定,确定基本色以后即得到基本色码表。根据基本色和逃逸色,按照相应序号对文字块中像素点进行编码(例如确定四个基本色,序号为0、1、2、3,所有逃逸色序号为4),在编码过程中引入预测。即每个像素点的YUV三个分量跟左侧的像素点YUV三个分量是否相等,如果相等用符号L表示;跟上面的像素点YUV三个分量是否相等,如果相等用符号U表示;如果不相等用符号O表示。由此得到预测索引码表。对于符号为O的像素点,由于无法根据邻域得到本身的值,故需要编写O数据对应码表。前面步骤中,对于逃逸色统一编号为4,故需要编写逃逸色对应码表。最后将前面提到的基本色码表、预测索引码表、O数据码表、逃逸色码表编码后进行传输。

以上内容描述了基本层的压缩方法。在无损传输中,仍需要编码并传输增强层,而针对文字块的增强层编码传输,目前较多应用可变长编码。对于图像分层传输技术,例如小波变换等是针对整张图像所做的方案,而其他增强层分层压缩方案亦没有可直接应用于本文中所描述的场景(文字块增强层传输)中。

针对上述由于相关技术中在对文字块编码的过程中对文字块按照对图像处理的方式进行编码导致的步骤繁琐,压缩码流大的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种用于文字分层压缩方法和装置,以至少解决由于相关技术中在对文字块编码的过程中对文字块按照对图像处理的方式进行编码导致的步骤繁琐,压缩码流大的技术问题。

根据本发明实施例的一个方面,提供了一种用于文字分层压缩方法,包括:依据预先获取的当前带宽判断是否依据增强层分层方案压缩当前帧画面;在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案;依据增强层分层方案对当前帧画面中划分的块进行分层压缩。

可选的,依据增强层分层方案对当前帧画面中划分的块进行分层压缩包括:在增强层分层方案为二层分层压缩的情况下,将当前帧画面进行分块,并依据预设邻域对块中的像素点进行标记;在块中,依据与标记为第一位置的第一像素点距离为第一预设距离的第一类邻域像素点,对第一像素点进行编码,得到编码后的第一像素点;依据与标记为第二位置的第二像素点距离为第一预设距离的第一像素点,以及与第二像素点距离为第二预设距离的第二类邻域像素点,对第二像素点进行编码,得到编码后的第二像素点,其中,第一预设距离小于第二预设距离,且,第一位置与第二位置为对角线位置。

进一步地,可选的,依据与标记为第一位置的第一像素点距离为第一预设距离的第一类邻域像素点,对第一像素点进行编码,得到编码后的第一像素点包括:判断第一类领域像素点是否与第一像素点的量化值相同;在判断结果为相同的情况下,判断第一类领域像素点中的量化值是否全部与第一像素点的量化值相同;在判断第一类领域像素点中的量化值全部与第一像素点的量化值相同的情况下,依据第一类领域像素点中每个像素点对第一像素点进行编码压缩;在判断第一类领域像素点中的量化值中任一像素点与第一像素点的量化值相同的情况下,依据与第一像素点的量化值相同的像素点进行编码压缩;在判断结果为不同的情况下,判断与第一像素点距离为第二预设距离的第二类领域像素点中的像素点的量化值是否与第一像素点的量化值相同,并依据判断结果对第一像素点进行编码。

可选的,依据增强层分层方案对当前帧画面中划分的块进行分层压缩包括:在增强层分层方案为三层分层压缩的情况下,将当前帧画面进行分块,将每个块的第一图像分量的残差进行编码,并将编码后的第一图像分量的残差发送至解码装置;分别计算每个块的第二图像分量的方差和第三图像分量的方差;判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;在传输编码后的第二图像分量的残差或第三图像分量的残差之后,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;其中,第一图像分量用于表示亮度,第二图像分量和第三图像分量用于表示色度。

进一步地,可选的,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差包括:在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

可选的,在传输编码后的第二图像分量的残差或第三图像分量的残差之后,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差包括:在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

可选的,在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案包括:将当前帧画面进行分块,并依据预设邻域对当前帧画面中的块的每个像素点进行标记,并将当前帧画面中的块的每个像素点的位置分为第一对角线和第二对角线,第一对角线与第二对角线相交,且第一对角线上的块与第二对角线上的块相邻;将当前帧中每个块中的各个像素点的值相加,得到各个像素点的值的和,并向解码装置发送各个像素点的值的和;在向解码装置发送各个像素点的值的和之后,计算位于第一对角线上的像素点的值的和,并向解码装置发送第一对角线上的像素点的值的和,以使得解码装置依据各个像素点的值的和以及第一对角线上的像素点的值的和,得到与第一对角线上的像素点相邻的像素点的值;在向解码装置发送第一对角线上的像素点的值的和之后,向解码装置发送第一对角线上的第一位置像素点的值,以使得解码装置依据第一对角线上的像素点的值的和以及第一位置像素点的值,得到与第一位置像素点位于同一对角线,且与第一位置块之间的距离为第一预设距离的块的值;在向解码装置发送第一对角线上的第一像素点的值之后,向解码装置发送第二对角线上的第一位置像素点的值,以使得解码装置依据各个像素点的值的和、第一对角线上的像素点的值的和以及第一对角线上的第一位置像素点的值,得到当前帧画面各个像素点的无损值。

可选的,该方法还包括:在判断当前帧画面不依据增强层分层方案压缩的情况下,将当前帧画面分为各个块,每个块两两位置相邻;依据与每个块距离为预设距离的块的值,对各个块依次进行编码,得到当前帧画面的压缩码流,预设距离包括:第一预设距离和第二预设距离,且第一预设距离小于第二预设距离。

根据本发明实施例的另一个方面,提供了一种用于文字分层压缩装置,包括:判断模块,用于依据预先获取的当前带宽判断是否依据增强层分层方案压缩当前帧画面;方案确定模块,用于在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案;压缩模块,用于依据增强层分层方案对当前帧画面中划分的块进行分层压缩。

可选的,压缩模块包括:第一标记单元,用于在增强层分层方案为二层分层压缩的情况下,将前帧画面进行分块,并依据预设邻域对块中的像素点进行标记;第一编码单元,用于在块中,依据与标记为第一位置的第一像素点距离为第一预设距离的第一类邻域像素点,对第一像素点进行编码,得到编码后的第一像素点;第二编码单元,用于依据与标记为第二位置的第二像素点距离为第一预设距离的第一像素点,以及与第二像素点距离为第二预设距离的第二类邻域像素点,对第二像素点进行编码,得到编码后的第二像素点,其中,第一预设距离小于第二预设距离,且,第一位置与第二位置为对角线位置。

进一步地,可选的,第一编码单元包括:第一判断子单元,用于判断第一类领域像素点是否与第一像素点的量化值相同;第二判断子单元,用于在判断结果为相同的情况下,判断第一类领域像素点中的量化值是否全部与第一像素点的量化值相同;第一编码子单元,用于在判断第一类领域像素点中的量化值全部与第一像素点的量化值相同的情况下,依据第一类领域像素点中每个像素点对第一像素点进行编码压缩;第二编码子单元,用于在判断第一类领域像素点中的量化值中任一像素点与第一像素点的量化值相同的情况下,依据与第一像素点的量化值相同的像素点进行编码压缩;第三判断子单元,用于在判断结果为不同的情况下,判断与第一像素点距离为第二预设距离的第二类领域像素点中的像素点的量化值是否与第一像素点的量化值相同,并依据判断结果对第一像素点进行编码。

可选的,压缩模块包括:第三编码单元,用于在增强层分层方案为三层分层压缩的情况下,将当前帧画面进行分块,将每个块的第一图像分量的残差进行编码,并将编码后的第一图像分量的残差发送至解码装置;第一计算单元,用于分别计算每个块的第二图像分量的方差和第三图像分量的方差;第一判断单元,用于判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;第二判断单元,用于在传输编码后的第二图像分量的残差或第三图像分量的残差之后,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;其中,第一图像分量用于表示亮度,第二图像分量和第三图像分量用于表示色度。

进一步地,可选的,第二判断单元包括:第三编码子单元,用于在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;第四编码子单元,用于在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

可选的,第二判断单元包括:第五编码子单元,用于在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;第六编码子单元,用于在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

可选的,方案确定模块包括:第二标记单元,用于将当前帧画面进行分块,并依据预设邻域对当前帧画面中的块的每个像素点进行标记,并将当前帧画面中的块的每个像素点的位置分为第一对角线和第二对角线,第一对角线与第二对角线相交,且第一对角线上的块与第二对角线上的块相邻;第二计算单元,用于将当前帧中每个块中的各个像素点的值相加,得到各个像素点的值的和,并向解码装置发送各个像素点的值的和;第三计算单元,用于在向解码装置发送各个像素点的值的和之后,计算位于第一对角线上的像素点的值的和,并向解码装置发送第一对角线上的像素点的值的和,以使得解码装置依据各个像素点的值的和以及第一对角线上的像素点的值的和,得到与第一对角线上的像素点相邻的像素点的值;第一发送单元,用于在向解码装置发送第一对角线上的像素点的值的和之后,向解码装置发送第一对角线上的第一位置像素点的值,以使得解码装置依据第一对角线上的像素点的值的和以及第一位置像素点的值,得到与第一位置像素点位于同一对角线,且与第一位置块之间的距离为第一预设距离的块的值;第二发送单元,用于在向解码装置发送第一对角线上的第一像素点的值之后,向解码装置发送第二对角线上的第一位置像素点的值,以使得解码装置依据各个像素点的值的和、第一对角线上的像素点的值的和以及第一对角线上的第一位置像素点的值,得到当前帧画面各个像素点的无损值。

可选的,该装置还包括:分块模块,用于在判断当前帧画面不依据增强层分层方案压缩的情况下,将当前帧画面分为各个块,每个块两两位置相邻;编码模块,用于依据与每个块距离为预设距离的块的值,对各个块依次进行编码,得到当前帧画面的压缩码流,预设距离包括:第一预设距离和第二预设距离,且第一预设距离小于第二预设距离。

在本发明实施例中,通过依据预先获取的当前带宽判断是否依据增强层分层方案压缩当前帧画面;在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案;依据增强层分层方案对当前帧画面中划分的块进行分层压缩,达到了依据文字块的特性进行编码的目的,从而实现了提升对文字块的压缩效率,缩小压缩码流的技术效果,进而解决了由于相关技术中在对文字块编码的过程中对文字块按照对图像处理的方式进行编码导致的步骤繁琐,压缩码流大的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的用于文字分层压缩方法的流程示意图;

图2是根据本发明实施例的用于文字分层压缩方法中增强层整体编码方案的流程示意图;

图3是根据本发明实施例的用于文字分层压缩方法中增强层不分层编码方案的流程示意图;

图4是根据本发明实施例的用于文字分层压缩方法中邻域设计的示意图;

图5是根据本发明实施例的用于文字分层压缩方法中分层用到的位置关系的示意图;

图6是根据本发明实施例的用于文字分层压缩方法的流程示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

实施例一

根据本发明实施例,提供了一种用于文字分层压缩方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图1是根据本发明实施例的用于文字分层压缩方法的流程示意图,如图1所示,该方法包括如下步骤:

步骤S102,依据预先获取的当前带宽判断是否依据增强层分层方案压缩当前帧画面;

步骤S104,在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案;

步骤S106,依据增强层分层方案对当前帧画面中划分的块进行分层压缩。

本申请实施例提供的用于文字分层压缩方法中,通过依据预先获取的当前带宽判断是否依据增强层分层方案压缩当前帧画面;在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案;依据增强层分层方案对当前帧画面中划分的块进行分层压缩,达到了依据文字块的特性进行编码的目的,从而实现了提升对文字块的压缩效率,缩小压缩码流的技术效果,进而解决了由于相关技术中在对文字块编码的过程中对文字块按照对图像处理的方式进行编码导致的步骤繁琐,压缩码流大的技术问题。

具体的,本申请实施例提供的用于文字分层压缩方法中包括三种对文字块的压缩编码方式,具体如下:

方式一,二层分层压缩:

可选地,步骤S106中依据增强层分层方案对当前帧画面中划分的块进行分层压缩包括:

Step1,在增强层分层方案为二层分层压缩的情况下,将当前帧画面进行分块,并依据预设邻域对块中的像素点进行标记;

Step2,在块中,依据与标记为第一位置的第一像素点距离为第一预设距离的第一类邻域像素点,对第一像素点进行编码,得到编码后的第一像素点;

Step3,依据与标记为第二位置的第二像素点距离为第一预设距离的第一像素点,以及与第二像素点距离为第二预设距离的第二类邻域像素点,对第二像素点进行编码,得到编码后的第二像素点,其中,第一预设距离小于第二预设距离,且,第一位置与第二位置为对角线位置。

进一步地,可选的,步骤S106中的Step2中依据与标记为第一位置的第一像素点距离为第一预设距离的第一类邻域像素点,对第一像素点进行编码,得到编码后的第一像素点包括:

步骤A,判断第一类领域像素点是否与第一像素点的量化值相同;

步骤B,在判断结果为相同的情况下,判断第一类领域像素点中的量化值是否全部与第一像素点的量化值相同;

步骤C,在判断第一类领域像素点中的量化值全部与第一像素点的量化值相同的情况下,依据第一类领域像素点中每个像素点对第一像素点进行编码压缩;

步骤D,在判断第一类领域像素点中的量化值中任一像素点与第一像素点的量化值相同的情况下,依据与第一像素点的量化值相同的像素点进行编码压缩;

步骤E,在判断结果为不同的情况下,判断与第一像素点距离为第二预设距离的第二类领域像素点中的像素点的量化值是否与第一像素点的量化值相同,并依据判断结果对第一像素点进行编码。

方式二,三层分层压缩:

可选的,步骤S106中依据增强层分层方案对当前帧画面中划分的块进行分层压缩包括:

Step1’,在增强层分层方案为三层分层压缩的情况下,将当前帧画面进行分块,将每个块的第一图像分量的残差进行编码,并将编码后的第一图像分量的残差发送至解码装置;

Step2’,分别计算每个块的第二图像分量的方差和第三图像分量的方差;

Step3’,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;

Step4’,在传输编码后的第二图像分量的残差或第三图像分量的残差之后,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;

其中,第一图像分量用于表示亮度,第二图像分量和第三图像分量用于表示色度。

进一步地,可选的,步骤S106中的Step3’中判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差包括:

步骤A’,在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;

步骤B’,在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

可选的,步骤S106中的Step4’中在传输编码后的第二图像分量的残差或第三图像分量的残差之后,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差包括:

步骤A”,在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;

步骤B”,在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

方式三,四层分层压缩:

可选的,步骤S104中在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案包括:

Step1,将当前帧画面进行分块,并依据预设邻域对当前帧画面中的块的每个像素点进行标记,并将当前帧画面中的块的每个像素点的位置分为第一对角线和第二对角线,第一对角线与第二对角线相交,且第一对角线上的块与第二对角线上的块相邻;

Step2,将当前帧中每个块中的各个像素点的值相加,得到各个像素点的值的和,并向解码装置发送各个像素点的值的和;

Step3,在向解码装置发送各个像素点的值的和之后,计算位于第一对角线上的像素点的值的和,并向解码装置发送第一对角线上的像素点的值的和,以使得解码装置依据各个像素点的值的和以及第一对角线上的像素点的值的和,得到与第一对角线上的像素点相邻的像素点的值;

Step4,在向解码装置发送第一对角线上的像素点的值的和之后,向解码装置发送第一对角线上的第一位置像素点的值,以使得解码装置依据第一对角线上的像素点的值的和以及第一位置像素点的值,得到与第一位置像素点位于同一对角线,且与第一位置块之间的距离为第一预设距离的块的值;

Step5,在向解码装置发送第一对角线上的第一像素点的值之后,向解码装置发送第二对角线上的第一位置像素点的值,以使得解码装置依据各个像素点的值的和、第一对角线上的像素点的值的和以及第一对角线上的第一位置像素点的值,得到当前帧画面各个像素点的无损值。

方式四,不分层压缩:

可选的,本申请实施例提供的用于文字分层压缩方法还包括:

步骤S108,在判断当前帧画面不依据增强层分层方案压缩的情况下,将当前帧画面分为各个块,每个块两两位置相邻;

步骤S109,依据与每个块距离为预设距离的块的值,对各个块依次进行编码,得到当前帧画面的压缩码流,预设距离包括:第一预设距离和第二预设距离,且第一预设距离小于第二预设距离。

综上,本申请实施例提供的用于文字分层压缩方法具体如下:

本申请实施例提供的用于文字分层压缩方法针对增强层的编码在现有技术的基础上提出了一套有效的增强层分层压缩方案,相比于不分层的情形,增强层压缩比稍有降低。但该方案可以使文字编码器压缩传输更加灵活的适应网络环境,同时基于电脑画面的特殊性(部分画面无变化),在较多场景下“逐渐清晰”是被广泛接受的。

本申请实施例提供的用于文字分层压缩方法由于引入残差层分层,基于屏幕画面大部分场景是静止或部分静止的,在带宽较小的情况下,解码端展示图像不会出现卡顿,而是流畅的画面逐步清晰的效果;增强层不分层/分为两层/分为四层,灵活的应用于更多场景;增强层如果分层,每层的码流大小较为平均,使得“逐步清晰”的效果均匀体现;在编码效率上,相比于现有编码技术有较大提升;增强层编码采用算数编码器,无需码表对照,通过少量计算可直接编解码;针对文字编码器增强层特有性质,设计邻域范围及特定条件概率模型,进一步去除空间冗余;将增强层每一层的数据进行二值化,可在亚符号级别进行去冗余;增强层每一层的数据均符合高斯分布,拟合高斯曲线后得到相关系数,针对不同的系数范围设计不同的自适应概率调整模型,最大程度的逼近真实概率。

其中,本申请实施例提供的用于文字分层压缩方法见图2,图2是根据本发明实施例的用于文字分层压缩方法中增强层整体编码方案的流程示意图,具体描述如下:

(1)获取当前带宽并确定分层方案;

a.当前带宽较好,增强层可以直接进行传输,不需要分层;

b.当前带宽有限,增强层分为两层。例如屏幕画面静止,一秒传一层增强层,两秒后画面变为无损;

c.当前带宽较差,增强层分为四层。例如屏幕画面静止,一秒传一层增强层,四秒后画面变为无损。

(2)如果增强层分为两层,按照两层的计算方案计算数据并进行编码;

(3)如果增强层分为四层,按照四层的计算方案计算数据并进行编码。

其中,不分层压缩如下:

方案一(增强层不分层的编码方案)

编码的时候按照从上到下,从左到右的顺序。

在方案一中技术方案流程图见图3,图3是根据本发明实施例的用于文字分层压缩方法中增强层不分层编码方案的流程示意图,具体描述如下:

步骤1,统计一个片段内所有被判定为文字块的残差,并进行高斯拟合,通过高斯拟合得到参数σ;

步骤2,由参数σ结合统计规律确定各种情况下概率模型初值和概率状态转移表格;

步骤3,依次处理每个文字块;

步骤4,如果当前文字块全部为零,写入标志0,跳至步骤3;

步骤5,如果当前文字块有非零元素,写入标志1;

步骤6,根据一维扫描顺序逐个判断当前文字块的当前值的情况;

步骤7,如果当前值为0,写入标志0,跳至步骤6;

步骤8,如果当前值非0,写入标志1;

步骤9,当前值大于零,写入标志1;当前值小于等于零,写入标志0;

步骤10,取当前值的绝对值-1并进行二值化后写入;

步骤11,当前块是否处理完,如果没有跳至步骤6;

步骤12,当前片段是否处理完,如果没有跳至步骤3。

补充说明:

步骤10中,二值化的方案为一元阶段码。编码时每位对应一个概率模型。

步骤4、7、10中提到的写入标志是基于邻域产生不同上下文,计算概率范围后调整范围。

综上,设计邻域关系,使条件概率估计更准确

在输入每个符号的时,对于该值是否为零,该值的正负利用邻域相关性进行条件概率划分。

当前点设为A点,A点左边的点设为B点,A点左上的点设为C点,A点正上方的点设为D点,A点右上方的点设为E点。我们认为B、C、D、E四个点的值对于A点的值有影响。目前现有技术中,也会用到类似方案,但针对文字块残差,如何利用还是一片空白。这是由于条件概率如果设置的不合理,会导致过拟合,反而会降低编码效率。

通过统计分析,我们把B、C、D、E四个点分为两个级别B、D为第一级别(像素距离为1),C、E为第二级别(像素距离大于1)。在此定义第一级别点是距离编码点最近的一类,第二级别点是距离编码点稍远的一类,接下来的描述中会用到。

举例说明:

A是否为零可分为三大类情况:B和D都为零,B和D都为1,B和D有一个为0。

由第一级别的B、D确定A的三个概率大类后再利用C、E第二级别点确定具体模型。对于C、E仍采用同样方式:C和E都为零,C和E都为1,C和E有一个为0。

综上所述,在进行算术编码的时候,某元素是否为零的标志和正负的标志分别对应9种上下文模型。需要指出的是,如果是边缘点即不存在参考点,可以认为参考点值为零。

针对文字编码残差特点,进一步提升残差绝对值压缩效率

文字块在进行编码的时候分为基本色和逃逸色两类,两类值的量化标准不同,造成残差范围不一样。目前所涉及的该部分的残差编码都是同等对待直接编码的。

当前像素点如果被划分为基本色,当前像素点周围的值被划分为逃逸色,那么他们产生的残差在很大程度上是没有参考价值的。如果强行参考反而会降低编码效率。

在编码过程中,B、C、D、E四个点需要跟A点的类型进行判定,满足如下规则:

A为基本色

B、D为相同的基本色,B、D都参考

B、D有一个为相同的基本色,参考基本色相同的点,该点的状态将被划分为前文中提到的第一大类或第三大类,即认为不是基本色的点为0;

B、D都为不同的基本色,只参考C、E

如果C、E为相同的基本色,根据C、E的值分为三种情况;

如果C、E有一个为相同的基本色,参考相同的基本色点;

如果C、E为不同的基本色,所有点均不参考,对于该类情况单独给一个概率模型。

A为逃逸色,方案与A为基本色相同。

其中,在本申请实施例中算数编码器中预估概率的准确性直接影响到编码效率,在本申请实施例中将概率值[[0,0.5]离散为M个值,通过查表来确定概率转移。根据残差的分布情况,得到一个高斯系数σ来确定M的个数(本申请区别于现有技术的地方)为考量期望码率有如下公式:

Er=k×M;

其中,M个数越多,越接近期望码率,k为常量;

其中Er为期望码率(已知),k为系数,M为概率离散后的个数。

文字块的残差是符合高斯分布的,不同场景下的文字块残差拟合后的高斯方程系数不同。高斯系数σ将直接影响到编码效率。并满足如下公式:

Er=k×M×σ

本申请实施例中提出将离散值M变为自适应可调整。即将现有技术中固定的概率转移码表分成多层级,以适应不同场景。

在编码过程中,本申请实施例提出设计邻域关系,使条件概率估计更准确(即,对每个文字块编码的过程中同步调整对应概率)

在输入每个符号的时,对于该值是否为零,该值的正负利用邻域相关性进行条件概率划分。

如图4所示,图4是根据本发明实施例的用于文字分层压缩方法中邻域设计的示意图,当前点设为A点,A点左边的点设为B点,A点左上的点设为C点,A点正上方的点设为D点,A点右上方的点设为E点。我们认为B、C、D、E四个点的值对于A点的值有影响。

目前现有技术中,也会用到类似方案,但针对文字块残差,如何利用还是一片空白。这是由于条件概率如果设置的不合理,会导致过拟合,反而会降低编码效率。

通过统计分析,本申请实施例提供的用于文字分层压缩方法把B、C、D、E四个点分为两个级别B、D为第一级别(像素距离为1),C、E为第二级别(像素距离大于1)。

举例说明:

A是否为零可分为三大类情况:B和D都为零,B和D都为1,B和D有一个为0。

由第一级别的B、D确定A的三个概率大类后再利用C、E第二级别点确定具体模型。对于C、E仍采用同样方式:C和E都为零,C和E都为1,C和E有一个为0。

综上所述,在进行算术编码的时候,某元素是否为零的标志和正负的标志分别对应9中上下文模型。

针对文字编码残差特点,进一步提升残差绝对值压缩效率

文字块在进行编码的时候分为基本色和逃逸色两类,两类值的量化标准不同,造成残差范围不一样。目前所涉及的该部分的残差编码都是同等对待直接编码的。

当前像素点如果被划分为基本色,当前像素点周围的值被划分为逃逸色,那么上述产生的残差在很大程度上是没有参考价值的。如果强行参考反而会降低编码效率。

在本申请实施例提供的图像编码的方法的编码过程中,B、C、D、E四个点需要跟A点的类型进行判定,满足如下规则:

A为基本色:

(1)B、D为相同的基本色,B、D都参考;

(2)B、D有一个为相同的基本色,参考基本色相同的点,该点的状态将被划分为前文中提到的第一大类或第三大类;

(3)B、D都为不同的基本色,只参考C、E。

同理,A为逃逸色,方案与A为基本色相同。

本申请实施例提供的用于文字分层压缩方法基于算数编码器对文字块残差编码,通过设计邻域使得可以动态调整对每个文字块的编码精度,从而提升编码效率和精度。

两层:

方案二,增强层分为两层的编码方案

基本色编码和逃逸色编码方案相同,下面只针对基本色编码进行说明。

将四个数据看成一个块。如图5所示,图5是根据本发明实施例的用于文字分层压缩方法中分层用到的位置关系的示意图,A、B、C、D组成一个块。第一层编码A、D,第二层编码B、C。当增强层的第一层解码恢复后,整张图一半像素变成无损的点,无损的点跟有损的点在途中交叉均匀排列。有较好的视觉效果。

第一层:编码所有的A和D的值(由于第一层传输所有的A和D,参考也只能参考临近的A和D点):

编码A点时,参考点为D1、D2、D3。由于D1、D2、D3和A点的距离都相等,划分为第一级别点,编码A点时没有第二级别点(次近)。参考前文提到的不分层的编码方案,根据D1、D2、D3是否为基本色进行划分。需要特别指出:如果D1、D2、D3都是相同的基本色,根据取值情况分为8类;

编码D点时,A点为第一级别点,D1,D3为第二级别点。

第二层:编码所有的B和C的值:

编码B点时,A、D3为第一级别点;

编码C点时,D1、A为第一级别点,B1、B为第二级别点。

在这里补充说明:第一级别点如果存在(跟当前点量化值相同)值参考第一节别点,如果不存在在参考第二级别点(跟当前点量化值相同)。如果都不存在参考独立模型。

三层:

方案三,增强层分为三层的编码方案

本申请实施例提供的用于文字分层压缩方法中文字块用文字编码器编码并恢复后的到的有损图像跟原图像已经较为接近。但在有些场景下,要求无损传输的时候,仍需要把有损图像和原图像的Y、U、V差值压缩并进行传输(增强层)。而在对文字块进行无损传输的时候往往增强层的码流是基本层码流的几倍。如果带宽有限,增强层实现可分层传输将变得非常有意义。

本申请实施例提供的用于文字分层压缩方法中将增强层分为三层进行传输。下面介绍分层方案:

将Y分量的残差进行编码并传输;

由于人眼对于亮度分量比色度分量敏感的多,故先将Y分量的残差进行压缩传输,对于解码段图像显示的效果会有明显的提升。

U、V分量的残差进行选择传输;

前面步骤中Y分量的残差已经传输完毕。只剩U、V分量的传输。其中U反映了RGB输入信号红色部分与RGB信号亮度值之间的差异,V反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。对于一个增强层的宏块(去掉Y分量对应的残差),本申请实施例提供的用于文字分层压缩方法给出如下评价函数:

D(U)=E{[Ui,j-E(Ui,j)]2};

D(V)=E{[Vi,j-E(Vi,j)]2};

上面公式中D(U)和D(V)分别代表一个宏块内U分量的方差和V分量的方差。

逐个判断每个宏块的D(U)和D(V),并遵循如下原则:

当D(U)≥D(V),传输U分量的残差;

当D(U)<D(V),传输V分量的残差。

方差大的对应分量有如下特点:

该分量的残差矩阵非零元素多;

该分量的残差矩阵整体绝对值比较大;

由于没有传输该分量的残差矩阵,图像psnr降低大,失真大;

U、V分量的残差实现完全传输。

将步骤(2)中对应每个宏块剩余的分量进行传输。公式描述如下:

D(U)=E{[Ui,j-E(Ui,j)]2};

D(V)=E{[Vi,j-E(Vi,j)]2};

上面公式中D(U)和D(V)分别代表一个宏块内U分量的方差和V分量的方差。

逐个判断每个宏块的D(U)和D(V),并遵循如下原则:

当D(U)<D(V),传输U分量的残差;

当D(U)≥D(V),传输V分量的残差。

四层:

方案四,增强层分为四层的编码方案

基本色编码和逃逸色编码方案相同,下面只针对基本色编码进行说明。

第一层:将A+B+C+D看成一个值传输:

如果原来传输矩阵为M*N,新的矩阵为M/2*N/2。M和N由于宏块划分规则,都是偶数。编码方案参考不分层的编码方案,需要特殊说明的是:当前点只参考左边的点和上边的点且不检查是否为相同的基本色。

解码端解码后,将和除以四取整后分别恢复至A、B、C、D上。

第二层:将A+D看成一个值传输

编码A+D时,C1+B1、C3+B3为第一级别点,没有第二级别点。不检查是否为相同的基本色。

注:A+D的和知道后B+C的和也得到了。

解码端解码后,将A+D的和除以二取整后恢复到A和D上,计算B+C的和除以二取整后恢复到B、C上。

第三层:将A点传输

编码A点时:参考增强层分为两层的编码方案中第一层A点编码方案。

解码端解码后,A、D点无损解码。

第四层:将C点传输

编码C点时:D1、A为第一级别点,B1为第二级别点。

解码端解码后,所有点都变为无损。

上述第一层和第二层在计算的时候时不区分是否为相同的基本色的。会给概率预测带来一定影响。但实践证明,相邻两个2*2的增强层的值的和仍有较强关联关系。这也是由于被量化成相同基本色的点一般成片出现。

验证可得,方案二实现了两层分层,编码效率比方案一略有下降,方案三比方案二编码效率又有一定下降。但这些编码效率的下降是可以接受的。

基于文字编码器的思想不难发现,增强层数据关联关系已被部分破坏。例如一般对于一个16*16的宏块会做DCT变换等,经Zig-zig扫描过后,非0的系数一般集中在前端。而文字编码器不同位置或按照基本色量化或按照逃逸色量化,量化后的增强层值由于量化值不同会有波动,所以说关联关系已被部分破坏。以上方案根据当前位置及周边位置同类点进行。最大程度的利用了周边的条件概率。结合文字块的特性也不难发现,相同的基本色集中分布,相同量化值的逃逸色亦集中分布。在利用算术编码器压缩编码时,大部分值是可以找到对应上下文并进行概率预判的。而现有的各类Huffman编码方案或算数编码器编码方案没有合适于文字编码器对应增强层的方案。

实施例二

图6是根据本发明实施例的用于文字分层压缩方法的流程示意图,如图6所示,根据本发明实施例的另一个方面,提供了一种用于文字分层压缩装置,包括:

判断模块62,用于依据预先获取的当前带宽判断是否依据增强层分层方案压缩当前帧画面;方案确定模块64,用于在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案;压缩模块66,用于依据增强层分层方案对当前帧画面中划分的块进行分层压缩。

本申请实施例提供的用于文字分层压缩装置中,通过依据预先获取的当前带宽判断是否依据增强层分层方案压缩当前帧画面;在判断结果为依据增强层分层方案压缩当前帧画面的情况下,依据当前带宽确定对应的增强层分层方案;依据增强层分层方案对当前帧画面中划分的块进行分层压缩,达到了依据文字块的特性进行编码的目的,从而实现了提升对文字块的压缩效率,缩小压缩码流的技术效果,进而解决了由于相关技术中在对文字块编码的过程中对文字块按照对图像处理的方式进行编码导致的步骤繁琐,压缩码流大的技术问题。

可选的,压缩模块66包括:第一标记单元,用于在增强层分层方案为二层分层压缩的情况下,将前帧画面进行分块,并依据预设邻域对块中的像素点进行标记;第一编码单元,用于在块中,依据与标记为第一位置的第一像素点距离为第一预设距离的第一类邻域像素点,对第一像素点进行编码,得到编码后的第一像素点;第二编码单元,用于依据与标记为第二位置的第二像素点距离为第一预设距离的第一像素点,以及与第二像素点距离为第二预设距离的第二类邻域像素点,对第二像素点进行编码,得到编码后的第二像素点,其中,第一预设距离小于第二预设距离,且,第一位置与第二位置为对角线位置。

进一步地,可选的,第一编码单元包括:第一判断子单元,用于判断第一类领域像素点是否与第一像素点的量化值相同;第二判断子单元,用于在判断结果为相同的情况下,判断第一类领域像素点中的量化值是否全部与第一像素点的量化值相同;第一编码子单元,用于在判断第一类领域像素点中的量化值全部与第一像素点的量化值相同的情况下,依据第一类领域像素点中每个像素点对第一像素点进行编码压缩;第二编码子单元,用于在判断第一类领域像素点中的量化值中任一像素点与第一像素点的量化值相同的情况下,依据与第一像素点的量化值相同的像素点进行编码压缩;第三判断子单元,用于在判断结果为不同的情况下,判断与第一像素点距离为第二预设距离的第二类领域像素点中的像素点的量化值是否与第一像素点的量化值相同,并依据判断结果对第一像素点进行编码。

可选的,压缩模块66包括:第三编码单元,用于在增强层分层方案为三层分层压缩的情况下,将当前帧画面进行分块,将每个块的第一图像分量的残差进行编码,并将编码后的第一图像分量的残差发送至解码装置;第一计算单元,用于分别计算每个块的第二图像分量的方差和第三图像分量的方差;第一判断单元,用于判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;第二判断单元,用于在传输编码后的第二图像分量的残差或第三图像分量的残差之后,判断第二图像分量的方差是否大于或等于第三图像分量的方差,并依据判断结果传输第二图像分量的残差或第三图像分量的残差;其中,第一图像分量用于表示亮度,第二图像分量和第三图像分量用于表示色度。

进一步地,可选的,第二判断单元包括:第三编码子单元,用于在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;第四编码子单元,用于在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

可选的,第二判断单元包括:第五编码子单元,用于在判断结果为第二图像分量的方差小于第三图像分量的方差的情况下,编码第二图像分量的残差,并将编码后的第二图像分量的残差发送至解码装置;第六编码子单元,用于在判断结果为第二图像分量的方差大于或等于第三图像分量的方差的情况下,编码第三图像分量的残差,并将编码后的第三图像分量的残差发送至解码装置。

可选的,方案确定模块64包括:第二标记单元,用于将当前帧画面进行分块,并依据预设邻域对当前帧画面中的块的每个像素点进行标记,并将当前帧画面中的块的每个像素点的位置分为第一对角线和第二对角线,第一对角线与第二对角线相交,且第一对角线上的块与第二对角线上的块相邻;第二计算单元,用于将当前帧中每个块中的各个像素点的值相加,得到各个像素点的值的和,并向解码装置发送各个像素点的值的和;第三计算单元,用于在向解码装置发送各个像素点的值的和之后,计算位于第一对角线上的像素点的值的和,并向解码装置发送第一对角线上的像素点的值的和,以使得解码装置依据各个像素点的值的和以及第一对角线上的像素点的值的和,得到与第一对角线上的像素点相邻的像素点的值;第一发送单元,用于在向解码装置发送第一对角线上的像素点的值的和之后,向解码装置发送第一对角线上的第一位置像素点的值,以使得解码装置依据第一对角线上的像素点的值的和以及第一位置像素点的值,得到与第一位置像素点位于同一对角线,且与第一位置块之间的距离为第一预设距离的块的值;第二发送单元,用于在向解码装置发送第一对角线上的第一像素点的值之后,向解码装置发送第二对角线上的第一位置像素点的值,以使得解码装置依据各个像素点的值的和、第一对角线上的像素点的值的和以及第一对角线上的第一位置像素点的值,得到当前帧画面各个像素点的无损值。

可选的,该装置还包括:分块模块,用于在判断当前帧画面不依据增强层分层方案压缩的情况下,将当前帧画面分为各个块,每个块两两位置相邻;编码模块,用于依据与每个块距离为预设距离的块的值,对各个块依次进行编码,得到当前帧画面的压缩码流,预设距离包括:第一预设距离和第二预设距离,且第一预设距离小于第二预设距离。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1