视频的推荐方法和装置及终端转让专利

申请号 : CN201610932958.3

文献号 : CN107979781B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 屠要峰陈俊黄若尘孟浩陈斌张远

申请人 : 南京中兴软件有限责任公司

摘要 :

本发明提供了一种视频的推荐方法和装置及终端。其中,该方法包括:获取多个视频的观看记录,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;为用户推荐多个视频中的第一MOS值不小于预设值的视频。本发明解决了相关技术中不能为用户推荐较高质量的视频的技术问题。

权利要求 :

1.一种视频的推荐方法,其特征在于,包括:

获取多个视频的观看记录,其中,所述视频的观看记录中记录有所述视频的网络损伤数据和用户特征数据;

根据每个所述视频的网络损伤数据和用户特征数据确定每个所述视频的服务质量参数第一MOS值;

为用户推荐多个所述视频中的第一MOS值不小于预设值的视频;其中,根据每个所述视频的网络损伤数据和用户特征数据确定每个所述视频的服务质量参数第一MOS值包括:获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式;通过所述目标公式确定与每个所述视频的网络损伤数据和用户特征数据对应的第一MOS值;

在获取多个视频的观看记录之后,所述方法还包括:提取出每个所述视频的观看记录中包括媒体丢包速率、延时数据以及抖动数据的所述网络损伤数据;提取出各个视频的观看记录中包括观看时间长度和记录条数的所述用户特征数据;

获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式包括:选取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的预设数据处理模型Vq1=1+3×fmlr×fdf×fjitter+Cuser,其中,Vq1为第一MOS值,fmlr为与抖动数据相关的抖动参数,fdf为与延时数据相关的延时参数,fjitter为与抖动数据相关的抖动参数,Cuser为与观看时间长度和记录条数相关的用户特征数据;

通过目标视频的观看记录中的数据对所述预设数据处理模型进行拟合,确定所述目标公式。

2.根据权利要求1所述的方法,其特征在于,

其中,mlr为媒体丢包速率,c1为常数;

其中,df为延时数据,c2和c3为常数;

fjitter=c4×exp(c5×jitter),其中,jitter为抖动数据,c4和c5为常数;

其中,T为用于对平均观看时间 进行归一化处理的常数,平均观看时间由观看时间长度和记录条数确定。

3.根据权利要求2所述的方法,其特征在于,通过目标视频的观看记录中的数据对所述预设数据处理模型进行拟合,确定所述目标公式包括:提取所述目标视频的观看记录中的观看开始时间、观看结束时间以及记录采集时间;

通过预设公式计算出与所述目标视频的观看开始时间、观看结束时间以及记录采集时间对应的第二MOS值;

提取所述目标视频的观看记录中的网络损伤数据和用户特征数据;

通过所述目标视频的第二MOS值、网络损伤数据以及用户特征数据对所述预设数据处理模型进行拟合,得到所述目标公式。

4.一种视频的推荐装置,其特征在于,包括:

获取单元,用于获取多个视频的观看记录,其中,所述视频的观看记录中记录有所述视频的网络损伤数据和用户特征数据;

确定单元,用于根据每个所述视频的网络损伤数据和用户特征数据确定每个所述视频的服务质量参数第一MOS值;

推荐单元,用于为用户推荐多个所述视频中的第一MOS值不小于预设值的视频;

其中,所述确定单元包括:获取模块,用于获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式;确定模块,用于通过所述目标公式确定与每个所述视频的网络损伤数据和用户特征数据对应的第一MOS值;所述获取单元在获取多个视频的观看记录之后,还用于:提取出每个所述视频的观看记录中包括媒体丢包速率、延时数据以及抖动数据的所述网络损伤数据;提取出各个视频的观看记录中包括观看时间长度和记录条数的所述用户特征数据;

所述获取模块包括:选取子模块,用于选取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的预设数据处理模型Vq1=1+3×fmlr×fdf×fjitter+Cuser,其中,Vq1为第一MOS值,fmlr为与抖动数据相关的抖动参数,fdf为与延时数据相关的延时参数,fjitte为与抖动数据相关的抖动参数,Cuser为与观看时间长度和记录条数相关的用户特征数据;确定子模块,用于通过目标视频的观看记录中的数据对所述预设数据处理模型进行拟合,确定所述目标公式。

5.根据权利要求4所述的装置,其特征在于,

其中,mlr为媒体丢包速率,c1为常数;

其中,df为延时数据,c2和c3为常数;

fjitter=c4×exp(c5×jitter),其中,jitter为抖动数据,c4和c5为常数;

其中,T为用于对平均观看时间 进行归一化处理的常数,平均观看时间由观看时间长度和记录条数确定。

6.根据权利要求5所述的装置,其特征在于,所述确定子模块还用于:提取所述目标视频的观看记录中的观看开始时间、观看结束时间以及记录采集时间;

通过预设公式计算出与所述目标视频的观看开始时间、观看结束时间以及记录采集时间对应的第二MOS值;

提取所述目标视频的观看记录中的网络损伤数据和用户特征数据;

通过所述目标视频的第二MOS值、网络损伤数据以及用户特征数据对所述预设数据处理模型进行拟合,得到所述目标公式。

7.一种终端,其特征在于,包括:

处理器;

用于存储所述处理器可执行指令的存储器;

用于根据所述处理器的控制进行信息收发通信的传输装置;

其中,所述处理器用于执行以下操作:获取多个视频的观看记录,其中,所述视频的观看记录中记录有所述视频的网络损伤数据和用户特征数据;根据每个所述视频的网络损伤数据和用户特征数据确定每个所述视频的服务质量参数第一MOS值;为用户推荐多个所述视频中的第一MOS值不小于预设值的视频;

所述处理器,还用于获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式;通过所述目标公式确定与每个所述视频的网络损伤数据和用户特征数据对应的第一MOS值;

所述处理器,还用于在获取多个视频的观看记录之后,提取出每个所述视频的观看记录中包括媒体丢包速率、延时数据以及抖动数据的所述网络损伤数据;提取出各个视频的观看记录中包括观看时间长度和记录条数的所述用户特征数据;

所述处理器,还用于选取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的预设数据处理模型Vq1=1+3×fmlr×fdf×fjitter+Cuser,其中,Vq1为第一MOS值,fmlr为与抖动数据相关的抖动参数,fdf为与延时数据相关的延时参数,fjitter为与抖动数据相关的抖动参数,Cuser为与观看时间长度和记录条数相关的用户特征数据;通过目标视频的观看记录中的数据对所述预设数据处理模型进行拟合,确定所述目标公式。

说明书 :

视频的推荐方法和装置及终端

技术领域

[0001] 本发明涉及互联网领域,具体而言,涉及一种视频的推荐方法和装置及终端。

背景技术

[0002] 交互式网络电视(Internet Protocol Television,IPTV),是一种利用宽带网,集互联网、多媒体、通讯等技术于一体,向家庭用户提供包括数字电视在内的多种交互式服务的崭新技术。由于IPTV的广泛使用,服务提供商更加关心服务的质量问题和用户体验满意度。但是作为一种相对不成熟的技术,IPTV目前还缺乏强有力的质量检测体系来保证这种高质量的服务要求。同时,由于用户总量巨大,分布范围广等特点,使得服务提供商无法用统计的手段获取可以反映全网服务质量的可靠信息。而独立的各项参数指标并不能准确的反映不同地区,不同网络终端用户在观看IPTV视频时的主观感受,就无法确定哪些视频属于高质量的视频,不能为用户提供较好服务,为其推荐较高质量的视频。
[0003] 针对相关技术中不能为用户推荐较高质量的视频的技术问题,目前尚未提出有效的解决方案。

发明内容

[0004] 本发明实施例提供了一种视频的推荐方法和装置及终端,以至少解决相关技术中不能为用户推荐较高质量的视频的技术问题。
[0005] 根据本发明实施例的一个方面,提供了一种视频的推荐方法,该方法包括:获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;
为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0006] 进一步地,根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值包括:获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式;通过目标公式确定与每个视频的网络损伤数据和用户特征数据对应的第一MOS值。
[0007] 进一步地,在获取多个视频的观看记录之后,该方法还包括:提取出每个视频的观看记录中包括媒体丢包速率、延时数据以及抖动数据的网络损伤数据;提取出各个视频的观看记录中包括观看时间长度和记录条数的用户特征数据。
[0008] 进一步地,获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式包括:选取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的预设数据处理模型Vq1=1+3×fmlr×fdf×fjitter+Cuser,其中,Vq1为第一MOS值,fmlr为与抖动数据相关的抖动参数,fdf为与延时数据相关的延时参数,fjitter为与抖动数据相关的抖动参数,Cuser为与观看时间长度和记录条数相关的用户特征数据;通过目标视频的观看记录中的数据对预设数据处理模型进行拟合,确定目标公式。
[0009] 进一步地, 其中,mlr为媒体丢包速率,c1为常数;其中,df为延时数据,c2和c3为常数;fjitter=c4×exp(c5×jitter),其中,jitter为抖动数据,c4和c5为常数; 其中,T为用于对平均观看时间 进行归一化处理的常数,平均观看时间由观看时间长度和记录条数确定。
[0010] 进一步地,通过目标视频的观看记录中的数据对预设数据处理模型进行拟合,确定目标公式包括:提取目标视频的观看记录中的观看开始时间、观看结束时间以及记录采集时间;通过预设公式计算出与目标视频的观看开始时间、观看结束时间以及记录采集时间对应的第二MOS值;提取目标视频的观看记录中的网络损伤数据和用户特征数据;通过目标视频的第二MOS值、网络损伤数据以及用户特征数据对预设数据处理模型进行拟合,得到目标公式。
[0011] 根据本发明实施例的另一个方面,提供了一种视频的推荐装置,该装置包括:获取单元,用于获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;确定单元,用于根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;推荐单元,用于为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0012] 进一步地,确定单元包括:获取模块,用于获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式;确定模块,用于通过目标公式确定与每个视频的网络损伤数据和用户特征数据对应的第一MOS值。
[0013] 进一步地,获取单元在获取多个视频的观看记录之后,还用于:提取出每个视频的观看记录中包括媒体丢包速率、延时数据以及抖动数据的网络损伤数据;提取出各个视频的观看记录中包括观看时间长度和记录条数的用户特征数据。
[0014] 进一步地,获取模块包括:选取子模块,用于选取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的预设数据处理模型Vq1=1+3×fmlr×fdf×fjitter+Cuser,其中,Vq1为第一MOS值,fmlr为与抖动数据相关的抖动参数,fdf为与延时数据相关的延时参数,fjitter为与抖动数据相关的抖动参数,Cuser为与观看时间长度和记录条数相关的用户特征数据;确定子模块,用于通过目标视频的观看记录中的数据对预设数据处理模型进行拟合,确定目标公式。
[0015] 进一步地, 其中,mlr为媒体丢包速率,c1为常数;其中,df为延时数据,c2和c3为常数;fjitter=c4×exp(c5×jitter),其中,jitter为抖动数据,c4和c5为常数; 其中,T为用于对平均观看时间 进行归一化处理的常数,平均观看时间由观看时间长度和记录条数确定。
[0016] 进一步地,确定子模块还用于:提取目标视频的观看记录中的观看开始时间、观看结束时间以及记录采集时间;通过预设公式计算出与目标视频的观看开始时间、观看结束时间以及记录采集时间对应的第二MOS值;提取目标视频的观看记录中的网络损伤数据和用户特征数据;通过目标视频的第二MOS值、网络损伤数据以及用户特征数据对预设数据处理模型进行拟合,得到目标公式。
[0017] 根据本发明的另一个实施例,提供了一种终端,该终端包括:处理器;用于存储处理器可执行指令的存储器;用于根据处理器的控制进行信息收发通信的传输装置;其中,处理器用于执行以下操作:获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0018] 根据本发明的另一个实施例,提供了一种存储介质,存储介质可以被设置为存储用于执行以下步骤的程序代码:获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0019] 在本发明实施例中,获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;为用户推荐多个视频中的第一MOS值不小于预设值的视频,通过考虑用户习惯和网络播放情况,从而可以确定出播放流畅且受喜爱的高质量视频,从而解决了相关技术中不能为用户推荐较高质量的视频的技术问题,实现了为用户推荐高质量的视频的技术效果。

附图说明

[0020] 此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0021] 图1是根据本发明实施例的一种可选的移动终端的示意图;
[0022] 图2是根据本发明实施例的视频的推荐方法的流程图;
[0023] 图3是根据本发明实施例的用户体验质量的计算架构的示意图;
[0024] 图4是根据本发明实施例的可选的视频的推荐方法的流程图;
[0025] 图5是根据本发明实施例的影响用户体验质量的参数的示意图;
[0026] 图6是根据本发明实施例的可选的观看记录的示意图;
[0027] 图7是根据本发明实施例的可选的观看记录的示意图;
[0028] 图8是根据本发明实施例的可选的拟合曲线的示意图;
[0029] 图9是根据本发明实施例的可选的拟合曲线的示意图;
[0030] 图10是根据本发明实施例的可选的拟合曲线的示意图;
[0031] 图11是根据本发明实施例的视频的推荐装置的示意图。

具体实施方式

[0032] 下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0033] 需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0034] 实施例1
[0035] 本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置(即终端)中执行。以运行在移动终端上为例,如图1所示,移动终端可以包括一个或多个(图中仅示出一个)处理器101(处理器101可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器103、以及用于通信功能的传输装置105。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。
[0036] 存储器103可用于存储应用软件的软件程序以及模块,如本发明实施例中的设备的控制方法对应的程序指令/模块,处理器101通过运行存储在存储器103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0037] 可选地,处理器可用于执行以下操作:获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0038] 传输装置用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输装置包括一个网络适配器(Network Interface Controller,简称NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置可以为射频(Radio Frequency,简称RF)模块,其用于通过无线方式与互联网进行通讯。
[0039] 对网络服务质量(Quality of Service,QoS)的研究是以提高网络性能和整体资源利用率为目的,所对应的端到端参数为网络损伤参数,包括媒体丢包率(即媒体丢包速率)、抖动和延时,用于描述网络损伤,网络损伤越大,用户体验质量越差,但IPTV服务提供商还需要关注用户的感知质量,所对应的端到端参数为用户特征参数,描述用户观看习惯,描述用户主观上对视频的感兴趣程度,不同的用户有不同的观看习惯,但对于同一用户为一常数。因此,可在使用网络损伤参数的基础上,需要引入用户体验质量(Quality of Experience,QoE)来描述IPTV用户的观看质量。
[0040] 根据本发明实施例,提供了一种视频的推荐方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0041] 图2是根据本发明实施例的视频的推荐方法的流程图,如图2所示,该方法包括如下步骤:
[0042] 步骤S201,获取多个视频的观看记录,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;
[0043] 步骤S202,根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;
[0044] 步骤S203,为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0045] 通过上述实施例,获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;为用户推荐多个视频中的第一MOS值不小于预设值的视频,通过考虑用户习惯和网络播放情况,从而可以确定出播放流畅且受喜爱的高质量视频,从而解决了相关技术中不能为用户推荐较高质量的视频的技术问题,实现了为用户推荐高质量的视频的技术效果。
[0046] 上述的多个视频可以为按照某些特征进行划分的多个类型的视频,如多个类型(如娱乐、动漫、剧情等)的视频、多个频道(即以频道进行划分)的视频、多个时间段(即以时间段进行划分)的视频等。通过对不同类型的视频进行分析,可以得到其中质量最高的视频,或者第一MOS值达到上述的预设值的视频,进而将其推荐给用户。
[0047] 可选地,本申请的方法可用于各种基于互联网的视频,主要用于IPTV;上述步骤的执行主体(即上述的终端)可以为移动终端、笔记本、台式机等具有互联网视频播放功能的设备,但不限于此。
[0048] 在步骤S201中,在获取多个视频的观看记录之后,可提取出每个视频的观看记录中包括媒体丢包速率、延时数据以及抖动数据的网络损伤数据;提取出各个视频的观看记录中包括观看时间长度和记录条数的用户特征数据。
[0049] 为了解决现有IPTV服务存在的缺陷,需要先解决用户对视频服务的满意程度的定量测量的问题,针对此问题,可采用基于主客观混合的IPTV用户体验质量的客观计算方法。
[0050] 图3表示的是基于IPTV视频的用户体验质量的客观计算方法的综合系统架构图,libpacp模块31负责抓取IPTV用户观看节目时的网络包。然后探针模块32在从VOD(Video on Demand,交互式电视点播系统)中获取信令后,解析所抓取的网络包,并上传相关参数给IQAS系统33,接下来,用户体验质量计算单元34从IQAS系统中提取用户数据,首先通过观看记录生成模块341生成用户视频观看记录,然后通过模型参数计算模块342确定模型参数,最后通过模型组合模块343生成用户体验质量计算公式。
[0051] 在步骤S202中,根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值包括:获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式;通过目标公式确定与每个视频的网络损伤数据和用户特征数据对应的第一MOS值。
[0052] 在提取了各类数据之后,在获取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的目标公式时,具体可通过如下方式实现:选取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的预设数据处理模型Vq1=1+3×fmlr×fdf×fjitter+Cuser,其中,Vq1为第一MOS值,fmlr为与抖动数据相关的抖动参数,fdf为与延时数据相关的延时参数,fjitter为与抖动数据相关的抖动参数,Cuser为与观看时间长度和记录条数相关的用户特征数据;通过目标视频的观看记录中的数据对预设数据处理模型进行拟合,确定目标公式。
[0053] 需要说明的是,上述实施例中, 其中,mlr为媒体丢包速率,c1为常数; 其中,df为延时数据,c2和c3为常数;fjitter=c4×exp(c5×jitter),其中,jitter为抖动数据,c4和c5为常数; 其中,T为用于对平均观看时间 进行归一化处理的常数,平均观看时间由观看时间长度和记录条数确定。
[0054] 在通过目标视频的观看记录中的数据对预设数据处理模型进行拟合,确定目标公式时,可提取目标视频的观看记录中的观看开始时间、观看结束时间以及记录采集时间;通过预设公式计算出与目标视频的观看开始时间、观看结束时间以及记录采集时间对应的第二MOS值;提取目标视频的观看记录中的网络损伤数据和用户特征数据;通过目标视频的第二MOS值、网络损伤数据以及用户特征数据对预设数据处理模型进行拟合,得到目标公式。具体就是将第二MOS值作为第一MOS值的一个特殊取值、将提取的网络损伤数据和用户特征数据代入上述公式中,以计算出c1、c2、c3等参数的取值。
[0055] 下面结合图4和具体实例对本发明作进一步的详细说明。
[0056] 步骤S401,从IPTV用户视频观看记录提取参数。
[0057] 从IPTV用户视频观看记录(即目标视频的观看记录)中选取影响用户体验质量的因素,如时延(df)、抖动(jitter)、媒体丢包速率(mlr)、记录收集时间(collect_time)、记录开始时间(start_time)、记录结束时间(end_time)等。
[0058] 在本申请中,如图5所示,影响用户体验质量(即视频质量)的因素可以分为两点:网络损伤参数(即网络损伤数据)和用户特征参数(即用户特征数据)。
[0059] (1)网络损伤参数
[0060] 网络损伤参数指在网络层面影响用户体验的参数,网络损伤参数包含:媒体丢包率参数(fmlr)、时延参数(fdf)、抖动参数(fjitter)。
[0061] (2)用户特征参数
[0062] 用户特征参数(Cuser)主要是从用户主观的角度来分析用户观看习惯对用户体验的影响,用户特征参数用于表征用户观看习惯。
[0063] 可将网络损伤参数和用户特征参数组合成预设数据处理模型:
[0064] Vq1=1+3×fmlr×fdf×fjitter+Cuser。
[0065] 设一共导入了M个用户在时间跨度为Y(如3600)秒的L(如12)组用户观看记录,每组用户视频观看记录上传的时间间隔为T(如300)秒,采集到的观看记录如图6所示(collect_time表示采集时间、channel_name表示采集的视频对象、start_time表示起始时间、end_time表示结束时间)。
[0066] 步骤S402,计算用户观看习惯。
[0067] 用户观看习惯是一个衡量用户平时观看IPTV习惯的参数,通过计算用户的观看习惯,其值越大,反映出用户平时习惯长时间观看节目而很少切换频道,对某个节目或者某个频道有特别的喜好。反之,表明用户平时切换节目较频繁,兴趣比较广泛。
[0068] 用户观看习惯的具体计算方式如下:
[0069] 步骤S4021,计算用户平均最大观看时长。
[0070] 用户平均最大观看时长指的是用户在时间跨度为Y=3600秒的L=12组记录中,每一组记录的最大观看时长的平均值,其单位为秒。
[0071] 如果能获取第i组中每条观看记录的观看节目信息,则使用如下公式计算:
[0072]
[0073] 其中,Videochannelmax-i表示第i组按频道计算的最大观看视频记录时间,即从该组中选取出来的最大观看时长,L表示总共的视频组数。
[0074] 若上述采集到的记录是随机采集(而不是按照类型进行采集的),则在一组记录中,获取每条观看记录的观看节目信息(节目信息可以为频道,如CCTV1,山东卫视等,也可以为视频类型,如动漫、剧情等),如图6所示。用户观看CCTV1的时间从2016-05-06 14:00:00开始,到2016-05-06 14:01:23结束。用户观看山东卫视的时间有两段,从2016-05-06 
14:02:21开始,到2016-05-06 14:02:51结束,以及从2016-05-06 14:03:43开始,到2016-
05-06 14:05:00结束,则在这一组记录中,用户观看CCTV1的时间为83秒,观看山东卫视的时间为77秒。若需要评价的对象为山东卫视,则用户最大观看时长为107秒。同理可计算出用户在其他组记录中的最大观看时长。
[0075] 可选地,在上述确定山东卫视的最大观看时长时,可以选取一组中最长的观看时间(即77秒),也可以将该组中所有山东卫视相关记录的总时长(即107秒)作为最大观看时长。
[0076] 根据选取用户的视频观看记录的具体数值,用户平均最大观看时长的计算过程如下:
[0077]
[0078] 上述的方法适用于计算有具体节目信息(即采集的记录中有具体的视频类型)时的最大观看时间。
[0079] 如果在采集记录时是按照频道类型(如CCTV1、山东卫视)采集的,不能获取该频道具体的节目信息,只知道视频观看时长,则使用如下公式计算
[0080]
[0081] 其中,Videomax-i表示第i组按记录计算的最大观看视频记录时间。L表示总共的视频组数。
[0082] 在一组记录中,不能获取节目信息,只知道视频观看时长,如图7所示。用户第一条观看记录的时间从2016-05-06 14:00:00开始,到2016-05-06 14:01:23结束,共83秒;用户第二条观看记录的时间从2016-05-06 14:02:21开始,到2016-05-06 14:02:51结束,共30秒;用户第三条观看记录的时间从2016-05-06 14:03:43开始,到2016-05-06 14:05:00结束,共77秒。则在这一组记录中,用户最大观看时间为83秒。同理可计算出用户在其他组记录中的最大观看时长。
[0083] 根据选取用户的视频观看记录的具体数值,用户平均最大观看时长的计算过程如下:
[0084]
[0085] 步骤S4022,计算用户观看习惯。
[0086]
[0087] 在此式中, 的单位为秒。T为固定常数且单位为秒,用于对 进行归一化处理,Cuser为 归一化之后的值。
[0088] 对于上述两种用户平均最大观看时长,Cuser有与 对应的值。
[0089] 当能获取观看节目信息时, 秒,
[0090] 当不能获取观看节目信息时, 秒,
[0091] 在步骤S402中,示出了如何通过记录中的数据计算用户观看习惯(即用户特征参数),在计算多个视频的对应的用户特征参数时,也可按照这个方式计算。
[0092] 步骤S403,计算主观视频质量评价。
[0093] 本申请的用户体验评估方法是将用户观看时间比映射成MOS值。映射的MOS值采用5分制,5分是优,代表最高分,表示视频损伤对于人而言不能察觉;4分是良好,表示视频损伤会引起人的察觉,但还让人感到满意;3分是可以,表示视频受损较为明显但是可以容忍;
2分是差,表示视频受损让观看者讨厌;1分是很差,表示视频受损特别明显,让人无法继续观看。本申请通过对传统的主观视频质量评价进行改进,将用户观看时间比通过函数模型映射为主观MOS值,解决主观视频质量评估复杂、成本高、非实时的缺点。
[0094] 具体步骤如下:
[0095] 步骤S4031,计算用户观看时间比。
[0096] 对上报的以T为时间间隔的用户观看记录组,分别计算出每条记录的用户观看时间比,计算公式如下:
[0097]
[0098] 其中,Tview表示用户观看时间比,其值域范围为[0,1],collect_time表示每组视频观看记录的收集时间,start_time表示每条观看记录的开始时间,end_time表示每条观看记录的结束时间,T为常数表示每组记录上传的时间间隔。
[0099] 例如,对所选取用户的一条视频观看记录,collect time=2016-05-06 14:00:00,start_time=2016-05-06 14:02:21,end_time=2016-05-06 14:02:51,T=300秒,则按上式计算得出 同理可以计算所有用户观看记录的观看时间比。
按视频观看记录收集时间排序,用户所有的观看时间比分别为[1,1,1,1,0.037,0.193,1,
0.277,0.189,1,0.363,0.132,1,0.26,0.191,1,1,1,1,1]。
[0100] 步骤S4032,将用户观看时间比映射成MOS值(即第二MOS值)。
[0101]
[0102] 其中,Vq2代表用户观看体验。
[0103] 根据上式,将用户观看时间比映射为MOS值。例如,当用户观看时间比为0.037时,则Vq2=1;当用户观看时间比为0.363时,则Vq2=5*0.363=1.815;当用户观看时间比为1时,则Vq2=5*1=5。所以,强用户的所有的观看时间比映射成的第二MOS值为:
[0104] [5,5,5,5,1,1,5,1.385,1,5,1.815,1,5,1.3,1,5,5,5,5,5]。
[0105] 步骤S403的主要目的在于计算出后续用于拟合的第二MOS值Vq2。即将Vq2当做真实的MOS值进行拟合,得到计算Vq1的公式。
[0106] 步骤S404,拟合网络损伤参数。
[0107] 网络损伤参数包括媒体丢包速率、抖动和延时。各参数的具体含义如下:
[0108] 媒体丢包速率(MLR):媒体丢包速率是每秒的媒体封包丢失数量。该数值表明被测试视频流的传输丢包速率。由于视频信息的封包丢失将直接影响视频播放质量,理想的视频流传输要求MLR数值为零。在实际测试中MLR的阈值可以相应调整。
[0109] 抖动(Jitter):抖动是QoS里面常用的一个概念,其意思是指分组延迟的变化程度。如果网络发生拥塞,排队延迟将影响端到端的延迟,并导致通过同一连接传输的分组延迟各不相同,而抖动,就是用来描述这样一延迟变化的程度。因此,抖动对于实时性的传输将会是一个重要参数。
[0110] 延时(Delay):延时是指在传输介质中传输所用的时间,即从报文开始进入网络到它开始离开网络之间的时间。
[0111] 本申请通过设置阈值以及控制变量的方式,将用户观看记录中的df、jitter、mlr、Vq2和Cuser以及步骤401中所描述的组合公式,建立对应的散点图,利用MATLAB的拟合工具,采用非线性回归方法对散点图进行拟合,得出媒体丢包率、抖动和延时对视频质量的影响函数。
[0112] 步骤S4041,确定媒体丢包率参数。
[0113]
[0114] 此式中,其中mlr为媒体丢包速率。c1为常数,由具体数据拟合得出c1=18.608。fmlr的值域为[0,1]。
[0115] 拟合结果如图8所示,从散点的分布可以看出,随着媒体丢包速率mlr的增加,视频质受到严重的影响,导致用户观看时间减少,用户观看时间比量Tview降低。当丢包率达到一定程度时,视频质量已经很差,用户已经无法观看,所以随着丢包率的增加,观看时间比逐渐趋于平稳。
[0116] 需要说明的是,在利用Tview对媒体丢包率参数进行拟合,媒体丢包速率为计算Tview的同一个或同一组记录中的媒体丢包速率。
[0117] 步骤S4042,确定延时参数。
[0118]
[0119] 其中,df为延时,是指一个报文或分组从一个网络的一端传送到另一端所需要的时间,单位为毫秒。此式中c2,c3为常数,由具体数据拟合得出c2=167.1,c3=4.48。fdf的值域为[0,1]。
[0120] 拟合结果如图9所示,从散点的分布可以看出,当延时小于100毫秒时,用户观看时间比Tview降低比较慢,当延时在100到250毫秒之间时,随着延时的增加,用户观看时间比迅速降低,当延时大于250毫秒后,观看时间比降低随着延时的增加而逐渐趋于平稳。
[0121] 需要说明的是,在利用Tview对延时参数进行拟合,延时数据df为计算Tview的同一个或同一组记录中的延时数据。
[0122] 步骤S4043,确定抖动参数。
[0123] fjitter=c4×exp(c5×jitter),
[0124] 其中,jitter为抖动,单位为毫秒,其中c4,c5为常数,由具体数据拟合得出c4=0.991,c5=-0.012。fjitter的值域为[0,1]。
[0125] 拟合结果如图10所示,从散点的分布可以看出,在其他参数一定情况下,用户观看时间比Tview随着抖动的升高而降低,并且随着抖动的升高,观看时间比逐渐趋于平稳,并逐渐趋于0。
[0126] 需要说明的是,在利用Tview对抖动参数进行拟合,抖动数据jitter为计算Tview的同一个或同一组记录中的抖动数据。
[0127] 步骤S405,组合MOS值计算公式。
[0128] 利用步骤S403得出的用户观看体验和步骤S402得出的用户观看习惯以及步骤S404拟合出来的网络损伤参数fmlr、fdf和fjitter,得出MOS值计算公式:
[0129]
[0130] 将用户观看记录的网络损伤参数以及用户特征参数带入最终的MOS值计算公式中,求得模型预测的视频质量。具体过程如下:
[0131] (1)当能够获取观看节目信息时,Cuser=0.852。
[0132] 此时,例如,当mlr=34.5,df=228毫秒,jitter=130毫秒时,将参数值带入最终MOS值计算公式中,
[0133] 同理,对选取的用户的所有视频观看记录,分别按上式计算,所对应的预测视频质量分别为[4.481,4.385,4.453,4.548,4.825,1.859,4.328,1.996,1.870,1.862,1.869,1.852,4.126,4.507,3.542,4.350,4.537,4.408,4.539,4.572]。
[0134] (2)当不能获取观看节目信息时,Cuser=0.824。
[0135] 此时,例如,当mlr=34.5,df=228毫秒,jitter=130毫秒时,将参数值带入最终MOS值计算公式中,
[0136] 同理,对选取的用户的所有视频观看记录,分别按上式计算,所对应的预测视频质量分别为[4.453,4.357,4.425,4.520,4.797,1.831,4.300,1.968,1.842,1.834,1.841,1.824,4.098,4.479,3.514,4.322,4.509,4.380,4.511,4.544]。
[0137] 通过上述实施例,从用户观看记录中提取因素,确定网络损伤参数和用户特征参数,计算用户观看习惯,以及计算主观视频质量评价,然后拟合网络参数,组合MOS值计算公式,预测视频质量。可以多各种视频的视频质量进行评价,同时,选取其中质量较高的视频给用户进行观看,可以提高视频推荐的准确度。
[0138] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0139] 实施例2
[0140] 本发明实施例中还提供了一种视频的推荐装置。该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0141] 图11是根据本发明实施例的视频的推荐装置的示意图。如图11所示,该装置可以包括:获取单元111、确定单元112以及推荐单元113。
[0142] 获取单元111,用于获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;
[0143] 确定单元112,用于根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;
[0144] 推荐单元113,用于为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0145] 通过上述实施例,获取单元获取多个视频的观看记录,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;确定单元根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;推荐单元为用户推荐多个视频中的第一MOS值不小于预设值的视频。,通过考虑用户习惯和网络播放情况,从而可以确定出播放流畅且受喜爱的高质量视频,从而解决了相关技术中不能为用户推荐较高质量的视频的技术问题,实现了为用户推荐高质量的视频的技术效果。
[0146] 上述的多个视频可以为按照某些特征进行划分的多个类型的视频,如多个类型(如娱乐、动漫、剧情等)的视频、多个频道(即以频道进行划分)的视频、多个时间段(即以时间段进行划分)的视频等。通过对不同类型的视频进行分析,可以得到其中质量最高的视频,或者第一MOS值达到上述的预设值的视频,进而将其推荐给用户。
[0147] 可选地,本申请的装置可用于各种基于互联网的终端,可以为移动终端、笔记本、台式机等具有互联网视频播放功能的终端,但不限于此。
[0148] 可选地,获取单元在获取多个视频的观看记录之后,还用于:提取出每个视频的观看记录中包括媒体丢包速率、延时数据以及抖动数据的网络损伤数据;提取出各个视频的观看记录中包括观看时间长度和记录条数的用户特征数据。
[0149] 上述的获取模块包括:选取子模块,用于选取用于描述网络损伤数据和用户特征数据与第一MOS值之间关系的预设数据处理模型Vq1=1+3×fmlr×fdf×fjitter+Cuser,其中,Vq1为第一MOS值,fmlr为与抖动数据相关的抖动参数,fdf为与延时数据相关的延时参数,fjitter为与抖动数据相关的抖动参数,Cuser为与观看时间长度和记录条数相关的用户特征数据;确定子模块,用于通过目标视频的观看记录中的数据对预设数据处理模型进行拟合,确定目标公式。
[0150] 在上述公式中, 其中,mlr为媒体丢包速率,c1为常数;其中,df为延时数据,c2和c3为常数;fjitter=c4×exp(c5×jitter),其中,jitter为抖动数据,c4和c5为常数; 其中,T为用于对平均观看时间 进行归一化处理的常数,平均观看时间由观看时间长度和记录条数确定。
[0151] 上述的确定子模块还用于:提取目标视频的观看记录中的观看开始时间、观看结束时间以及记录采集时间;通过预设公式计算出与目标视频的观看开始时间、观看结束时间以及记录采集时间对应的第二MOS值;提取目标视频的观看记录中的网络损伤数据和用户特征数据;通过目标视频的第二MOS值、网络损伤数据以及用户特征数据对预设数据处理模型进行拟合,得到目标公式。
[0152] 通过上述实施例,从用户观看记录中提取因素,确定网络损伤参数和用户特征参数,计算用户观看习惯,以及计算主观视频质量评价,然后拟合网络参数,组合MOS值计算公式,预测视频质量。可以多各种视频的视频质量进行评价,同时,选取其中质量较高的视频给用户进行观看,可以提高视频推荐的准确度。
[0153] 需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0154] 实施例3
[0155] 本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
[0156] S1,获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;
[0157] S2,根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;
[0158] S3,为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0159] 可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
[0160] 可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0161] 可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行:获取多个视频的观看记录,其中,视频的观看记录中记录有视频的网络损伤数据和用户特征数据;根据每个视频的网络损伤数据和用户特征数据确定每个视频的服务质量参数第一MOS值;为用户推荐多个视频中的第一MOS值不小于预设值的视频。
[0162] 可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
[0163] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0164] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。