CN104363461A - 视频帧的错误隐藏方法及应用其的视频解码方法 - Google Patents
视频帧的错误隐藏方法及应用其的视频解码方法 Download PDFInfo
- Publication number
- CN104363461A CN104363461A CN201410613005.1A CN201410613005A CN104363461A CN 104363461 A CN104363461 A CN 104363461A CN 201410613005 A CN201410613005 A CN 201410613005A CN 104363461 A CN104363461 A CN 104363461A
- Authority
- CN
- China
- Prior art keywords
- pixel
- frame
- motion vector
- video
- lost
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 239000013598 vector Substances 0.000 claims abstract description 113
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 239000011159 matrix material Substances 0.000 claims description 25
- 238000011084 recovery Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 6
- 238000013178 mathematical model Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000012856 packing Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013213 extrapolation Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 101100391181 Dictyostelium discoideum forH gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种视频帧的错误隐藏方法及视频解码方法,错误隐藏方法包括:解码丢失帧的前一帧和后一帧,得到前向运动矢量和后向运动矢量,前向运动矢量是指前一帧的对应像素的运动矢量,后向运动矢量是指后一帧的对应像素的运动矢量;判定前向运动矢量和后向运动矢量对于丢失帧的各个像素是否有效;根据判定为有效的前向运动矢量和/或后向运动矢量对丢失帧的各个像素进行运动补偿,获得丢失帧的各个像素值;对于所获得的丢失帧的各像素的运动矢量来判断是否需要对各像素进行优化,并对需要进行优化的像素,利用像素的空间相关性进行优化。本发明可以确保丢失帧不会错误的使用相邻帧的运动矢量信息,并尽可能准确地恢复像素值。
Description
技术领域
本发明涉及多媒体通信技术领域,尤其涉及一种视频帧错误隐藏方法及应用其的视频解码方法。
背景技术
近年来,随着多媒体通信的发展,基于多媒体通信的各种应用也得到迅猛发展,例如数字电视广播、远程监控、数字视频点播(VoD)、无线多媒体通信等。随着网络的发展,视频业务占据了主流,同时人们对于视频分辨率的要求逐步提高,高清视频已经越来越受到人们的欢迎,然而视频业务的数据量巨大,给网络也带来了巨大的压力。因此,视频编码与传输技术的发展与需求也不断提高。如何对越来越大的视频数据进行编码压缩,以及传输过程中遇到丢包后如何恢复丢失的数据等均面临着巨大挑战。
视频编码技术主要是利用视频源的时间相关性和空间相关性对视频进行压缩编码,然而这直接导致了视频部分数据丢失后的错误传播。随着无线网络技术的发展,视频业务在无线网络环境中的传输已经越来越流行,然而众所周知视频业务数据量非常大,无线网络状态不稳定,相对于有线网络而言丢包率较大。对于网络拥塞带来的数据丢包,从而引起的错误传播会对视频质量带来严重的影响。所以,对于视频传输过程中丢包后,在解码端如何进行错误隐藏成为了必不可少的技术。
图1为现有技术视频编解码过程的示意图。如图1所示,视频编码过程主要分为预测、变换、量化和熵编码四个部分。其中,预测部分主要利用空间和时间相关性(帧内预测和帧间预测)去除视频内容的冗余获取当前编码块的预测值,获取预测值的过程中主要对视频帧进行分块处理,每个块有不同的预测模式,通过率失真优化获取最优的预测模式,为每个视频块得到最优的预测值,对于原始值和预测值之间的残差进行变换量化,然后再对量化后的残差进行熵编码。在解码过程中,直接从码流中解码得到相应的模式信息、运动信息以及残差信息;通过模式信息和运动信息为每个块得到相应的预测值,再将预测值与解码得到的残差值相加得到最终的重建视频内容。
在实际传输过程中,对最终形成的码流进行打包处理,再传输。对于打包方法,目前有整帧作为一个整体打包;有对整个视频帧分割成固定的片,然后每个片打一个包;还有按照数据大小,每个数据包固定大小后对码流打包。
图2为现有技术视频编码中片打包方式下的错误传播的示意图。如图2所示,对于各种打包方法而言,如果某个数据包丢失,尽管后续的数据包正确接收,然而由于后续视频内容的解码需要用到前面已经解码的重建值作为预测,因此前面数据包的丢失,会对后面正确接收到的视频块有错误传播。因此,在解码端需要尽量准确的恢复丢包的数据,从而保证视频播放质量。以下给出两种现有技术视频编码中错误隐藏的方法。
(一)帧拷贝方法
在H.264/AVC的标准制定过程中,就已经对错误隐藏技术有所研究,其中比较直接的一种错误隐藏方法就是帧拷贝方法,该方法直接利用时间相关性,将时间相邻帧的对应位置作为当前丢失包对应的视频内容作为当前恢复内容。另一种错误隐藏方法直接拷贝时间相邻重建帧的运动信息,然后假设编码残差全0,直接根据运动信息获取预测值,将预测值直接作为恢复的重建帧。
然而,该方法比较适用于运动比较缓慢的序列,但是对于运动剧烈的序列,如果仍然只是复制相邻时刻对应帧内容或者直接复制运动信息,都会导致后续帧解码的严重错误传播。
(二)双向运动信息错误隐藏方法
考虑到上述基于帧拷贝方法的错误隐藏方法的缺点,已经有很多相关的错误隐藏方法提出,其中利用双向运动信息推导恢复当前丢失帧的运动信息是主要的核心思想。由于在H.264/AVC的编码过程中,对于运动信息的编码并不使用时间相关性,因此当前帧的信息丢失,并不会影响后续帧码流的正确解码,因此后续帧虽然无法正确重建出整帧内容,但是其运动信息是可以正确解码获得的。因此,相关研究工作基于此提出双向运动信息估计的思想。
参考文献1提出分别使用前向和后向帧的运动信息外推,假设相邻帧的视频内容都是匀速直线运动,因此可以根据前一重建帧的各个像素的运动信息反推到当前丢失帧的对应像素,同样,也可以利用后向运动信息反推得到各个像素与当前丢失帧的对应像素。因此,可以得到当前丢失帧的像素与前向相邻重建帧的对应像素,从而利用该像素作为当前丢失帧的恢复值。
需要注意的是,并不是所有当前丢失帧的各个像素都能找到与前一重建帧对应的像素,因此会有空洞现象,对于空洞现象则直接复制对应位置的像素或者采用别的简单的方法进行恢复。参考文件2和参考文献3也提出了与此类似的思想进行错误隐藏。
然而,上述基于该使用前向和后向帧的运动信息外推的错误隐藏方法虽然充分利用了后向的运动信息,但是仍然可能会出现空洞现象,对于空洞现象问题的解决仍然是很简单的,但是这部分内容有可能影响主观质量或者对视频内容错误传播造成比较严重的影响。此外,上述方法可能会导致有些内容被错误的分配运动信息,尤其是前向运动信息和后向运动信息外推得到的差别很大时,即:并不满足前向和后向都是匀速直线运动时,有可能会导致比较严重的错误恢复。尤其是对于新进入场景的内容,或者是从场景中消失的内容,这些内容其实只和一个方向的相邻帧有着很强的相关性,若强制使用双向信息,反而会使得恢复内容误差较大。
参考文献:
1、Y Chen,K.Yu,J.Li,S.Li,“An Error Concealment Algorithm forEntire Frame Loss in Video Transmission”,Proceeding of IEEE PCS,2004.
2、B.Yan,H.Gharavi,“A Hybrid Frame Concealment Algorithm forH.264/AVC”,IEEE Transactions on Image Processing,19(1),98-107,2010.
3、Z.Y Wu,J.M.Boyce,“An Error Concealment Scheme for Entire FrameLosses Based on H.264/AVC”,Proceeding of IEEE ISCAS,4463-4466,2006.
发明内容
(一)要解决的技术问题
本发明旨在提出一种视频帧的错误隐藏方法及应用其的视频解码方法,以对丢失的视频帧的数据进行恢复。
(二)技术方案
为解决上述技术问题,本发明提出一种视频帧的错误隐藏方法,用于在视频解码过程中对丢失帧进行像素恢复,该方法包括如下步骤:
S1、解码丢失帧的前一帧和后一帧,得到前向运动矢量和后向运动矢量,所述前向运动矢量是指前一帧的对应像素的运动矢量,所述后向运动矢量是指后一帧的对应像素的运动矢量;
S2、判定所述前向运动矢量和后向运动矢量对于所述丢失帧的各个像素是否有效;
S3、根据判定为有效的前向运动矢量和/或后向运动矢量对所述丢失帧的各个像素进行运动补偿,获得所述丢失帧的各个像素值;
S4、对于步骤S3所获得的丢失帧的各像素的运动矢量来判断是否需要对各像素进行优化,并对需要进行优化的像素,利用像素的空间相关性进行优化。
根据本发明的一种优选的实施方式,所述步骤S2包括:获得与所述丢失帧的各图像块对应的前一帧和/或后一帧的图像块在解码时从码流中获得的编码预测模式:若预测模式为帧内预测模式,则判定该图像块内的像素的运动矢量对于丢失帧的对应像素无效。
根据本发明的一种优选的实施方式,所述步骤S2还包括:计算各像素所述前向运动矢量和后向运动矢量归一化之后的差值,若该差值超过一个预定范围,则判定该像素的前向运动矢量或后向运动矢量中的一个对于该像素无效。
根据本发明的一种优选的实施方式,所述步骤S2还包括:获得所述丢失帧的各图像块的前向残差和后向残差,并将与两个残差中较大的残差对应的运动矢量判定为对所述丢失帧的对应图像块的各像素无效,所述前向残差是指前一帧的图像块的残差,所述后向残差是指后一帧的图像块的残差。
根据本发明的一种优选的实施方式,所述步骤S3为:根据如下公式对所述丢失帧的各个像素进行运动补偿,获得所述丢失帧的各个像素值:
p(x,y)=w(x,y)×pf(x,y)+(1-w(x,y))×pb(x,y),其中,x、y分别表示像素的水平和垂直坐标,p(x,y)为补偿得到的丢失帧的像素值,pf(x,y)为前向运动补偿值,pb(x,y)为后向运动补偿值,w(x,y)是权重因子,其取值如下:
根据本发明的一种优选的实施方式,
所述前向运补偿值的计算公式如下:
pf(x,y)=pr(x+fx,y+fy),其中,pr(x,y)表示前一帧在坐标为(x、y)处的像素值,fx为坐标为(x、y)处的前向运动矢量的水平量,fy为坐标为(x、y)处的前向运动矢量的垂直量;
所述后向运补偿值的计算公式如下:
pb(x,y)=pr(x+bx,y+by),其中,pr(x,y)表示前一帧在坐标为(x、y)处的像素值,bx为坐标为(x、y)处的后向运动矢量的水平量,by为坐标为(x、y)处的后向运动矢量的垂直量。
根据本发明的一种优选的实施方式,步骤S4中判断对于丢失帧的各像素是否需要进行优化的步骤为:计算一个像素与其相邻的像素的运动矢量的差值,若该像素与至少一个相邻像素的运动矢量的差值超过一个预定范围,则判断为需要对该像素的像素值进行优化。
根据本发明的一种优选的实施方式,步骤S4中对于丢失帧的各像素是否需要进行优化的步骤为:对于需要优化的像素,通过最小化该像素与其相邻像素之间的梯度值来对该像素的像素值进行优化。
根据本发明的一种优选的实施方式,步骤S4中对于丢失帧的各像素是否需要进行优化的步骤通过最小化所要恢复的视频帧的像素值矩阵中的二维TV(Total Variation)范数来进行。
根据本发明的一种优选的实施方式,所述最小化所要恢复的视频帧的像素值矩阵中的二维TV(Total Variation)范数的数学模型如下:
当满足PΩ(M-Y)=0时,求的M值,
其中,M表示需要恢复出的视频帧的完整像素值矩阵,||M||2-DTV表示矩阵M的二维TV范数,Y表示未优化的视频帧的不完整像素值矩阵,Ω表示矩阵Y中无需优化元素的集合,即Y中非0元素的集合,PΩ(M-Y)=0表示:如果(i,j)∈Ω,则PΩ(M-Y)的第(i,j)个元素为0,否则PΩ(M-Y)的第(i,j)个元素就是(M-Y)的第(i,j)个元素。
根据本发明的一种优选的实施方式,若步骤S1不能解码得到丢失帧的某些图像块的所述后向运动矢量,则将所述图像块的各像素直接判定为需要优化的像素。
本发明还提出一种视频解码方法,包括所述的视频帧的错误隐藏方法。
(三)有益效果
本发明通过为视频的图像块进行分类,来确定前向与后向运动矢量信息是否可用,从而可以确保当前丢失帧不会错误的使用相邻帧的运动矢量信息。
本发明在进行运动补偿后利用空间相关性恢复不准确的像素,从而确保了充分利用时间和空间信息,从而能够尽可能准确的对当前丢失帧内容进行恢复。
附图说明
图1为现有技术的视频编码过程的示意图;
图2为现有技术的视频编码过程中片打包方式下的错误传播的示意图;
图3为本发明的视频帧的错误隐藏方法的流程图。
具体实施方式
本发明的视频帧的错误隐藏方法主要涉及视频数据包在丢包后,在解码端充分利用视频数据本身较强的时间和空间相关性,尽可能好的恢复出丢失的视频帧的数据,以尽可能降低视频丢包后导致的视频错误传播,保证视频播放质量。
需要说明的是,本发明涉及的视频数据包主要是以整帧视频数据为一个包进行打包,或者按照内容大小打包,但一个视频数据包至少包括一个视频帧的情况。
本发明不限于视频帧的大小,其可由于分辨率的不同而改变。并且,每一个视频帧由多个图像块组成。各个图像块是按照在行和列上对视频帧分割而成,例如,一个图像块由16×16的像素组成。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明作进一步的详细说明。
本发明提出的视频帧的错误隐藏方法用于在视频解码过程中对丢失的视频帧(下面简称丢失帧)进行像素恢复。图3示出了该错误隐藏方法的流程图。现在参照图3对本发明的方法的各步骤进行详细说明。
S1、解码丢失帧的前一帧和后一帧,得到前向运动矢量和后向运动矢量。
本发明中,前向运动矢量是指丢失帧的前一帧的对应像素的运动矢量,所述后向运动矢量是指丢失帧的后一帧的对应像素的运动矢量。
当视频经过编码器编码后流经过网络传输至解码端,然后由解码端解码视频码流,并检测是否丢包。例如通过对RTP包检测发现丢包,则进行本发明的错误隐藏,否则直接进行解码并播放视频。
通常来说,在视频解码端是按照帧的顺序逐个解码视频帧,因此,当遇到一个丢失的帧时,往往该丢失帧的前一帧已经解码。此时,为了进行本发明的错误隐藏方法,还需对后一帧进行解码。当然,若不存在前一帧或后一帧,则无需对前一帧或后一帧进行解码,而直接进入下一步骤。
S2、判定所述前向运动矢量和后向运动矢量对于所述丢失帧的各个像素是否有效。
本发明将视频块分为三类:新场景、匀速直线运动、非匀速直线运动。其分类准则为:
a)若当前图像块在前一帧中的对应图像块是帧内预测模式,则说明丢失帧的图像块内容是新场景,因此该图像块的前向运动矢量不能被利用,即应判定为无效的。后一帧的情况类似。也就是说,该步骤S2可以获得与所述丢失帧的各图像块对应的前一帧和/或后一帧的图像块在解码时从码流中获得的编码的预测模式:若预测模式为帧内预测模式,则判定该图像块内的像素的运动矢量对于丢失帧的对应像素无效。
b)若当前图像块不是新场景时,本发明将其区分为匀速直线运动、非匀速直线运动。根据本发明的具体实施方式,若前向和后向的运动矢量归一化之后的差值超过一定范围,则说明当前块不满足匀速直线运动的假设,因此将当前块标记为非匀速直线运动图像块。对于非匀速直线运动块,本发明只将前向和后向运动矢量中的一个作为有效的运动矢量。优选地,本发明还判断当前丢失图像块的运动应该与前向更接近还是后向,并将更接近的作为有效的运动矢量。
也即,计算各像素归一化之后的前向运动矢量和后向运动矢量的差值,若该差值超过一个预定范围,则判定该像素的前向运动矢量或后向运动矢量中的一个对于该像素无效。
具体的运动矢量的归一化方法为:
其中,分别是归一化之后的水平和垂直运动矢量,MVx和MVy分别是归一化之前的水平和垂直运动矢量,ref是参考帧标号。
优选地,本发明通过获得所述丢失帧的各图像块的前向残差和后向残差,并将与两个残差中较大的残差对应的运动矢量判定为对所述丢失帧的对应图像块的各像素无效。
本发明中的前向残差是指前一帧的图像块的残差,后向残差是指后一帧的图像块的残差。
S3、根据判定为有效的前向运动矢量和/或后向运动矢量对所述丢失帧的各个像素进行运动补偿,获得所述丢失帧的各个像素值。
本发明根据如下公式对所述丢失帧的各个像素进行运动补偿,获得所述丢失帧的各个像素值:
p(x,y)=w(x,y)×pf(x,y)+(1-w(x,y))×pb(x,y),其中,x、y分别表示像素的水平和垂直坐标,p(x,y)为补偿得到的丢失帧的像素值,pf(x,y)为前向运动补偿值,pb(x,y)为后向运动补偿值,w(x,y)是权重因子,其取值如下:
所述前向运补偿值的计算公式如下:
pf(x,y)=pr(x+fx,y+fy),其中,pr(x,y)表示前一帧在坐标为(x、y)处的像素值,fx为坐标为(x、y)处的前向运动矢量的水平量,fy为坐标为(x、y)处的前向运动矢量的垂直量;
所述后向运补偿值的计算公式如下:
pb(x,y)=pr(x+bx,y+by),其中,pr(x,y)表示前一帧在坐标为(x、y)处的像素值,bx为坐标为(x、y)处的后向运动矢量的水平量,by为坐标为(x、y)处的后向运动矢量的垂直量。
S4、对于步骤S3所获得的丢失帧的各像素的运动矢量来判断是否需要对各像素进行优化,并对需要进行优化的像素,利用像素的空间相关性进行优化。
判断对于丢失帧的各像素是否需要进行优化可以通过计算像素与其相邻的像素的运动矢量的差值来判断。若该像素与至少一个相邻像素的运动矢量的差值大于超过一个预定范围,则判断为需要对该像素的像素值进行优化。
优化的步骤可以采用现有的空间相关优化方法,例如,对于需要优化的像素,通过最小化该像素与其相邻像素之间的梯度值来对该像素的像素值进行优化。
具体的,可以将现在利用运动补偿恢复的整帧图像的像素值看成一个矩阵M,将需要进行优化的像素都设置为0,将这个新的矩阵设为Y,因此这个矩阵Y是个不完整的矩阵,有部分内容需要重新利用空间相关性填补。利用最优化理论的方法,在保证运动补偿得到不需要优化的像素不变的前提下,通过最小化像素值矩阵M中的二维TV(Total Variation)范数,恢复需要优化的像素。
该方法的数学模型如下:
当满足PΩ(M-Y)=0时求的M值。
其中,M表示需要恢复出的视频帧的完整像素值矩阵,||M||2-DTV表示矩阵M的二维TV范数,Y表示未优化的视频帧的不完整像素值矩阵,Ω表示在矩阵Y中无需优化的元素的集合,即:Y中非0元素的集合,PΩ(M-Y)=0表示:如果(i,j)∈Ω,则PΩ(M-Y)的第(i,j)个元素为0,否则PΩ(M-Y)的第(i,j)个元素就是(M-Y)的第(i,j)个元素,即:必须保证对于无需优化的像素值,M矩阵和Y矩阵在其对应位置处的元素值相等;对于需要优化的像素值,M矩阵和Y矩阵在其对应位置处的元素值没有特别要求。也即:保证运动补偿得到不需要优化的像素不变。
具体的解决该数学问题的方法利用现有的最优化方法进行,本发明不限于具体的优化方法。
一般来说,步骤S1通过解码可以直接得到丢失帧的各图像块的前向运动矢量和后向运动矢量的信息,图像块内部的各像素的前向运动矢量和后向运动矢量相同。例如,对于H.264/AVC视频编解码标准来说,可以直接得到前向运动矢量和后向运动矢量。
然而对于某些视频编解码标准,当出现视频帧丢失时,可能不能获得某些图像块的后向运动矢量。因为在这种特殊情况中,后向运动矢量是依赖于所丢失的视频帧中图像块的。但是,本发明的错误隐藏方法对于这种情况仍然适用,因为直接忽略获得该图像块的后向运动矢量的步骤即可。
例如,对于HEVC视频编解码标准,其与H.264/AVC不同的是,HEVC在进行运动矢量预测时多用了时间相关性,即有些图像块可能选择使用前一帧对应图像块的运动矢量作为预测值。这样,码流中编码的是运动矢量与预测运动矢量的差值。因此,对于使用时间相应块的运动矢量作为预测的图像块,由于相应的前一帧的图像块丢失,因此,后一帧的运动矢量是无法正确解码的。此时,我们可以在该步骤S4中将丢失帧的这类图像块直接标记为不准确像素直接进行恢复即可。
实施例
下面介绍采用本发明的技术方案在H.264/AVC的参考软件代码JM18.5中实现并进行的对比实施。
其具体测试条件为:测试序列都是标准测试序列:foreman(帧率30Hz,300帧),bus(15Hz,75帧),mobile(30Hz,300帧),basketballdrive(50Hz,500帧),以及soccer(30Hz,300帧),所有序列大小都是176x144。帧内预测帧的周期设置为30,参考帧数目为5,量化参数QP设置为28。以各种方法最终恢复的整个序列中所有丢失帧的峰值信噪比(PSNR,单位dB)为对比,具体实验结果如下:
首先测试每隔5帧丢失1帧的情况,所提技术方案与帧拷贝以及运动矢量拷贝两种现有技术方案进行对比。具体实验结果如表一所示。从实验结果可见,所提技术方案与现有标准代码中所包含的技术(帧拷贝和运动矢量拷贝)相比,比帧拷贝方案平均提升了4.662dB,与运动矢量拷贝方案相比提升了1.336dB。
其次测试每个20帧丢失1帧的情况,所提技术方案与帧拷贝以及运动矢量拷贝两种现有技术方案进行对比。具体实验结果如表二所示。从实验结果可见,所提技术方案与现有标准代码中所包含的技术(帧拷贝和运动矢量拷贝)相比,比帧拷贝方案平均提升了4.334dB,与运动矢量拷贝方案相比提升了1.466dB。
最后与参考文献2中所提双向运动补偿方案进行对比,所有测试条件与参考文献2中设置的测试条件完全相同,具体测试条件为:两个测试序列:foreman和mobile,参考帧数目为1,QP为22,序列大小为176x144,帧内预测帧周期为15,每隔15帧丢失1帧。具体实验结果如表三所示。
从实验结果可见,所提技术方案与现有双向运动补偿方案(参考文献2)相比,提升大约0.8dB。
表一.每隔5帧丢失1帧的对比实验结果(单位:dB)
表二.每隔20帧丢失1帧的对比实验结果(单位:dB)
表三.所提技术方案与参考文献2的对比实验结果(单位:dB)
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种视频帧的错误隐藏方法,用于在视频解码过程中对丢失帧进行像素恢复,其特征在于,该方法包括如下步骤:
S1、解码丢失帧的前一帧和后一帧,得到前向运动矢量和后向运动矢量,所述前向运动矢量是指前一帧的对应像素的运动矢量,所述后向运动矢量是指后一帧的对应像素的运动矢量;
S2、判定所述前向运动矢量和后向运动矢量对于所述丢失帧的各个像素是否有效;
S3、根据判定为有效的前向运动矢量和/或后向运动矢量对所述丢失帧的各个像素进行运动补偿,获得所述丢失帧的各个像素值;
S4、对于步骤S3所获得的丢失帧的各像素的运动矢量来判断是否需要对各像素进行优化,并对需要进行优化的像素,利用像素的空间相关性进行优化。
2.如权利要求1所述的视频帧的错误隐藏方法,其特征在于,所述步骤S2包括:获得与所述丢失帧的各图像块对应的前一帧和/或后一帧的图像块在解码时从码流中获得的编码预测模式:若预测模式为帧内预测模式,则判定该图像块内的像素的运动矢量对于丢失帧的对应像素无效。
3.如权利要求2所述的视频帧的错误隐藏方法,其特征在于,所述步骤S2还包括:计算各像素所述前向运动矢量和后向运动矢量归一化之后的差值,若该差值超过一个预定范围,则判定该像素的前向运动矢量或后向运动矢量中的一个对于该像素无效。
4.如权利要求3所述的视频帧的错误隐藏方法,其特征在于,所述步骤S2还包括:获得所述丢失帧的各图像块的前向残差和后向残差,并将与两个残差中较大的残差对应的运动矢量判定为对所述丢失帧的对应图像块的各像素无效,所述前向残差是指前一帧的图像块的残差,所述后向残差是指后一帧的图像块的残差。
5.如权利要求1所述的视频帧的错误隐藏方法,其特征在于,所述步骤S3为:根据如下公式对所述丢失帧的各个像素进行运动补偿,获得所述丢失帧的各个像素值:
p(x,y)=w(x,y)×pf(x,y)+(1-w(x,y))×pb(x,y),其中,x、y分别表示像素的水平和垂直坐标,p(x,y)为补偿得到的丢失帧的像素值,pf(x,y)为前向运动补偿值,pb(x,y)为后向运动补偿值,w(x,y)是权重因子,其取值如下:
6.如权利要求5所述的视频帧的错误隐藏方法,其特征在于,
所述前向运补偿值的计算公式如下:
pf(x,y)=pr(x+fx,y+fy),其中,pr(x,y)表示前一帧在坐标为(x、y)处的像素值,fx为坐标为(x、y)处的前向运动矢量的水平量,fy为坐标为(x、y)处的前向运动矢量的垂直量;
所述后向运补偿值的计算公式如下:
pb(x,y)=pr(x+bx,y+by),其中,pr(x,y)表示前一帧在坐标为(x、y)处的像素值,bx为坐标为(x、y)处的后向运动矢量的水平量,by为坐标为(x、y)处的后向运动矢量的垂直量。
7.如权利要求1所述的视频帧的错误隐藏方法,其特征在于,步骤S4中判断对于丢失帧的各像素是否需要进行优化的步骤为:
计算一个像素与其相邻的像素的运动矢量的差值,若该像素与至少一个相邻像素的运动矢量的差值大于超过一个预定范围,则判断为需要对该像素的像素值进行优化。
8.如权利要求1所述的视频帧的错误隐藏方法,其特征在于,步骤S4中对于丢失帧的各像素是否需要进行优化的步骤为:对于需要优化的像素,通过最小化该像素与其相邻像素之间的梯度值来对该像素的像素值进行优化。
9.如权利要求8所述的视频帧的错误隐藏方法,其特征在于,步骤S4中对于丢失帧的各像素是否需要进行优化的步骤通过最小化所要恢复的视频帧的像素值矩阵中的二维TV(Total Variation)范数来进行。
10.如权利要求8所述的视频帧的错误隐藏方法,其特征在于,所述最小化所要恢复的视频帧的像素值矩阵中的二维TV(Total Variation)范数的数学模型如下:
当满足PΩ(M-Y)=0时,求的M值,
其中,M表示需要恢复出的视频帧的完整像素值矩阵,‖M‖2-DTV表示矩阵M的二维TV范数,Y表示未优化的视频帧的不完整像素值矩阵,Ω表示矩阵Y中无需优化元素的集合,即Y中非0元素的集合,PΩ(M-Y)=0表示:如果(i,j)∈Ω,则PΩ(M-Y)的第(i,j)个元素为0,否则PΩ(M-Y)的第(i,j)个元素就是(M-Y)的第(i,j)个元素。
11.如权利要求1所述的视频帧的错误隐藏方法,其特征在于,若步骤S1不能解码得到丢失帧的某些图像块的所述后向运动矢量,则将所述图像块的各像素直接判定为需要优化的像素。
12.一种视频解码方法,包括权利要求1~11中任一项所述的视频帧的错误隐藏方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410613005.1A CN104363461B (zh) | 2014-11-04 | 2014-11-04 | 视频帧的错误隐藏方法及应用其的视频解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410613005.1A CN104363461B (zh) | 2014-11-04 | 2014-11-04 | 视频帧的错误隐藏方法及应用其的视频解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104363461A true CN104363461A (zh) | 2015-02-18 |
CN104363461B CN104363461B (zh) | 2017-12-22 |
Family
ID=52530680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410613005.1A Active CN104363461B (zh) | 2014-11-04 | 2014-11-04 | 视频帧的错误隐藏方法及应用其的视频解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104363461B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430237A (zh) * | 2015-11-26 | 2016-03-23 | Tcl移动通信科技(宁波)有限公司 | 一种帧缺失图像的处理方法及系统 |
CN105898343A (zh) * | 2016-04-07 | 2016-08-24 | 广州盈可视电子科技有限公司 | 一种视频直播、终端的视频直播方法和装置 |
CN109120943A (zh) * | 2018-10-10 | 2019-01-01 | 鲍金龙 | 视频数据恢复方法及装置 |
CN111681199A (zh) * | 2019-02-25 | 2020-09-18 | 北京地平线机器人技术研发有限公司 | 检测图像有效性的方法及装置 |
CN118524223A (zh) * | 2024-05-30 | 2024-08-20 | 中国传媒大学 | 基于小波变换的浅压缩视频错误隐藏方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020055092A1 (en) * | 1995-10-04 | 2002-05-09 | Hochman Daryl W. | Methods and systems for assessing biological materials using optical and spectroscopic detection techniques |
US20020118761A1 (en) * | 2000-06-28 | 2002-08-29 | Samsung Electronics Co., Ltd. | Decoder having digital image stabilization function and digital image stabilization method |
CN1525762A (zh) * | 2003-09-12 | 2004-09-01 | 中国科学院计算技术研究所 | 一种用于视频编码的编码端/解码端双向预测方法 |
US20050286790A1 (en) * | 2004-06-25 | 2005-12-29 | Gilgen Robert L | Video compression noise immunity |
US20060039471A1 (en) * | 2004-08-18 | 2006-02-23 | Gokce Dane | Encoder-assisted adaptive video frame interpolation |
US20060104365A1 (en) * | 2004-11-17 | 2006-05-18 | Microsoft Corporation | Bi-directional temporal error concealment |
CN101299799A (zh) * | 2008-06-13 | 2008-11-05 | 北京中星微电子有限公司 | 图像检测、修复方法和图像检测、修复装置 |
CN101308206A (zh) * | 2008-07-11 | 2008-11-19 | 北京航空航天大学 | 一种白噪声背景下的圆周轨迹机动目标跟踪方法 |
-
2014
- 2014-11-04 CN CN201410613005.1A patent/CN104363461B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020055092A1 (en) * | 1995-10-04 | 2002-05-09 | Hochman Daryl W. | Methods and systems for assessing biological materials using optical and spectroscopic detection techniques |
US20020118761A1 (en) * | 2000-06-28 | 2002-08-29 | Samsung Electronics Co., Ltd. | Decoder having digital image stabilization function and digital image stabilization method |
CN1525762A (zh) * | 2003-09-12 | 2004-09-01 | 中国科学院计算技术研究所 | 一种用于视频编码的编码端/解码端双向预测方法 |
US20050286790A1 (en) * | 2004-06-25 | 2005-12-29 | Gilgen Robert L | Video compression noise immunity |
US20060039471A1 (en) * | 2004-08-18 | 2006-02-23 | Gokce Dane | Encoder-assisted adaptive video frame interpolation |
US20060104365A1 (en) * | 2004-11-17 | 2006-05-18 | Microsoft Corporation | Bi-directional temporal error concealment |
CN101299799A (zh) * | 2008-06-13 | 2008-11-05 | 北京中星微电子有限公司 | 图像检测、修复方法和图像检测、修复装置 |
CN101308206A (zh) * | 2008-07-11 | 2008-11-19 | 北京航空航天大学 | 一种白噪声背景下的圆周轨迹机动目标跟踪方法 |
Non-Patent Citations (3)
Title |
---|
BO YAN, HAMID GHARAVI: "A hybrid Frame Concealment Algorithm for H.264/AVC", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 * |
YONG ZHANG, ET AL: "Error concealment for video transmission with dual multiscale Markov random field modeling", 《IEEE TRANSACTIONS ON IMAGE PROCESSING》 * |
ZHEFEI YU, ET AL: "Multi-level Video Frame Interpolation: Exploiting the Interaction Among Different Levels", 《IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430237A (zh) * | 2015-11-26 | 2016-03-23 | Tcl移动通信科技(宁波)有限公司 | 一种帧缺失图像的处理方法及系统 |
CN105430237B (zh) * | 2015-11-26 | 2019-01-29 | Tcl移动通信科技(宁波)有限公司 | 一种帧缺失图像的处理方法及系统 |
CN105898343A (zh) * | 2016-04-07 | 2016-08-24 | 广州盈可视电子科技有限公司 | 一种视频直播、终端的视频直播方法和装置 |
CN105898343B (zh) * | 2016-04-07 | 2019-03-12 | 广州盈可视电子科技有限公司 | 一种视频直播、终端的视频直播方法和装置 |
CN109120943A (zh) * | 2018-10-10 | 2019-01-01 | 鲍金龙 | 视频数据恢复方法及装置 |
CN111681199A (zh) * | 2019-02-25 | 2020-09-18 | 北京地平线机器人技术研发有限公司 | 检测图像有效性的方法及装置 |
CN111681199B (zh) * | 2019-02-25 | 2023-11-03 | 北京地平线机器人技术研发有限公司 | 检测图像有效性的方法及装置 |
CN118524223A (zh) * | 2024-05-30 | 2024-08-20 | 中国传媒大学 | 基于小波变换的浅压缩视频错误隐藏方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104363461B (zh) | 2017-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102724498B (zh) | 基于内容信息的可缩放性技术的编码方法和设备 | |
JP5007322B2 (ja) | ビデオ符号化方法 | |
US9414086B2 (en) | Partial frame utilization in video codecs | |
CN104363461B (zh) | 视频帧的错误隐藏方法及应用其的视频解码方法 | |
KR101356207B1 (ko) | 데이터 인코딩/디코딩 방법 및 장치 | |
CN110933430B (zh) | 二次编码优化方法 | |
EP3720131A1 (en) | Interframe prediction method and device for video data | |
CN1938728A (zh) | 使用包括多个宏块的预测和非预测画面对画面序列编码的方法和装置 | |
CN102026001B (zh) | 基于运动信息的视频帧重要性评估方法 | |
US9547915B2 (en) | Inter-image prediction method and device and corresponding coding method and apparatus | |
CN101194516B (zh) | 视频编码 | |
Carreira et al. | Dynamic motion vector refreshing for enhanced error resilience in HEVC | |
CN104219530A (zh) | 基于预测模式拷贝的hevc多描述编码 | |
CN116647704B (zh) | Hevc数据选项的视频编解码联合差错控制方法 | |
CN100493194C (zh) | 用于视频感兴趣区域编解码的泄漏运动补偿方法 | |
Carreira et al. | Selective motion vector redundancies for improved error resilience in HEVC | |
KR101220097B1 (ko) | 분산비디오 코덱 장치 및 이를 이용한 전경 영역 분할 보조정보 생성 방법 | |
US11778224B1 (en) | Video pre-processing using encoder-aware motion compensated residual reduction | |
Suh et al. | Recovery of motion vectors for error concealment | |
KR20060043050A (ko) | 영상 신호의 인코딩 및 디코딩 방법 | |
CN111212288B (zh) | 视频数据的编解码方法、装置、计算机设备和存储介质 | |
CN101188768A (zh) | 基于rgb编解码器发送和接收运动图像的方法和设备 | |
Dissanayake et al. | Error resilience for multi-view video using redundant macroblock coding | |
Liu et al. | Scalable video transmission: Packet loss induced distortion modeling and estimation | |
KR20180057788A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |