固定码率且基于行的嵌入式视频压缩方法和图像处理设备与流程

文档序号:15062529发布日期:2018-07-31 22:06阅读:172来源:国知局

本发明涉及一种固定码率且基于行的嵌入式视频压缩方法和一种使用所述方法的图像处理设备。



背景技术:

随着计算机、网络和数字成像技术的快速发展,海量的视频数据已广泛的应用于数字视频记录器、高清电视、家庭影院计算机、视频会议装置、智能手机等数字重放装置中。然而,存储和传输如此大量的视频内容需要极大的内存带宽和处理能力。尽管目前已经开发出多种嵌入式压缩方法和系统以减小此类负担,但在视觉无损性能的情况下无法保证恒定码率。



技术实现要素:

因此,本发明是针对一种固定码率且基于行的嵌入式视频压缩方法和一种使用所述方法的图像处理设备。

根据示例性实施例之一,本发明提出一种固定码率且基于行的嵌入式视频压缩方法。所述方法至少包含以下步骤。首先,接收当前编码帧。在逐行的基础上对当前编码帧中的像素进行分组,且将已分组像素封装到包含当前像素行段的像素行段中。根据当前像素行段中的像素和其相邻像素计算当前像素行段的复杂度信息。根据量化参数(quantizationparameter,qp)分别以差分脉冲编码调制(differentialpulse-codingmodulation,dpcm)模式和截断模式对当前像素行段进行编码,以产生dpcm码流和截断码流。根据复杂度信息选择且输出dpcm码流或截断码流中的一个。反馈当前像素行段利用的所使用码流量以计算对应于所述像素行段中的下一像素行段的新qp。

在示例性实施例之一中,本发明是针对一种图像处理设备,其包含但不限于存储介质和耦合到所述存储介质的处理器。所述处理器至少经配置以进行以下操作:接收输入帧序列中的当前编码帧;在逐行基础上对当前编码帧中的像素进行分组,且将已分组像素封装到包含当前像素行段的像素行段中;分别以dpcm模式和截断模式对当前像素行段进行编码,以根据qp产生dpcm码流和截断码流;根据复杂度信息选择且输出dpcm码流或截断码流中的一个;以及反馈当前像素行段利用的所使用码流量以计算对应于所述像素行段中的下一像素行段的qp。

为了使得本发明的前述特征和优点便于理解,下文将详细描述伴有附图的优选实施例。应理解,前文总体描述和以下详细描述都是示例性的,并且是希望提供对所主张的本发明的进一步解释。

然而,应理解,此概述可以不含有本发明的所有方面和实施例,且因此不希望以任何方式为限制性的或约束性的。而且,本发明将包含对于所属领域的技术人员来说显而易见的改进和修改。

附图说明

包含随附附图是为了更深入理解本发明,随附附图结合在本说明书中并且构成本说明书的一部分。附图说明本发明的实施例,并且连同所述描述一起用来解释本发明的原理。

图1a从硬件角度说明根据本发明的示例性实施例之一的示例性图像处理设备,其利用所提出的固定码率且基于行的嵌入式视频压缩方法。

图1b更详细地说明根据本发明的示例性实施例之一的图像处理设备的处理器。

图2说明根据本发明的示例性实施例之一的固定码率且基于行的嵌入式视频压缩方法的流程图。

图3说明根据本发明的示例性实施例之一的当前像素行段以及其相邻像素的示意图。

图4说明根据本发明的示例性实施例之一的运动估计的示意图。

图5说明根据本发明的示例性实施例之一的熵编码的示意图。

图6a说明根据本发明的示例性实施例之一的全局位分配的示意图。

图6b说明根据本发明的示例性实施例之一的局部位调整的示意图。

图6c说明根据本发明的示例性实施例之一的局部量化参数计算的示意图。

为了使申请案的以上特征和优势更好理解,如下详细地描述伴有图式的若干实施例。

元件符号说明

100:图像处理设备

110:处理器

111:输入模块

112:分析模块

113:预测模块

114:dpcm模块

115:截断模块

116:数据选择器模块

117:码率控制模块

118:输出模块

120:存储介质

s202~s218:步骤

s502~s506:步骤

具体实施方式

现将在下文参考随附附图更充分地描述本发明的一些实施例,所述随附附图中描绘本申请案中的一些而非全部实施例。实际上,本发明的各种实施例可以多种不同形式体现且不应被解释为受限于本文中阐述的实施例;确切地说,提供这些实施例使得本发明将满足适用的法律要求。类似参考标号通篇指代类似元件。

图1a从硬件角度说明根据本发明的示例性实施例之一的示例性图像处理设备,其利用所提出的固定码率且基于行的嵌入式视频压缩方法。

参看图1,示例性图像处理设备100将包含但不限于处理器110和存储介质120。图像处理设备100可为例如个人计算机、笔记本计算机、平板计算机、数码相机、数字便携式摄像机、智能手机、事件数据记录器、车载音频和视频系统等的电子装置。

处理器110将经配置以实施所提出的固定码率且基于行的嵌入式视频压缩方法以及后续公开内容中的示例性实施例的功能元件。可通过使用一或多个可编程单元来实施处理器110的功能,所述一或多个可编程单元例如现场可编程阵列(fieldprogrammablearray,fpga)、可编程逻辑装置(programmablelogicdevice,pld)、专用集成电路(applicationspecificintegratedcircuit,asic)、中央处理单元(centralprocessingunit,cpu)、可编程通用微处理器或可编程专用微处理器、微控制器、数字信号处理器(digitalsignalprocessor,dsp)、可编程逻辑装置(programmablelogicdevice,pld)、其它类似装置或电路,或其组合。也可用独立的电子装置或集成电路(integratedcircuit,ic)来实施处理器110的功能,并且也可用硬件或软件或两者的组合来实施处理器110的功能。

存储介质120将耦合到处理器110以存储编程码、装置配置、查找表、缓冲数据或永久性数据等。存储介质120可为易失性存储器或永久性存储器,例如静态或移动随机存取存储器(randomaccessmemory,ram)、只读存储器(read-onlymemory,rom)、快闪存储器、硬盘驱动器或其它类似装置或电路。

图像处理设备100可视情况包含图像捕获装置、接口、图像显示装置和通信单元。图像捕获装置可为捕获视频或运动图像的相机或便携式摄像机。接口可为允许图像处理设备100接收图像数据和输出经处理图像数据的输入/输出接口。图像显示装置可为用于显示经处理图像数据的任何显示器。通信单元可为用于通过无线连接或电缆连接从外部源获得图像数据的调制解调器或无线收发器。在一些情况下,通信单元也可将经处理图像数据发射到其它装置或平台。

图1b更详细地说明根据本发明的示例性实施例之一的图像处理设备100的处理器110。

参看图1b,处理器110可被视为图像处理设备100中的编码器,且可包含但不限于输入模块111、分析模块112、预测模块113、dpcm模块114、截断模块115、数据选择器模块116、码率控制模块117和输出模块118。这些模块可经实施为硬件模块(例如独立的硬件ic)、软件模块或硬件模块和软件模块两者的组合。图1a和图1b的细节在后续公开内容中进一步阐明。

图2说明根据本发明的示例性实施例之一的固定码率且基于行的嵌入式视频压缩方法的流程图。图2的步骤可通过如图1a和图1b中所示的所提出图像捕获设备100实施。

参看图2以及图1a和图1b,处理器110的输入模块111将接收输入帧序列(步骤s202)。换句话说,输入模块111将接收原始视频帧序列的输入。在此所提出方法可建构于例如在大多数数字视频应用中兼容的rgb、yuv、ycbcr等任何颜色空间中。输入输入帧中的每一像素的颜色元素使用三个颜色通道值表示强度和颜色。简单起见,将仅说明输入帧中的一个(被称作“当前编码帧”),且其它输入帧可以类似方式进行推论。

输入模块111将进一步在逐行的基础上对当前编码帧中的像素进行分组,且将已分组像素封装到像素行段中(步骤s204)。作为预处理步骤,当前编码帧中的像素将以行(逐行或逐列)来进行分组,且由行段来进行封装以作为在此所提出方法的输入。每一行段可例如由64个像素组成且将作为用于分析的基本单元。简单起见,将仅说明像素行段中的一个(被称作“当前像素行段”),且其它像素行段可以类似方式进行推论。

作为一实例,图3说明根据本发明的示例性实施例之一的当前像素行段以及其相邻像素。参看图3,帧f1中的像素行段s1包含64个像素p0至p63且被视为待处理的当前像素行段。像素u0至u67为同一帧f1内像素行段s1上方且可为已编码和重构的像素,且像素l0至l1和像素r0至r1分别为像素行段s1左侧和右侧的像素。

返回参看图2,分析模块112将随后根据当前像素行段的相邻像素计算所述当前像素行段中的像素的复杂度信息(步骤s206)。复杂度信息可为当前像素行段中的像素变化程度。在示例性实施例中,可在各局部邻域中单独地检测复杂度,且总体复杂度可表示当前像素行段的复杂度信息。

详细地说,分析模块112可先将当前像素行段中的像素指派到多个局部区域。所述局部区域中的每一个将具有例如2×2像素的大小,且因此将由当前像素行段中的一部分像素和当前像素行段的至少一个相邻像素所组成。作为图3中的一实例,像素p0、像素p1、像素u2和像素u3可形成一个局部区域。分析模块112将随后计算局部区域中每一个中的像素的方差以确定对应的局部复杂度。当一局部区域内的像素的方差超过方差阈值时,将此区域的局部复杂度分类到“复杂”中。当一局部区域内的像素的方差未超过方差阈值时,将此区域的局部复杂度分类到“均匀(homogeneous)”中。分析模块122将根据各局部区域的局部复杂度,通过例如均匀局部区域和复杂局部区域的总计数来评估当前像素行段的复杂度信息。当复杂局部区域的数目大于均匀局部区域的数目时,当前像素行段的复杂度信息将被评估为“复杂”。当复杂局部区域的数目小于均匀局部区域的数目时,当前像素行段的复杂度信息将被评估为“均匀”。然而,本发明在此方面不受限制。

在视频编码过程方面,帧内(intra-frame)dpcm编码模式将作为编码方法中的一种,所述编码模式通过各种预测方法得以取得相邻像素中的空间冗余(spatialredundancy)。此方法具有计算简单和最小感知图像质量耗损的优点,然而将无法保证位预算。另一方面,以统计方式截断特定像素的截断编码模式可确保位预算约束条件,然而在较高压缩比率下将可能牺牲视觉质量。因此,在此将基于当前像素行段的复杂度信息来执行自适应压缩模式选择以在位预算约束条件下将视频质量维持在视觉无损程度。应注意,视频编码高度地取决于量化参数(quantizationparameter,qp),其中量化参数可决定空间细节的保留程度。当量化参数的值较小时,大部分的空间细节将被保留。随着量化参数的值增加,较多的细节将被保留使得位码率下降,但是将以一定失真增加和一定质量耗损作为代价。

详细地说,dpcm模块114将根据对应于当前像素行段的qp以dpcm模式编码当前像素行段以产生dpcm码流(步骤s208)。这个步骤涉及运动估计和熵编码,如图4和图5中分别所说明。首先应注意,两种模式中的qp可不同。稍后将描述更多细节。

参看图4以及图1a和图1b,预测模块113将先对当前像素行段cps执行空间预测运动估计。在本发明的示例性实施例中,预测模块113将根据最大似然原理计算最佳匹配运动向量。首先,将计算当前像素行段cps和每一候选像素行段sm至sn中的像素之间的绝对差总和sad[m]至sad[n],且mvm至mvn表示候选运动向量。候选像素行段可为与当前像素行段紧邻或相邻的像素行段,其中候选像素行段的数目是可事先预设的。随后,具有最小sad值的运动向量将为最佳匹配运动向量。

参看图5以及图1a和图1b,dpcm模块114将基于由预测模块113获得的最佳匹配运动向量和量化参数执行熵编码。针对当前像素行段中的每一像素ix,将根据最佳匹配运动向量计算其对应的预测像素px。将计算每一像素ix与其对应的预测像素px之间的残余(即,差值)(步骤s502)。接着,将通过qp将所有差值diff量化成量化差值q_diff(步骤s504),并且将通过熵编码压缩量化差值q_diff(步骤s506)以产生dpcm码流。

再回到图2,作为另一种编码方式,截断模块115还将根据对应于当前像素行段的qp以截断模式编码当前像素行段以产生截断码流(步骤s210)。在这个编码方式中,截断模块115将基于特定舍入规则(roundingrules)舍弃当前像素行段中具有最低有效位(leastsignificantbits)的一些像素以产生截断码流。

数据选择器模块116将根据复杂度信息选择dpcm码流或截断码流中的一个(步骤s212),且输出模块118将输出所选择的码流(步骤s214)。数据选择器模块116将确保当前输入帧中每一行的位预算是固定的。根据在步骤s206中产生的每一像素行段的复杂度信息将合适的位预算分配到每一像素行段。在相同qp的情况下,dpcm编码模式提供最小的感知图像质量耗损,而位预算相比于截断编码模式将相对不稳定。输入帧将不仅通过从输出码流移除冗余信息进行压缩,而且还将以意图最低限度可察觉的方式作出较小质量妥协。由于人眼对高频率改变较不敏感,因此数据选择器模块116将在复杂度信息指示当前像素行段为复杂时选择截断码流。另一方面,数据选择器模块116将在复杂度信息指示当前像素行段为均匀时选择dpcm码流。输出模块117可将所选择的码流输出到存储介质102中的编码缓冲器,准备好被传送和解码。

在针对当前像素行段完成编码之后,数据选择器模块116将把当前像素行段所使用的码流量反馈到码率控制模块117(步骤s216),且码率控制模块117将计算对应于所述像素行段的下一像素行段的新qp(步骤s218)。码率控制模块117用以控制每一像素行段的量化参数。如先前所阐明,qp具有两个需要考虑的因素。第一个是控管消耗位不超过每行的给定位预算。第二个是将视频质量维持在视觉无损程度。步骤s216和步骤s218中的码率控制过程将由三部分组成:全局位分配、局部位调整和局部量化参数计算。

详细地说,图6a、图6b和图6c分别说明根据本发明的示例性实施例之一的全局位分配、局部位调整和局部量化参数计算的示意图。

参看图6a以及图1a和图1b,就基于行的全局位分配来说,针对每行给定的位预算bbpl,在处理每一行之前,码率控制模块117将基于复杂度信息保留用于保护一些特定模式的保留位预算rbs,其中保留位预算rbs可通过默认设定或用户设定预设。控制模块117将平分剩下的位预算,以将平均位预算abb分配到每一像素行段。举例来说,假定当前像素行段所位于的行被称作“当前行”。初始分配到当前像素行段的位预算可通过以下表达:

参看图6b以及图1a和图1b,就局部位调整来说,数据选择器模块116将通过参考由分析模块112获得的每一像素行段的复杂度信息而自适应地调整已计算出的位预算。在本实施例中,平均位预算abb将进一步被划分成行段基本位sbb和行段额外位seb。为了视频质量一致,具有不同复杂度的像素行段将需要不同的位预算分配。分配到均匀的像素行段的位预算大于分配到复杂的像素行段的位预算。在本发明的示例性实施例中,当复杂度信息指示当前像素行段为复杂时,所述当前像素行段的位预算将被调整到仅段基本位sbb。另一方面,当复杂度信息指示当前像素行段为均匀时,所述当前像素行段的位预算将为段基本位sbb和段额外位seb(即,初始分配的平均位预算)以达到视觉无损的质量。应注意,当段额外位seb对于当前像素行段而言是不足够时,数据选择器模块116还将从保留位预算请求分发额外消耗。当段额外位seb未完全用于当前像素行段时,数据选择器模块116还将把任何剩下的、未使用的位累加到保留位预算。因此,数据选择器模块116将进一步把局部位调整结论作为反馈结果报告给码率控制模块117,以便更新保留位预算以用于计算待处理的下一像素行段的新qp。

也就是说,参看图6c,就局部量化参数计算来说,数据选择器模块116将根据来自分析模块112的当前像素行段的复杂度信息ci,从截断模块115获得段基本位sbb的信息或从dpcm模块114获得段基本位sbb以及行额外位leb(即,目前更新的保留位预算)的信息作为局部位调整结论lbac,且码率控制模块117将相应地在qp估计步骤中计算新qp以产生用于dpcm模块114和截断模块115的新qp,其中所属领域的技术人员可利用已知的任何现有算法中导出所述新qp。

dpcm模块114将进一步在局部基础上修正待处理的下一像素行段中的新qp,以保持整个图像的视角质量相同且均衡。换句话说,就下一个处理的像素行段来说,dpcm模块114将调整新qp以使得下一像素行段使用的位将在其位预算的约束下。另一方面,截断模块115将更改新qp以充分使用逐个像素的所分配段位预算。从另一角度来说,再回到图2,在步骤s208和步骤s210中,本文中的qp是从已在先前迭代中自处理过的先前像素行段所获得。在步骤s208和步骤210中,dpcm模块114和截断模块115还将以类似方式局部地修正qp。

基于前述描述,本发明提供一种固定码率且基于行的嵌入式视频压缩技术可基于每一像素行段的复杂度自适应地编码每一像素行段,以在特定位预算约束条件下将视频质量维持于视觉无损程度。

本领域技术人员将明白,在不脱离本发明的范围或精神的情况下,可对所公开的实施例的结构进行各种修改和变化。考虑到前述内容,期望本发明涵盖落入以下权利要求书及其等效物的范围内的本发明的修改及变化。

对于所属领域的技术人员将显而易见的是,在不脱离本发明的范围或精神的情况下,可以对本发明的结构进行各种修改和变化。考虑到前述内容,期望本发明涵盖落入所附权利要求书及其等效物的范围内的本发明的修改及变化。

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