首页 / 专利库 / 视听技术与设备 / 视频编码层 / 视频编码方法、装置、终端及存储介质

视频编码方法、装置、终端及存储介质

阅读:990发布:2020-05-30

专利汇可以提供视频编码方法、装置、终端及存储介质专利检索,专利查询,专利分析的服务。并且本 申请 公开了一种 视频编码 方法、装置、终端及存储介质,属于视频处理技术领域。所述方法包括:获取待处理的目标视频,目标视频包括依序排列的n个目标 视频 帧 ;对第i个目标视频帧采用目标检测模型进行目标检测,得到目标视频帧中的目标区域;根据n个目标视频帧各自对应的目标区域,采用感兴趣区域ROI编码 算法 进行视频编码得到编码后的目标视频。本申请 实施例 通过采用目标检测模型对目标视频帧进行目标检测,随着视频画面的变化动态确定目标区域即ROI区域,使得后续终端能够基于动态确定出的ROI区域采用ROI编码算法进行视频编码,在有效保证目标区域的编码 质量 和 稳定性 的同时,降低了目标视频的编码码率,提高了视频编码效率。,下面是视频编码方法、装置、终端及存储介质专利的具体信息内容。

1.一种视频编码方法,其特征在于,所述方法包括:
获取待处理的目标视频,所述目标视频包括依序排列的n个目标视频
对第i个所述目标视频帧采用目标检测模型进行目标检测,得到所述目标视频帧中的目标区域,所述目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,所述样本视频帧是标注有兴趣对象所在区域的视频帧;
根据所述n个目标视频帧各自对应的所述目标区域,采用感兴趣区域ROI编码算法进行视频编码得到编码后的所述目标视频;
其中,所述n为正整数,所述i为小于或者等于所述n的正整数。
2.根据权利要求1所述的方法,其特征在于,所述对第i个所述目标视频帧采用目标检测模型进行目标检测,得到所述目标视频帧中的目标区域,包括:
获取所述目标检测模型,所述目标检测模型是具有对所述目标视频帧中感兴趣程度高于预设条件的所述目标区域进行识别的神经网络模型,所述目标区域是所述目标视频帧中的所述兴趣对象所占据的局部区域;
将第i个所述目标视频帧输入至所述目标检测模型中,计算得到所述目标区域的位置信息。
3.根据权利要求1的方法,其特征在于,所述对第i个所述目标视频帧采用目标检测模型进行目标检测,得到所述目标视频帧中的目标区域之后,还包括:
将所述i加上目标数值w,再次执行所述对第i个所述目标视频帧采用目标检测模型进行目标检测,得到所述目标视频帧中的目标区域的步骤;
对于所述n个目标视频帧中未被检测的目标视频帧,根据离所述目标视频帧最近的已检测视频帧中的所述目标区域的所述位置信息,确定所述目标视频帧对应的所述目标区域。
4.根据权利要求3的方法,其特征在于,所述将所述i加上目标数值w之前,还包括:
获取与所述目标视频中所述目标视频的帧率对应的所述目标数值w,所述帧率与所述目标数值w呈正相关关系。
5.根据权利要求3的方法,其特征在于,所述w为2,所述对于所述n个目标视频帧中未被检测的目标视频帧,根据离所述目标视频帧最近的已检测视频帧中的所述目标区域的所述位置信息,确定所述目标视频帧对应的所述目标区域,包括:
当所述i等于n+1时,对于第n个所述目标视频帧,采用所述目标检测模型进行目标检测得到所述目标视频帧中的目标区域;
对于所述n个目标视频中未被检测的第j个所述目标视频帧,根据第j-1个所述目标视频帧和第j+1个所述目标视频帧各自对应的所述目标区域的位置信息的均值,确定第j个所述目标视频帧对应的所述目标区域,所述j为正整数。
6.根据权利要求3的方法,其特征在于,所述w为2,所述对于所述n个目标视频帧中未被检测的目标视频帧,根据离所述目标视频帧最近的已检测视频帧中的所述目标区域的所述位置信息,确定所述目标视频帧对应的所述目标区域,包括:
当所述i等于n+2时,对于所述n个目标视频中未被检测的第j个所述目标视频帧,根据第j-1个所述目标视频帧和第j+1个所述目标视频帧各自对应的所述目标区域的位置信息的均值,确定第j个所述目标视频帧对应的所述目标区域,所述j为正整数。
7.根据权利要求1所述的方法,其特征在于,所述根据所述n个目标视频帧各自对应的所述目标区域,采用感兴趣区域ROI编码算法进行视频编码得到编码后的所述目标视频,包括:
对所述n个目标视频帧中的每个所述目标视频帧,采用第一编码算法对所述目标区域进行视频编码,并采用第二编码算法对其他区域进行视频编码,得到编码后的所述目标视频帧,编码后的所述目标视频帧中的所述目标区域的清晰度高于所述其他区域的清晰度;
根据n个编码后的所述目标视频帧生成编码后的所述目标视频;
其中,所述其他区域为所述目标视频帧中除了所述目标区域以外的区域。
8.根据权利要求2的方法,其特征在于,所述获取所述目标检测模型之前,还包括:
获取训练样本集,所述训练样本集包括训练集和验证集;
根据所述训练集和所述验证集,采用交叉验证算法对所述原始参数模型进行训练得到所述目标检测模型,所述原始参数模型是采用预先训练的模型参数初始化得到的模型。
9.根据权利要求8的方法,其特征在于,所述根据所述训练集和所述验证集,采用交叉验证算法对所述原始参数模型进行训练得到所述目标检测模型,包括:
使用预先训练的所述模型参数对使用单个深层神经网络检测图像中对象的模型SSD模型进行初始化,得到所述原始参数模型;
根据所述训练集,采用k-折叠交叉验证算法对所述原始参数模型进行训练,得到k个候选模型,所述k为正整数;
根据所述验证集,对所述k个候选模型进行验证得到所述k个候选模型各自对应的误差值;
根据所述k个候选模型各自对应的误差值生成所述目标检测模型,所述目标检测模型的模型参数为所述k个候选模型各自对应的误差值的平均值。
10.一种游戏视频编码方法,其特征在于,所述方法包括:
获取待处理的游戏视频,所述游戏视频包括依序排列的n个游戏视频帧;
对第i个所述游戏视频帧采用目标检测模型进行目标检测,得到所述游戏视频帧中的目标区域,所述目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,所述目标区域是所述游戏视频帧中的目标游戏对象所在的区域;
根据所述n个游戏视频帧各自对应的所述目标区域,采用感兴趣区域ROI编码算法进行视频编码得到编码后的所述游戏视频;
其中,所述n为正整数,所述i为小于或者等于所述n的正整数。
11.一种视频编码装置,其特征在于,所述装置包括:
获取模,用于获取待处理的目标视频,所述目标视频包括依序排列的n个目标视频帧;
检测模块,用于对第i个所述目标视频帧采用目标检测模型进行目标检测,得到所述目标视频帧中的目标区域,所述目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,所述样本视频帧是标注有兴趣对象所在区域的视频帧;
编码模块,用于根据所述n个目标视频帧各自对应的所述目标区域,采用感兴趣区域ROI编码算法进行视频编码得到编码后的所述目标视频;
其中,所述n为正整数,所述i为小于或者等于所述n的正整数。
12.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的视频编码方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如权利要求1至10任一所述的视频编码方法。

说明书全文

视频编码方法、装置、终端及存储介质

技术领域

[0001] 本申请涉及视频处理技术领域,特别涉及一种视频编码方法、装置、终端及存储介质。

背景技术

[0002] 视频编码是指通过特定的压缩方式,将第一视频格式的文件转换成第二视频格式的文件的技术。
[0003] 相关技术中,对静态图像进行编码的方法包括:终端获取待处理的静态图像,对静态图像中位于固定位置指定区域采用感兴趣区域(region of interest, ROI)编码算法进行编码,得到编码后的静态图像。
[0004] 上述的ROI编码算法通常应用于对静态图像中指定区域进行编码,对于动态图像如视频,ROI区域无法随着用户所关注的区域进行动态调整的,比如,在虚拟场景中虚拟对象是活动的,对于同一个视频中不同的视频,该虚拟对象在视频帧中的位置和朝向很可能是不同的,因此如果仅对视频帧中位于固定位置的指定区域进行ROI编码算法,无法保证用户所关注的区域的编码质量发明内容
[0005] 本申请实施例提供了一种视频编码方法、装置、终端及存储介质,可以用于解决相关技术中视频编码时若采用ROI编码算法则无法保证用户所关注的区域的编码质量的问题。所述技术方案如下:
[0006] 一个方面,提供了一种视频编码方法,所述方法包括:
[0007] 获取待处理的目标视频,所述目标视频包括依序排列的n个目标视频帧;
[0008] 对第i个所述目标视频帧采用目标检测模型进行目标检测,得到所述目标视频帧中的目标区域,所述目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,所述样本视频帧是标注有兴趣对象所在区域的视频帧;
[0009] 根据所述n个目标视频帧各自对应的所述目标区域,采用ROI编码算法进行视频编码得到编码后的所述目标视频;
[0010] 其中,所述n为正整数,所述i为小于或者等于所述n的正整数。
[0011] 另一个方面,提供了一种游戏视频编码方法,所述方法包括:
[0012] 获取待处理的游戏视频,所述游戏视频包括依序排列的n个游戏视频帧;
[0013] 对第i个所述游戏视频帧采用目标检测模型进行目标检测,得到所述游戏视频帧中的目标区域,所述目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,所述目标区域是所述游戏视频帧中的目标游戏对象所在的区域;
[0014] 根据所述n个游戏视频帧各自对应的所述目标区域,采用ROI编码算法进行视频编码得到编码后的所述游戏视频;
[0015] 其中,所述n为正整数,所述i为小于或者等于所述n的正整数。
[0016] 另一个方面,提供了一种视频编码装置,所述装置包括:
[0017] 获取模,用于获取待处理的目标视频,所述目标视频包括依序排列的n 个目标视频帧;
[0018] 检测模块,用于对第i个所述目标视频帧采用目标检测模型进行目标检测,得到所述目标视频帧中的目标区域,所述目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,所述样本视频帧是标注有兴趣对象所在区域的视频帧;
[0019] 编码模块,用于根据所述n个目标视频帧各自对应的所述目标区域,采用 ROI编码算法进行视频编码得到编码后的所述目标视频;
[0020] 其中,所述n为正整数,所述i为小于或者等于所述n的正整数。
[0021] 另一个方面,提供了一种游戏视频编码装置,所述装置包括:
[0022] 获取模块,用于获取待处理的游戏视频,所述游戏视频包括依序排列的n 个游戏视频帧;
[0023] 检测模块,用于对第i个所述游戏视频帧采用目标检测模型进行目标检测,得到所述游戏视频帧中的目标区域,所述目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,所述目标区域是所述游戏视频帧中的目标游戏对象所在的区域;
[0024] 编码模块,用于根据所述n个游戏视频帧各自对应的所述目标区域,采用 ROI编码算法进行视频编码得到编码后的所述游戏视频;
[0025] 其中,所述n为正整数,所述i为小于或者等于所述n的正整数。
[0026] 另一个方面,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面或第二方面所提供的视频编码方法。
[0027] 另一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面或第二方面所提供的视频编码方法。
[0028] 本申请实施例提供的技术方案带来的有益效果至少包括:
[0029] 通过终端采用目标检测模型对目标视频帧进行目标检测,得到目标视频帧中的目标区域,随着视频画面的变化动态确定目标区域即ROI区域,使得后续终端能够基于动态确定出的ROI区域采用ROI编码算法进行视频编码,在有效保证目标区域的编码质量和稳定性的同时,降低了目标视频的编码码率,提高了视频编码效率。附图说明
[0030] 图1是本申请一个示例性的实施例提供的视频处理系统的结构示意图;
[0031] 图2是本申请一个实施例提供的视频编码方法的流程图
[0032] 图3是本申请一个实施例提供的视频编码方法涉及的曲线图;
[0033] 图4是本申请另一个实施例提供的模型训练方法的流程图;
[0034] 图5是本申请一个实施例提供的终端的结构示意图;
[0035] 图6是本申请另一个实施例提供的视频编码方法的流程图;
[0036] 图7是本申请另一个实施例提供的视频编码方法的流程图;
[0037] 图8是本申请一个实施例提供的游戏视频编码方法的流程图;
[0038] 图9至图11是本申请一个实施例提供的游戏编码方法涉及的界面示意图;
[0039] 图12是本申请一个实施例提供的视频编码装置的结构示意图;
[0040] 图13是本申请一个实施例提供的终端的结构示意图;
[0041] 图14是本申请一个示例性实施例提供的服务器的结构示意图。

具体实施方式

[0042] 为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0043] 首先,对本申请实施例涉及到的一些名词进行解释:
[0044] 人工智能(Artificial Intelligence,AI):由人工制造出来的系统所表现出来的智能,也称为机器智能。
[0045] 目标检测(英文:target detection):是采用深度神经网络算法,检测并输出目标在图像或视频帧中的位置信息的方法,该位置信息包括目标在图像或视频帧中的边界框(英文:bounding box)和坐标信息。在本申请实施例中,目标即为目标区域。
[0046] 目标识别(英文:target recognize):是在采用深度神经网络算法检测出图像或视频帧中的目标后,对目标进行分类识别的方法。
[0047] 卷积神经网络(Convolutional Neural Network,CNN):是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。它由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(英文:pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更优的结果。
[0048] 使用单个深层神经网络检测图像中对象的模型(Single Shot  MultiBox Detector,SSD)模型:用于在图像中进行目标检测。其核心算法是产生一系列固定大小的边界框,以及每一个边界框中包含物体实例的可能性,在特征映射网络上使用小的卷积核,预测一系列边界框的偏移量,然后进行非极大值抑制 (英文:Non-maximum suppression)得到图像中目标区域的位置信息。在本申请实施例中,目标检测模型包括SSD模型。
[0049] VGGNet:是津大学计算机视觉组(英文:Visual Geometry Group)和Google DeepMind公司的研究人员一起研发的深度卷积神经网络。VGGNet拥有多种不同结构模型,其中,VGG-16是拥有16层卷积结构的VGGNet。在VGGNet的官网上已经开源了训练后的模型参数。在本申请实施例中,对初始化SSD模型时所使用的预先训练的模型参数即为已经开源的VGG-16模型参数。
[0050] k-折叠交叉验证(K-fold Cross Validation,K-CV)将训练样本集分成K组,将每个子集数据分别做一次验证集,其余的K-1组子集数据作为训练集,这样会得到K个候选模型,用这K个候选模型最终的验证集的分类准确率的平均数作为此K-CV下分类器的模型参数。
[0051] 平均精度均值(mean average precision,mAP):为目标检测中衡量精度的指标,表示多个类别识别准确率的平均值。
[0052] ROI:在图像或者视频帧中以方框、圆、椭圆、不规则多边形等形式确定出的待处理的区域。
[0053] 视频编码:为连续视频帧即连续图像的编码,与静态图像编码着眼于消除图像内的冗余信息相对,视频编码主要通过消除连续视频帧之间的时域冗余信息来压缩视频。
[0054] ROI编码算法:在图像的ROI区域进行无损或近无损压缩编码,而在其他背景区域进行有损压缩。这样既可以使得编码后的图像有较高的信噪比,又可以得到较高的压缩比,很好的解决了压缩比和图像质量之间的矛盾。即降低传输视频的码率,降低带宽消耗,同时保证ROI区域的清晰度不受影响。
[0055] H.264视频编码标准:又称为MPEG-4第10部分,是由ITU-T视频编码专家组和ISO/IEC动态图像专家组联合组成的联合视频组(Joint Video Team,JVT) 提出的高度压缩数字视频编解码器标准。
[0056] H.265视频编码标准:又称为高效率视频编码(High Efficiency Video Coding, HEVC),是在H.264视频编码标准之后所制定的新的视频编码标准。基于H.265 视频编码标准对视频进行视频编码,不仅能够提升视频质量,与基于H.264视频编码标准进行视频编码相比,还能达到两倍的压缩率即在同样画面质量下比特率减少到了50%,可支持4K分辨率,最高分辨率可达到8K分辨率。
[0057] 码率:也称视频传输码率、带宽消耗量或吞吐量,是单位时间内传输的比特的数量。码率通常使用比特率(英文:Bit rate)来表示,单位为比特每秒(英文:bit/s或bps)。
[0058] 虚拟场景:应用程序在终端上运行时显示(或提供)的虚拟的场景。该虚拟场景可以是对真实世界的仿真场景,也可以是半仿真半虚构的场景,还可以是纯虚构的场景。虚拟场景能够提供一个多媒体的虚拟世界,用户可通过操作设备或操作界面对虚拟场景中可操作的虚拟对象进行控制,以虚拟对象的视观察虚拟场景中的物体、人物、景等虚拟物,或通过虚拟对象和虚拟场景中的物体、人物、风景等虚拟物或者其它虚拟对象等进行互动,例如,通过操作一个虚拟士兵对目标敌军进行攻击等。
[0059] 虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种。下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选的,该虚拟场景还用于进行至少两个虚拟对象之间的虚拟场景对战。比如,该虚拟场景用于至少两个虚拟对象之间使用虚拟枪械进行对战。
[0060] 虚拟场景通常由终端等计算机设备中的应用程序生成基于终端中的硬件 (比如屏幕)进行展示。该终端可以是智能手机、平板电脑或者电子书阅读器等移动终端;或者,该终端也可以是笔记本电脑或者固定式计算机的个人计算机设备。
[0061] 下面,结合上述本申请实施例中涉及的名词对本申请实施例进行说明,首先,请参考图1,图1是本申请一个示例性的实施例提供的视频处理系统的结构示意图。
[0062] 该视频处理系统包括:主播终端11、缓存服务器12、录制服务器13以及观众终端14,本申请实施例提供的该视频编码方法可以应用于在线视频场景中,在线视频场景包括视频直播场景或者视频点播场景。为了方便说明,下面仅以视频编码方法应用于视频直播场景即由主播终端11拍摄目标视频进行直播的场景中。
[0063] 可选的,主播终端11包括摄像头,该主播终端11通过摄像头对图像数据进行采集,得到待处理的目标视频,并对目标视频采用视频编码方法进行压缩和编码,生成编码后的目标视频。主播终端11将编码后的目标视频以直播视频帧的形式发送至缓存服务器12。
[0064] 可选的,主播终端11与缓存服务器12通过通信网络进行连接,该通信网络可以是有线网络也可以是无线网络。
[0065] 缓存服务器12用于缓存主播终端11发送的编码后的目标视频,可选的,缓存服务器12以n个依序排列的目标视频帧的形式将编码后的目标视频进行缓存。可选的,该缓存服务器12还用于将接收到的编码后的目标视频转发至观众终端14,观众终端14对主播终端11拍摄的目标视频进行观看。缓存服务器12 也可称为直播服务器。
[0066] 该录制服务器13用于对主播终端11生成的编码后的目标视频进行录制,并生成录制文件。可选的,主播终端11将开始录制信令发送至录制服务器13,录制服务器13可以根据开始录制信令从缓存服务器12获取编码后的目标视频。
[0067] 可选的,主播终端11将编码后的目标视频通过通信网络发送至观众终端14,该观众终端14对接收到的编码后的目标视频进行观看,可选的,观众终端14 通过缓存服务器12接收主播终端11发送的编码后的目标视频。可选地,该观众终端14包括观众终端141、观众终端142、观众终端143以及观众终端144。
[0068] 需要说明的是,为了方便介绍,下面的实施例中仅以“终端”表示主播终端 11。
[0069] 相关技术中,ROI编码算法通常应用于对静态图像中位于固定位置的指定区域进行编码,对于动态图像如视频,ROI区域无法随着用户所关注的区域进行动态调整的,比如,在虚拟场景中虚拟对象是活动的,对于同一个视频中不同的视频帧,该虚拟对象在视频帧中的位置和朝向很可能是不同的,因此如果仅对视频帧中位于固定位置的指定区域进行ROI编码算法,无法保证用户所关注的区域的编码质量。
[0070] 为此,本申请实施例提供了一种视频编码方法、装置、终端及存储介质。通过终端采用目标检测模型对目标视频帧进行目标检测,得到目标视频帧中的目标区域,随着视频画面的变化动态确定目标区域即ROI区域,使得后续终端能够基于动态确定出的ROI区域采用ROI编码算法进行视频编码,在有效保证目标区域的编码质量和稳定性的同时,降低了目标视频的编码码率,提高了视频编码效率。
[0071] 请参考图2,其示出了本申请一个实施例提供的视频编码方法的流程图。本实施例以该视频编码方法应用于图1所示出的主播终端11来举例说明。该视频编码方法包括:
[0072] 步骤201,获取待处理的目标视频,目标视频包括依序排列的n个目标视频帧。
[0073] 其中,n为正整数。
[0074] 目标视频是待编码的视频。按照视频内容的不同进行分类,目标视频包括游戏视频、赛事视频和电竞视频中的至少一种。其中,当目标视频为游戏视频时,目标视频可以是游戏直播视频,也可以是游戏点播视频。
[0075] 终端通过摄像头对目标视频进行采集,得到待处理的目标视频。
[0076] 目标视频包括依序排列的n个目标视频帧。目标视频帧的数量即n的数值可以是奇数,也可以是偶数。本实施例对此不加以限定。
[0077] 可选的,n个目标视频帧中存在至少两个目标视频帧中包括目标虚拟对象。 n个目标视频帧中存在至少两个目标视频帧各自对应的目标虚拟对象的数量是相同的,存在至少两个目标视频帧各自对应的目标虚拟对象的类型是相同的。
[0078] 目标虚拟对象包括虚拟物体、虚拟人物和虚拟风景中的至少一种,通常目标虚拟对象为虚拟场景中可操作的虚拟对象。比如,用户可通过操作设备操作一个虚拟人物,将该虚拟人物确定为目标虚拟对象。
[0079] 步骤202,对第i个目标视频帧采用目标检测模型进行目标检测,得到目标视频帧中的目标区域,目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,样本视频帧是标注有兴趣对象所在区域的视频帧。
[0080] 其中,i为小于或者等于n的正整数。
[0081] 终端在获取到待处理的目标视频之后,获取训练好的目标检测模型。对于第i个目标视频帧,采用目标检测模型进行目标检测得到目标视频帧中的目标区域。其中,i的初始值为1。
[0082] 目标区域是目标视频帧中感兴趣程度高于预设阈值的区域。即目标区域是视频帧中用户所关注的区域或者是用户所感兴趣的区域,也称感兴趣区域。
[0083] 可选的,目标区域是目标视频帧中目标虚拟对象所在的区域。
[0084] 目标视频帧中包括m个目标区域,m为正整数。目标视频帧中的目标区域中存在至少两个目标区域的区域大小和/或区域形状是相同的。
[0085] 目标视频的n个目标视频帧中存在至少两个目标视频帧所包括的目标区域的数量和/或位置是相同的。
[0086] 终端获取训练好的目标检测模型包括但不限于以下两种可能的获取方式:
[0087] 在一种可能的获取方式中,终端获取自身存储的目标检测模型。
[0088] 在另一种可能的获取方式中,终端向服务器发送获取请求,该获取请求用于指示服务器获取存储的目标检测模型,对应的,服务器根据获取请求获取并向终端发送目标检测模型。终端接收服务器发送的目标检测模型。下面仅以终端获取训练好的目标检测模型为第二种可能的获取方式为例进行说明。
[0089] 需要说明的是,目标检测模型的训练过程可参考下面实施例中的相关描述,在此先不介绍。
[0090] 目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,样本视频帧是标注有兴趣对象所在区域的视频帧。
[0091] 目标检测模型是具有对目标视频帧中感兴趣程度高于预设条件的目标区域进行识别的神经网络模型,目标区域是目标视频帧中的兴趣对象所占据的局部区域。
[0092] 目标检测模型是根据样本视频帧和预先标定的正确位置信息所确定的。该正确位置信息用于指示样本视频帧中目标区域所在位置。
[0093] 可选的,目标检测模型用于将输入的目标视频帧转化为目标区域的位置信息。
[0094] 可选的,目标检测模型用于提取目标视频帧中目标虚拟对象所在的目标区域的位置信息。目标区域的位置信息包括目标区域在目标视频帧中的边界框的尺寸信息和/或坐标信息。
[0095] 可选的,目标检测模型用于表示目标视频帧与目标区域的位置信息之间的相关关系。
[0096] 可选的,目标检测模型用于表示在预设场景中目标视频帧与目标区域的位置信息之间的相关关系。预设场景包括视频直播场景或者视频点播场景。
[0097] 可选地,目标检测模型为预设的数学模型,该目标检测模型包括目标视频帧与目标区域的位置信息之间的模型系数。模型系数可以为固定值,也可以是随时间动态修改的值,还可以是随着使用场景动态修改的值。
[0098] 其中,目标检测模型包括基于区域的卷积神经网络(英文:Faster Region-based Convolutional Neural Networks,Faster R-CNN)模型、一瞥(You Only Look Once,YOLO)模型和SSD模型中的至少一种。在本申请实施例中,仅以目标检测模型包括SSD模型为例进行说明。
[0099] 需要说明的是,i的初始值为1,当终端对第i个目标视频帧采用目标检测模型进行目标检测,得到目标视频帧中的目标区域时,将i加w,继续执行对第 i个目标视频帧采用目标检测模型进行目标检测,得到目标视频帧中的目标区域的步骤。其中,w为正整数。
[0100] 当w的取值为1时,当i等于n+1时,终端获取到n个目标视频帧各自对应的目标区域。
[0101] 当w的取值大于1时,终端根据预设规则获取到n个目标视频帧各自对应的目标区域。预设规则可参考下面实施例中的相关细节,在此先不介绍。
[0102] 步骤203,根据n个目标视频帧各自对应的目标区域,采用ROI编码算法进行视频编码得到编码后的目标视频。
[0103] 终端根据n个目标视频帧各自对应的目标区域,采用ROI编码算法进行视频编码得到编码后的目标视频,包括但不限于以下两种可能的实现方式。
[0104] 在第一种可能的实现方式中,终端在对一个目标视频帧进行目标检测之后,对该目标视频帧进行视频编码。即对于第i个目标视频帧,采用目标检测模型进行目标检测得到目标视频帧中的目标区域之后,终端对第i个目标视频帧中的目标区域采用ROI编码算法进行视频编码,得到编码后的第i个目标视频帧;根据n个编码后的目标视频帧得到编码后的目标视频。
[0105] 终端基于H.264视频编码标准或者H.265视频编码标准对目标区域采用RO I编码算法对ROI进行编码,得到编码后的目标视频帧。
[0106] 可选的,终端在采用目标检测模型进行目标检测得到目标视频帧中的目标区域之后,将目标视频帧中的目标区域确定为ROI,采用ROI编码算法对ROI 进行编码,得到编码后的目标视频帧。
[0107] 在第二种可能的实现方式中,终端采用延时编码模式,该延时编码模式用语言指示终端对目标视频中的n个目标视频帧进行目标检测,在检测完成之后,对n个目标视频帧进行视频编码,得到编码后的n个目标视频帧,根据n个编码后的目标视频帧得到编码后的目标视频。
[0108] 目标视频帧中包括目标区域和除了目标区域以外的其他区域。编码后的目标视频帧中的目标区域的清晰度高于其他区域的清晰度。
[0109] 终端对目标视频中n个目标视频帧进行编码后,得到编码后的n个目标视频帧,根据编码后的n个目标视频帧确定编码后的目标视频。即编码后的目标视频包括编码后的n个目标视频帧。
[0110] 需要说明的一点是,在下面的实施例中,仅以终端根据n个目标视频帧各自对应的目标区域,采用ROI编码算法进行视频编码得到编码后的目标视频的实现方式为上述第二种可能的实现方式为例进行说明,即终端采用延时编码模式为例进行说明。
[0111] 需要说明的另一点是,终端采用延时编码模式对n个目标视频帧进行视频编码得到编码后的n个目标视频帧的过程可参考下面实施例中的相关描述,在此先不介绍。
[0112] 综上所述,本实施例通过终端采用目标检测模型对目标视频帧进行目标检测,得到目标视频帧中的目标区域,随着视频画面的变化动态确定目标区域即 ROI区域,使得后续终端能够基于动态确定出的ROI区域采用ROI编码算法进行视频编码,在有效保证目标区域的编码质量和稳定性的同时,降低了目标视频的编码码率,提高了视频编码效率。
[0113] 图3示出了在相同清晰度下,两种不同的视频编码方法对传输视频的码率的不同需求。其中,两种不同的视频编码方法分别为本申请实施例中提供的目标检测与ROI视频编码算法相结合进行视频编码的方法,以及传统的基于H.26 4视频编码标准进行视频编码的方法。如图3所示,本申请实施例所提供的视频编码方法相较于传统视频编码方法,在相同的清晰度下传输视频的码率或者说宽带占用降低了20%~30%。
[0114] 需要说明的是,终端获取目标检测模型之前,需要对训练样本集进行训练得到目标检测模型。目标检测模型的训练过程可以在服务器中执行,也可以在终端中执行。下面仅以终端训练目标检测模型为例进行说明。
[0115] 在一种可能的实现方式中,终端获取训练样本集,训练样本集包括训练集 (英文:train set)和验证集。终端根据训练集和验证集,采用交叉验证算法对原始参数模型进行训练得到目标检测模型,原始参数模型是采用预先训练(英文:pre-trained)的模型参数初始化得到的模型。
[0116] 验证集也称交叉验证集(英文:cross validation set)。
[0117] 终端在获取到训练样本集之后,还可以将该训练样本集划分为训练集、验证集和测试集(英文:test set),训练集用于对原始参数模型进行训练,验证集用于计算训练得到的候选模型的误差值,测试集用于对最终生成的目标检测模型进行测试。
[0118] 可选的,终端使用预先训练的模型参数对SSD模型进行初始化,得到原始参数模型;根据训练集和验证集,采用k-折叠交叉验证算法进行训练,得到训练后的目标检测模型。
[0119] 在一个示意性的例子中,如图4所示,该模型训练方法包括但不限于以下几个步骤:
[0120] 步骤401,终端将训练样本集划分为训练集和验证集。
[0121] 可选的,终端采集训练样本集,终端将训练样本集的数据格式转化为预设数据格式。终端将转化格式后的训练样本集按照预设比例划分为训练集和验证集。
[0122] 可选的,该预设数据格式为帕斯卡尔视觉对象类(Pascal Visual Object Classes,Pascal Voc)数据集的数据格式。
[0123] 示意性的,预设比例用于指示训练集为60%的训练样本集,验证集为剩余的40%的训练样本集。
[0124] 步骤402,终端初始化SSD模型。
[0125] 可选的,终端使用预训练的模型参数对SSD模型进行初始化。
[0126] 示意性的,预训练的模型参数为VGG-16模型参数。
[0127] 步骤403,终端根据训练集,采用k-折叠交叉验证算法对原始参数模型进行训练,得到k个候选模型。
[0128] 训练集包括至少一组样本数据组训练得到的,每组所述样本数据组包括:样本视频帧和预先标注的正确位置信息。
[0129] 步骤404,终端根据验证集,对k个候选模型进行验证得到k个候选模型各自对应的误差值。
[0130] 验证集包括至少一组样本数据组训练得到的,每组所述样本数据组包括:样本视频帧和预先标注的正确位置信息。
[0131] 步骤405,终端根据k个候选模型各自对应的误差值,生成目标检测模型,目标检测模型的模型参数为k个候选模型各自对应的误差值的平均值。
[0132] 终端将k个候选模型各自对应的误差值的平均值确定为目标检测模型的模型参数,根据确定出的模型参数生成目标检测模型
[0133] 综上所述,本申请实施例还通过终端根据训练集和验证集,采用交叉验证算法对原始参数模型进行训练得到目标检测模型,由于训练模型时采用的是交叉验证算法,有效地避免了过拟合或者欠拟合的情况,使得训练得到的目标检测模型的泛化能更强。
[0134] 图5是本申请实施例提供的一种终端的结构示意图。该终端41为图1所提供的主播终端11。
[0135] 该终端51包括AI目标检测模块52和视频ROI编码模块55。
[0136] AI目标检测模块52用于接收输入的目标视频帧,采用训练好的目标检测模型对目标视频帧进行目标检测,得到目标视频帧中的目标区域的位置信息。
[0137] AI目标检测模块52还用于在接收到输入的目标视频帧之前,对目标检测模型进行训练。可选的,AI目标检测模块52还用于获取训练样本集,根据训练样本集对原始参数模型进行训练得到目标检测模型。
[0138] 示意性的,AI目标检测模块52还用于每秒处理目标视频中的15个分辨率为1920*1080的视频帧。
[0139] ROI编码模块15用于对n个目标视频帧各自对应的目标区域采用ROI编码算法进行视频编码,得到编码后的目标视频帧。
[0140] 其中,AI目标检测模块52进行目标检测的过程,ROI编码模块15进行视频编码的过程可参考下面实施例中的相关细节,在此先不介绍。
[0141] 请参考图6,其示出了本申请一个示例性实施例提供的视频编码方法的流程图。本实施例以该视频编码方法应用于图5所示出的终端中来举例说明。该视频编码方法包括:
[0142] 步骤601,视频ROI编码模块54采用延时编码模式将目标视频中的n个目标视频帧读取到内存缓冲区。
[0143] 视频ROI编码模块54获取目标视频,将目标视频中的n个目标视频帧读取到内存缓冲区。
[0144] 步骤602,视频ROI编码模块54将n个目标视频帧进行序列化编号。
[0145] 比如,n个目标视频帧的编号seq依次为1至n。
[0146] 步骤603,视频ROI编码模块54对编号后的n个目标视频帧进行隔帧检测。
[0147] 视频ROI编码模块54采用隔帧检测的方法即每隔w个目标视频帧进行检测的方法,将第i个目标视频帧发送给AI目标检测模块52。
[0148] 步骤604,AI目标检测模块52对接收到的第i个目标视频帧采用目标检测模型进行目标检测,得到目标视频帧中的目标区域。
[0149] 终端中存储有训练好的目标检测模型。终端获取自身存储的目标检测模型。
[0150] AI目标检测模块52将第i个目标视频帧输入至目标检测模型中,计算得到目标区域各自对应的位置信息。
[0151] AI目标检测模块52中预先设置目标检测服务接口,通过目标检测服务接口接收第i个目标视频帧,将第i个目标视频帧输入至目标检测模型中,输出目标区域各自对应的位置信息,该位置信息可以包括坐标信息,还可以包括目标区域的边界框的尺寸信息。
[0152] 在一种可能的实现方式中,目标区域的位置信息包括该目标视频帧的编号、目标区域在该目标视频帧中的左上角坐标值和右下角坐标值。
[0153] 目标视频帧的编号用于指示该目标视频帧在n个目标视频帧中的位置。比如,第i个目标视频帧的编号为i。
[0154] 可选的,目标区域的位置信息以键值对形式进行输出,键值对形式为[编号: (左上角坐标值,右下角坐标值)]。
[0155] 在另一种可能的实现方式中,目标区域的位置信息包括该目标视频帧的编号、目标区域在该目标视频帧中的左上角坐标值和边界框的尺寸信息。
[0156] 可选的,目标区域的位置信息以键值对形式进行输出,键值对形式为[编号: (左上角坐标值,边界框的尺寸)]。
[0157] 可选的,i的初始值为1。在视频ROI编码模块54将第i个目标视频帧发送给AI目标检测模块52之后,将i加上目标数值w,再次执行对第i个目标视频帧采用目标检测模型进行目标检测,得到目标视频帧中的目标区域的步骤。
[0158] 目标数值w为预设的数值,或者为根据目标视频帧的数量动态确定的数值。目标数值w为正整数。可选的,目标数值w可以是2、可以是3,还可以是4。本实施例对目标数值w的取值不加以限定。
[0159] 可选的,AI目标检测模块52根据预设对应关系,获取与目标视频中目标视频帧的数量对应的目标数值w,预设对应关系包括目标视频帧的数量与目标数值w之间的关系。
[0160] 示意性的,当目标视频帧的数量小于或者等于第一视频帧数量时,对应的目标数值w为2;当目标视频帧的数量大于第一视频帧数量且小于第二视频帧数量时,对应的目标数值w为3;当目标视频帧的数量大于或者等于第二视频帧数量时,对应的目标数值w为4。其中,第一视频帧数量小于第二视频帧数量。
[0161] 示意性的,第一视频帧数量为50,第二视频帧数量为100。本实施例对目标视频帧的数量与目标数值w之间的预设对应关系的设置不加以限定。
[0162] 步骤605,对于n个目标视频帧中未被检测的目标视频帧,根据离目标视频帧最近的已检测视频帧中的目标区域的位置信息,确定目标视频帧对应的目标区域。
[0163] 可选的,对于未被检测的目标视频帧,AI目标检测模块52根据离目标视频帧最近的已检测视频帧中的目标区域的位置信息,确定目标视频帧对应的目标区域。
[0164] 需要说明的一点是,根据离目标视频帧最近的已检测视频帧中的目标区域的位置信息,确定目标视频帧对应的目标区域的执行主体可以是视频ROI编码模块54,也可以是AI目标检测模块52。本申请实施例对此不加以限定。
[0165] 需要说明的另一点是,AI目标检测模块52根据离目标视频帧最近的已检测视频帧中的目标区域的位置信息,确定目标视频帧对应的目标区域的过程可参考下面实施例中的相关描述,在此先不介绍。
[0166] 步骤606,AI目标检测模块52将检测结果返回至视频ROI编码模块54。
[0167] 可选的,AI目标检测模块52根据确定出n个目标视频帧各自对应的目标区域,生成检测结果,将生成的检测结果返回至视频ROI编码模块54。
[0168] 示意性的,该检测结果包括以键值对形式[编号:(左上角坐标值,右下角坐标值)]的位置信息。
[0169] 步骤607,视频ROI编码模块54接收到检测结果后,对编号对应的目标视频帧采用ROI编码算法进行视频编码。
[0170] 步骤608,视频ROI编码模块54根据编码后的n个目标视频帧输出编码后的目标视频。
[0171] 视频ROI编码模块54对n个目标视频帧中的每个目标视频帧,采用第一编码算法对目标区域进行视频编码,并采用第二编码算法对其他区域进行视频编码,得到编码后的目标视频帧;根据n个编码后的目标视频帧生成编码后的目标视频。
[0172] 其中,其他区域为目标视频帧中除了目标区域以外的区域,编码后的目标视频帧中的目标区域的清晰度高于其他区域的清晰度,。
[0173] 第一编码算法和第二编码算法为预设用于进行视频编码的算法。采用第一编码算法编码得到的目标区域的清晰度高于采用第一编码算法编码得到的其他区域的清晰度。
[0174] 可选的,第一编码算法为无损压缩编码算法,第二编码算法为有损压缩编码算法。
[0175] 需要说明的是,当目标数值w为2时,上述步骤605可以被替换实现成为如下几个步骤,如图7所示:
[0176] 步骤701,AI目标检测模块52将i加2。
[0177] AI目标检测模块52将i加2,继续执行对于第i个目标视频帧,采用目标检测模型进行目标检测得到目标视频帧中的目标区域的步骤。
[0178] 由于相邻两个目标视频帧的图像变化一般比较小,在一种可能的实现方式中,采用隔帧检测的方法对n个目标视频帧进行目标检测,避免目标视频的每个目标视频帧都需要进行目标检测而带来的性能消耗问题,提高了AI目标检测模块52在目标检测时的检测性能。
[0179] 可选的,在AI目标检测模块52对目标区域采用感兴趣区域编码算法进行编码得到编码后的第i个目标视频帧之后,将i+2,继续执行对于第i个目标视频帧,采用目标检测模型进行目标检测得到目标视频帧中的目标区域的步骤。
[0180] 步骤702,视频ROI编码模块54判断i是否等于n+1。
[0181] 当i等于n+1或者n+2时,对于n个目标视频中未被检测的目标视频帧,根据目标视频帧的相邻视频帧中的目标区域的位置信息,确定目标视频帧对应的目标区域。
[0182] 当i等于n+1时,执行步骤703;当i不等于n+1时,执行步骤704。
[0183] 步骤703,当i等于n+1时,对于第n个目标视频帧,AI目标检测模块52 采用目标检测模型进行目标检测得到目标视频帧中的目标区域。
[0184] 当i等于n+1时,用于指示n的数值为偶数,对于第n个目标视频帧,不存在第n+1个目标视频帧,也就无法根据前后两个相邻的目标视频帧的目标区域确定第n个目标视频帧的目标区域。因此,对于第n个目标视频帧,AI目标检测模块52采用目标检测模型进行目标检测得到目标视频帧中的目标区域。
[0185] 步骤704,当i不等于n+1时,AI目标检测模块52判断i是否等于n+2。
[0186] 当i等于n+2时,用于指示n的数值为奇数,即第n个目标视频帧的目标区域已确定出,因此,AI目标检测模块52无需单独确定第n个目标视频帧的目标区域。即当i等于n+2时,执行步骤705;当i不等于n+2时,继续执行步骤6 04。
[0187] 步骤705,对于n个目标视频中未被检测的第j个目标视频帧,AI目标检测模块52根据第j-1个目标视频帧和第j+1个目标视频帧各自对应的目标区域的位置信息的均值,确定第j个目标视频帧对应的目标区域。
[0188] 可选的,对于n个目标视频中未被检测的目标视频帧,根据该目标视频帧的前后两个相邻的目标视频帧中目标区域的位置信息,通过均值近似求出该目标视频帧的目标区域的位置信息。
[0189] 示意性的,对于n个目标视频中第j个目标视频帧,获取第j-1个目标视频帧中目标区域各自对应的第一位置信息和第j+1个目标视频帧中目标区域各自对应的第二位置信息,j的初始值为2。将第一位置信息和第二位置信息的均值确定为第三位置信息;根据第三位置信息确定第j个目标视频帧对应的目标区域。
[0190] 第三位置信息为第一位置信息和第二位置信息的均值,第三位置信息用于指示第j个目标视频帧中的目标区域所在位置。
[0191] 步骤706,AI目标检测模块52将j加2。
[0192] 可选的,AI目标检测模块52在确定出第j个目标视频帧对应的目标区域之后,将j加2。
[0193] 步骤707,AI目标检测模块52判断j是否等于n。
[0194] AI目标检测模块52判断此时j是否等于n,当j等于n时,执行步骤606,当j不等于n时,继续执行步骤705。
[0195] 综上所述,本申请实施例还通过将i加上目标数值w,继续执行对于第i个目标视频帧,采用目标检测模型进行目标检测得到目标视频帧中的目标区域的步骤,采用隔帧检测的方法对n个目标视频帧进行目标检测,避免目标视频的每个目标视频帧都需要进行目标检测而带来的性能消耗问题,提高了AI目标检测模块52在目标检测时的检测效率。
[0196] 请参考图8,其示出了本申请一个示例性的实施例提供的一种游戏场景中的游戏视频编码方法的示意图。该游戏视频编码方法包括:
[0197] 步骤801,获取待处理的游戏视频,游戏视频包括依序排列的n个游戏视频帧。
[0198] 终端获取包括依序排列的n个游戏视频帧的游戏视频。
[0199] 步骤802,对第i个游戏视频帧采用目标检测模型进行目标检测,得到游戏视频帧中的目标区域,目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,目标区域是游戏视频帧中的目标游戏对象所在的区域。
[0200] 可选的,目标检测模型是采用样本视频帧对神经网络进行训练得到的模型,样本视频帧是目标虚拟对象所在区域的视频帧。目标检测模型是具有对游戏视频帧中感兴趣程度高于预设条件的目标区域进行识别的神经网络模型,目标区域是游戏视频帧中的目标虚拟对象所占据的局部区域。
[0201] 其中,i的初始值为1。
[0202] 当终端对第i个游戏视频帧采用目标检测模型进行目标检测,得到游戏视频帧中的目标区域时,将i加w,继续执行对第i个目标视频帧采用目标检测模型进行目标检测,得到游戏视频帧中的目标区域的步骤。其中,w为正整数。
[0203] 步骤803,根据n个游戏视频帧各自对应的目标区域,采用ROI编码算法进行视频编码得到编码后的游戏视频。
[0204] 其中,n为正整数,i为小于或者等于n的正整数。
[0205] 终端根据n个游戏视频帧各自对应的目标区域,采用ROI编码算法进行视频编码得到编码后的游戏视频。
[0206] 游戏视频帧中包括目标区域和除了目标区域以外的其他区域。编码后的游戏视频帧中的目标区域的清晰度高于其他区域的清晰度。
[0207] 需要说明的是,游戏视频编码方法的过程可类比参考上述实施例中的相关细节,在此不再赘述。
[0208] 在一个示意性的例子中,采用本申请实施例所提供的视频编码方法所输出显示的游戏界面示意图如图9至图11所示。如图9所示的游戏界面示意图中,终端采用目标检测模型进行目标检测得到游戏视频帧中的ROI区域91,该ROI 区域91中包括一个虚拟对象92,对ROI区域91进行无损或近无损压缩编码,而在除了ROI区域91以外的其他区域进行有损压缩,保证了ROI区域91的清晰度,即使得ROI区域91的清晰度高于其他区域的清晰度。同理,图10所示的是终端通过上述视频编码方法对游戏视频帧的ROI区域101进行无损或近无损压缩编码,而在除了ROI区域101以外的其他区域进行有损压缩后显示的游戏界面示意图。图11所示的是终端通过上述视频编码方法对游戏视频帧的ROI 区域111进行无损或近无损压缩编码,而在除了ROI区域111以外的其他区域进行有损压缩后显示的游戏界面示意图。
[0209] 下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
[0210] 请参考图12,其示出了本申请一个实施例提供的视频编码装置的结构示意图。该视频编码装置可以通过专用硬件电路,或者,软硬件的结合实现成为终端的全部或一部分,该视频编码装置包括:获取模块1210、检测模块1220和编码模块1230。
[0211] 获取模块1210,用于实现上述步骤201和/或步骤801。
[0212] 检测模块1220,用于实现上述步骤202和/或步骤802
[0213] 编码模块1230,用于实现上述步骤203和/或步骤803。
[0214] 可选的,检测模块1220,还用于获取目标检测模型,目标检测模型是具有对目标视频帧中感兴趣程度高于预设条件的目标区域进行识别的神经网络模型,目标区域是目标视频帧中的兴趣对象所占据的局部区域;将第i个目标视频帧输入至目标检测模型中,计算得到目标区域的位置信息。
[0215] 可选的,该装置还包括:循环模块和确定模块。该循环模块,用于将i加上目标数值w,再次执行对第i个目标视频帧采用目标检测模型进行目标检测,得到目标视频帧中的目标区域的步骤。确定模块,用于对于n个目标视频帧中未被检测的目标视频帧,根据离目标视频帧最近的已检测视频帧中的目标区域的位置信息,确定目标视频帧对应的目标区域。
[0216] 可选的,该确定模块,还用于获取与目标视频中目标视频的帧率对应的目标数值w,帧率与目标数值w呈正相关关系。
[0217] 可选的,w为2时,该确定模块,还用于当i等于n+1时,对于第n个目标视频帧,采用目标检测模型进行目标检测得到目标视频帧中的目标区域;
[0218] 对于n个目标视频中未被检测的第j个目标视频帧,根据第j-1个目标视频帧和第j+1个目标视频帧各自对应的目标区域的位置信息的均值,确定第j个目标视频帧对应的目标区域,j为正整数。
[0219] 可选的,w为2时,该确定模块,还用于当i等于n+2时,对于n个目标视频中未被检测的第j个目标视频帧,根据第j-1个目标视频帧和第j+1个目标视频帧各自对应的目标区域的位置信息的均值,确定第j个目标视频帧对应的目标区域,j为正整数。
[0220] 可选的,编码模块1230,还用于对n个目标视频帧中的每个目标视频帧,采用第一编码算法对目标区域进行视频编码,并采用第二编码算法对其他区域进行视频编码,得到编码后的目标视频帧,编码后的目标视频帧中的目标区域的清晰度高于其他区域的清晰度;根据n个编码后的目标视频帧生成编码后的目标视频。其中,其他区域为目标视频帧中除了目标区域以外的区域。
[0221] 可选的,该装置还包括:训练模块。该训练模块,用于获取训练样本集,训练样本集包括训练集和验证集;根据训练集和验证集,采用交叉验证算法对原始参数模型进行训练得到目标检测模型,原始参数模型是采用预先训练的模型参数初始化得到的模型。
[0222] 可选的,该训练模块,还用于使用预先训练的模型参数对使用单个深层神经网络检测图像中对象的模型SSD模型进行初始化,得到原始参数模型;根据训练集,采用k-折叠交叉验证算法对原始参数模型进行训练,得到k个候选模型,k为正整数;根据验证集,对k个候选模型进行验证得到k个候选模型各自对应的误差值;根据k个候选模型各自对应的误差值生成目标检测模型,目标检测模型的模型参数为k个候选模型各自对应的误差值的平均值。
[0223] 相关细节可结合参考图2至图11所示的方法实施例。其中,获取模块1210 还用于实现上述方法实施例中其他任意隐含或公开的与获取步骤相关的功能;检测模块1220还用于实现上述方法实施例中其他任意隐含或公开的与检测步骤相关的功能;编码模块1230还用于实现上述方法实施例中其他任意隐含或公开的与编码步骤相关的功能。
[0224] 需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0225] 本申请提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现上述各个方法实施例提供的视频编码方法。
[0226] 本申请还提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行上述各个方法实施例提供的视频编码方法。
[0227] 本申请还提供了一种终端,该终端包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的视频编码方法。
[0228] 图13示出了本发明一个示例性实施例提供的终端1300的结构框图。该终端1300可以是:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
[0229] 通常,终端1300包括有:处理器1301和存储器1302。
[0230] 处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、 FPGA(Field-Programmable Gate Array,现场可编程阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301的部分计算能力由GPU(Graphics Processing Unit,图像处理器)实现,GPU用于负责显示内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该 AI处理器用于处理有关机器学习的计算操作。
[0231] 存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的视频编码方法。
[0232] 在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
[0233] 外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
[0234] 射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路
1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与第二终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G 及
5G)、WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路 1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
[0235] 显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、 OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
[0236] 摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
[0237] 音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路 1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307 还可以包括机插孔。
[0238] 定位组件1308用于定位终端1300的当前地理位置,以实现导航或LBS (Location Based Service,基于位置的服务)。定位组件1308可以是基于美国的 GPS(Global Positioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
[0239] 电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
[0240] 在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
[0241] 加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
[0242] 陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应 (比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
[0243] 压力传感器1313可以设置在终端1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300 的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,由处理器1301根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
[0244] 指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314 采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
[0245] 光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301 还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
[0246] 接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器 1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
[0247] 本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
[0248] 本申请还提供了一种服务器,该服务器包括处理器和存储器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行以实现上述各个方法实施例提供的视频编码方法。
[0249] 请参考图14,其示出了本发明一个实施例提供的服务器的结构框架图。所述服务器1400包括中央处理单元(CPU)1401、包括随机存取存储器(RAM) 1402和只读存储器(ROM)1403的系统存储器1404,以及连接系统存储器1404 和中央处理单元1401的系统总线1405。
所述服务器1400还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(I/O系统)1406,和用于存储操作系统1413、应用程序1414和其他程序模块1415的大容量存储设备1407。
[0250] 所述基本输入/输出系统1406包括有用于显示信息的显示器1408和用于用户输入信息的诸如鼠标、键盘之类的输入设备1409。其中所述显示器1408和输入设备1409都通过连接到系统总线1405的输入输出控制器1410连接到中央处理单元1401。所述基本输入/输出系统1406还可以包括输入输出控制器1410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器1410还提供输出到显示屏、打印机或其他类型的输出设备。
[0251] 所述大容量存储设备1407通过连接到系统总线1405的大容量存储控制器 (未示出)连接到中央处理单元1401。所述大容量存储设备1407及其相关联的计算机可读介质为服务器1400提供非易失性存储。也就是说,所述大容量存储设备1407可以包括诸如硬盘或者CD-ROI驱动器之类的计算机可读介质(未示出)。
[0252] 不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EPROM、EEPROM、闪存或其他固态存储其技术,CD-ROM、DVD或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器1404和大容量存储设备1407可以统称为存储器。
[0253] 存储器存储有一个或多个程序,一个或多个程序被配置成由一个或多个中央处理单元1401执行,一个或多个程序包含用于实现上述视频编码方法的指令,中央处理单元1401执行该一个或多个程序实现上述各个方法实施例提供的视频编码方法。
[0254] 根据本发明的各种实施例,所述服务器1400还可以通过诸如因特网等网络连接到网络上的远程计算机运行。也即服务器1400可以通过连接在所述系统总线1405上的网络接口单元1411连接到网络1412,或者说,也可以使用网络接口单元1411来连接到其他类型的网络或远程计算机系统(未示出)。
[0255] 所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,所述一个或者一个以上程序包含用于进行本发明实施例提供的视频编码方法中由服务器1400所执行的步骤。
[0256] 上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
[0257] 本领域普通技术人员可以理解实现上述实施例的视频编码方法中全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0258] 以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈