【发明内容】
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
本发明的目的之一在于提供一种视频编码器和编码方法,其将背景和前景分开,在背景不变的情况下,只传输一次背景,从而在视频传输时能大大降低宽带的占用率。
本发明的目的之二在于提供一种视频解码器和方法,其利用基于blending的方法对前景和背景进行融合叠加,很好的还原了原有的视频图像。
根据本发明的一方面,本发明提供一种视频编码器,其包括:视频输入模块,输入视频图像;背景更新模块,在所述视频图像中的背景变化时更新视频图像中的背景;背景建模模块,根据更新的所述视频图像中的背景建立背景模型;背景编码模块,对所述背景模型进行编码以获取背景码流;前景分割模块,根据输入的视频图像以及所述背景模型分割出所述视频图像中的前景区域;前景编码模块,对得到的前景区域进行编码以获取前景码流;传输模块,分别传输所述背景码流和前景码流。
进一步的,所述传输模块包括背景图像传输模块和前景图像传输模块,所述背景述图像传输模块用于传输编码后的背景码流,所述前景图像传输模块用于传输编码后的前景码流。
进一步的,所述基于最大流分割方法的方法包括:获取系列背景图像中每个背景像素的颜色分量的高斯模型;对视频图像中的像素和背景图像进行像素差值,对所述差值大于阈值的像素则作为前景像素;获取所述前景像素的颜色分量的混合高斯模型;采用背景的所述高斯模型和前景的所述混合高斯模型计算视频图像中所有像素属于前景或背景的概率,归一化后得到该像素对应节点在图中分别与前景和背景节点的连接能量;对所述视频图像分别求其相邻像素间的水平边缘强度和垂直边缘强度;根据每个像素和相邻像素的水平边缘强度和垂直边缘强度得到在视频图像中所述像素与相邻像素间的连接能量;根据得到的所有节点间的连接能量,采用最大流分割方法进行最小分割,得到所述视频图像中的前景和背景像素。
进一步的,所述前景编码模块对前景区域内的有效宏块以及相同前景区域的二进制掩模进行编码以组成前景码流,其中所述二进制掩模用于标识视频图像中哪些位置属于前景区域,掩模上每个属于前景的像素被标记为1,否则标记为0;所述前景区域内的有效宏块获取方法为:根据前景区域的二进制掩模获取其最小外接矩形,将所述外接矩形内图像区域分为正方形的宏块,如果宏块中包含前景像素则判定该宏块为有效宏块,需要编码,否则判定为无效宏块,不进行编码。
更进一步的,所述前景编码模块对前景区域内的有效宏块进行编码包括:对第一帧出现的有效前景宏块,按照宏块的顺序依次处理,对所述宏块进行离散余弦变换,并对离散余弦变换系数进行量化,采用差分编码方式对离散余弦变换系数进行预测,进而进行熵编码;对后续出现的各帧,判定前景区域内各宏块是否有效,对有效宏块按照顺序进行下述处理:对当前宏块,在前一帧图像的搜索范围内寻找与其最匹配的有效前景宏块,对前一帧图像中的所述最匹配的有效前景宏块与所述当前宏块做差,对得到的差值进行离散余弦变换,将其离散余弦变换系数量化后进行熵编码。
更进一步的,所述前景编码模块对前景区域的二进制掩模进行编码包括:记录图像中前景区域数目及各前景区域的外接矩形范围,还要记录外接矩形范围内的图像区域中各个宏块是否有效,如有有效则该位置标志为1,否则标志为0,将各个宏块的标志采用熵编码方式进行编码,并与宏块编码结果组成码流传输。
本发明还提供一种视频编码方法,其包括:输入视频图像;在所述视频图像的背景变化时更新其背景;对所述更新的背景建立背景模型并对所述背景模型进行编码以得到背景码流;根据所述视频图像以及所述背景模型分割出所述视频图像中的前景区域并对所述前景区域进行编码以得到前景码流;分别传输所述背景码流和前景码流。
进一步的,利用最大流分割方法对所述视频图像中的前景区域进行分割,其包括:获取系列背景图像中每个背景像素的颜色分量的高斯模型;对视频图像中的像素和背景图像进行像素差值,对所述差值大于阈值的像素则作为前景像素;获取所述前景像素的颜色分量的混合高斯模型;采用背景的所述高斯模型和前景的所述混合高斯模型计算视频图像中所有像素属于前景或背景的概率,归一化后得到该像素对应节点在图中分别与前景和背景节点的连接能量;对所述视频图像分别求其相邻像素间的水平边缘强度和垂直边缘强度;根据每个像素和相邻像素的水平边缘强度和垂直边缘强度得到在视频图像中所述像素与相邻像素间的连接能量;根据得到的所有节点间的连接能量,采用最大流分割方法进行最小分割,得到所述视频图像中的前景和背景像素。
进一步的,将前景区域内的有效宏块以及相同前景区域的二进制掩模进行编码以得到前景码流,其中所述二进制掩模用于标识视频图像中哪些位置属于前景区域,掩模上每个属于前景的像素被标记为1,否则标记为0;所述前景区域内的有效宏块获取方法为:根据前景区域的二进制掩模获取其最小外接矩形,将所述外接矩形内图像区域分为正方形的宏块,如果宏块中包含前景像素则判定该宏块为有效宏块,需要编码,否则判定为无效宏块,不进行编码。
更进一步的,将前景区域内的有效宏块进行编码包括:对第一帧出现的有效前景宏块,按照宏块的顺序依次处理,对所述宏块进行离散余弦变换,并对离散余弦变换系数进行量化,采用差分编码方式对离散余弦变换系数进行预测,进而进行熵编码;对后续出现的各帧,判定前景区域内各宏块是否有效,对有效宏块按照顺序进行下述处理:对当前宏块,在前一帧图像的搜索范围内寻找与其最匹配的有效前景宏块,对前一帧图像中的所述最匹配的有效前景宏块与所述当前宏块做差,对得到的差值进行离散余弦变换,将其离散余弦变换系数量化后进行熵编码。
更进一步的,对相同前景区域的二进制掩模进行编码包括:记录图像中前景区域数目及各前景区域的外接矩形范围,还要记录外接矩形范围内的图像区域中各个宏块是否有效,如有有效则该位置标志为1,否则标志为0,将各个宏块的标志采用熵编码方式进行编码。
更进一步的,将前景区域内有效宏块的编码结果和对应的前景区域的二进制掩模的编码结果组成码流以进行传输。
根据本发明的另一方面,本发明提供一种视频解码器,其包括:解析器模块,对接收到的码流进行解析,并将解析后的背景码流和前景码流分开;背景解码模块,如果接收到解析后的背景码流则对其进行解码以更新背景图像,否则不做处理;前景解码模块,从解析后的前景码流中得到前景区域数目,并获取各前景区域的外接矩形的坐标、宏块编码信息以及宏块有效标志信息;视频合成模块,获取当前图像的背景图像,根据各个前景区域的外接矩形坐标定位到前景区域的左上角,按照和编码相同的顺序,判断外接矩形中宏块对应的前景宏块是否为有效宏块,如果为无效宏块则跳到下一宏块进行处理,否则读取有效宏块的编码信息,解码后得到离散余弦变换系数,恢复残差图像,从前一帧图像中找到其匹配宏块,恢复当前宏块图像,就爱你过当前宏块图像覆盖到当前图像上的对应位置;或将有效宏块叠加到背景图像上。
进一步的,所述前一帧图像为视频解码器解码后的前一帧图像。
本发明还提供一种视频解码方法,其包括:对接收到的码流进行解析,并将解析后的背景码流和前景码流分开;如果接收到解析后的背景码流则对其进行解码以更新背景图像,否则不做处理;从解析后的前景码流中得到前景区域数目,并获取各前景区域的外接矩形的坐标、宏块编码信息以及宏块有效标志信息;获取当前图像的背景图像,根据各个前景区域的外接矩形坐标定位到前景区域的左上角,按照和编码相同的顺序,判断外接矩形中宏块对应的前景宏块是否为有效宏块,如果为无效宏块则跳到下一宏块进行处理,否则读取有效宏块的编码信息,解码后得到离散余弦变换系数,恢复残差图像,从前一帧图像中找到其匹配宏块,恢复当前宏块图像,就爱你过当前宏块图像覆盖到当前图像上的对应位置;或将有效宏块叠加到背景图像上。
进一步的,所述前一帧图像为视频解码器解码后的前一帧图像。
与现有技术相比,本发明中视频编码器对于摄像头静止场景的视频编码,采用前景分割算法从背景中分离前景,对不发生变化的背景仅传送一次,而对包含重要内容的前景区域进行编码传输。为了将前景和背景更干净的分割,所述视频编码器采用了基于最大流分割的方法,能够更精细的得到分割边缘。此外,为了更好的得到合成图像的质量,视频解码器采用基于blending的方法对前景和背景融合叠加。由于背景不变时不需要传输背景图像,从而在视频传输时大大降低了宽带占用率。
【具体实施方式】
本发明的详细描述主要通过程序、步骤、逻辑块、过程或其他象征性的描述来直接或间接地模拟本发明技术方案的运作。为透彻的理解本发明,在接下来的描述中陈述了很多特定细节。而在没有这些特定细节时,本发明则可能仍可实现。所属领域内的技术人员使用此处的这些描述和陈述向所属领域内的其他技术人员有效的介绍他们的工作本质。换句话说,为避免混淆本发明的目的,由于熟知的方法和程序已经容易理解,因此它们并未被详细描述。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。此外,表示一个或多个实施例的方法、流程图或功能框图中的模块顺序并非固定的指代任何特定顺序,也不构成对本发明的限制。
本发明提供一种视频编码器,其将视频图像分成背景和前景并分别进行编码传输,且在背景更新时传输一次背景图像,而在背景没有更新时不进行背景图像的传输。所述视频编码器的具体结构可参见图1所示。
图1为本发明中视频编码器在一个实施例中的结构示意图。请参阅图1所示,所述视频编码器100包括视频输入模块110、背景更新模块120、背景建模模块130、背景编码模块140、前景分割模块150、前景编码模块160以及传输模块170。所述视频编码器100对于摄像头静止场景的视频编码,采用前景分割算法从背景中分离前景,对不发生变化的背景仅传送一次或数次,而对包含重要内容的前景区域图像进行编码传输。
所述视频输入模块110用于输入需要编码传输的视频图像,所述视频图像可以为单张也可以为多张连续的视频图像。
所述背景更新模块120在所述视频图像的背景变化时则更新视频图像中的背景。在实际应用中,在第一次输入视频图像时则将其初始背景作为第一次背景更新来处理,接下来检测视频图像背景是否发生了变化,若发生变化则更新一次视频图像的背景。
所述背景建模模块130对所述视频图像更新后的背景进行背景建模以得到背景模型。所述背景为视频图像中长期相对不动的部分,如在视频监控中,监控摄像头视野内的数、房屋、街道等长期相对不动的部分。对应的,在具体应用中,所述背景建模模块130在视频图像第一次输入时则对初始背景图像进行建模,而在背景更新后则对更新后的背景进行建模。
所述背景编码模块140对所述背景模型进行编码。
在一个实施例中,对于需要传输的一系列背景图像,可以采用I帧P帧方式对背景图像进行编码。首先,获取的第一帧图像中的背景图像被当做I帧编码后进行传输,而后续得到的背景被当做P帧进行处理传输,在I帧中相应搜索范围内找到与之时间相邻的后续帧(即后续的P帧)中各宏块最匹配的宏块,然后将I帧中的各宏块与后续P帧中对应的各宏块的位置做差以得到一组差值向量,对所述差值向量均进行DCT(Discrete Cosine Transform,即离散余弦变换)变换,并对其量化后按照原来宏块的顺序组成一个向量组,所述向量组经过熵编码后进行传输。一般的,由于背景变化很小,所以上述P帧的码流很低,由于摄像机静止情况下,通常背景图像稳定不变,上述确定匹配宏块的方法可以直接在I帧中选用对应位置的宏块以作为P帧的宏块即可。
当然,上述仅仅讲述了一种背景编码的方法,所述背景编码模块140还可以通过其他的方法对背景图像进行编码,其具体实现可以通过软件、硬件或软硬件结合的方式实现对背景模型的编码,其中所述DCT变换以及熵编码的实现方法均属于所属领域的普通技术人员都能够实现的,且不作为本发明的重要技术方案,所以就不再一一详述了。
所述前景分割模块150根据输入的视频图像以及所述背景模型分割出所述视频图像中的前景区域。所述前景为图像中的活动目标,即图像中的运动目标,是视频中相对于背景更加重要的部分。
由于相对于前景的信息比较重要,所以可以采用质量更高的编码方式来对所述前景进行编码,而背景由于很长时间处于不变的状态,在不变的时候只需要传输一次背景即可,所以本发明选择将前景与背景分开编码和传输。
所述前景分割模块150为了更好地将前景从背景中分割出来,减少前景和背景边缘处的不平滑,前景分割模块150的方法有很多,现有的提取前景的方法比如背景差法、混合高斯模型方法以及核密度估计方法。但是,所述方法没有利用图像的区域信息,从而使得对前景与背景的交界区域的边缘分割的效果很差。这里可以采用一个更好的方法,即基于最大流分割(graph-cut)的方法。
在一个实施例中,利用最大流分割的方法对图像进行前景分割。其具体可参见图2所示,图2为本发明在一个实施例中基于最大流分割的前景分割算法的流程图。所述基于最大流分割的前景分割算法包括:
步骤200,输入视频图像;
步骤210,在所述视频图像中提取背景图像;
步骤220,获取所述背景图像中每个背景像素的颜色分量的高斯模型;
步骤230,对前景像素进行标识,具体为:对所述背景图像和视频图像中的前景图像进行像素差值(包括灰度差或颜色差),当所述差值大于阈值时则得到不同于背景的像素标识(如背景像素标识为0时,所述差值大于阈值的像素标识记为1),并认定这些像素绝大部分为前景像素;
步骤240,获取所述标识为前景的像素的颜色分量的混合高斯模型;
步骤250,对所述视频图像中的所有像素,采用所述背景高斯模型和前景混合高斯模型以得到其属于前景和背景的概率,经归一化后分别得到该像素对应节点在图中与前景和背景节点连接的能量,记为能量项1,由此可知,所述能量项1可以理解为每个像素属于前景还是属于背景的概率;
步骤260,获取所述视频图像中相邻像素间的垂直边缘强度;
步骤270,获取所述视频图像中相邻像素间的水平边缘强度;
步骤280,对所述视频图像中所有像素,根据其和相邻像素的所述水平边缘强度和垂直边缘强度得到视频图像中其与相邻像素间的连接能量,即为能量项2;
步骤290,根据得到的所有节点间的连接能量(包括所述能量项1和能量项2),采用最大流分割(graph-cut)的方法进行最小分割,得到输入图像中的前景和背景像素。
需要指出的是,当视频图像中的背景更新时需要对背景进行更新以保证步骤210获取的背景图像为最新图像。
该方法不仅仅利用了前景和背景之间的差来分割前景,而且,还利用了前景和背景区域的颜色模型,以及图像上前景和背景的边缘信息,因而能够得到更好的分割效果。且根据上述方法可以将前景图像中的所有像素标记为相同的数字,如1,而将背景图像中的所有像素标记为相同的数字,如0,这样便得到了一个可识别前景图像区域的二进制掩模。也就是说,所述二进制掩模和图像大小相同,每个像素位置的二进制值标识了该图像中像素是否属于前景,如果像素属于前景,则掩模上对应该像素的值则为1,否则为0。
所述前景编码模块160将所述前景分割出的前景进行编码以用于传输。为了将前景区域进行高质量的编码,本发明对前景区域内的有效宏块以及相同前景区域的二进制掩模进行编码以组成前景码流。
其所述前景区域的有效宏块获取方法具体为:将前景区域的二进制掩模获取其最小外接矩形,将所述最小外接矩形内图像区域分为大小固定的宏块,如果宏块中包含了前景像素,则认为该宏块有效,需要编码,否则认为该宏块中的像素为背景像素,无效,不进行编码;将上述需要编码的宏块按照顺序组成一个宏块向量,可以采用zig-zag扫描的方法确定顺序。
所述宏块可以为N×N的正方形,如可以设定为8×8或16×16的宏块,所述宏块大小的设定是为了后续DCT编码的方便。
在一个实施例中,所述前景编码模块对前景区域内的有效宏块进行编码的方法包括:对第一帧出现的有效前景宏块,按照宏块的顺序依次处理,对所述宏块进行DCT变换,并对DCT系数进行量化,采用差分编码方式对DCT系数进行预测,进而进行熵编码;对后续出现的各帧,判定前景区域内各宏块是否有效,对有效宏块按照顺序进行下述处理:对当前宏块,在前一帧图像的搜索范围内寻找与其最匹配的有效前景宏块,对前一帧图像中的所述最匹配的有效前景宏块与所述当前宏块做差,对得到的差值进行DCT变换,将其DCT系数量化后进行熵编码。
所述前景编码模块对前景区域的二进制掩模进行编码的方法包括:记录图像中前景区域数目及各前景区域的外接矩形范围,还要记录外接矩形范围内的图像区域中各个宏块是否有效,如有有效则该位置标志为1,否则标志为0,将各个宏块的标志采用熵编码方式进行编码。
所述前景编码模块160将所述前景区域内有效宏块的编码结果和对应的二进制掩模上标志的数据组成码流以用于传输。
这样,避免了在每次视频图像的前景发生变化而背景没发生变化时对背景区域的传输,同时,对于前景区域,也利用帧间信息将冗余信息排除,降低了码率。
所述传输模块170对所述背景编码模块140得到的编码后的背景图像和前景编码模块160得到的前景区域的图像进行传输。所述传输模块170包括背景图像传输模块1701和前景图像传输模块1702,其中所述背景图像传输模块1701对背景编码模块140得到的编码后的背景码流进行传输,所述前景图像传输模块1702对前景编码模块160得到的编码后的前景码流进行传输。
在实际应用中,所述背景图像传输模块1701和前景图像传输模块1702对背景码流和前景码流分别传输。由于背景图像在长期内不变的情况下,所述背景图像传输模块1701在此时间段内只传输一次背景码流。
综上所述,本发明中的视频编码器将背景和前景分开,且利用基于最大流分割方法提高了前景和背景交界区域的边缘分割效果,并对前景进行更高质量的编码,而对背景不变时近传输一次背景,从而提高了视频的压缩质量,且大大地降低了传输的视频对宽带的占用率。
图3为本发明中一种视频编码方法在一个实施例中的流程图,请参阅图3所示,所述视频编码方法包括:
步骤310,输入视频图像,所述视频图像可以为单张也可以为多张连续的视频图像。
步骤320,根据所述视频图像建立背景模型,当所述视频图像中的背景发生变化时,则更新背景模型。
步骤330,根据视频图像和背景模型分割前景图像。
为了更好地将前景从背景中分割出来,减少前景和背景边缘处的不平滑,对图像的前景分割的方法有很多,现有的提取前景的方法比如背景差法、混合高斯模型方法以及核密度估计方法。但是,所述方法没有利用图像的区域信息,从而使得对前景与背景的交界区域的边缘分割的效果很差。这里可以采用一个更好的方法,即基于最大流分割(graph-cut)的方法。所述最大流分割的方法具体可以参见图2所示,其内容已在上述部分进行了详细描述,所以这里就不再描述了。
步骤340,分别对背景模型和前景图像进行编码。
在一个实施例中,对背景模型进行编码时,对于需要传输的一系列背景图像,可以采用I帧P帧方式对背景图像进行编码。首先,获取的第一帧图像中的背景图像被当做I帧编码后进行传输,而后续得到的背景被当做P帧进行处理传输,在I帧中相应搜索范围内找到与之时间相邻的后续帧(即后续的P帧)中各宏块最匹配的宏块,然后将I帧中的各宏块与后续P帧中对应的各宏块的位置做差以得到一组差值向量,对所述差值向量均进行DCT(Discrete Cosine Transform,即离散余弦变换)变换,并对其量化后按照原来宏块的顺序组成一个向量组,所述向量组经过熵编码后进行传输。一般的,由于背景变化很小,所以上述P帧的码流很低,由于摄像机静止情况下,通常背景图像稳定不变,上述确定匹配宏块的方法可以直接在I帧中选用对应位置的宏块以作为P帧的宏块即可。
上述过程可以通过软件、硬件或软硬件结合的方式实现对背景模型的编码,其中所述DCT变换以及熵编码的实现方法均属于所属领域的普通技术人员都能够实现的,且不作为本发明的重要技术方案,所以就不再一一详述了。
在另一个实施例中,对前景区域进行编码时,为了将前景区域进行高质量的编码,本发明对前景区域内的有效宏块以及相同前景区域的二进制掩模进行编码以组成前景码流。
其所述前景区域的有效宏块获取方法具体为:将前景区域的二进制掩模获取其最小外接矩形,将所述最小外接矩形内图像区域分为大小固定的宏块,如果宏块中包含了前景像素,则认为该宏块有效,需要编码,否则认为该宏块中的像素为背景像素,无效,不进行编码;将上述需要编码的宏块按照顺序组成一个宏块向量,可以采用zig-zag扫描的方法确定顺序。
所述宏块可以为N×N的正方形,如可以设定为8×8或16×16的宏块,所述宏块大小的设定是为了后续DCT编码的方便。
在一个实施例中,所述前景编码模块对前景区域内的有效宏块进行编码的方法包括:对第一帧出现的有效前景宏块,按照宏块的顺序依次处理,对所述宏块进行DCT变换,并对DCT系数进行量化,采用差分编码方式对DCT系数进行预测,进而进行熵编码;对后续出现的各帧,判定前景区域内各宏块是否有效,对有效宏块按照顺序进行下述处理:对当前宏块,在前一帧图像的搜索范围内寻找与其最匹配的有效前景宏块,对前一帧图像中的所述最匹配的有效前景宏块与所述当前宏块做差,对得到的差值进行DCT变换,将其DCT系数量化后进行熵编码。
所述前景编码模块对前景区域的二进制掩模进行编码的方法包括:记录图像中前景区域数目及各前景区域的外接矩形范围,还要记录外接矩形范围内的图像区域中各个宏块是否有效,如有有效则该位置标志为1,否则标志为0,将各个宏块的标志采用熵编码方式进行编码。
最后将所述前景区域内有效宏块的编码结果和对应的二进制掩模上标志的数据组成码流以用于传输。
这样,避免了在每次视频图像的前景发生变化而背景没发生变化时对背景区域的传输,同时,对于前景区域,也利用帧间信息将冗余信息排除,降低了码率。
步骤350,分别传输编码后的背景码流和前景码流。
本发明还提供一种视频解码器,其将接搜到的码流解析成背景码流和前景码流,并分别将其进行解码并还原成原始图像。其具体可参见图4所示。
图4为本发明中一种视频解码器在一个实施例中的结构示意图。所述视频解码器400包括解析模块410、背景解码模块420、前景解码模块430以及视频合成模块440。
所述解析模块410对接收到的码流进行解析并将解析后的码流分成背景码流和前景码流。
所述背景解码模块420如果接收到解析后的背景码流则对其进行解码以更新背景图像,如果没有接收到解析后的背景码流则不做处理。
在一个实施例中,当接收到I帧数据时,所述背景解码模块420则采用I帧的解码器对其进行解码,并记录下来。如果接收到的是P帧数据,则恢复其DCT系数对应的残差图像,并从I帧中获取匹配宏块图像,还原原视频图像。
所述前景解码模块430对接收到的解析后的前景码流进行解码。
具体的,所述前景解码模块430从解析后的前景码流中得到前景特征,所述前景特征包括前景区域数目、各前景区域的外接矩形的坐标、宏块编码信息以及宏块有效标志信息。从宏块编码信息中分别恢复出各个宏块的信息。将上述前景区域数目、前景区域外接矩形坐标、前景区域宏块编码信息、前景区域宏块有效性标志以及背景图像传送给视频合成模块440。
所述视频合成模块440将解码后的背景图像和前景图像进行合成以得到原始的图像。
在实际应用中,其合成具体为:建立当前图像为背景图像;视频合成模块440对存在的前景区域分别进行处理:根据外接矩形坐标定位到前景区域左上角,按照和编码相同的顺序,对外接矩形中的宏块分别进行下述处理:获取当前宏块对应的前景宏块是否有效标志,如果宏块无效,则跳到处理下一个宏块,否则读取有效宏块的编码信息,解码得到DCT系数,恢复残差图像,从前帧图像中找到其匹配宏块,恢复当前宏块图像;将当前宏块图像覆盖到当前图像上的对应位置。
一种更佳的方法是采用blending的方法,将有效宏块叠加到背景图像上去。从而使得获得的图像更加真实自然,不会在前景和背景交界处留下痕迹。
在与视频编码器进行匹配时,采用视频解码器恢复图像以作为匹配宏块图像,而不是采用上帧图像,从而提高编码性能。
综上所述,本发明利用对应的合成算法将前景和背景图像进行合成或利用blending方法将前景叠加到图像上,从而避免了前景和背景交界处留下痕迹。
图5为本发明中一种视频解码的方法在一个实施例中的流程图,请参阅图5所示,所述视频解码包括:
步骤510,对接收到的码流进行解析以生成背景码流和前景码流。
步骤520,分别对背景码流和前景码流进行解码。
在具体应用中,如果接收到解析后的背景码流则对其进行解码以更新背景图像,如果没有接收到解析后的背景码流则不做处理。在一个实施例中,当接收到I帧数据时,则采用I帧的解码器对其进行解码,并记录下来。如果接收到的是P帧数据,则恢复其DCT系数对应的残差图像,并从I帧中获取匹配宏块图像,还原原图像。
在另一个实施例中,从解析后的前景码流中得到前景区域数目,并获取各前景区域的外接矩形的坐标、宏块编码信息以及宏块有效标志信息。从宏块编码信息中分别恢复出各个宏块的信息。将上述前景区域数目、前景区域外接矩形坐标、前景区域宏块编码信息、前景区域宏块有效性标志以及背景图像传送给视频合成模块。
步骤530,将解码后的背景图像和前景图像进行合成。
在实际应用中,其合成具体为:建立当前图像为背景图像;对存在的前景区域分别进行处理:根据外接矩形坐标定位到前景区域左上角,按照和编码相同的顺序,对外接矩形中的宏块分别进行下述处理:获取当前宏块对应的前景宏块是否有效标志,如果宏块无效,则跳到处理下一个宏块,否则读取有效宏块的编码信息,解码得到DCT系数,恢复残差图像,从前帧图像中找到其匹配宏块,恢复当前宏块图像;将当前宏块图像覆盖到当前图像上的对应位置。
一种更佳的方法是采用blending的方法,将有效宏块叠加到背景图像上去。从而使得获得的图像更加真实自然,不会在前景和背景交界处留下痕迹。
综上所述,本发明利用对应的合成算法将前景和背景图像进行合成或利用blending方法将前景叠加到图像上,从而避免了前景和背景交界处留下痕迹。
上述说明已经充分揭露了本发明的具体实施方式。需要指出的是,熟悉该领域的技术人员对本发明的具体实施方式所做的任何改动均不脱离本发明的权利要求书的范围。相应地,本发明的权利要求的范围也并不仅仅局限于前述具体实施方式。