视频字幕翻译方法、系统、电子设备及可读存储介质转让专利

申请号 : CN202011406542.0

文献号 : CN112580446B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周玉

申请人 : 北京中科凡语科技有限公司

摘要 :

本公开提供了视频字幕翻译方法,包括:获取视频关键帧中的字幕区域图片;对字幕区域图片进行文字识别,获得译文字幕;获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧;以及向第一视频字幕转换帧、上一个视频字幕转换帧以及第一视频字幕转换帧和上一个视频字幕转换帧之间的视频数据的所有视频帧回填第一内容;向第二视频字幕转换帧、下一个视频字幕转换帧以及第二视频字幕转换帧和下一个视频字幕转换帧之间视频数据的所有视频帧回填第二内容,其中,第一内容为字幕转换之前的字幕文字内容的译文字幕,第二内容为字幕转换之后的字幕文字内容的译文字幕。本公开还提供了一种视频字幕翻译系统、电子设备以及可读存储介质。

权利要求 :

1.一种视频字幕翻译方法,其特征在于,包括:

根据预设帧率对视频数据进行视频帧抽取,得到视频帧图像,判断当前视频帧图像是否为视频关键帧;当所述当前视频帧图像为视频关键帧时,以当前视频帧图像作为视频关键帧;当所述当前视频帧图像不是视频关键帧时,选择当前视频帧图像的前一视频帧图像或者后一视频帧图像作为视频关键帧,并获取视频关键帧中的字幕区域图片;

对所述字幕区域图片进行文字识别,得到字幕区域图片所对应的字幕文字内容,翻译该字幕文字内容,获得译文字幕;

根据字幕文字内容的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧,其中,所述第一视频字幕转换帧包括字幕转换之前的字幕文字内容,所述第二视频字幕转换帧包括字幕转换之后的字幕文字内容;以及从第一视频字幕转换帧向前查找上一个视频字幕转换帧,向所述第一视频字幕转换帧、上一个视频字幕转换帧以及所述第一视频字幕转换帧和上一个视频字幕转换帧之间的视频数据的所有视频帧回填第一内容;从所述第二视频字幕转换帧向后查找下一个视频字幕转换帧,向所述第二视频字幕转换帧、下一个视频字幕转换帧以及所述第二视频字幕转换帧和下一个视频字幕转换帧之间视频数据的所有视频帧回填第二内容;

其中,所述第一内容为字幕转换之前的字幕文字内容的译文字幕,所述第二内容为字幕转换之后的字幕文字内容的译文字幕;

其中,判断当前视频帧图像是否为视频关键帧包括:

根据当前视频帧图像获取当前视频帧图像的二值化边缘直方图;并且根据当前视频帧图像的前一视频帧图像获取前一视频帧图像的二值化边缘直方图,和/或,根据当前视频帧图像的后一视频帧图像获取后一视频帧图像的二值化边缘直方图;

根据当前视频帧图像的二值化边缘直方图和前一视频帧图像的二值化边缘直方图得到第一帧间差值矩阵;根据当前视频帧图像的二值化边缘直方图和后一视频帧图像的二值化边缘直方图得到第二帧间差值矩阵;

根据第一帧间差值矩阵获得第一帧间差值矩阵的元素和,根据第二帧间差值矩阵获得第二帧间差值矩阵的元素和;以及当第一帧间差值矩阵的元素和或者第二帧间差值矩阵的元素和大于等于预设阈值时,将该当前视频帧图像作为视频关键帧;当第一帧间差值矩阵的元素和和第二帧间差值矩阵的元素和均小于预设阈值时,选择当前视频帧图像的前一视频帧图像或后一视频帧图像作为视频关键帧;

其中,根据字幕文字的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:计算相邻视频关键帧的字幕文字内容的编辑距离;判断该编辑距离是否大于等于编辑距离阈值;

当相邻视频关键帧的字幕文字内容的编辑距离小于编辑距离阈值时,判定所述相邻视频关键帧中的字幕文字内容相同,去除相邻视频关键帧中的一个相邻视频关键帧;当相邻视频关键帧的字幕文字内容的编辑距离大于编辑距离阈值时,判定所述相邻视频关键帧字幕文字内容不相同,根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧;

根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:以视频时间轴为标准,将相邻的视频关键帧分为前视频关键帧和后视频关键帧;

获取前视频关键帧和后视频关键帧之间的视频数据的所有视频帧,并且选择所述相邻视频关键帧之间的视频数据的所有视频帧中的中间位置处的视频帧作为中间视频帧;

计算中间视频帧和前视频关键帧的字幕区域差值矩阵,得到前字幕区域差值矩阵;并且计算中间视频帧和后视频关键帧的字幕区域差值矩阵,得到后字幕区域差值矩阵;

比较前字幕区域差值矩阵的元素和和后字幕区域差值矩阵的元素和;当前字幕区域差值矩阵的元素和大于后字幕区域差值矩阵的元素和时,将中间视频帧作为后视频关键帧;

当前字幕区域差值矩阵的元素和小于后字幕区域差值矩阵的元素和时,将中间视频帧作为前视频关键帧;

重复执行,直至重新选择的中间视频帧与前视频关键帧和/或后视频关键帧相邻;

判断所述重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧和后一帧视频帧的内容是否相同;当该重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧的内容相同时;以所述重新选择的中间视频帧作为第一视频字幕转换帧,以所述重新选择的中间视频帧的后一帧视频帧作为第二视频字幕转换帧;当该重新选择的中间视频帧与该重新选择的中间视频帧的后一帧视频帧的内容相同时;以所述重新选择的中间视频帧的前一帧视频帧作为第一视频字幕转换帧;以所述重新选择的中间视频帧作为第二视频字幕转换帧。

2.根据权利要求1所述的视频字幕翻译方法,其特征在于,还包括:当视频数据的所有视频帧均以译文字幕回填后,使用回填译文字幕后的视频帧生成字幕翻译后的视频,并输出该字幕翻译后的视频。

3.根据权利要求1所述的视频字幕翻译方法,其特征在于,所述获取视频关键帧中的字幕区域图片包括:使用文字检测算法对视频关键帧进行字幕定位,获得视频关键帧中的字幕位置,根据该视频关键帧中的字幕位置,将视频关键帧中的包括字幕的字幕区域从视频关键帧中裁剪,得到字幕区域图片。

4.一种视频字幕翻译系统,其特征在于,包括:

抽取模块,根据预设帧率对视频数据进行视频帧抽取,得到视频帧图像,判断当前视频帧图像是否为视频关键帧;当所述当前视频帧图像为视频关键帧时,以当前视频帧图像作为视频关键帧;当所述当前视频帧图像不是视频关键帧时,选择当前视频帧图像的前一视频帧图像或者后一视频帧图像作为视频关键帧,并获取视频关键帧中的字幕区域图片;

文字识别翻译模块,对所述字幕区域图片进行文字识别,得到字幕区域图片所对应的字幕文字内容,翻译该字幕文字内容,获得译文字幕;

字幕转换帧获取模块,根据字幕文字内容的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧,其中,所述第一视频字幕转换帧包括字幕转换之前的字幕文字内容,所述第二视频字幕转换帧包括字幕转换之后的字幕文字内容;以及译文回填模块,从第一视频字幕转换帧向前查找上一个视频字幕转换帧,向所述第一视频字幕转换帧、上一个视频字幕转换帧以及所述第一视频字幕转换帧和上一个视频字幕转换帧之间的视频数据的所有视频帧回填第一内容;从所述第二视频字幕转换帧向后查找下一个视频字幕转换帧,向所述第二视频字幕转换帧、下一个视频字幕转换帧以及所述第二视频字幕转换帧和下一个视频字幕转换帧之间视频数据的所有视频帧回填第二内容;

其中,所述第一内容为字幕转换之前的字幕文字内容的译文字幕,所述第二内容为字幕转换之后的字幕文字内容的译文字幕;

其中,判断当前视频帧图像是否为视频关键帧包括:

根据当前视频帧图像获取当前视频帧图像的二值化边缘直方图;并且根据当前视频帧图像的前一视频帧图像获取前一视频帧图像的二值化边缘直方图,和/或,根据当前视频帧图像的后一视频帧图像获取后一视频帧图像的二值化边缘直方图;

根据当前视频帧图像的二值化边缘直方图和前一视频帧图像的二值化边缘直方图得到第一帧间差值矩阵;根据当前视频帧图像的二值化边缘直方图和后一视频帧图像的二值化边缘直方图得到第二帧间差值矩阵;

根据第一帧间差值矩阵获得第一帧间差值矩阵的元素和,根据第二帧间差值矩阵获得第二帧间差值矩阵的元素和;以及当第一帧间差值矩阵的元素和或者第二帧间差值矩阵的元素和大于等于预设阈值时,将该当前视频帧图像作为视频关键帧;当第一帧间差值矩阵的元素和和第二帧间差值矩阵的元素和均小于预设阈值时,选择当前视频帧图像的前一视频帧图像或后一视频帧图像作为视频关键帧;

其中,根据字幕文字的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:计算相邻视频关键帧的字幕文字内容的编辑距离;判断该编辑距离是否大于等于编辑距离阈值;

当相邻视频关键帧的字幕文字内容的编辑距离小于编辑距离阈值时,判定所述相邻视频关键帧中的字幕文字内容相同,去除相邻视频关键帧中的一个相邻视频关键帧;当相邻视频关键帧的字幕文字内容的编辑距离大于编辑距离阈值时,判定所述相邻视频关键帧字幕文字内容不相同,根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧;

根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:以视频时间轴为标准,将相邻的视频关键帧分为前视频关键帧和后视频关键帧;

获取前视频关键帧和后视频关键帧之间的视频数据的所有视频帧,并且选择所述相邻视频关键帧之间的视频数据的所有视频帧中的中间位置处的视频帧作为中间视频帧;

计算中间视频帧和前视频关键帧的字幕区域差值矩阵,得到前字幕区域差值矩阵;并且计算中间视频帧和后视频关键帧的字幕区域差值矩阵,得到后字幕区域差值矩阵;

比较前字幕区域差值矩阵的元素和和后字幕区域差值矩阵的元素和;当前字幕区域差值矩阵的元素和大于后字幕区域差值矩阵的元素和时,将中间视频帧作为后视频关键帧;

当前字幕区域差值矩阵的元素和小于后字幕区域差值矩阵的元素和时,将中间视频帧作为前视频关键帧;

重复执行,直至重新选择的中间视频帧与前视频关键帧和/或后视频关键帧相邻;

判断所述重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧和后一帧视频帧的内容是否相同;当该重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧的内容相同时;以所述重新选择的中间视频帧作为第一视频字幕转换帧,以所述重新选择的中间视频帧的后一帧视频帧作为第二视频字幕转换帧;当该重新选择的中间视频帧与该重新选择的中间视频帧的后一帧视频帧的内容相同时;以所述重新选择的中间视频帧的前一帧视频帧作为第一视频字幕转换帧;以所述重新选择的中间视频帧作为第二视频字幕转换帧。

5.一种电子设备,其特征在于,包括:

存储器,所述存储器存储执行指令;以及

处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行如权利要求1至3中任一项所述的方法。

6.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现如权利要求1至3中任一项所述的方法。

说明书 :

视频字幕翻译方法、系统、电子设备及可读存储介质

技术领域

[0001] 本公开涉及一种视频字幕翻译方法、系统、电子设备及可读存储介质。

背景技术

[0002] 视频字幕翻译是输入一段带有字幕的源语言视频,将其翻译成指定目标语言的一种技术。视频字幕翻译技术是一项涉及计算机视觉和自然语言处理的综合性技术,其一般包括识别视频字幕、翻译识别的视频字幕以及将翻译字幕回填。
[0003] 但是,一段十分钟帧率为30fps的视频,共具有18000帧图片,如果对视频中每一帧图片都重复上述步骤,将会耗费很多时间。
[0004] 而且,现有技术中的视频字幕翻译也很难实现译后视频的精准回填。

发明内容

[0005] 为了解决上述技术问题中的至少一个,本公开提供了一种视频字幕翻译方法、系统、电子设备及存储介质。
[0006] 根据本公开的一个方面,提供了一种视频字幕翻译方法,其包括:
[0007] 根据预设帧率对视频数据进行视频帧抽取,得到视频帧图像,判断当前视频帧图像是否为视频关键帧;当所述当前视频帧图像为视频关键帧时,以当前视频帧图像作为视频关键帧;当所述当前视频帧图像不是视频关键帧时,选择当前视频帧图像的前一视频帧图像或者后一视频帧图像作为视频关键帧,并获取视频关键帧中的字幕区域图片;
[0008] 对所述字幕区域图片进行文字识别,得到字幕区域图片所对应的字幕文字内容,翻译该字幕文字内容,获得译文字幕;
[0009] 根据字幕文字内容的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧,其中,所述第一视频字幕转换帧包括字幕转换之前的字幕文字内容,所述第二视频字幕转换帧包括字幕转换之后的字幕文字内容;以及
[0010] 从第一视频字幕转换帧向前查找上一个视频字幕转换帧,向所述第一视频字幕转换帧、上一个视频字幕转换帧以及所述第一视频字幕转换帧和上一个视频字幕转换帧之间的视频数据的所有视频帧回填第一内容;从所述第二视频字幕转换帧向后查找下一个视频字幕转换帧,向所述第二视频字幕转换帧、下一个视频字幕转换帧以及所述第二视频字幕转换帧和下一个视频字幕转换帧之间视频数据的所有视频帧回填第二内容;
[0011] 其中,所述第一内容为字幕转换之前的字幕文字内容的译文字幕,所述第二内容为字幕转换之后的字幕文字内容的译文字幕。
[0012] 根据本公开的至少一个实施方式的视频字幕翻译方法,还包括:当视频数据的所有视频帧均以译文字幕回填后,使用回填译文字幕后的视频帧生成字幕翻译后的视频,并输出该字幕翻译后的视频。
[0013] 根据本公开的至少一个实施方式的视频字幕翻译方法,判断当前视频帧图像是否为视频关键帧包括:
[0014] 根据当前视频帧图像获取当前视频帧图像的二值化边缘直方图;并且根据当前视频帧图像的前一视频帧图像获取前一视频帧图像的二值化边缘直方图,和/或,根据当前视频帧图像的后一视频帧图像获取后一视频帧图像的二值化边缘直方图;
[0015] 根据当前视频帧图像的二值化边缘直方图和前一视频帧图像的二值化边缘直方图得到第一帧间差值矩阵;根据当前视频帧图像的二值化边缘直方图和后一视频帧图像的二值化边缘直方图得到第二帧间差值矩阵;
[0016] 根据第一帧间差值矩阵获得第一帧间差值矩阵的元素和,根据第二帧间差值矩阵获得第二帧间差值矩阵的元素和;以及
[0017] 判断第一帧间差值矩阵的元素和和/或第二帧间差值矩阵的元素和是否大于等于预设阈值,并根据判定结果判断当前视频图像帧是否为视频关键帧。
[0018] 根据本公开的至少一个实施方式的视频字幕翻译方法,所述根据判定结果判断当前视频图像帧是否为视频关键帧包括:
[0019] 当第一帧间差值矩阵的元素和或者第二帧间差值矩阵的元素和大于等于该预设阈值时,将该当前视频帧图像作为视频关键帧;当第一帧间差值矩阵的元素和和第二帧间差值矩阵的元素和均小于该预设阈值时,选择当前视频帧图像的前一视频帧图像或后一视频帧图像作为视频关键帧。
[0020] 根据本公开的至少一个实施方式的视频字幕翻译方法,所述获取视频关键帧中的字幕区域图片包括:
[0021] 使用文字检测算法对视频关键帧进行字幕定位,获得视频关键帧中的字幕位置,根据该视频关键帧中的字幕位置,将视频关键帧中的包括字幕的字幕区域从视频关键帧中裁剪,得到字幕区域图片。
[0022] 根据本公开的至少一个实施方式的视频字幕翻译方法,根据字幕文字的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:
[0023] 计算相邻视频关键帧的字幕文字内容的编辑距离;判断该编辑距离是否大于等于编辑距离阈值;
[0024] 当相邻视频关键帧的字幕文字内容的编辑距离小于编辑距离阈值时,判定所述相邻视频关键帧中的字幕文字内容相同,去除相邻视频关键帧中的一个相邻视频关键帧;当相邻视频关键帧的字幕文字内容的编辑距离大于编辑距离阈值时,判定所述相邻视频关键帧字幕文字内容不相同,根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧。
[0025] 根据本公开的至少一个实施方式的视频字幕翻译方法,根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:
[0026] 以视频时间轴为标准,将相邻的视频关键帧分为前视频关键帧和后视频关键帧;
[0027] 获取前视频关键帧和后视频关键帧之间的视频数据的所有视频帧,并且选择所述相邻视频关键帧之间的视频数据的所有视频帧中的中间位置处的视频帧作为中间视频帧;
[0028] 计算中间视频帧和前视频关键帧的字幕区域差值矩阵,得到前字幕区域差值矩阵;并且计算中间视频帧和后视频关键帧的字幕区域差值矩阵,得到后字幕区域差值矩阵;
[0029] 比较前字幕区域差值矩阵的元素和和后字幕区域差值矩阵的元素和;当前字幕区域差值矩阵的元素和大于后字幕区域差值矩阵的元素和时,将中间视频帧作为后视频关键帧;当前字幕区域差值矩阵的元素和小于后字幕区域差值矩阵的元素和时,将中间视频帧作为前视频关键帧;
[0030] 重复执行,直至重新选择的中间视频帧与前视频关键帧和/或后视频关键帧相邻;
[0031] 判断所述重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧和后一帧视频帧的内容是否相同;当该重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧的内容相同时;以所述重新选择的中间视频帧作为第一视频字幕转换帧,以所述重新选择的中间视频帧的后一帧视频帧作为第二视频字幕转换帧;当该重新选择的中间视频帧与该重新选择的中间视频帧的后一帧视频帧的内容相同时;以所述重新选择的中间视频帧的前一帧视频帧作为第一视频字幕转换帧;以所述重新选择的中间视频帧作为第二视频字幕转换帧。
[0032] 根据本公开的一个方面,提供了一种视频字幕翻译系统,其包括:
[0033] 抽取模块,根据预设帧率对视频数据进行视频帧抽取,得到视频帧图像,判断当前视频帧图像是否为视频关键帧;当所述当前视频帧图像为视频关键帧时,以当前视频帧图像作为视频关键帧;当所述当前视频帧图像不是视频关键帧时,选择当前视频帧图像的前一视频帧图像或者后一视频帧图像作为视频关键帧,并获取视频关键帧中的字幕区域图片;
[0034] 文字识别翻译模块,对所述字幕区域图片进行文字识别,得到字幕区域图片所对应的字幕文字内容,翻译该字幕文字内容,获得译文字幕;
[0035] 字幕转换帧获取模块,根据字幕文字内容的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧,其中,所述第一视频字幕转换帧包括字幕转换之前的字幕文字内容,所述第二视频字幕转换帧包括字幕转换之后的字幕文字内容;以及
[0036] 译文回填模块,从第一视频字幕转换帧向前查找上一个视频字幕转换帧,向所述第一视频字幕转换帧、上一个视频字幕转换帧以及所述第一视频字幕转换帧和上一个视频字幕转换帧之间的视频数据的所有视频帧回填第一内容;从所述第二视频字幕转换帧向后查找下一个视频字幕转换帧,向所述第二视频字幕转换帧、下一个视频字幕转换帧以及所述第二视频字幕转换帧和下一个视频字幕转换帧之间视频数据的所有视频帧回填第二内容;
[0037] 其中,所述第一内容为字幕转换之前的字幕文字内容的译文字幕,所述第二内容为字幕转换之后的字幕文字内容的译文字幕。
[0038] 根据本公开的一个方面,提供了一种电子设备,其包括:
[0039] 存储器,所述存储器存储执行指令;以及
[0040] 处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行上述的方法。
[0041] 根据本公开的一个方面,提供了一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的方法。

附图说明

[0042] 附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
[0043] 图1是根据本公开的一个实施方式的视频字幕翻译方法的流程示意图。
[0044] 图2是根据本公开的一个实施方式的判断当前视频帧图像是否为视频关键帧的流程示意图;
[0045] 图3是根据本公开的另一个实施方式的视频字幕翻译方法的流程示意图。
[0046] 图4是根据本公开的一个实施方式的视频字幕翻译系统的一种结构示意图。
[0047] 图中附图标记具体为:
[0048] 1000  视频字幕翻译系统
[0049] 1002  抽取模块
[0050] 1004  文字识别翻译模块
[0051] 1006  字幕转换帧获取模块
[0052] 1008  译文回填模块
[0053] 1010  输出模块
[0054] 1100  总线
[0055] 1200  处理器
[0056] 1300  存储器
[0057] 1400  其它电路。

具体实施方式

[0058] 下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
[0059] 需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
[0060] 除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
[0061] 在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其它特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。
[0062] 当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上“、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。
[0063] 本文使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
[0064] 图1是根据本公开的一个实施方式的视频字幕翻译方法的流程示意图。
[0065] 如图1所示的视频字幕翻译方法100,其包括:
[0066] 102、根据预设帧率对视频数据进行视频帧抽取,得到视频帧图像,判断当前视频帧图像是否为视频关键帧;当所述当前视频帧图像为视频关键帧时,以当前视频帧图像作为视频关键帧;当所述当前视频帧图像不是视频关键帧时,选择当前视频帧图像的前一视频帧图像或者后一视频帧图像作为视频关键帧,并获取视频关键帧中的字幕区域图片;
[0067] 104、对所述字幕区域图片进行文字识别,得到字幕区域图片所对应的字幕文字内容,翻译该字幕文字内容,获得译文字幕;
[0068] 106、根据字幕文字内容的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧,其中,所述第一视频字幕转换帧包括字幕转换之前的字幕文字内容,所述第二视频字幕转换帧包括字幕转换之后的字幕文字内容;以及
[0069] 108、从第一视频字幕转换帧向前查找上一个视频字幕转换帧,向所述第一视频字幕转换帧、上一个视频字幕转换帧以及所述第一视频字幕转换帧和上一个视频字幕转换帧之间的视频数据的所有视频帧回填第一内容;从所述第二视频字幕转换帧向后查找下一个视频字幕转换帧,向所述第二视频字幕转换帧、下一个视频字幕转换帧以及所述第二视频字幕转换帧和下一个视频字幕转换帧之间视频数据的所有视频帧回填第二内容;
[0070] 其中,所述第一内容为字幕转换之前的字幕文字内容的译文字幕,所述第二内容为字幕转换之后的字幕文字内容的译文字幕。
[0071] 作为一个示例,针对于用户上传一段帧率为30fps的10分钟TED演讲视频,其视频帧率为30fps,则从该视频数据中能够提取18000张视频帧图像。如果对这些视频帧图像均进行处理,则会耗费大量的时间和算力。
[0072] 而且,根据字幕显示原则,字幕显示速度通常慢于0.25字/秒,而待翻译字幕文本通常大于2个字符。因此,可以基于1/2帧率对视频进行初步图像帧抽取。
[0073] 也就是说,针对于30fps的视频数据,该预设帧率可以为15fps。
[0074] 此时,当处理30fps的视频数据时,可以以15fps的帧率进行图像帧抽取,即对18000张视频帧图像进行间隔提取,获得大约9000张待处理的视频帧图像。
[0075] 另一方面,由于视频字幕文本通常是一句话,字符数较多,按照1/2帧率抽取的图像帧,依然会存在大量冗余。
[0076] 因此,本公开中,判断当前视频帧图像是否为视频关键帧:当所述当前视频帧图像为视频关键帧时,以当前视频帧图像作为视频关键帧;当所述当前视频帧图像不是视频关键帧时,选择当前视频帧图像的前一视频帧图像或者后一视频帧图像作为视频关键帧,并获取视频关键帧中的字幕区域图片。
[0077] 图2是根据本公开的一个实施方式的判断当前视频帧图像是否为视频关键帧的流程示意图。
[0078] 作为一个示例,参考图2,所述判断当前视频帧图像是否为视频关键帧包括:
[0079] 1021、根据当前视频帧图像获取当前视频帧图像的二值化边缘直方图;并且根据当前视频帧图像的前一视频帧图像获取前一视频帧图像的二值化边缘直方图,和/或,根据当前视频帧图像的后一视频帧图像获取后一视频帧图像的二值化边缘直方图;
[0080] 1022、根据当前视频帧图像的二值化边缘直方图和前一视频帧图像的二值化边缘直方图得到第一帧间差值矩阵;根据当前视频帧图像的二值化边缘直方图和后一视频帧图像的二值化边缘直方图得到第二帧间差值矩阵;
[0081] 1023、根据第一帧间差值矩阵获得第一帧间差值矩阵的元素和,根据第二帧间差值矩阵获得第二帧间差值矩阵的元素和;以及
[0082] 1024、判断第一帧间差值矩阵的元素和和/或第二帧间差值矩阵的元素和是否大于等于预设阈值,并根据判定结果判断当前视频图像帧是否为视频关键帧。
[0083] 具体地,当第一帧间差值矩阵的元素和或者第二帧间差值矩阵的元素和大于等于该预设阈值时,将该当前视频帧图像作为视频关键帧;当第一帧间差值矩阵的元素和和第二帧间差值矩阵的元素和均小于该预设阈值时,选择当前视频帧图像的前一视频帧图像或后一视频帧图像作为视频关键帧。
[0084] 其中,所述第一帧间差值矩阵通过对前一视频帧图像和当前视频帧图像做差值运算得到,相似地,所述第二帧间差值矩阵通过对当前视频帧图像和前一视频帧图像做差值运算得到。
[0085] 而且,所述第一帧间差值矩阵的元素和通过对所述第一帧间差值矩阵的所有元素的绝对值求和得到,相似地,所述第二帧间差值矩阵的元素和通过对所述第二帧间差值矩阵的所有元素的绝对值求和得到。
[0086] 本公开中,所述获取视频关键帧中的字幕区域图片包括:
[0087] 使用文字检测算法对视频关键帧进行字幕定位,获得视频关键帧中的字幕位置,根据该视频关键帧中的字幕位置,将视频关键帧中的包括字幕的字幕区域从视频关键帧中裁剪,得到字幕区域图片。
[0088] 优选地,所述文字检测算法可以采用CTPN、EAST等深度学习检测算法来实现。
[0089] 通过该文字检测算法能够检测输入图像帧中是否存在字幕,如果存在字幕,则输出字幕区域的具体坐标位置。由此,根据该字幕区域的坐标位置,将视频关键帧中的包括字幕的字幕区域从视频关键帧中裁剪,得到字幕区域图片。
[0090] 本公开中,优选地,当对所述字幕区域图片进行文字识别时,可以采用CTC解码或者Attention解码的卷积循环网络模型等本领域常见的文字识别算法来识别该字幕区域图片上的文字,并由此得到字幕区域图片所对应的字幕文字内容。
[0091] 并且,当翻译该字幕文字内容时,可以采用基于神经网络的机器翻译模型来对字幕文字内容进行翻译,并获得译文字幕;将字幕文字内容和译文字幕对齐。
[0092] 例如,可以采用Transformer的机器翻译模型来进行字幕翻译,例如输入是英文字幕,目标译文字幕是中文,即可利用中英双语对齐语料训练相应的中英机器翻译模型,并通过该中英机器翻译模型将字幕文字内容和译文字幕对齐。
[0093] 本公开中,所述根据字幕文字的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:
[0094] 计算相邻视频关键帧的字幕文字内容的编辑距离;判断该编辑距离是否大于等于编辑距离阈值;
[0095] 当相邻视频关键帧的字幕文字内容的编辑距离小于编辑距离阈值时,判定所述相邻视频关键帧中的字幕文字内容相同,去除相邻视频关键帧中的一个相邻视频关键帧;当相邻视频关键帧的字幕文字内容的编辑距离大于编辑距离阈值时,判定所述相邻视频关键帧字幕文字内容不相同,根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧。
[0096] 更优选地,所述根据字幕文字内容的变化时的位置,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧包括:
[0097] 以视频时间轴为标准,将相邻的视频关键帧分为前视频关键帧和后视频关键帧;
[0098] 获取前视频关键帧和后视频关键帧之间的视频数据的所有视频帧,并且选择所述相邻视频关键帧之间的视频数据的所有视频帧中的中间位置处的视频帧作为中间视频帧;
[0099] 计算中间视频帧和前视频关键帧的字幕区域差值矩阵,得到前字幕区域差值矩阵;并且计算中间视频帧和后视频关键帧的字幕区域差值矩阵,得到后字幕区域差值矩阵;
[0100] 比较前字幕区域差值矩阵的元素和和后字幕区域差值矩阵的元素和;当前字幕区域差值矩阵的元素和大于后字幕区域差值矩阵的元素和时,将中间视频帧作为后视频关键帧;当前字幕区域差值矩阵的元素和小于后字幕区域差值矩阵的元素和时,将中间视频帧作为前视频关键帧;
[0101] 重复执行,直至重新选择的中间视频帧与前视频关键帧和/或后视频关键帧相邻;
[0102] 判断所述重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧和后一帧视频帧的内容是否相同;当该重新选择的中间视频帧与该重新选择的中间视频帧的前一帧视频帧的内容相同时;以所述重新选择的中间视频帧作为第一视频字幕转换帧,以所述重新选择的中间视频帧的后一帧视频帧作为第二视频字幕转换帧;当该重新选择的中间视频帧与该重新选择的中间视频帧的后一帧视频帧的内容相同时;以所述重新选择的中间视频帧的前一帧视频帧作为第一视频字幕转换帧;以所述重新选择的中间视频帧作为第二视频字幕转换帧。
[0103] 图3是根据本公开的另一个实施方式的视频字幕翻译方法的流程示意图。
[0104] 如图3所示的视频字幕翻译方法,其还包括:110、所述视频当视频数据的所有视频帧均以译文字幕回填后,使用回填译文字幕后的视频帧生成字幕翻译后的视频,并输出该字幕翻译后的视频。
[0105] 本公开中,所述视频数据为用户从客户端上传的文件,服务器接收该视频数据后,进行字幕翻译,并在生成字幕翻译后的视频后,用户可以从服务器上下载。
[0106] 图4示出了采用处理系统的硬件实现方式的装置示例图。
[0107] 该装置可以包括执行上述流程图中各个或几个步骤的相应模块。因此,可以由相应模块执行上述流程图中的每个步骤或几个步骤,并且该装置可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
[0108] 该硬件结构可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线1100将包括一个或多个处理器1200、存储器1300和/或硬件模块的各种电路连接到一起。总线1100还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其它电路1400连接。
[0109] 总线1100可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。
[0110] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
[0111] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
[0112] 就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在存储器中。
[0113] 应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0114] 本技术领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,的程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。
[0115] 此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
[0116] 图4是根据本公开的一个实施方式的视频字幕翻译系统的一种结构示意图。
[0117] 如图4所示,根据本公开的视频字幕翻译系统,可以包括:
[0118] 抽取模块1002,根据预设帧率对视频数据进行视频帧抽取,得到视频帧图像,判断当前视频帧图像是否为视频关键帧;当所述当前视频帧图像为视频关键帧时,以当前视频帧图像作为视频关键帧;当所述当前视频帧图像不是视频关键帧时,选择当前视频帧图像的前一视频帧图像或者后一视频帧图像作为视频关键帧,并获取视频关键帧中的字幕区域图片;
[0119] 文字识别翻译模块1004,对所述字幕区域图片进行文字识别,得到字幕区域图片所对应的字幕文字内容,翻译该字幕文字内容,获得译文字幕;
[0120] 字幕转换帧获取模块1006,根据字幕文字内容的参数是否发生变化,获取字幕转换处的第一视频字幕转换帧和第二视频字幕转换帧,其中,所述第一视频字幕转换帧包括字幕转换之前的字幕文字内容,所述第二视频字幕转换帧包括字幕转换之后的字幕文字内容;以及
[0121] 译文回填模块1008,从第一视频字幕转换帧向前查找上一个视频字幕转换帧,向所述第一视频字幕转换帧、上一个视频字幕转换帧以及所述第一视频字幕转换帧和上一个视频字幕转换帧之间的视频数据的所有视频帧回填第一内容;从所述第二视频字幕转换帧向后查找下一个视频字幕转换帧,向所述第二视频字幕转换帧、下一个视频字幕转换帧以及所述第二视频字幕转换帧和下一个视频字幕转换帧之间视频数据的所有视频帧回填第二内容;
[0122] 其中,所述第一内容为字幕转换之前的字幕文字内容的译文字幕,所述第二内容为字幕转换之后的字幕文字内容的译文字幕。
[0123] 本公开中,所述视频字幕翻译系统还包括:输出模块1010,当视频数据的所有视频帧均以译文字幕回填后,使用回填译文字幕后的视频帧生成字幕翻译后的视频,并通过输出模块1010输出该字幕翻译后的视频。
[0124] 本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他硬件模块执行上述的方法。
[0125] 本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的方法。
[0126] 在本说明书的描述中,参考术语“一个实施方式/方式”、“一些实施方式/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施方式/方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式/方式或示例中。在本说明书中,对上述术语的示意性表述不必须的是相同的实施方式/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施方式/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施方式/方式或示例以及不同实施方式/方式或示例的特征进行结合和组合。
[0127] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0128] 本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。