一种解码错误宏块的错误隐蔽方法及装置的制作方法

文档序号:7717643阅读:101来源:国知局
专利名称:一种解码错误宏块的错误隐蔽方法及装置的制作方法
技术领域
本发明涉及视频解码技术领域,尤其涉及一种解码错误宏块的错误隐蔽方法及装置。
背景技术
随着网络技术的快速发展和多媒体技术的不断进步,视频通讯的应用得到了越来 越多的关注。例如在目前3G标准使用的H. 324-M规范中,规定使用H. 263和MPEG-4视频 编码标准。这两种标准都是基于运动补偿的视频编码算法,其中的大多数视频帧与前面帧 的相关性很高,任一帧的错误都会被传播、扩散到后续的若干帧中,从而引起视频质量的严 重降低。因此视频通讯对传输信道的要求很高,但是现有的有线和无线网络不能提供有效 的服务质量(QoS,Quality of Service) 0特别在类似3G可视电话这种实时性要求高的系 统中,不能采用丢包重传等错误恢复机制,所以只能利用接收端接收到的解码错误的宏块 的数据进行错误隐蔽。传统的接收端解码器根据错误检测结果进行错误隐蔽的方法一般分为两类基于 时域的错误隐蔽和基于空域/频域的错误隐蔽。其中基于运动补偿的时域错误隐蔽方法的 一种简单实现,就是利用错误宏块所在帧的前一帧中与错误宏块空间位置相同的宏块,替 代当前错误宏块。但是在视频中存在较剧烈运动时,这种方法的效果并不理想。

发明内容
本发明实施例提供了一种解码错误宏块的错误隐蔽方法及装置,用以提高解码过 程中对解码错误宏块的错误隐蔽效果,提高解码后的图像质量。本发明实施例提供的一种解码错误宏块的错误隐蔽方法,包括对当前帧进行解码过程中解码错误的宏块,使用该宏块周围相邻的正确解码的各 第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未 完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的运动矢量值;根据预测出的该宏块的运动矢量值,使用当前帧的参考帧的像素值进行运动补 偿,得出该宏块的运动补偿值,作为该宏块的错误隐蔽结果。在当前帧解码过程中出现多个解码错误的宏块时,按照解码时的先后顺序,依次 对各解码错误的宏块进行错误隐蔽的操作。使用该宏块周围相邻的各第一宏块宏块的运动矢量值、各第二宏块的运动矢量值 和各第三宏块的运动矢量预测值,预测出该宏块的运动矢量值,包括确定该宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块或该宏块上、 下、左、右相邻的四个宏块中所包含的各第一宏块、第二宏块和第三宏块;对所述各第三宏块的运动矢量值进行预测,得到各第三宏块的运动矢量预测值;对所述当前宏块相邻的各第一宏块的运动矢量值、各第二宏块运动矢量值和各第三宏块的运动矢量预测值进行加权平均,得到该宏块的运动矢量值。所述对所述各第三宏块的运动矢量值进行预测,得到各第三宏块的运动矢量预测 值,包括当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中存在正确解 码的宏块时,从所述第三宏块相邻的八个宏块中选取正确解码的宏块的运动矢量值进行加 权平均运算,得到第三宏块的运动矢量预测值;或者当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中都不存在正 确解码的宏块时,在该第三宏块周围的若干宏块行中查找正确解码的宏块,对查找到的正 确解码的宏块的运动矢量值进行加权平均运算得到第三宏块的运动矢量预测值。根据该宏块与其相邻的各第一宏块、第二宏块和第三宏块之间运动矢量值的相关 度,确定加权平均运算中各第一宏块、第二宏块和第三宏块的权重。本发明实施例提供的另一种解码错误宏块的错误隐蔽方法,包括对当前帧进行解码过程中解码错误的宏块,使用该宏块周围相邻的正确解码的各 第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未 完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的第一运动矢量值;根据预测出的该宏块的第一运动矢量值,使用当前帧的参考帧的像素值进行运动 补偿,得出该宏块的第一运动补偿值;根据当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值,或者根据所述参 考帧中与该宏块位置对应的宏块的周围宏块的运动矢量值,预测出该宏块的第二运动矢量 值;根据预测出的该宏块的第二运动矢量值,使用当前帧的参考帧的像素值进行运动 补偿,得出该宏块的第二运动补偿值;比较第一运动补偿值和第二运动补偿值的错误隐蔽效果,选择错误隐蔽效果较佳 的作为该宏块的错误隐蔽结果。根据当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值,预测该宏块的第 二运动矢量值,包括将当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值作为该宏块的第二 运动矢量值;根据参考帧中与该宏块位置对应的宏块的周围宏块的运动矢量值,预测出该宏块 的第二运动矢量值,包括将参考帧中与该宏块位置对应的宏块周围相邻的八个宏块的运动矢量值进行算 术平均,运算结果作为该宏块的第二运动矢量值。采用边缘匹配算法BMA或加强的边缘匹配算法EBMA,分别对该宏块第一、第二运 动补偿值中边缘像素点的像素值与相邻的其他该宏块的边缘像素点的像素值的相关度进 行计算,并根据计算结果确定错误隐蔽的效果。本发明实施例提供的一种解码错误宏块的错误隐蔽装置,包括运动矢量值预测单元,用于对当前帧进行解码过程中解码错误的宏块,使用该宏 块周围相邻的正确解码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动 矢量值和发生错误解码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块6的运动矢量值;运动补偿单元,用于根据预测出的该宏块的运动矢量值,使用当前帧的参考帧的 像素值进行运动补偿,得出该宏块的运动补偿值,作为该宏块的错误隐蔽结果。所述运动矢量值预测单元,包括确定子单元,用于确定该宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏 块或该宏块上、下、左、右相邻的四个宏块中所包含的各第一宏块、第二宏块和第三宏块;预测子单元,用于对所述各第三宏块的运动矢量值分别进行预测,得到各第三宏 块的运动矢量预测值;以及对所述当前宏块相邻的各第一宏块的运动矢量值、各第二宏块 运动矢量值和各第三宏块的运动矢量预测值进行加权平均,得到该宏块的运动矢量值。所述预测子单元,还用于当第三宏块上、下、左、右、左上、左下、右上和右下相邻的 八个宏块中存在正确解码的宏块时,从所述第三宏块相邻的八个宏块中选取正确解码的宏 块的运动矢量值进行加权平均运算,得到第三宏块的运动矢量预测值;或者当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中都不存在正 确解码的宏块时,在该第三宏块周围的若干宏块行中查找正确解码的宏块,对查找到的正 确解码的宏块的运动矢量值进行加权平均运算得到第三宏块的运动矢量预测值。本发明实施例提供的另一种解码错误宏块的错误隐蔽装置,包括第一运动矢量值预测单元,用于对当前帧进行解码过程中解码错误的宏块,使用 该宏块周围相邻的正确解码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的 运动矢量值和发生错误解码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该 宏块的第一运动矢量值;第一运动补偿单元,用于根据预测出的该宏块的第一运动矢量值,使用当前帧的 参考帧的像素值进行运动补偿,得出该宏块的第一运动补偿值;第二运动矢量值预测单元,用于根据当前帧的参考帧中与该宏块位置对应的宏块 的运动矢量值,或者根据所述参考帧中与该宏块位置对应的宏块的周围宏块的运动矢量 值,预测出该宏块的第二运动矢量值;第二运动补偿单元,用于根据预测出的该宏块的第二运动矢量值,使用当前帧的 参考帧的像素值进行运动补偿,得出该宏块的第二运动补偿值;比较单元,用于比较第一运动补偿值和第二运动补偿值的错误隐蔽效果,选择错 误隐蔽效果较佳的作为该宏块的错误隐蔽结果。第二运动矢量值预测单元,还用于将当前帧的参考帧中与该宏块位置对应的宏块 的运动矢量值作为该宏块的第二运动矢量值;或者将参考帧中与该宏块位置对应的宏块周 围相邻的八个宏块的运动矢量值进行算术平均,运算结果作为该宏块的第二运动矢量值。本发明实施例的有益效果包括本发明实施例提供的解码错误宏块的错误隐蔽方法及装置,对解码错误的宏块, 使用基于空域的预测方式预测其运动矢量值,即根据该宏块周围相邻的正确解码的各第一 宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未完成 错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的运动矢量值;然后根据预测出 的该宏块的运动矢量值,使用当前帧的参考帧的像素值进行运动补偿,得出该宏块的运动 补偿值,作为该宏块的错误隐蔽结果。本发明实施例在该解码错误的宏块的相邻宏块也发生解码错误时,依然可以准确有效地预测该宏块的运动矢量值。尤其是当视频图像中出现 较剧烈运动的情况下,由于采用同一帧内与该解码错误的宏块周围相邻的宏块进行运动矢 量值的预测,比现有的使用解码错误的宏块所在帧的前一帧中与该宏块位置相同的宏块, 替代该宏块的方法,错误隐蔽的效果更好。本发明实施例提供的另一种解码错误宏块的错误隐蔽方法及装置,不仅对发生解 码错误的宏块使用基于空域的方式预测其运动矢量值,还对该发生解码错误的宏块使用基 于时域的方式预测其运动矢量值,即根据当前帧的参考帧中与该宏块位置对应的宏块的运 动矢量值,或者根据参考帧中与该宏块位置对应的宏块的周围宏块的运动矢量值,预测出 该宏块的运动矢量值,然后比较两种预测方式得到的运动补偿值的错误隐蔽效果,择优选 取其中一种方式得到的运动补偿值作为错误隐蔽的结果。本发明实施例二提供的解码错误 宏块的错误隐蔽方法及装置同时使用了基于空域的和时域的运动矢量值的预测方式,更有 效地利用基于空域的和时域的预测方式的优势,提高错误隐蔽效果,提高图像的解码质量。


图1为本发明实施例一提供的解码错误宏块的错误隐蔽方法的流程图;图2为本发明实施例一提供的解码错误宏块的错误隐蔽方法的具体实例的示意 图之一;图3为本发明实施例一提供的解码错误宏块的错误隐蔽方法的具体实例的示意 图之二;图4为本发明实施例一提供的解码错误宏块的错误隐蔽装置的结构示意图;图5为本发明实施例一提供的运动矢量值预测单元结构示意图;图6为本发明实施例二提供的解码错误宏块的错误隐蔽方法的流程图;图7为本发明实施例二提供的解码错误宏块的错误隐蔽装置的结构示意图。
具体实施例方式下面结合附图,对本发明提供的一种解码错误宏块的错误隐蔽方法及装置的具体 实施方式进行详细的说明。实施例一在对当前帧进行解码的过程中,通过语法检测视频码流中当前帧的宏块的解码的 数据是否存在错误;例如可以使用下述语法检测方法来判断是否出现宏块的解码错误,运 动矢量值是否超过范围;可变长编码(Variable-length,VLC)码字是否有效;离散余弦变 换(Discrete Consine Transform, DCT)系数是否超出范围;DCT系数的个数是否超出范 围;量化系数是否超过范围;解码的宏块数目是否超过范围,码流是否发生丢包(丢失数据 包中的宏块也属于发生解码错误),当出现解码错误的宏块时,对发生解码错误的宏块进行 标识,在当前帧的解码过程结束后,如果不存在解码错误的宏块,进行下一帧的解码;如果 存在解码错误的宏块,对于发生解码错误的宏块,则需要按照发明实施例一提供的解码错 误宏块的错误隐蔽方法,执行错误隐蔽的操作。如果当前帧解码过程中出现多个解码错误的宏块,则对于各个解码错误的宏块, 按照宏块解码时的先后顺序,依次对各个解码错误的宏块进行错误隐蔽的操作。下面针对某个解码错误的宏块的错误隐蔽过程进行描述。本发明实施例一提供的解码错误宏块的错误隐蔽方法,采用基于空域的运动矢量 值的预测,也就是根据当前进行错误隐蔽的宏块(下面简称当前宏块)周围相邻的宏块的 运动矢量值来预测该当前宏块的运动矢量值,进而得到该当前宏块的运动补偿值,作为错 误隐蔽的结果,具体来说,如图1所示,包括下述步骤步骤S101、使用该当前宏块周围相邻的正确解码的各第一宏块的运动矢量值、已 完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未完成错误隐蔽的各第三宏 块的运动矢量预测值,预测出该当前宏块的运动矢量值;步骤S102、根据预测出的该当前宏块的运动矢量值,使用当前帧的参考帧的像素 值进行运动补偿,得出该当前宏块的运动补偿值,作为该当前宏块的错误隐蔽结果。在本发明实施例一提供的上述解码错误宏块的错误隐蔽方法中,为了区分正确解 码的宏块,已完成错误隐蔽的宏块和发生错误解码且未完成错误隐蔽操作的宏块依次称为 第一宏块、第二宏块和第三宏块。在上述步骤SlOl中,使用当前宏块周围相邻的各第一宏块宏块的运动矢量值、各 第二宏块的运动矢量值和各第三宏块的运动矢量预测值,预测出该当前宏块的运动矢量 值,具体包括确定当前宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块或该宏块上、 下、左、右相邻的四个宏块中包含的各第一宏块、第二宏块和第三宏块;对各第三宏块(解码错误且未完成错误隐蔽操作的宏块)的运动矢量值分别进行 预测,得到各第三宏块的运动矢量预测值;对当前宏块相邻的各第一宏块的运动矢量值、各第二宏块运动矢量值和各第三宏 块的运动矢量预测值进行加权平均,得到该当前宏块的运动矢量值。进一步地,本发明实施例一中,对第三宏块的运动矢量值进行预测,得到各第三宏 块的运动矢量预测值,包括当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中存在正确解 码的宏块时,从所述第三宏块相邻的八个宏块中选取已正确解码的宏块的运动矢量值进行 加权平均运算,得到第三宏块的运动矢量预测值;或者当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中都不存在正 确解码的宏块时,在该第三宏块相邻的若干宏块行中查找正确解码的宏块,对查找到的正 确解码的宏块的运动矢量值进行加权平均运算,得到第三宏块的运动矢量预测值。在根据当前宏块相邻的第一宏块、第二宏块和第三宏块的运动矢量值进行加权平 均得出该宏块的运动矢量值的计算式中,各第一宏块、第二宏块和第三宏块的加权平均运 算的权重,根据各宏块与当前宏块之间运动矢量值的相关度来决定。换言之,相关度越高 的,权重值相应的越大,反之,相关度低的,权重值相应的越小,这样,计算出的当前宏块的 运动矢量值才会尽可能地接近当前宏块的真实的运动矢量值。下面以两个具体的实例对本发明实施例一提供的解码错误宏块的错误隐蔽方法 进行说明。如图1所示,当对宏块E进行错误隐蔽的操作时,选取该宏块E上、下、左、右相邻 的四个宏块即宏块A、B、C和D的运动矢量值预测宏块E的运动矢量值。
宏块A、B、C和D当中,假设宏块A已正确解码,宏块B、C和D解码错误,由于宏块 B在宏块E之前已经完成了错误隐蔽的操作(因为宏块B的解码的顺序在宏块E解码的顺 序之前),那么此次错误隐蔽操作中,可以直接使用该宏块B的运动矢量值,而错误解码的 宏块C和宏块D的运动矢量值是不可用的,必须首先利用其周围相邻的正确解码的宏块的 运动矢量值进行预测,得到宏块C和D的运动矢量预测值。对宏块C来说,宏块C周围相邻的8个宏块中,存在正确解码的宏块,选取宏块C 右上相邻的正确解码的宏块M和对宏块C右下相邻的正确解码的宏块N的运动矢量值,计 算宏块C的运动矢量预测值。假设宏块M的运动矢量值为VM,宏块N的运动矢量值为Vn,两者进行加权平均的运 算的运算式如下Vc = a*VM+b*VN ;上式中,Ve是宏块C的运动矢量预测值;a和b分别是Vm和Vn加权平均运算的权重值。同样地,如图2所示,对宏块D来说,将宏块D左下方、下方和右下方相邻的已正确 解码的宏块J、K和L的运动矢量值Vk和Ψ进行加权平均运算,得到宏块D的运动矢量 预测值Vd。然后,将宏块A的运动矢量值VA、宏块B的运动矢量值VD、宏块C的运动矢量预测 值Ψ和宏块D的运动矢量预测值Vd进行加权平均运算,得到宏块E的运动矢量值VE。后续的运动补偿的操作包括即根据宏块E的运动矢量值VE,在当前帧的参考帧 中查找到相应的最匹配宏块,将查找到的最匹配宏块的像素值加上解码出的差值,得到该 宏块E的运动补偿值作为错误隐蔽结果。另一个实例如图3所示,当前宏块为图中的宏块E,如果其周围相邻的宏块都解码 错误(例如图3中的宏块A、B、C和D),其中,宏块A和宏块B已经在宏块E进行错误隐蔽 操作之前,完成了错误隐蔽操作,因此,宏块A和宏块B的运动矢量值Va和Vb是可用的,宏 块C解码错误且未经过错误隐蔽操作,宏块C的运动矢量值不可用,必须先对宏块C的运动 矢量值进行预测,得到宏块C的运动矢量预测值\。对于宏块C来说,其周围紧邻的8个宏块中,没有解码正确的宏块,因此,需要在其 周围的若干宏块行中查找解码正确的宏块,例如图3中,对与宏块C右上方相隔两个宏块行 的宏块M的运动矢量值VM,以及宏块C右下方相隔两个宏块行N的运动矢量值Vn进行加权 平均运算,得到宏块C的运动矢量预测值V。。对于宏块D来说,其周围紧邻的8个宏块中,没有解码正确的宏块,利用宏块D下 方、左下方和右下方与宏块D相隔一个宏块行的宏块J、K和L (这三个宏块都是解码正确的 宏块)的运动矢量值VT、Vk和Vm进行加权运算,得到宏块D的运动矢量预测值VD。然后,对宏块A和宏块B的运动矢量值Va和\、以及宏块C和D的运动矢量预测 值\和Vd进行加权平均运算,得到宏块E的运动矢量值VE。后续根据宏块C的运动矢量值Ve进行运动补偿,得到宏块E的运动补偿值作为错 误隐蔽结果。在上述对宏块E的错误隐蔽的操作过程中,优先选择宏块E右方和宏块E左下方、 下方和右下方正确解码的宏块进行加权平均的运算,因为在宏块右方、左下方、下方和右下方的宏块的运动矢量值是真实的运动矢量值,而非经过运算过的运动矢量预测值,能够提 高宏块E进行错误隐蔽时预测的运动矢量值的准确度。基于同一发明构思,本发明实施例一中还提供了一种解码错误宏块的错误隐蔽的 装置,由于该装置解决问题的原理与前述一种解码错误宏块的错误隐蔽的方法相似,因此 该装置的实施可以参见方法的实施,重复之处不在赘述。本发明实施例一提供的解码错误宏块的错误隐蔽装置,如图4所示,包括运动矢 量值预测单元401和运动补偿单元402 ;运动矢量值预测单元401,用于对当前帧进行解码过程中解码错误的宏块,使用该 宏块周围相邻的正确解码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运 动矢量值和发生错误解码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏 块的运动矢量值;运动补偿单元402,用于根据预测出的该宏块的运动矢量值,使用当前帧的参考帧 的像素值进行运动补偿,得出该宏块的运动补偿值,作为该宏块的错误隐蔽结果。其中,运动矢量值预测单元401,如图5所示,具体包括确定子单元4011,用于确定该宏块上、下、左、右、左上、左下、右上和右下相邻的八 个宏块中所包含的各第一宏块、第二宏块和第三宏块;预测子单元4012,用于对所述各第三宏块的运动矢量值分别进行预测,得到各第 三宏块的运动矢量预测值;以及对所述当前宏块相邻的各第一宏块的运动矢量值、各第二 宏块运动矢量值和各第三宏块的运动矢量预测值进行加权平均,得到该宏块的运动矢量 值。预测子单元4012,还用于当第三宏块上、下、左、右、左上、左下、右上和右下相邻的 八个宏块中存在正确解码的宏块时,从所述第三宏块相邻的八个宏块中选取正确解码的宏 块的运动矢量值进行加权平均运算,得到第三宏块的运动矢量预测值;或者当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中都不存在正 确解码的宏块时,在该第三宏块周围的若干宏块行中查找正确解码的宏块,对查找到的正 确解码的宏块的运动矢量值进行加权平均运算得到第三宏块的运动矢量预测值。实施例二 本发明实施例二中,在实施例一提供的技术方案的基础上,还对当前宏块的运动 矢量值进行时域上的预测,然后比较两种方式下运动补偿值的错误隐蔽的效果,选择效果 较优的一种方式得到的运动补偿值作为当前宏块最终的错误隐蔽结果。如图6所示,本发明实施例二提供的解码错误宏块的错误隐蔽方法,具体包括下 述步骤S601、对当前帧进行解码过程中解码错误的宏块,使用该宏块周围相邻的正确解 码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解 码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的第一运动矢量值;S602、根据预测出的该宏块的第一运动矢量值,使用当前帧的参考帧的像素值进 行运动补偿,得出该宏块的第一运动补偿值;S603、根据当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值,或者根据 所述参考帧中与该宏块位置对应的宏块的周围宏块的运动矢量值,预测出该宏块的第二运11动矢量值;S604、根据预测出的该宏块的第二运动矢量值,使用当前帧的参考帧的像素值进 行运动补偿,得出该宏块的第二运动补偿值;S605、比较第一运动补偿值和第二运动补偿值的错误隐蔽效果,选择错误隐蔽效 果较佳的作为该宏块的错误隐蔽结果。上述步骤S601、S602的具体执行过程与实施例一中相同,在此不再赘述。上述步骤S603的根据当前帧的参考帧中与该宏块位置对应的宏块的运动矢量 值,预测该宏块的第二运动矢量值的步骤,可以通过下述方式实现将当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值作为该宏块的第二 运动矢量值;或者将当前帧的参考帧中与该宏块位置对应的宏块周围相邻的八个宏块的运动矢量 值进行算术平均,将算术平均的运算结果作为该宏块的第二运动矢量值。上述步骤S605中,采用现有的边缘匹配算法(Boundary Matching Algorithm, BMA)或加强的边缘匹配算法(Enhanced Boundary Matching Algorithm, EBMA),对当前宏 块第一运动补偿值以及当前宏块的第二运动补偿值的错误隐蔽效果进行比较。BMA和EBMA算法的基本原理是利用视频图像中邻接像素点的像素值具有高度相 关性的事实,也就说,计算出当前宏块的运动补偿值中边缘像素点与相邻宏块边缘像素点 的相关度越高,则错误隐蔽的效果越好。分别对当前宏块第一运动补偿值以及当前宏块的第二运动补偿值中,边缘像素点 的像素值与相邻的其他宏块的边缘像素点的像素值的相关度进行计算,以图2中的宏块E 为例,计算宏块E的运动补偿值中右侧边缘像素点的像素值和相邻宏块C的左侧边缘像素 点的像素值之间的相关度,相关度越高,则认为该运动补偿值的错误隐蔽效果越好。基于同一发明构思,本发明实施例二中还提供了一种解码错误宏块的错误隐蔽的 装置,由于该装置解决问题的原理与前述一种解码错误宏块的错误隐蔽的方法相似,因此 该装置的实施可以参见方法的实施,重复之处不在赘述。本发明实施例二提供的一种解码错误宏块的错误隐蔽装置,如图7所示,具体包 括第一运动矢量值预测单元701,用于对当前帧进行解码过程中解码错误的宏块,使 用该宏块周围相邻的正确解码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块 的运动矢量值和发生错误解码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出 该宏块的第一运动矢量值;第一运动补偿单元702,用于根据预测出的该宏块的第一运动矢量值,使用当前帧 的参考帧的像素值进行运动补偿,得出该宏块的第一运动补偿值;第二运动矢量值预测单元703,用于根据当前帧的参考帧中与该宏块位置对应的 宏块的运动矢量值,或者根据所述参考帧中与该宏块位置对应的宏块的周围宏块的运动矢 量值,预测出该宏块的第二运动矢量值;第二运动补偿单元704,用于根据预测出的该宏块的第二运动矢量值,使用当前帧 的参考帧的像素值进行运动补偿,得出该宏块的第二运动补偿值;比较单元705,用于比较第一运动补偿值和第二运动补偿值的错误隐蔽效果,选择错误隐蔽效果较佳的作为该宏块的错误隐蔽结果。上述第二运动矢量值预测单元703,还用于将当前帧的参考帧中与该宏块位置对 应的宏块的运动矢量值作为该宏块的第二运动矢量值;或者将参考帧中与该宏块位置对应 的宏块周围相邻的八个宏块的运动矢量值进行算术平均,运算结果作为该宏块的第二运动矢量值。本发明实施例一提供的解码错误宏块的错误隐蔽方法及装置,对解码错误的宏 块,使用基于空域的预测方式预测其运动矢量值,即根据该宏块周围相邻的正确解码的各 第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未 完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的运动矢量值;然后根据预 测出的该宏块的运动矢量值,使用当前帧的参考帧的像素值进行运动补偿,得出该宏块的 运动补偿值,作为该宏块的错误隐蔽结果。本发明实施例一在该解码错误的宏块的相邻宏 块也发生解码错误时,依然可以准确有效地预测该宏块的运动矢量值。尤其是当视频图像 中出现较剧烈运动的情况下,由于采用同一帧内与该解码错误的宏块周围相邻的宏块进行 运动矢量值的预测,比现有的使用解码错误的宏块所在帧的前一帧中与该宏块位置相同的 宏块,替代该宏块的方法,准确度更好,相应的图像解码效果也更好。本发明实施例二提供的解码错误宏块的错误隐蔽方法及装置,不仅对发生解码错 误的宏块使用基于空域的方式预测其运动矢量值,还对该发生解码错误的宏块使用基于时 域的方式预测其运动矢量值,即根据当前帧的参考帧中与该宏块位置对应的宏块的运动矢 量值,或者根据参考帧中与该宏块位置对应的宏块的周围宏块的运动矢量值,预测出该宏 块的运动矢量值,然后比较两种预测方式得到的运动补偿值的错误隐蔽效果,择优选取其 中一种方式得到的运动补偿值作为错误隐蔽的结果。本发明实施例二提供的解码错误宏块 的错误隐蔽方法及装置同时使用了基于空域的和时域的运动矢量值的预测方式,更有效地 利用基于空域的和时域的预测方式的优势,提高错误隐蔽效果,提高图像的解码质量。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种解码错误宏块的错误隐蔽方法,其特征在于,包括对当前帧进行解码过程中解码错误的宏块,使用该宏块周围相邻的正确解码的各第一 宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未完成 错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的运动矢量值;根据预测出的该宏块的运动矢量值,使用当前帧的参考帧的像素值进行运动补偿,得 出该宏块的运动补偿值,作为该宏块的错误隐蔽结果。
2.如权利要求1所述的方法,其特征在于,在当前帧解码过程中出现多个解码错误的 宏块时,按照解码时的先后顺序,依次对各解码错误的宏块进行错误隐蔽的操作。
3.如权利要求1所述的方法,其特征在于,使用该宏块周围相邻的各第一宏块宏块的 运动矢量值、各第二宏块的运动矢量值和各第三宏块的运动矢量预测值,预测出该宏块的 运动矢量值,包括确定该宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块或该宏块上、下、左、 右相邻的四个宏块中所包含的各第一宏块、第二宏块和第三宏块;对所述各第三宏块的运动矢量值进行预测,得到各第三宏块的运动矢量预测值; 对所述当前宏块相邻的各第一宏块的运动矢量值、各第二宏块运动矢量值和各第三宏 块的运动矢量预测值进行加权平均,得到该宏块的运动矢量值。
4.如权利要求3所述的方法,其特征在于,所述对所述各第三宏块的运动矢量值进行 预测,得到各第三宏块的运动矢量预测值,包括当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中存在正确解码的 宏块时,从所述第三宏块相邻的八个宏块中选取正确解码的宏块的运动矢量值进行加权平 均运算,得到第三宏块的运动矢量预测值;或者当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中都不存在正确解 码的宏块时,在该第三宏块周围的若干宏块行中查找正确解码的宏块,对查找到的正确解 码的宏块的运动矢量值进行加权平均运算得到第三宏块的运动矢量预测值。
5.如权利要求3或4所述的方法,其特征在于,根据该宏块与其相邻的各第一宏块、第 二宏块和第三宏块之间运动矢量值的相关度,确定加权平均运算中各第一宏块、第二宏块 和第三宏块的权重。
6.一种解码错误宏块的错误隐蔽方法,其特征在于,包括对当前帧进行解码过程中解码错误的宏块,使用该宏块周围相邻的正确解码的各第一 宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未完成 错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的第一运动矢量值;根据预测出的该宏块的第一运动矢量值,使用当前帧的参考帧的像素值进行运动补 偿,得出该宏块的第一运动补偿值;根据当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值,或者根据所述参考帧 中与该宏块位置对应的宏块的周围宏块的运动矢量值,预测出该宏块的第二运动矢量值;根据预测出的该宏块的第二运动矢量值,使用当前帧的参考帧的像素值进行运动补 偿,得出该宏块的第二运动补偿值;比较第一运动补偿值和第二运动补偿值的错误隐蔽效果,选择错误隐蔽效果较佳的作 为该宏块的错误隐蔽结果。
7.如权利要求6所述的方法,其特征在于,根据当前帧的参考帧中与该宏块位置对应 的宏块的运动矢量值,预测该宏块的第二运动矢量值,包括将当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值作为该宏块的第二运动矢量值;根据参考帧中与该宏块位置对应的宏块的周围宏块的运动矢量值,预测出该宏块的第 二运动矢量值,包括将参考帧中与该宏块位置对应的宏块周围相邻的八个宏块的运动矢量值进行算术平 均,运算结果作为该宏块的第二运动矢量值。
8.如权利要求6所述的方法,其特征在于,采用边缘匹配算法BMA或加强的边缘匹配算 法EBMA,分别对该宏块第一、第二运动补偿值中边缘像素点的像素值与相邻的其他该宏块 的边缘像素点的像素值的相关度进行计算,并根据计算结果确定错误隐蔽的效果。
9.一种解码错误宏块的错误隐蔽装置,其特征在于,包括运动矢量值预测单元,用于对当前帧进行解码过程中解码错误的宏块,使用该宏块周 围相邻的正确解码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量 值和发生错误解码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的运 动矢量值;运动补偿单元,用于根据预测出的该宏块的运动矢量值,使用当前帧的参考帧的像素 值进行运动补偿,得出该宏块的运动补偿值,作为该宏块的错误隐蔽结果。
10.如权利要求9所述的装置,其特征在于,所述运动矢量值预测单元,包括确定子单元,用于确定该宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块或 该宏块上、下、左、右相邻的四个宏块中所包含的各第一宏块、第二宏块和第三宏块;预测子单元,用于对所述各第三宏块的运动矢量值分别进行预测,得到各第三宏块的 运动矢量预测值;以及对所述当前宏块相邻的各第一宏块的运动矢量值、各第二宏块运动 矢量值和各第三宏块的运动矢量预测值进行加权平均,得到该宏块的运动矢量值。
11.如权利要求10所述的装置,其特征在于,所述预测子单元,还用于当第三宏块上、 下、左、右、左上、左下、右上和右下相邻的八个宏块中存在正确解码的宏块时,从所述第三 宏块相邻的八个宏块中选取正确解码的宏块的运动矢量值进行加权平均运算,得到第三宏 块的运动矢量预测值;或者当第三宏块上、下、左、右、左上、左下、右上和右下相邻的八个宏块中都不存在正确解 码的宏块时,在该第三宏块周围的若干宏块行中查找正确解码的宏块,对查找到的正确解 码的宏块的运动矢量值进行加权平均运算得到第三宏块的运动矢量预测值。
12.—种解码错误宏块的错误隐蔽装置,其特征在于,包括第一运动矢量值预测单元,用于对当前帧进行解码过程中解码错误的宏块,使用该宏 块周围相邻的正确解码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动 矢量值和发生错误解码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块 的第一运动矢量值;第一运动补偿单元,用于根据预测出的该宏块的第一运动矢量值,使用当前帧的参考 帧的像素值进行运动补偿,得出该宏块的第一运动补偿值;第二运动矢量值预测单元,用于根据当前帧的参考帧中与该宏块位置对应的宏块的运动矢量值,或者根据所述参考帧中与该宏块位置对应的宏块的周围宏块的运动矢量值,预 测出该宏块的第二运动矢量值;第二运动补偿单元,用于根据预测出的该宏块的第二运动矢量值,使用当前帧的参考 帧的像素值进行运动补偿,得出该宏块的第二运动补偿值;比较单元,用于比较第一运动补偿值和第二运动补偿值的错误隐蔽效果,选择错误隐 蔽效果较佳的作为该宏块的错误隐蔽结果。
13.如权利要求12所述的装置,其特征在于,第二运动矢量值预测单元,还用于将当前 帧的参考帧中与该宏块位置对应的宏块的运动矢量值作为该宏块的第二运动矢量值;或者 将参考帧中与该宏块位置对应的宏块周围相邻的八个宏块的运动矢量值进行算术平均,运 算结果作为该宏块的第二运动矢量值。
全文摘要
本发明公开了一种解码错误宏块的错误隐蔽方法及装置,其中方法包括对当前帧进行解码过程中解码错误的宏块,使用该宏块周围相邻的正确解码的各第一宏块的运动矢量值、已完成错误隐蔽的各第二宏块的运动矢量值和发生错误解码且未完成错误隐蔽的各第三宏块的运动矢量预测值,预测出该宏块的运动矢量值;根据预测出的运动矢量值,使用当前帧的参考帧的像素值进行运动补偿,得出该宏块的运动补偿值作为该宏块的错误隐蔽结果。在该解码错误的宏块相邻宏块也发生解码错误时,依然可以准确有效地预测该宏块的运动矢量值。针对视频图像中出现较剧烈运动的情况,由于采用同一帧内与解码错误的宏块相邻的宏块进行运动矢量值的预测,错误隐蔽的效果更好。
文档编号H04N7/26GK102055987SQ20091021086
公开日2011年5月11日 申请日期2009年11月11日 优先权日2009年11月11日
发明者左雯, 梁立伟, 王宁, 范文杰, 黄晓红 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1