视频编码方法、装置、计算机设备及存储介质与流程

文档序号:20349830发布日期:2020-04-10 22:54阅读:121来源:国知局
视频编码方法、装置、计算机设备及存储介质与流程

本申请实施例涉及视频处理技术领域,特别涉及一种视频编码方法、装置、计算机设备及存储介质。



背景技术:

随着网络和计算机技术的不断发展,用户对网络视频的体验质量的要求也越来越高。

网络侧的视频服务器向用户终端提供网络视频时,可以对原始视频数据进行编码后推送给用户终端,在相关技术中,视频服务器可以通过感知编码技术对原始视频数据进行编码。比如,视频服务器将原始视频数据切分为视频片段,然后针对每个视频片段分别确定合适的编码参数,并根据确定的编码参数对相应的视频片段进行编码。

然而,相关技术所示的方案直接在原始视频数据分割出的视频片段上进行编码,当原始视频质量过高或过低时,无法兼顾视频编码效率和编码后的视频质量。



技术实现要素:

本申请实施例提供了一种视频编码方法、装置、计算机设备及存储介质,可以兼顾视频编码效率和编码后的视频质量,该技术方案如下:

一方面,提供了一种视频编码方法,所述方法包括:

对原始视频数据进行分割,得到原始视频片段;

对所述原始视频片段进行视频内容分析,得到所述原始视频片段对应的视频图像处理参数;

基于所述视频图像处理参数对所述原始视频片段中的视频图像进行图像处理,得到处理后的视频片段;

基于所述处理后的视频片段的图像特征数据,获取所述处理后的视频片段的编码参数;

按照所述编码参数对所述处理后的视频片段进行编码,得到编码后的视频片段。

另一方面,提供了一种视频编码装置,所述装置包括:

视频分割模块,用于对原始视频数据进行分割,得到原始视频片段;

视频内容分析模块,用于对所述原始视频片段进行视频内容分析,得到所述原始视频片段对应的视频图像处理参数;

视频处理模块,用于基于所述视频图像处理参数对所述原始视频片段中的视频图像进行图像处理,得到处理后的视频片段;

编码参数获取模块,用于基于所述处理后的视频片段的图像特征数据,获取所述处理后的视频片段的编码参数;

编码模块,用于按照所述编码参数对所述处理后的视频片段进行编码,得到编码后的视频片段。

在一种可能的实现方式中,所述视频内容分析模块,用于,

将所述原始视频片段以及目标图像质量数据输入至视频分析模型,获得所述视频分析模型输出的所述视频图像处理参数;

所述视频分析模型是通过视频片段样本、视频片段样本的目标图像质量数据以及所述视频片段样本的视频图像处理参数训练得到的机器学习模型。

在一种可能的实现方式中,所述目标图像质量数据包括图像质量等级。

在一种可能的实现方式中,所述视频图像处理参数包括如下至少一种:

目标帧率、目标量化位深以及亮度调整曲线。

在一种可能的实现方式中,所述视频处理模块,包括:

帧率上采样单元,用于响应于所述视频图像处理参数包括所述目标帧率,且所述目标帧率高于所述原始视频片段的帧率,通过帧率上采样对所述原始视频片段进行超帧处理,得到所述处理后的视频片段;

帧率裁剪单元,用于响应于所述视频图像处理参数包括所述目标帧率,且所述目标帧率低于所述原始视频片段的帧率,通过帧率下采样对所述原始视频片段进行裁剪处理,得到所述处理后的视频片段;

所述视频处理模块,还用于响应于所述视频图像处理参数包括所述目标帧率,且所述目标帧率等于所述原始视频片段的帧率,保持所述原始视频片段的帧率,得到所述处理后的视频片段。

在一种可能的实现方式中,所述视频处理模块,包括:

下采样量化单元,用于响应于所述视频图像处理参数包括所述目标量化位深,且所述目标量化位深低于所述原始视频片段的量化位深,对所述原始视频片段进行下采样量化,得到所述处理后的视频片段;

逆量化单元,用于响应于所述视频图像处理参数包括所述目标量化位深,且所述目标量化位深高于所述原始视频片段的量化位深,对所述原始视频片段进行反方向高精度逆量化,得到所述处理后的视频片段;

所述视频处理模块,还用于响应于所述视频图像处理参数包括所述目标量化位深,且所述目标量化位深等于所述原始视频片段的量化位深,保持所述原始视频片段的量化位深率,得到所述处理后的视频片段。

在一种可能的实现方式中,所述视频处理模块,包括:

色调映射单元,用于响应于所述视频图像处理参数包括所述亮度调整曲线,且所述亮度调整曲线对应的亮度范围与所述原始视频片段的亮度范围不一致,基于所述亮度调整曲线对所述原始视频片段进行色调映射,得到所述处理后的视频片段;

所述视频处理模块,还用于响应于所述视频图像处理参数包括所述亮度调整曲线,且所述亮度调整曲线对应的亮度范围与所述原始视频片段的亮度范围一致,保持所述原始视频片段的色调,得到所述处理后的视频片段。

在一种可能的实现方式中,所述编码参数获取模块,用于,

将所述处理后的视频片段的图像特征数据输入至编码参数确定模型,获得所述编码参数确定模型输出的所述编码参数;

所述编码参数确定模型是通过图像特征数据样本,以及所述图像特征数据样本对应的编码参数训练得到的机器学习模型。

在一种可能的实现方式中,所述图像特征数据包括如下至少一种:帧率、量化位深、最大亮度、最小亮度、图像类型、运动矢量以及目标图像质量数据。

在一种可能的实现方式中,所述编码参数包括码率。

在一种可能的实现方式中,所述视频分割模块,用于按照指定维度对所述原始视频数据进行分割,得到所述原始视频片段;

其中,所述指定维度包括如下至少一种:暗部及高亮部在图像中的分布特性、运动区域的轨迹与运动程度、色彩分布及浓烈程度以及画面细节。

在一种可能的实现方式中,所述装置还包括:

合并模块,用于按照对应的原始视频片段的分割顺序,将各个编码后的视频片段进行合并,得到编码后的视频数据。

另一方面,提供了一种计算机设备,所述计算机设备包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上所述的视频编码方法。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的视频编码方法。

本申请提供的技术方案可以包括以下有益效果:

通过对原始视频数据进行分割,得到原始视频片段;对该原始视频片段进行视频内容分析,得到该原始视频片段对应的视频图像处理参数;基于该视频图像处理参数对该原始视频片段中的视频图像进行图像处理,得到处理后的视频片段;基于该处理后的视频片段的图像特征数据,获取该处理后的视频片段的编码参数;按照该编码参数对该处理后的视频片段进行编码,得到编码后的视频片段;也就是说,在上述方案中,在确定编码参数之前,先对原始视频片段进行图像处理,然后确定处理后的视频片段对应的编码参数并进行编码,这样可以控制视频质量与编码参数之间的关系,从而达到兼顾编码效率和编码后的视频质量的目的,从而提高编码效果。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1是本申请各个实施例涉及的一种视频服务系统的系统构成图;

图2是本申请涉及的超高清维度分解示意图;

图3是根据一示例性实施例示出的一种视频编码方法的流程图;

图4是图3所示实施例涉及的视频编码的流程示意图;

图5是根据一示例性实施例示出的一种视频编码方法的流程图;

图6是图5所示实施例涉及的视频分析模型的输入输出示意图;

图7是图5所示实施例涉及的编码参数确定模型的输入输出示意图;

图8是根据一示例性实施例示出的视频编码装置的结构方框图;

图9是根据一示例性实施例示出的一种计算机设备的结构示意图;

图10是根据一示例性实施例示出的一种计算机设备的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

本申请实施例提出了一种视频编码方案,该方案能够基于人工智能(artificialintelligence,ai),更好匹配图像质量与编码参数,兼顾视频编码的效率和编码后的视频质量。为了便于理解,下面对本申请涉及的名词进行解释。

1)镜头分割

本申请中,镜头分割是指将输入的原始片源(待编码)分割为若干段时间连续、片段之间不重叠、且所有片段按照顺序可合并为原始片源的“镜头”。为了保证整体系统性能最优,一般情况下将时间范围连续的、内容相似的图像分割为一个片段,称为“镜头”。后续的处理均以这些“镜头”代表的视频图像片段为单位来进行。

2)ai

ai是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、智能视频服务等,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

3)机器学习(machinelearning,ml)

ml是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

本申请实施例提供的方案涉及人工智能的机器学习等技术,具体通过如下实施例进行说明。

请参考图1,其示出了本申请各个实施例涉及的一种视频服务系统的系统构成图。如图1所示,该系统包括服务器120、数据库140以及若干个终端160。

服务器120是一台服务器,或者由若干台服务器,或者是一个虚拟化平台,或者是一个云计算服务中心。

服务器120可以是为视频服务类应用程序提供后台支持的服务器。服务器120可以由一个或多个功能单元组成。

可选的,在一种可能的实现方式中,如图1所示,服务器120可以包括接口单元120a、编码单元120b以及推送单元120c。

接口单元120a用于与终端160中安装的视频服务类应用程序进行信息交互,以获取终端160对应的用户的相关信息,比如,用户账号信息以及用户操作信息等等。

编码单元120b用于对未经编码的视频数据进行编码,得到编码后的视频。

推送单元120c用于向各个用户对应的终端160推送编码后的视频。

上述数据库140可以是redis数据库,或者,也可以是其它类型数据库。其中,数据库140用于存储各类数据,比如,各个用户的用户信息、包含各个未经编码的原始视频数据、以及编码后的视频数据等等。

比如,接口单元120a获取到各个终端对应的用户的相关信息后,将用户的相关信息存储至数据库140,编码单元120b对数据库140中存储的原始视频数据进行编码后,存储回数据库140中,推送单元120c向用户推送视频时,从数据库140提取编码后的视频数据并推送给用户对应的终端。

或者,在另一种可能的实现方法中,上述视频编码也可以由终端160来执行。比如,终端160可以通过图像采集组件或者录屏软件录制原始视频数据,并将录制的原始视频数据进行编码后上传至网络侧,以便其它终端从网络侧获取编码后上传的视频数据。

例如,终端160对原始视频数据进行编码,并将编码后的视频数据上传至服务器120,服务器120将编码后的视频数据存储至数据库140中,服务器120接收到其它终端发送的,获取该编码后的视频数据的请求时,可以从数据库140中获取编码后的视频数据并推送给其它终端,或者,将从数据库140中获取编码后的视频数据并发送给内容分发网络,由其它终端从内容分发网络拉取该编码后的视频数据。

终端160可以是具有网络连接功能,且安装有上述服务器120对应的视频服务类应用程序的终端设备,比如,终端160可以是智能手机、平板电脑、电子书阅读器、智能眼镜、智能手表、mp3播放器(movingpictureexpertsgroupaudiolayeriii,动态影像专家压缩标准音频层面3)、mp4(movingpictureexpertsgroupaudiolayeriv,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑等等。可选的,该终端160还可能被称为用户设备、便携式终端、膝上型终端、台式终端等。

在本申请实施例中,上述视频服务类应用程序可以包括任意提供连续图像帧流的应用程序,比如,包括且不限于传统的视频播放应用程序、视频直播应用程序、游戏类应用程序、通信类应用程序或者浏览器类应用程序等等。

终端160与服务器120之间通过通信网络相连。可选的,该通信网络是有线网络或无线网络。

可选的,该系统还可以包括管理设备(图1未示出),该管理设备与服务器120之间通过通信网络相连。可选的,通信网络是有线网络或无线网络。

可选的,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(localareanetwork,lan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。在一些实施例中,使用包括超文本标记语言(hypertextmark-uplanguage,html)、可扩展标记语言(extensiblemarkuplanguage,xml)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(securesocketlayer,ssl)、传输层安全(transportlayersecurity,tls)、虚拟专用网络(virtualprivatenetwork,vpn)、网际协议安全(internetprotocolsecurity,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。

随着支持第五代移动通信新空口(5th-generationnewradio,5gnr)网络连接的智能手机逐步进入市场,5g网络即将全面进入商用化。其高吞吐、低延迟、强可靠的技术特性为下一代互联网服务提供了坚实基础,视频点播服务、低时延直播、云游戏、物联网等强依赖网络基础设施质量的业务必然将会得到巨大的发展。

伴随人们对视听享受的不断提高,以及产业链相关设备的不断升级,消费端视频业务的趋势必然走向更高清晰度及其更优质体验。由此,以720p/1080p为代表的高分辨率(highdefinition,hd)视频(商业渠道多以“超清”或者“蓝光”命名)开始向超高分辨率(ultrahighdefinition,uhd)视频提振升级。不同于hd时代的升级,超高清视频的升级除了最直观的图像清晰度提升外,还包括了帧率、动态范围、色域、位深等共5个典型维度的升级(请参考图2,其示出了本申请涉及的超高清维度分解示意图)。如图2所示,uhd超高清视频各维度的提升会导致视频码率显著增加,即使依托5g高带宽,高效压缩仍然是一个极大的挑战。目前,针对超高清视频的压缩主要有2个思路:

1)寻找压缩比更高的算法工具,比如多功能视频编码(versatilevideocoding,vvc)视频压缩标准,以及av1/av2视频压缩标准,及avs3视频压缩标准等等。

2)不依赖特定的视频压缩标准,结合近年来成熟的机器学习、ai能力提高编码过程中的码率分配效率,即重要的、或者对主观视觉感知更敏感的区域分配更多的码率,反之可以分配更少的码率,以此在整体主观质量不变的情况下节省码率。

上述1)和2)可以结合,即为感知编码(contentawareencoding,cae)技术。目前的cae技术主要用于传统视频,以维持同等主观视觉质量为前提、尽量节省码率为目的,并未充分考虑超高清视频在帧率、量化位深等多维度上的特点,自然也无法综合超高清视频多维度参数来达到视觉质量与码率之间“最好”的权衡。

为解决上述问题,本申请后续实施例提出一种视频编码方案,可以更好的兼顾视频编码的效率和编码后的视频质量。

图3是根据一示例性实施例示出的一种视频编码方法的流程图,该视频编码方法可以用于计算机设备,比如上述图1所示系统的服务器或者终端中。如图3所示,该视频编码方法可以包括如下步骤:

步骤31,对原始视频数据进行分割,得到原始视频片段。

其中,上述对原始视频数据进行分割,可以是采用镜头分割的方式对原始视频数据进行分割。

步骤32,对该原始视频片段进行视频内容分析,得到该原始视频片段对应的视频图像处理参数。

在本申请实施例中,对视频内容分析得到的视频图像处理参数,可以是对应上述图2所示的超高清视频的一种或者多种维度的处理参数。

步骤33,基于该视频图像处理参数对该原始视频片段中的视频图像进行图像处理,得到处理后的视频片段。

在本申请实施例中,计算机设备可以按照上述视频图像处理参数,对原始视频频段的一种或者多种维度的参数进行调整处理,得到处理后的视频片段。

步骤34,基于该处理后的视频片段的图像特征数据,获取该处理后的视频片段的编码参数。

步骤35,按照该编码参数对该处理后的视频片段进行编码,得到编码后的视频片段。

在对各个视频片段进行编码得到编码后的视频片段之后,计算机设备还可以进一步将各个编码后的视频片段按照分割的时间顺序合并得到编码后的视频数据并进行推送,比如,推送至服务器/内容分发网络,或者,推送给其它终端。

例如,请参考图4,其示出了本申请实施例涉及的视频编码的流程示意图。如图4所示,原始视频数据经过步骤s1的镜头分割,得到原始视频片段;各个原始视频片段分别经过步骤s2的视频内容分析得到对应的视频图像处理参数,再经过步骤s3的图像处理,得到处理后的视频片段;然后通过步骤s4的ai编码参数获取,以及步骤s5的视频片段编码,得到编码后的视频片段,再经过步骤s6的视频片段合成,即可以得到编码后的视频数据。

通过上述方案,分割得到原始视频片段之后,首先对原始视频片段进行图像处理,然后确定处理后的视频片段对应的编码参数并进行编码,这样可以在编码参数过程中控制视频质量与编码参数之间的关系,比如,当原始视频片段的视频质量过高时,可以适当降低原始视频片段的视频质量,以缩短编码时间,提高编码效率;相应的,当原始视频片段的视频质量较低时,还可以适当的提高原始视频片段的视频质量,以保证编码后的视频质量。

综上所述,本申请实施例所示的方案,对原始视频数据进行分割,得到原始视频片段;对该原始视频片段进行视频内容分析,得到该原始视频片段对应的视频图像处理参数;基于该视频图像处理参数对该原始视频片段中的视频图像进行图像处理,得到处理后的视频片段;基于该处理后的视频片段的图像特征数据,获取该处理后的视频片段的编码参数;按照该编码参数对该处理后的视频片段进行编码,得到编码后的视频片段;也就是说,在上述方案中,在确定编码参数之前,先对原始视频片段进行图像处理,然后确定处理后的视频片段对应的编码参数并进行编码,这样可以控制视频质量与编码参数之间的关系,从而达到兼顾编码效率和编码后的视频质量的目的,从而提高编码效果。

在上述图3所示的方案中,为了适应超高清视频片源的多维度考量,计算机设备可以基于ai方式来进行各类参数的确定,以更好的匹配视频质量与编码参数。该过程可以如后续实施例所示。

图5是根据一示例性实施例示出的一种视频编码方法的流程图,该视频编码方法可以用于计算机设备中。其中,该计算机设备可以是上述图1所示系统中的服务器或者终端。如图5所示,以该计算机设备是上述图1所示系统的服务器为例,该视频编码方法可以包括如下步骤:

步骤501,按照指定维度对该原始视频数据进行分割,得到原始视频片段。

其中,该指定维度包括如下至少一种:暗部及高亮部在图像中的分布特性、运动区域的轨迹与运动程度、色彩分布及浓烈程度以及画面细节。

其中,服务器可以将原始视频数据按照时间划分为首尾相接的多个原始视频片段。

本申请实施例中,服务器进行镜头分割时,可以考虑影响超高清视频视觉体验的更多维度,而不仅限于图像纹理的相似度。可选的,其镜头分割的指定维度可以包括:

1)暗部、高亮部在图像中的分布特性;

2)运动区域的轨迹与程度;

3)色彩分布及浓烈程度;

4)画面细节,如平滑区域的过渡层次感。

在本申请实施例中,服务器在进行镜头分割时,可以按照暗部、高亮部在图像中的分布特性、运动区域的轨迹与程度、色彩分布及浓烈程度以及画面细节中的一种或者多种,来确定原始视频数据中的分割点。

比如,服务器可以通过上述4种维度中的单个维度来确定原始视频数据中的分割点,例如,服务器可以分析原始视频数据中某一视频帧前的若干视频帧的暗部、高亮部在图像中的分布特性,以及该视频帧之后的若干视频帧的暗部、高亮部在图像中的分布特性,如果该视频帧前后的若干视频帧的暗部、高亮部在图像中的分布特性的差异性满足预设条件,则可以将该视频帧确定为一个分割点。或者,服务器可以分析原始视频数据中某一视频帧前的若干视频帧的运动区域的轨迹与程度,以及,该视频帧之后的若干视频帧的运动区域的轨迹与程度,如果该视频帧前后的若干视频帧的运动区域的轨迹与程度的差异性满足预设条件,则可以将该视频帧确定为一个分割点,以此类推。

或者,服务器也可以结合上述4种指定维度中的多个维度来分析来综合确定原始视频数据中的分割点。

步骤502,将原始视频片段以及目标图像质量数据输入至视频分析模型,获得该视频分析模型输出的该视频图像处理参数。

在本申请实施例中,该视频分析模型是通过视频片段样本、视频片段样本的目标图像质量数据以及该视频片段样本的视频图像处理参数训练得到的机器学习模型。

在本申请实施例中,开发人员可以预先标注得到视频分析模型的训练数据集,该训练数据集由若干个视频片段样本、视频片段样本的目标图像质量数据以及该视频片段样本的视频图像处理参数构成,模型训练设备可以通过该视频分析模型的训练数据集,训练得到上述视频分析模型。

可选的,该目标图像质量数据包括图像质量等级。

上述图像质量数据可以是指定的一个质量等级,其可以是业务指定的一种水平标准参数,比如,在本申请实施例中,图像质量数据可以用1~10来表明质量等级,10表示质量最高、1表示最低。

可选的,该视频图像处理参数包括如下至少一种:目标帧率、目标量化位深以及亮度调整曲线。

本申请实施例所示的方案,服务器可以通过机器学习模型来分析视频内容,并且在指定的视觉质量因子下,输出最合适的图像参数,以便后续作进一步预处理。其工作原理是:对于超高分辨率的视频来说,由于图像内容特征的差异化,图2所示的各个维度并非在所有情况下都是越高越好,且由于现阶段对人眼视觉原理研究的不完善,无法通过精确的数学建模来计算和量化各维度。

举例而言:

1)对于电竞游戏直播画面,帧率越高、体验越好;但对于普通自然采集图像,如无剧烈运动的影视剧室内场景镜头,高帧率并不会带来显著的观影体验提升,于是使用更高的码率对此类镜头编码相当于是一种浪费。

2)对于纹理简单、亮度过度细腻的画面(如:蓝天、白云、水面、室内建筑阴影),需要使用较高的量化位深,以避免在超高清显示器上渲染时出现条带、斑块等伪影;但对于纹理复杂的画面(如:丛林、乱石),自身就存在很多边缘信息,使用较高的量化位深则是浪费。

基于上述原理,服务器可以对输入镜头(即输入的原始视频片段)进行分析,以得到合适的超高清维度的视频图像处理参数。

比如,请参考图6,其示出了本申请实施例涉及的视频分析模型的输入输出示意图。如图6所示,服务器将原始视频片段以及期望的目标图像质量数据输入到ai网络模型(即上述视频分析模型),通过预先训练标定数据集,ai网络模型可以对输入的原始图像及指定质量因子经过ai推理后,输出最合适的超高清维度的视频图像处理参数。

步骤503,基于该视频图像处理参数对该原始视频片段中的视频图像进行图像处理,得到处理后的视频片段。

可选的,对该原始视频片段中的视频图像进行图像处理的方式可以如下:

1)响应于该视频图像处理参数包括该目标帧率,且该目标帧率高于该原始视频片段的帧率,通过帧率上采样对该原始视频片段进行超帧(superframe-rate)处理,得到该处理后的视频片段;响应于该视频图像处理参数包括该目标帧率,且该目标帧率低于该原始视频片段的帧率,通过帧率下采样对该原始视频片段进行裁剪处理,得到该处理后的视频片段。可选的,响应于视频图像处理参数包括目标帧率,且目标帧率等于原始视频片段的帧率,保持原始视频片段的帧率,得到处理后的视频片段。

2)响应于该视频图像处理参数包括该目标量化位深,且该目标量化位深低于该原始视频片段的量化位深,对该原始视频片段进行下采样量化,得到该处理后的视频片段;响应于该视频图像处理参数包括该目标量化位深,且该目标量化位深高于该原始视频片段的量化位深,对该原始视频片段进行反方向高精度逆量化,得到该处理后的视频片段。可选的,响应于视频图像处理参数包括目标量化位深,且目标量化位深等于原始视频片段的量化位深,保持原始视频片段的量化位深率,得到处理后的视频片段。

3)响应于该视频图像处理参数包括该亮度调整曲线,且该亮度调整曲线对应的亮度范围与该原始视频片段的亮度范围不一致,基于该亮度调整曲线对该原始视频片段进行色调映射,得到该处理后的视频片段。可选的,响应于视频图像处理参数包括亮度调整曲线,且亮度调整曲线对应的亮度范围与原始视频片段的亮度范围一致,保持原始视频片段的色调,得到处理后的视频片段。

可选的,当上述视频图像处理参数包括两种或者两种以上时,可以参考上述三种对应的处理方式合并处理。比如,以视频图像处理参数包括目标帧率、目标量化位深以及亮度调整曲线为例,其中,目标帧率高于该原始视频片段的帧率,目标量化位深高于该原始视频片段的量化位深,且亮度调整曲线对应的亮度范围与原始视频片段的亮度范围一致,则服务器可以按照目标帧率对该原始视频片段进行超帧处理,并按照目标量化位深对原始视频片段进行高精度逆量化处理,并保持原始视频片段的色调,从而得到处理后的视频片段。

步骤504,将该处理后的视频片段的图像特征数据输入至编码参数确定模型,获得该编码参数确定模型输出的该编码参数。

可选的,该编码参数确定模型是通过图像特征数据样本,以及该图像特征数据样本对应的编码参数训练得到的机器学习模型。

可选的,该图像特征数据包括如下至少一种:帧率、量化位深、最大亮度、最小亮度、图像类型、运动矢量以及目标图像质量数据。

可选的,该编码参数包括码率。

在本申请实施例中,服务器可以使用一个预先训练的ai模型(即上述编码参数确定模型),根据步骤503得到的处理后的视频片段的图像特征数据,决定处理后的视频片段的编码参数。

在本申请实施例中,开发人员可以预先标注得到编码参数确定模型的训练数据集,该训练数据集由若干个图像特征数据样本以及该图像特征数据样本的编码参数构成,模型训练设备可以通过该编码参数确定模型的训练数据集,训练得到上述编码参数确定模型。

可选的,请参考图7,其示出了本申请实施例涉及的编码参数确定模型的输入输出示意图。如图7所示,本申请实施例中所使用的ai模型,可以是预先使用标定数据集训练的神经网络模型,其输入为若干图像特征数据,输出为给定图像质量因子(即目标图像质量数据)下的编码参数,如:码率。

如图7所示,本申请实施例所示的模型的输入中包含与超高清片源直接关联的若干维度,比如帧率、量化位深、最大亮度、最小亮度、图像类型、运动矢量以及目标图像质量数据等等。

其中,上述处理后的视频片段的图像类型和运动矢量可以通过1-pass编码、如使用较为快速的条件随机场(conditionalrandomfield,crf)、或者固定量化因子qp的编码获得。

步骤505,按照该编码参数对该处理后的视频片段进行编码,得到编码后的视频片段。

在本申请实施例中,服务器可以根据上述步骤504得到的编码参数,对处理后的视频片段进行压缩编码操作。

可选的,上述压缩编码操作使用的算法可以采用行业通用标准,例如:h.264/avc、hevc、vp9、avs2等。

可选的,考虑面向超高清片源,本申请实施例所使用的压缩编码算法工具可以采用包含支持超高清特性的算法工具的标准,比如hevc、vvc、av1、avs3等。

步骤506,按照对应的原始视频片段的分割顺序,将各个编码后的视频片段进行合并,得到编码后的视频数据。

综上所述,本申请实施例所示的方案,对原始视频数据进行分割,得到原始视频片段;对该原始视频片段进行视频内容分析,得到该原始视频片段对应的视频图像处理参数;基于该视频图像处理参数对该原始视频片段中的视频图像进行图像处理,得到处理后的视频片段;基于该处理后的视频片段的图像特征数据,获取该处理后的视频片段的编码参数;按照该编码参数对该处理后的视频片段进行编码,得到编码后的视频片段;也就是说,在上述方案中,在确定编码参数之前,先对原始视频片段进行图像处理,然后确定处理后的视频片段对应的编码参数并进行编码,这样可以控制视频质量与编码参数之间的关系,从而达到兼顾编码效率和编码后的视频质量的目的,从而提高编码效果。

此外,本申请实施例所示的方案,在进行镜头分割时,考虑超高清视频多维度,提升不同镜头间在暗部/高亮度、色彩、快速运动以及细节信息等方面的区分,从而提高视频片段分割的准确性,以进一步优化后续镜头内的压缩效率。

另外,本申请实施例所示的方案,在视频图像处理参数获取以及编码参数获取过程中引入了超高清视频的多维度特征,考虑了帧率、亮度范围、量化位深等图像特征对图像质量的关联影响,提高图像编码的效果。

图8是根据一示例性实施例示出的一种视频编码装置的结构方框图。该视频编码装置可以执行图3或图5所示实施例中的全部或者部分步骤。该视频编码装置可以包括:

视频分割模块801,用于对原始视频数据进行分割,得到原始视频片段;

视频内容分析模块802,用于对所述原始视频片段进行视频内容分析,得到所述原始视频片段对应的视频图像处理参数;

视频处理模块803,用于基于所述视频图像处理参数对所述原始视频片段中的视频图像进行图像处理,得到处理后的视频片段;

编码参数获取模块804,用于基于所述处理后的视频片段的图像特征数据,获取所述处理后的视频片段的编码参数;

编码模块805,用于按照所述编码参数对所述处理后的视频片段进行编码,得到编码后的视频片段。

在一种可能的实现方式中,所述视频内容分析模块802,用于,

将所述原始视频片段以及目标图像质量数据输入至视频分析模型,获得所述视频分析模型输出的所述视频图像处理参数;

所述视频分析模型是通过视频片段样本、视频片段样本的目标图像质量数据以及所述视频片段样本的视频图像处理参数训练得到的机器学习模型。

在一种可能的实现方式中,所述目标图像质量数据包括图像质量等级。

在一种可能的实现方式中,所述视频图像处理参数包括如下至少一种:

目标帧率、目标量化位深以及亮度调整曲线。

在一种可能的实现方式中,所述视频处理模块803,包括:

帧率上采样单元,用于响应于所述视频图像处理参数包括所述目标帧率,且所述目标帧率高于所述原始视频片段的帧率,通过帧率上采样对所述原始视频片段进行超帧处理,得到所述处理后的视频片段;

帧率裁剪单元,用于响应于所述视频图像处理参数包括所述目标帧率,且所述目标帧率低于所述原始视频片段的帧率,通过帧率下采样对所述原始视频片段进行裁剪处理,得到所述处理后的视频片段。

可选的,所述视频处理模块803,用于响应于所述视频图像处理参数包括所述目标帧率,且所述目标帧率等于所述原始视频片段的帧率,保持所述原始视频片段的帧率,得到所述处理后的视频片段。

在一种可能的实现方式中,所述视频处理模块803,包括:

下采样量化单元,用于响应于所述视频图像处理参数包括所述目标量化位深,且所述目标量化位深低于所述原始视频片段的量化位深,对所述原始视频片段进行下采样量化,得到所述处理后的视频片段;

逆量化单元,用于响应于所述视频图像处理参数包括所述目标量化位深,且所述目标量化位深高于所述原始视频片段的量化位深,对所述原始视频片段进行反方向高精度逆量化,得到所述处理后的视频片段。

可选的,所述视频处理模块803,用于响应于所述视频图像处理参数包括所述目标量化位深,且所述目标量化位深等于所述原始视频片段的量化位深,保持所述原始视频片段的量化位深率,得到所述处理后的视频片段。

在一种可能的实现方式中,所述视频处理模块803,包括:

色调映射单元,用于响应于所述视频图像处理参数包括所述亮度调整曲线,且所述亮度调整曲线对应的亮度范围与所述原始视频片段的亮度范围不一致,基于所述亮度调整曲线对所述原始视频片段进行色调映射,得到所述处理后的视频片段。

可选的,所述视频处理模块803,用于响应于所述视频图像处理参数包括所述亮度调整曲线,且所述亮度调整曲线对应的亮度范围与所述原始视频片段的亮度范围一致,保持所述原始视频片段的色调,得到所述处理后的视频片段。

在一种可能的实现方式中,所述编码参数获取模块804,用于,

将所述处理后的视频片段的图像特征数据输入至编码参数确定模型,获得所述编码参数确定模型输出的所述编码参数;

所述编码参数确定模型是通过图像特征数据样本,以及所述图像特征数据样本对应的编码参数训练得到的机器学习模型。

在一种可能的实现方式中,所述图像特征数据包括如下至少一种:帧率、量化位深、最大亮度、最小亮度、图像类型、运动矢量以及目标图像质量数据。

在一种可能的实现方式中,所述编码参数包括码率。

在一种可能的实现方式中,所述视频分割模块801,用于按照指定维度对所述原始视频数据进行分割,得到所述原始视频片段;

其中,所述指定维度包括如下至少一种:暗部及高亮部在图像中的分布特性、运动区域的轨迹与运动程度、色彩分布及浓烈程度以及画面细节。

在一种可能的实现方式中,所述装置还包括:

合并模块,用于按照对应的原始视频片段的分割顺序,将各个编码后的视频片段进行合并,得到编码后的视频数据。

综上所述,本申请实施例所示的方案,对原始视频数据进行分割,得到原始视频片段;对该原始视频片段进行视频内容分析,得到该原始视频片段对应的视频图像处理参数;基于该视频图像处理参数对该原始视频片段中的视频图像进行图像处理,得到处理后的视频片段;基于该处理后的视频片段的图像特征数据,获取该处理后的视频片段的编码参数;按照该编码参数对该处理后的视频片段进行编码,得到编码后的视频片段;也就是说,在上述方案中,在确定编码参数之前,先对原始视频片段进行图像处理,然后确定处理后的视频片段对应的编码参数并进行编码,这样可以控制视频质量与编码参数之间的关系,从而达到兼顾编码效率和编码后的视频质量的目的,从而提高编码效果。

此外,本申请实施例所示的方案,在进行镜头分割时,考虑超高清视频多维度,提升不同镜头间在暗部/高亮度、色彩、快速运动以及细节信息等方面的区分,从而提高视频片段分割的准确性,以进一步优化后续镜头内的压缩效率。

另外,本申请实施例所示的方案,在视频图像处理参数获取以及编码参数获取过程中引入了超高清视频的多维度特征,考虑了帧率、亮度范围、量化位深等图像特征对图像质量的关联影响,提高图像编码的效果。

图9是根据一示例性实施例示出的一种计算机设备的结构示意图。该计算机设备可以实现为网络侧的服务器。该服务器可以为图1所示的服务器120。所述计算机设备900包括中央处理单元(cpu)901、包括随机存取存储器(ram)902和只读存储器(rom)903的系统存储器904,以及连接系统存储器904和中央处理单元901的系统总线905。所述计算机设备900还包括帮助计算机内的各个器件之间传输信息的基本输入/输出系统(i/o系统)906,和用于存储操作系统913、应用程序914和其他程序模块915的大容量存储设备907。

所述大容量存储设备907通过连接到系统总线905的大容量存储控制器(未示出)连接到中央处理单元901。所述大容量存储设备907及其相关联的计算机可读介质为计算机设备900提供非易失性存储。也就是说,所述大容量存储设备907可以包括诸如硬盘或者cd-rom驱动器之类的计算机可读介质(未示出)。

不失一般性,所述计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括ram、rom、eprom、eeprom、闪存或其他固态存储其技术,cd-rom、dvd或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机存储介质不局限于上述几种。上述的系统存储器904和大容量存储设备907可以统称为存储器。

计算机设备900可以通过连接在所述系统总线905上的网络接口单元911连接到互联网或者其它网络设备。

所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器901通过执行该一个或一个以上程序来实现图3或图5所示的方法的全部或者部分步骤。

图10示出了本申请一个示例性实施例提供的计算机设备1000的结构框图。该计算机设备1000可以是终端,该终端可以为图1所示的终端160。

通常,计算机设备1000包括有:处理器1001和存储器1002。

处理器1001可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1001可以采用dsp(digitalsignalprocessing,数字信号处理)、fpga(field-programmablegatearray,现场可编程门阵列)、pla(programmablelogicarray,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1001也可以包括主处理器和协处理器。在一些实施例中,处理器1001可以在集成有gpu(graphicsprocessingunit,图像处理器)。一些实施例中,处理器1001还可以包括ai(artificialintelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器1002可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1002还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1002中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1001所执行以实现本申请中方法实施例提供的方法。

在一些实施例中,计算机设备1000还可选包括有:外围设备接口1003和至少一个外围设备。处理器1001、存储器1002和外围设备接口1003之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1003相连。外围设备包括如下至少一种:射频电路1004、触摸显示屏1005、摄像头1006、音频电路1007、定位组件1008和电源1009。

外围设备接口1003可被用于将i/o(input/output,输入/输出)相关的至少一个外围设备连接到处理器1001和存储器1002。

射频电路1004用于接收和发射rf(radiofrequency,射频)信号,也称电磁信号。可选地,射频电路1004包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。在一些实施例中,射频电路1004还可以包括nfc(nearfieldcommunication,近距离无线通信)有关的电路,本申请对此不加以限定。

显示屏1005用于显示ui(userinterface,用户界面)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1005是触摸显示屏时,显示屏1005还具有采集在显示屏1005的表面或表面上方的触摸信号的能力。显示屏1005可以采用lcd(liquidcrystaldisplay,液晶显示屏)、oled(organiclight-emittingdiode,有机发光二极管)等材质制备。

摄像头组件1006用于采集图像或视频。可选地,摄像头组件1006包括前置摄像头和后置摄像头。在一些实施例中,摄像头组件1006还可以包括闪光灯。

音频电路1007可以包括麦克风和扬声器。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在计算机设备1000的不同部位。在一些实施例中,音频电路1007还可以包括耳机插孔。

定位组件1008用于定位计算机设备1000的当前地理位置,以实现导航或lbs(locationbasedservice,基于位置的服务)。

电源1009用于为计算机设备1000中的各个组件进行供电。

在一些实施例中,计算机设备1000还包括有一个或多个传感器1010。该一个或多个传感器1010包括但不限于:加速度传感器1011、陀螺仪传感器1012、压力传感器1013、指纹传感器1014、光学传感器1015以及接近传感器1016。

本领域技术人员可以理解,图10中示出的结构并不构成对计算机设备1000的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括计算机程序(指令)的存储器,上述程序(指令)可由计算机设备的处理器执行以完成本申请各个实施例所示的方法的全部或者部分步骤。例如,所述非临时性计算机可读存储介质可以是只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、光盘只读存储器(compactdiscread-onlymemory,cd-rom)、磁带、软盘和光数据存储设备等。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1