CN115134656A - 一种视频数据处理方法、装置、设备以及介质 - Google Patents
一种视频数据处理方法、装置、设备以及介质 Download PDFInfo
- Publication number
- CN115134656A CN115134656A CN202110327242.1A CN202110327242A CN115134656A CN 115134656 A CN115134656 A CN 115134656A CN 202110327242 A CN202110327242 A CN 202110327242A CN 115134656 A CN115134656 A CN 115134656A
- Authority
- CN
- China
- Prior art keywords
- video
- frame
- sub
- key
- video sequence
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 17
- 238000004040 coloring Methods 0.000 claims abstract description 100
- 238000000034 method Methods 0.000 claims abstract description 97
- 238000012545 processing Methods 0.000 claims abstract description 85
- 230000008569 process Effects 0.000 claims description 55
- 238000009877 rendering Methods 0.000 claims description 43
- 238000003062 neural network model Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 239000011159 matrix material Substances 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 16
- 238000000354 decomposition reaction Methods 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 9
- 238000000638 solvent extraction Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 description 14
- 239000013598 vector Substances 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 12
- 238000012935 Averaging Methods 0.000 description 10
- 210000003128 head Anatomy 0.000 description 10
- 238000013473 artificial intelligence Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000003872 anastomosis Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000011218 segmentation Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请实施例提供了一种视频数据处理方法、装置、设备以及介质,该方法包括:对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;其中,子视频序列包括连续的视频帧,且子视频序列中的视频帧数量少于视频序列中的视频帧数量,子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件;根据子视频序列中每个视频帧分别对应的视频内容参数,确定子视频序列中每个视频帧分别对应的关键内容质量;基于关键内容质量,在子视频序列中确定关键视频帧,对关键视频帧进行着色处理;其中,着色处理后的关键视频帧用于指引对子视频序列进行着色处理。本申请可以从相似划分得到的子视频序列中提取关键视频帧,提高了视频着色的准确性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种视频数据处理方法、装置、设备以及介质。
背景技术
由于技术水平的落后,许多年前拍摄的视频(例如,电影或记录片等)属于黑白视频,该包含历史意义的黑白视频影响了人们的观看体验。目前,对黑白视频的着色主要是直接利用神经网络和用户提示,即对该黑白视频的首个视频帧进行着色,再通过神经网络将该首个视频帧的着色结果传递到其他视频帧,并通过前一个视频帧(例如,视频帧Si)的着色结果对后一个视频帧(例如,视频帧Si+1)的着色结果进行结果修订。
所以,对于现有的黑白视频的着色方案而言,当使用该黑白视频的首个视频帧的着色结果无差别地对其他视频帧进行着色处理时,会影响其他视频帧的着色效果。比如,在基于首个视频帧(即第一个视频帧)为第二个视频帧进行着色处理时,可以有较好的着色效果,在基于第一个视频帧为第三个视频帧进行着色处理时,着色效果会随之降低,在基于第一个视频帧为第四个视频帧进行着色处理时,着色效果会进一步较低,以此类推,随着视频帧数的增多,该着色方案难以确保黑白视频着色的准确性。
发明内容
本申请实施例提供一种视频数据处理方法、装置、设备以及介质,可以提高视频着色的准确性。
本申请实施例一方面提供了一种视频数据处理方法,包括:
对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;子视频序列包括连续的视频帧,且子视频序列中的视频帧数量少于视频序列中的视频帧数量;子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件;
根据子视频序列中每个视频帧分别对应的视频内容参数,确定子视频序列中每个视频帧分别对应的关键内容质量;
基于关键内容质量,在子视频序列中确定关键视频帧,对关键视频帧进行着色处理;着色处理后的关键视频帧用于指引对子视频序列进行着色处理。
本申请实施例一方面提供了一种视频数据处理装置,包括:
相似划分模块,用于对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;子视频序列包括连续的视频帧,且子视频序列中的视频帧数量少于视频序列中的视频帧数量;子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件;
质量确定模块,用于根据子视频序列中每个视频帧分别对应的视频内容参数,确定子视频序列中每个视频帧分别对应的关键内容质量;
关键帧确定模块,用于基于关键内容质量,在子视频序列中确定关键视频帧,对关键视频帧进行着色处理;着色处理后的关键视频帧用于指引对子视频序列进行着色处理。
其中,视频内容参数包括关键部位质量;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块包括:
部位识别单元,用于对视频帧Sj进行关键部位识别,得到关键部位区域,根据关键部位区域统计至少两种部位类型分别对应的关键部位数量;
权重累加单元,用于对每种部位类型分别对应的关键权重和每种部位类型分别对应的关键部位数量进行权重累加,得到视频帧Sj对应的关键部位质量;
第一确定单元,用于根据关键部位质量,确定视频帧Sj对应的关键内容质量。
其中,视频内容参数包括边缘内容量;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块还包括:
区域确定单元,用于获取视频帧Sj的目标像素点,确定目标像素点对应的像素区域;目标像素点为视频帧Sj的像素点中满足像素获取条件的像素点;目标像素点处于像素区域的中心位置;
梯度确定单元,用于基于像素区域中的像素点的像素值,确定目标像素点对应的水平梯度和垂直梯度;
矩阵确定单元,用于根据水平梯度和垂直梯度,确定目标像素点对应的结构张量;
矩阵分解单元,用于对结构张量进行矩阵分解,得到视频帧Sj对应的边缘内容量;
第二确定单元,用于根据边缘内容量,确定视频帧Sj对应的关键内容质量。
其中,视频内容参数包括图像亮度值;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块还包括:
像素平均单元,用于获取视频帧Sj中的像素点的像素亮度值,对像素亮度值进行像素平均处理,得到视频帧Sj对应的图像亮度值;
第三确定单元,用于根据图像亮度值,确定视频帧Sj对应的关键内容质量。
其中,视频内容参数包括平均相似度;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块还包括:
平均处理单元,用于获取视频帧Sj分别与子视频序列中的每个目标视频帧之间的图像距离,对图像距离进行平均处理,得到平均图像距离,将平均图像距离的倒数确定为视频帧Sj对应的平均相似度;目标视频帧是指子视频序列中除视频帧Sj以外的视频帧;
第四确定单元,用于根据平均相似度,确定视频帧Sj对应的关键内容质量。
其中,视频内容参数包括平均相似度、关键部位质量、边缘内容量和图像亮度值;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;视频帧Sj对应的平均相似度是基于视频帧Sj分别与子视频序列中的每个目标视频帧之间的图像距离所确定的;目标视频帧是指子视频序列中除视频帧Sj以外的视频帧;
质量确定模块还包括:
第一运算单元,用于对视频帧Sj对应的关键部位质量、边缘内容量和图像亮度值进行第一运算处理,得到视频帧Sj对应的视频特征值;
第二运算单元,用于对平均相似度和视频特征值进行第二运算处理,得到视频帧Sj对应的关键内容质量。
其中,相似划分模块包括:
序列创建单元,用于在视频序列中获取缓冲区帧,创建缓冲区帧所属的初始子视频序列;缓冲区帧为初始子视频序列的首个视频帧;
参考帧确定单元,用于在视频序列的至少两个视频帧中,将视频帧时间戳晚于缓冲区帧的视频帧时间戳的视频帧确定为参考帧;参考帧包括参考帧Ti;i为小于视频序列中的视频帧数量的正整数;
第一比较单元,用于确定参考帧Ti和缓冲区帧之间的图像相似度;
第一划分单元,用于若参考帧Ti对应的图像相似度满足图像相似条件,则将参考帧Ti划分到缓冲区帧所属的初始子视频序列,得到更新子视频序列;
第二比较单元,用于确定参考帧Ti+1和缓冲区帧之间的图像相似度;参考帧Ti+1为参考帧Ti的下一个视频帧;
第二划分单元,用于若参考帧Ti+1对应的图像相似度满足图像相似条件,则将参考帧Ti+1划分到缓冲区帧所属的更新子视频序列;
第三划分单元,用于若参考帧Ti+1对应的图像相似度不满足图像相似条件,则将更新子视频序列确定为完成相似划分的子视频序列,将参考帧Ti+2确定为下一个缓冲区帧,为下一个缓冲区帧创建下一个子视频序列,直到至少两个视频帧均被划分至所属的子视频序列;参考帧Ti+2为参考帧Ti+1的下一个视频帧。
其中,第一比较单元包括:
特征提取子单元,用于对参考帧Ti和缓冲区帧进行特征提取,得到与参考帧Ti相关联的第一初始图像特征点和与缓冲区帧相关联的第二初始图像特征点;
区域划分子单元,用于将参考帧Ti和缓冲区帧分别均匀划分为至少两个子区域;
特征匹配子单元,用于基于第一初始图像特征点和第二初始图像特征点,在参考帧Ti和缓冲区帧分别包含的至少两个子区域中,确定具有匹配关系的第一目标匹配特征点和第二目标匹配特征点;第一目标匹配特征点属于参考帧Ti,第二目标匹配特征点属于缓冲区帧;
区域确定子单元,用于基于第一目标匹配特征点和第二目标匹配特征点,得到参考帧Ti和缓冲区帧之间的重叠区域;
第一相似子单元,用于基于重叠区域中的像素点数量和缓冲区帧中的像素点数量之间的像素比例,得到参考帧Ti和缓冲区帧之间的重叠相似度,根据重叠相似度,确定参考帧Ti和缓冲区帧之间的图像相似度。
其中,特征匹配子单元包括:
第一提取子单元,用于根据第一初始图像特征点的特征显性因素,在参考帧Ti的至少两个子区域中,确定第一目标图像特征点;第一目标图像特征点分布在参考帧Ti的每个子区域中;
第二提取子单元,用于根据第二初始图像特征点的特征显性因素,在缓冲区帧的至少两个子区域中,确定第二目标图像特征点;第二目标图像特征点分布在缓冲区帧的每个子区域中;
第一匹配子单元,用于根据第一目标图像特征点和第二目标图像特征点之间的特征相似性,确定具有初始匹配关系的第一初始匹配特征点和第二初始匹配特征点;
第二匹配子单元,用于对第一初始匹配特征点和第二初始匹配特征点进行误匹配过滤,得到具有匹配关系的第一目标匹配特征点和第二目标匹配特征点。
其中,第一比较单元还包括:
初始统计子单元,用于根据参考帧Ti和缓冲区帧分别在颜色空间的颜色分量,确定与参考帧Ti相关联的第一初始统计值和与缓冲区帧相关联的第二初始统计值;
第一统计子单元,用于对参考帧Ti在颜色分量上的第一初始统计值进行合并处理,得到与参考帧Ti相关联的第一目标统计值;
第二统计子单元,用于对缓冲区帧在颜色分量上的第二初始统计值进行合并处理,得到与缓冲区帧相关联的第二目标统计值;
直方图生成子单元,用于根据第一目标统计值,生成参考帧Ti对应的第一直方图,根据第二目标统计值,生成缓冲区帧对应的第二直方图;
距离确定子单元,用于基于第一直方图上的第一目标统计值和第二直方图上的第二目标统计值,得到第一直方图和第二直方图之间的直方图距离;
第二相似子单元,用于基于直方图距离,得到参考帧Ti和缓冲区帧之间的吻合相似度,根据吻合相似度,确定参考帧Ti和缓冲区帧之间的图像相似度。
其中,关键帧确定模块包括:
关键帧确定单元,用于在子视频序列的每个视频帧中,将具有最大关键内容质量的视频帧确定为关键视频帧;
着色处理单元,用于获取用于对关键视频帧进行着色处理的神经网络模型和着色提示信息,将着色提示信息和关键视频帧输入至神经网络模型,通过神经网络模型对关键视频帧进行着色处理。
其中,着色处理后的子视频序列的数量为至少两个;
装置还包括:
序列拼接模块,用于获取着色处理后的至少两个子视频序列,根据着色处理后的至少两个子视频序列的序列时间戳,对着色处理后的至少两个子视频序列进行拼接,得到拼接后的至少两个子视频序列;
序列确定模块,用于将拼接后的至少两个子视频序列,确定为着色处理后的视频序列。
本申请实施例一方面提供了一种计算机设备,包括:处理器和存储器;
处理器与存储器相连,其中,存储器用于存储计算机程序,计算机程序被处理器执行时,使得该计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有该处理器的计算机设备执行本申请实施例提供的方法。
本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的方法。
在本申请实施例中,在从视频序列(即当前获取到的视频的视频序列)中获取到至少两个视频帧时,可以对至少两个视频帧进行相似划分,以将至少两个视频帧分别划分到至少两个子视频序列,进而在每个子视频序列中,根据子视频序列中的每个视频帧分别对应的视频内容参数,确定子视频序列中的每个视频帧分别对应的关键内容质量,基于该关键内容质量在该子视频序列中确定关键视频帧。其中,相似划分得到的子视频序列包括连续的视频帧,在至少两个子视频序列的每个子视频序列中,子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件。可以理解的是,当在每个子视频序列中分别确定关键视频帧之后,可以对每个子视频序列中分别对应的关键视频帧进行着色处理,进而基于该着色处理后的关键视频帧,对该着色处理后的关键视频帧所对应的子视频序列进行着色处理。基于此,通过对视频进行子场景分割(即对至少两个视频帧进行相似划分)和关键帧选择(即在子视频序列中确定关键视频帧),可以将图像相似度较高的视频帧划分至同一个子视频序列,进而在通过该子视频序列中具有代表性的关键视频帧对子视频序列中的待着色视频帧进行着色处理时,可以确保对子视频序列进行着色处理的准确性,以至于在通过着色处理后的子视频序列得到着色处理后的视频序列时,可以提高视频着色的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种网络架构的结构示意图;
图2是本申请实施例提供的一种进行数据交互的场景示意图;
图3是本申请实施例提供的一种视频数据处理方法的流程示意图;
图4是本申请实施例提供的一种进行相似划分的场景示意图;
图5是本申请实施例提供的一种生成子视频序列的场景示意图;
图6是本申请实施例提供的一种视频数据处理方法的流程示意图;
图7a是本申请实施例提供的一种进行特征提取的场景示意图;
图7b是本申请实施例提供的一种进行特征匹配的场景示意图;
图8是本申请实施例提供的一种进行吻合度评估的场景示意图;
图9是本申请实施例提供的一种确定关键部位质量的场景示意图;
图10是本申请实施例提供的一种确定边缘内容量的场景示意图;
图11是本申请实施例提供的一种确定平均相似度的场景示意图;
图12是本申请实施例提供的一种进行着色处理的场景示意图;
图13是本申请实施例提供的一种视频数据处理装置的结构示意图;
图14是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,人工智能(Artificial Intelligence,简称AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,计算机视觉(Computer Vision,简称CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
具体的,请参见图1,图1是本申请实施例提供的一种网络架构的结构示意图。如图1所示,该网络架构可以包括业务服务器2000和用户终端集群。其中,用户终端集群具体可以包括一个或者多个用户终端,这里将不对用户终端集群中的用户终端的数量进行限定。如图1所示,多个用户终端具体可以包括用户终端3000a、用户终端3000b、用户终端3000c、…、用户终端3000n;用户终端3000a、用户终端3000b、用户终端3000c、…、用户终端3000n可以分别与业务服务器2000通过有线或无线通信方式进行直接或间接地网络连接,以便于每个用户终端可以通过该网络连接与业务服务器2000之间进行数据交互。
其中,业务服务器2000可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
其中,用户终端集群中的每个用户终端均可以包括:智能手机、平板电脑、笔记本电脑、台式计算机、智能家居、可穿戴设备、车载设备等具有视频数据处理功能的智能终端。应当理解,如图1所示的用户终端集群中的每个用户终端均可以集成安装有目标应用(即应用客户端),当该应用客户端运行于各用户终端中时,可以分别与上述图1所示的业务服务器2000之间进行数据交互。其中,应用客户端具体可以包括:车载客户端、智能家居客户端、娱乐客户端(例如,游戏客户端)、多媒体客户端(例如,视频客户端)、社交客户端以及资讯类客户端(例如,新闻客户端)等。
为便于理解,本申请实施例可以在图1所示的多个用户终端中选择一个用户终端作为目标用户终端。例如,本申请实施例可以将图1所示的用户终端3000a作为目标用户终端,该目标用户终端中可以集成有具备视频编码功能的目标应用(即应用客户端)。此时,该目标用户终端可以通过该应用客户端与业务服务器2000之间实现数据交互。
可以理解的是,本申请实施例所提供的视频数据处理方法可以适用于黑白视频的着色(即上色),以输出黑白视频对应的彩色视频,这里的黑白视频具体可以包括:经典黑白电影、黑白纪录片、医学视频等,这里将不对黑白视频的具体类型进行一一列举。其中,黑白视频可以是由黑白视频帧(这里的黑白视频帧还可以称之为灰度图像、图像帧)所组成的视频序列,这里的黑白视频可以为任意分辨率(即解像度)和帧率的黑白视频。应当理解,对黑白视频的着色也就是对该黑白视频的视频序列中的每个黑白视频帧进行着色,因此,对黑白视频的着色可以分解为对图像帧的着色。
应当理解,用户对灰度微弱递变的敏感程度远远小于对色彩变化的敏感程度。比如,在经典黑白电影和黑白纪录片的着色场景下,为经典黑白电影和黑白记录片进行视频着色,可以增强该经典黑白电影的视觉效果,使用户充分得到美的享受。又比如,在医学视频的着色场景下,为黑白的医学视频进行视频着色,可以看到该医学视频中更加精细的结构,以便于医生对疾病的诊断。
为便于理解,进一步地,请参见图2,图2是本申请实施例提供的一种进行数据交互的场景示意图。其中,如图2所示的业务服务器可以为上述图1所对应实施例中的业务服务器2000,如图2所示的视频终端可以为上述图1所对应实施例的用户终端集群中的任意一个用户终端,为便于理解,本申请实施例以上述图1所示的用户终端3000a作为该视频终端为例,以阐述业务服务器和视频终端的数据交互的具体过程。
如图2所示,在用户Y(即视频终端对应的用户)需要观看视频F(这里的视频F由黑白视频帧构成)对应的彩色视频时,用户Y可以通过集成在视频终端上的应用客户端,向业务服务器发送视频F,业务服务器在接收到视频终端发送的视频F时,可以从该视频F中获取视频F的视频序列,这里的视频序列可以包括至少两个视频帧,至少两个视频帧具体可以包括:视频帧2a、视频帧2b、…、视频帧2n。可以理解的是,业务服务器可以基于视频序列的至少两个视频帧之间的图像相似度,对至少两个视频帧进行相似划分,得到至少两个子视频序列,至少两个子视频序列具体可以包括:子视频序列200a、子视频序列200b、…、子视频序列200k,其中,子视频序列200a可以包括至少一个视频帧,例如,包括视频帧2a、视频帧2b等。其中,本申请实施例不对每个子视频序列中的视频帧的数量进行限定。
可以理解的是,在子视频序列中的视频帧的数量为至少两个时,相似划分可以将连续或相邻的两个或两个以上的视频帧划分为一个子视频序列。可选的,相似划分也可以根据预先确定的图像相似度,将不连续的多个视频帧划分为一个子视频序列。
其中,可以理解的是,每个子视频序列是由视频序列的至少两个视频帧中连续的视频帧所构成的,以一个子视频序列200a为例,子视频序列200a中的首个视频帧与剩余视频帧之间的图像相似度均满足图像相似条件,这里的剩余视频帧指子视频序列200a中除首个视频帧之外的视频帧,这里的首个视频帧指子视频序列200a中的第一个视频帧。同理,其他子视频序列(即子视频序列200b、…、子视频序列200k)中的首个视频帧与剩余视频帧之间的图像相似度同样均满足图像相似条件。
可以理解的是,业务服务器可以根据子视频序列200a中每个视频帧分别对应的视频内容参数,确定子视频序列200a中每个视频帧分别对应的关键内容质量,进而将子视频序列200a中具有最大关键内容质量的视频帧确定为关键视频帧(例如,关键视频帧a)。同理,业务服务器可以在子视频序列200b中确定关键视频帧b、…、在子视频序列200k中确定关键视频帧k。其中,关键内容质量可以表示视频帧在子视频序列中的重要程度,即视频帧在子视频序列中具备共性的程度。
如图2所示,当在至少两个子视频序列的每个子视频序列中确定关键视频帧之后,业务服务器可以对每个子视频序列对应的关键视频帧进行着色处理。比如,对子视频序列200a对应的关键视频帧a进行着色处理,得到着色处理后的关键视频帧a;对子视频序列200b对应的关键视频帧b进行着色处理,得到着色处理后的关键视频帧b;…;对子视频序列200k对应的关键视频帧k进行着色处理,得到着色处理后的关键视频帧k。
如图2所示,在对关键视频帧进行着色处理之后,业务服务器可以基于着色处理后的关键视频帧对子视频序列中除关键视频帧之外的视频帧(即待着色视频帧)进行着色处理。比如,基于着色处理后的关键视频帧a,对子视频序列200a中除关键视频帧a之外的待着色视频帧进行着色处理,得到着色处理后的子视频序列200a;基于着色处理后的关键视频帧b,对子视频序列200b中除关键视频帧b之外的待着色视频帧进行着色处理,得到着色处理后的子视频序列200b;…;基于着色处理后的关键视频帧k,对子视频序列200k中除关键视频帧k之外的待着色视频帧进行着色处理,得到着色处理后的子视频序列200k。此时,每个子视频序列中的视频帧均已完成着色处理。
可以理解的是,业务服务器可以对至少两个着色处理后的子视频序列进行拼接,得到着色处理后的视频序列,进而基于该着色处理后的视频序列得到着色处理后的视频F,以将该着色处理后的视频F返回给视频终端,以使用户Y可以在视频终端上观看视频F对应的彩色视频(即着色处理后的视频F)。
由此可见,在对当前获取到的视频进行着色处理的过程中,本申请实施例可以将视频序列的至少两个视频帧进行相似划分得到子视频序列,进而在对每个子视频序列中的关键视频帧进行着色处理后,基于该着色处理后的关键视频帧,对子视频序列进行着色处理,进而可以提高子视频序列着色的准确性,从而提高了视频着色的准确性。其中,需要注意的是,这里的子视频序列中的首个视频帧和剩余视频帧之间的图像相似度满足图像相似条件,这里的关键视频帧可以为子视频序列中满足关键帧获取条件的视频帧,该关键帧获取条件可以理解为由子视频序列中的每个视频帧分别对应的关键内容质量所确定。因此,通过计算子视频序列中每个视频帧分别对应的视频内容参数,可以确定每个视频帧分别对应的关键内容质量,进而基于该关键内容质量在子视频序列中确定满足关键帧获取条件的关键视频帧。
其中,业务服务器对至少两个视频帧进行相似划分、确定关键视频帧以及对至少两个视频帧进行着色处理的具体过程,可以参见下述图3-图12所对应的实施例。
进一步地,请参见图3,图3是本申请实施例提供的一种视频数据处理方法的流程示意图。该方法可以由用户终端(例如,上述图1所示的用户终端3000a)执行,也可以由业务服务器(例如,上述图1所示的业务服务器2000)执行,还可以由用户终端和业务服务器共同执行。为便于理解,本实施例以该方法由业务服务器执行为例进行说明。其中,该视频数据处理方法至少可以包括以下步骤S101-步骤S103:
步骤S101、对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;
具体的,业务服务器可以在视频序列中获取缓冲区帧,创建缓冲区帧所属的初始子视频序列。其中,缓冲区帧为初始子视频序列的首个视频帧。进一步地,业务服务器可以在视频序列的至少两个视频帧中,将视频帧时间戳晚于缓冲区帧的视频帧时间戳的视频帧确定为参考帧。其中,参考帧包括参考帧Ti,这里的i可以为小于视频序列中的视频帧数量的正整数。进一步地,业务服务器可以确定参考帧Ti和缓冲区帧之间的图像相似度。进一步地,若参考帧Ti对应的图像相似度满足图像相似条件,则业务服务器可以将参考帧Ti划分到缓冲区帧所属的初始子视频序列,得到更新子视频序列。进一步地,业务服务器可以确定参考帧Ti+1和缓冲区帧之间的图像相似度。其中,参考帧Ti+1可以为参考帧Ti的下一个视频帧。进一步地,若参考帧Ti+1对应的图像相似度满足图像相似条件,则业务服务器可以将参考帧Ti+1划分到缓冲区帧所属的更新子视频序列。进一步地,若参考帧Ti+1对应的图像相似度不满足图像相似条件,则业务服务器可以将更新子视频序列确定为完成相似划分的子视频序列,将参考帧Ti+2确定为下一个缓冲区帧,为下一个缓冲区帧创建下一个子视频序列,直到至少两个视频帧均被划分至所属的子视频序列。其中,参考帧Ti+2可以为参考帧Ti+1的下一个视频帧。
为便于理解,请参见图4,图4是本申请实施例提供的一种进行相似划分的场景示意图。如图4所示的缓冲区帧(例如,缓冲区帧H1)可以为视频序列的至少两个视频帧中的首个视频帧,业务服务器可以创建该缓冲区帧H1所属的子视频序列(例如,子视频序列Z1),在至少两个视频帧中获取参考帧(例如,该参考帧可以为视频帧时间戳晚于缓冲区帧H1的参考帧Ti,这里的i可以为小于视频序列中的视频帧数量的正整数),将参考帧Ti输入鉴别器,通过鉴别器确定参考帧Ti与缓冲区帧H1之间的图像相似度(例如,图像相似度X1)。
可以理解的是,若图像相似度X1满足图像相似条件(即鉴别器判断为是),则业务服务器可以继续当前子视频序列,即将参考帧Ti添加缓冲区帧H1所属的子视频序列Z1,进而在至少两个视频帧中获取参考帧(例如,该参考帧可以为视频帧时间戳晚于缓冲区帧H1的参考帧Ti+1),并将该参考帧Ti+1输入鉴别器,通过鉴别器确定参考帧Ti+1与缓冲区帧H1之间的图像相似度(例如,图像相似度X2)。
可选的,若图像相似度X1不满足图像相似条件(即鉴别器判断为否),则业务服务器可以开始新的子视频序列,即将参考帧Ti作为新的缓冲区帧(例如,缓冲区帧H2),并创建该缓冲区帧H2所属的子视频序列(例如,子视频序列Z2),进而在至少两个视频帧中获取参考帧(例如,该参考帧可以为视频帧时间戳晚于缓冲区帧H2的参考帧Ti+1),并将该参考帧Ti+1输入鉴别器,通过鉴别器确定参考帧Ti+1与缓冲区帧H2之间的图像相似度(例如,图像相似度X3)。
为便于理解,请参见图5,图5是本申请实施例提供的一种生成子视频序列的场景示意图。如图5所示的视频可以包括多个视频帧,具体可以包括图5所示的n个视频帧(即图5所示的视频的视频序列中可以包括n个视频帧),n可以为大于1的正整数,n个视频帧具体可以包括:视频帧10a、视频帧10b、视频帧10c、视频帧10d、…、视频帧10n。其中,视频帧10a可以为图2所对应实施例中的视频帧2a、视频帧10b可以为图2所对应实施例中的视频帧2b、…、视频帧10n可以为图2所对应实施例中的视频帧2n。
应当理解,在对n个视频帧进行相似划分时,可以将这n个视频帧划分到不同的子视频序列。比如,k个子视频序列,k个子视频序列具体可以包括图5所示的子视频序列20a、子视频序列20b、…、子视频序列20k。其中,可以理解的是,图5所示的k个子视频序列的每个子视频序列中均至少可以包括一个视频帧。
具体的,本申请可以在图5所示的n个视频帧中,将该n个视频帧的首个视频帧(即视频帧10a)作为缓冲区帧(例如,缓冲区帧Z1),并创建该缓冲区帧Z1所属的子视频序列(例如,子视频序列1),依次获取视频帧时间戳晚于缓冲区帧Z1的参考帧(即视频帧10b、视频帧10c、…、视频帧10n),以依次计算缓冲区帧Z1与参考帧的图像相似度。可以理解的是,本申请可以计算缓冲区帧Z1(即视频帧10a)与参考帧(即视频帧10b)的图像相似度,在视频帧10a与视频帧10b的图像相似度(例如,相似度1)满足图像相似条件时,将相似度1所对应的视频帧10b划分到视频帧10a所属的子视频序列1(即子视频序列20a)中。同理,本申请可以将视频帧10c划分到视频帧10a所属的子视频序列1(即子视频序列20a)中。
进一步地,由于视频帧10d为视频帧10c的下一视频帧,本申请可以计算缓冲区帧Z1(即视频帧10a)与参考帧(即视频帧10d)的图像相似度,在视频帧10a与视频帧10d的图像相似度(例如,相似度2)不满足图像相似条件时,根据视频帧10d更新缓冲区帧Z1,即将视频帧10d作为新的缓冲区帧(例如,缓冲区帧Z2),并创建该缓冲区帧Z2所属的子视频序列(例如,子视频序列2),进而依次获取视频帧时间戳晚于缓冲区帧Z2的参考帧(即视频帧10e、…、视频帧10n),以依次计算缓冲区帧Z2与参考帧的图像相似度。其中,本申请可以将视频帧10e划分到视频帧10d所属的子视频序列2(即子视频序列20b)中。
同理,本申请可以将视频帧10(n-2)作为缓冲区帧Zk,并创建该缓冲区帧所属的子视频序列(例如,子视频序列k),进而依次获取视频帧时间戳晚于缓冲区帧Zk的参考帧(即视频帧10(n-1)、视频帧10n),以依次计算缓冲区帧Zk与参考帧的图像相似度。其中,本申请可以将视频帧10(n-1)和视频帧10n划分到视频帧10(n-2)所属的子视频序列k(即子视频序列20k)中。此时,n个视频帧均被划分至所属的子视频序列。
步骤S102、根据子视频序列中每个视频帧分别对应的视频内容参数,确定子视频序列中每个视频帧分别对应的关键内容质量;
具体的,业务服务器可以对视频帧Sj对应的关键部位质量、边缘内容量和图像亮度值进行第一运算处理,得到视频帧Sj对应的视频特征值。进一步地,业务服务器可以对平均相似度和视频特征值进行第二运算处理,得到视频帧Sj对应的关键内容质量。其中,视频内容参数可以包括平均相似度、关键部位质量、边缘内容量和图像亮度值;子视频序列可以包括视频帧Sj,这里的j可以为小于或等于子视频序列中的视频帧数量的正整数。
其中,可以理解的是,视频帧Sj对应的平均相似度是基于视频帧Sj分别与子视频序列中的每个目标视频帧之间的图像距离所确定的;目标视频帧是指子视频序列中除视频帧Sj以外的视频帧。视频帧Sj对应的关键内容质量是基于视频帧Sj包括的至少两种部位类型中,每种部位类型分别对应的关键权重和每种部位类型分别对应的关键部位数量所确定的。视频帧Sj对应的边缘内容量是基于视频帧Sj中的目标像素点对应的结构张量所确定的;目标像素点为视频帧Sj的像素点中满足像素获取条件的像素点。视频帧Sj对应的图像亮度值是基于视频帧Sj中的像素点的像素亮度值所确定的。
其中,可以理解的是,第一运算处理可以为加法运算,第二运算处理可以为乘法运算,则业务服务器可以通过下述评分计算方法,确定视频帧Sj对应的关键内容质量:分数=(关键部位质量+边缘内容量+图像亮度值)*平均相似度。其中,子视频序列中的每个视频帧均对应不同的关键部位质量、边缘内容量、图像亮度值和平均相似度,这样,子视频序列中的每个视频帧均对应不同的分数(即关键内容质量)。
其中,业务服务器获取视频帧Sj对应的平均相似度、关键部位质量、边缘内容量和图像亮度值,以确定视频帧Sj对应的关键内容质量的具体过程,可以参见下述步骤S202的描述。
步骤S103、基于关键内容质量,在子视频序列中确定关键视频帧,对关键视频帧进行着色处理。
具体的,业务服务器可以在子视频序列的每个视频帧中,将具有最大关键内容质量的视频帧(即满足关键帧获取条件的视频帧)确定为关键视频帧。进一步地,业务服务器可以获取用于对关键视频帧进行着色处理的神经网络模型和着色提示信息,将着色提示信息和关键视频帧输入至神经网络模型,通过神经网络模型对关键视频帧进行着色处理。其中,着色处理后的关键视频帧用于指引对子视频序列进行着色处理。
可选的,业务服务器也可以在子视频序列中将首个视频帧确定为关键视频帧,业务服务器还可以在子视频序列中将中间视频帧确定为关键视频帧。可以理解的是,在测试视频上,将具有最大关键内容质量的视频帧确定为关键视频帧,与将中间视频帧确定为关键视频帧相比,峰值信噪比(Peak signal-to-noise ratio,简称PSNR)有0.1dB(即0.1分贝)的提升。
可以理解的是,神经网络模型提供了一种有趣的深度学习方法,来实时指导目标用户(例如,图2所示的用户Y)进行图像着色,该神经网络模型可以结合输入的关键视频帧(即灰度图像)和着色提示信息(即用户提示),将该关键视频帧和着色提示信息直接映射到卷积神经网络(Convolutional Neural Networks,简称CNN),以实时输出目标用户满意的彩色图像(即着色处理后的关键视频帧)。其中,神经网络模型可以为实时神经网络着色(即Real-Time User-Guided Image Colorization with Learned Deep Priors)模型。可选的,神经网络模型还可以直接对关键视频帧进行着色处理,而无需使用目标用户提供的着色提示信息,这样,神经网络模型可以输出多种不同的彩色图,目标用户可以在多种不同的彩色图中提出最佳的着色方案。应当理解,本申请实施例不对神经网络模型的模型类型进行限定。
由此可见,本申请实施例在从视频序列(即当前获取到的视频的视频序列)中获取到至少两个视频帧时,可以对至少两个视频帧进行相似划分,以将至少两个视频帧分别划分到至少两个子视频序列,进而在每个子视频序列中,根据子视频序列中的每个视频帧分别对应的视频内容参数,确定子视频序列中的每个视频帧分别对应的关键内容质量,基于该关键内容质量在该子视频序列中确定关键视频帧。其中,相似划分得到的子视频序列包括连续的视频帧,在至少两个子视频序列的每个子视频序列中,子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件。可以理解的是,当在每个子视频序列中分别确定关键视频帧之后,可以对每个子视频序列中分别对应的关键视频帧进行着色处理,进而基于该着色处理后的关键视频帧,对该着色处理后的关键视频帧所对应的子视频序列进行着色处理。基于此,通过对视频进行子场景分割(即对至少两个视频帧进行相似划分)和关键帧选择(即在子视频序列中确定关键视频帧),可以将图像相似度较高的视频帧划分至同一个子视频序列,进而在通过该子视频序列中具有代表性的关键视频帧对子视频序列中的待着色视频帧进行着色处理时,可以确保对子视频序列进行着色处理的准确性,以至于在通过着色处理后的子视频序列得到着色处理后的视频序列时,可以提高视频着色的准确性。
进一步地,请参见图6,图6是本申请实施例提供的一种视频数据处理方法的流程示意图。该方法可以由用户终端(例如,上述图1所示的用户终端3000a)执行,也可以由业务服务器(例如,上述图1所示的业务服务器2000)执行,还可以由用户终端和业务服务器共同执行。为便于理解,本实施例以该方法由业务服务器执行为例进行说明。其中,该视频数据处理方法可以包括以下步骤:
步骤S201、对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;
其中,子视频序列包括连续的视频帧,且子视频序列中的视频帧数量少于视频序列中的视频帧数量;子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件。这里的首个视频帧是指子视频序列中的第一视频帧,这里的剩余视频帧是指子视频序列中除首个视频帧以外的视频帧。
可选的,视频序列中的视频帧的数量还可以为一个,这样,业务服务器可以将这一个视频帧确定为一个子视频序列,且直接将这一个视频帧确定为这一个子视频序列对应的关键视频帧,进而直接对该关键视频帧进行着色处理,得到着色处理后的关键视频帧,同时得到着色处理后的子视频序列,而无需基于该着色处理后的关键视频帧指引对子视频序列进行着色处理。
其中,业务服务器对视频序列中的至少两个视频帧进行相似划分的具体过程,可以参见上述图3所对应实施例中对步骤S101的描述,确定参考帧Ti和缓冲区帧之间的图像相似度的具体过程可以描述为:业务服务器可以获取参考帧Ti和缓冲区帧之间的重叠相似度和吻合相似度,以通过重叠相似度和吻合相似度共同确定参考帧Ti和缓冲区帧之间的图像相似度。
应当理解,业务服务器确定参考帧Ti和缓冲区帧之间的重叠相似度的具体过程可以描述为:业务服务器可以对参考帧Ti和缓冲区帧进行特征提取,得到与参考帧Ti相关联的第一初始图像特征点和与缓冲区帧相关联的第二初始图像特征点。进一步地,业务服务器可以将参考帧Ti和缓冲区帧分别均匀划分为至少两个子区域。进一步地,业务服务器可以基于第一初始图像特征点和第二初始图像特征点,在参考帧Ti和缓冲区帧分别包含的至少两个子区域中,确定具有匹配关系的第一目标匹配特征点和第二目标匹配特征点。其中,第一目标匹配特征点属于参考帧Ti,第二目标匹配特征点属于缓冲区帧。进一步地,业务服务器可以基于第一目标匹配特征点和第二目标匹配特征点,得到参考帧Ti和缓冲区帧之间的重叠区域。进一步地,业务服务器可以基于重叠区域中的像素点数量和缓冲区帧中的像素点数量之间的像素比例,得到参考帧Ti和缓冲区帧之间的重叠相似度。
其中,可以理解的是,在重叠相似度满足图像相似条件中的重叠条件时,可以确定该重叠相似度满足图像相似条件。其中,这里的重叠条件可以为像素比例满足重叠阈值(例如,重叠阈值等于0.5),则在像素比例高于重叠阈值时,可以确定参考帧Ti和缓冲区帧之间的重叠相似度满足重叠阈值。应当理解,本申请实施例不对重叠条件以及重叠条件对应的重叠阈值进行限定。
其中,可以理解的是,业务服务器可以通过尺度不变特征转换(ScaleInvariantFeature Transform,简称SIFT)算法对参考帧Ti和缓冲区帧进行特征提取,SIFT算法的实质是在不同的尺度空间上查找关键点(即特征点),该关键点对旋转、尺度缩放、亮度变化保持不变,对视角变化、仿射变换、噪声也保持一定程度的稳定性,是一种非常稳定的局部特征。应当理解,本申请实施例不对特征提取的方式进行限定。
可以理解的是,业务服务器可以直接基于具有匹配关系的第一目标匹配特征点和第二目标匹配特征点,对参考帧Ti和缓冲区帧进行对齐,以得到参考帧Ti和缓冲区帧之间的重叠区域,进而计算得到重叠区域中包括的像素点的像素点数量。可选的,在参考帧Ti和缓冲区帧具有远近景的变换(即尺度缩放)时,业务服务器同样可以基于具有匹配关系的第一目标匹配特征点和第二目标匹配特征点,确定参考帧Ti和缓冲区帧之间具有重叠关系的像素点数量。
应当理解,业务服务器基于第一初始图像特征点和第二初始图像特征点,确定具有匹配关系的第一目标匹配特征点和第二目标匹配特征点的具体过程可以描述为:业务服务器可以根据第一初始图像特征点的特征显性因素,在参考帧Ti的至少两个子区域中,确定第一目标图像特征点。其中,第一目标图像特征点分布在参考帧Ti的每个子区域中。进一步地,业务服务器可以根据第二初始图像特征点的特征显性因素,在缓冲区帧的至少两个子区域中,确定第二目标图像特征点。其中,第二目标图像特征点分布在缓冲区帧的每个子区域中。进一步地,业务服务器可以根据第一目标图像特征点和第二目标图像特征点之间的特征相似性,确定具有初始匹配关系的第一初始匹配特征点和第二初始匹配特征点。进一步地,业务服务器可以对第一初始匹配特征点和第二初始匹配特征点进行误匹配过滤,得到具有匹配关系的第一目标匹配特征点和第二目标匹配特征点。
其中,可以理解的是,业务服务器可以对第一初始图像特征点和第二初始图像特征点进行梯度计算,得到第一初始图像特征点和第二初始图像特征点分别对应的特征显性因素,根据特征显性因素,可以在第一初始图像特征点和第二初始图像特征点中筛选出具有较高梯度的显性特征。比如,第二初始图像特征点的数量可以为2000个,业务服务器可以在缓冲区帧的至少两个子区域中,确定显性特征(即第二目标图像特征点),该第二目标图像特征点的数量可以为200个。
其中,可以理解的是,业务服务器可以将参考帧Ti和缓冲区帧分别均匀划分为至少两个子区域,这样可以确保在特征对齐的时候,避免前景的干预(与前景相对应的为后景,这里的后景可以表示视频帧中的背景,这里的背景可以包括建筑物、山脉等),这里的前景可以表示视频帧中的物体,这里的物体可以包括人、动物等。比如,可以对缓冲区帧进行3*3的均匀划分,得到缓冲区帧对应的9个均匀的子区域。因此,本申请实施例可以在缓冲区帧的9个子区域的第二初始图像特征点中,抽取具有较高特征显性因素的显性特征作为第二目标图像特征点,以在后续步骤中对该第二目标图像特征点与参考帧Ti对应的第一目标图像特征点作特征对齐。
其中,可以理解的是,业务服务器在确定第一目标图像特征点和第二目标图像特征点之间的特征相似性时,可以获取与第一目标图像特征点相关联的第一特征向量和与第二目标图像特征点相关联的第二特征向量,计算第一特征向量和第二特征向量之间的向量距离,将向量距离满足向量阈值所对应的第一特征向量和第二特征向量确定为具有初始匹配关系的特征向量,进而将满足向量阈值的第一特征向量所对应的第一目标图像特征点确定为第一初始匹配特征点,将满足向量阈值的第二特征向量所对应的第二目标图像特征点确定为第二初始匹配特征点。应当理解,本申请实施例不对特征相似性的计算方式进行限定。
其中,可以理解的是,业务服务器可以通过随机抽样一致算法(Random SampleConsensus,简称RANSAC)算法,对第一初始匹配特征点和第二初始匹配特征点进行误匹配过滤,RANSAC算法可以在第一初始匹配特征点和第二初始匹配特征点中剔除无匹配特征点和误匹配特征点(即实现特征对齐),得到第一目标匹配特征点和第二目标匹配特征点。应当理解,本申请实施例不对误匹配过滤的方式进行限定。
为便于理解,请参见图7a,图7a是本申请实施例提供的一种进行特征提取的场景示意图。对图7a所示的缓冲区帧进行特征提取,可以得到与缓冲区帧相关联的初始图像特征点(即上述第二初始图像特征点),这里的初始图像特征点具体可以包括:特征点61a、特征点61b、特征点61c、特征点61d、特征点61e、特征点61f、特征点61g和特征点61h。对图7a所示的缓冲区帧进行区域划分,可以得到与缓冲区帧相关联的两个子区域,这里的两个子区域具体可以包括子区域Q1和子区域Q2。
如图7a所示,子区域Q1可以包括:特征点61a、特征点61b、特征点61e和特征点61f,子区域Q2可以包括:特征点61c、特征点61d、特征点61g和特征点61h。根据初始图像特征点的特征显性因素,可以在子区域Q1和子区域Q2中确定目标图像特征点(即上述第二目标图像特征点),这里可以将子区域Q1中的特征点61a、特征点61b和特征点61e,确定为与子区域Q1相关联的目标图像特征点;这里可以将子区域Q2中的特征点61d、特征点61g和特征点61h,确定为与子区域Q2相关联的目标图像特征点。
为便于理解,请参见图7b,图7b是本申请实施例提供的一种进行特征匹配的场景示意图。如图7b所示的视频帧可以为缓冲区帧(例如,上述图7a所对应实施例中的缓冲区帧)和参考帧(例如,参考帧C),与缓冲区帧相关联的第二目标图像特征点可以包括:特征点61a、特征点61b、特征点61d、特征点61e、特征点61g和特征点61h,与参考帧C相关联的第一目标图像特征点可以包括:特征点62a、特征点62b、特征点62c、特征点62d、特征点62e、特征点62f和特征点62g。
如图7b所示,根据第一目标图像特征点和第二目标图像特征点之间的特征相似性,可以在第一目标图像特征点中确定满足初始匹配关系的第一初始匹配特征点,在第二目标图像特征点中确定满足初始匹配关系的第二初始匹配特征点。第二初始匹配特征点可以包括:特征点61a、特征点61b、特征点61d、特征点61e、特征点61g和特征点61h,第一初始匹配特征点可以包括:特征点62a、特征点62b、特征点62c、特征点62d、特征点62f和特征点62g。其中,(特征点61a,特征点62b)、(特征点61b,特征点62a)、(特征点61d,特征点62c)、(特征点61e,特征点62d)、(特征点61g,特征点62f)和(特征点61h,特征点62g)具有初始匹配关系。
如图7b所示,对上述第一初始匹配特征点和第二初始匹配特征点进行误匹配过滤,可以在第一初始匹配特征点中确定误匹配过滤得到的第一目标匹配特征点,在第二初始匹配特征点中确定误匹配过滤得到的第二目标匹配特征点。第二目标匹配特征点可以包括:特征点61d、特征点61e、特征点61g和特征点61h,第一目标匹配特征点可以包括:特征点62c、特征点62d、特征点62f和特征点62g。其中,(特征点61d,特征点62c)、(特征点61e,特征点62d)、(特征点61g,特征点62f)和(特征点61h,特征点62g)具有匹配关系,该匹配关系在初始匹配关系的基础上过滤了初始匹配关系:(特征点61a,特征点62b)和(特征点61b,特征点62a)。
应当理解,业务服务器确定参考帧Ti和缓冲区帧之间的吻合相似度的具体过程可以描述为:业务服务器可以根据参考帧Ti和缓冲区帧分别在颜色空间的颜色分量,确定与参考帧Ti相关联的第一初始统计值和与缓冲区帧相关联的第二初始统计值。进一步地,业务服务器可以对参考帧Ti在颜色分量上的第一初始统计值进行合并处理,得到与参考帧Ti相关联的第一目标统计值。进一步地,业务服务器可以对缓冲区帧在颜色分量上的第二初始统计值进行合并处理,得到与缓冲区帧相关联的第二目标统计值。进一步地,业务服务器可以根据第一目标统计值,生成参考帧Ti对应的第一直方图,根据第二目标统计值,生成缓冲区帧对应的第二直方图。进一步地,业务服务器可以基于第一直方图上的第一目标统计值和第二直方图上的第二目标统计值,得到第一直方图和第二直方图之间的直方图距离。进一步地,业务服务器可以基于直方图距离,得到参考帧Ti和缓冲区帧之间的吻合相似度。
其中,可以理解的是,在吻合相似度满足图像相似条件中的吻合条件时,可以确定该吻合相似度满足图像相似条件。其中,这里的吻合条件可以为吻合相似度满足吻合阈值(吻合阈值的范围可以为0到1,0表示完全不吻合,1表示完全吻合,例如,吻合阈值等于0.7),则在吻合相似度高于吻合阈值时,可以确定参考帧Ti和缓冲区帧之间的吻合相似度满足吻合阈值。应当理解,本申请实施例不对吻合条件以及吻合条件对应的吻合阈值进行限定。
其中,可以理解的是,参考帧Ti和缓冲区帧所在的颜色空间可以为灰度空间,颜色分量可以为参考帧Ti和缓冲区帧在灰度空间中的灰度值,这里的灰度值可以包括256个索引参数,即灰度值的取值范围可以为0到255,0表示白色,255表示黑色。其中,在参考帧Ti和缓冲区帧包括黑色和白色时,即参考帧Ti和缓冲区帧的灰度值取值为255和0时,参考帧Ti和缓冲区帧所在的黑白空间可以理解为一种特殊的灰度空间。应当理解,本申请实施例不对颜色空间的类型进行限定。
其中,可以理解的是,业务服务器可以对初始统计值(例如,第一初始统计值)进行合并处理,以得到目标统计值(例如,第一目标统计值),这里的第一初始统计值可以为参考帧Ti在256个索引参数上的统计值,这里的第一目标统计值可以为参考帧Ti在64个索引参数上的统计值。
其中,可以理解的是,业务服务器可以通过距离函数,对第一目标统计值和第二目标统计值在不同索引参数上的目标统计值进行距离计算,以通过不同索引参数上的距离值,得到第一目标统计值和第二目标统计值之间的距离值(即第一直方图和第二直方图之间的直方图距离)。业务服务器可以通过卡方距离(即Chi-squared distance)计算第一目标统计值和第二目标统计值之间的距离值(例如,距离值J1),业务服务器还可以通过欧氏距离计算第一目标统计值和第二目标统计值之间的距离值(例如,距离值J2)。应当理解,本申请实施例不对直方图距离的计算方式进行限定。比如,与缓冲区帧相关联的第二目标统计值可以为B11、B12和B13,与参考帧Ti相关联的第一目标统计值可以为B21、B22和B23,卡方距离可以表示为:
其中,xi是第二目标统计值的第i个变量的取值(例如,第1个变量的取值为B11,第2个变量的取值为B12,第3个变量的取值为B13),E(xi)是第二目标统计值在第i类变量的期望频数;yi是第一目标统计值的第i个变量的取值(例如,第1个变量的取值为B21,第2个变量的取值为B22,第3个变量的取值为B23),E(yi)是第一目标统计值在第i类变量的期望频数。
其中,通过卡方距离进行距离计算得到的距离值J1越大,表示第二目标统计值和第一目标统计值之间的差异越大,即表示第二直方图和第一直方图之间的差异越大。可以理解的是,通过对距离值J1(即直方图距离)进行求倒计算,可以得到第二直方图和第一直方图之间的吻合相似度,即缓冲区帧和参考帧Ti之间的吻合相似度。应当理解,本申请实施例不对基于直方图距离确定吻合相似度的方式进行限定。
为便于理解,请参见图8,图8是本申请实施例提供的一种进行吻合度评估的场景示意图。如图8所示的缓冲区帧8所在的颜色空间可以包括一个颜色分量,该颜色分量可以包括多个索引参数,多个索引参数具体可以包括:分量a1、分量a2、…、分量a6。对缓冲区帧8在颜色分量的多个索引参数上进行颜色统计,可以得到缓冲区帧8在分量a1上的初始统计值为A1、缓冲区帧8在分量a2上的初始统计值为A2、…、缓冲区帧8在分量a6上的初始统计值为A6,通过上述初始统计值和可以得到初始直方图。
如图8所示,在对缓冲区帧8在颜色分量上的初始统计值进行合并处理时,可以合并颜色分量上的多个索引参数,例如,可以合并分量a1和分量a2,得到分量b1;合并分量a3和分量a4,得到分量b2;合并分量a5和分量a6,得到分量b3。因此,缓冲区帧8在分量b1上的目标统计值可以为B1、缓冲区帧8在分量b2上的目标统计值可以为B2、缓冲区帧8在分量b3上的目标统计值可以为B3,通过上述目标统计值可以得到目标直方图(即缓冲区帧8对应的第二直方图)。其中,B1可以为A1和A2的累加,B2可以为A3和A4的累加,B3可以为A5和A6的累加。
应当理解,业务服务器可以根据上述重叠相似度和吻合相似度共同确定参考帧Ti和缓冲区帧之间的图像相似度,若重叠相似度满足图像相似条件中的重叠条件,且吻合相似度满足图像相似条件中的吻合条件,则确定参考帧Ti和缓冲区帧之间的图像相似度满足图像相似条件。可选的,若重叠相似度不满足图像相似条件中的重叠条件,或者吻合相似度不满足图像相似条件中的吻合条件,则确定参考帧Ti和缓冲区帧之间的图像相似度不满足图像相似条件。
可选的,业务服务器也可以根据重叠相似度,确定参考帧Ti和缓冲区帧之间的图像相似度,即业务服务器可以直接将重叠相似度,作为参考帧Ti和缓冲区帧之间的图像相似度,这样,在重叠相似度满足图像相似条件中的重叠条件时,确定参考帧Ti和缓冲区帧之间的图像相似度满足图像相似条件。
可选的,业务服务器还可以根据吻合相似度,确定参考帧Ti和缓冲区帧之间的图像相似度,即业务服务器可以直接将吻合相似度,作为参考帧Ti和缓冲区帧之间的图像相似度,这样,在吻合相似度满足图像相似条件中的吻合条件时,确定参考帧Ti和缓冲区帧之间的图像相似度满足图像相似条件。
可选的,可以理解的是,业务服务器确定参考帧Ti和缓冲区帧之间的图像相似度的方式,包括但不限于上述重叠相似度和吻合相似度的方式,比如,业务服务器还可以根据亮度相似度等方式、或者根据亮度相似度与上述重叠相似度和吻合相似度进行组合的方式,确定参考帧Ti和缓冲区帧之间的图像相似度,本申请实施例不对确定图像相似度的方式进行限定。其中,亮度相似度可以表示图像亮度值之间的相似度,这里的图像亮度值可以参见下述步骤S202的具体描述。
步骤S202、根据子视频序列中每个视频帧分别对应的视频内容参数,确定子视频序列中每个视频帧分别对应的关键内容质量;
其中,视频内容参数可以包括平均相似度、关键部位质量、边缘内容量和图像亮度值,业务服务器可以基于平均相似度、关键部位质量、边缘内容量和图像亮度值,确定子视频序列中每个视频帧分别对应的关键内容质量。
应当理解,视频内容参数可以包括关键部位质量;子视频序列可以包括视频帧Sj,这里的j可以为小于或等于子视频序列中的视频帧数量的正整数。业务服务器确定视频帧Sj对应的关键部位质量的具体过程可以描述为:业务服务器可以对视频帧Sj进行关键部位识别,得到关键部位区域,根据关键部位区域统计至少两种部位类型分别对应的关键部位数量。进一步地,业务服务器可以对每种部位类型分别对应的关键权重和每种部位类型分别对应的关键部位数量进行权重累加,得到视频帧Sj对应的关键部位质量。
可以理解的是,通过目标用户(例如,图2所示的用户Y)对关键部位的关注程度,可以确定关键部位质量,在视频帧Sj包括较多数量的关键部位时,视频帧Sj越具有代表性,因此,视频内容参数可以包括关键部位质量。
其中,可以理解的是,业务服务器可以通过部位识别模型对视频帧Sj进行关键部位识别,由于目标用户对头部和手部具有更大的关注,这里的关键部位可以包括头部和手部,头部对应的关键权重可以为1分,手部对应的关键权重可以为0.5分。可选的,关键部位还可以包括腿部、肩膀、胳膊肘等,这里不对关键部位可以包括的类型进行一一列举。应当理解,部位识别模型可以为openpose(即Realtime Multi-Person 2D Pose EstimationUsing Part Affinity Fields)模型,本申请实施例不对部位识别模型的模型类型进行限定。同理,本申请实施例不对关键部位的类型以及每种部位类型分别对应的关键权重进行限定。
为便于理解,请参见图9,图9是本申请实施例提供的一种确定关键部位质量的场景示意图。如图9所示,在关键部位包括头部和手部时,对视频帧9进行关键部位识别,可以得到3个关键部位区域,这3个关键部位区域可以为区域W1、区域W2和区域W3,区域W1和区域W2为手部对应的关键部位区域,区域W3为头部对应的关键部位区域,则手部对应的关键部位数量为2个,头部对应的关键部位数量为1个。
其中,手部对应的关键部位数量(即2个)乘以手部对应的关键权重(例如,0.5分),可以得到手部对应的关键部位质量等于1;头部对应的关键部位数量(即1个)乘以头部对应的关键权重(例如,1分),可以得到头部对应的关键部位质量等于1。手部对应的关键部位质量加上头部对应的关键部位质量等于2,即视频帧9对应的关键部位质量等于2。
应当理解,视频内容参数可以包括边缘内容量;子视频序列可以包括视频帧Sj,这里的j可以为小于或等于子视频序列中的视频帧数量的正整数。业务服务器确定视频帧Sj对应的边缘内容量的具体过程可以描述为:业务服务器可以获取视频帧Sj的目标像素点,确定目标像素点对应的像素区域。其中,目标像素点为视频帧Sj的像素点中满足像素获取条件的像素点;目标像素点处于像素区域的中心位置。进一步地,业务服务器可以基于像素区域中的像素点的像素值,确定目标像素点对应的水平梯度和垂直梯度。进一步地,业务服务器可以根据水平梯度和垂直梯度,确定目标像素点对应的结构张量。进一步地,业务服务器可以对结构张量进行矩阵分解,得到视频帧Sj对应的边缘内容量。
可以理解的是,边缘内容量(即物体边缘量)可以表示视频帧Sj的结构复杂性,视频帧Sj的结构越复杂,则表示视频帧Sj颜色丰富的可能性越大,且该视频帧Sj中丰富的内容能够帮助对子视频序列中的其他视频帧(即下述步骤S204中的待着色视频帧)进行着色处理,即视频帧Sj越具有代表性,因此,视频内容参数可以包括边缘内容量。
其中,可以理解的是,业务服务器可以根据像素获取条件,在视频帧Sj中获取目标像素点,这里的像素获取条件可以表示以固定间隔获取视频帧Sj中的像素点(例如,获取像素点S1作为目标像素点),以对像素点S1对应的像素区域进行固定间隔的滑动操作,得到像素点S2和像素点S2对应的像素区域。可以理解的是,根据像素获取条件在视频帧Sj中获取目标像素点,可以减少计算工作量。可选的,本申请实施例还可以将视频帧Sj中的所有像素点均作为目标像素点。比如,在视频帧Sj的像素数量为1000*1000时,可以获取第一行、第一列的像素作为像素点S1,在固定间隔等于4时,可以获取第一行、第五列的像素作为像素点S2。其中,像素点S1和像素点S2对应的像素区域的区域大小可以为64*64,则一个像素点可以对应一个像素区域(即小块),一个像素区域可以包括64*64的大小。应当理解,像素区域的区域大小还可以为32*32,本申请实施例不对目标像素点对应的像素区域的区域大小进行限定。
其中,可以理解的是,在目标像素点对应的像素区域包括非视频帧Sj所属的区域时,业务服务器可以对该非视频帧Sj所属的区域进行补齐,以得到目标像素点对应的完整的像素区域。比如,在目标像素点为第一行、第一列的像素点时,需要对该目标像素点的上方像素区域和左侧像素区域进行补齐操作。又比如,在目标像素点为第一行、第五列的像素点时,需要对该目标像素点的上方像素区域和部分左侧像素区域进行补齐操作。
其中,可以理解的是,业务服务器可以对目标像素点对应的结构张量(即structure tensor)进行矩阵分解,得到结构张量对应的特征值(即eigenvalue),以将该特征值作为目标像素点对应的边缘内容量,因此,业务服务器可以对目标像素点对应的特征值进行平均处理,得到视频帧Sj对应的边缘内容量。其中,目标像素点对应的结构张量为基于目标像素点对应的水平梯度和垂直梯度所得到的2*2矩阵。
其中,特征值可以表示目标像素点的梯度,目标像素点的梯度表示目标像素点的像素值在像素区域中的变化。比如,当目标像素点的像素值为黑色、像素区域中的像素点的像素值为白色时,表示目标像素点的梯度较大。又比如,当目标像素点的像素值为灰色、像素区域中的像素点的像素值为白色时,表示目标像素点的梯度较小。
可选的,业务服务器可以对目标像素点对应的结构张量进行矩阵分解,得到该结构张量对应的行列式和迹,进而在行列式大于0、且迹等于0时,确定该目标像素点属于边缘区域。在将视频帧Sj中的每个像素点均作为目标像素点时,可以得到视频帧Sj中的每个像素点属于的区域类型(即平坦区域、边缘区域或者角点区域),进而计算边缘区域对应的像素点与全部区域类型对应的像素点的像素比例,基于该像素比例确定视频帧Sj对应的边缘内容量。
为便于理解,请参见图10,图10是本申请实施例提供的一种确定边缘内容量的场景示意图。在图10所示的视频帧11和视频帧12中,可以分别获取N个目标像素点,在计算得到视频帧11和视频帧12分别的N个目标像素点对应的结构张量后,可以对这2N个结构张量进行矩阵分解,得到视频帧11的N个目标像素点对应的N个特征值,得到视频帧12的N个目标像素点对应的N个特征值。其中,视频帧11的N个目标像素点对应的N个特征值可以包括:V11、V12、…、V1N,视频帧12的N个目标像素点对应的N个特征值可以包括:V21、V22、…、V2N。
如图10所示,对V11、V12、…、V1N进行平均处理,可以得到视频帧11对应的边缘内容量L1,对V21、V22、…、V2N进行平均处理,可以得到视频帧12对应的边缘内容量L2。其中,视频帧11的结构比视频帧12的结构更复杂,则视频帧11对应的边缘内容量L1大于视频帧12对应的边缘内容量L2。
应当理解,视频内容参数可以包括图像亮度值;子视频序列可以包括视频帧Sj,这里的j可以为小于或等于子视频序列中的视频帧数量的正整数。业务服务器确定视频帧Sj对应的图像亮度值的具体过程可以描述为:业务服务器可以获取视频帧Sj中的像素点的像素亮度值,对像素亮度值进行像素平均处理,得到视频帧Sj对应的图像亮度值。
可以理解的是,图像亮度值可以表示视频帧Sj的平均亮度,在视频帧Sj为极亮或极暗的视频帧时(此时颜色饱和度受限),该视频帧Sj对子视频序列中的其他视频帧(即下述步骤S204中的待着色视频帧)进行着色处理的帮助性不大,即视频帧Sj不具有代表性,因此,视频内容参数可以包括图像亮度值。
其中,可以理解的是,视频帧Sj的像素数量可以为1000*1000个,业务服务器可以获取1000*1000个像素点的像素亮度值,进而对1000*1000个像素亮度值进行像素平均处理,得到视频帧Sj对应的图像亮度值。应当理解,业务服务器可以基于下述模型进行像素平均处理:
其中,Di表示第i个像素点的像素亮度值,Di的取值范围为[0,1],n表示像素数量。可以理解的是,通过上述模型,可以避免极亮或极暗的视频帧,在视频帧Sj为极亮或极暗的视频帧时,通过上述模型计算得到的视频帧Sj对应的图像亮度值会比较小。可选的,业务服务器还可以根据上述像素获取条件,在视频帧Sj中获取目标像素点,基于目标相似度的像素亮度值,得到视频帧Sj对应的图像亮度值。
应当理解,视频内容参数可以包括平均相似度;子视频序列可以包括视频帧Sj,这里的j可以为小于或等于子视频序列中的视频帧数量的正整数。业务服务器确定视频帧Sj对应的平均相似度的具体过程可以描述为:业务服务器可以获取视频帧Sj分别与子视频序列中的每个目标视频帧之间的图像距离,对图像距离进行平均处理,得到平均图像距离,将平均图像距离的倒数确定为视频帧Sj对应的平均相似度。其中,目标视频帧是指子视频序列中除视频帧Sj以外的视频帧。
可以理解的是,平均相似度可以表示视频帧Sj与其他视频帧的相似程度,若平均相似度较高,则视频帧Sj与其他视频帧具有相近的画面,则视频帧Sj越具有代表性,因此,视频内容参数可以包括平均相似度。
其中,可以理解的是,业务服务器可以通过上述图8所对应实施例中提供的方法,确定参考帧Si和每个目标视频帧的目标直方图(即histogram),进而基于目标直方图上的目标统计值,得到参考帧Si的目标直方图分别和每个目标视频帧的目标直方图之间的直方图距离,以将该直方图距离作为视频帧Sj分别与每个目标视频帧之间的图像距离。应当理解,业务服务器计算图像距离的方式包括但不限于上述直方图方式,本申请实施例不对计算图像距离的方式进行限定。
其中,可以理解的是,业务服务器在对图像距离进行平均处理之后,可以得到参考帧Si对应的平均图像距离,通过对该平均图像距离进行求倒计算,可以得到参考帧Si对应的平均相似度(即平均相似度=1/平均图像距离)。应当理解,本申请实施例不对基于平均图像距离确定平均相似度的方式进行限定。
为便于理解,请参见图11,图11是本申请实施例提供的一种确定平均相似度的场景示意图。如图11所示的子视频序列中可以包括m个视频帧,这里的m可以为大于1的正整数,m个视频帧具体可以包括:视频帧T1、视频帧T2、视频帧T3、…、视频帧Tm。在将视频帧T1确定为视频帧Sj时,可以将视频帧T2、视频帧T3、…、视频帧Tm确定为目标视频帧。
如图11所示,通过直方图方式可以将视频帧T1表示为直方图P1(即目标直方图)、将视频帧T2表示为直方图P2(即目标直方图)、将视频帧T3表示为直方图P3(即目标直方图)、…、将视频帧Tm表示为直方图Pm(即目标直方图)。基于直方图P1上的目标统计值和直方图P2上的目标统计值,可以得到直方图P1和直方图P2之间的图像距离J1(即直方图距离);基于直方图P1上的目标统计值和直方图P3上的目标统计值,可以得到直方图P1和直方图P3之间的图像距离J2(即直方图距离);…;基于直方图P1上的目标统计值和直方图Pm上的目标统计值,可以得到直方图P1和直方图Pm之间的图像距离J(m-1)(即直方图距离)。因此,对图像距离J1、图像距离J2、…、图像距离J(m-1)进行平均处理,可以得到视频帧T1对应的平均图像距离,对该平均图像距离进行求倒计算,可以得到视频帧T1对应的平均相似度。
应当理解,业务服务器确定视频帧Sj对应的关键内容质量的具体过程可以描述为:业务服务器可以对视频帧Sj对应的关键部位质量、边缘内容量和图像亮度值进行第一运算处理,得到视频帧Sj对应的视频特征值。进一步地,业务服务器可以对平均相似度和视频特征值进行第二运算处理,得到视频帧Sj对应的关键内容质量。其中,视频内容参数可以包括平均相似度、关键部位质量、边缘内容量和图像亮度值;子视频序列可以包括视频帧Sj,这里的j可以为小于或等于子视频序列中的视频帧数量的正整数。其中,可以理解的是,第一运算处理可以为加法运算,第二运算处理可以为乘法运算,则业务服务器可以通过下述评分计算方法,确定视频帧Sj对应的关键内容质量:分数=(关键部位质量+边缘内容量+图像亮度值)*平均相似度。其中,子视频序列中的每个视频帧均对应不同的关键部位质量、边缘内容量、图像亮度值和平均相似度,这样,子视频序列中的每个视频帧均对应不同的分数(即关键内容质量)。
可选的,业务服务器也可以根据关键部位质量,确定视频帧Sj对应的关键内容质量,即业务服务器可以直接将关键部位质量,作为视频帧Sj对应的关键内容质量。
可选的,业务服务器也可以根据边缘内容量,确定视频帧Sj对应的关键内容质量,即业务服务器可以直接将边缘内容量,作为视频帧Sj对应的关键内容质量。
可选的,业务服务器也可以根据图像亮度值,确定视频帧Sj对应的关键内容质量,即业务服务器可以直接将图像亮度值,作为视频帧Sj对应的关键内容质量。
可选的,业务服务器还可以根据平均相似度,确定视频帧Sj对应的关键内容质量,即业务服务器可以直接将平均相似度,作为视频帧Sj对应的关键内容质量。
可选的,业务服务器确定子视频序列中每个视频帧分别对应的关键内容质量的方式,包括但不限于上述平均相似度、关键部位质量、边缘内容量和图像亮度值,即视频内容参数可以包括但不限于上述平均相似度、关键部位质量、边缘内容量和图像亮度值。可选的,业务服务器确定子视频序列中每个视频帧分别对应的关键内容质量的方式,也可以由视频内容参数中的2个或2个以上进行任意组合来生成关键内容质量,例如,由平均相似度和关键部位质量确定视频帧Sj对应的关键内容质量,由平均相似度、关键部位质量和边缘内容量确定视频帧Sj对应的关键内容质量。
步骤S203、基于关键内容质量,在子视频序列中确定关键视频帧,对关键视频帧进行着色处理,得到着色处理后的关键视频帧;
可以理解的是,子视频序列中可以包括至少两个视频帧,业务服务器可以在至少两个视频帧中确定关键视频帧。可选的,子视频序列中可以包括一个视频帧,这样,业务服务器可以直接将这一个视频帧确定为这一个子视频序列对应的关键视频帧,进而直接对该关键视频帧进行着色处理,得到着色处理后的关键视频帧,同时得到着色处理后的子视频序列,而无需基于该着色处理后的关键视频帧指引对子视频序列进行着色处理。
其中,业务服务器对关键视频帧进行着色处理的具体过程,可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再进行赘述。
步骤S204、获取用于对待着色视频帧的着色网络模型,将着色处理后的关键视频帧和待着色视频帧输入至着色网络模型,通过着色网络模型对待着色视频帧进行着色处理,得到着色处理后的待着色视频帧;
其中,待着色视频帧是指子视频序列中除关键视频帧以外的视频帧,这样,业务服务器可以基于时域的两方(即Ik-1,…,I1,Ik+1,…,Im,m为子视频序列中视频帧的数量),将关键视频帧(即Ik)的颜色传递至子视频序列中的所有待着色视频帧。
可以理解的是,着色网络模型可以在给定灰度图像(即待着色视频帧)和彩色图像(即着色处理后的关键视频帧)的基础上,通过彩色图像对灰度图像进行图像着色,不同的彩色图像可以控制输出不同的着色处理后的灰度图像(即着色处理后的待着色视频帧)。其中,着色网络模型可以为自动上色(即Deep Exemplar-based Colorization)模型。应当理解,本申请实施例不对着色网络模型的模型类型进行限定。
步骤S205、在子视频序列中的每个视频帧均作为待着色视频帧时,得到着色处理后的子视频序列;
步骤S206、获取着色处理后的至少两个子视频序列,根据着色处理后的至少两个子视频序列的序列时间戳,对着色处理后的至少两个子视频序列进行拼接,得到拼接后的至少两个子视频序列;
其中,着色处理后的子视频序列的数量为至少两个。可选的,在视频序列中的视频帧的数量为至少两个时,着色处理后的子视频序列的数量还可以为一个,即业务服务器在对视频序列中的至少两个视频帧进行相似划分时,可以将至少两个视频帧均划分至一个子视频序列,此时,子视频序列中的视频帧数量等于视频序列中的视频帧数量。这样,业务服务器可以直接在至少两个视频帧中确定关键视频帧,进而在得到着色处理后的关键视频帧时,基于该着色处理后的关键视频帧,对至少两个视频帧中除关键视频帧之外的待着色视频帧进行着色处理。
步骤S207、将拼接后的至少两个子视频序列,确定为着色处理后的视频序列。
应当理解,业务服务器进行相似划分得到的子视频序列的数量越多,则对子视频序列进行着色处理时的准确性越高,在增加子视频序列的数量的同时,增加了对关键视频帧进行着色处理的工作量,因此,本申请实施例可以平衡准确性与工作量之间的关系。
为便于理解,请参见图12,图12是本申请实施例提供的一种进行着色处理的场景示意图。如图12所示的子视频序列120a可以为图2所对应实施例中的子视频序列20a,子视频序列120b可以为图2所对应实施例中的子视频序列20b,…,子视频序列120k可以为图2所对应实施例中的子视频序列20k。其中,视频帧110a可以为10a,视频帧110b可以为10b,…,视频帧110n可以为10n。
如图12所示,业务服务器可以在子视频序列120a中将视频帧110c确定为关键视频帧T1,在子视频序列120b中将视频帧110e确定为关键视频帧T2,…,在子视频序列120k中将视频帧110(n-2)确定为关键视频帧Tk,进而对关键视频帧T1、关键视频帧T2、…、关键视频帧Tk进行着色处理,得到着色处理后的关键视频帧T1(即视频帧130c)、着色处理后的关键视频帧T2(即视频帧130e)、…、着色处理后的关键视频帧Tk(即视频帧130(n-2))。
如图12所示,着色处理后的关键视频帧T1对应的待着色视频帧可以包括:视频帧110a和视频帧110b,业务服务器可以基于视频帧130c对视频帧110a和视频帧110b进行着色处理,得到着色处理后的待着色视频帧:视频帧140a和视频帧140b。同理,基于视频帧130e对视频帧110d进行着色处理,可以得到视频帧140d(即着色处理后的待着色视频帧);基于视频帧130(n-2)对视频帧110(n-1)和视频帧110n进行着色处理,可以得到视频帧140(n-1)和视频帧140n(即着色处理后的待着色视频帧)。
由此可见,在对视频序列进行着色处理的过程中,本申请实施例所提供的视频数据处理方法(即基于时域传递的视频上色方法)可以划分为四个部分,第一部分可以将视频序列的至少两个视频帧进行相似划分得到子视频序列(即子场景分割),第二部分可以在每个子视频序列中确定关键视频帧(即关键帧选择),第三部分可以对每个子视频序列中的关键视频帧进行着色处理(即关键帧半自动上色),第四部分可以基于着色处理后的关键视频帧对子视频序列进行着色处理(即全自动时域上色),因此,本申请实施例可以提高子视频序列着色的准确性。可以理解的是,子视频序列的数量可以为至少两个,对着色处理后的至少两个子视频序列进行拼接,可以得到着色处理后的视频序列,这样,通过本申请实施例所提供的视频数据处理方法,可以提高视频着色的准确性。
进一步地,请参见图13,图13是本申请实施例提供的一种视频数据处理装置的结构示意图。其中,该视频数据处理装置100可以包括:相似划分模块10,质量确定模块20,关键帧确定模块30;进一步地,视频数据处理装置100还可以包括:序列拼接模块40,序列确定模块50;
相似划分模块10,用于对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;子视频序列包括连续的视频帧,且子视频序列中的视频帧数量少于视频序列中的视频帧数量;子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件;
其中,相似划分模块包括:序列创建单元101,参考帧确定单元102,第一比较单元103,第一划分单元104,第二比较单元105,第二划分单元106,第三划分单元107;
序列创建单元101,用于在视频序列中获取缓冲区帧,创建缓冲区帧所属的初始子视频序列;缓冲区帧为初始子视频序列的首个视频帧;
参考帧确定单元102,用于在视频序列的至少两个视频帧中,将视频帧时间戳晚于缓冲区帧的视频帧时间戳的视频帧确定为参考帧;参考帧包括参考帧Ti;i为小于视频序列中的视频帧数量的正整数;
第一比较单元103,用于确定参考帧Ti和缓冲区帧之间的图像相似度;
其中,第一比较单元103包括:特征提取子单元10301,区域划分子单元10302,特征匹配子单元10303,区域确定子单元10304,第一相似子单元10305;
特征提取子单元10301,用于对参考帧Ti和缓冲区帧进行特征提取,得到与参考帧Ti相关联的第一初始图像特征点和与缓冲区帧相关联的第二初始图像特征点;
区域划分子单元10302,用于将参考帧Ti和缓冲区帧分别均匀划分为至少两个子区域;
特征匹配子单元10303,用于基于第一初始图像特征点和第二初始图像特征点,在参考帧Ti和缓冲区帧分别包含的至少两个子区域中,确定具有匹配关系的第一目标匹配特征点和第二目标匹配特征点;第一目标匹配特征点属于参考帧Ti,第二目标匹配特征点属于缓冲区帧;
其中,特征匹配子单元10303包括:第一提取子单元103031,第二提取子单元103032,第一匹配子单元103033,第二匹配子单元103034;
第一提取子单元103031,用于根据第一初始图像特征点的特征显性因素,在参考帧Ti的至少两个子区域中,确定第一目标图像特征点;第一目标图像特征点分布在参考帧Ti的每个子区域中;
第二提取子单元103032,用于根据第二初始图像特征点的特征显性因素,在缓冲区帧的至少两个子区域中,确定第二目标图像特征点;第二目标图像特征点分布在缓冲区帧的每个子区域中;
第一匹配子单元103033,用于根据第一目标图像特征点和第二目标图像特征点之间的特征相似性,确定具有初始匹配关系的第一初始匹配特征点和第二初始匹配特征点;
第二匹配子单元103034,用于对第一初始匹配特征点和第二初始匹配特征点进行误匹配过滤,得到具有匹配关系的第一目标匹配特征点和第二目标匹配特征点。
其中,第一提取子单元103031,第二提取子单元103032,第一匹配子单元103033以及第二匹配子单元103034的具体实现方式,可以参见上述图3所对应实施例中对步骤S201的描述,这里将不再进行赘述。
区域确定子单元10304,用于基于第一目标匹配特征点和第二目标匹配特征点,得到参考帧Ti和缓冲区帧之间的重叠区域;
第一相似子单元10305,用于基于重叠区域中的像素点数量和缓冲区帧中的像素点数量之间的像素比例,得到参考帧Ti和缓冲区帧之间的重叠相似度,根据重叠相似度,确定参考帧Ti和缓冲区帧之间的图像相似度。
其中,特征提取子单元10301,区域划分子单元10302,特征匹配子单元10303,区域确定子单元10304以及第一相似子单元10305的具体实现方式,可以参见上述图3所对应实施例中对步骤S201的描述,这里将不再进行赘述。
其中,第一比较单元103还包括:初始统计子单元10306,第一统计子单元10307,第二统计子单元10308,直方图生成子单元10309,距离确定子单元10310,第二相似子单元10311;
初始统计子单元10306,用于根据参考帧Ti和缓冲区帧分别在颜色空间的颜色分量,确定与参考帧Ti相关联的第一初始统计值和与缓冲区帧相关联的第二初始统计值;
第一统计子单元10307,用于对参考帧Ti在颜色分量上的第一初始统计值进行合并处理,得到与参考帧Ti相关联的第一目标统计值;
第二统计子单元10308,用于对缓冲区帧在颜色分量上的第二初始统计值进行合并处理,得到与缓冲区帧相关联的第二目标统计值;
直方图生成子单元10309,用于根据第一目标统计值,生成参考帧Ti对应的第一直方图,根据第二目标统计值,生成缓冲区帧对应的第二直方图;
距离确定子单元10310,用于基于第一直方图上的第一目标统计值和第二直方图上的第二目标统计值,得到第一直方图和第二直方图之间的直方图距离;
第二相似子单元10311,用于基于直方图距离,得到参考帧Ti和缓冲区帧之间的吻合相似度,根据吻合相似度,确定参考帧Ti和缓冲区帧之间的图像相似度。
其中,初始统计子单元10306,第一统计子单元10307,第二统计子单元10308,直方图生成子单元10309,距离确定子单元10310以及第二相似子单元10311的具体实现方式,可以参见上述图3所对应实施例中对步骤S201的描述,这里将不再进行赘述。
第一划分单元104,用于若参考帧Ti对应的图像相似度满足图像相似条件,则将参考帧Ti划分到缓冲区帧所属的初始子视频序列,得到更新子视频序列;
第二比较单元105,用于确定参考帧Ti+1和缓冲区帧之间的图像相似度;参考帧Ti+1为参考帧Ti的下一个视频帧;
第二划分单元106,用于若参考帧Ti+1对应的图像相似度满足图像相似条件,则将参考帧Ti+1划分到缓冲区帧所属的更新子视频序列;
第三划分单元107,用于若参考帧Ti+1对应的图像相似度不满足图像相似条件,则将更新子视频序列确定为完成相似划分的子视频序列,将参考帧Ti+2确定为下一个缓冲区帧,为下一个缓冲区帧创建下一个子视频序列,直到至少两个视频帧均被划分至所属的子视频序列;参考帧Ti+2为参考帧Ti+1的下一个视频帧。
其中,序列创建单元101,参考帧确定单元102,第一比较单元103,第一划分单元104,第二比较单元105,第二划分单元106以及第三划分单元107的具体实现方式,可以参见上述图3所对应实施例中对步骤S101的描述,这里将不再进行赘述。
质量确定模块20,用于根据子视频序列中每个视频帧分别对应的视频内容参数,确定子视频序列中每个视频帧分别对应的关键内容质量;
其中,视频内容参数包括关键部位质量;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块20包括:部位识别单元201,权重累加单元202,第一确定单元203;
部位识别单元201,用于对视频帧Sj进行关键部位识别,得到关键部位区域,根据关键部位区域统计至少两种部位类型分别对应的关键部位数量;
权重累加单元202,用于对每种部位类型分别对应的关键权重和每种部位类型分别对应的关键部位数量进行权重累加,得到视频帧Sj对应的关键部位质量;
第一确定单元203,用于根据关键部位质量,确定视频帧Sj对应的关键内容质量。
其中,部位识别单元201,权重累加单元202以及第一确定单元203的具体实现方式,可以参见上述图6所对应实施例中对步骤S202的描述,这里将不再进行赘述。
其中,视频内容参数包括边缘内容量;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块20还包括:区域确定单元204,梯度确定单元205,矩阵确定单元206,矩阵分解单元207,第二确定单元208;
区域确定单元204,用于获取视频帧Sj的目标像素点,确定目标像素点对应的像素区域;目标像素点为视频帧Sj的像素点中满足像素获取条件的像素点;目标像素点处于像素区域的中心位置;
梯度确定单元205,用于基于像素区域中的像素点的像素值,确定目标像素点对应的水平梯度和垂直梯度;
矩阵确定单元206,用于根据水平梯度和垂直梯度,确定目标像素点对应的结构张量;
矩阵分解单元207,用于对结构张量进行矩阵分解,得到视频帧Sj对应的边缘内容量;
第二确定单元208,用于根据边缘内容量,确定视频帧Sj对应的关键内容质量。
其中,区域确定单元204,梯度确定单元205,矩阵确定单元206,矩阵分解单元207以及第二确定单元208的具体实现方式,可以参见上述图6所对应实施例中对步骤S202的描述,这里将不再进行赘述。
其中,视频内容参数包括图像亮度值;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块20还包括:像素平均单元209,第三确定单元210;
像素平均单元209,用于获取视频帧Sj中的像素点的像素亮度值,对像素亮度值进行像素平均处理,得到视频帧Sj对应的图像亮度值;
第三确定单元210,用于根据图像亮度值,确定视频帧Sj对应的关键内容质量。
其中,像素平均单元209以及第三确定单元210的具体实现方式,可以参见上述图6所对应实施例中对步骤S202的描述,这里将不再进行赘述。
其中,视频内容参数包括平均相似度;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;
质量确定模块20还包括:平均处理单元211,第四确定单元212;
平均处理单元211,用于获取视频帧Sj分别与子视频序列中的每个目标视频帧之间的图像距离,对图像距离进行平均处理,得到平均图像距离,将平均图像距离的倒数确定为视频帧Sj对应的平均相似度;目标视频帧是指子视频序列中除视频帧Sj以外的视频帧;
第四确定单元212,用于根据平均相似度,确定视频帧Sj对应的关键内容质量。
其中,平均处理单元211以及第四确定单元212的具体实现方式,可以参见上述图6所对应实施例中对步骤S202的描述,这里将不再进行赘述。
其中,视频内容参数包括平均相似度、关键部位质量、边缘内容量和图像亮度值;子视频序列包括视频帧Sj,j为小于或等于子视频序列中的视频帧数量的正整数;视频帧Sj对应的平均相似度是基于视频帧Sj分别与子视频序列中的每个目标视频帧之间的图像距离所确定的;目标视频帧是指子视频序列中除视频帧Sj以外的视频帧;
质量确定模块20还包括:第一运算单元213,第二运算单元214;
第一运算单元213,用于对视频帧Sj对应的关键部位质量、边缘内容量和图像亮度值进行第一运算处理,得到视频帧Sj对应的视频特征值;
第二运算单元214,用于对平均相似度和视频特征值进行第二运算处理,得到视频帧Sj对应的关键内容质量。
其中,第一运算单元213以及第二运算单元214的具体实现方式,可以参见上述图3所对应实施例中对步骤S102的描述、以及图6所对应实施例中对步骤S202的描述,这里将不再进行赘述。
关键帧确定模块30,用于基于关键内容质量,在子视频序列中确定关键视频帧,对关键视频帧进行着色处理;着色处理后的关键视频帧用于指引对子视频序列进行着色处理。
其中,关键帧确定模块30包括:关键帧确定单元301,着色处理单元302;
关键帧确定单元301,用于在子视频序列的每个视频帧中,将具有最大关键内容质量的视频帧确定为关键视频帧;
着色处理单元302,用于获取用于对关键视频帧进行着色处理的神经网络模型和着色提示信息,将着色提示信息和关键视频帧输入至神经网络模型,通过神经网络模型对关键视频帧进行着色处理。
其中,关键帧确定单元301以及着色处理单元302的具体实现方式,可以参见上述图3所对应实施例中对步骤S103的描述,这里将不再进行赘述。
可选的,着色处理后的子视频序列的数量为至少两个;
序列拼接模块40,用于获取着色处理后的至少两个子视频序列,根据着色处理后的至少两个子视频序列的序列时间戳,对着色处理后的至少两个子视频序列进行拼接,得到拼接后的至少两个子视频序列;
序列确定模块50,用于将拼接后的至少两个子视频序列,确定为着色处理后的视频序列。
其中,相似划分模块10,质量确定模块20以及关键帧确定模块30的具体实现方式,可以参见上述图3所对应实施例中对步骤S101-步骤S103的描述、以及图6所对应实施例中对步骤S201-步骤S203的描述,这里将不再进行赘述。可选的,序列拼接模块40,序列确定模块50的具体实现方式,可以参见上述图6所对应实施例中对步骤S204-步骤S207的描述,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
进一步地,请参见图14,图14是本申请实施例提供的一种计算机设备的结构示意图。如图14所示,该计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。可选的,网络接口1004可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器1005还可以是至少一个位于远离前述处理器1001的存储装置。如图14所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。
在如图14所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:
对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;子视频序列包括连续的视频帧,且子视频序列中的视频帧数量少于视频序列中的视频帧数量;子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件;
根据子视频序列中每个视频帧分别对应的视频内容参数,确定子视频序列中每个视频帧分别对应的关键内容质量;
基于关键内容质量,在子视频序列中确定关键视频帧,对关键视频帧进行着色处理;着色处理后的关键视频帧用于指引对子视频序列进行着色处理。
应当理解,本申请实施例中所描述的计算机设备1000可执行前文图3或图6所对应实施例中对视频数据处理方法的描述,也可执行前文图13所对应实施例中对视频数据处理装置100的描述,在此不再赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。
此外,这里需要指出的是:本申请实施例还提供了一种计算机可读存储介质,且计算机可读存储介质中存储有前文提及的视频数据处理装置100所执行的计算机程序,且计算机程序包括程序指令,当处理器执行程序指令时,能够执行前文图3或图6所对应实施例中对视频数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机可读存储介质实施例中未披露的技术细节,请参照本申请方法实施例的描述。
此外,需要说明的是:本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或者计算机程序可以包括计算机指令,该计算机指令可以存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器可以执行该计算机指令,使得该计算机设备执行前文图3或图6所对应实施例中对视频数据处理方法的描述,因此,这里将不再进行赘述。另外,对采用相同方法的有益效果描述,也不再进行赘述。对于本申请所涉及的计算机程序产品或者计算机程序实施例中未披露的技术细节,请参照本申请方法实施例的描述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (15)
1.一种视频数据处理方法,其特征在于,包括:
对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;所述子视频序列包括连续的视频帧,且所述子视频序列中的视频帧数量少于所述视频序列中的视频帧数量;所述子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件;
根据所述子视频序列中每个视频帧分别对应的视频内容参数,确定所述子视频序列中每个视频帧分别对应的关键内容质量;
基于所述关键内容质量,在所述子视频序列中确定关键视频帧,对所述关键视频帧进行着色处理;着色处理后的关键视频帧用于指引对所述子视频序列进行着色处理。
2.根据权利要求1所述的方法,其特征在于,所述视频内容参数包括关键部位质量;所述子视频序列包括视频帧Sj,j为小于或等于所述子视频序列中的视频帧数量的正整数;
所述根据所述子视频序列中每个视频帧分别对应的视频内容参数,确定所述子视频序列中每个视频帧分别对应的关键内容质量,包括:
对所述视频帧Sj进行关键部位识别,得到关键部位区域,根据所述关键部位区域统计至少两种部位类型分别对应的关键部位数量;
对每种部位类型分别对应的关键权重和所述每种部位类型分别对应的关键部位数量进行权重累加,得到所述视频帧Sj对应的所述关键部位质量;
根据所述关键部位质量,确定所述视频帧Sj对应的关键内容质量。
3.根据权利要求1所述的方法,其特征在于,所述视频内容参数包括边缘内容量;所述子视频序列包括视频帧Sj,j为小于或等于所述子视频序列中的视频帧数量的正整数;
所述根据所述子视频序列中每个视频帧分别对应的视频内容参数,确定所述子视频序列中每个视频帧分别对应的关键内容质量,包括:
获取所述视频帧Sj的目标像素点,确定所述目标像素点对应的像素区域;所述目标像素点为所述视频帧Sj的像素点中满足像素获取条件的像素点;所述目标像素点处于所述像素区域的中心位置;
基于所述像素区域中的像素点的像素值,确定所述目标像素点对应的水平梯度和垂直梯度;
根据所述水平梯度和所述垂直梯度,确定所述目标像素点对应的结构张量;
对所述结构张量进行矩阵分解,得到所述视频帧Sj对应的所述边缘内容量;
根据所述边缘内容量,确定所述视频帧Sj对应的关键内容质量。
4.根据权利要求1所述的方法,其特征在于,所述视频内容参数包括图像亮度值;所述子视频序列包括视频帧Sj,j为小于或等于所述子视频序列中的视频帧数量的正整数;
所述根据所述子视频序列中每个视频帧分别对应的视频内容参数,确定所述子视频序列中每个视频帧分别对应的关键内容质量,包括:
获取所述视频帧Sj中的像素点的像素亮度值,对所述像素亮度值进行像素平均处理,得到所述视频帧Sj对应的所述图像亮度值;
根据所述图像亮度值,确定所述视频帧Sj对应的关键内容质量。
5.根据权利要求1所述的方法,其特征在于,所述视频内容参数包括平均相似度;所述子视频序列包括视频帧Sj,j为小于或等于所述子视频序列中的视频帧数量的正整数;
所述根据所述子视频序列中每个视频帧分别对应的视频内容参数,确定所述子视频序列中每个视频帧分别对应的关键内容质量,包括:
获取所述视频帧Sj分别与所述子视频序列中的每个目标视频帧之间的图像距离,对所述图像距离进行平均处理,得到平均图像距离,将所述平均图像距离的倒数确定为所述视频帧Sj对应的所述平均相似度;所述目标视频帧是指所述子视频序列中除所述视频帧Sj以外的视频帧;
根据所述平均相似度,确定所述视频帧Sj对应的关键内容质量。
6.根据权利要求1所述的方法,其特征在于,所述视频内容参数包括平均相似度、关键部位质量、边缘内容量和图像亮度值;所述子视频序列包括视频帧Sj,j为小于或等于所述子视频序列中的视频帧数量的正整数;所述视频帧Sj对应的平均相似度是基于所述视频帧Sj分别与所述子视频序列中的每个目标视频帧之间的图像距离所确定的;所述目标视频帧是指所述子视频序列中除所述视频帧Sj以外的视频帧;
所述根据所述子视频序列中每个视频帧分别对应的视频内容参数,确定所述子视频序列中每个视频帧分别对应的关键内容质量,包括:
对所述视频帧Sj对应的所述关键部位质量、所述边缘内容量和所述图像亮度值进行第一运算处理,得到所述视频帧Sj对应的视频特征值;
对所述平均相似度和所述视频特征值进行第二运算处理,得到所述视频帧Sj对应的关键内容质量。
7.根据权利要求1所述的方法,其特征在于,所述对视频序列中的至少两个视频帧进行相似划分,得到子视频序列,包括:
在视频序列中获取缓冲区帧,创建所述缓冲区帧所属的初始子视频序列;所述缓冲区帧为所述初始子视频序列的首个视频帧;
在所述视频序列的至少两个视频帧中,将视频帧时间戳晚于所述缓冲区帧的视频帧时间戳的视频帧确定为参考帧;所述参考帧包括参考帧Ti;i为小于所述视频序列中的视频帧数量的正整数;
确定所述参考帧Ti和所述缓冲区帧之间的图像相似度;
若所述参考帧Ti对应的图像相似度满足图像相似条件,则将所述参考帧Ti划分到所述缓冲区帧所属的所述初始子视频序列,得到更新子视频序列;
确定所述参考帧Ti+1和所述缓冲区帧之间的图像相似度;所述参考帧Ti+1为所述参考帧Ti的下一个视频帧;
若所述参考帧Ti+1对应的图像相似度满足所述图像相似条件,则将所述参考帧Ti+1划分到所述缓冲区帧所属的所述更新子视频序列;
若所述参考帧Ti+1对应的图像相似度不满足所述图像相似条件,则将所述更新子视频序列确定为完成相似划分的子视频序列,将所述参考帧Ti+2确定为下一个缓冲区帧,为所述下一个缓冲区帧创建下一个子视频序列,直到所述至少两个视频帧均被划分至所属的子视频序列;所述参考帧Ti+2为所述参考帧Ti+1的下一个视频帧。
8.根据权利要求7所述的方法,其特征在于,所述确定所述参考帧Ti和所述缓冲区帧之间的图像相似度,包括:
对所述参考帧Ti和所述缓冲区帧进行特征提取,得到与所述参考帧Ti相关联的第一初始图像特征点和与所述缓冲区帧相关联的第二初始图像特征点;
将所述参考帧Ti和所述缓冲区帧分别均匀划分为至少两个子区域;
基于所述第一初始图像特征点和所述第二初始图像特征点,在所述参考帧Ti和所述缓冲区帧分别包含的至少两个子区域中,确定具有匹配关系的第一目标匹配特征点和第二目标匹配特征点;所述第一目标匹配特征点属于所述参考帧Ti,所述第二目标匹配特征点属于所述缓冲区帧;
基于所述第一目标匹配特征点和所述第二目标匹配特征点,得到所述参考帧Ti和所述缓冲区帧之间的重叠区域;
基于所述重叠区域中的像素点数量和所述缓冲区帧中的像素点数量之间的像素比例,得到参考帧Ti和所述缓冲区帧之间的重叠相似度,根据所述重叠相似度,确定所述参考帧Ti和所述缓冲区帧之间的图像相似度。
9.根据权利要求8所述的方法,其特征在于,所述基于所述第一初始图像特征点和所述第二初始图像特征点,在所述参考帧Ti和所述缓冲区帧分别包含的至少两个子区域中,确定具有匹配关系的第一目标匹配特征点和第二目标匹配特征点,包括:
根据所述第一初始图像特征点的特征显性因素,在所述参考帧Ti的至少两个子区域中,确定第一目标图像特征点;所述第一目标图像特征点分布在所述参考帧Ti的每个子区域中;
根据所述第二初始图像特征点的特征显性因素,在所述缓冲区帧的至少两个子区域中,确定第二目标图像特征点;所述第二目标图像特征点分布在所述缓冲区帧的每个子区域中;
根据所述第一目标图像特征点和所述第二目标图像特征点之间的特征相似性,确定具有初始匹配关系的第一初始匹配特征点和第二初始匹配特征点;
对所述第一初始匹配特征点和所述第二初始匹配特征点进行误匹配过滤,得到具有匹配关系的第一目标匹配特征点和第二目标匹配特征点。
10.根据权利要求7所述的方法,其特征在于,所述确定所述参考帧Ti和所述缓冲区帧之间的图像相似度,包括:
根据所述参考帧Ti和所述缓冲区帧分别在颜色空间的颜色分量,确定与所述参考帧Ti相关联的第一初始统计值和与所述缓冲区帧相关联的第二初始统计值;
对所述参考帧Ti在所述颜色分量上的第一初始统计值进行合并处理,得到与所述参考帧Ti相关联的第一目标统计值;
对所述缓冲区帧在所述颜色分量上的第二初始统计值进行合并处理,得到与所述缓冲区帧相关联的第二目标统计值;
根据所述第一目标统计值,生成所述参考帧Ti对应的第一直方图,根据所述第二目标统计值,生成所述缓冲区帧对应的第二直方图;
基于所述第一直方图上的所述第一目标统计值和所述第二直方图上的所述第二目标统计值,得到所述第一直方图和所述第二直方图之间的直方图距离;
基于所述直方图距离,得到所述参考帧Ti和所述缓冲区帧之间的吻合相似度,根据所述吻合相似度,确定所述参考帧Ti和所述缓冲区帧之间的图像相似度。
11.根据权利要求1~10任一项所述的方法,其特征在于,所述基于所述关键内容质量,在所述子视频序列中确定关键视频帧,对所述关键视频帧进行着色处理,包括:
在所述子视频序列的每个视频帧中,将具有最大关键内容质量的视频帧确定为关键视频帧;
获取用于对所述关键视频帧进行着色处理的神经网络模型和着色提示信息,将所述着色提示信息和所述关键视频帧输入至所述神经网络模型,通过所述神经网络模型对所述关键视频帧进行着色处理。
12.根据权利要求1~10任一项所述的方法,其特征在于,着色处理后的子视频序列的数量为至少两个;
所述方法还包括:
获取着色处理后的至少两个子视频序列,根据所述着色处理后的至少两个子视频序列的序列时间戳,对所述着色处理后的至少两个子视频序列进行拼接,得到拼接后的至少两个子视频序列;
将所述拼接后的至少两个子视频序列,确定为着色处理后的视频序列。
13.一种视频数据处理装置,其特征在于,包括:
相似划分模块,用于对视频序列中的至少两个视频帧进行相似划分,得到子视频序列;所述子视频序列包括连续的视频帧,且所述子视频序列中的视频帧数量少于所述视频序列中的视频帧数量;所述子视频序列中的首个视频帧与剩余视频帧之间均满足图像相似条件;
质量确定模块,用于根据所述子视频序列中每个视频帧分别对应的视频内容参数,确定所述子视频序列中每个视频帧分别对应的关键内容质量;
关键帧确定模块,用于基于所述关键内容质量,在所述子视频序列中确定关键视频帧,对所述关键视频帧进行着色处理;着色处理后的关键视频帧用于指引对所述子视频序列进行着色处理。
14.一种计算机设备,其特征在于,包括:处理器和存储器;
所述处理器与存储器相连,其中,所述存储器用于存储计算机程序,所述处理器用于调用所述计算机程序,以使得所述计算机设备执行权利要求1-12任一项所述的方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,该计算机程序适于由处理器加载并执行,以使得具有所述处理器的计算机设备执行权利要求1-12任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110327242.1A CN115134656A (zh) | 2021-03-26 | 2021-03-26 | 一种视频数据处理方法、装置、设备以及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110327242.1A CN115134656A (zh) | 2021-03-26 | 2021-03-26 | 一种视频数据处理方法、装置、设备以及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115134656A true CN115134656A (zh) | 2022-09-30 |
Family
ID=83374896
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110327242.1A Pending CN115134656A (zh) | 2021-03-26 | 2021-03-26 | 一种视频数据处理方法、装置、设备以及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134656A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117615137A (zh) * | 2024-01-15 | 2024-02-27 | 北京铁力山科技股份有限公司 | 一种视频处理方法、装置、设备以及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103262096A (zh) * | 2010-12-09 | 2013-08-21 | 诺基亚公司 | 基于有限上下文从视频序列中识别关键帧 |
RU2493602C1 (ru) * | 2012-08-10 | 2013-09-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ и система для выделения ключевых кадров из видео последовательностей |
CN108073938A (zh) * | 2016-11-18 | 2018-05-25 | 中国科学院电子学研究所 | 一种基于图像内容的图像匹配方法 |
CN109947991A (zh) * | 2017-10-31 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种关键帧提取方法、装置和存储介质 |
CN110503074A (zh) * | 2019-08-29 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 视频帧的信息标注方法、装置、设备及存储介质 |
CN111950653A (zh) * | 2020-08-24 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 视频处理方法和装置、存储介质及电子设备 |
CN112183353A (zh) * | 2020-09-28 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置和相关设备 |
-
2021
- 2021-03-26 CN CN202110327242.1A patent/CN115134656A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103262096A (zh) * | 2010-12-09 | 2013-08-21 | 诺基亚公司 | 基于有限上下文从视频序列中识别关键帧 |
RU2493602C1 (ru) * | 2012-08-10 | 2013-09-20 | Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." | Способ и система для выделения ключевых кадров из видео последовательностей |
CN108073938A (zh) * | 2016-11-18 | 2018-05-25 | 中国科学院电子学研究所 | 一种基于图像内容的图像匹配方法 |
CN109947991A (zh) * | 2017-10-31 | 2019-06-28 | 腾讯科技(深圳)有限公司 | 一种关键帧提取方法、装置和存储介质 |
CN110503074A (zh) * | 2019-08-29 | 2019-11-26 | 腾讯科技(深圳)有限公司 | 视频帧的信息标注方法、装置、设备及存储介质 |
CN111950653A (zh) * | 2020-08-24 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 视频处理方法和装置、存储介质及电子设备 |
CN112183353A (zh) * | 2020-09-28 | 2021-01-05 | 腾讯科技(深圳)有限公司 | 一种图像数据处理方法、装置和相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117615137A (zh) * | 2024-01-15 | 2024-02-27 | 北京铁力山科技股份有限公司 | 一种视频处理方法、装置、设备以及存储介质 |
CN117615137B (zh) * | 2024-01-15 | 2024-04-09 | 北京铁力山科技股份有限公司 | 一种视频处理方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11830230B2 (en) | Living body detection method based on facial recognition, and electronic device and storage medium | |
US20230012732A1 (en) | Video data processing method and apparatus, device, and medium | |
US20230049533A1 (en) | Image gaze correction method, apparatus, electronic device, computer-readable storage medium, and computer program product | |
CN113763296B (zh) | 图像处理方法、设备以及介质 | |
CN111738243B (zh) | 人脸图像的选择方法、装置、设备及存储介质 | |
CN111491173A (zh) | 一种直播封面确定方法、装置、计算机设备及存储介质 | |
CN111054080B (zh) | 智能检测透视外挂方法、装置、设备及其存储介质 | |
CN111353546B (zh) | 图像处理模型的训练方法、装置、计算机设备和存储介质 | |
CN111681177B (zh) | 视频处理方法及装置、计算机可读存储介质、电子设备 | |
CN112633221B (zh) | 一种人脸方向的检测方法及相关装置 | |
CN112565887A (zh) | 一种视频处理方法、装置、终端及存储介质 | |
CN115171199A (zh) | 图像处理方法、装置及计算机设备、存储介质 | |
CN115134656A (zh) | 一种视频数据处理方法、装置、设备以及介质 | |
CN116701706B (zh) | 一种基于人工智能的数据处理方法、装置、设备及介质 | |
CN113569809A (zh) | 一种图像处理方法、设备及计算机可读存储介质 | |
CN113821678A (zh) | 视频封面的确定方法及装置 | |
Li et al. | Blind stereoscopic image quality assessment using 3D saliency selected binocular perception and 3D convolutional neural network | |
CN116958306A (zh) | 图像合成方法和装置、存储介质及电子设备 | |
CN116958033A (zh) | 异常检测方法、模型训练方法、装置、设备和介质 | |
CN116978130A (zh) | 图像处理方法、装置及计算机设备、存储介质、程序产品 | |
CN113591838B (zh) | 目标检测方法、装置、电子设备和存储介质 | |
CN113709584B (zh) | 视频划分方法、装置、服务器、终端及存储介质 | |
CN113822117A (zh) | 一种数据处理方法、设备以及计算机可读存储介质 | |
CN113709559B (zh) | 视频划分方法、装置、计算机设备及存储介质 | |
CN117523625A (zh) | 视频人物识别方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |