CN101795402B - 宏块的划分方法及装置 - Google Patents
宏块的划分方法及装置 Download PDFInfo
- Publication number
- CN101795402B CN101795402B CN 200910008598 CN200910008598A CN101795402B CN 101795402 B CN101795402 B CN 101795402B CN 200910008598 CN200910008598 CN 200910008598 CN 200910008598 A CN200910008598 A CN 200910008598A CN 101795402 B CN101795402 B CN 101795402B
- Authority
- CN
- China
- Prior art keywords
- macro block
- important
- macroblock
- difference
- important macroblock
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种宏块的划分方法及装置,涉及图像处理领域,解决了现有技术中划分重要宏块较复杂的问题。本发明实施例方法包括:计算宏块中各个子宏块的变换系数之间的差值;根据所述差值获取每个宏块的特征差值;根据所述特征差值确定该宏块的重要等级。本发明实施例装置包括:第一计算单元,用于计算宏块中各个子宏块的变换系数之间的差值;获取单元,用于根据所述差值获取每个宏块的特征差值;第一处理单元,用于根据所述特征差值确定该宏块的重要等级。本发明实施例主要用在图像处理中,特别是用在视频图像的宏块分片中。
Description
技术领域
本发明涉及图像及视频处理技术领域,尤其涉及对图像以及视频中宏块进行划分的方法及装置。
背景技术
由于在传输视频流的过程中会出现丢包现象,造成解码端接收到的视频流不完整,如果在解码端对接收到的视频流进行错误掩盖处理,则解码端能够解码出人眼视觉能够接受的图像。错误掩盖处理主要是解码端通过一定的算法,根据已经得到的正确视频数据近似地预测丢包的数据,以获得人眼视觉可以接受的图像。
由上描述可知,在进行错误掩盖的时候需要的参考信息为已经得到的正确视频数据,为了使得错误掩盖后得到的图像更加真实,需要解码端从编码端接收到足够的参考信息。现有技术中提供了一种容错技术来保证编码端发送的视频流包含足够多的参考信息,即FMO(灵活的宏块排序)。
目前最典型的FMO技术主要包括交织FMO、棋盘FMO和矩形前景FMO,这三种FMO技术均没有对最能够体现图像特征的宏块进行特别处理,造成这些宏块丢失后比较不容易进行错误掩盖。为了通过错误掩盖得到的图像更接近原始图像,现有技术提出了一种基于不等容错的自适应FMO技术,即:将一帧中的所有宏块划分成不同的重要等级,并在进行分片的时候,对重要宏块给予更多的RS(冗余片,redundant slice)保护,并且打包后的每个RS所在的数据包都和对应的片相关联。划分到一个片内的宏块可相互参考做帧内预测,不同片内的宏块之间不能相互参考,如果一个片中的宏块丢掉了或者出错了,解码器可 利用另一个片的宏块对该块做误码掩盖。
为了度量宏块的重要等级,现有技术定义了宏块的失真度DMB,计算公式为:
对宏块进行重要等级划分方式为:当DMB<Tlow*Dmean时,宏块被分入最不重要的片当中;当Tlow*Dmean<DMa<Thigh*Dmean时,宏块被分入次重要的片当中;当DMB>Thigh*Dmean时,宏块被分入最重要的片当中。
现有技术中进行宏块的重要等级划分时,利用如下公式计算期望失真值:
并且不断修改Tlow和Thigh,直到得到最小的期望失真为止,以便得到Tlow和Thigh这两个门限值的最优值,表示本次宏块的重要等级划分是最优的。
在实现上述对宏块进行重要等级划分的过程中,发明人发现现有技术中至少存在如下问题:计算失真度的公式较为复杂,并且需要不断地计算期望失真值,使得划分宏块重要等级的过程较为繁琐,复杂度较高。
发明内容
本发明的实施例提供一种宏块的划分方法及装置,以降低划分宏块重要等级的过程的复杂度。
为达到上述目的,本发明的实施例采用如下技术方案:
一种宏块的划分方法,包括:
计算宏块中各个子宏块的变换系数之间的差值;
根据所述差值获取每个宏块的特征差值,所述特征差值为所述差值的最大值或平均值;
根据所述特征差值确定该宏块的重要等级;
所述根据所述特征差值确定该宏块的重要等级包括:对所述宏块特征差值按照大小排序,将预定个数特征差值最大的宏块作为重要宏块;或者将大于预定阈值的特征差值所对应的宏块作为重要宏块。
一种宏块的划分装置,包括:
第一计算单元,用于计算宏块中各个子宏块的变换系数之间的差值;
获取单元,用于根据所述差值获取每个宏块的特征差值,所述特征差值为所述差值的最大值或平均值;
第一处理单元,用于根据所述特征差值确定该宏块的重要等级;
所述第一处理单元包括排序模块和第一处理模块,所述排序模块用于对所述宏块特征差值按照大小排序,所述第一处理模块用于将预定个数特征差值最大的宏块作为重要宏块;或者所述第一处理单元用于将大于预定阈值的特征差值所对应宏块作为重要宏块。
本发明实施例提供的宏块的划分方法及装置,只需要计算变换系数的差值,然后可以根据特征差值来确定宏块的重要等级,以便完成宏块的重要等级划分,相对于现有技术中计算失真度时所用的复杂公式而言,本发明实施例中计算差值和特征差值的过程较为简单,能够降低划分宏块重要等级的过程的复杂度。并且现有技术中需要不断修改Tlow和Thigh,并计算期望失真度,直到得到最小的期望失真度为止;而本发明实施例中采用先确定重要宏块,再细分非重要宏块的方法,进一步说明本发明实施例划分宏块重要等级的过程较为简单,复杂度较低。
由于本发明实施例主要依靠宏块的变换系数(如直流系数、交流系数)进行重要等级的划分,而转码平台能够很方便地得到宏块的变换系数,特别是在采用MPEG-2/MPEG-4/H264等技术进行编码的视频流,转码平台可以直接从接收到的视频流得到变换系数,就又省去了很多的计算,能够很好地利用到转码平台的优势。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中宏块的划分方法流程图;
图2为本发明实施例1中宏块的划分装置框图;
图3为本发明实施例2中一种确定重要宏块的流程图;
图4为本发明实施例2中另一种确定重要宏块的流程图;
图5为本发明实施例2中非重要宏块划分的流程图;
图6为本发明实施例3中一种确定重要宏块的流程图;
图7为本发明实施例4中非重要宏块划分的流程图;
图8为本发明实施例5中宏块的划分装置框图;
图9为本发明实施例6中图像处理方法的流程图;
图10为本发明实施例6中图像处理装置的流程图。
具体实施方式
随着网络上数据的传输量激增,造成网络拥塞并导致丢包,使得视频流传输会出现高误码率。为此,在编码或转码过程中需要更健壮的抗传输差错的能力(即鲁棒性)。
本发明实施例提供的容错技术能够降低划分宏块重要等级的过程的复杂度,特别是在视频转码器中使用该容错技术,能够较好地发挥视频转码器的优势。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:
本发明实施例提供一种宏块的划分方法,可以将不同重要等级的宏块分入不同的分片中,对于重要宏块可以给予更多的保护,如图1所示,该方法包括如下步骤:
101、计算宏块中各个子宏块的变换系数之间的差值。
102、在计算出宏块中各个子宏块的变换系数之间的差值后,根据所述差值获取每个宏块的特征差值。
103、根据所述特征差值确定该宏块的重要等级,即根据所述特征差值决定该宏块是否为重要宏块,这样在后续的编码流程中,可以给予这些重要宏块更多的RS或FEC(Forward Error Correction,前向纠错)保护。
一般情况下,由于人们在观看图像的过程中,会把更多的注意力集中在图像中间,而不是图像边缘,所以本过程中可以只确定非边缘宏块是否为重要宏块,而对于边缘宏块可以直接将其划入非重要宏块。
对应于图1中的宏块的划分方法,本发明实施例还提供一种宏块的划分装置,如图2所示,该装置包括:第一计算单元21、获取单元22和第一处理单元23。
其中,第一计算单元21用于计算宏块中各个子宏块的变换系数之间的差值;获取单元22用于根据所述差值获取每个宏块的特征差值;第一处理单元23用于根据所述特征差值确定该宏块的重要等级,在后续的编码中,可以给予这些重要宏块更多的保护。
本发明实施例提供的宏块的划分方法及装置,只需要计算变换系数的差值,然后可以根据特征差值来确定宏块的重要等级,以便完成宏块的重要等级划分,相对于现有技术中计算失真度时所用的复杂公式而言,本发明实施例中计算差 值的过程较为简单,能够降低划分宏块重要等级的过程的复杂度。并且现有技术中需要不断修改Tlow和Thigh,并计算期望失真度,直到得到最小的期望失真度为止;而本发明实施例中采用先确定重要宏块,再细分非重要宏块的方法,进一步说明本发明实施例划分宏块重要等级的过程较为简单,复杂度较低。
由于本发明实施例主要依靠宏块的变换系数进行重要等级的划分,如DCT变换(离散余弦变换)、整数变换的直流系数、交流系数,而转码平台变换系数能够很方便的得到,特别是在采用MPEG-2/MPEG-4/H264等技术进行编码的视频流,转码平台可以直接从接收到的视频流得到变换系数,就省去了很多的计算,能够很好地利用到转码平台的优势。
实施例2:
本发明实施例提供一种宏块的划分方法,主要包括重要宏块的确定过程和非重要宏块的划分过程,具体如图3所示,该方法重要宏块的确定过程包括:
301、计算图像中每个宏块内各子宏块的直流(DC)系数之间的差值。
本过程中的DC是变换系数中的一种,具体实现时还可以采用其他变换系数,例如交流(AC)系数,变换系数对应的变换方法可以但不限定为DCT变换(离散余弦变换)、整数变换等。本过程中的差值为差的大小,可以为绝对值,或者平方值。
302、获取每个宏块内所述差值的最大值作为对应宏块的特征差值。
在具体实现时,也可以将每个宏块内所述差值求平均值,并将平均值作为特征差值。
在具体实现时,如果以每个宏块内所述差值的最大值作为对应宏块的特征差值,也可以直接计算每个宏块内各子宏块的直流系数的最大值与最小值的差值,并将这一差值作为特征差值。
303、将特征差值按照大小排序,可以是按照从大到小的顺序排序,也可以是从小到大排序。
304、将预定个数特征差值最大的宏块作为重要宏块。如果是从大到小的顺序排序,则将预定个数排序靠前的特征差值所对应宏块作为重要宏块,如果是从小到大的顺序排序,则将预定个数排序靠后的特征差值所对应宏块作为重要宏块。
由于本实施例中设置了宏块的预定个数,这样得出的重要宏块数量是固定的,不会出现重要宏块数量过多或过少的问题。
在具体实现时,重要宏块的确定过程还可以采用另一种实现方式,设定一个数值范围[lower,upper],通过本实施例可以将重要宏块的数量控制在该数值范围内,如图4所示,该方法的重要宏块确定过程包括:
401、计算图像中每个非边缘宏块内各子宏块的直流(DC)系数之间的差值。本过程中的DC系数是变换系数中的一种。本过程中的差值为差的大小,可以为绝对值,或者平方值。
402、获取每个非边缘宏块内所述差值的最大值作为对应宏块的特征差值。
在具体实现时,也可以将对所述差值求平均值,并将平均值作为特征差值。
在具体实现时,如果以每个宏块内所述差值的最大值作为对应宏块的特征差值,也可以直接计算每个宏块内各子宏块的直流系数的最大值与最小值的差值,并将这一差值作为特征差值。
通过上述401至402过程计算出了图像中每个非边缘宏块的特征差值。
403、选择第一个宏块作为当前宏块。本过程中选择当前宏块的方式可以为:逐行对图像的宏块进行扫描来选择当前宏块、或者逐列对图像的宏块进行扫描来选择当前宏块、或者在图像中任意选取当前宏块。
404、判断当前宏块是否为非边缘宏块,如果当前宏块是非边缘宏块,则执行405;如果当前宏块不是非边缘宏块,则执行407。
405、判断所述特征差值是否大于预定阈值,如果所述特征差值大于预定阈值,则执行406;如果所述特征差值不大于预定阈值,则执行407。
406、将当前宏块作为重要宏块,即把特征差值大于预定阈值的非边缘宏块作为重要宏块。
407、判断当前宏块是否为该图像的最后一个宏块,如果当前宏块为该图像的最后一个宏块,则执行409;如果当前宏块不是该图像的最后一个宏块,则执行408。
其中,具体判断可以通过宏块计数方式实现:若宏块计数小于图像宏块总数,则表示当前宏块不是该图像的最后一个宏块;若宏块计数等于图像宏块总数,则表示当前宏块为该图像的最后一个宏块。
408、选取下一个宏块作为当前宏块,并返回执行404。
上述过程403至408能够对图像进行一次完整的扫描,以完成宏块的划分,并统计出本次划分得到的重要宏块数量。并且,上述过程403至408是通过将特征差值与预定阈值进行比较来确定当前宏块是否为重要宏块的,这样能够根据不同的情况来改变阈值,灵活性较强。但是,当预定阈值设定的不够合理时,会导致划分出的重要宏块数量较多或较少。为了能够得到数量更为合理的重要宏块,本实施例还需要执行如下过程;
409、统计出重要宏块的数量,判断重要宏块的数量是否处于预定范围,该预定范围为[lower,upper],所以,本过程需要判断重要宏块的数量是否在lower和upper之间。本实施例中可以预先设定的lower和upper的初始值,也可以允许用户根据不同的应用情况来设定lower和upper的值。
若重要宏块的数量大于预定范围的上限,即重要宏块的数量大于upper,则执行410;若重要宏块的数量小于预定范围的下限,即重要宏块的数量小于lower,则执行411。
410、为了对重要宏块数量进行收缩处理,本过程将预定阈值加大作为新的预定阈值,并执行412。具体增加的数值并不限定为1,也可以增加其他的数值,例如:2、3.5等。
本过程中采用但不限于如下实现方式:在需要进行收缩处理时,由用户临时输入具体增加的数值,或者自动增加一个预先设定的数值作为新的预定阈值。
411、为了对重要宏块数量进行扩张处理,本过程将预定阈值减小作为新的预定阈值,并执行412。具体减小的数值并不限定为1,也可以减其他的数值,例如:2、3.5等。
本过程中采用但不限于如下实现方式:在需要进行扩张处理时,由用户临时输入具体减小的数值,或者自动减小一个预先设定的数值作为新的预定阈值。
上述过程409至411中,在重要宏块数量过多时,提高了预定阈值,在重新进行宏块的划分时,可以减少重要宏块的数量,以使得重要宏块数量处于预定范围内;同理,在重要宏块数量过少时,降低预定阈值,在重新进行宏块划分时,这样可以适当增加重要宏块的数量。
412、判断与所述新的预定阈值对应的重要宏块数量是否之前已统计过,如果新的预定阈值对应的重要宏块数量没统计过,则返回执行403,否则结束流程。在新的预定阈值对应的重要宏块数量已统计过时结束流程,可以避免预定阈值增大后重要宏块数量过少的情况循环出现,也可以避免预定阈值减小后重要宏块数量过多的情况循环出现。
图3和图4中描述重要宏块的确定过程,为了进一步完善宏块的重要等级 划分方法,本实施例还提供非重要宏块的划分过程,在图3或图4的流程结束之后,如果非重要宏块数量较多,则需要执行非重要宏块的划分过程,如图5所示,该方法的非重要宏块划分过程包括:
501、计算每个宏块的边缘亮度信息,对于一个包含WXH个子宏块的宏块来说,需要计算出4个边缘亮度信息,第i个宏块的边缘亮度信息分别记为Mi left,Mi right,Mi up和Mi down,其中,Mi left表示该宏块左边H个子宏块的边缘亮度信息,Mi right表示该宏块右边H个子宏块的边缘亮度信息,Mi up表示该宏块上边W个子宏块的边缘亮度信息,Mi down表示该宏块下边W个子宏块的边缘亮度信息。
具体地,首先计算每一个宏块的亮度信息N,取值为“亮”、“灰”和“暗”。具体做法是,对于一个宏块含有四个DC系数情况,每一个宏块将其四个DC系数取平均,若DC平均值在-128至-49之间,则当前宏块标记为“暗”;若DC系数平均值在48至127之间,则当前宏块记为“亮”;若DC系数平均值在-48至47之间,则当前宏块标记为“灰”。同时,对三种亮度的宏块数进行统计,以确定当前帧的灰度因子Q,Q为一个大于等于1的数。简单地,如果一帧中有宏块为“亮”或“暗”,Q取值为1,否则(所有宏块都为“灰”),Q取值定义如下:如果所有DC系数均大于0,且宏块中最大的DC系数为DCmax,则Q=127/DCmax;如果所有DC系数均小于0,且宏块中最小的DC系数为DCmin,则Q=-128/DCmin;否则比较DCmax和DCmin的绝对值大小,较大者的绝对值记为DCabs,并且Q=127/DCabs。
然后,计算每一个宏块的边缘亮度信息M,取值为“亮”、“灰”和“暗”。具体地,第i个宏块的四个边缘亮度信息分别记为Mi left,Mi right,Mi up和Mi down,比如Mi left,先由左边两个子宏块的DC系数值求平均得到宏块左侧16×8共128个像素的DC系数,并将左边两个子宏块的DC系数与Q相乘加权得出Mi left的取值是 “亮”、“灰”还是“暗”,其中“亮”、“灰”和“暗”的定义和上述宏块的亮度信息定义相同。
502、选择第一个宏块作为当前宏块。本过程中选择当前宏块的方式可以为:逐行对图像的宏块进行扫描来选择当前宏块、或者逐列对图像的宏块进行扫描来选择当前宏块、或者在图像中任意选取当前宏块。
503、判断当前宏块是否为重要宏块,如果当前宏块为重要宏块,则执行511;如果当前宏块不是重要宏块,则执行504。
通过上述过程502和503能够选取到当前帧图像中的非重要宏块。
504、判断当前宏块左边的宏块是否为重要宏块,如果当前宏块左边的宏块为重要宏块,则执行506;如果当前宏块左边的宏块不是重要宏块,则执行505。
505、判断当前宏块的Mi left和当前宏块左边的宏块的Mi-1 right是否为一个“暗”一个“亮”,如果是,表示相邻边缘亮度信息差异明显,则执行510;如果不是,表示相邻边缘亮度信息差异不明显,则执行506。
506、判断当前宏块上方的宏块是否为重要宏块,如果当前宏块上方的宏块为重要宏块,则执行508;如果当前宏块上方的宏块不是重要宏块,则执行507。
507、判断当前宏决的Mi up和当前宏块上方的宏块的Mi-width down(i-width表示上方宏块的编号)是否为一个“暗”一个“亮”,如果是,表示相邻边缘亮度信息差异明显,则执行509;如果不是,表示相邻边缘亮度信息差异不明显,则执行508。
508、将当前宏块划分到宏块数量较小的非重要宏块分片中,并且执行511。
509、将当前宏块划分到当前宏块上边的宏块所在分片中,并且执行511。
510、将当前宏块划分到当前宏块左边的宏块所在分片中,并且执行511。
511、判断当前宏块是否为最后一个宏块,如果当前宏块为最后一个宏块, 则结束当前帧的非重要宏块划分流程;如果当前宏块不是最后一个宏块,则执行512。
512、按照各个宏块行或列的排序继续选取下一个宏块作为当前宏块,并返回执行503。
通过上述非重要宏块的划分过程可知,若选取的非重要宏块左边的宏块为重要宏块,并且选取的非重要宏块上方的宏块为重要宏块,则将所选取的非重要宏块分入当前宏块数量较少的非重要宏块分片中;若选取的非重要宏块左边的宏块不是重要宏块,或者选取的非重要宏块的上方的宏块不是重要宏块,则根据边缘亮度信息对所选取的非重要宏块进行分片。
其中根据边缘亮度信息对所选取的非重要宏块进行分片具体思想为:若所选取的非重要宏块的左边宏块或者上方宏块为重要宏块,则认为所选取的非重要宏块与左边宏块或者上方宏块边缘亮度信息差异不明显;若所选取的非重要宏块的左边宏块和/或上方宏块为非重要宏块,则根据计算判断边缘亮度信息差异是否明显;在所选取的非重要宏块与左边宏块的相邻边缘亮度信息差异明显的情况下,则将选取的非重要宏块分入所述左边宏块所在的分片中;在所选取的非重要宏块与上方宏块的相邻边缘亮度信息差异明显的情况下,将选取的非重要宏块分入所述上方宏块所在的分片中;若所选取的非重要宏块与左边宏块的相邻边缘亮度信息差异不明显,并且所选取的非重要宏块与上方宏块的相邻边缘亮度信息差异不明显,则将所选取的宏块分入当前宏块数量较少的非重要宏块分片中。
本发明实施例采用左侧比较优先的方法,即一旦通过当前宏块的左边宏块可以进行当前宏块的分片,就不再考虑当前宏块上方宏块的影响,这样处理能够简化分片的过程。当然,也可以采用上方优先的方法。
通过图5描述的方法,我们可以很快对一帧图像中的非重要宏块进行划分,以完成自适应的FMO,并且重要宏块则可以采用某种不等容错的方式进行传输,即:对于重要宏块将给予更多的RS或FEC保护,使得解码端在进行空域掩盖时能够获取更多的参考信息,能够保证重要宏块的恢复质量,从而确保整个图像恢复质量较好。
采用图5的方法进行非重要宏块的分片,能够将差异明显的两个相邻非重要宏块尽量分在一个片中,这样可以防止差异明显的两个相邻非重要宏块分在不同分片中,使得在任何一个分片丢失的情况下,解码端的掩盖效果太糟糕的情况;并且,图5中的非重要宏块分片方法中尽量保证所分的两个分片中宏块数量相当,便于传输。
实施例3:
本发明实施例提供一种宏块的划分方法,主要包括重要宏块的确定过程和非重要宏块的划分过程,其中的非重要宏块划分过程可以采用图5中相同的方式,本实施例主要提供一种重要宏块确定过程不同于图3的方法,本实施例的宏块的重要等级划分方法的重要宏块确定过程先要计算出一帧图像中各个宏块的交流(AC)系数差分,并利用各个宏块的AC系数差分计算整帧图像中宏块AC系数差分和的平均值,作为预定阈值进行重要宏块确定。如图6所示,本实施例中宏块的重要等级划分方法包括:
601、选择第一个宏块作为当前宏块。本过程中选择当前宏块的方式可以为:逐行对图像的宏块进行扫描来选择当前宏块、或者逐列对图像的宏块进行扫描来选择当前宏块、或者在图像中任意选取当前宏块。
602、计算当前宏块中各个子宏块的AC系数绝对值之和。可以是全部AC系数绝对值之和,也可以是部分AC系数绝对值之和。
603、利用上述计算出的每个子宏块的AC系数和计算出任意两个子宏块之间AC系数绝对值和的差值,此处计算出的差值也取绝对值。
604、对603过程中计算出的任意两个子宏块之间AC系数和的差值求取一个平均值,并将该平均值作为当前宏块的特征差值。
在具体实现时,也可以将任意两个子宏块之间AC系数和的差值求取最大值,并将所述最大值作为当前宏块的特征差值。
605、判断扫描到的当前宏块是否为该图像的最后一个宏块,如果当前扫描到的宏块为该图像的最后一个宏块,则执行607;如果当前扫描到的宏块不是该图像的最后一个宏块,则执行606。
其中,具体判断可以通过宏块计数方式实现:若宏块计数小于图像宏块总数,则表示当前宏块不是该图像的最后一个宏块;若宏块计数等于图像宏块总数,则表示当前宏块为该图像的最后一个宏块。
606、选择下一个宏块作为当前宏块,并返回执行602,本过程中选择当前宏块的方式和601过程相同,例如:逐行对图像的宏块进行扫描来选择当前宏块、或者逐列对图像的宏块进行扫描来选择当前宏块、或者在图像中任意选取一个未处理过的宏块作为当前宏块。
607、通过上述过程601至606计算出了每个宏块中的特征差值,本过程求取整帧图像中各宏块特征差值的平均值,以便为后续划分宏块的过程提供一个预定阈值。
通过601-607的过程计算出了各个宏块的特征差值及划分过程的预定阈值。
608、选择第一个宏块作为当前宏块。本过程中选择当前宏块的方式可以为:逐行对图像的宏块进行扫描来选择当前宏块、或者逐列对图像的宏块进行扫描来选择当前宏块、或者在图像中任意选取当前宏块。
609、判断当前宏块是否为非边缘宏块,如果当前宏块为非边缘宏块,则执行610;如果当前宏块不是非边缘宏块,则执行612。
610、判断当前宏块特征差值是否大于预定阈值,如果当前宏块特征差值大于预定阈值,则执行611;如果当前宏块特征差值不大于预定阈值,则执行612。
611、将当前宏块作为重要宏块,即把特征差值大于预定阈值的非边缘宏块作为重要宏块。
612、判断当前宏块是否为该图像的最后一个宏块,如果当前宏块为该图像的最后一个宏块,则结束重要宏块的划分,进入非重要宏块的划分;如果当前宏块不是该图像的最后一个宏块,执行613。
613、选择下一宏块作为当前宏块,如继续逐行对图像的宏块进行扫描,或者逐列扫描,或者任意选取一个未处理过的宏块,并返回执行609。
上述过程608至613能够对图像进行一次完整的处理,以完成重要宏块的划分,并统计出本次划分得到的重要宏块数量。但是,由于本实施例中的处理可能会导致划分出的重要宏块数量较多或较少,故而,本发明实施例还提供另一种确定当前宏块是否为重要宏块的方式,具体为:
在得到图像中各宏块的特征差值后,将所述特征差值按照大小排序,可以是按照从大到小的顺序排序,也可以是从小到大排序。将预定个数特征差值最大的宏块作为重要宏块。如果是从大到小的顺序排序,则将预定个数排序靠前的特征差值所对应宏块作为重要宏块,如果是从小到大的顺序排序,则将预定个数排序靠后的特征差值所对应宏块作为重要宏块。这样得出的重要宏块数量是固定的,不会出现重要宏块数量过多或过少的问题。
本发明实施例提供的宏块的重要等级划分方法及装置,只需要计算AC系数差值,然后可以根据AC系数差值来确定非边缘宏块的重要等级,以便完成宏块 的重要等级划分,能够降低划分宏块重要等级的过程的复杂度。并且本发明实施例中的AC系数差值在一次计算出来以后可以多次使用,进一步说明本发明实施例划分宏块重要等级的过程较为简单,复杂度较低。
由于本发明实施例主要依靠宏块的AC系数进行重要等级的划分,而转码平台能够很方便的得到AC系数,特别是在采用MPEG-2/MPEG-4/H264等技术进行编码的视频流,转码平台可以直接从接收到的视频流得到AC系数,就省去了很多的计算,能够很好地利用到转码平台的优势。
实施例4:
本发明实施例提供一种宏块的划分方法,主要包括重要宏块的确定过程和非重要宏块的划分过程,其中重要宏块的确定过程可以采用实例2或者实施例3中的任何一种方式,本实施例主要提供一种不同于图5的非重要宏块划分过程,如图7所示,该方法包括:
701、计算每个宏块的边缘亮度信息,对于一个包含4个子宏块的宏块来说,需要计算出4个边缘亮度信息,第i个宏块的边缘亮度信息分别记为Mi left,Mi right,Mi up和Mi down,其中,Mi left表示该宏块左边两个子宏块的边缘亮度信息,Mi right表示该宏块右边两个子宏块的边缘亮度信息,Mi up表示该宏块上边两个子宏块的边缘亮度信息,Mi down表示该宏块下边两个子宏块的边缘亮度信息。
具体地,首先计算每一个宏块的亮度信息N,取值为“亮”、“灰”和“暗”。具体做法是,对于一个宏块含有四个DC系数情况,每一个宏块将其四个DC系数取平均,若DC系数平均值在-128至-49之间,则当前宏块标记为“暗”;若DC系数平均值在48至127之间,则当前宏块记为“亮”;若DC系数平均值在-49至48之间,则当前宏块标记为“灰”。同时,对三种亮度的宏块数进行统计,以确定当前帧的灰度因子Q,Q为一个大于等于1的数。简单地,如果一帧中有 宏块为“亮”或“暗”,Q取值为1,否则(所有宏块都为“灰”),Q取值定义如下:如果所有DC系数均大于0,且宏块中最大的DC系数为DCmax,则Q=127/DCmax;如果所有DC系数均小于0,且宏块中最小的DC系数为DCmin,则Q=-128/DCmin;否则比较DCmax和DCmin的绝对值大小,较大者的绝对值记为DCabs,并且Q=127/DCabs。
然后,计算每一个宏块的边缘亮度信息M,取值为“亮”、“灰”和“暗”。具体地,第i个宏块的四个边缘亮度信息分别记为Mi left,Mi right,Mi up和Mi down,比如Mi left,先由左边两个子宏块的DC系数值求平均得到宏块左侧16×8共128个像素的DC系数,并将左边两个子宏块的DC系数与Q相乘加权得出Mi left的取值是“亮”、“灰”还是“暗”,其中“亮”、“灰”和“暗”的定义和上述宏块的亮度信息定义相同。
702、逐行选取宏块,并判断当前宏块的块号是否大于一帧的最大宏块数,如果当前宏块的块号大于一帧的最大宏块数,则结束当前帧的非重要宏块划分流程;如果当前宏块的块号不大于一帧的最大宏块数,则执行703。
703、判断当前宏块是否为重要宏块,如果当前宏块为重要宏块,则执行718;如果当前宏块不是重要宏块,则执行704。
通过上述过程702和703能够逐行选取到当前帧中的非重要宏块。
704、判断当前宏块是否为第一个宏块,如果当前宏块为第一个宏块,则执行717;如果当前宏块不是第一个宏块,则执行705。
705、判断当前宏块是否为第一行的宏块,如果当前宏块为第一行的宏块,则执行711;如果当前宏块不是第一行的宏块,则执行706。
706、判断当前宏块是否为第一列的宏块,如果当前宏块为第一列的宏块,则执行709;如果当前宏块不是第一列的宏块,则执行707。
707、判断当前宏块左边的宏块是否为重要宏块,如果当前宏块左边的宏块为重要宏块,则执行709;如果当前宏块左边的宏块不是重要宏块,则执行708。
708、判断当前宏块的Mi left和当前宏块左边的宏块的Mi-1 right是否为一个“暗”,另一个“亮”,如果是,相邻边缘亮度信息差异明显,则执行715;如果不是,相邻边缘亮度信息差异不明显,则执行709。
709、判断当前宏块上方的宏块是否为重要宏块,如果当前宏块上方的宏块为重要宏块,则执行713;如果当前宏块上方的宏块不是重要宏块,则执行710。
710、判断当前宏块的Mi up和当前宏块上方的宏块的Mi-width down(i-width表示上方宏块的编号)是否为一个“暗”,另一个“亮”,如果是,相邻边缘亮度信息差异明显,则执行714;如果不是,相邻边缘亮度信息差异不明显,则执行711。
711、判断当前宏块左边的宏块是否为重要宏块,如果当前宏块左边的宏块为重要宏块,则执行713;如果当前宏块左边的宏块不是重要宏块,则执行712。
712、判断当前宏块的Mi left和当前宏块左边的宏块的Mi-1 right是否为一个“暗”,另一个“亮”,如果是,表示相邻边缘亮度信息差异明显,则执行715;如果不是,相邻边缘亮度信息差异不明显,则执行713。
713、判断分片0中的宏块数量是否大于分片1中的宏块数量,如果分片0中的宏块数量大于分片1中的宏块数量,则执行716;如果分片0中的宏块数量不大于分片1中的宏块数量,则执行717。
714、判断当前宏块上方的宏块是否分在分片0中,如果当前宏块上方的宏块分在分片0中,则执行717;如果当前宏块上方的宏块不是分在分片0中,则执行716。
715、判断当前宏块左边的宏块是否分在分片0中,如果当前宏块左边的宏块分在分片0中,则执行717;如果当前宏块左边的宏块不是分在分片0中,则 执行716。
716、将当前宏块划分到分片1中,并将分片1中的宏块数量加1,并执行718。
717、将当前宏块划分到分片0中,并将分片0中的宏块数量加1,并执行718。
718、将宏块的块号加1,并返回执行702。
通过上述非重要宏块的划分过程可知,若选取的非重要宏块的左边的宏块为重要宏块,并且选取的非重要宏块的上方的宏块为重要宏块,则将所选取的非重要宏块分入当前宏块数量较少的非重要宏块分片中;若选取的非重要宏块的左边的宏块不是重要宏块,或者选取的非重要宏块的上方的宏块不是重要宏块,则根据边缘亮度信息对所选取的非重要宏块进行分片。
其中根据边缘亮度信息对所选取的非重要宏块进行分片具体思想为:若所选取的非重要宏块的左边宏块或者上方宏块为重要宏块,则认为所选取的非重要宏块与左边宏块或者上方宏块边缘亮度信息差异不明显;若所选取的非重要宏块的左边宏块或者/并且上方宏块为非重要宏块,则根据计算判断边缘亮度信息差异是否明显;在所选取的非重要宏块与左边宏块的相邻边缘亮度信息差异明显的情况下,则将选取的非重要宏块分入所述左边宏块所在的分片中;在所选取的非重要宏块与上方宏块的相邻边缘亮度信息差异明显的情况下,将选取的非重要宏块分入所述上方宏块所在的分片中;若所选取的非重要宏块与左边宏块的相邻边缘亮度信息差异不明显,并且所选取的非重要宏块与上方宏块的相邻边缘亮度信息差异不明显,则将所选取的宏块分入当前宏块数量较少的非重要宏块分片中。
本发明实施例采用左侧比较优先的方法,即一旦通过当前宏块的左边宏块 可以进行当前宏块的分片,就不再考虑当前宏块上方宏块的影响,这样处理能够简化分片的过程。当然,也可以采用上方优先的方法。
通过图7描述的方法,我们可以很快对一帧图像中的非重要宏块进行划分,以完成自适应的FMO,并且重要宏块则可以采用某种不等容错的方式进行传输,即:对于重要宏块将给予更多的RS或FEC保护,使得解码端在进行空域掩盖时能够获取更多的参考信息,能够保证重要宏块的恢复质量,从而确保整个图像恢复质量较好。
采用图7的方法进行非重要宏块的分片,能够将差异明显的两个相邻宏块尽量分在一个片中,这样防止差异明显的两个相邻宏块分在不同分片中,使得在任何一个分片丢失的情况下,解码端的掩盖效果太糟糕的情况;并且,图7中的非重要宏块分片方法中尽量保证所分的两个分片中宏块数量相当,便于传输。
本发明实施例提供的宏块的重要等级划分方法及装置,只需要计算宏块DC/AC的差值,然后可以根据宏块最大差值/平均差值来确定非边缘宏块的重要等级,以便完成宏块的重要等级划分,能够降低划分宏块重要等级的过程的复杂度。并且本发明实施例中的DC/AC的差值在一次计算出来以后可以多次使用,进一步说明本发明实施例划分宏块重要等级的过程较为简单,复杂度较低。
由于本发明实施例主要依靠宏块的DC/AC进行重要等级的划分,而转码平台能够很方便的得到DC/AC,特别是在采用MPEG-2/MPEG-4/H264等技术进行编码的视频流,转码平台可以直接从接收到的视频流得到DC/AC,就省去了很多的计算,能够很好地利用到转码平台的优势。
实施例5:
为了能够降低宏块的划分复杂度,本发明实施例提供一种宏块的划分装置, 如图8所示,该装置包括:第一计算单元80、获取单元81、第一处理单元82。
其中,第一计算单元80用于计算非边缘宏块中各个子宏块的变换系数之间的差值;获取单元81用于根据所述差值获取每个非边缘宏块中的特征差值;第一处理单元82用于根据所述特征差值确定该非边缘宏块的重要等级,在后续的编码中,可以给予这些重要宏块更多的RS或FEC保护。
第一处理单元82包括如下两种实现方式:
(1)、第一处理单元82直接将大于预定阈值的特征差值所对应非边缘宏块作为重要宏块。在采用这种预定阈值来判别重要宏块时,可以通过调整预定阈值来改变重要宏块的判别标准,使得该装置能够根据所处理的图像不同而改变判别标准。
(2)、见图8的虚线部分所示,第一处理单元82包括排序模块821和第一处理模块822;其中排序模块821用于对所述非边缘宏块中特征差值按照大小排序;第一处理模块822用于将预定个数特征差值最大的宏块作为重要宏块。这一种实现方式能够保证最后得到的重要宏块的数量。其中,如果排序模块821将非边缘宏块中特征差值按照从大到小排序,则第一处理模块822需要将排序靠前的预定个数的宏块作为重要宏块;如果排序模块821将非边缘宏块中特征差值按照从小到大排序,则第一处理模块822需要将排序靠后的预定个数的宏块作为重要宏块。
在第一处理单元82采用第一种实现方式时,为了防止最后得到宏块数量过多或过少,需要对重要宏块数量的调整,如图8所示,本实施例中的宏块的重要等级划分装置还包括:统计单元83、判断单元84、调整单元85。
其中,统计单元83用于统计重要宏块的数量;判断单元84用于判断重要宏块的数量是否处于预定范围内;调整单元85用于在重要宏块的数量大于预定 范围的上限时,进行重要宏块数量的收缩处理,并在在重要宏块的数量小于预定范围的下限时,进行重要宏块数量的扩张处理。
具体实现时,调整单元85包括收缩控制模块851和扩张控制模块852。
收缩控制模块851用于在所述重要宏块的数量大于预定范围的上限时,将预定阈值加大作为新的预定阈值,并重新进行宏块的重要等级划分;扩张控制模块852用于在所述重要宏块的数量小于预定范围的下限时,将预定阈值减小作为新的预定阈值,并重新进行宏块的重要等级划分。
收缩控制模块851的具体实现可以为判断所述预定阈值加1后对应的预设重要宏块数量是否小于预定范围的下限,在所述预定阈值加1后对应的预设重要宏块数量不小于预定范围的下限时,将预定阈值加1作为新的预定阈值,并控制第一处理单元重新进行宏块的重要等级划分。当所述预定阈值加1后对应的预设重要宏块数量小于预定范围的下限时,表示即使增加阈值也不能将重要宏块的数量减少到预定范围内,所以就不再进行处理。本过程中采用但不限于如下实现方式:在需要进行收缩处理时,由用户临时输入具体增加的数值,或者自动增加一个预先设定的数值作为新的预定阈值。
扩张控制模块852的具体实现可以为判断所述预定阈值减1后对应的预设重要宏块数量是否大于预定范围的上限,在所述预定阈值减1后对应的预设重要宏块数量不大于预定范围的上限时,将预定阈值减1作为新的预定阈值,并控制第一处理单元重新进行宏块的重要等级划分。当所述预定阈值减1后对应的预设重要宏块数量大于预定范围的上限时,表示即使减小阈值也不能将重要宏块的数量增加到预定范围内,所以就不再进行处理。
上述收缩控制模块851将预定阈值加大作为新的预定阈值,其中所加大的数值不一定是上方提到的1,也可以是其他数值,例如:2、3.5等;扩张控制 模块852将预定阈值减小作为新的预定阈值,其中所减小的数值不一定是上方提到的1,也可以是其他数值,例如:2、3.5等。本过程中采用但不限于如下实现方式:在需要进行扩张处理时,由用户临时输入具体减小的数值,或者自动减小一个预先设定的数值作为新的预定阈值。
在经过上述处理后,最后能够从图像中分出重要宏块,但还有很多非重要宏块没有进行具体的分片,为了能够完整地完成划分过程,本实施例提供的宏块的重要等级划分装置,该装置还包括:第二计算单元87、选择单元88和第二处理单元89。
其中,第二计算单元87用于计算每个宏块的边缘亮度信息;选择单元88用于逐行选取非重要宏块;第二处理单元89用于在选取的非重要宏块的左边的宏块为重要宏块,并且选取的非重要宏块的上方的宏块为重要宏块时,将所选取的非重要宏块分入当前宏块数量较少的非重要宏块分片中;所述第二处理单元89还用于在选取的非重要宏块的左边的宏块不是重要宏块,或者选取的非重要宏块的上方的宏块不是重要宏块时,根据边缘亮度信息对所选取的非重要宏块进行分片。
上述第二处理单元89在根据边缘亮度信息对所选取的非重要宏块进行分片时,具体的执行模块包括:第一判断模块891、第二处理模块892、第二判断模块893、第三处理模块894和第四处理模块895。
所述第一判断模块891用于判断所选取的非重要宏块与左边宏块的相邻边缘亮度信息是否差异明显;第二处理模块892用于在所选取的非重要宏块与左边宏块的相邻边缘亮度信息差异明显时,将选取的非重要宏块分入所述左边宏块所在的分片中。
所述第二判断模块893用于在所选取的非重要宏块与左边宏块的相邻边缘 亮度信息差异不明显时,判断所选取的非重要宏块与上方宏块的相邻边缘亮度信息是否差异明显;第三处理模块894用于在所选取的非重要宏块与上方宏块的相邻边缘亮度信息差异明显时,将选取的非重要宏块分入所述上方宏块所在的分片中;第四处理模块895用于在所选取的非重要宏块与上方宏块的相邻边缘亮度信息差异不明显时,将所选取的宏块分入当前宏块数量较少的非重要宏块分片中。
用图8的装置进行非重要宏块的分片,能够将差异明显的两个相邻宏块尽量分在一个片中,这样可以防止差异明显的两个相邻宏块分在不同分片中,使得在任何一个分片丢失的情况下,解码端的掩盖效果太糟糕的情况;并且,图8中的非重要宏块分片装置中尽量保证所分的两个分片中宏块数量相当,便于传输。
实施例6:
上述实施例中宏块的划分方法及装置主要用在图像处理中,本实施例提供一种采用上述划分方法的图像处理方法,如图9所示,该方法包括:
901、首先,获取图像中各个子宏块的变换系数,对于转码平台而言,变换系数能够很方便的得到,特别是在采用MPEG-2/MPEG-4/H264等技术进行编码的视频流,转码平台可以直接从接收到的视频流得到变换系数,就省去了很多的计算,能够很好地利用到转码平台的优势。本实施例中变换系数对应的变换方法可以但不限定为DCT变换(离散余弦变换)、整数变换等。
902、计算宏块中各个子宏块的变换系数之间的差值。
903、在计算出宏块中各个子宏块的变换系数之间的差值后,根据所述差值获取每个宏块的特征差值。
904、根据所述特征差值确定该宏块的重要等级,即根据所述特征差值决定 该宏块是否为重要宏块,这样在后续的编码流程中,可以给予这些重要宏块更多的RS或FEC保护。
本实施例902至904过程是对图像的宏块进行重要等级的划分,其具体划分方法还可以采用上述实施例1至实施例4中的任意一种方法。
905、对于重要宏块加入具有纠错功能的校验算法校验码,对于非重要宏块加入具有检错功能的校验算法校验码校验或者不作校验处理。
除了905中所描述的处理方式外,905过程中也可以将本实施例直接与不等重保护纠错算法结合,对重要宏块应用冗余片技术进行保护。
本发明实施例提供的图像处理方法,在获取到变换系数后,通过计算变换系数的差值,然后可以根据特征差值来确定宏块的重要等级,以便完成宏块的重要等级划分,并在进行处理时对重要宏块加入具有纠错功能的校验算法校验码,对非重要宏块加入具有检错功能的校验算法校验码校验或者不作校验处理;或者也可以在进行处理时对重要宏块应用冗余片技术进行保护。
本发明实施例中采用的划分宏块重要等级的过程,相对于现有技术中计算失真度时所用的复杂公式而言,本发明实施例中计算差值的过程较为简单,能够降低划分宏块重要等级的过程的复杂度。并且现有技术中需要不断修改Tlow和Thigh,并计算期望失真度,直到得到最小的期望失真度为止;而本发明实施例中采用先确定重要宏块,再细分非重要宏块的方法,进一步说明本发明实施例划分宏块重要等级的过程较为简单,复杂度较低。
本发明实施例还提供一种图像处理装置,如图10所示,该装置包括:第一获取单元1011、计算单元1012、第二获取单元1013、第一处理单元1014、第二处理单元1015。
第一获取单元1011用于获取各个子宏块的变换系数;计算单元1012用于 计算宏块中各个子宏块的变换系数之间的差值;第二获取单元1013用于根据所述差值获取每个宏块的特征差值;第一处理单元1014用于根据所述特征差值确定该宏块的重要等级;第二处理单元1015用于对于重要宏块加入具有纠错功能的校验算法校验码,对于非重要宏块加入具有检错功能的校验算法校验码校验或者不作校验处理。如果本发明实施例直接与不等重保护纠错算法结合,则所述第二处理单元1015用于对重要宏块应用冗余片技术进行保护。
本发明实施例提供的图像处理装置,在第一获取单元获取到变换系数后,通过计算单元计算变换系数的差值,然后由第二获取单元根据所述差值获取每个宏块的特征差值,以便第一处理单元完成宏块的重要等级划分,并在第二处理单元进行处理时对重要宏块加入具有纠错功能的校验算法校验码,对非重要宏块加入具有检错功能的校验算法校验码校验或者不作校验处理;或者也可以在进行处理时对重要宏块应用冗余片技术进行保护。
本发明实施例中采用的划分宏块重要等级的过程,相对于现有技术中计算失真度时所用的复杂公式而言,本发明实施例中计算差值的过程较为简单,能够降低划分宏块重要等级的过程的复杂度。并且现有技术中需要不断修改Tlow和Thigh,并计算期望失真度,直到得到最小的期望失真度为止;而本发明实施例中采用先确定重要宏块,再细分非重要宏块的方法,进一步说明本发明实施例划分宏块重要等级的过程较为简单,复杂度较低。
由于本发明实施例主要依靠宏块的变换系数(如DCT变换、整数变换的直流系数、交流系数)进行重要等级的划分,而转码平台变换系数能够很方便的得到,特别是在采用MPEG-2/MPEG-4/H264等技术进行编码的视频流,转码平台可以直接从接收到的视频流得到变换系数,就省去了很多的计算,能够很好地利用到转码平台的优势。
本发明实施例主要用在图像处理中,特别是用在视频流图像的宏块分片中,能够降低分片过程的复杂度。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (12)
1.一种宏块的划分方法,其特征在于,包括:
计算宏块中各个子宏块的变换系数之间的差值;
根据所述差值获取每个宏块的特征差值,所述特征差值为所述差值的最大值或平均值;
根据所述特征差值确定该宏块的重要等级;
所述根据所述特征差值确定该宏块的重要等级包括:对所述宏块特征差值按照大小排序,将预定个数特征差值最大的宏块作为重要宏块;或者将大于预定阈值的特征差值所对应的宏块作为重要宏块。
2.根据权利要求1所述的宏块的划分方法,其特征在于,所述变换系数为直流系数或者交流系数。
3.根据权利要求1所述的宏块的划分方法,其特征在于,所述预定阈值为该图像中所有宏块的特征差值的平均值。
4.根据权利要求1所述的宏块的划分方法,其特征在于,根据所述特征差值确定该宏块的重要等级之后,该方法还包括:
统计所述重要宏块的数量;
判断所述重要宏块的数量是否处于预定范围内;
若重要宏块的数量大于预定范围的上限,则进行重要宏块数量的收缩处理;
若重要宏块的数量小于预定范围的下限,则进行重要宏块数量的扩张处理。
5.根据权利要求4所述的宏块的划分方法,其特征在于,
所述重要宏块数量的收缩处理包括:将预定阈值加大作为新的预定阈值,并重新进行宏块的重要等级划分;
所述重要宏块数量的扩张处理包括:将预定阈值减小作为新的预定阈值,并重新进行宏块的重要等级划分。
6.根据权利要求1所述的宏块的划分方法,其特征在于,根据所述特征差值确定该宏块的重要等级之后,该方法还包括:
计算每个宏块的边缘亮度信息;
根据宏块的重要等级选取非重要宏块;
若选取的非重要宏块的上方宏块为重要宏块,并且选取的非重要宏块的左边宏块为重要宏块,则将所选取的非重要宏块分入当前宏块数量较少的分片中;
若选取的非重要宏块的上方宏块不是重要宏块,或者选取的非重要宏块的左边宏块不是重要宏块,则根据边缘亮度信息对所选取的非重要宏块进行分片。
7.一种宏块的划分装置,其特征在于,包括:
第一计算单元,用于计算宏块中各个子宏块的变换系数之间的差值;
获取单元,用于根据所述差值获取每个宏块的特征差值,所述特征差值为所述差值的最大值或平均值;
第一处理单元,用于根据所述特征差值确定该宏块的重要等级;
所述第一处理单元包括排序模块和第一处理模块,所述排序模块用于对所述宏块特征差值按照大小排序,所述第一处理模块用于将预定个数特征差值最大的宏块作为重要宏块;或者所述第一处理单元用于将大于预定阈值的特征差值所对应宏块作为重要宏块。
8.根据权利要求7所述的宏块的划分装置,其特征在于,该装置还包括:
统计单元,用于根据第一处理单元的处理结果,统计重要宏块的数量;
判断单元,用于判断所述重要宏块的数量是否处于预定范围内;
调整单元,用于在重要宏块的数量大于预定范围的上限时,进行重要宏块数量的收缩处理;在重要宏块的数量小于预定范围的下限时,进行重要宏块数量的扩张处理。
9.根据权利要求8所述的宏块的划分装置,其特征在于,所述调整单元包括:
收缩控制模块,用于在所述重要宏块的数量大于预定范围的上限时,将预定阈值加大作为新的预定阈值,并重新进行宏块的重要等级划分;
扩张控制模块,用于在所述重要宏块的数量小于预定范围的下限时,将预定阈值减小作为新的预定阈值,并重新进行宏块的重要等级划分。
10.根据权利要求7所述的宏块的划分装置,其特征在于,该装置还包括:
第二计算单元,用于当第一处理单元根据所述特征差值确定该宏块的重要等级之后,计算宏块的边缘亮度信息;
选择单元,用于根据宏块的重要等级选取非重要宏块;
第二处理单元,用于在选取的非重要宏块的左边的宏块为重要宏块,并且选取的非重要宏块的上方的宏块为重要宏块时,将所选取的非重要宏块分入当前宏块数量较少的分片中;
所述第二处理单元还用于在选取的非重要宏块的左边的宏块不是重要宏块,或者选取的非重要宏块的上方的宏块不是重要宏块时,根据边缘亮度信息对所选取的非重要宏块进行分片。
11.一种图像处理方法,其特征在于,包括:
获取各个子宏块的变换系数;
计算宏块中各个子宏块的变换系数之间的差值;
根据所述差值获取每个宏块的特征差值,所述特征差值为所述差值的最大值或平均值;
根据所述特征差值确定该宏块的重要等级,所述根据所述特征差值确定该宏块的重要等级包括:对所述宏块特征差值按照大小排序,将预定个数特征差值最大的宏块作为重要宏块;或者将大于预定阈值的特征差值所对应的宏块作为重要宏块;
对重要宏块应用冗余片技术进行保护;或者对于重要宏块加入具有纠错功能的校验算法校验码,对于非重要宏块加入具有检错功能的校验算法校验码校验或者不作校验处理。
12.一种图像处理装置,其特征在于,包括:
第一获取单元,用于获取各个子宏块的变换系数;
计算单元,用于计算宏块中各个子宏块的变换系数之间的差值,所述特征差值为所述差值的最大值或平均值;
第二获取单元,用于根据所述差值获取每个宏块的特征差值;
第一处理单元,用于根据所述特征差值确定该宏块的重要等级,所述第一处理单元具体用于对所述宏块特征差值按照大小排序,将预定个数特征差值最大的宏块作为重要宏块;或者将大于预定阈值的特征差值所对应的宏块作为重要宏块;
第二处理单元,用于对重要宏块应用冗余片技术进行保护;或者对于重要宏块加入具有纠错功能的校验算法校验码,对于非重要宏块加入具有检错功能的校验算法校验码校验或者不作校验处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910008598 CN101795402B (zh) | 2009-02-04 | 2009-02-04 | 宏块的划分方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200910008598 CN101795402B (zh) | 2009-02-04 | 2009-02-04 | 宏块的划分方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101795402A CN101795402A (zh) | 2010-08-04 |
CN101795402B true CN101795402B (zh) | 2012-12-12 |
Family
ID=42587793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200910008598 Expired - Fee Related CN101795402B (zh) | 2009-02-04 | 2009-02-04 | 宏块的划分方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101795402B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106713916B (zh) * | 2015-07-24 | 2020-02-14 | 浙江大华技术股份有限公司 | 一种视频图像的存储和读取方法、装置以及系统 |
CN105302924A (zh) * | 2015-12-09 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种文件管理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1515119A (zh) * | 2001-06-08 | 2004-07-21 | 皇家菲利浦电子有限公司 | 建立多优先级流的系统和方法 |
CN1653820A (zh) * | 2002-05-06 | 2005-08-10 | 皇家飞利浦电子股份有限公司 | 使用运动信息的mpeg转码系统和方法 |
CN101309422A (zh) * | 2008-06-23 | 2008-11-19 | 北京工业大学 | 宏块级量化参数处理方法及装置 |
CN100440978C (zh) * | 2004-09-28 | 2008-12-03 | 华为技术有限公司 | 一种视频图像编码方法 |
-
2009
- 2009-02-04 CN CN 200910008598 patent/CN101795402B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1515119A (zh) * | 2001-06-08 | 2004-07-21 | 皇家菲利浦电子有限公司 | 建立多优先级流的系统和方法 |
CN1653820A (zh) * | 2002-05-06 | 2005-08-10 | 皇家飞利浦电子股份有限公司 | 使用运动信息的mpeg转码系统和方法 |
CN100440978C (zh) * | 2004-09-28 | 2008-12-03 | 华为技术有限公司 | 一种视频图像编码方法 |
CN101309422A (zh) * | 2008-06-23 | 2008-11-19 | 北京工业大学 | 宏块级量化参数处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101795402A (zh) | 2010-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11115662B2 (en) | Quantization matrix design for HEVC standard | |
CN101019437B (zh) | 基于帧内预测方向的h.264空间错误隐藏 | |
US6178205B1 (en) | Video postfiltering with motion-compensated temporal filtering and/or spatial-adaptive filtering | |
JP5270573B2 (ja) | ブロックアーチファクトを検出する方法及び装置 | |
KR101808327B1 (ko) | 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치 | |
US20120039389A1 (en) | Distortion weighing | |
Karczewicz et al. | Geometry transformation-based adaptive in-loop filter | |
CN103888764A (zh) | 一种自适应补偿视频压缩失真的系统及方法 | |
Chun et al. | An adaptive perceptual quantization algorithm for video coding | |
US7254278B2 (en) | Digital image processing method | |
CN101795402B (zh) | 宏块的划分方法及装置 | |
Hadizadeh et al. | Saliency-preserving video compression | |
CN111770334A (zh) | 数据编码方法及装置、数据解码方法及装置 | |
KR20190062284A (ko) | 인지 특성에 기반한 영상 처리 방법 및 장치 | |
EP1704723A1 (en) | Method and apparatus for video encoding | |
Fung et al. | A POCS-based restoration algorithm for restoring halftoned color-quantized images | |
CN110446042B (zh) | 一种提升h.264中p帧质量的编码方法 | |
Casali et al. | Adaptive quantisation in HEVC for contouring artefacts removal in UHD content | |
CN109951707B (zh) | 一种目标运动矢量选择方法、装置、电子设备及介质 | |
Zhang et al. | Nonlocal adaptive in-loop filter via content-dependent soft-thresholding for HEVC | |
Ren et al. | Fast and efficient intra mode selection for H. 264/AVC | |
Zhang et al. | Fast Algorithm Based on Rough LCU Minimum Depth Prediction and Early CU Partition Termination for HEVC Intra Coding | |
Zhang et al. | Textural and Directional Information Based Offset In-Loop Filtering in AVS3 | |
Zhou et al. | HEVC Chroma Component Prediction Algorithm Based on Luminance Template Matching | |
KR20180103673A (ko) | 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121212 Termination date: 20170204 |