Nothing Special   »   [go: up one dir, main page]

CN1302668C - 一种隐藏错误的视频译码方法 - Google Patents

一种隐藏错误的视频译码方法 Download PDF

Info

Publication number
CN1302668C
CN1302668C CNB2004100185080A CN200410018508A CN1302668C CN 1302668 C CN1302668 C CN 1302668C CN B2004100185080 A CNB2004100185080 A CN B2004100185080A CN 200410018508 A CN200410018508 A CN 200410018508A CN 1302668 C CN1302668 C CN 1302668C
Authority
CN
China
Prior art keywords
error
frame
macro block
frameno
motion vector
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
Application number
CNB2004100185080A
Other languages
English (en)
Other versions
CN1581972A (zh
Inventor
肖友能
薛向阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fudan University
Original Assignee
Fudan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fudan University filed Critical Fudan University
Priority to CNB2004100185080A priority Critical patent/CN1302668C/zh
Publication of CN1581972A publication Critical patent/CN1581972A/zh
Application granted granted Critical
Publication of CN1302668C publication Critical patent/CN1302668C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明是一种隐藏错误的视频译码方法。本发明利用视频解码器在解码时得到的副产品信息,包括运动矢量和I帧的直流(DC)图像,进行实时镜头分割,判断当前发生错误的帧是否是镜头边界。如果当前帧是镜头边界,则使用空域上基于块的分割-匹配的错误隐蔽方法进行错误隐藏;如果不是边界,则用时域上的前向-后向块匹配错误隐蔽方法进行错误隐藏。该方法具有速度快、系统开销小、隐藏效果好、鲁棒性好等优点,非常适合于各种类型的视频播放器。

Description

一种隐藏错误的视频译码方法
技术领域
本发明属视频技术领域,具体涉及一种隐藏错误的视频译码方法。主要用于提高视频解码器的图像质量,其原理是隐藏(即尽量让人看不见)因视频码流错误而引起的译码图像中马赛克现象,降低人的视觉系统对图像质量恶化的敏感程度。
背景技术
随着数字电视、会议电视、计算机网络等技术的不断发展和迅速普及,如何在Internet上传送视频流变得越来越重要。由于Internet没有为视频和音频等实时流媒体传输保留专门通道,使得音视频的传输很容易受到网络拥塞和延迟的影响。视频编码本身的一些基本压缩技术,如MPEG-1/2/4标准中的时域预测和变字长编码等,特别容易受到网络拥塞和丢包的影响,即使一个比特的误码或者丢失,也会造成视频图像中大片错误,造成主观视觉质量严重下降。
码流在网络传输过程中随时可能出现数据丢失。在MPEG视频数据中,大部分比特是用于编码运动矢量的哈夫曼码(Huffman)和离散余弦变换(DCT)系数的Huffman码,众所周知Huffman码是一种变字长码,一旦发生错误,很难立即发现,通常是错误蔓延到无法解码的时候才知道前面某个未知位置处的码流出现了错误。变长编码的特点使得译码算法不可能退回去定位出错的地点,只能重新查找开始码,从下一个同步点开始继续解码。从发现错误(实际的错误往往还在此之前)到下一个同步点之间的宏块的解码是没有定义的。而这一错误更由于具有很高压缩效率的时域预测而雪上加霜。如果这一错误发生在一个图象组中较前参考帧中,则该图象组中所有后续解码帧中相同位置宏块的解码都会引起失真,这种失真一般经常会持续半秒,后果是很严重的。
大量研究表明,可以从许多方面来克服这种错误扩散问题,例如数据分级,添加前向纠错(FEC)码,发送方流量控制等,在视频解码器中添加错误隐藏措施也被证明是一种很有效的技术手段,其代价只是增加一些译码算法的复杂度。
常用的错误隐藏方法包括:前向错误隐蔽、通过后处理的错误隐蔽、解码器和编码器交互的错误隐蔽三大类。(1)前向错误隐蔽:编码器起主要作用,通过增加了一定量的冗余信息在信息源编码器端或传送层编码器端,当数据在网络上发生错误时,接收端有可能从冗余信息中恢复出丢失的信息。通常增加的冗余信息数据量是不可忽视的,当网络中发生拥塞时,冗余信息会加重这种拥塞,引起视频质量更严重的下降。(2)在解码器和编码器交互的错误隐蔽方法中,编码器端通过从解码器端获得反馈信息来调整自己的编码策略以获得更好的性能,这就要求编码器和解码器具有一定的交互性,因此编码器和解码器通常是同一个开发者。这样的编码器得到的视频流缺乏通用性。鉴于上述两种错误隐藏方法存在一些本质缺陷,通过后处理的错误隐蔽方法得到了广泛的应用。
通过后处理的错误隐蔽方法通常有下面几种:
(1)基于运动补偿的时域错误隐藏:一个简单的方法来利用视频信号的时域相关特性,即用错误宏块所在帧的前一帧中与错误宏块空间位置相同的宏块,来代替当前帧中的错误宏块。但是当视频中存在较剧烈的运动时,这种方法将对视觉效果产生很大影响。通过运动补偿来寻找相应的替代宏块时,对隐藏效果有很大提高。
(2)最大平滑恢复:利用大多数图象和视频信号的空间平滑特性,通过逐步能量最小化方法实现。
(3)在空域或频域上的错误隐藏:空域或频域上错误隐藏方法,是在一帧图像内,利用数据丢失块周围的图像,采用插值方法恢复丢失块。由于一个突发性的错误往往引起相邻数块数据的丢失,在这种情况下,插值的计算将更为复杂、效果也较差。
发明内容
本发明的目的在于提出一种计算较为简单,效果比较好的隐藏错误的视频译码方法。
本发明提出的隐藏错误的视频译码方法,是一种内嵌于视频解码器中进行错误隐藏的方法,它将压缩域快速镜头分割方法和空域错误隐藏、时域错误隐藏方法相结合,获得良好的错误隐藏效果。其步骤为:先对视频中的错误进行定位,具体可使用两种方法检查错误:(1)计算宏块边界的像素值和它周围宏块边界像素值差值;(2)检查MPEG码流的语法以发现码流中错误。然后对于有错误的帧,采用基于运动矢量(P和B帧)和直流(DC)图像(I帧)的方法检测发生错误的帧是否在镜头(shot)的边界上。如果不在镜头的边界,就用时域上的前向-后向块匹配错误隐蔽方法进行错误隐藏;如果在镜头的边界,那么前后相邻帧之间差异非常大,不能进行时间域的错误隐蔽,此时采用空域上基于块的分割-匹配的错误隐蔽方法进行错误隐藏。
附图说明
图1为本发明分割-匹配过程4个步骤的图示,其中(a)为初始匹配图示,(b)为首次分割图示,(c)为二次分割图示,(d)为不进行分割、增大搜索区域图示。
图2为时域上的错误隐藏图示。其中(A)为选择错误宏块上方的宏块,(B)为选择错误宏块下方的宏块,(C)为同时选择错误宏块上方和下方的宏块。
具体实施方式
本发明基于镜头分割的错误隐藏方法可以归纳成如下基本步骤:
1、解码第n帧。
2、检测第n帧是否发生错误,如果发生错误转3,否则转5。
3、检测第n帧是否是一个镜头的边界。
4、如果第n帧不是一个镜头的边界,进行时域错误隐藏。如果是镜头边界,进行空域错误隐藏。
5、如果第n帧是最后一帧,退出,否则n=n+1,转1。
下面分别具体介绍错误发现机制和所采用的空域错误隐藏和时域错误隐藏方法,再给出压缩域快速镜头分割方法,最后将镜头分割方法和空域错误隐藏、时域错误隐藏结合起来。在讨论具体实施方法时,以MPEG-2标准的视频流为例介绍,但本发明方法并不仅限于MPEG-2标准,同样适用于MPEG-1/4标准或其它视频编码标准。
1、错误发现机制
为了做好错误隐蔽,最重要的是能否正确定位错误出现的位置。如果不能准确定位错误的位置,错误隐藏便不能开展。本发明错误发现主要用了两种方法:
(1)检查宏块边界的像素值和它周围宏块边界像素值的差值
当视频流中出现错误而在播放时产生“马赛克”现象时,通过直观可以感到出现错误的宏块和周围宏块有明显的差别。这里正是利用了出错宏块和周围宏块在色度、亮度上的差别来发现错误宏块的位置的。根据MPEG-2的编码方式,对于宏块采用了VLC编码,当某个宏块发生错误时,往往会影响到该片(slice)中后续宏块,直到下一个片的到来。又因为一个片是不会超越一行的,因此该宏块带来的错误最多只会影响本行宏块。
通过上面分析,可以知道:在错误宏块周围的宏块中,左右的宏块往往会受到影响,而其上下宏块一般不会受到影响,因此这里只计算宏块的上边界和上方宏块下边界的差值以及宏块的下边界和下方宏块上边界的差值。通过对许多帧的计算和比较发现在颜色YUV三个分量中(其中,Y分量表示亮度,U表示蓝色和绿色的色差,V分量表示红色与绿色的色差),U分量值的差别是最显著的,因此在本方法中选择U分量的差别作为宏块和周围宏块差值大小的判别。选取少量像素值参与计算是为了降低算法的复杂度。
在本方法中选择计算当前宏块上边界的像素值和上方宏块下边界的像素值在U分量上的差值以及该宏块下边界的像素值和下方宏块上边界的像素在U分量上的差值同时作为判决条件,当这两个差值同时大于阈值(本方法中阈值范围为25~35)时,可以判定该宏块发生了错误。
(2)当检测到的码值不在码表中时,说明码流中发生了错误
由于MPEG标准中所用的VLC码表并不是完全的,因此当码流发生错误时,很可能出现一个宏块的运动矢量或离散余弦变换(DCT)系数的变字长码字(VLC)不在VLC码表中,当这种情况出现时可以断定在码流中发生了错误。但是用这种方法往往不能精确定位错误的位置,因为当一个码字不在VLC码表中出现时,可能并不是这个码字出现了错误,而是在这个片中前面的码字就出现了错误,只是一个码字由于有比特错误变成了另外一个码字而且改变了码字的长度而引起的错误传播,导致在一段时间后才发现错误。不过,一旦出现这种情况,就可以断定该片中发生了传送错误,因此在本方法实现的错误隐蔽中,当发生这种情况时,我们将对整个片实施错误隐蔽。
2、空域上错误隐藏
空域上错误隐藏采用了空域上基于块的分割-匹配的错误隐蔽方法,下述算法1是对一个宏块进行错误隐藏的方法:
算法1,具体步骤如下:
(1)定位出错的宏块的位置;
(2)判断“出错宏块的正上方相邻宏块和正下方相邻宏块”是否都可以用;如果不可用,找到最近的可以用于错误隐藏的宏块;
(3)出错宏块中区域和可用宏块中的区域的相似度计算;
(4)完成分割-匹配过程;
(5)计算第四步中分割-匹配过程所用的两个区域是否是相似区域;如果不是,转(3),如果是,转(6);
(6)完成错误隐藏;
(7)判断当前出错宏块的每个区域进行了错误隐藏;如果不是,转(3);如果是,退出。
下面将解释算法1所涉及的技术细节。
区域相似度估计:
在该方法中,大小为bx×by的相邻块BT和BB之间的绝对误差的均值通过下式估计:
MAD = 1 bx × by Σ x = 0 bx Σ y = 0 by | B T ( x , y ) - B B ( x , y ) |
当MAD值小于一个预设阈值时,或在指定搜索区域内找到了一个最小MAD时,用此时的两个匹配块来进行错误隐蔽。
分割-匹配过程
分割-匹配过程的4个步骤如图1所示。其中MBc表示要被错误隐蔽的宏块,MBT,MBTL,MBTR,MBB,MBBL,MBBR分别表示被损宏块的上方、左上方、右上方、下方、左下方、右下方的可获得宏块。
在前2个步骤中,定义了较大的相邻块来进行匹配,而在最后2个步骤中都用了最小尺寸4×4的块进行匹配,但定义了不同的搜索区域。采用这个方法保证了最小的处理时间和尽可能好的隐藏效果。在过程的开始用较大块进行匹配保证了有较大一致性的区域可以被直接重构,避免了更多的计算和延迟。另一方面,有较多细节的区域需要更小的块来匹配。下面详细介绍4个步骤:
(1)初始匹配—最大的块尺寸
初始匹配试图匹配竖直方向上相邻的最大块b1和t1,其尺寸为16×8像素。如图1a所示。如果这两个区域被认为是相似的,整个宏块的错误隐蔽可以通过拷贝来实现。否则算法继续执行第(2)步。
(2)首次分割—仅在竖直方向上
将第(1)步中初始块分割成两个更小的块,分别为b1、b2和t1、t2,其大小为8×8。仅在竖直方向上为每一对进行匹配。如b1与t1和b2与t2(见图1(b))。因此有较小纹理区域的隐藏被直接执行。
(3)二次分割—定义初始搜索区域—较少方向的集合
第(2)步中,块被进一步分割成所允许的最小的大小4×4,用bi和ti来表示。在这一步骤中,如图1(c)所示,定义了水平方向上的初始搜索区域,将要被匹配的最小块(bi及ti)在定义的搜索区域中滑动。所有它们的组合都用前面介绍过的相似度估计算法来进行是否是最佳匹配的决策。这一步骤被迭代执行,直到下一个最佳块组合不再满足相似度匹配或整个宏块的错误隐蔽已经实现。滑动的概念保证了任何方向的边界或线条可以被重构。
(4)不进行分割—增大搜索区域—较多方向的集合
如图1(d)所示第(3)步中定义的搜索区域被进一步增大。允许重构的方向扩展到相邻的左上方、右上方或左下方、右下方的宏块,因此扩大了重构的方向。在该步骤中,用来匹配的块的大小保持不变,如图1(d)所示。匹配在bk,tk间进行。这一步骤也是迭代进行,直到整个宏块都进行了错误隐蔽。
错误隐藏
在本方法的错误隐蔽方法中采用了拷贝的方法。如图1所示,上方和下方相邻最佳匹配块的图像内容按匹配方向分别被拷贝到丢失区域的上半部分和下半部分。(例如,在图1a中,如果b1及t1在第一步中被认为是匹配的,则b1的内容被拷贝到错误宏块上半部分中相等大小的区域,即图中颜色较浅的区域;t1被拷贝到错误宏块的下半部分中相等大小的区域,即图中颜色较深的区域)。在分割-匹配过程的前两个步骤中,错误隐蔽被直接执行而不需要迭代过程,而在后两个步骤中需要迭代过程,对在前一步中还未进行错误隐蔽的区域进行错误隐蔽。因此在算法中为宏块中的每个像素设置了一个标志,用来指示该像素是否已经进行错误隐蔽。如果像素已经进行错误隐蔽,当他在下次最佳匹配的方向上出现时,不需要再对他进行错误隐蔽。
3、时域上的错误隐藏
和空域上的错误隐蔽相比,在运动较少或没有运动的区域,时域上的错误隐蔽可以取得近乎完美的效果。当发生错误的宏块周围宏块的运动向量不一致或由于其周围宏块为帧内编码的而无法获得它们的运动信息时,简单的块匹配方法无法获得令人满意的结果,而本方法中的时域上的前向-后向块匹配错误隐蔽方法可以减小这些缺点。该方法为错误宏块选择了邻域,在基于块匹配的原则上,在该邻域中可对错误宏块进行可能的最佳隐藏。
时域上的前向-后向块匹配错误隐蔽利用了视频序列的时域上的冗余。这里假设至少一些相邻的块有平滑、一致的运动向量。下面详细介绍该算法。
MBC为当前发生错误的宏块,MBT为错误宏块上方的宏块,MBB为错误宏块下方的宏块。在参考帧中以与错误宏块相同位置的宏块为中心,预先定义N×M大小的区域为搜索区域,同时选择错误宏块的周围的宏块作为候选者。这里我们可以只选择错误宏块上方的宏块,如图2A所示;也可以只选择错误宏块下方的宏块,如图2(B)所示;也可以同时选择错误宏块上方和下方的宏块作为候选者,如图2c所示。在最后一种情况下,上下宏块的竖直距离被限制为16象素,同时MBT和MBB在搜索区域中的运动是一致的。时域上的块匹配对所有候选者在选定的区域中搜索导致最小MAD的块来作为错误宏块内容的估计。错误隐蔽将找到的最佳匹配块的适当的周围块的内容拷贝到发生错误的宏块的位置上,比如如果我们采用图2(A)的方式选择候选者,那么将匹配宏块下方的宏块拷贝到错误宏块的位置。
4、压缩域中快速镜头分割方法
在传统的错误隐藏策略中,一般来说时域错误隐藏具有计算开销小,隐藏效果好的特点,是在错误隐藏中被倾向使用的方法。但是当视频中相邻帧间的内容变化特别明显时(这种明显变化一般是由镜头切换引起的),时域错误隐藏的效果就很差。考虑到这一点,我们提出的新的错误隐藏方法将实时镜头分割和传统的错误隐藏方法相结合。
一个镜头是摄像机打开和关闭之间的时间内拍摄的视频片断。一个视频节目在语义上可以看作是一些镜头的组合,镜头分割就是找到这些语义的边界。用于镜头分割的算法很多,考虑到我们的应用中,镜头分割的精度不是很重要,而镜头分割的速度却很关键,本发明中采用了基于运动矢量的实时镜头分割方法,基本思想如下:
在MPEG-2流中,有I、P、B三种类型的帧,在I帧中没有运动矢量,在P帧中有前向运动矢量,在B帧中可能存在前向、后向和双向运动矢量。但是,不管情况多么复杂,MPEG-1/2编码器工作时,总会按照某一种依据来选择合理的编码模式。因此,编码器在处理变化镜头时候,仍遵循某种合理的策略。例如当遇到跳变镜头时,帧间预测必然会失效,此时比较倾向于选择帧内编码模式,而在镜头边界之前后两侧,则前向、后向和双向预测模式选择一定会符合某种合理的模式。
设RP表示P帧中没有运动矢量的宏块和有前向运动矢量的宏块在帧中的比率:
R P = MV non MV F
MVF表示帧中有前向运动矢量的宏块的个数,MVnon表示没有运动矢量的宏块的总数。在正常情况下,P帧中的大部分宏块会参考它前面的参考帧进行编码以降低编码比特,因此RP很小(一般1<RP);当在P帧处发生镜头切换的时候,由于当前P帧和前面的参考帧内容相差很大,参考前面的参考帧编码反而会用较多的比特,大部分P帧中的宏块会采用帧内编码方式(没有运动矢量),因此RP很大。通过RP的值可以判断是否在P帧处发生了镜头切换。
同理,设RB表示B帧中有后向运动矢量的宏块和有前向运动矢量的宏块在帧中的比率
R B = MV B MV F
在正常情况下,B帧中的大部分宏块会参考它前面的参考帧和后面的参考帧进行编码以降低编码比特,RB是一个在1附近波动的值;当在B帧处发生镜头切换的时候,由于当前B帧和前面的参考帧内容相差很大。参考前面的参考帧编码反而会用较多的比特,大部分B帧中的宏块会采用后面的参考帧帧做预测,而不参考前面的参考帧做预测,因此RB很大。通过RB的值可以判断是否在B帧处发生了镜头切换。
采用滑动窗口,可以判断在P帧和在B帧出现的可能的镜头切换。在本方法中,为RP和RB要分别建立各自的滑动窗口。
设W是一个长度为l的滑动窗口,wi(i∈[0,l))是窗口中的一个元素(即RX的值),窗口的期望为
E ( W ) = Σ i = 0 l - 1 w i l
FrameNo表示当前进入到滑动窗口的X帧的帧序号,ShotCount表示当前的镜头计数器,用下面的算法可以找到可能X帧处发生的切换。
滑动窗口算法,具体步骤如下:
(1)FrameNo=0,ShotCount=0;
(2)对窗口中的每一个元素,令wi=InitialEle,(i∈[0,l)),i=0,计算E(W);
(3)如果RX(FrameNo)>TH_X×E(W),转(4),否则转(5);
(4)Shot[ShotCount]=FrameNo,ShotCount=ShotCount+1,FrameNo=FrameNo+1,转(3),否则,转(5);
(5)W(imodl)=RX(FrameNo),重新计算E(W),i=i+1,FrameNo=FrameNo+1,如果FrameNo>Max_X_Frame,退出,否则转(3);
在本发明中,对于P帧(即X为P),InitialEle=1000,滑动窗口宽度l∈[8,10],阈值TH_P=4。对于B帧(X为B),InitialEle=1000,滑动窗口宽度l∈[18,22],阈值TH_B=6。
对于可能在I帧处发生的镜头切换,用下列方法检测:
对宏块的每个块(8×8像素)进行DCT变换,得到64个DCT系数,其中第一个系数为直流系数,即DC系数。设c(0,0)为每个块的DC系数,则
c ( 0,0 ) = Σ x = 0 7 Σ y = 0 7 c ( x , y ) 64
即DC系数为整个块的均值。由一帧中所有DC系数就构成了原始图像的DC图像,DC图像的分辨率是原始图像的1/64,却保留了原始图像的大部分信息。
为了进一步减少计算量,我们仅利用I帧亮度分量的DC图像来检测叠化。I帧的DC图像可以直接从压缩域中提取出来,设Ii和Ii+1为相邻的两个I帧,它们之间DC图像的差值定义为:
Diff _ I _ DC ( I i , I i + 1 ) = Σ k = 0 TotalBlock - 1 | DC k i - DC k i + 1 |
在镜头发生叠化切换时,Diff_I_DC(Ii,Ii+1)会出现一个明显峰值。同样,对Diff_I_DC(Ii,Ii+1)也可以采用滑动窗口方法,在上述滑动窗口算法中,X为I, InitialEle = width × heiggt × 8 256 , 滑动窗口宽度l=4,TH_I=3。

Claims (9)

1、一种隐藏错误的视频译码方法,其特征在于:首先对视频流中错误进行定位:检查宏块边界的像素值和它周围宏块边界像素值的差值,或者从MPEG码流的语法中实现错误检查;然后对有错帧,采用基于运动矢量或直流(DC)图像方法,判断它是否出现在镜头边界上;如果不在镜头边界上,就用时域上前向-后向块匹配错误隐蔽方法进行错误隐藏;如果在镜头边界上,就用空域上基于块的分割-匹配的错误隐蔽方法进行隐藏。
2、根据权利要求1所述的方法,其特征在于所述检查宏块边界的像素值和它周围宏块边界像素值的差值,是计算当前宏块的上边界和上方宏块下边界的U分量的差值、以及该宏块的下边界和下方宏块上边界的的U分量的差值;如果这两个差值都大于一个给定阈值TH_1,则断定当前宏块有错,这里U分量为绿色差。
3、根据权利要求1所述的方法,其特征在于所述从MPEG码流的语法中检索错误,是当检测到一个宏块的运动矢量或离散余弦变换(DCT)系数的变字长码字(VLC)不在编码表中时,则断定当前宏块的码流有错。
4、根据权利要求1所述的方法,其特征在于在空域上基于块的分割-匹配的错误隐蔽方法,具体步骤如下:
(1)定位出错的宏块的位置;
(2)判断“出错宏块的正上方相邻宏块和正下方相邻宏块”是否都可以用;如果不可用,找到最近的可以用于错误隐藏的宏块;
(3)出错宏块中区域和可用宏块中的区域的相似度计算;
(4)完成分割-匹配过程;
(5)计算第四步中分割-匹配过程所用的两个区域是否是相似区域;如果不是,转(3),如果是,转(6);
(6)完成错误隐藏;
(7)判断当前出错宏块的每个区域进行了错误隐藏;如果不是,转(3);如果是,退出。
5、根据权利要求4所述的方法,其特征在于所述的两个宏块的相似度以绝对误差均值来衡量,大小为bx×by的图像块BT和BB之间绝对误差的均值通过下式计算:
MAD = 1 bx × by Σ x = 0 bx Σ y = 0 by | B T ( x , y ) - B B ( x , y ) | .
6、根据权利要求1所述的方法,其特征在于所述在时域上前向一后向块匹配错误隐蔽时,采用基于运动矢量的实时镜头分割方法后向块匹配错误隐蔽。
7、根据权利要求6所述的方法,其特征在于当进行实时镜头分割时候,对P帧,检测没有运动矢量的宏块和有前向运动矢量的宏块的比率是否异常;对B帧,检测有后向运动矢量的宏块和有前向运动矢量的宏块的比率是否异常;对I帧,检测I帧DC图像的差值是否出现异常。
8、根据权利要求7所述的方法,其特征在于检测P帧、B帧、I帧的异常,采用滑动窗口算法,具体步骤如下:
(1)FrameNo=0,ShotCount=0;
(2)对窗口中的每一个元素,令wi=InitialEle,i∈[0,l),i=0,计算E(W);
(3)如果RX(FrameNo)>TH_X×E(W),转(4),否则转(5);
(4)Shot[ShotCount]=FrameNo,ShotCount=ShotCount+1,FrameNo=FrameNo+1,转(3),否则,转(5);
(5)W(imodl)=RX(FrameNo),重新计算E(W),i=i+1,FrameNo=FrameNo+1,如果FrameNo>Max_X_Frame,退出,否则转(3);
上述步骤中,FrameNo为帧序号,ShotCount为当前镜头计数器,l为窗口宽度,W为一个长度为l的滑动窗口,wi是窗口中的元素,InitialEle为窗口元素初始值,E(W)为窗口的期望;X表示P帧、B帧、I帧类型之一种,TH_X表示X帧所对应的阈值,Max_X_Frame为帧序号最大值。
9、根据权利要求8所述的方法,其特征在于对于P帧,X取为P,此时,InitialEle=1000,l∈[8,10],TH_P=4;对于B帧,X取为B,此时,InitialEle=1000,l∈[18,22],TH_B=6;对于I帧,X取为I, InitialEle = width × height × 8 256 , l=4,TH_I=3。
CNB2004100185080A 2004-05-20 2004-05-20 一种隐藏错误的视频译码方法 Expired - Fee Related CN1302668C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100185080A CN1302668C (zh) 2004-05-20 2004-05-20 一种隐藏错误的视频译码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100185080A CN1302668C (zh) 2004-05-20 2004-05-20 一种隐藏错误的视频译码方法

Publications (2)

Publication Number Publication Date
CN1581972A CN1581972A (zh) 2005-02-16
CN1302668C true CN1302668C (zh) 2007-02-28

Family

ID=34581824

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100185080A Expired - Fee Related CN1302668C (zh) 2004-05-20 2004-05-20 一种隐藏错误的视频译码方法

Country Status (1)

Country Link
CN (1) CN1302668C (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009081576A (ja) * 2007-09-25 2009-04-16 Toshiba Corp 動画像復号装置、および動画像復号方法
CN101990090B (zh) * 2009-08-06 2013-08-07 中兴通讯股份有限公司 一种视频码流的特征信息标记及检测方法、装置
CN102148985B (zh) * 2010-02-05 2013-06-12 宏碁股份有限公司 视讯译码装置
CN102378012A (zh) * 2011-11-26 2012-03-14 南京邮电大学 基于数据隐藏的h·264视频传输误码恢复方法
CN102611895A (zh) * 2012-03-15 2012-07-25 天津大学 基于多视点立体视频的时、空域错误掩盖方法
CN103369327B (zh) * 2012-03-27 2016-12-07 华为软件技术有限公司 一种错误遮蔽方法和通信设备
CN103530895B (zh) * 2012-07-06 2016-07-13 北京大学 一种检测马赛克的方法和设备
CN105791879B (zh) * 2016-03-04 2019-04-05 广东顺德中山大学卡内基梅隆大学国际联合研究院 视频码流错误隐藏中丢失块的运动矢量补偿方法与系统
US10477238B2 (en) * 2016-09-07 2019-11-12 Qualcomm Incorporated Sub-PU based bi-directional motion compensation in video coding
CN113630597B (zh) * 2021-08-19 2024-01-23 随锐科技集团股份有限公司 一种与编解码无关的视频抗丢包的方法和系统
CN114782866B (zh) * 2022-04-20 2024-03-08 山东省计算中心(国家超级计算济南中心) 地理标记视频的相似度确定方法、装置、电子设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6339450B1 (en) * 1999-09-21 2002-01-15 At&T Corp Error resilient transcoding for video over wireless channels
US6636565B1 (en) * 1999-01-12 2003-10-21 Lg Electronics Inc. Method for concealing error
WO2004008733A2 (en) * 2002-07-15 2004-01-22 Nokia Corporation Method for error concealment in video sequences

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6636565B1 (en) * 1999-01-12 2003-10-21 Lg Electronics Inc. Method for concealing error
US6339450B1 (en) * 1999-09-21 2002-01-15 At&T Corp Error resilient transcoding for video over wireless channels
WO2004008733A2 (en) * 2002-07-15 2004-01-22 Nokia Corporation Method for error concealment in video sequences

Also Published As

Publication number Publication date
CN1581972A (zh) 2005-02-16

Similar Documents

Publication Publication Date Title
US8331448B2 (en) Systems and methods for efficient spatial intra predictabilty determination (or assessment)
CN1147153C (zh) 对二进制形状信号的运动矢量进行编码的方法和装置
TWI442777B (zh) 空間性錯誤隱藏方法
US8693543B2 (en) Inter-frame prediction coding method, device and system
CN101873500B (zh) 帧间预测编码方法、帧间预测解码方法及设备
US7822280B2 (en) Epipolar geometry-based motion estimation for multi-view image and video coding
JP5547301B2 (ja) 各色平面について別個のビデオ・エンコーダ、ビデオ・デコーダ、ビデオ・エンコード方法およびビデオ・デコード方法
CN101304538B (zh) Avs视频解码的错误检测与掩盖方法
CN1302668C (zh) 一种隐藏错误的视频译码方法
CN1848956A (zh) 用于改良视频编码中的错误隐藏的错误隐藏方法和编码器
CN1226786A (zh) 用于立体视频编码的视图偏移估算
CN1633185A (zh) 视频信号编码/解码方法和装置及对应的无线电电信装置
CN1258925C (zh) 多视角视频编解码预测补偿方法及装置
CN1839556A (zh) 用于错误隐藏的直接模式推导过程
EP2283658A2 (en) Apparatus and method for computationally efficient intra prediction in a video coder
US9042439B2 (en) Reference frame ordering for multi-view coding
US20170094306A1 (en) Method of acquiring neighboring disparity vectors for multi-texture and multi-depth video
CN100581265C (zh) 一种多视点视频的处理方法
CN102572446B (zh) 一种多视点视频整帧丢失错误隐藏方法
EP2279624A2 (en) Apparatus and method for high quality intra mode prediction in a video coder
CN104602028A (zh) 一种立体视频b帧整帧丢失错误隐藏方法
CN1922889A (zh) 使用加权预测的误差隐蔽技术
CN1269359C (zh) 基于运动向量外推及运动向量搜索的视频差错掩盖方法
US8644388B2 (en) Method and device for approximating a DC coefficient of a block of pixels of a frame
CN102098516B (zh) 多视点视频解码端去块滤波方法

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20070228

Termination date: 20100520