用于对超像素边界进行编码和解码的方法和装置与流程

文档序号:18977766发布日期:2019-10-29 03:25阅读:224来源:国知局
用于对超像素边界进行编码和解码的方法和装置与流程

本发明是关于数字图像和视频编码的领域。

即,本发明描述了一种方法和系统,其用于压缩和解压缩图像,特别是自然图像,从而使得其能够在带宽受限的信道上传输或者被储存在容量有限的介质上。

本发明所解决的问题是对图像和由图像所构成的视频序列进行编码。



背景技术:

大多数现有技术(作为基础编码工具)依赖基于块的变换,其被称为离散余弦变换(dct),例如在各种jpeg和mpeg编码标准中。

图像要被细分成多个具有正方形形状的块,随后向每个块应用dct(有可能使得块的尺寸适应图像特征),其在最简单的情况下被独立地编码和解码(更高级的压缩方案可包括帧内和帧间块预测,从而改善解码器性能)。

dct在图像编码领域得到了广泛的认可,因为dct具有理想的特性,其趋向于在变换系数矩阵的左上部中聚集在感知上最有意义的变换系数(即,为了压缩信号的能量),从而实现有效的压缩方案,比如非均匀的量化、z字形系数扫描和熵编码。

显然,dct压缩信号中的能量的实际能力取决于被编码的特定图像块的语义(semantic)。

期望有均匀的块(例如,表示对象的光滑表面的块),原因在于,其产生具有很少重要系数的变换系数矩阵,所以易于编码,并且在通过解码器恢复时不会产生重构伪像。

相反,包含不连续(例如在不同色彩的对象之间的接合、文本等等)的块导致变换系数的矩阵,其中重要系数不被约束到矩阵的区域,并且其可能在解码时产生明显的重构伪像。

块的预定义正方形形状代表dct最大限制之一,因为在块中有可能存在某种不连续。

然而,大多数现代编码技术通过调整每个块的尺寸来适应图像特性从而解决这个问题,在这种情况下,图像分割起到了关键作用。

图像分割是将图像划分成多个部分或区域(也称为“超像素”),其对应于不同的对象或对象部分。

通过内容来定位图像的均匀区域是相关文献(其找到了若干实际应用)中众所周知的问题。例如,可能想要分离在背景图像上的前景对象。图像分割算法使得能够确定图像中的哪些像素属于语义仿射(semanticallyaffine)区域,定位分隔区域的边界。

在文献中存在用于图像分割的若干不同算法,这些算法的不同之处不仅在于(会影响分割时间的)复杂性,而且还在于输出,即不同的图像分割算法有望产生对同一图像的不同分割。

最近,为了在图像视频编码的情况下执行图像分割,已提出了slic算法(radhakrishnaachanta、appushaji、kevinsmith、aurelienlucchi、pascalfua和sabinesüsstrunk,“slicsuperpixels(slic超像素)”,epfl技术报告,第149300号,2010年6月)。

特别地,slic算法产生超像素,其不改变图像不连续。图1a显示了带有大量细节的自然图像样本:该图像被细分成语义均匀的区域,这些区域是相似的(例如:花朵的纹理、围绕窗口的大理石等等)。

图1b显示了slic算法关于图1a的图像的输出:该算法返回大量小的超像素,其粘附到图像中的对象的边界。

文件“superpixel-drivengraphtransformforimagecompression(用于图像压缩的驱动超像素的图形变换)”(发表于ieee图像处理国际会议(icip),2015年,e.magli、m.grangetto、f.verdoja和g.fracastoro)描述了一种数字图像或视频流的编码和解码系统,其用于将图像细分成任意形状的均匀编码部分,使得每个部分很容易编码,从而实现带宽有效的基于图形的表示。

还参考图2,在编码器200处,图像首先使用slic算法被分割成超像素(单元210),随后将定位的区域迭代地聚集成较大的超像素,直至在所得的超像素组上满足了某个预定义的要求为止。

所述预定义的要求能够为例如图像编码目标比特率或者最佳速率失真平衡(optimumrate-distortiontrade-off)。

接下来,以分段方式在该组的每个超像素上单独地且独立地执行图形傅里叶变(gft)(单元220)。

图形g=(e,v)由一组与链路相连的节点v∈v所构成。对于每个连接节点vi和vj的链路ei,j∈e,存在相关的非负值权重wij∈[0,1],其获得在所连接的节点之间的相似性。

图像f能够被表示为其中图像像素对应于图形节点的图形,而链路的权重描述了能够使用预定义的非线性函数(例如,高斯函数或柯西函数)来评估的像素相似性,所述非线性函数依赖于在图像的第i个像素fi和第j个像素fj之间的灰度空间距离di,j=|fi-fj|。

在图形傅里叶变换(gft)技术中,图形信息能够使用权重矩阵w来表示,所述权重矩阵w的元素为图形的权重wij,随后能够得到对应的拉普拉斯矩阵,即l=d-w,其中d为一对角线矩阵,其带有元素

根据数学表达式来执行gft,其中u为一矩阵,其列是矩阵l的特征向量,并且f是每个超像素样本的光栅扫描向量表示。

随后对系数进行量化和熵编码。代替在gft中使用的权重矩阵w,以某种编码形式将超像素的形状传送至解码单元。

超像素是内部均匀的,因此其相应的权重矩阵w能够通过常数值来近似,这允许向解码器传送边界rb形式的超像素形状,而不是完整的权重矩阵w。

超像素边界根据任何已知的无损图像压缩/编码技术(单元230),例如通过使用比如jbig(联合二值图像专家组)的熵编码器,被编码为黑白图像(见图3b)。

在解码器250处,被重构的图像的获得是通过:执行超像素边界rb的逆熵解码,并且最终执行超像素系数r^的逆图形傅里叶变换。

为了压缩边界,链式码技术被广泛使用,因为其保存了信息且带来了显著的数据减少。

链式码技术还允许直接根据表示来评估各种形状特征;还可容易地计算边缘平滑和形状比较。

链式码借助于区域的边界形状来描述区域的能力被证明是处理这一任务最有效的方式。

h.sánchez-cruz、e.bribiesca和r.m.rodríguez-dagnino在“efficiencyofchaincodestorepresentbinaryobjects(链式码表示二进制对象的效率)”(发表于图像识别,2007年6月)和i.schiopu和i.tabus在“losslesscontourcompressionusingchain-coderepresentationsandcontexttreecoding(使用链式码表示和上下文树状编码的无损轮廓压缩)”(发表于科学与工程信息理论方法研讨会(witmse),东京,2013年)中证实了使用链式码的算法相较于使用jbig可实现更高的压缩率。

链式码算法通过使用字母表中的符号序列来描述二进制区域的轮廓,从而对二进制区域进行编码。

二进制输入图像i的轮廓图(图1b)通过所谓的水平和垂直裂纹边界(见图4中所绘的示例)来表示。

所述裂纹边界为分隔两个相邻的像素的轮廓线段:如果像素属于两个不同的区域,则裂纹边界被称为“活动的(active)”;否则,如果其属于同一区域,则裂纹边界被称为“不活动的(inactive)”。

活动的裂纹边界的两个端点称为顶点,并且表示为pk和pk+1。

链式码算法凭借在活动的裂纹边界周围的顶点的位置来对活动的裂纹边界进行编码。

图4显示了3×3样本图像的示例,该图像包含了两个区域r1={x1,1,x1,2,x2,1,x2,2,x3,1}和r2={x1,3,x2,3,x3,2,x3,3}。

使用顶点向量γ=[p1p2p3p4p5]来表示分隔两个区域的轮廓图,其中,使用已知的规则(例如最左侧顶点等等)来选择第一顶点。

链式码算法通过根据在其之前的两个顶点pk和pk+1对顶点pk+2进行编码,从而将连续顶点的向量γ转换成链式码符号的向量σ=[s1s2s3s4s5]。

通常来说,使用符号来表示边界相对于之前步骤的方向,例如向左转、向右转、持续直行。

要注意的是,对于第一组两个顶点p1和p2,不得不使用一些惯例。随后,解码过程采用σ,并且应用逆变换来计算γ。

随后,解码过程重构二进制图像i,这是通过填充由γ中的裂纹边界所包围的区域所实现的。因为所有顶点根据其与p1的相对位置来进行编码,则p1的绝对位置通常以某种形式作为辅助信息被提供给解码器。

此后,使用熵编码技术,例如哈夫曼、自适应算术编码或上下文树状编码,来进一步压缩σ。以下简单回顾最广泛使用的链式码方法。

最先发展出的算法之一是弗里曼链式码,其由h.freeman提出(见“ontheencodingofarbitrarygeometricconfigurations(关于任意几何构型的编码)”,发表于ire电子计算机处理,1961年6月)。

在4连接的情况下,根据图5中显示的方案,算法(f4)将来自4符号字母{0,1,2,3}的编码分配给pk+2,这是基于其与pk+1的相对位置。

因为四个方向中的一个是pk所在的方向,并且pk+2≠pk,则仅三个符号应当足以区分剩余的三个方向。

差分弗里曼(af4)(y.kuiliu和b.“anefficientchaincodewithhuffmancoding(一种使用霍夫曼编码的有效链式码)”,图像识别,2005年4月)使用了图5b中所示的方案,其中根据连接pk和pk+1的线段的方向,符号“0”用于表示“前进”,“1”表示“向左转”并且“2”表示“向右转”。

三正交符号链式码(3ot)算法(h.sánchez-cruz和r.m.rodríguez-dagnino,“compressingbilevelimagesbymeansofathree-bitchaincode(利用三比特链式码压缩双层图像)”,光学工程,第44卷,第9号,第97004页,2005年9月)使用类似于af4的3符号差分方法,但是利用了一个额外信息:其跟踪最后一次方向上的改变。

随后,“0”仍表示“前进”,但是现在“1”表示“根据在之前一次转向之前所面对的方向来转向”,而“2”表示“转向与在之前一次转向之前所面对的方向的反向”。

正如能够在图5c中看到的,当之前的方向是向上的,则再次向上转被编码为“1”,而向下转则被编码为“2”;反之亦然,当之前的方向是向下的,则向上转被编码为“2”,而向下转被编码为“1”。

正如在h.sánchez-cruz、e.bribiesca、r.m.rodríguez-dagnino和i.schiopu、i.tabus的文章中所讨论的,3ot是现有技术中一种能够较好地执行链式码的技术。

链式码被设计成用于编码对象的轮廓。在分割区域边界的情况下,存在以下一个特性表明不适宜使用标准的链式码:即因为所有图像像素必须被分配给一个区域,而所有的边界是在两个区域之间共享的。

换而言之,图像的超像素不具有独立的轮廓,相反,其与相邻的超像素共享它们边界中的至少一部分。

因此,如果每个边界使用一个链式码,则所有的边界将被编码两次,这导致较高数量的符号。此外,每个链式码需要一边界坐标,编码序列从该边界坐标开始。



技术实现要素:

本发明旨在通过提出用于对图像或视频流的超像素边界进行编码的方法和装置来解决上述的和其他的问题,所述装置和方法利用了新的链式编码策略,从而使得符号序列按照与在编码器处相同的顺序来进行解码,而无需选择每个区域的起始参考顶点,将编码映射到产生偏态符号概率分布(skewedsymbolprobabilitydistribution)的符号,从而有利于后续的熵编码阶段。

本发明公开了一种改进的链式码技术,其允许对数字图像或视频流的超像素边界进行有效编码,有助于降低其相对于现有技术中已知的压缩技术的整体编码比特率。

特别地,本发明允许显著降低要被传输或存储以用于对超像素边界进行编码的符号的数量,并且为了根据已知编码技术(例如熵编码技术)进行压缩而优化被编码的符号的统计学分布。

通过这种方式,本发明能够对每个区域边界仅编码一次,并且能够有效地表示被分割的图像或视频流的轮廓。

此外,所公开的框架能够与任何标准的链式码结合使用。

附图简述

根据在附图中所示的、仅通过非限制性举例的方式提出的实施方式的描述,本发明的特征和其他优势将变得显而易见,其中:

-图1a显示了被分割成若干个区域的自然图像样本,而图1b显示了作为slic图像分割算法输出的图像的超像素图;

-图2显示了本领域已知的编码-解码架构的方框图,其中,使用图形信号处理(gsp)技术对图像的超像素进行编码;

-图3显示了根据属于其的超像素(a)或其边界像素(b)来表示某个超像素ri的形状的可能方式;

-图4显示了被分割成两个区域的3×3图像,其中活动的裂纹边界通过暗色线条来勾勒;

-图5显示了本领域已知的f4、af4和3ot链式码的图形表示;

-图6示出了根据本发明的图像编码-解码系统的方框图;

-图7显示了举例说明在总体上根据本发明的编码技术的一个实施方式的流程图;

-图8显示了举例说明在总体上根据本发明的解码技术的一个实施方式的流程图;

-图9显示了根据规则2的s-3ot链式码的图形表示:用双线标记的裂纹边界位于已知边界上;

-图10a显示了被分割成四个区域的4×4像素图像,并且示出了根据本发明的s-3ot链式编码过程;图10b将已知的f4、af4和3ot链式码所生成的符号序列与新的s-3ot链式码进行比较;

-图11显示了一个示出根据本发明的、用于对数字图像或视频流进行压缩的装置的方框图;

-图12显示了一个示出根据本发明的、用于对数字图像或视频流进行解压缩的装置的方框图;

-图13显示了根据本发明实现的s-3ot链式编码器-解码器对的性能;

-图14显示了一个示出根据本发明的、用于对超像素的边界进行重构的方法的一个实施方式的流程图;

-图15a显示了要根据图15b解码的示例性s-3ot符号序列;图15b示出了一个5×5的顶点网格,其中根据本发明的一个实施方式执行s-3ot链式解码过程。

具体实施方式

在本说明书中,任何对“实施方式”的引用将指明:关于本发明的实现方式所描述的特定配置、结构或特征被包括在至少一个实施方式中。因此,短语“在实施方式中”和其他类似的表述(其可能存在于说明书中的不同部分)将不必全部都关于同一实施方式。此外,任何特定配置、结构或特征能够以任何适当的方式在一个或多个实施方式中进行组合。因此,以下参考仅出于简化目的,而并不限制各种实施方式的保护范围或扩展。

参考图11,根据本发明的一个实施方式,一种用于对数字图像或视频流进行压缩的装置1100(也称为编码装置1100)优选包括以下部分:

-处理单元1110,比如中央处理单元(cpu),被配置为执行用于实现根据本发明的对数字图像或视频流进行编码的方法的一组指令(所述方法将在本发明以下的说明书中进行详细描述);

-任何类型的存储器单元1140(易失性的或非易失性的、基于(半)电子装置和/或光电子装置和/或磁装置),其包含与待压缩的图像相关的数据并且优选包含实现根据本发明的对数字图像或视频流进行编码的方法的指令,其中,图像数据是所述图像的至少一部分的表示并且优选采用二进制格式,并且其中,所述存储器单元1140也可包含所述方法的指令的执行结果;

-输入单元1170,其能够通过cpu1110配置成从(视频)源1000读取待处理的图像或视频流;此类输入单元例如可包括根据以下标准中的至少一个的适配器:usb、firewire、rs232、ieee1284、以太网、wi-fi等等;

-可选地,分割单元1120,其被配置成执行用于对原始图像或视频流f进行分割的方法的多个阶段;特别地,该单元被配置成对数字图像f进行接收并且根据本领域中已知的任何分割算法(比如slic算法)进行划分,其将图像f细分为n个超像素{r1...rn},其中第i个超像素具有像素样本信息ri和边界信息rib(见图3);

-图形编码单元1130,其被配置为执行根据本领域已知的图形信号处理(gsp)技术(比如图形傅里叶变换(gft))的、对每个超像素进行编码的方法的多个阶段,其中利用像素样本信息ri和边界信息rib对每个超像素进行编码,并且为每个超像素生成基于图形变换的系数r^,其优选例如根据一个或多个预定义的量化参数进行量化;

-链式编码单元1150,其被配置为执行用于接收整组超像素{r1...rn}的边界信息rb并根据本发明对这些边界信息进行编码的方法的多个阶段;特别地,边界信息rb通过链式码技术进行编码,从而使得所获得的符号序列σ在编码器处按相同顺序进行解码,而不需要为每个区域选择起始的参考顶点,代码被映射到产生偏态符号概率分布的符号;

-优选地,编码单元优选为熵编码单元1160,其被配置为对符号序列σ进行接收并且根据本领域已知的任何熵编码技术(比如上下文自适应二进制算术编码(cabac))进行熵编码,以及,生成被压缩的符号序列σ*

-输出单元1180(例如网络或存储装置适配器),其能够通过cpu1110配置为通过通信信道将处理结果传输至目的地1190(例如存储介质、远程客户端等等);此类输出单元例如可包括根据以下标准中的至少一个的适配器:以太网、sata、scsi等等;

-通信总线1175,其允许在cpu1110、分割单元1120、存储器单元1140、图形编码单元1130、链式编码单元1150、熵编码单元1160、输入单元1170和输出单元1180之间进行信息交换。

作为使用通信总线1175的替代方案,能够借助于星型结构或者通过任何其他能够将多个单元彼此可操作地耦合的装置来连接cpu1110、分割单元1120、存储器单元1140、图形编码单元1130、链式编码单元1150、熵编码单元1160、输入单元1170以及输出单元1180。

视频源1105能够为实时图像的提供者(比如摄像头),或者是被存储的内容的提供者(比如磁盘或其他存储装置和储存设备)。

中央处理单元(cpu)1110负责在由装置1100所执行的编码过程中启动适当的一系列由单元1120、1130、1150、1160所执行的操作。这些单元能够借助于专用硬件组件(例如cpld、fpga等等)来实现,或者能够通过一组或多组由cpu1110执行的指令来实现;在后一种情况下,单元1120、1130、1150、1160仅仅是逻辑(虚拟)单元。

当装置1100处于工作状态,cpu1110首先从视频源获取图像,并将其加载到存储器单元1140中。

接下来,cpu1110可启动分割单元1120,其从存储器1140获取所述图像,执行用于根据任何本领域已知的分割技术来划分所述图像的方法的多个阶段,获得一组n个超像素{r1...rn},其中第i个超像素具有像素样本信息ri和边界信息rib,并且将其储存回存储器单元1140中。

在本发明的另一个实施方式中,图像借助于输入单元1170按照已分割的形式(即已经细分成多个超像素)被提交给cpu。在该实施方式中,分割单元1120不存在于编码装置1100中,并且图像分割不是由该分割单元1120执行的。

接下来,cpu1110启动图形编码单元1130,其从存储器1140获取关于每个第i个超像素的像素样本信息ri和边界信息rib,执行根据图形信号处理(gsp)技术(比如图形傅里叶变换(gft))对每个超像素进行编码的方法的多个阶段,并且可根据例如一个或多个量化参数对所获得的像素样本系数进行量化,并且将所得被量化的系数r^储存回存储器单元1140中。

随后,cpu1110启动链式编码单元1150,其从存储器1140获取多组超像素边界信息,执行根据本发明用于对所述边界信息进行链式编码的方法的多个阶段(见图7的步骤730),并且将所生成的符号序列σ块储存回存储器单元1140中。

接下来,cpu1110启动编码单元,例如熵编码单元1160,其从存储器获取所述符号序列σ,执行用于对所述符号序列σ进行熵编码的方法的多个阶段,获得被压缩的符号序列σ*,其要被储存到存储器1140中。

此时,cpu1110可处理在编码器1100处不再需要的、来自存储器单元1140的数据。

最后,cpu1110从存储器1140获取优选被量化的系数r^和被压缩的符号序列σ*,并将其放入信道中或者将其存入存储介质1195。

还参考图12,根据本发明的一个实施方式,一个用于对数字图像或视频流进行解压缩的示例性装置1200(也称为解码装置1200)优选包括以下部分:

-处理单元1210,比如中央处理单元(cpu),其被配置执行用于实现根据本发明的对数字图像或视频流进行解码的方法的一组指令(所述方法将在本发明以下的说明书中进行详细描述);

-任何类型的存储器单元1240(易失性的或非易失性的、基于(半)电子装置和/或光电子装置和/或磁装置),其包含与所接收的被压缩的图像相关的数据并且优选包含实现根据本发明的对数字图像或视频流进行解压缩的方法的指令,其中,图像数据是所述图像的至少一部分的表示并且优选采用二进制格式,并且其中,所述存储器单元1240也可包含所述方法的指令的执行结果;

-输入单元1280(例如网络或存储装置适配器),其能够通过cpu1210配置为从通信信道或存储介质1200读取被编码的图像或视频流;所述输入单元1280例如可包括根据以下标准中的至少一个的适配器:以太网、sata、scsi等等;

-优选地,解码单元,例如熵解码单元1230,其被配置为对被压缩的符号序列σ*进行熵解码的阶段,用于根据编码装置1100获得符号序列σ;

-链式解码单元1220,其被配置为执行用于对符号序列σ进行解码并且获得关于每个超像素的边界信息的方法的多个阶段;

-图形解码单元1250,其被配置为执行用于对数字图像或视频流进行解压缩的方法的多个阶段;特别地,该单元被配置为有可能对每个超像素的系数r^(如果这些系数r^已经在编码器侧被量化)进行去量化,并且执行所述被去量化的系数的逆图形傅里叶变换,其中,所述图形傅里叶变换被确定为超像素边界信息的函数,从而恢复被重构的图像;

-输出单元1270,比如视频适配器,其能够通过cpu1210被配置为,优选地在显示装置1295上,再现和/或输出被处理(被解码或解压缩)的图像或视频流;所述输出单元例如可包括根据以下标准中的至少一个的适配器:vga、s-video、hdmi、以太网等等;

-通信总线1275,其允许在cpu1210、熵解码单元1230、链式解码单元1220、图形解码单元1250、存储器单元1240、输出视频单元1270和输入单元1280之间进行信息交换。作为使用通信总线1275的替代方案,能够借助于星型结构或者通过任何其他能够将多个单元彼此可操作地耦合的装置来连接cpu1210、熵解码单元1230、链式解码单元1220、图形解码单元1250、存储器单元1240、输出视频单元1270以及输入单元1280。

对于在先前被描述的编码装置1100,解码装置1200的cpu1210负责启动适当的一系列由单元1220、1230和1250所执行的操作。这些单元能够借助于专用硬件组件(例如cpld、fpga等等)来实现,或者能够通过一组或多组由cpu1210执行的指令来实现;在后一种情况下,单元1220和1230仅仅是逻辑(虚拟)单元。

当装置1200处于工作状态,cpu1210首先从信道或存储介质1190获取被量化的系数r^和被压缩的符号序列σ*,并将其加载到存储器单元1240中。

随后,cpu1210启动熵解码单元1230,其从存储器1240接收被压缩的符号序列σ*,执行用于获得符号序列σ的方法的多个阶段,并且将所述符号序列σ储存到存储器单元1240中。

接下来,cpu1210启动链式解码单元1220,其从存储器1240获取符号序列σ,执行根据本发明的用于获得超像素边界信息的方法的多个阶段,并且将所述超像素边界信息储存到存储器单元1240中。

随后,cpu1210启动图形解码单元1250,其从存储器1240获取超像素边界信息,根据需要执行用于对每个超像素的系数r^进行去量化的方法的多个阶段,并且基于超像素边界信息来执行所述被去量化的系数的逆图形傅里叶变换,恢复被重构的图像,并且将所恢复的图像或视频信号储存到存储器单元1240中。

在此时,cpu1210可处理在解码器侧不再需要的、来自存储器的数据。

最后,cpu可从存储器1240获取所恢复的图像,并借助于视频适配器1270将所述图像发送至显示单元1290。

应当注意的是,在附图中所描述的编码和解码装置可如何通过cpu1210来控制,从而以流水线方式进行内部操作,使得能够缩短处理每个图像所需的总时间,即通过在同一时间执行多个指令(例如使用多于一个的cpu和/或cpu内核)。

还应当注意的是,在将编码装置1100的输出数据发送到信道上或者将其储存在存储单元上之前,还能够对编码装置1100的输出数据执行多种其他的操作,比如调制、信道编码(即错误保护)。

相反,在对解码装置1200的输入数据进行有效处理之前,还能够对解码装置1200的输入数据执行类似的逆操作,例如解调和纠错。这些操作与实施本发明无关,因此将被省略。

此外,在图11和图12中所示的方框图仅仅是示例性的;其允许理解本发明是如何工作的,以及如何由本领域技术人员实现。本领域技术人员将会理解的是,这些图表对于在其中所示出的功能、相互关系和信号(其能够以多种等效的方式进行组合)而言没有任何限制性的意义;例如,看起来要通过不同逻辑块执行的操作能够通过硬件和软件资源的任意组合来实现,其也是用于实现不同的或全部的块的相同资源。

现在,将在以下对编码过程和解码过程进行详细描述。

编码

为了显示如何进行编码过程,假设待处理的图像优选为灰度图像其包括例如超过8比特的n个像素(其中每个像素xi要被编码),从而使得所述像素的值能够例如借助于范围在0与255之间的整数值来表示。当然,本发明能够被简单地应用于任何比特深度的图像,即任何比特数量能够被用来表示图像中的每个像素或者任何比特数量能够被用来表示任何颜色空间中的图像的每个颜色通道。

在存在彩色的或多光谱的图像的情况下,编码过程需要在每个图像通道上进行迭代,例如rgb彩色空间中的彩色图像情况下的红、绿和蓝通道,或者在使用亮度/色度通道时的y、u、v通道,或者任何其他彩色的或多频谱的通道组。当然,对于所谓的具有较高深度色彩的图像,能够为对单个像素进行编码而使用更多比特,例如12比特或16比特或更高。

还参考图11,现在描述编码装置1100的不同部件如何相互作用,从而对数字图像或视频流进行压缩。

还参考图6和图7,解码器600包括:图像分割单元610、图形编码单元620、链式编码单元630和熵编码单元640。

图像分割单元610优选执行以下步骤:

-图像取得步骤710,用于接收数字图像f,并且可选地应用某些预处理技术,比如平滑滤波器或锐化滤波器等等;

-可选的分割步骤720,用于将被预处理的数字图像f划分成f的(预定义数量的)n个像素区域这些区域也被称为超像素,并且使用本领域已知的某些分割方法来确定,从而满足以下约束条件:

每个第i个超像素ri的形状rib以黑白图像来表示,所述黑白图像例如与待编码的原始图像的尺寸相同,其中每个像素编码超过0比特,并且如果其属于ri,则能够在显示装置的屏幕上用黑色表示,否则以白色表示。

当然,有可能用多种技术来指示图像f中的哪些像素属于某个超像素,即表示超像素池(pool)的超像素ri的形状或边界。例如,可供选择地,能将超像素的边界像素设置为“1”,而将图像的所有其他像素都假定为值“0”(见图3b和图1b)。无论如何,该分割过程不是本发明的一部分,其简单地教导如何对图像的分割进行编码和解码,而无论这种分割是如何实现的。

图形编码单元620优选地执行以下步骤:

-超像素编码步骤750,用于使用超像素边界信息rib对每个超像素ri进行编码,这是通过应用图形信号处理(gsp)技术,比如图形傅里叶变换(gft),因为其能够被应用于任何形状的图形区域。所得的被编码的超像素数据组按照一组gft变换的超像素系数的形式被输出;

-优选地,量化步骤760,用于根据一个或多个预定义的量化参数(有可能与在解码装置1200处所使用的量化参数相同)对一组gft变换的超像素系数进行量化,从而获得一组gft变换的和量化的超像素系数ri^

链式编码单元630优选执行根据本发明对超像素边界信息进行编码的步骤730。

特别地,所公开的方法能够与任何标准的、已知的链式码技术来组合使用;在该实施方式中,由于上述特性,考虑3ot链式码。

所公开的方法将被称为分割3ot(s-3ot)。

根据本发明所公开的思想,s-3ot展现出以下特性:

a)除了符号序列和图像尺寸之外,解码过程不需要任何其他信息。对于每个链式码而言,不使用偏移或起始位置;

b)符号序列按照与在编码器处相同的顺序进行解码,通过这种方式,在先前被编码的边界的信息可被获得,并且在编码/解码阶段可被使用;

c)必须对链式码符号进行选择,使得其概率分布有可能高度地偏斜(highlyskewed),从而有助于接下来以非常低的比特率对此类符号进行熵编码。

对于每个超像素ri∈r,是包含有ri的活动的裂纹边界的所有m个顶点的向量,其从根据某种惯例确定的顶点出发按顺时针进行排序。显然,无论顺时针方向抑或是逆时针方向的选择都对应于选择被分割的图像的每个超像素边界的编码顺序。

应当注意的是,所有接触图像边界的裂纹边界被认为是活动的,并且被包括在γi中。

此外,要注意的是,因为区域是封闭的,pmi=p1i。图1b显示了一个利用本发明的方法被编码的超像素边界信息的示例。

考虑标准的3ot链式码技术,一种方法可以是立即对整个边界网格进行编码;链式码跟随沿着边界的单一路径,并因此有必要保持跟踪所有的交叉点,而这反过来又需要大量的编码开销。

另一种方法可以是逐区域地对边界进行编码,然而,每个裂纹边界将被编码两次,因为每条边界总是在两个区域之间共享。

对于前一个问题的一种可能的对策是利用一些惯例(convention)来决定两个区域中的哪一个区域“拥有”特定的裂纹边界,例如所有裂纹边界是由最左边或最顶部的区域所拥有的。

随后,在对一区域进行编码时,将跳过不属于该区域的边界;此外,该方法需要一定的编码开销来发信通知偏移,从而跳转至下一个所拥有的边界坐标。

最后,为了通过本领域已知的链式码对区域进行编码,需要以某种方式指定起始位置。

方法s-3ot考虑以上提到的a、b、c属性,并且使用了与以上所讨论的两种方法有关的混合方法:s-3ot方法逐区域地执行,但是要保持跟踪已经覆盖过一次的路径,从而避免对其进行两次编码。

s-3ot维持已经被编码的顶点的向量γ,即其代表已知的边界的整个集合。

γ的初始化是根据位于图像画布(imagecanvas)上的所有顶点,从图像的最左上角顶点出发并且顺时针围绕图像边界。

γ将在编码期间被用作“背景(context)”,以便贴合(adhere)属性b。

方法s-3ot还维持一组r,其包含仍要编码的区域;最初r=r。

随后,链式编码单元630选择区域ri∈r,其包含位于r内的区域中(首先)最顶部和(随后)最左侧的位置处的像素x,直至为止;链式编码单元630随后编码第i个顶点向量其使用了在x的左上角的顶点作为初始的或第一顶点p1i,并随后顺时针枚举顶点。

使用该惯例,区域起始点坐标和区域编码顺序都不必被传输至解码器(属性a)。

而且,p1i和p2i无需被编码,因为其位置根据选择p1i的方式总是已知的,事实上,其总是位于x的顶部裂纹边界。

换而言之,x的左侧和顶部的裂纹边界已被编码,否则x将不是给定区域的所选起始像素。

给定待编码的第i个超像素边界信息rib,能够考虑相应的顶点向量γi,随后能够生成符号序列σi;特别地,考虑γi的两个连续的顶点pk和pk+1,σi的符号(其被分配给顶点pk+2)能够根据以下的链式码规则来确定。

规则1(跟随已知的边界)在以下情况下被应用,即当pk+2位于已知的边界上,更精确地是如果

应当注意的是,在这种情况下,即使边界正在改变方向,也使用“0”。

规则2(离开已知的边界)在以下情况下被考虑,即当pk+2离开已知的边界,更精确地是如果

则四个方向中的两个方向必须被释放,事实上,一个方向是pki所在的方向,而另一个方向是将会继续已知的边界的方向。

因此,只需要为pk+2选择两个方向,而且不能够使用符号“0”,因为其将根据规则1由解码器来解释。

因此,符号“1”和“2”能够用于在两个可能的方向之间进行区分。

在图9中给出了这些规则的图形表示。能够注意到的是,当已知的边界γ(其以双线和双箭头来指示)是直线前进的(图9a和图9b),分配给其他方向的符号与将由3ot使用的符号相同。

在所有其他情况下,已知的边界不是直的。在这种情况下,如果直线前进,则使用将由3ot分配给被已知的边界所占据方向的符号;相对地,其他方向则维持相应的3ot符号。

举一个例子,在图9c中所示的情况下,如果随后的方向是向上,则使用符号“1”,其为将由3ot使用的符号。

根据规则1,跟随已知的边界γ“向下前进”被编码为“0”。

“直线前进”被编码为“2”,因为其为将由3ot分配给已知的边界所在的方向(即向下)的符号。

换而言之,根据这些规则,考虑“0”符号用于跟随已知的边界(规则1),如果已知的边界的方向不是直线的,将由3ot用于跟随已知的边界方向的符号以“0”来交换,见图9c、9d、9e、9f。

该策略允许增加“0”(即被选择用于表示已知的边界的方向的符号)的出现(属性c),而减少被用于对其他方向进行编码的符号的出现。

因此,在这种情况下存在一种存储器信息,即先前的方向被用于对下一个符号进行编码。

应当注意的是,该策略能够被用于任何本领域已知的链式码技术(比如f4和af4),而不仅仅是用于3ot。

还应当注意的是,边界的方向能够通过考虑任何其他符号集合{a,b,c,d}或者任何排列{0,1,2,3}来进行编码。

规则3(不在已知的边界上)在以下情况下被考虑,即当pk、pk+1和pk+2不在已知的边界γ上,更精确地是如果

则s-3ot使用经典的3ot编码,即见图5c。

规则4(跟随直至结束为止)可在以下情况被应用,即如果对于一区域需要编码多于两个的符号,随后将符号“3”附加至链式码,并且结束ri的编码。

该符号向解码器指明,从向前仅跟随已知的边界,直到再次到达起始点为止。

应当注意的是,在为所述区域需要编码少于三个符号时,能够选择规则4,否则将永远不会选择规则4。等效地,参考顶点而不是符号,可以说当属于仍要编码的边界的顶点的数量大于两个时能够选择规则4。

这样选择是因为,如果只剩下一个或两个段或者顶点要被编码,则分别附加一个或两个“0”比附加“3”更加方便,因为“0”将是最频繁的符号(属性c)。

在σi的计算(无论是经过所有γi或是通过特定符号“3”)结束之后,重新计算γ,其还包括在γi中的所有顶点,将ri从r移除,并且将σi附加至σ末尾。随后,方法s-3ot选择下一个要编码的区域,直至为止。

图10a显示了方法s-3ot的应用的一个简单示例;特别地,将4×4像素图像{x1,1,x1,2...x4,4}划分成四个区域或超像素r1、r2、r3、r4。

如上所述,已知的边界γ根据4×4像素图像的轮廓来初始化。

r1是要考虑的第一区域,因为其包含在仍要被编码的区域r=(r1,r2,r3,r4)中(首先)最顶部和(随后)最左侧的像素x1,1,随后编码γ1,这要考虑在像素x1,1左上角的顶点并且顺时针枚举γ1的顶点。

水平的活动的裂纹边界(1,1)-(1,2)不需要被编码;事实上,由于所考虑的惯例,其位置总是已知的,而根据规则1,水平的活动的裂纹边界(1,2)-(1,3)和(1,3)-(1,4)被依次编码为“0”,这是因为其位于已知的边界γ上。

接下来,垂直的裂纹边界离开已知的边界γ,因此根据规则2,其被编码为“2”,见图9a。

接着,所有活动的裂纹边界(2,4)-(2,3)、(2,3)-(2,2)、(2,2)-(3,2)、(3,2)-(4,2)、(4,2)-(4,1)和(4,1)-(3,1)不在已知的边界γ上,因此,根据规则3,其借助标准的3ot方案编码为“201012”。

最后,裂纹边界(3,1)-(2,1)和(2,1)-(1,1)均在已知的边界γ上,并且其跟随γ1直至达到初始的或第一顶点(1,1)为止,这就是仅剩下一个或两个待编码的段的情况,并因此,附加一个或两个“0”比附加“3”更加方便,从而允许符号“0”成为最频繁的符号(属性c)。

此时,已知的边界γ的更新是通过执行γ1与先前的γ的联合,而仍有待编码的区域集合r的更新则是通过移除r1,从而使得r=(r2,r3,r4)。

根据本发明的一个实施方式,r2是编码过程要考虑的第二区域,按照如上所述的规则1、2、3和4获得符号序列“0022200”,而r3是编码过程要考虑的第三区域,其给出符号序列“000123”。

特别地,该区域r3给出了规则2(如图9e中所示(见顶点4,4))以及规则4的示例,在剩下多于两个待编码的段的情况下,使得符号“3”被附加到序列中。

最后,根据规则4,使用符号“3”来编码与最后一个区域相关的边界。应当注意的是,最后一个区域总是被编码为“3”,并因此能够将该最后一个符号从序列中省略。要注意的是,通过s-3ot生成序列明显比通过标准的链式码所计算的序列要短,见图10b。

在本发明中所公开的技术产生链式码,其严格地比通过传统链式码技术所产生的链式码要短,所述传统链式码为每个顶点使用正好一个符号。

方法s-3ot不对p1和p2进行编码,导致对于每个区域可少一个符号,随后还能够以符号“3”结束编码,则有更多的符号的增益。

s-3ot的符号频率部分地取决于3ot的符号频率,部分地取决于以上所讨论的规则。符号“3”具有最低的频率,因为其对于每个区域而言最多使用一次,符号“1”和“2”具有高度依赖于区域的形状的频率,而对于3ot,预计“1”比“2”更加频繁。

最后,考虑到“0”在编码中的双重含义,预计“0”是最频繁的符号。这些频率与属性c一致,并且应当允许编码是可高度压缩的。

要注意的是,r1i总是在γ中,如果ri不是被完全包含的区域(completelycontainedregion),即一个整体位于另一区域内部的、不与任何其他的第三区域相邻的区域。

这允许s-3ot在不需要起始坐标的情况下进行操作(属性a)。在被完全包含的区域的情况下,一个解决方案可以是将包含区域(containingregion)分成两个区域,这两个区域在解码时要再次合并。

此外,由于选择r1i的方式,总能知道最后一次转向是向上的,并且第一个运动是向右的,这允许避免对r1i和r2i进行编码。

熵编码单元640优选包括以下(物理的或逻辑的)部件:

-熵编码器单元,其被配置成执行熵编码步骤740,其中由预览单元630生成的符号序列σ根据任何本领域已知的熵编码技术被熵编码,并且生成被压缩的符号序列σ*

-输出单元,其用于执行输出步骤770,在该步骤中输出每个超像素的被量化的系数,以及表示超像素的被压缩边界信息的、被压缩的符号序列σ*

总之,还参考图6和图11,用于根据本发明对数字图像进行编码的方法包括以下阶段:

-接收阶段,其中借助于输入单元1170接收数字图像f的至少一部分;

-可选的分割阶段,其中根据任何本领域已知的分割技术来划分所接收的数字图像f,所述分割技术将所述图像f细分成一组n个超像素,其中每个超像素具有像素样本信息和边界信息;

-图形编码阶段,其中对于每个超像素,根据本领域已知的图形信号处理(gsp)技术,比如图形傅里叶变换(gft),对所述像素样本信息进行编码;其中,确定所述gft,这是通过利用所述超像素边界信息,并且为每个超像素获得基于图形的变换的系数;

-可选的量化阶段,其中对于每个超像素,所述基于图形的变换的系数根据一个或多个预定义的量化参数(其与在解码阶段所使用的量化参数可能相同)来进行量化,为每个超像素获得被量化和变换的系数;

-链式编码阶段,其中通过应用根据本发明的链式码技术来对所有超像素边界信息进行编码,获得表示超像素边界信息的符号序列,从而使得符号序列按照与在编码器处相同的顺序被解码,而无需选择每个区域的起始参考顶点,所述编码被映射到产生偏态符号概率分布的符号;

-可选的熵编码阶段,其中通过应用任何本领域已知的熵编码技术来对所述符号序列进行熵编码,获得表示整个超像素边界信息的、被压缩的符号序列。

最后,所述被压缩的符号序列和所述被量化和变换的系数能够借助于输出单元1180来传输和/或储存。

解码

还参考图12,现在描述解码装置1200的不同部件如何相互作用从而对数字图像或视频流进行解压缩。

还参考图6和图8,解码器650包括:熵解码单元660、链式解码单元670和图形解码单元680。

熵解码单元660优选包括以下(物理的或逻辑的)部件:

-接收单元,其被配置为在步骤810取得每个超像素的被量化的系数,以及表示超像素的整个被压缩的边界信息的、被压缩的符号序列σ*

-熵解码单元,其被配置为在步骤820根据任何本领域已知的熵编码技术(其与编码器装置1100处所使用的熵编码技术相同)对被压缩的符号序列σ*进行熵解码,并且生成表示超像素(所述被编码的图像被划分成这些超像素)的边界信息的符号序列σ。

链式解码单元670优选包括物理的或逻辑的部件,其被配置为用于在步骤830根据本发明对符号序列σ进行解码。

还参考图14和图15,待解码的符号序列(如在图15a中所示的s-3ot序列)被示出为:“0022010120000022000001233”,在该符号序列中,位于符号之间的空白仅用于分隔不同的超像素边界,因为事实上并没有为此目的传输或接收到任何内容。

解码单元670首先基于给定的图像尺寸(4×4个像素)考虑5×5顶点网格1500(图15b)。

根据在编码阶段所讨论的惯例(步骤730),已知的边界(γ)最初被设定为包括在图像的外部边界的顶点(粗虚线),而待重构的第一超像素边界的初始顶点是顶点1500的5×5网格的最左上角的顶点(1,1)(步骤1405),并且顺时针围绕图像边界。

给定顺时针的解码方向,解码单元670首先跟踪已知的边界的段(1,1)-(1,2)(步骤1410);随后,根据规则1,解码单元670跟踪段(1,2)-(1,3)和(1,3)-(1,4),这二者均位于已知的边界上(步骤1415、1420、1425),这是通过跟随在符号序列的初始位置处的两个“0”符号。

应当注意的是,段(1,1)-(1,2)不需要任何根据前述惯例的符号。

接着,根据规则2,跟随符号“2”,如步骤1430所表明的,通过跟踪段(1,4)-(2,4)离开已知的边界。

接下来,根据规则3,通过跟随根据3ot技术的符号序列“201012”,跟踪不位于已知的边界上的段(2,4)-(2,3)、(2,3)-(2,2)、(2,2)-(3,2)、(3,2)-(4,2)、(4,2)-(4,1)和(4,1)-(3,1)(步骤1432、1440、1450)。

此时,到达位于已知的边界上的顶点(3,1)。

因此,根据规则4,因为顶点(3,1)通过在已知的边界上的两个顶点与第一顶点(1,1)分隔开,下两个“0”符号指示解码单元670跟踪已知的边界,直至到达第一顶点(1,1)为止(步骤1445、1435、1437)。

在步骤1445,如果当前的符号不等于“0”,根据规则4,其必须为符号“3”,该符号指示解码单元670跟随已知的边界直至到达第一顶点(1,1)为止。

通过这种方式,第一超像素的边界被完全重构,并因此,解码单元670将其添加到已知的边界(γ)中。此时,解码单元670进行第二超像素的边界的重构,后者的起始顶点为(1,4),即该顶点位于边界有待重构的区域的(首先)最顶部的和(随后)最左侧的位置处。

应当注意的是,以上对超像素边界的跟踪仅仅为了说明目的来描述,因为跟踪从顶点a到顶点b的段相当于向在先前被添加至边界的顶点a添加顶点b,其中每个顶点能够通过其在网格1500上的坐标被个别化(individuated)。

因此,例如跟踪从顶点(1,2)出发的段(1,2)-(1,3)相当于是说,解码单元在之前的重构步骤将顶点(1,2)添加至r1的边界,并且在后续步骤基于所接收的符号“0”来添加顶点(1,3)。

通过这种方式,给定s-3ot符号序列并且考虑前述惯例,其允许选择解码方向和在顶点网格上的初始顶点,并且按照规则1、2、3和4,所有超像素边界信息能够在顶点网格1500上取回,并且能以如图1b和图3b中所示的黑白图像来表示。这可以通过以下方式实现,例如将邻近边界左侧(或邻近边界右侧)的像素设定为“0”,否则将像素设定为“1”(也参看图4)。

图形解码单元680优选包括以下(物理的或逻辑的)部件:

-可选的去量化单元,其被配置为用于在步骤850,根据一个或多个预定义的量化参数(该量化参数与可能在编码器装置1100处使用的量化参数相同),对一组每个超像素ri^的被量化的系数进行去量化,获得一组图形傅里叶变换的超像素系数;

-超像素解码单元,其被配置为用于在步骤840,通过应用逆图形傅里叶变换,对每个超像素系数进行解码,其通过使用先前在单元670处解码的超像素边界信息rib来确定;

-输出单元,其被配置为用于在步骤860输出被重构的图像。

总之,还参考图6和图12,根据本发明的用于对数字图像或视频流进行解码的方法,优选包括以下阶段:

-接收阶段,其中,借助于输入单元1280来接收每个超像素的被量化的系数,以及,被压缩的符号序列σ*

-优选的熵解码阶段,其中,根据在编码过程中所使用的任何已知的熵编码技术对被压缩的符号序列σ*进行熵解码,获得表示超像素边界信息的符号序列σ;

-链式解码阶段,其中,按照与在编码器处相同的顺序来对符号序列σ进行解码,而无需选择每个区域的起始参考顶点,编码被映射到产生偏态符号概率分布的符号,获得超像素边界信息;

-可选的去量化阶段,其中,根据一个或多个预定义的量化参数,对一组每个超像素的被量化的系数进行去量化,获得一组超像素系数;

-图形解码阶段,其中,通过应用逆图形傅里叶变换对每个超像素系数进行解码,其通过使用超像素边界信息来确定。

最后,被重构的图像能够借助于输出视频单元1270进行输出,并且在显示单元1290上进行显示。

因此,本发明涉及一种用于对图像的像素区域的边界进行编码的方法,其中边界包含将图像细分为像素区域(超像素)的顶点的序列,通过从字母表生成符号序列,包括以下步骤:

-根据对所有超像素通用的标准为每个超像素定义用于对所述超像素的边界进行编码的第一顶点;

-为每个超像素定义边界顶点的同一编码顺序,无论是顺时针的或是逆时针的;

-定义用于对超像素进行编码的顺序,这是基于与第一顶点的相对位置相关的通用规则;

-将一组顶点定义为已知的边界(γ),

其中,为了选择字母表中的符号以及为了对超像素的边界进行编码,而执行以下步骤:

a)通过通用标准确定被个别化的下一个超像素的边界的第一顶点;

b)基于编码方向确定下一个待编码的顶点;

c)如果边界的下一个顶点属于已知的边界(γ),则选择用于对下一个顶点进行编码的第一符号(“0”),

d)如果下一个顶点不在已知的边界(γ)上,则选择不同于第一符号(“0”)的符号(“1”;“2”);

e)重复步骤b)、c)、d)和e),直至超像素边界的所有顶点已被编码为止;

f)将不在已知的边界(γ)上的超像素边界的每个顶点添加至集合(γ);

g)如果有的话,根据通用规则确定其边界有待编码的下一个超像素;

i)重复步骤a)至g),直至图像的所有超像素的边界已经被添加至已知的边界(γ)为止。

特别地,已知的边界的集合最初仅包括图像的外轮廓,其顶点根据通用标准和通用规则来排序。

在一个或多个实施方式中,通用标准是在超像素的整个边界内的第一顶点的相对位置。

在一个或多个实施方式中,不为超像素边界的每个第二顶点执行步骤c)和d)。

在各种实施方式中,如果在先前被编码的顶点被包括在集合γ中并且属于仍有待编码的边界的顶点的数量大于两个,则为了对当前边界所有接下来剩余的顶点进行编码而选择另一个不同的符号“3”。

在一个或多个实施方式中,在步骤d),基于在先前被编码的顶点属于或者不属于集合γ的事实,选择不同于第一符号“0”的符号“1”或“2”。

在一个或多个实施方式中,步骤d)包括:

d1)如果在先前被编码的顶点不在集合γ中,则根据已知的边界编码技术来选择不同于第一符号“0”的符号“1”或“2”,以及

d2)否则,根据与已知的边界编码技术不同的规则来选择此类不同的符号“1”或“2”。

此外,本发明还涉及一种用于对图像的像素区域(超像素)的边界进行重构的方法,其基于所接收的符号序列的解码。特别地,边界包含将图像细分为超像素的顶点的序列。该重构方法包括:

-根据对所有超像素通用的标准定义用于对超像素进行编码的第一顶点;

-为每个超像素定义用于对边界顶点进行重构的同一解码顺序,无论是顺时针的或是逆时针的;

-定义用于对超像素进行解码的顺序,这是基于与第一顶点的相对位置相关的通用规则;

-将一组顶点定义为已知的边界(γ),

其中,为了对超像素的边界进行重构,而执行以下步骤:

a)通过通用标准将被个别化的顶点确定为待重构的当前边界的第一顶点;

b)读取所接收的序列的下一个符号;

c)如果该符号等于第一符号(“0”),则向当前边界添加属于集合(γ)的下一个顶点;

d)如果该符号不等于第一符号(“0”),则向当前边界添加不属于集合(γ)的顶点;

e)重复步骤b)、c)、d)和e),直至超像素的整个边界已被重构为止;

f)将不在集合(γ)中的超像素边界的每个顶点添加至已知的边界(γ);

h)如果有的话,根据通用规则确定其边界有待重构的下一个超像素;

i)重复步骤a)至h),直至序列的所有符号已经被读取为止。

此外,集合γ最初仅包括图像的外轮廓,其顶点根据通用标准和通用规则来排序。

特别地,通用标准是在超像素的整个边界内的第一顶点的相对位置。

在各种实施方式中,为了添加超像素边界的第二顶点,不执行步骤b)和d),并且通过向当前边界添加属于集合(γ)的下一个顶点从而替代步骤c)。

在各种实施方式中,在步骤d)添加的顶点依赖于在先前被添加的顶点属于或不属于集合γ的事实。

在一个或多个实施方式中,步骤d)包括:

d1)如果在先前被添加的顶点不属于集合(γ),则通过逆转(reversing)已知的边界编码技术的规则来添加顶点;

d2)否则,根据与已知的边界编码技术不同的规则来添加顶点。

在一个或多个实施方式中,如果所读取的符号等于另一个不同的符号(“3”),在步骤h)之前执行另一步骤g),包括:

-从集合(γ)添加当前超像素的所有剩余顶点,直至到达第一顶点为止。

此外,本发明还涉及一种图像处理装置,其包括处理单元以及存储器单元,可操作地耦合至所述处理单元的输入接口和输出接口。在该图像处理装置中,输入接口被配置成接收被分割成多个像素区域(超像素)的图像;处理单元被配置成借助于所述输入接口读取所述被分割的图像,并且在所述输出接口上产生表示所述超像素的边界的编码的符号序列,这是通过执行一组被储存在所述存储器单元中的指令,其实现用于编码的方法。

在另一方面,图像处理装置包括处理单元以及存储器单元,可操作地耦合至所述处理单元的输入接口和输出接口。在该图像处理装置中,输入接口被配置为接收一符号序列,其以被编码的形式表示一组像素区域(超像素)的边界,从而个别化图像的分割;处理单元被配置为借助于所述输入接口读取所述符号序列,并且在所述输出接口上产生图像分割,通过执行一组被储存在所述存储器单元中的指令来重构超像素的边界,所述指令实现用于对像素区域的边界进行重构的方法。

还参考图13,将讨论由申请人所执行的性能测试的结果。

在该测试中,已评估了根据本发明实现的s-3ot链式编码器-解码器对。

测试在bsds500数据集中的500张图像上执行(p.arbela′ez、m.maire、c.c.fowlkes和j.malik“contourdetectionandhierarchicalimagesegmentation(轮廓检测和分层图像分割)”,ieee图像分析和机器智能期刊,第33卷,第5号,第898–916页,2010年)。

在该数据集中的所有图像具有481×321像素的分辨率。

通过改变分割区域的数量来执行测试:为数据集中的所有500张图像使用slic技术,从而产生首先30个区域,随后150个区域以及最终600个区域。

在所有的情况下,已移除了被完全包含的区域。

随后,产生了使用f4、af4、3ot和s-3ot的分割轮廓的链式码。

对于性能评估,计算每个链式码序列的第一顺序熵,以便获得以每符号比特(bps)为单位测量的编码率的估计值。

在图13a中,在三种情况下数据集中的500个图像的平均性能根据链式码序列的长度、每符号比特的估计值和以每像素比特(bpp)表达的图像压缩率来报告。

在图13b中,还报告了每个链式码的每个符号的平均频率;该表证实了s-3ot与属性c有很好的一致性。

要注意的是,虽然相对于s-3ot的bps得分,在3ot字母表中添加的符号略显优势,但是s-3ot情况下较少的符号数量和较高的符号频率不对称性则弥补了这一劣势,使得其相对于所有其他技术而言在整体比特数(和相应的压缩率)方面是最好的,其中对于30个区域、150个区域和600个区域的情况相应地具有31%、28%和23%的增益。

该增益清楚地表明了s-3ot能够对已知的边界进行有效编码,无论是使用符号“0”或是符号“3”均是如此。

还应注意的是,当待编码的区域的数量较小时,s-3ot增益较大。事实上,较大的区域将具有较长的共享边界;此后,每次插入符号“3”时,允许避免对边界中的较大部分进行编码。此外,符号“0”将被更加频繁地使用。

总之,所得的结果显示,在本发明中所描述的方法能够胜过现有技术中已知的超像素边界编码方案。

在本发明的一个实施方式中,提出了相同的手段来避免对每个在任意两个区域之间共用的边界进行两次编码,所述手段能够被扩展到如以上回顾到的其他链式码规则:例如f4、af4。

在本发明的另一实施方式,能够使用较大的角度集合来表示轮廓方向。

所公开的方法考虑4连接的像素边界,但其也能够被扩展至6连接和8连接的情况,即在描述三维的多边形表面时进行扩展。

在这种情况下,链式码将包括更多方向,但是编码原理保持不变。

在本发明的另一实施方式中,能够将任意形状的轮廓(其包围所有的被分割的区域)——而不是矩形的图像画布——用于初始化已知的边界。

在本发明的一个实施方式中,gft和igft已被用于对超像素进行编码和解码。然而,适用于本发明目的的任何其他种类的图形变换也能够被使用。

在本发明的一个实施方式中,待编码的图像可被初步滤波,从而移除高频分量并降低所得的编码比特率。适当滤波器的例子包括高斯滤波器或线性滤波器或双线性滤波器或立法滤波器。

在另一实施方式中,可使用与本说明书中所讨论的slic算法不同的分割方案将图像分割成多个超像素。合适的图像分割技术包括:归一化的切割算法(jianboshi、jitendramalik,“normalizedcutsandimagesegmentation(归一化切割和图像分割)”,ieee图像分析和机器智能期刊,第22卷,第8期,2000年8月),由felzenswalb和locker提出的算法(pedrofelzenszwalb、danielp.huttenlocher,“efficientgraph-basedimagesegmentation(高效的基于图形的图像分割)”,计算机视觉国际杂志59期,2004年2月)等等。

在另一实施方式中,在变换系数被放到信道上或被储存在存储单元之前,使用现有的编码技术对变换系数进行进一步压缩,以及,在通过图形解码单元进行处理之前,在接收器处被解压缩。合适的编码技术包括:非均匀的量化、z字形扫描、差分编码和熵编码。

本发明能够被调整从而也被用于压缩彩色图像。例如,在rgb图像的情况下,本发明能够被用于压缩r、g或b分量中的至少一个;由于这些分量通常具有强相关性,则至少就边界而言,有可能基于开始的一个块的这些分量来推断或预测其他的分量的边界。

类似地,在yuv编码的彩色图像的情况下,根据本发明能够压缩亮度分量y,而色度分量u和v能够按照与其和y的差信号(y-u和y-v)类似的方式被压缩和解压缩,考虑到色度分量相对于亮度分量的不同统计学特性可做出一些调整。

本发明也可被整合到视频编码技术中,其中,还应考虑在视频序列的不同图像之间的时间相关性。为此,与传统视频压缩标准下所使用的类似的预测机构能够与本发明组合使用,从而有效地压缩和解压缩视频信号。

本发明说明书已经解决了一些可能的变体,但是对于本领域技术人员显而易见的是,也可实现其他实施方式,其中一些元素可以使用技术上等效的元素来替换。因此,本发明并不限于本文中所描述的说明性示例,但是也可对等效部分和元素进行多种修改、改进或替换,而不偏离如所附权利要求书中所阐明的基本发明构思。

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