视讯系统中的错误掩盖方法.pdf

上传人:Y0****01 文档编号:1145277 上传时间:2018-04-02 格式:PDF 页数:12 大小:688.68KB
返回 下载 相关 举报
摘要
申请专利号:

CN02119499.8

申请日:

2002.05.28

公开号:

CN1463154A

公开日:

2003.12.24

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开|||实质审查的生效

IPC分类号:

H04N7/15

主分类号:

H04N7/15

申请人:

华为技术有限公司;

发明人:

梁柱; 罗忠

地址:

518057广东省深圳市南山区科技园科发路1号

优先权:

专利代理机构:

代理人:

PDF下载: PDF下载
内容摘要

一种视讯系统中的错误掩盖方法,它包含以下步骤:判断当前帧的类型,如果当前帧为帧内帧(I帧)时,对所有错误宏块进行空域掩盖,若当前帧为预测帧(P帧)时,则继续;计算当前帧在没有被破坏的宏块中帧内编码的宏块的百分比,如果所述的百分比超过一个阈值时,对所有错误宏块进行空域掩盖,否则继续;对当前帧中的所有错误宏块的编码模式逐个进行判断,如果当前错误宏块的编码模式是帧内编码,对其进行空域掩盖,否则对其进行时域掩盖。本发明克服了时域和空域的错误掩盖方法固有的缺点,通过运动检测自适应地选择相应的掩盖方法,将二者的优点结合起来,同时降低了方法的计算复杂性,从而能够适应实时处理的要求。

权利要求书

1: 一种视讯系统中的错误掩盖方法,其特征在于,该方法包含以下步骤: a.判断当前帧的类型,如果当前帧为帧内帧,则对所有错误宏块进行空域掩盖, 若当前帧为预测帧时继续; b.计算当前帧在没有被破坏的宏块中帧内编码的宏块的百分比,如果所述的百 分比超过一个阈值时,对所有错误宏块进行空域掩盖,否则继续; c.对当前帧中的所有错误宏块的编码模式逐个进行判断,如果当前错误宏块的 编码模式是帧内编码,对其进行空域掩盖,否则对其进行时域掩盖。
2: 根据权利要求1所述的视讯系统中的错误掩盖方法,其特征在于:在步骤c 中,对编码模式的判断是根据当前错误宏块的周围宏块的编码模式综合加权得 到的,其包括, ①根据如下公式计算当前错误宏块的编码特性标志(Result), Result=w lu *mode lu +w u *mode u +w ru *mode ru +w ld *mode ld +w d *mode d +w rd *mode rd 式中w lu 代表左上角宏块权值,w u 代表上宏块权值,w ru 代表右上角宏块权 值,w ld 代表左下角宏块权值,w d 代表下宏块权值,w rd 代表右下宏块权值; 若所在位置的宏块是帧内编码,其编码特性mode=1; 若所在位置的宏块是帧间编码,其编码特性mode=0,其右下角标 lu 代表 左上角宏块, u 代表上宏块, ru 代表右上角宏块, ld 代表左下角宏块, d 代表下 宏块, rd 代表右下宏块; ②如果编码特性标志(Result)大于一个阈值,则认为当前错误宏块是帧内编 码块,进行空域掩盖,否则认为是帧间编码,进行时域掩盖。
3: 根据权利要求1所述的视讯系统中的错误掩盖方法,其特征在于:步骤c中所述 的进行时域掩盖进一步包含: 1)计算所述的当前错误宏块的周围宏块的运动矢量的最大值,若其小于或等于 1而且当前错误宏块的周围宏块不全是帧内编码块,则使用该值作为当前错误宏块的 运动矢量,进行运动补偿,否则,继续; 2)得到所述的当前错误宏块的边界像素,然后到前一帧中搜索与边界像素匹配 的16×16区域,将上述1)中求得的值与一个设定好的阈值比较,如果该值低于该 阈值,计算前一帧16×16区域的四个边界与所述的当前错误宏块的四个边界相应像 素差值的绝对值的和来确定匹配的区域,将搜索所得的该区域复制到当前宏块的位 置上来,如果高于该阈值,继续; 3)计算前一帧16×16区域的第一行与所述的当前错误宏块的上边界,最后一行 与下边界,第一列与左边界,最后一列与右边界的差值绝对值的和来确定匹配的区 域,将搜索所得的该区域复制到当前宏块的位置上来。
4: 根据权利要求3所述的视讯系统中的错误掩盖方法,其特征在于:步骤c的2) 中的搜索采用自适应搜索窗的方法,该方法包括如下步骤: I、首先得到错误宏块周围所有宏块的运动矢量,包括X、Y方向的运动矢量; II、在I得到的运动矢量集合中分别计算X、Y方向的最大值; III、根据两个最大值按照以下原则确定搜索窗的大小: 当X方向的运动矢量的最大值小于第一阈值并且Y方向上的运动矢量最大值小于 第一阈值时,设置窗口大小为α; 当X方向的运动矢量的最大值、Y方向上的运动矢量最大值有一个大于第二阈值 时,设置窗口大小为β,第二阈值大于第一阈值; 其他情况窗口大小为γ,其中α<β<γ。

说明书


视讯系统中的错误掩盖方法

    【技术领域】

    本发明属于视讯领域,尤其是一种在视讯系统中当图像传输发生错误时,能实时、高质量地恢复图像传输质量的错误掩盖方法。背景技术

    随着因特网(Internet)的日益普及,其上的多媒体应用也随之发展,诸如基于因特网的会议电视系统、远程教育系统和远程医疗系统越来越具有广泛的市场应用前景。在目前的会议电视系统中,因特网的带宽限制使得视频压缩标准采用的是低码率的H.263,在一般情况下,通过使用H.263进行视频编码的会议电视系统具有较为理想的图像质量,符合实时双向传输的要求。

    然而,在实际的传输信道中,错误地发生是不可避免的。因此,当视频编码流在传输过程中丢失或受到破坏时,为了将图象恢复到可以接受的程度,必须采取合适的错误恢复技术。

    首先,由于H.263中采用了可变长编码、运动预测和运动补偿的技术,因此如果在解码过程中发现错误就会导致同步的丢失,必须跳到下个同步字以继续解码过程;其次,由于H.263中最小的同步单元为块组(GOB),因此当错误发生时则会引起整个块组(GOB)数据的丢失;再者,在解码当前帧时,由于要用到前一帧数据参考来进行运动补偿,所以前一帧中的错误数据会衍生到当前帧,并继续向下传递,直到出现一个帧内帧(I帧)为止,进而严重影响了图象的质量。

    现有的常用技术有:自动再传输请求(ARQ)、前向错误纠正编码(FEC)和数据交错(Interleaving)等三种。但它们均有各自的缺点,如自动再传输请求(ARQ)必须要求系统存在一条双向信道,而且还有可能导致网络拥塞和数据丢失;前向错误纠正编码(FEC)因为要求更多的校验位进行错误检测和纠正,所以会引起码率的增大;数据交错(Interleaving)则有导致系统延时的缺点。

    为了克服上述技术存在的缺点,现有技术采用了错误掩盖技术(ErrorConcealment),它是在解码端降低错误的影响。由于图像序列本身有很强的空间和时间上的相关性,所以为用正确接收到的视频数据去预测丢失的数据提供了可能,而且由于该过程是在解码器端完成的,因此不会引起网络的拥塞和延时。

    错误掩盖方法一般分为两类,即空域的错误掩盖和时域的错误掩盖。其中,空域的错误掩盖是利用当前帧上正确接收的信息,用丢失宏块的相邻宏块的数据去恢复遭到破坏的数据,其包括:最大平滑恢复和双向内插两种方法;时域的错误掩盖则是利用前一帧的图像数据来估计错误数据,即:用邻域宏块的运动矢量来估计受损块的运动矢量,然后用其运动补偿块来代替受损宏块,目前常用的一种最简单的方法是将受损宏块的运动矢量变为0,即:用上一帧上相应位置的宏块来替换当前宏块的数据。

    但是,由于上述二种技术在应用中未充分考虑到图象的空间相关性、时间相关性等各种因素,所以在单独使用时具有如下的缺点:空域的错误掩盖方法:由于假设相邻的图像块中存在强相关性,因此如果受损块和相邻块处于亮度同一的区域,则这些方法会产生较好的掩盖效果,但如果它们处于图像边缘部分,则会导致图像质量的钝化,因此空域的错误掩盖方法对恢复图像细节部分的能力较差。时域的错误掩盖方法对于图像的静止或运动较小的部分会得到理想的图像质量,但是对于快速运动区域,以及当情景切换时,该方法则会导致明显的方块效应,造成图像的不连续,图像质量严重下降。发明内容

    本发明目的是:解决当视频编码流在传输过程中丢失或受到破坏时,为了恢复图像质量,而只使用一种错误掩盖方法对图像进行掩盖而产生的图像边缘的钝化问题以及情景切换时的方块效应、不连续,无法得到理想图像质量的问题。

    本发明的解决方案是:利用一种视讯系统中的错误掩盖方法,该方法包含以下步骤:判断当前帧的类型,如果当前帧为帧内帧时,对所有错误宏块进行空域掩盖,若当前帧为预测帧时,则继续;计算当前帧在没有被破坏的宏块中帧内编码的宏块的百分比,如果所述的百分比超过一个阈值时,对所有错误宏块进行空域掩盖,否则继续;对当前帧中的所有错误宏块的编码模式逐个进行判断,如果当前错误宏块的编码模式是帧内编码时,对其进行空域掩盖,否则对其进行时域掩盖。

    上述时域的错误掩盖方法还进一步包含如下步骤:计算所述的当前错误宏块的周围宏块的运动矢量的最大值,若其小于或等于1而且当前错误宏块的周围宏块不全是帧内编码块,使用该值作为当前错误宏块的运动矢量,进行运动补偿,否则,继续;得到所述的当前错误宏块的边界像素,然后到前一帧中搜索与边界像素匹配的16×16区域,将上述中求得的值与一个设定好的阈值比较,如果该值低于该阈值,计算前一帧16×16区域的四个边界与所述的当前错误宏块的四个边界相应像素差值的绝对值的和来确定匹配的区域,将搜索所得的该区域复制到当前宏块的位置上来,如果高于该阈值,继续;计算前一帧16×16区域的第一行与所述的当前错误宏块的上边界,最后一行与下边界,第一列与左边界,最后一列与右边界的差值绝对值的和来确定匹配的区域,将搜索所得的该区域复制到当前宏块的位置上来。

    由于采用了上述的技术方案,所以本发明不但能利用上一帧的时域信息,还考虑到空域上的强相关性,能对图像的错误区域根据具体情况自适应地选择错误掩盖方法,从而达到可以接受的图像效果;同时,因为本发明克服了时域和空域方法固有的缺点,通过运动检测自适应地选择相应的错误掩盖方法,将二者的优点结合起来,进而降低了算法的复杂性,满足实时处理的要求。本发明是根据每帧图像的具体信息决定使用何种错误掩盖算法,将二者的优点综合,以达到一种较为理想的图像质量。附图说明

    图1是宏块权值设例图。

    图2是本发明方法流程图。具体实施方式

    本发明方法的建立源于对图像数据相关性的分析。经过分析,下列几种情况比较适合于空域的掩盖:

    1、第一种情况是当前帧为帧内帧,由于帧内帧的宏块或数据属于一个帧,其宏块或数据之间本身就具有较强的相关性。这种情况用空域掩盖,以错误宏块周围的宏块对受损的错误宏块进行掩盖。

    其中,宏块的定义是:在图象编码过程中,将图象分成若干个16*16的区域进行编码,一个16*16的区域成为一个宏块。

    2、另一种情况是虽然当前帧不是帧内帧,但图像发生场景切换,在图像发生场景切换时,图像中的宏块与前一帧图像的相应宏块的相关性就比较低了,在这种情况下,用前一帧图像的相应宏块进行替代,显然就不合适了,在这种情况下,也必须用空域掩盖。

    3、第三种情况是对于错误宏块是帧内编码块的情况,帧内编码块之间其相关度较高,适合于进行空域掩盖,以错误宏块周围的宏块对受损的错误宏块进行掩盖往往能得到比较好的效果。

    而对于确实需要进行时域掩盖的错误宏块,其掩盖方式也不是唯一的,针对不同的情况,可以有三种方式:

    1、第一种方式是不去前一帧搜索与当前错误宏块相匹配的区域,而是直接利用周围宏块的运动矢量来估计当前错误宏块的运动矢量。运动矢量的定义是:每个宏块的编码过程是相对独立的。在压缩编码过程中,为了提高压缩效率,每个宏块具有一个运动矢量(x,y)表示在前一个图象帧上与该宏块最接近的16*16区域的位置。x为正时表示该区域在当前宏块的右方,x为负时在左方,y为正时表示该区域在当前宏块的下方,y为负时在上方。

    这种情况一般在背景和运动比较小的区域中发生。对于背景和运动比较小的区域,其中的宏块运动往往都比较小,如果我们判断出周围宏块的运动矢量,比如x为正,y为负,前一帧上与该宏块最接近的16*16区域在当前宏块的右上方,由于宏块运动比较小,则受损错误宏块也很可能在当前宏块的右上方,x为正,y为负。因此,如果判断出周围宏块的运动矢量,其最大值小于一个阈值的话,就可以用该周围宏块的运动矢量的最大值去作为该错误宏块的运动矢量,往往其误差也是很小的。

    2、第二种方式是计算前帧16×16区域的四个边界与当前宏块的四个边界相应像素差值绝对值的和,再选择该和最小的区域对错误宏块进行掩盖。这种方式比较适合于图像中距离前帧变化、运动较小的区域。但如果运动过小的话,其实用第一种方式更简洁。这种方式其实主要可针对运动不算很大的较适中的情况。

    3、第三种方式是计算前帧16×16区域的第一行与错误宏块的上边界,最后一行与下边界,第一列与左边界,最后一列与右边界的差值绝对值的和来确定匹配程度,再选择匹配程度最大,既差值最小的区域来进行掩盖。这种方式比较适合于图像中距离前帧变化、运动较大的区域。

    本发明实际上是建立在上述通过反复实验得出的结论的基础之上的,图2是本发明的方法流程图,结合图2具体描述本发明的实现过程如下:

    一、判断当前帧类型

    对于一帧图像首先判断其帧的类型,如果当前帧为帧内帧(I帧),则对所有错误宏块进行空域掩盖,如果当前帧为预测帧(P帧),则继续判断。由于帧内帧中的错误宏块不宜进行时域掩盖,所以本步骤首先将那些帧内帧中的错误宏块剔除在需要时域掩盖的范围之外。

    二、判断场景切换

    当图像发生场景切换时,利用时域的错误掩盖方法不合适,而应对该帧使用空域的错误掩盖方法进行处理。其中,是否发生场景切换的判断标准是:如果该帧的显著特点是使用帧内编码模式的宏块的数量很多,则通过计算在没有被破坏的宏块中的帧内编码的宏块的百分比来判断,当百分比超过一定值时,认为该帧发生了场景切换,便对所有错误宏块使用空域掩盖;如果没有超过一定值时,则继续判断,一般来说,该定值可为40%-60%之间的一个值。

    三、对当前帧中的所有错误宏块的编码模式逐个进行判断

    对于判断出是使用帧内编码的宏块,则使用空域的错误掩盖方法;但是,当错误引入后,就会使整个块组(GOB)的信息完全丢失,无法确定其编码模式。此时可根据图像的空间强相关性原则,并结合周围宏块的编码模式判断当前受损宏块的编码模式。具体地讲,当考虑8-邻域的情况时,一个宏块周围就有8个宏块,其中左右两个宏块由于已经丢失而不作统计,因此需要根据上面的三个宏块和下面的三个宏块进行判断。

    在进行判断时,需要为六个宏块赋予不同的权值,又由于当前宏块的特性更接近它的相连宏块,如上下两个宏块,所以,上下两个宏块的权值应较大,四个角的宏块的权值应较小,这样上下两个宏块的特性将占主导地位,其中,权值的选择根据具体实践经验选定。如图1所示,首先将上下两个宏块的权值设为2.5,四个角的宏块的权值为1.25,然后依次判断六个宏块的编码类型,如果是帧内编码块,则统计其权值,最后计算所有权值之和,如下式所示:

    Result=wlu*modelu+wu*modeu+wru*moderu+wld*modeld+wd*moded+wrd*moderd

    式中wlu代表左上角宏块权值,wu代表上宏块权值,wru代表右上角宏块权值,wld代表左下角宏块权值,wd代表下宏块权值,wrd代表右下宏块权值。

    mode=1,如果宏块是帧内编码;

    mode=0,如果宏块是帧间编码。

    其中,右下角标lu代表左上角宏块,u代表上宏块,ru代表右上角宏块,ld代表左下角宏块,d代表下宏块,rd代表右下宏块。

    计算所得的结果如果大于一个阈值,则认为是帧内编码块,便使用空域的错误掩盖方法;否则认为是帧间编码,便使用时域搜索算法,作进一步处理,其中阈值一般取为6-10中的一个值比较合适。

    上述的判断首先将当前帧为帧内帧、经过判断认为发生了场景转换、或者经上述判断认为是帧内编码块的情况归于空域掩盖。关于空域掩盖的方法属于已有技术的内容。其余的情况属于下面时域掩盖方法的部分。

    时域的错误掩盖方法使用基于块匹配原则的前帧搜索方法,其方法为:首先得到待处理宏块的边界像素;然后到参考帧(前一帧)中搜索与边界像素最匹配的16×16区域;最后将搜索所得的该区域复制到当前宏块的位置上来。

    由于该搜索始终是一种耗时的搜索过程,所以当使用时域的错误掩盖方法时,本发明采取如下的措施来降低计算复杂度并减少处理运算的时间,具体为:

    (1)由于在会议电视的图像中,背景和运动较小的区域占很大比重,对于这些区域,实际上并不需要到前帧搜索匹配的区域,而是可以直接利用周围宏块的运动矢量来估计当前宏块的运动矢量再完成运动补偿即可,这样做的前提是:预先估计当前宏块的运动幅度,以确定是否使用时域搜索。

    由于在大部分情况下,图像中物体的运动具有一致性,因此可以通过判断受损宏块的周围宏块的运动矢量来估计受损宏块的运动矢量,又因为受损宏块与其上下两个宏块的运动更为接近,所以可首先计算出上下两个宏块的运动矢量的最大值,如果该值小于或等于1,则直接使用该值作为当前错误宏块的运动矢量,进行运动补偿;只有在该值大于1时才采用前帧搜索的方法,这样处理将大幅度降低处理时间。但是,如果一个宏块的上下宏块都是帧内编码块,则计算的最大值为零,这样可能会认为其没有发生运动而是直接沿袭前帧相应宏块数据而造成误判,所以在统计宏块的运动矢量时必须保证它是帧内编码块。

    (2)得到所述的当前错误宏块的边界像素后,到前一帧中搜索与边界像素匹配的16×16区域,对于需要到前帧搜索匹配的区域,也有两种匹配原则可供选择,其一是计算前帧16×16区域的第一行与处理宏块的上边界,最后一行与下边界,第一列与左边界,最后一列与右边界的差值绝对值的和来确定匹配程度;其二是计算前帧16×16区域的四个边界于当前宏块的四个边界相应像素差值绝对值的和。两种匹配原则所得到的效果比较接近,没有明显差异,只是前者较适合大运动的场合,而后者更适合细小运动。至于用哪一种匹配原则,可通过设定一个阈值,并与(1)中计算出的值比较,如果(1)中计算出的值低于该阈值,便使用第二种匹配原则将搜索所得的该区域复制到当前宏块的位置上来。

    (3)如果(1)中计算出的值高于该阈值时,便使用第一种匹配原则将搜索所得的该区域复制到当前宏块的位置上来。

    在(2)中,为了继续缩小处理时间,本发明还采用了如下的自适应搜索窗的方法:

    I、首先得到错误宏块周围所有宏块的运动矢量,包括X、Y方向的运动矢量;

    II、在I得到的运动矢量集合中分别计算X、Y方向的最大值;

    III、根据两个最大值按照以下原则确定搜索窗的大小:

    当X方向的运动矢量的最大值小于4并且Y方向上的运动矢量最大值小于4时,设置窗口大小为8;

    当X方向的运动矢量的最大值、Y方向上的运动矢量最大值有一个大于8时,设置窗口大小为12;

    其他情况窗口大小为16。

    当然,上面的参数也可以人为设置。

    在设定好搜索窗口的大小后,再在该搜索窗的区域中搜索与边界像素匹配的区域。

视讯系统中的错误掩盖方法.pdf_第1页
第1页 / 共12页
视讯系统中的错误掩盖方法.pdf_第2页
第2页 / 共12页
视讯系统中的错误掩盖方法.pdf_第3页
第3页 / 共12页
点击查看更多>>
资源描述

《视讯系统中的错误掩盖方法.pdf》由会员分享,可在线阅读,更多相关《视讯系统中的错误掩盖方法.pdf(12页珍藏版)》请在专利查询网上搜索。

一种视讯系统中的错误掩盖方法,它包含以下步骤:判断当前帧的类型,如果当前帧为帧内帧(I帧)时,对所有错误宏块进行空域掩盖,若当前帧为预测帧(P帧)时,则继续;计算当前帧在没有被破坏的宏块中帧内编码的宏块的百分比,如果所述的百分比超过一个阈值时,对所有错误宏块进行空域掩盖,否则继续;对当前帧中的所有错误宏块的编码模式逐个进行判断,如果当前错误宏块的编码模式是帧内编码,对其进行空域掩盖,否则对其进行时。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1