CN102547282A - 可伸缩视频编码错误隐藏方法、解码器和系统 - Google Patents
可伸缩视频编码错误隐藏方法、解码器和系统 Download PDFInfo
- Publication number
- CN102547282A CN102547282A CN2011104520463A CN201110452046A CN102547282A CN 102547282 A CN102547282 A CN 102547282A CN 2011104520463 A CN2011104520463 A CN 2011104520463A CN 201110452046 A CN201110452046 A CN 201110452046A CN 102547282 A CN102547282 A CN 102547282A
- Authority
- CN
- China
- Prior art keywords
- frame
- pixel
- enhancement layer
- sampling
- basic frame
- 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
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种可伸缩视频编码错误隐藏方法、解码器和系统。一种可伸缩视频编码错误隐藏方法,在丢失的增强层帧对应的基本层帧为帧间编码帧,且丢帧次数未超过预设次数情况下,在帧间编码帧中的解码宏块为帧间编码块或帧内编码块时进行不同处理,得到重建的增强层帧的错误隐藏值;在丢失的增强层帧对应的基本层帧为帧间编码帧,且丢帧次数超过预设次数情况下或者丢失的增强层帧对应的基本层帧为帧内编码帧,采用重编码方法,得到重编基本层帧,在重编基本层帧中的解码宏块为帧间编码块或帧内编码块时进行不同处理,得到重建的增强层帧的错误隐藏值。与现有技术相比,提高了重建的增强层帧的质量,从而提高视频清晰度,避免视频出现拉丝现象。
Description
技术领域
本申请涉及视频编码技术领域,特别是涉及一种可伸缩视频编码错误隐藏方法、解码器和系统。
背景技术
近年来,随着英特网以及第三代移动通信技术的普及,视频服务正面临着飞速的发展。为了使视频流能够更好地适应各种不同的网络环境和用户终端,SVC(Scalabile Video Coding,可伸缩视频编码)码流被认为是目前解决这一问题的最好方法。
SVC码流能提供一个空间、时间、质量可伸缩的码流,从这个码流中可以抽取子码流,以满足网络传输速率以及终端用户对视频在空间、时间和信噪比等方面的需求。在SVC码流中,最低质量层被称作基本层,增强空间分辨率、时间分辨率或者信噪比强度的层被称作增强层。其中,为实现空间可伸缩性,可以利用层间的运动、纹理和残差信息,使用分层编码方法;为实现时间可伸缩性,采用分级双向编码帧编码方法;为实现信噪比可伸缩性,可以使用粗粒度可伸缩性和中粒度可伸缩性两种方法,这两种方法采用与空间可伸缩性相似的层间预测方法。
虽然视频编码算法充分利用了空间、时间和层间的冗余,最大限度地提高了编码效率,但是在实际视频应用中可用带宽动态变化或路由阻塞,造成码流传输出错,进一步影响到当前帧、时间后续帧以及后续层帧,从而使视频质量大大降低。现有的差错控制方法包括错误弹性方法和错误隐藏方法。错误弹性方法是在编码端加入一定的冗余,使解码端在丢包情况下,在一定程度上尽量减少视频质量损失,提高视频总体质量。错误隐藏方法是在解码端利用空间、时间和层间正确接收的信息对丢失部分进行重建。
在SVC中,由于分层技术的使用,可最大限度的利用层间相关性进行错误隐藏。如公开日期为2009年11月18日,公开号为CN101583045A的专利申请“基于OBMC(Overlapped Block Motion Compensation,重叠块运动补偿)的SVC层间错误隐藏方法”,在使用基本层帧的运动矢量之前根据增强层帧和基本层帧的空间分辨率比率判断是否进行尺度放大,在找出若干补偿块进行OBMC加权之后,对基本层帧的残差数据采取可能的上采样滤波,加到OBMC方法的重建值上,避免了使用单一运动矢量做运动补偿所带来的块效应问题。
然而上述基于OBMC的SVC层间错误隐藏方法适用于均匀运动序列,基本层帧为帧间编码帧,且增强层帧无连续丢包的情况。但是当基本层帧为帧内编码帧时,由于基本层帧不具有运动矢量以及残差信息,从而对该基本层帧的残差数据上采样后得到的重建值准确度降低,进一步导致包含该基本层帧和增强层帧的编码帧与后续参考该编码帧的编码帧质量降低,从而导致视频模糊。
发明内容
有鉴于此,本申请实施例公开一种可伸缩视频编码错误隐藏方法、解码器和系统,以提高编码帧质量,进一步提高视频清晰度。技术方案如下:
基于本申请实施例的一方面,公开一种可伸缩视频编码错误隐藏方法,包括:
解码正确编码帧的基本层帧和增强层帧;
对正确解码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据所述各个像素的边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果;
依据所述像素分类结果,对正确解码帧中增强层帧的各个像素进行分类,依据基本层帧和增强层帧像素分类,确定与所述像素分类对应的维纳滤波器;
当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数时,判断基本层帧中的解码宏块是帧间编码块还是帧内编码块;
若所述基本层帧中的解码宏块为帧间编码块,获取所述基本层帧间编码块对应的重建值、运动矢量和残差信息;
对所述运动矢量进行上采样;
判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
若所述基本层帧中解码宏块为帧内编码块,获取所述帧内编码块对应的重建值;
对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
优选地,还包括:当所述丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数时,采用重编码方法,得到重编基本层帧,所述重编码方法为,获取所述丢失的增强层帧对应的基本层帧,将基本层帧作为原始帧,将到该基本层帧时间上最近的正确解码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编码基本层帧;
判断重编码基本层帧中的解码宏块是帧间编码块还是帧内编码块;
若所述重编码基本层帧中的解码宏块为帧间编码块,获取该帧间编码块对应的原始重建值、运动矢量和残差信息,所述原始重建值在解码正确编码帧的基本层帧和增强层帧时获得;
对所述运动矢量进行上采样;
判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
若所述重编码基本层帧中的解码宏块为帧内编码块,获取该帧内编码块对应的原始重建值,所述原始重建值在解码正确编码帧的基本层帧和增强层帧时获得;
对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
优选地,还包括:当所述丢失的增强层帧对应的基本层帧为帧内编码帧,采用重编码方法,得到重编基本层帧,该重编码方法为,获取所述丢失的增强层帧对应的基本层帧,将基本层帧作为原始帧,将到该基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编基本层帧;
判断重编码基本层帧中的解码宏块是帧间编码块还是帧内编码块;
若所述重编码基本层帧中的解码宏块为帧间编码块,获取该帧间编码块对应的原始重建值、运动矢量和残差信息,所述原始重建值在解码正确编码帧的基本层帧和增强层帧时获得;
对所述运动矢量进行上采样;
判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
若所述重编码基本层帧中的解码宏块为帧内编码块,获取该帧内编码块对应的原始重建值;
对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
优选地,所述对原始帧进行编码包括采用4×4编码块对原始帧进行编码。
优选地,所述重编基本层帧中帧间编码块和帧内编码块的个数可以通过调节拉格朗日参数λ来控制,其中λ=λ0/α,λ0为原始拉格朗日参数,α为错误隐藏质量参数,α>0。
优选地,还包括:针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T;
在所述像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
优选地,像素分类结果的个数依据公式var_sobel(i,j)=min(n,[sobel(i,j)])确定,其中:n为给定值,sobel(i,j)为像素的边缘强度。
基于本申请实施例的一方面,公开一种解码器,包括:
解码装置,用于解码正确编码帧的基本层帧和增强层帧;
与所述解码装置相连的第一分类器,用于对正确解码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据所述各个像素的边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果;
与所述第一分类器相连的滤波器确定装置,用于依据所述像素分类结果,对正确解码帧中增强层帧的各个像素进行分类,依据基本层帧和增强层帧像素分类,确定与所述像素分类对应的维纳滤波器;
与所述滤波器确定装置相连的判断装置,用于当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数时,判断基本层帧中的解码宏块是帧间编码块还是帧内编码块;
与所述判断装置相连的获取装置,用于在所述判断装置判断所述解码宏块为帧间编码块,获取所述基本层帧间编码块对应的重建值、运动矢量和残差信息;在所述判断装置判断所述解码宏块为帧内编码块,获取所述帧内编码块对应的重建值;
与所述获取装置相连的第一重建装置,用于对所述运动矢量进行上采样,判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
与所述获取装置相连的第二重建装置,用于对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
优选地,还包括:连接在所述滤波器确定装置和所述判断装置之间的重编码装置,用于当所述丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数,或者当所述丢失的增强层帧对应的基本层帧为帧内编码帧,采用重编码方法,得到重编基本层帧,该重编码方法为,获取所述丢失的增强层帧对应的基本层帧,将基本层帧作为原始帧,将到该基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编基本层帧;
判断装置,还用于判断重编基本层帧中的解码宏块是帧间编码块还是帧内编码块。
优选地,所述重编码装置具体采用4×4编码块对原始帧进行编码。
优选地,所述重编基本层帧中帧间编码块和帧内编码块的个数可以通过调节拉格朗日参数λ来控制,其中λ=λ0/α,λ0为原始拉格朗日参数,α为错误隐藏质量参数,α>0。
优选地,还包括:连接在所述第一分类器和所述滤波器确定装置之间的第一个数判断装置和第二分类器,其中:
所述第一个数判断装置与所述第一分类器相连,用于针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T;
所述第二分类器连接在所述第一个数判断装置和所述滤波器确定装置之间,用于在所述第一分类器得出的像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
优选地,还包括:连接在所述第一分类器和所述滤波器确定装置之间的第二个数判断装置和第三分类器,其中:
所述第二个数判断装置与所述第一分类器相连,用于针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T;
所述第三分类器连接在所述第二个数判断装置和所述滤波器确定装置之间,用于在所述第一分类器得出的像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
优选地,所述第一分类器中像素分类结果的个数依据公式var_sobel(i,j)=min(n,[sobel(i,j)])确定,其中:n为给定值,sobel(i,j)为像素的边缘强度。
基于本申请实施例的另一方面,公开一种可伸缩视频编码错误隐藏系统,包括编码器和传输设备,还包括上述解码器。
应用上述技术方案,在丢失的增强层帧对应的基本层帧为帧间编码帧,且丢帧次数未超过预设次数情况下,在帧间编码帧中的解码宏块为帧间编码块或帧内编码块时进行不同处理,得到重建的增强层帧的错误隐藏值;在丢失的增强层帧对应的基本层帧为帧间编码帧,且丢帧次数超过预设次数情况下或者丢失的增强层帧对应的基本层帧为帧内编码帧,采用重编码方法,得到重编基本层帧,在重编基本层帧中的的解码宏块为帧间编码块或帧内编码块时进行不同处理,得到重建的增强层帧的错误隐藏值。与现有技术相比,提高了重建的增强层帧的质量,从而提高视频清晰度,避免视频出现拉丝现象。
附图说明
图1为本申请公开的可伸缩视频编码错误隐藏方法的一种局部流程图;
图2为本申请公开的可伸缩视频编码错误隐藏方法中编码帧接收示意图;
图3为本申请公开的可伸缩视频编码错误隐藏方法的另一种局部流程图;
图4为本申请公开的可伸缩视频编码错误隐藏方法的再一种局部流程图;
图5为本申请公开的可伸缩视频编码错误隐藏方法的完整流程图;
图6为foreman序列经过不同错误隐藏方法的峰值信噪比增益结果示意图;
图7为football序列经过不同错误隐藏方法的峰值信噪比增益结果示意图;
图8为具有静止背景的序列经过不同错误隐藏方法的SSIM增益结果示意图;
图9为具有静止背景的序列经过不同错误隐藏方法的PSNR增益结果示意图;
图10为运动平稳的paris序列经过不同错误隐藏方法的PSNR增益结果示意图;
图11为运动平稳的container序列经过不同错误隐藏方法的PSNR增益结果示意图;
图12为本申请公开的解码器的一种结构示意图;
图13为本申请公开的解码器的另一种结构示意图;
图14为本申请公开的解码器的再一种结构示意图;
图15为本申请公开的解码器的再一种结构示意图。
具体实施方式
上述基于OBMC的SVC层间错误隐藏方法以BLSkip(Base Layer Skip,基本层复用)方法为基础,在找出若干补偿块进行OBMC加权之后,对基本层帧的残差数据进行上采样滤波,加到OBMC方法的重建值上,进而可以依据该重建值,得出基本层帧对应的增强层帧。
然而,发明人经过多次实验发现,上采样后的运动矢量坐标超过运动补偿过程中参考帧边界,从而导致依据上采样后的运动矢量和残差信息进行运动补偿得出的增强层帧对应的帧间编码块质量降低,即增强层帧质量降低,进一步导致视频出现拉丝现象。为了解决该问题,本申请实施例公开了一种可伸缩视频编码错误隐藏方法,对上采样后的运动矢量坐标是否超过运动补偿过程中参考帧边界进行不同处理,以解决视频出现的拉丝现象。
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
一个实施例
请参阅图1,图1为本申请实施例公开的可伸缩视频编码错误隐藏方法的流程图,其适用于丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数的情况,可以包括如下步骤:
S101:解码正确编码帧的基本层帧和增强层帧。其中:正确编码帧为基本层帧和增强层帧的解码结果分别与各自的编码结果一致的帧,如图2所示。图2为编码帧接收示意图,其中:BL表示为基本层,EL表示为增强层,每个线框表示一帧,粗线框表示帧内编码帧,细线框表示帧间编码帧,实线框表示帧正确接收,虚线框表示帧丢失。从图2中可以看出由左至右,第5个增强层帧丢失,第1至第4个基本层帧和增强层帧正确接收,第1至第4个编码帧则为正确编码帧。
S102:对正确编码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果。
上述计算上采样后的基本层帧中的各个像素的边缘强度可以采用Sobel算子计算,具体为:依据下述公式:
计算基本层帧中各个像素的边缘强度。其中:R(i,j)为坐标为(i,j)的像素的像素值。
计算出各个像素的像素值后,依据公式:
var_sobel(i,j)=min(n,[sobel(i,j)])
对各个像素进行分类。其中:n为给定值。上述var_sobel(i,j)计算公式通过对比n和[sobel(i,j)]的数值来确定分类个数,且[sobel(i,j)]的取值满足四舍五入。如n的取值为13,sobel(i,j)=12.3,则var_sobel(i,j)=12,如sobel(i,j)=12.6,则var_sobel(i,j)=13。为了降低计算复杂度,提高计算效率,本申请中优选n为15,分类个数最多为16。
需要说明的是:由于噪声影响使得分类结果中某一类中像素个数小于预设阈值T,对该类像素滤波效果差,因此对于像素个数少于预设阈值T的类,将该类中的像素划分到与其边缘强度最接近的类中。预设阈值T为N/16/4,其中N是图像中的像素总个数。
S103:依据像素分类结果,对正确编码帧中的增强层帧中的各个像素进行分类,依据基本层帧和增强层帧中像素分类,确定与分类对应的维纳滤波器。
经过步骤S102和步骤S103完成对正确编码帧中基本层帧和增强层帧中相对应的各个像素的分类。假设经过分类后,每一类的像素数目为Nk(其中0≤k<16),第k类中的第i个输出像素yk,i为增强层帧中像素的像素值,输入像素xk,i为基本层帧中像素的像素值,该类像素经过滤波之后的误差Ek为:
其中:Wk为滤波器系数展成的列向量,Xk,i为第k类中基本层帧的像素值展成的列向量,当基本层帧分辨率等于增强层帧分辨率时,Xk,i为第k类中基本层帧的像素值展成的列向量,当基本层帧分辨率小于增强层帧分辨率时,Xk,i为第k类中基本层帧的上采样后的像素值展成的列向量。
需要说明的是:步骤101至步骤103是在基本层帧和增强层帧同时正确接收并且到最近的帧内编码帧之间的所有帧都正确接收时执行的,以确定出不同像素分类对应的维纳滤波器。
S104:判断基本层帧中的解码宏块是帧间编码块还是帧内编码块,如果是帧间编码块,执行步骤S105;如果是帧内编码块,则执行步骤S110。
本步骤及其之后的执行步骤是在基本层帧正确接收,而增强层帧丢失,且增强层帧的丢帧次数未超过预设次数情况下执行。上述基本层帧的类型包括帧间编码帧和帧内编码帧,可以通过对接收到的基本层帧进行解码,通过判断基本层帧中解码宏块的类型获知基本层帧的类型。
S105:获取基本层帧中帧间编码块对应的重建值、运动矢量和残差信息。
S106:对运动矢量进行上采样。其中:上采样是对低分辨率的帧使用低通滤波器插值不存在的像素,在对运动矢量进行上采样时,可以使用现有的上采样滤波器。
在本实施例中,对运动矢量进行上采样可以包括:根据基本层帧和增强层帧的尺寸比例,对运动矢量进行上采样。
S107:判断上采样后的运动矢量坐标是否超过增强层帧的参考帧边界,如果是,执行步骤S108;如果否,执行步骤S109。其中:增强层帧的参考帧为上一次接收到的增强层帧,如丢失的增强层帧为增强层的第8个增强层帧,则其参考帧为增强层的第7个增强层帧。
假设参考帧的大小为352×288,当上采样后的运动矢量坐标为351×251,表明上采样后的运动矢量坐标未超过参考帧边界。当上采样后的运动矢量坐标为356×251,表明上采样后的运动矢量坐标超过参考帧边界。当上采样后的运动矢量坐标为350×290,表明上采样后的运动矢量坐标超过参考帧边界。当上采样后的运动矢量坐标为356×295,表明上采样后的运动矢量坐标超过参考帧边界。
S108:对重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的编码宏块的错误隐藏值。具体为:
依据上述公式(1)计算上采样后的重建值中各个像素的边缘强度。前已述及,不同的边缘强度对应不同的维纳滤波器,因此,在得出各个像素的边缘强度后,选取与其对应的维纳滤波器,依据公式 对像素进行滤波。其中:k表明维纳滤波器为第k类滤波器,其系数为Wk,Xk,i是待滤波像素以及其周围的若干像素展成的列向量。
在本实施例中,对重建值进行上采样可以包括:根据基本层帧和增强层帧的尺寸比例,对重建值进行上采样。
S109:以上一次接收到的增强层帧作为参考帧,用上采样后的运动矢量和残差信息进行运动补偿,得出对应的丢失的增强层帧中的解码宏块的错误隐藏值。
S110:获取基本层帧中的帧内编码块对应的重建值。
S111:对重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。具体为:
依据上述公式(1)计算上采样后的重建值中各个像素的边缘强度。前已述及,不同的边缘强度对应不同的维纳滤波器,因此,在得出各个像素的边缘强度后,选取与其对应的维纳滤波器,依据公式 对像素进行滤波。其中:k表明维纳滤波器为第k类滤波器,其系数为Wk,Xk,i是待滤波像素以及其周围的若干像素展成的列向量。
在本实施例中,对重建值进行上采样可以包括:根据基本层帧和增强层帧的尺寸比例,对重建值进行上采样。
应用上述技术方案,在基本层帧中的解码宏块是帧间编码块时,对运动矢量进行上采样。当上采样后的运动矢量坐标超过参考帧边界时,对重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的帧间编码块的错误隐藏值。当上采样后的运动矢量坐标未超过参考帧边界时,以上一次接收到的增强层帧作为参考帧,用上采样后的运动矢量和残差信息进行运动补偿,得出对应的丢失的增强层帧中的解码宏块的错误隐藏值。在基本层帧中的解码宏块是帧内编码块时,对重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。与现有技术相比,提高了重建的增强层帧的质量,从而提高视频清晰度,避免视频出现拉丝现象。
另一个实施例
上述方法实施例适用于丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数,当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数时,本申请实施例提供的可伸缩视频编码错误隐藏方法的流程图请参阅图3,包括:
S201:解码正确编码帧的基本层帧和增强层帧。其中:正确编码帧为基本层帧和增强层帧的解码结果分别与各自的编码结果一致的帧,如图2所示。图2为编码帧接收示意图,其中:BL表示为基本层,EL表示为增强层,每个线框表示一帧,粗线框表示帧内编码帧,细线框表示帧间编码帧,实线框表示帧正确接收,虚线框表示帧丢失。从图2中可以看出由左至右,第5个增强层帧丢失,第1至第4个基本层帧和增强层帧正确接收,第1至第4个编码帧则为正确编码帧。
S202:对正确编码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果。
S203:依据像素分类结果,对正确编码帧中的增强层帧中的各个像素进行分类,依据基本层帧和增强层帧中像素分类,确定与分类对应的维纳滤波器。
步骤S201至S203的具体实施过程请参阅上一实施例中步骤S101至S103。同样,步骤S201至S203是在基本层帧和增强层帧同时正确接收并且到最近的帧内编码帧之间的所有帧都正确接收时执行的,以确定出不同像素分类对应的维纳滤波器。
S204:采用重编码方法,得到重编基本层帧,该重编码方法为获取丢失的增强层帧对应的基本层帧,将该基本层帧作为原始帧,将到该基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编基本层帧。
本步骤及其之后的执行步骤是在基本层帧正确接收,而增强层帧丢失,且增强层帧的丢帧次数超过预设次数情况下执行。
上述到该基本层帧时间上最近的正确编码帧是指从第一个正确接收的编码帧开始,连续正确接收的所有编码帧中最后一个正确接收的编码帧,如图2中,由左至右,第5个增强层帧丢失,则到第5个基本层帧时间上最近的正确编码帧为第4个编码帧,相应地,到该基本层帧时间上最近的正确编码帧中的基本层帧为第4个基本层帧。
重编基本层帧可以包括多个4×4编码块,或者包括多个8×8编码块或者更大尺寸的块。每个编码块的量化参数为0。发明人经过实验得出重编基本层帧的编码块采用4×4编码块时,后续得出的增强层帧质量提高程度高于其他尺寸的编码块,因此,本申请实施例优选4×4编码块。
上述编码块可以为帧间编码块,也可以为帧内编码块。每个重编基本层帧中帧间编码块和帧内编码块的个数可以通过调节拉格朗日参数λ来控制,其中λ=λ0/α,λ0为原始拉格朗日参数,α为错误隐藏质量参数,α>0。α取值越大,λ取值越小,表明重编基本层帧中帧间编码块个数越多,且发明人经过实验发现,当参考帧与原始帧之间没有相交区域,重编基本层帧中帧间编码块个数越多,后续得出的增强层帧质量降低,导致视频清晰度降低。α取值越小,λ取值越大,表明重编基本层帧中帧内编码块个数越多,且发明人经过实验发现,重编基本层帧中帧内编码块个数越多,后续得出的增强层帧质量降低,导致视频清晰度降低。为了保证视频清晰度,本申请实施例中λ优选为λ0,α设置为1。
当然,在实际使用过程中,还可以由用户依据自身对视频质量的喜好程度调节λ和α。
S205:判断重编码基本层帧中的解码宏块是帧间编码块还是帧内编码块,如果是帧间编码块,则执行步骤S206;如果是帧内编码块,则执行步骤S211。
S206:获取帧间编码块对应的原始重建值、运动矢量和残差信息。其中,原始重建值在执行步骤S201时获得。
S207:对运动矢量进行上采样。其中:上采样是对低分辨率的帧使用低通滤波器插值不存在的像素,在对运动矢量进行上采样时,可以使用现有的上采样滤波器。
在本实施例中,对运动矢量进行上采样可以包括:根据基本层帧和增强层帧的尺寸比例,对运动矢量进行上采样。
S208:判断上采样后的运动矢量坐标是否超过增强层帧的参考帧边界,如果是,执行步骤S209;如果上否,执行步骤S210。
当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数时,丢失的增强层帧的参考帧为到该基本层帧时间上最近的正确编码帧中的增强层帧。到丢失的增强层帧对应的基本层帧时间上最近的正确编码帧是指从第一个正确接收的编码帧开始,连续正确接收的所有编码帧中,最后一个正确接收的编码帧,如图2中,由左至右,第5个增强层帧丢失,则到第5个基本层帧时间上最近的正确编码帧为第4个编码帧,相应地,到该基本层帧时间上最近的正确编码帧中的基本层帧为第4个基本层帧。
当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数时,丢失的增强层帧的参考帧为上一次接收到的增强层帧。
当丢失的增强层帧对应的基本层帧为帧内编码帧时,丢失的增强层帧的参考帧为到该基本层帧时间上最近的正确编码帧中的增强层帧。
上述预设次数对于不同码流设定不同的值。丢帧次数的判断可以通过对接收到的增强层帧进行解码,获取帧序号,从而通过帧序号来判断增强层的丢帧次数是否超过预设次数。
假设参考帧的大小为352×288,当上采样后的运动矢量坐标为351×251,表明上采样后的运动矢量坐标未超过参考帧边界。当上采样后的运动矢量坐标为356×251,表明上采样后的运动矢量坐标超过参考帧边界。当上采样后的运动矢量坐标为350×290,表明上采样后的运动矢量坐标超过参考帧边界。当上采样后的运动矢量坐标为356×275,表明上采样后的运动矢量坐标超过参考帧边界。
S209:对原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。具体为:
依据上述公式(1)计算上采样后的重建值中各个像素的边缘强度。前已述及,不同的边缘强度对应不同的维纳滤波器,因此,在得出各个像素的边缘强度后,选取与其对应的维纳滤波器,依据公式 对像素进行滤波。其中:k表明维纳滤波器为第k类滤波器,其系数为Wk,Xk,i是待滤波像素以及其周围的若干像素展成的列向量。
在本实施例中,对原始重建值进行上采样可以包括:根据基本层帧和增强层帧的尺寸比例,对原始重建值进行上采样。
S210:以相应的增强层帧作为参考帧,用上采样后的运动矢量和残差信息进行运动补偿,得出对应的丢失的增强层帧中的解码宏块的错误隐藏值。其中:当增强层的丢帧次数超过预设次数时,相应的增强层帧为丢失的增强层帧的参考帧为到该基本层帧时间上最近的正确编码帧中的增强层帧。当增强层的丢帧次数未超过预设次数时,相应的增强层帧为上一次接收到的增强层帧。
S211:获取帧内编码块对应的原始重建值。其中,原始重建值在执行步骤S201时获得。
S212:对原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。具体为:
依据上述公式(1)计算上采样后的重建值中各个像素的边缘强度。前已述及,不同的边缘强度对应不同的维纳滤波器,因此,在得出各个像素的边缘强度后,选取与其对应的维纳滤波器,依据公式 对像素进行滤波。其中:k表明维纳滤波器为第k类滤波器,其系数为Wk,Xk,i是待滤波像素以及其周围的若干像素展成的列向量。
在本实施例中,对原始重建值进行上采样可以包括:根据基本层帧和增强层帧的尺寸比例,对原始重建值进行上采样。
应用上述技术方案,以到丢失的增强层帧对应的基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对丢失的增强层帧对应的基本层帧编码时,得到重编基本层帧。获取重编基本层帧中的帧间编码块对应的原始重建值、运动矢量和残差信息,当上采样后的运动矢量坐标超过参考帧边界时,对原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的帧间编码块的错误隐藏值。当上采样后的运动矢量坐标未超过参考帧边界时,用上采样后的运动矢量和残差信息进行运动补偿,得出对应的丢失的增强层帧中的帧间编码块的错误隐藏值。获取重编基本层帧中的帧内编码块对应的原始重建值,对原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。从而提高重建后的增强层帧的质量,进一步提高视频清晰度。
另一个实施例
当丢失的增强层帧对应的基本层帧为帧内编码帧,本申请实施例提供的可伸缩视频编码错误隐藏方法的流程图请参阅图4,可以包括以下步骤:
S201:解码正确编码帧的基本层帧和增强层帧。
S202:对正确编码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果。
S203:依据像素分类结果,对正确编码帧中的增强层帧中的各个像素进行分类,依据基本层帧和增强层帧中像素分类,确定与分类对应的维纳滤波器。
S204:采用重编码方法,得到重编基本层帧,该重编码方法为获取丢失的增强层帧对应的基本层帧,将该基本层帧作为原始帧,将到该基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编基本层帧。
S205:判断重编码基本层帧中的解码宏块是帧间编码块还是帧内编码块,如果是帧间编码块,则执行步骤S206;如果是帧内编码块,则执行步骤S211。
S206:获取帧间编码块对应的原始重建值、运动矢量和残差信息。其中,原始重建值在执行步骤S201时获得。
S207:对运动矢量进行上采样。其中:上采样是对低分辨率的帧使用低通滤波器插值不存在的像素,在对运动矢量进行上采样时,可以使用现有的上采样滤波器。
S208:判断上采样后的运动矢量坐标是否超过增强层帧的参考帧边界,如果是,执行步骤S209;如果上否,执行步骤S210。
当丢失的增强层帧对应的基本层帧为帧内编码帧时,丢失的增强层帧的参考帧为到该基本层帧时间上最近的正确编码帧中的增强层帧。
S209:对原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
S210:以相应的增强层帧作为参考帧,用上采样后的运动矢量和残差信息进行运动补偿,得出对应的丢失的增强层帧中的解码宏块的错误隐藏值。
S211:获取帧内编码块对应的原始重建值。其中,原始重建值在执行步骤S201时获得。
S212:对原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。上述图4中各个步骤的具体实现过程与图3所示的流程图中具有相同标号的步骤的实现过程相同,对此不再加以阐述。
再一个实施例
参考图5,示出了本申请提供的可伸缩视频编码错误隐藏方法的完整流程图,本实施例可以理解为将本申请的可伸缩视频编码错误隐藏方法应用于实际中的一个具体例子,可以包括以下步骤:
S401:解码正确编码帧的基本层帧和增强层帧。
S402:对正确编码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果。
S403:依据像素分类结果,对正确编码帧中的增强层帧中的各个像素进行分类,依据基本层帧和增强层帧中像素分类,确定与分类对应的维纳滤波器。
步骤S401至S403的具体实施过程请参阅图1所示的实施例中步骤S101至S103,对此不再加以阐述。同样,步骤S401至S403是在基本层帧和增强层帧同时正确接收并且到最近的帧内编码帧之间的所有帧都正确接收时执行的,以确定出不同像素分类对应的维纳滤波器。
S404:判断丢失的增强层帧对应的基本层帧是帧内编码帧还是帧间编码帧,如果是帧内编码帧,执行步骤S405至S413,如果是帧间编码帧,执行步骤S414。本步骤是在增强层帧丢失情况下执行。
S405至S413:与步骤S204至S212相同,对此不再加以阐述。
S414:判断增强层的丢帧次数是否超过预设次数,如果是,执行步骤S415至S422,如果否,执行步骤S405至S413。
S415至S422:与步骤S103至S111相同,对此不再加以阐述。
下面通过实验对比结果验证本申请实施例提供的可伸缩视频编码错误隐藏方法的有效性。
如图6和7所示,分别为序列foreman和football经过本申请实施例的方法相对于现有方法的PSNR(Peak Signal to Noise Ratio,峰值信噪比)增益结果示意图,其中横坐标为帧数,纵坐标为PSNR增益结果。在本申请实施例中,采用的实验环境为:两层SVC码流,共128帧,其中基本层分辨率为QCIF,增强层分辨率为CIF,层间参考使用自适应模式,编码结构为IPPP...,GOP(Group of Pictures画面组)长度为1,码内周期为32,基本层与增强层使用相同的量化参数20。图6和图7中,Sobel表示解码端通过本申请提出的基于sobel边缘强度的训练滤波器以及上采样后滤波的方法得到的视频。Laplace表示解码端通过基于求和拉普拉斯强度的训练滤波器以及上采样之后滤波的方法得到的视频。layer0_up表示解码端通过SVC中上采样的方法得到的视频。从图中可以看出,在量化参数相同的情况下,对于每帧,本申请提供的方法对相对于现有方法都有一定提高,部分帧提高达到2dB。
请参阅图8和图9,图8和图9为具有静止背景的序列经过不同错误隐藏方法的SSIM(Structural Similarity Index,结构相似度)增益结果和PSNR增益结果示意图。其中:横坐标为帧数,纵坐标分别为SSIM增益结果和PSNR增益结果,序列中的第193帧与225帧为帧内编码帧,在基本层全部正确接收,并且增强层模拟20%丢包率的情况下,这两帧均丢失。
图8和图9中,BLSkip表示解码端采用现有的BLSkip方法进行错误隐藏,Ru表示解码端采用上采样方法进行错误隐藏,Ru_wiener表示解码端采用上采样并且维纳滤波方法进行错误隐藏,proposed combined表示解码端采用本申请实施例图5提供的方法进行错误隐藏。从SSIM增益结果与PSNR增益结果可以看出,相对于其他方法如BLSkip,Ru,以及Ru_wiener的方法,对于帧内编码帧,图5提供的方法大大提升错误隐藏的效果。从数值看,PSNR增益结果大约提升4~5dB,SSIM增益结果提升0.1。
请参阅图10和图11,图10和图11为paris和container序列经过不同错误隐藏方法的PSNR增益结果示意图。图中,blskip表示解码端采用现有的BLSkip方法进行错误隐藏,V_blskip with Filter表示解码端采用本申请实施例图5提供的方法进行错误隐藏,Upsample_SVC表示解码端采用上采样的方法进行错误隐藏,Upsample_Filter表示解码端采用上采样和滤波相结合的方法进行错误隐藏。从PSNR增益结果可以看出,相对于其他方法,图5提供的方法的PSNR增益结果有明显提高。
表1是本申请实施例图5公开的方法相对于BLSkip方法的峰值信噪比增益结果。其实验环境为:编码帧内周期为32,编码4000帧,编码结构为IPPP...,基本层帧全部正确接收,增强层帧丢包率分别为5%,10%,20%和100%,量化参数分别为24,28,32和36,Ave表明量化参数分别为24,28,32和36下的平均增益。从表1中可以看出,图5所示的可伸缩视频编码错误隐藏方法相对于现有的BLSkip方法气峰值信噪比大幅度提高。
表1本申请公开的方法相对于BLSkip方法的峰值信噪比增益结果
与上述方法实施例相对应,本申请实施例还提供一种解码器,结构示意图请参阅图12,包括:解码装置11、第一分类器12、滤波器确定装置13、判断装置14、获取装置15、第一重建装置16和第二重建装置17。其中:
解码装置11,用于解码正确编码帧的基本层帧和增强层帧。
第一分类器12,用于对正确编码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据所述各个像素的边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果。
滤波器确定装置13,用于依据所述像素分类结果,对正确编码帧中的增强层帧中的各个像素进行分类,依据基本层帧和增强层帧中像素分类,确定与所述像素分类对应的维纳滤波器。
上述分类器12可以采用Sobel算子计算上采样后的基本层帧中各个像素的边缘强度。分类器12和滤波器确定装置13的具体实施过程请参阅方法实施例中步骤S102至步骤S103的描述。
判断装置14,用于当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数时,判断基本层帧中的解码宏块是帧间编码块还是帧内编码块。
获取装置15,用于在所述判断装置判断所述解码宏块为帧间编码块,获取所述基本层帧间编码块对应的重建值、运动矢量和残差信息;在所述判断装置判断所述解码宏块为帧内编码块,获取所述帧内编码块对应的重建值。
第一重建装置16,用于对所述运动矢量进行上采样,判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值。
第二重建装置17,用于对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
在本实施例中,图12所示的解码器适用于丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数。当丢失的增强层帧对应的基本层帧为帧内编码帧,或当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数时,其使用的解码器请参阅图13。图13是本申请实施例提供的解码器的另一种结构示意图,还包括:重编码装置18。
其中,重编码装置18用于当所述丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数,或者当所述丢失的增强层帧对应的基本层帧为帧内编码帧,采用重编码方法,得到重编基本层帧,该重编码方法为,获取所述丢失的增强层帧对应的基本层帧,将基本层帧作为原始帧,将到该基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编基本层帧。
在本实施例中,重编码装置18具体采用4×4编码块对原始帧进行编码。所述重编基本层帧中帧间编码块和帧内编码块的个数可以通过调节拉格朗日参数λ来控制,其中λ=λ0/α,λ0为原始拉格朗日参数,α为错误隐藏质量参数,α>0。
判断装置14,还用于判断重编基本层帧中的解码宏块是帧间编码块还是帧内编码块。在判断装置14判断编基本层帧中的解码宏块是帧间编码块时,触发获取装置15和第一重建装置16。在判断装置14判断重编基本层帧中的解码宏块是帧内编码块时,触发获取装置15和第二重建装置17。
需要说明的是:在本实施例中,解码器还需要对第一分类器12得出的像素分类结果中像素个数进行判断,并依据判断结果进行处理。上述解码器可以在图12或图13基础上增加其他模块,如图14和图15所示。
图14是以图13为基础,本申请提供的解码器的另一种结构示意图,其中:第一个数判断装置19,用于针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T。
第二分类器20,用于在所述第一分类器得出的像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
图15是以图12为基础,本申请提供的解码器的另一种结构示意图,其中:第二个数判断装置21,用于针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T。
第三分类器22,用于在所述第一分类器得出的像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
在本实施例中,第一分类器12中像素分类结果的个数依据公式var_sobel(i,j)=min(n,[sobel(i,j)])确定,其中:n为给定值,sobel(i,j)为像素的边缘强度。
上述解码器实施例中各个装置的具体实现过程请参阅方法实施例中的具体说明,对此不再加以阐述。
此外,本申请实施例还公开一种可伸缩视频编码错误隐藏系统,包括编码器和传输设备,还包括上述解码器。
本说明书中各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处,本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种可伸缩视频编码错误隐藏方法,其特征在于,包括:
解码正确编码帧的基本层帧和增强层帧;
对正确解码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据所述各个像素的边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果;
依据所述像素分类结果,对正确解码帧中增强层帧的各个像素进行分类,依据基本层帧和增强层帧像素分类,确定与所述像素分类对应的维纳滤波器;
当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数时,判断基本层帧中的解码宏块是帧间编码块还是帧内编码块;
若所述基本层帧中的解码宏块为帧间编码块,获取所述基本层帧间编码块对应的重建值、运动矢量和残差信息;
对所述运动矢量进行上采样;
判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
若所述基本层帧中解码宏块为帧内编码块,获取所述帧内编码块对应的重建值;
对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
2.根据权利要求1所述的可伸缩视频编码错误隐藏方法,其特征在于,还包括:
当所述丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数时,采用重编码方法,得到重编基本层帧,所述重编码方法为,获取所述丢失的增强层帧对应的基本层帧,将基本层帧作为原始帧,将到该基本层帧时间上最近的正确解码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编码基本层帧;
判断重编码基本层帧中的解码宏块是帧间编码块还是帧内编码块;
若所述重编码基本层帧中的解码宏块为帧间编码块,获取该帧间编码块对应的原始重建值、运动矢量和残差信息,所述原始重建值在解码正确编码帧的基本层帧和增强层帧时获得;
对所述运动矢量进行上采样;
判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
若所述重编码基本层帧中的解码宏块为帧内编码块,获取该帧内编码块对应的原始重建值,所述原始重建值在解码正确编码帧的基本层帧和增强层帧时获得;
对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
3.根据权利要求1所述的可伸缩视频编码错误隐藏方法,其特征在于,还包括:
当所述丢失的增强层帧对应的基本层帧为帧内编码帧,采用重编码方法,得到重编基本层帧,该重编码方法为,获取所述丢失的增强层帧对应的基本层帧,将基本层帧作为原始帧,将到该基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编基本层帧;
判断重编码基本层帧中的解码宏块是帧间编码块还是帧内编码块;
若所述重编码基本层帧中的解码宏块为帧间编码块,获取该帧间编码块对应的原始重建值、运动矢量和残差信息,所述原始重建值在解码正确编码帧的基本层帧和增强层帧时获得;
对所述运动矢量进行上采样;
判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
若所述重编码基本层帧中的解码宏块为帧内编码块,获取该帧内编码块对应的原始重建值;
对所述原始重建值进行上采样,计算上采样后的原始重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
4.根据权利要求2或3任意一项所述的可伸缩视频编码错误隐藏方法,其特征在于,所述对原始帧进行编码包括:采用4×4编码块对原始帧进行编码;
所述重编基本层帧中帧间编码块和帧内编码块的个数可以通过调节拉格朗日参数λ来控制,其中λ=λ0/α,λ0为原始拉格朗日参数,α为错误隐藏质量参数,α>0。
5.根据权利要求1至3任意一项所述的可伸缩视频编码错误隐藏方法,其特征在于,还包括:针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T,所述像素分类结果的个数依据公式var_sobel(i,j)=min(n,[sobel(i,j)])确定,其中:n为给定值,sobel(i,j)为像素的边缘强度;
在所述像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
6.一种解码器,其特征在于,包括:
解码装置,用于解码正确编码帧的基本层帧和增强层帧;
与所述解码装置相连的第一分类器,用于对正确解码帧中的基本层帧进行上采样,计算上采样后的基本层帧中的各个像素的边缘强度,依据所述各个像素的边缘强度,将基本层帧的各个像素进行分类,得出像素分类结果;
与所述第一分类器相连的滤波器确定装置,用于依据所述像素分类结果,对正确解码帧中增强层帧的各个像素进行分类,依据基本层帧和增强层帧像素分类,确定与所述像素分类对应的维纳滤波器;
与所述滤波器确定装置相连的判断装置,用于当丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数未超过预设次数时,判断基本层帧中的解码宏块是帧间编码块还是帧内编码块;
与所述判断装置相连的获取装置,用于在所述判断装置判断所述解码宏块为帧间编码块,获取所述基本层帧间编码块对应的重建值、运动矢量和残差信息;在所述判断装置判断所述解码宏块为帧内编码块,获取所述帧内编码块对应的重建值;
与所述获取装置相连的第一重建装置,用于对所述运动矢量进行上采样,判断上采样后的运动矢量坐标是否超过所述丢失的增强层帧的参考帧边界,如果是,对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为所述丢失的增强层帧中对应的解码宏块的错误隐藏值,如果否,用上采样后的运动矢量和上采样后的残差信息进行运动补偿,得出对应的所述丢失的增强层帧中的解码宏块的错误隐藏值;
与所述获取装置相连的第二重建装置,用于对所述重建值进行上采样,计算上采样后的重建值中的各个像素的边缘强度,选取与所述各个像素的边缘强度对应的维纳滤波器,对像素进行滤波,滤波后的像素组成的重建值作为丢失的增强层帧中对应的解码宏块的错误隐藏值。
7.根据权利要求6所述的解码器,其特征在于,还包括:连接在所述滤波器确定装置和所述判断装置之间的重编码装置,用于当所述丢失的增强层帧对应的基本层帧为帧间编码帧,且增强层的丢帧次数超过预设次数,或者当所述丢失的增强层帧对应的基本层帧为帧内编码帧,采用重编码方法,得到重编基本层帧,该重编码方法为,获取所述丢失的增强层帧对应的基本层帧,将基本层帧作为原始帧,将到该基本层帧时间上最近的正确编码帧中的基本层帧为参考帧,对原始帧进行编码,得出重编基本层帧;
判断装置,还用于判断重编基本层帧中的解码宏块是帧间编码块还是帧内编码块;
连接在所述第一分类器和所述滤波器确定装置之间的第一个数判断装置和第二分类器,其中:
所述第一个数判断装置与所述第一分类器相连,用于针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T,所述第一分类器中像素分类结果的个数依据公式var_sobel(i,j)=min(n,[sobel(i,j)])确定,其中:n为给定值,sobel(i,j)为像素的边缘强度;
所述第二分类器连接在所述第一个数判断装置和所述滤波器确定装置之间,用于在所述第一分类器得出的像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
8.根据权利要求7所述的解码器,其特征在于,所述重编码装置具体采用4×4编码块对原始帧进行编码;
所述重编基本层帧中帧间编码块和帧内编码块的个数可以通过调节拉格朗日参数λ来控制,其中λ=λ0/α,λ0为原始拉格朗日参数,α为错误隐藏质量参数,α>0。
9.根据权利要求6所述的解码器,其特征在于,还包括:连接在所述第一分类器和所述滤波器确定装置之间的第二个数判断装置和第三分类器,其中:
所述第二个数判断装置与所述第一分类器相连,用于针对任一像素分类结果,判断所述像素分类结果中像素个数是否小于预设阈值T,所述第一分类器中像素分类结果的个数依据公式var_sobel(i,j)=min(n,[sobel(i,j)])确定,其中:n为给定值,sobel(i,j)为像素的边缘强度;
所述第三分类器连接在所述第二个数判断装置和所述滤波器确定装置之间,用于在所述第一分类器得出的像素分类结果中像素个数小于预设阈值T时,将该像素分类结果中的像素划分到与该像素分类结果中的像素的边缘强度最接近的类中,其中预设阈值T为N/16/4,N为图像中的像素总个数。
10.一种可伸缩视频编码错误隐藏系统,包括编码器和传输设备,其特征在于,还包括如权利要求6至9任意一项所述的解码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110452046 CN102547282B (zh) | 2011-12-29 | 2011-12-29 | 可伸缩视频编码错误隐藏方法、解码器和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110452046 CN102547282B (zh) | 2011-12-29 | 2011-12-29 | 可伸缩视频编码错误隐藏方法、解码器和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102547282A true CN102547282A (zh) | 2012-07-04 |
CN102547282B CN102547282B (zh) | 2013-04-03 |
Family
ID=46353082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110452046 Active CN102547282B (zh) | 2011-12-29 | 2011-12-29 | 可伸缩视频编码错误隐藏方法、解码器和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102547282B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103702131A (zh) * | 2013-12-25 | 2014-04-02 | 清华大学 | 一种基于模式预处理的帧内编码优化方法和系统 |
CN104202614A (zh) * | 2014-08-15 | 2014-12-10 | 小米科技有限责任公司 | 一种基于网络环境调整视频画质的方法及装置 |
CN105245908A (zh) * | 2015-10-27 | 2016-01-13 | 大连海事大学 | 一种基于错误修正优先值反馈的视频容错编码方法 |
CN105681826A (zh) * | 2016-01-08 | 2016-06-15 | 全时云商务服务股份有限公司 | 视频数据传输系统和方法以及视频数据解码方法 |
CN107731237A (zh) * | 2012-09-24 | 2018-02-23 | 三星电子株式会社 | 时域帧错误隐藏设备 |
US10085050B2 (en) | 2014-08-15 | 2018-09-25 | Xiaomi Inc. | Method and apparatus for adjusting video quality based on network environment |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401440A (zh) * | 2006-01-09 | 2009-04-01 | 诺基亚公司 | 可伸缩视频编码中的差错恢复模式判决 |
CN102075766A (zh) * | 2009-11-23 | 2011-05-25 | 华为技术有限公司 | 视频编码、解码方法、装置及视频编解码系统 |
-
2011
- 2011-12-29 CN CN 201110452046 patent/CN102547282B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101401440A (zh) * | 2006-01-09 | 2009-04-01 | 诺基亚公司 | 可伸缩视频编码中的差错恢复模式判决 |
CN102075766A (zh) * | 2009-11-23 | 2011-05-25 | 华为技术有限公司 | 视频编码、解码方法、装置及视频编解码系统 |
Non-Patent Citations (4)
Title |
---|
DONG ZHANG ,YI GUO 等: "error resilient scalability for video bit-stream over heterogeneous packet loss network", 《IEEE》, 31 December 2010 (2010-12-31) * |
SHUJIE LIU等: "frame loss error concealment for multiview video coding", 《IEEE》, 31 December 2008 (2008-12-31) * |
万卫星等: "可伸缩视频编码的自适应QP级联算法", 《计算机工程》, vol. 36, no. 6, 31 March 2010 (2010-03-31) * |
贺词: "可伸缩视频编码标准中的差错控制", 《通信技术》, vol. 43, no. 3, 31 March 2010 (2010-03-31) * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107731237A (zh) * | 2012-09-24 | 2018-02-23 | 三星电子株式会社 | 时域帧错误隐藏设备 |
CN107731237B (zh) * | 2012-09-24 | 2021-07-20 | 三星电子株式会社 | 时域帧错误隐藏设备 |
CN103702131A (zh) * | 2013-12-25 | 2014-04-02 | 清华大学 | 一种基于模式预处理的帧内编码优化方法和系统 |
CN103702131B (zh) * | 2013-12-25 | 2017-02-15 | 清华大学 | 一种基于模式预处理的帧内编码优化方法和系统 |
CN104202614A (zh) * | 2014-08-15 | 2014-12-10 | 小米科技有限责任公司 | 一种基于网络环境调整视频画质的方法及装置 |
CN104202614B (zh) * | 2014-08-15 | 2016-03-09 | 小米科技有限责任公司 | 一种基于网络环境调整视频画质的方法及装置 |
US10085050B2 (en) | 2014-08-15 | 2018-09-25 | Xiaomi Inc. | Method and apparatus for adjusting video quality based on network environment |
CN105245908A (zh) * | 2015-10-27 | 2016-01-13 | 大连海事大学 | 一种基于错误修正优先值反馈的视频容错编码方法 |
CN105245908B (zh) * | 2015-10-27 | 2018-06-29 | 大连海事大学 | 一种基于错误修正优先值反馈的视频容错编码方法 |
CN105681826A (zh) * | 2016-01-08 | 2016-06-15 | 全时云商务服务股份有限公司 | 视频数据传输系统和方法以及视频数据解码方法 |
CN105681826B (zh) * | 2016-01-08 | 2019-08-23 | 全时云商务服务股份有限公司 | 视频数据传输系统和方法以及视频数据解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102547282B (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102595135B (zh) | 一种可伸缩视频编码的方法及装置 | |
CN102547282B (zh) | 可伸缩视频编码错误隐藏方法、解码器和系统 | |
KR100525785B1 (ko) | 이미지 화소 필터링 방법 | |
CN100518315C (zh) | 采用清晰度增强技术的空间可缩放的压缩方案的编解码器及方法 | |
CN1926876B (zh) | 空间和时间可扩展编码的图像序列的编码和解码方法 | |
EP2168382B1 (en) | Method for processing images and the corresponding electronic device | |
CN110199521A (zh) | 用于有损视频编码的低复杂度混合域协同环内滤波器 | |
CN102137263A (zh) | 基于cnm关键帧分类的分布式视频编码及解码方法 | |
KR100922510B1 (ko) | 영상의 부호화 및 복호화 방법, 장치 및 그 애플리케이션 | |
KR20050047373A (ko) | 임의 크기의 가변 블록을 이용한 영상 압축 방법 및 장치 | |
CN103069803B (zh) | 视频编码方法、视频解码方法、视频编码装置、视频解码装置 | |
CN101163250B (zh) | 一种基于边界梯度的视频流容错方法 | |
CN108769700A (zh) | 减小h.264帧间漂移失真的鲁棒性视频隐写方法 | |
CN109427032A (zh) | 一种基于压缩域的可伸缩视频水印嵌入及提取方法 | |
CN103167290A (zh) | 一种视频编码运动强度量化方法及装置 | |
CN103051903A (zh) | 一种空域自适应的h.264视频i帧差错掩盖方法 | |
CN101860759B (zh) | 一种编码方法和编码装置 | |
CN102780884B (zh) | 一种率失真优化方法 | |
CN103260019B (zh) | 帧内图像预测编解码方法及视频编解码器 | |
KR100626235B1 (ko) | 이미지 화소 필터링 방법 | |
CN116320471B (zh) | 视频信息隐藏方法、系统、设备及视频隐藏信息提取方法 | |
KR100687845B1 (ko) | 이미지 화소 필터링 방법 | |
KR100626234B1 (ko) | 이미지 화소 필터링 방법 | |
CA2435933C (en) | Encoding and decoding procedures of images, devices and corresponding applications | |
Xiang et al. | A high efficient error concealment scheme based on auto-regressive model for video coding |
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 |