本发明涉及一种帧序列处理方法、系统和存储介质,具体涉及一种能够消除水印的高分辨率的帧序列处理方法、系统和存储介质。
背景技术:
帧是组成视频序列的基本单位。帧序列是指随时间变化的多个帧,一般指多个图像、一个视频或多个视频。一帧等于一幅图像,帧具有分辨率,相同条件下,分辨率越高越清晰,越低越模糊。
在现有技术中,可以容易获得低分辨率的无水印的帧序列和高分辨率的有水印的帧序列,然而,这两种帧序列都会影响视频的观看效果,无法获得优越的观看效果,因此,需要提供一种能够获得无水印的高分别率的帧序列的方案,以提高视频的观看效果。
技术实现要素:
本发明的目的旨在提供一种能够获得无水印的高分别率的帧序列处理方法,以解决现有技术中无法获得无水印的高分别率的帧序列的问题。
本发明采用的技术方案为:
本发明实施例提供一种帧序列处理方法,用于利用内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,所述第一帧序列和所述第二帧序列的帧数相同,并且所述第一帧序列的分辨率大于所述第二帧序列的分辨率,所述方法包括:
接收用户在第一帧序列中选定的选定区域;
基于选定的选定区域,确定所述第一帧序列和所述第二帧序列中包含所述选定区域内的水印的最小矩形包围盒,包括所述包围盒的左上角和右下角的坐标;
将所述第一帧序列和所述第二帧序列中对应的帧的包围盒内的图像逐帧分别读入第一帧缓存和第二帧缓存中;
将所述第二帧缓存中的帧的分辨率从低分辨率扩大到与第一帧缓存中的帧的分辨率相同;
将第一帧缓存和第二帧缓存中的帧进行逐差处理得到第一差图像,并将第一差图像中的每个差图像内的所有像素点的像素值的平方进行加权求和处理;
对所有像素点的像素值的平方的加权和大于预设阈值的差图像对应的第一帧缓存中的帧进行标记;
根据标记的帧,确定标记帧的水印位置;
根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分。
可选地,所述根据标记的帧,确定标记帧的水印位置包括:
使用标记帧中的第i帧逐像素的减去第i 1帧,获得第二差图像,1≤i≤k-1,k为标记帧的数目;
将第二差图像中像素值小于预设误差阈值的位置确定为第i帧的水印位置,
其中,第k帧的水印位置与第k-1帧的水印位置相同。
可选地,所述根据标记的帧,确定标记帧的水印位置包括:
使用标记帧中的第1帧逐像素的减去第2帧,或者,将标记帧中的任意两帧进行逐像素作差,得到第二差图像;
将第二差图像中像素值小于预设误差阈值的位置确定为所有标记帧的水印位置。
可选地,所述根据标记的帧,确定标记帧的水印位置包括:
(1)使用标记帧中的第i帧逐像素的减去第i 1帧,获得第二差图像1;
(2)使用第i 1帧逐像素的减去第i 2帧,获得第二差图像2;
(3)在第二差图像1和第二差图像2中,如果像素值小于预设误差阈值的位置相同,则确定该位置为第i帧的水印位置;
(4)在第二差图像1和第二差图像2中,如果像素值小于预设误差阈值的位置不同,将该位置确定为第i帧和第i 1帧的水印位置,并进入步骤(5);
(5)从第i 2帧开始,重复步骤(1)-(4),直到第k帧,k为标记帧的数目。
可选地,根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分,包括:
将第一帧缓存中的水印位置对应的第二帧缓存中的帧的像素值代替水印位置处的像素值。
可选地,根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分,包括:
将第一帧缓存中的水印位置对应的第二帧缓存中的帧的像素值代替水印位置处的像素值;
对被第二帧缓存中的帧的像素值代替后的水印位置进行锐化处理。
本发明实施例还提供一种帧序列处理系统,包括:处理器、存储器、第一缓存和第二缓存,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述存储器上存储有内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,所述第一帧序列和所述第二帧序列的帧数相同,并且所述第一帧序列的分辨率大于所述第二帧序列的分辨率;
所述处理器用于执行所述计算机程序时实现上述所述的方法的步骤。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述所述的方法的步骤。
本发明实施例提供的帧序列处理方法,利用内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,具体地,根据用户在高分辨率的帧序列中的选定区域,确定两个帧序列中包含选定区域的最小矩形包围盒,接着,将两个帧序列中对应的帧的包围盒内的图像逐帧分别读入第一帧缓存和第二帧缓存中,然后,将第二帧缓存中的帧的分辨率从低分辨率扩大到与第一帧缓存中的帧的分辨率相同,并将第一帧缓存和第二帧缓存中的帧进行逐差处理得到第一差图像,并将第一差图像中的每个差图像内的所有像素点的像素值的平方进行加权求和处理,如果某个差图像内的所有像素点的像素值的平方的加权和大于预设阈值,则将该差图像对应的第一帧缓存中的帧进行标记,紧接着,根据标记的帧,确定标记帧的水印位置,最后,根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分。可见,采用本发明实施例提供的帧序列处理方法,能够获得无水印的高分别率的帧序列,解决现有技术中无法获得无水印的高分别率的帧序列,影响视频观看效果的问题。
附图说明
图1为本发明实施例提供的帧序列处理方法的流程示意图;
图2为本发明实施例提供的具有水印的帧序列示意图;
图3为本发明实施例提供的读入帧缓存中的帧示意图。
具体实施方式
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
本发明实施例提供一种帧序列处理方法,用于利用内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,所述第一帧序列和所述第二帧序列的帧数相同,并且所述第一帧序列的分辨率(高分辨率w1*h1)大于所述第二帧序列的分辨率(低分辨率w2*h2),第一帧序列和第二帧序列均具有m帧,第一帧序列有水印,第二帧序列没有水印。如图1所示,本发明实施例提供的帧序列处理方法包括:
s100、接收用户在第一帧序列中选定的选定区域。
用于可利用现有技术中的任意方法在第一帧序列中进行选定,例如,如图2所示,在第一帧序列中用椭圆选定需要消除水印的区域。
s200、基于选定的选定区域,确定所述第一帧序列和所述第二帧序列中包含所述选定区域内水印的最小矩形包围盒,包括所述包围盒的左上角和右下角的坐标。
由于用户的选定比较随意,为方便处理,可对用户的选定区域进行规整化处理,例如,如图3所示,利用矩形包围住选定区域内水印。其中,第一帧序列中的包围盒的左上角坐标p1(x1,y1)和右下角坐标p2(x2,y2)可的具体数值基于图像的像素确定。第二帧序列中的包围盒的左上角坐标q1(u1,v1)和右下角坐标q2(u2,v2)通过如下公式(1)和(2)确定:
s300、将所述第一帧序列和所述第二帧序列中对应的帧的包围盒内的图像逐帧分别读入第一帧缓存和第二帧缓存中。
在该步骤中,将确定的包围盒内对应的图像的帧逐帧分别读入第一帧缓存和第二缓存中,这样,可获得第一帧序列的待处理部分和对应的用于替换该处理部分第二帧序列的部分。
s400、将所述第二帧缓存中的帧的分辨率从低分辨率扩大到与第一帧缓存中的帧的分辨率相同。
在该步骤中,将第二帧缓存中的m帧的分辨率从低分辨率w2*h2扩大到高分辨率w1*h1。分辨率扩大会导致呈现的图像模糊,每帧放大后的像素值可以采用现有技术中的任一方式获得,例如线性插值的方法、或者带有反锯齿的线性插值的方法。
s500、将第一帧缓存和第二帧缓存中的帧进行逐差处理得到第一差图像,并将第一差图像中的每个差图像内的所有像素点的像素值的平方进行加权求和处理。
在该步骤中,将第一帧缓存和第二帧缓存中的帧进行逐差处理得到m个第一差图像(f1,f2,...,fm),任一个差图像(例如第i个差图像fi)中任一点的像素值为第一帧缓存和第二帧缓存中的对应帧的像素值的值的绝对值。
s600、对所有像素点的像素值的平方的加权和大于预设阈值的差图像对应的第一帧缓存中的帧进行标记。
在该步骤中,如果步骤s500中的某个差图像内的所有像素点的像素值的平方的加权和大于预设阈值,则将该差图像对应的第一帧缓存中的帧进行标记。具体地,对于第i个差图像fi,如果满足下述公式3,则表示该差图像对应的帧存在水印,那么将该帧进行标记,例如可标记为1或0,执行步骤s700;如果满足下述公式4,则表示该差图像对应的帧不存在水印,则将该帧从第一帧缓存中删除,且不进行任何去水印处理。
其中,zk表示第k个像素的像素值,n表示像素点总数,d为预设值,在一个示例中可为1~2。
通过该步骤,可自动检测出有水印的帧序列。
s700、根据标记的帧,例如k帧图像,k小于或等于m,确定标记帧的水印位置。
在该步骤中,可通过如下三种方式确定标记帧的水印位置。
【方式1】
使用标记帧中的第i帧逐像素的减去第i 1帧,获得第二差图像,1≤i≤k-1,k为标记帧的数目;
将第二差图像中像素值小于预设误差阈值的位置例如像素值为0的位置确定为第i帧的水印位置,
其中,第k帧的水印位置默认与第k-1帧的水印位置相同。
【方式2】
使用标记帧中的第1帧逐像素的减去第2帧,或者,将标记帧中的任意两帧进行逐像素作差,得到第二差图像;
将第二差图像中像素值小于预设误差阈值的位置例如像素值为0的位置确定为所有标记帧的水印位置。
方式2相对于方式1,能够提高水印位置的确定效率。
【方式3】
(1)使用标记帧中的第i帧逐像素的减去第i 1帧,获得第二差图像1;
(2)使用第i 1帧逐像素的减去第i 2帧,获得第二差图像2;
(3)在第二差图像1和第二差图像2中,如果像素值小于预设误差阈值的位置例如像素值为0的位置相同,则确定该位置为第i帧的水印位置;
(4)在第二差图像1和第二差图像2中,如果小于预设误差阈值的位置例如像素值为0的位置不同,将该位置确定为第i帧和第i 1帧的水印位置,并进入步骤(5);
(5)从第i 2帧开始,重复步骤(1)-(4),直到第k帧。
其中,1≤i≤k-2,k为标记帧的数目。
s800、根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分。
在该步骤中,可通过如下两种方案进行:
【方案a】
将第一帧缓存中的水印位置对应的第二帧缓存中的帧的像素值代替水印位置处的像素值。
【方案b】
将第一帧缓存中的水印位置对应的第二帧缓存中的帧的像素值代替水印位置处的像素值;
对被第二帧缓存中的帧的像素值代替后的水印位置进行锐化处理。
方案b在方案a的基础上增加锐化,使得被第二帧缓存中的帧的像素值代替后的水印位置更加清楚,具体的锐化方式可以采用现有技术中的任一方式。
综上,本发明实施例提供的帧序列处理方法,利用内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,具体地,根据用户在高分辨率的帧序列中的选定区域,确定两个帧序列中包含选定区域的最小矩形包围盒,接着,将两个帧序列中对应的帧的包围盒内的图像逐帧分别读入第一帧缓存和第二帧缓存中,然后,将第二帧缓存中的帧的分辨率从低分辨率扩大到与第一帧缓存中的帧的分辨率相同,并将第一帧缓存和第二帧缓存中的帧进行逐差处理得到第一差图像,并将第一差图像中的每个差图像内的所有像素点的像素值的平方进行加权求和处理,如果某个差图像内的所有像素点的像素值的平方的加权和大于预设阈值,则将该差图像对应的第一帧缓存中的帧进行标记,紧接着,根据标记的帧,确定标记帧的水印位置,最后,根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分。可见,采用本发明实施例提供的帧序列处理方法,能够获得无水印的高分别率的帧序列,解决现有技术中无法获得无水印的高分别率的帧序列,影响视频观看效果的问题。
本领域普通技术人员可以理解,实现上述实施例的全部和部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算设备可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤,而前述的存储介质可以包括rom、ram、磁碟和光盘等各种可以存储程序代码的介质。
本发明实施例还提供了一种帧序列处理系统,该系统包括处理器、存储器、第一缓存和第二缓存,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述存储器上存储有内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,所述第一帧序列和所述第二帧序列的帧数相同,并且所述第一帧序列的分辨率大于所述第二帧序列的分辨率;其中,上述处理器执行上述计算机程序时实现上述帧序列处理方法的步骤。
具体地,上述存储器和处理器能够为通用的存储器和处理器,这里不做具体限定,当处理器运行存储器存储的计算机程序时,能够执行上述帧序列处理方法,从而解决相关技术中无法获得没有水印的高分辨率的帧序列的问题。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述帧序列处理方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述帧序列处理方法,从而解决相关技术中无法获得没有水印的高分辨率的帧序列的问题。
本发明实施例所提供的帧序列处理系统可以为系统上的特定硬件或者安装于设备上的软件或固件等。本发明实施例所提供的帧序列处理系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统实施例部分未提及之处,可参考前述方法实施例中相应内容。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、设备和模块的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,设备或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围。都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
1.一种帧序列处理方法,其特征在于,用于利用内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,所述第一帧序列和所述第二帧序列的帧数相同,并且所述第一帧序列的分辨率大于所述第二帧序列的分辨率,所述方法包括:
接收用户在第一帧序列中选定的选定区域;
基于选定的选定区域,确定所述第一帧序列和所述第二帧序列中包含所述选定区域内的水印的最小矩形包围盒,包括所述包围盒的左上角和右下角的坐标;
将所述第一帧序列和所述第二帧序列中对应的帧的包围盒内的图像逐帧分别读入第一帧缓存和第二帧缓存中;
将所述第二帧缓存中的帧的分辨率从低分辨率扩大到与第一帧缓存中的帧的分辨率相同;
将第一帧缓存和第二帧缓存中的帧进行逐差处理得到第一差图像,并将第一差图像中的每个差图像内的所有像素点的像素值的平方进行加权求和处理;
对所有像素点的像素值的平方的加权和大于预设阈值的差图像对应的第一帧缓存中的帧进行标记;
根据标记的帧,确定标记帧的水印位置;
根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分。
2.根据权利要求1所述的帧序列处理方法,其特征在于,所述根据标记的帧,确定标记帧的水印位置包括:
使用标记帧中的第i帧逐像素的减去第i 1帧,获得第二差图像,1≤i≤k-1,k为标记帧的数目;
将第二差图像中像素值小于预设误差阈值的位置确定为第i帧的水印位置,
其中,第k帧的水印位置与第k-1帧的水印位置相同。
3.根据权利要求1所述的帧序列处理方法,其特征在于,所述根据标记的帧,确定标记帧的水印位置包括:
使用标记帧中的第1帧逐像素的减去第2帧,或者,将标记帧中的任意两帧进行逐像素作差,得到第二差图像;
将第二差图像中像素值小于预设误差阈值的位置确定为所有标记帧的水印位置。
4.根据权利要求1所述的帧序列处理方法,其特征在于,所述根据标记的帧,确定标记帧的水印位置包括:
(1)使用标记帧中的第i帧逐像素的减去第i 1帧,获得第二差图像1;
(2)使用第i 1帧逐像素的减去第i 2帧,获得第二差图像2;
(3)在第二差图像1和第二差图像2中,如果像素值小于预设误差阈值的位置相同,则确定该位置为第i帧的水印位置;
(4)在第二差图像1和第二差图像2中,如果像素值小于预设误差阈值的位置不同,将该位置确定为第i帧和第i 1帧的水印位置,并进入步骤(5);
(5)从第i 2帧开始,重复步骤(1)-(4),直到第k帧,k为标记帧的数目。
5.根据权利要求1所述的帧序列处理方法,其特征在于,根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分,包括:
将第一帧缓存中的水印位置对应的第二帧缓存中的帧的像素值代替水印位置处的像素值。
6.根据权利要求1所述的帧序列处理方法,其特征在于,根据确定的水印位置和第二帧缓存中的帧,去除第一帧缓存中的标记帧的水印,并将去除水印后的帧更新第一帧序列中的对应部分,包括:
将第一帧缓存中的水印位置对应的第二帧缓存中的帧的像素值代替水印位置处的像素值;
对被第二帧缓存中的帧的像素值代替后的水印位置进行锐化处理。
7.一种帧序列处理系统,其特征在于,包括:处理器、存储器、第一缓存和第二缓存,以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述存储器上存储有内容相同但分别率不同的第一帧序列和第二帧序列获得无水印的高分辨率的帧序列,所述第一帧序列和所述第二帧序列的帧数相同,并且所述第一帧序列的分辨率大于所述第二帧序列的分辨率;
所述处理器用于执行所述计算机程序时实现上述权利要求1至6任一项所述的方法的步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行上述权利要求1至6任一项所述的方法的步骤。
技术总结