具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在一个实施例中,一种基于视频的互动方法,该方法所运行的系统架构如图1所示,该系统架构包括终端50和服务端70,并在电视转播卫星10和视频播放终端30的配合下实现电视观众与业务展示内容的实时互动。
其中,视频播放终端30可为各种进行视频播放的播放器或者电视机等;终端50可为各种智能移动终端、智能电视或者机顶盒提供的智能遥控器等;服务端70与终端50进行交互。
本实施例中,如图2所示,该方法包括如下步骤:
步骤210,侦听终端中触发的互动命令,根据互动命令获取与视频相关的多媒体数据。
本实施例中,互动命令是随着用户对视频播放终端中播出的业务展示内容触发的,在侦听得到终端中触发的互动命令之后,将根据触发的互动命令获取用户当前所观看的与视频相关的多媒体数据。例如,用户可随着视频网站中播出的业务展示内容或者电视中播出的业务展示内容触发互动命令。
其中,所获取的多媒体数据可以是业务展示内容所对应的音频指纹、音频文件或视频画面图像,其具体类型将根据具体实现过程中的需要进行设定。
步骤230,将多媒体数据发送至服务端,以使服务端由多媒体数据识别用户当前进行视频观看所对应的业务展示标识。
本实施例中,终端获取得到多媒体数据之后,将发送至后台的服务器端,以在服务端的作用下识别用户当前通过视频观看的业务展示内容,例如广告所对应的业务展示标识。
其中,每一业务展示内容都唯一对应了一业务展示标识,因此,可通过业务展示标识对业务展示内容进行标记。
步骤250,接收服务端根据业务展示标识下发的互动页面,并通过显示互动页面向用户展示与业务展示标识相关的互动内容。
本实施例中,服务端在识别得到用户当前进行视频观看所对应的业务展示标识之后,将根据业务展示标识读取相应的互动页面,并下发该互动页面,以使得终端或者电视等视频播放终端得以对互动页面进行显示,进而通过互动页面中展示的互动内容引导用户实现业务展示内容所对应的互动。
其中,互动页面中的互动内容将是预先进行设置的,例如,该互动内容可以是汽车广告中的汽车试驾资格申请、饮料广告中的饮料免费抽奖等,这些互动内容将以互动页面的形式预先进行存储,进而根据服务端所识别的业务展示标识实现互动页面的读取和下发。
进一步的,根据具体实现过程的不同,互动页面将被显示于终端或者电视中。
触发互动命令的终端为智能移动终端,例如,智能手机、平板电脑等,则互动页面将被显示于智能移动终端的屏幕中。
触发互动命令的终端为智能电视或者机顶盒提供的智能遥控器,则互动页面将被显示于智能电视的屏幕中。
通过如上所述的基于视频的互动过程,由于并不依赖于特定的设备,因此可根据实际情况进行设置,大为提高了实现的通用性。
如图3所示,在一个实施例中,与视频相关的多媒体数据为音频指纹,上述步骤210包括:
步骤211,侦听得到用户根据当前播出的业务展示内容触发的互动命令。
本实施例中,将侦听终端中触发的各种命令以得到用户针对当前播出的业务展示内容触发的互动命令。
步骤213,通过互动命令触发终端录音,以进行音频流的采集。
本实施例中,通过互动命令触发终端对视频发出的声音进行录音,以得到用户当前观看的业务展示内容所对应的音频流。在优选的实施例中,将以8kHz进行音频流的采样,并以16比特进行量化得到视频当前所对应的音频流。
步骤215,从采集得到的音频流中提取音频指纹。
本实施例中,音频指纹是指可以代表一段音频流重要声学特征的基于内容的紧致数字签名。音频指纹具备了区分性、鲁棒性、粒度、易计算性和数据紧致性,其中,区分性是指不同音频流之间的音频指纹具有较大差异,而同一音频流的原始记录和各失真记录的音频指纹之间差异很小;鲁棒性是指音频流在经受各种音频格式变换、信道噪声干扰之后仍然能够通过音频指纹识别出来;粒度是指即使音频流的长度很短(如5s至10s)也能够通过音频指纹顺利识别;易计算性是指在计算资源受限的终端快速实时的进行音频指纹提取;数据紧致性是指音频指纹通过无线网络传输所需要的数据流量小,可适应于不同的网络环境。
进一步的,从采集得到的音频流中提取音频指纹的具体过程为:
(1)对采集得到的音频流进行时域分帧处理得到多帧音频信号。
具体的,将以窗函数作为分帧的参数,对采集得到的音频流进行时间分帧处理,形成多帧音频。其中,窗函数可以为海明窗函数、汉宁窗函数、高斯窗函数等。
其中,所采用的海明窗w(n)为:
(2)对每一帧音频信号进行短时傅立叶变换(Short-Time Fourier Transform,简称STFT)得到每一帧音频信号的频率谱。
具体的,对每一帧音频信号进行短时傅立叶变换所得到的频域表示,即频率谱X(m)为:
其中,j为窗函数所对应的参数,N为傅立叶变换的点数,可取值为1024。
(3)提取每一帧音频信号的频率谱对应的幅度谱,根据每一帧音频信号的时间、频率谱和幅度谱绘制音频流的二维时频图。
具体的,可按照每一帧音频信号的时间顺序依次绘制每一帧音频信号的频率谱和幅度谱,以形成音频流的二维时频图S(t,f)。
S(t,f)=|X(t,f)|
(4)按照时间取模的方式对音频流的二维时频图进行拆分,得到预设数量的时频子图,预设数量的时频子图中一个时频子图将对应音频流中的一个相位通道。
具体的,预设数量的值可根据实际情况进行设定,本实施例中将采用M表示预设数量,其中,M为正整数。
将得到的音频流的二维时频图按照时间t对M取模的方式进行拆分,生成M个相位通道的时频子图Sk(t,f),其中,k=1,2,……,M。
(5)提取预设数量的相位通道中每个相位通道的至少一个峰值特征点,每个相位通道的至少一个峰值特征点构成每个相位通道的峰值特征点序列。
具体的,M个相位通道中,一个相位通道对应一个时频子图。其中,每个相位通道中峰值特征点的提取过程可以包括:a)每个相位通道对应的时频子图中计算每个特征点的能量值;b)根据每个特征点的能量值,选取一定矩形邻域内能量极大的特征点作为峰值特征点。根据上述a)和b),可提取每个相位通道的至少一个峰值特征点。其中,矩形邻域的尺寸参数可根据实际需要进行设定。
M个相位通道中,每个相位通道可提取至少一个峰值特征点,对该至少一个峰值特征点进行排序即可构成每个相位通道的峰值特征点序列。
在一个实施例中,可先按照时间从先至后的顺序,对该至少一个峰值特征点进行排序,针对相同时间点出现的峰值特征点,再按照频率从高至低的顺序对该至少一个峰值特征点进行排序,进而提取得到M个峰值特征点序列。
(6)对每个相位通道的峰值特征点序列中的每个峰值特征点进行配对,形成每个相位通道的峰值特征点对序列。
具体的,定义Sn(tk,fk)表示任一个相位通道的峰值特征点序列中的任一个峰值特征点。其中,n表示相位通道的序号或时频子图的序号,且0<n≤M;k表示该峰值特征点在峰值特征点序列中的序号,k为正整数;tk表示时频子图n中出现该峰值特征点的时间;fk表示该峰值特征点的频率。
对每个相位通道的峰值特征点序列中的每个峰值特征点进行配对的过程为:a)每个相位通道对应的时频子图中,以每个相位通道的峰值特征点序列中的每个每峰值特征点作锚点选取矩形目标区域,针对任一时频子图中的任一个峰值特征点Sn(tk,fk),矩形目标区域满足如下条件:
tstart≤tk≤tend且fstart≤fk≤fend
其中,tstart表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的起始时间,tend表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的结束时间;fstart表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的最小频率,fend表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的最大频率。
b)在矩形目标区域中选取除锚点之外的一个峰值特征点与锚点配对,锚点及与该锚点配对的峰值特征点将构成峰值特征点对。与锚点配对的峰值特征点的选取原则可以包括:选取出现时间与锚点的出现时间的时间差最小的峰值特征点;或者,选取除锚点之外的能量值最大的峰值特征点。
通过上述a)和b),针对任一峰值特征点Sn(tk,fk)均可获得一个配对的峰值特征点Sn(tb,fb)。其中,n表示相位通道的序号或时频子图的序号,且0<n≤M;b表示该配对的峰值特征点在峰值特征点序列n中的序号,b为正整数;tb表示时频子图n中出现该配对的峰值特征点的时间;fb表示该配对的峰值特征点的频率。
将定义四元组(tk,fk,Δfk,Δtk)n表示任一相位通道的峰值特征点对序列中的任一峰值特征点对,其中,n表示相位通道的序号或时频子图的序号;Δtk表示峰值特征点对中的两个峰值特征点之间的时间差,Δtk=tb-tk;Δfk表示峰值特征点对中的两个峰值特征点之间的频率差,Δfk=fb-fk。
(7)对每个相位通道的峰值特征点对序列进行哈希计算,得到每个相位通道对应的指纹序列,预设数量的相位通道对应的指纹序列的集合便构成了采集得到的音频流的音频指纹。
具体的,该四元组的参数可作如下理解:(fk,Δfk,Δtk)代表峰值特征点对的特征部分,tk代表出现(fk,Δfk,Δtk)的时间。
对(fk,Δfk,Δtk)进行哈希计算,将(fk,Δfk,Δtk)采用固定比特倍数的哈希编码进行表示,具体为:hashcodek=H(fk,Δfk,Δtk)。经过这一哈希计算,任一个相位通道的峰值特征点对序列中的任一对峰值特征点对均可表示为(tk,hashcodek)n,n球相位通道的序号或时频子图的序号,tk代表出现hashcodek的时间;该(tk,hashcodek)n为一个指纹项,可表示一对峰值特征点对。
在一个实施例中,上述步骤250之前,如上所述的方法还包括:
通过服务端识别终端获取的多媒体数据所属的节目流时间线和触发互动的时间点,根据触发互动的时间点由节目流时间线得到对应的业务展示标识,并根据业务展示标识下发对应的互动页面。
本实施例中,服务端接收到由终端发送的多媒体数据之后,将根据多媒体数据进行查询,与预先存储的多媒体数据进行比对,以识别终端发送的多媒体数据所属的节目流时间线,进而根据触发互动的时间点在节目流时间线上落入的时间区间得到终端发送的多媒体数据对应的业务展示标识,由此业务展示标识读取对应的互动页面,并下发。
其中,识别得到的终端发送的多媒体数据所属的节目流时间线可以是视频网站中视频所对应的节目流时间线,该节目流时间线将记录了播放的视频段以及植入视频中的业务展示内容;也可以是电视播放中各种节目以及业务展示内容所对应的节目流时间线。
如图4所示,在一个实施例中,上述通过服务端识别终端获取的多媒体数据所属的节目流时间线和触发互动的时间点,根据触发互动的时间点由节目流时间线得到对应的业务展示标识,并根据业务展示标识下发对应的互动页面的步骤包括:
步骤401,通过服务端接收多媒体数据,根据多媒体数据得到用户当前通过进行业务展示内容观看的业务植入目标和触发互动的时间点。
本实施例中,业务植入目标将包括了各种视频网站中播放的视频和各种电视频道,也就是说,由于业务展示内容可在各种视频网站所提供的视频中播出,也可由各电视频频道播出,因此,无论是视频还是各电视频道都可作为业务展示内容的业务植入目标。由服务端接收终端发送的多媒体数据,将终端发送的多媒体数据与预先存储的多媒体数据进行比对,以得到与终端发送的多媒体数据相匹配的预先存储的多媒体数据和触发互动的时间点。
由于预先存储的多媒体数据对应了所属业务展示内容所播出的业务植入目标,即视频或电视频道,因此,根据与终端发送的多媒体数据相匹配的预先存储的多媒体数据即可得到用户当前通过观看业务展示内容所属的业务植入目标和触发互动的时间点,例如,用户当前通过电视观看的电视频道即为与终端发送的多媒体数据相匹配的预先存储的多媒体数据所属业务展示内容播出的电视频道。
具体的,服务端所接收的多媒体数据可为音频指纹,预先存储的多媒体数据也为音频指纹的形式,则根据音频指纹与预先存储的音频指纹进行比对的过程为:
(1)在预先存储的每个音频指纹中提取与服务端接收的音频指纹具有相同哈希编码hashcode的峰值特征点,以得到预先存储的每一个音频指纹与服务端接收的音频指纹之间具有相同哈希编码的时间戳对。
具体的,定义服务端接收的音频指纹为预先存储的任一音频指纹为其中,τ和t为时间戳,h为哈希编码hashcode。提取FP1和FP2中具有相同哈希编码的时间戳对(t,τ),以得到若干个时间戳对。
(2)统计所有时间戳对之间的时间差,并绘制该时间差所对应的直方图。
具体的,对每一时间戳对计算时间差Δt=t-τ。
(3)计算直方图中的最大峰高,并将计算得到的最大峰高作为两个音频指纹匹配的分值。
(4)判断两个音频指纹匹配的分值是否大于设定阈值,若为是,则判定这两个音频指纹相互匹配,并计算得到触发互动的时间点,若为否,则判定这两个音频指纹不相匹配。
具体的,若两个音频指纹匹配的分值大于设定阈值,则根据线性相关性,其所对应的直方图上将存在着明显峰值,若两个音频指纹不相匹配,则所对应的直方图上将不存在明显峰值。
在两个音频指纹成功匹配的情况下,直方图最大峰高对应的时间差即为匹配的时间偏移量,根据该时间偏移量计算触发互动的时间点。
步骤403,在业务植入目标对应的节目流时间线中根据时间点进行定位,以得到该时间点在节目流时间线中对应的时间区间以及时间区间标记的业务展示标识。
本实施例中,获取用户当前通过观看的电视频道或视频所对应的节目流时间线,每一电视频道或视频的节目流时间线包括了若干个时间区域,其中,每一时间区域都标记了相应的业务展示标识,每一时间区域都是与该电视频道或视频中播出的业务展示内容相对应的。
由此可知,根据触发互动的时间点在节目流时间线中进行定位,得到触发互动的时间点所落入的时间区间,进而由此时间区间得到标记的业务展示标识。
步骤405,根据业务展示标识读取相应的互动页面,并下发互动页面。
本实施例中,每一业务展示内容均预先设置了相应的互动内容,并以互动页面的形式与业务展示标识关联存储,因此,将根据业务展示标识读取相应的互动页面,其中,该互动页面所对应的互动内容将是与用户当前观看的业务展示内容相关的。
服务端将读取得到的互动页面下发至终端或者该终端所关联的电视中,通过终端或者电视对显示互动页面,以引导用户按照展示的互动内容进行业务展示内容的互动。
基于如上所述的过程,使得用户即便在通过视频网站进行业务展示内容的观看也能够实现与之相关的各种互动,大为提高了业务展示内容中互动的实时性。
在另一个实施例中,上述步骤250之前,如上所述的方法还包括:
截取业务植入目标中的多媒体数据,根据多媒体数据在业务植入目标的节目流时间线中对应时间区间标记多媒体数据对应的业务展示标识。
本实施例中,为识别终端发送的多媒体数据所对应的业务展示标识,将截取业务植入目标中业务展示内容所对应的多媒体数据,并由该业务植入目标的节目流时间线定位与该业务展示内容的截取时间相符的时间区间,在定位得到的时间区间中标记业务展示标识,所截取得到的多媒体数据将被预先进行存储,并与相应的业务植入目标相关联。
通过如上所述的步骤,将对每一业务植入目标所播出的业务展示内容进行节目流时间线中对应业务展示标识的标记,以方便快速识别由终端发送的多媒体数据所对应的业务展示标识,有效提高了识别效率。
如图5所示,在一个实施例中,上述截取业务植入目标中业务展示内容所对应的多媒体数据,根据多媒体数据在业务植入目标的节目流时间线中对应时间区间标记多媒体数据对应的业务展示标识的步骤包括:
步骤501,按照预设间隔对业务植入目标中播出的业务展示内容进行多媒体数据的截取。
本实施例中,截取的多媒体数据可为音频指纹,对于电视所播放的多媒体数据而言,将采用数字卫星接收机装置接收由电视转播卫星发射的各路电视信号,由电视信号分离得到音频流,并按照预设间隔的频率不断提取音频流中的音频指纹,其中,音频指纹的提取过程如上述步骤215所述。
步骤503,将截取的多媒体数据与预先构建的多媒体索引库中存储的多媒体数据进行比对,以根据比对结果得到截取的多媒体数据对应的业务展示标识。
本实施例中,预先构建的多媒体索引库中存储了若干多媒体数据,并且每一多媒体数据均与一业务展示内容相对应,唯一对应了一个业务展示标识,所存储的若干多媒体数据均是由相应的业务展示内容提供者事先提供的。
例如,业务展示内容为电视广告,则预先构建的多媒体索引库中存储的若干多媒体数据都将与电视广告相对应,即投放电视广告的广告商提供。对于存储的每一多媒体数据,都将是预先提取电视广告的音频流对应的音频指纹,并将提取得到的音频指纹与业务展示标识关联存储于多媒体索引库中。
将截取的多媒体数据与预先构建的多媒体索引库中存储的多媒体数据进行比对得到比对结果,该比对结果将记录了与截取的多媒体数据相一致的多媒体索引库中存储的多媒体数据,进而得到对应的业务展示标识。
步骤505,在业务植入目标对应的节目流时间线中按照多媒体数据的截取时间将对应时间区间标记为业务展示标识。
本实施例中,截取多媒体数据的业务植入目标所对应的节目流时间线中,按照多媒体数据的截取时间进行时间区间的标记,以方便后续对终端发送的多媒体数据所属业务展示标识的识别。
下面结合一个具体的实施例来详细阐述如上所述的基于视频的互动方法。该实施例中,将以音频指纹为例进行阐述,其中,业务展示内容为广告。
用户通过电视观看电视节目时,若观看到较为感兴趣的广告即可通过智能移动终端触发互动命令,此时,智能移动终端将执行步骤601,根据互动命令触发录音,以进行音频流的采集,并执行步骤602,从采集的音频流中提取音频指纹,将音频指纹上传至服务端。
服务端设置了电视音频指纹数据库603,该电视音频指纹数据库603将用于预先存储各大电视频道中播出的广告所对应的音频指纹。
服务端执行步骤604,将智能移动终端上传的音频指纹与电视音频指纹数据库603中预先存储的音频指纹进行比对,以得到电视音频指纹数据库603中与智能移动终端上传的音频指纹相匹配的音频指纹,进而根据这一音频指纹所对应的电视频道得到用户当前所观看的电视频道和触发互动的时间点。
由用户当前所观看的电视频道获取相应的节目流时间线,并根据触发互动的时间点在节目流时间线中进行定位,以得到触发互动的时间点所落入的时间区间,该时间区间所标记的业务展示标识,即广告标识,该广告标识是与用户当前观看,且感兴趣的广告相对应的。
服务端根据得到的广告标识在广告互动内容数据库606中查找,以读取与广告标识对应的互动页面,并执行步骤607,将互动页面下发至用户所使用的智能移动终端,通过智能移动终端执行步骤608以在智能移动终端的屏幕中进行互动内容的显示,进而引导用户参与广告的互动。
在此之前,还将为各电视频道中播出的广告进行标记。对于各广告提供商提供的广告音频,将执行步骤609进行音频指纹的提取,以将提取得到的音频指纹存储于多媒体索引库,即广告音频指纹数据库610,其中,该音频指纹将是与广告标识关联存储的。
后台的服务端将按照预设间隔对各电视频道中播出的广告进行音频流的截取,如步骤611,并执行步骤612由采集的音频流中提取音频指纹,以将提取的音频指纹和所属电视频道关联存储于电视音频指纹数据库603中。
执行步骤613,对各电视频道播出的广告所提取的音频指纹还将与广告音频指纹数据库610中存储的音频指纹进行比对,以得到这一提取的音频指纹所对应的广告标识,并在节目流时间线中与截取时间相对应的时间区间进行广告标识的标记。
通过如上所述的系统流程准确识别用户正在观看的广告,从而在“第二屏”的智能移动终端上为广告提供实时、内容丰富的互动,引导用户在智能移动终端上完成互动。
另外,还提供了一种基于视频的互动方法,该方法运行于服务端,其包括:
接收由终端根据触发的互动命令获取的与视频相关的多媒体数据;
由多媒体数据识别用户当前进行视频观看所对应的业务展示标识;
根据业务展示标识向终端下发互动页面,以通过终端对互动页面的显示向用户展示与所述业务展示标识相关的互动内容。
具体的,由多媒体数据识别用户当前进行视频观看所对应的业务展示标识的步骤包括:
识别终端获取的多媒体数据所属的节目流时间线和触发互动的时间点,根据触发互动的时间点由节目流时间线得到对应的业务展示标识。具体的,识别所述终端获取的多媒体数据所属的节目流时间线和触发互动的时间点,根据触发互动的时间点由节目流时间线得到对应的业务展示标识的步骤包括:
根据多媒体数据得到用户当前进行业务展示内容观看所属的业务植入目标和触发互动的时间点;
在业务植入目标对应的节目流时间线中根据时间点进行定位,以得到时间点在节目流时间线中对应的时间区间以及时间区间标记的业务展示标识。
具体的,由所述多媒体数据识别用户当前进行视频观看所对应的业务展示标识的步骤之前,该方法还包括:
截取业务植入目标中业务展示内容所对应的多媒体数据,根据多媒体数据在业务植入目标的节目流时间线中对应时间区间标记多媒体数据对应的业务展示标识。
具体的,截取业务植入目标中业务展示内容所对应的多媒体数据,根据多媒体数据在业务植入目标的节目流时间线中对应时间区间标记多媒体数据对应的业务展示标识的步骤包括:
按照预设间隔对业务植入目标中播出的业务展示内容进行多媒体数据的截取;
将截取的多媒体数据与预先构建的多媒体索引库中存储的多媒体数据进行比对,以根据比对结果得到截取的多媒体数据对应的业务展示标识;
在业务植入目标对应的节目流时间线中按照多媒体数据的截取时间将对应时间区间标记为业务展示标识。
如图7所示,在一个实施例中,一种基于视频的互动系统,包括数据获取模块710、发送模块730和互动展示模块750。
数据获取模块710,用于侦听终端中触发的互动命令,根据互动命令获取与视频相关的多媒体数据。
本实施例中,互动命令是随着用户对视频播放终端中播出的业务展示内容触发的,在侦听得到终端中触发的互动命令之后,数据获取模块710将根据触发的互动命令获取用户当前所观看的与视频相关的多媒体数据。例如,用户可随着视频网站中播出的业务展示内容或者电视中播出的业务展示内容触发互动命令。
其中,数据获取模块710所获取的多媒体数据息可以是业务展示内容所对应的音频指纹、音频文件或视频画面图像,其具体类型将根据具体实现过程中的需要进行设定。
发送模块730,用于将多媒体数据发送至服务端,以使服务端由多媒体数据识别用户当前进行视频观看所对应的业务展示标识。
本实施例中,获取得到多媒体数据之后,发送模块730将发送至后台的服务器端,以在服务端的作用下识别用户当前通过视频观看的业务展示内容,例如广告所对应的业务展示标识。
其中,每一业务展示内容都唯一对应了一业务展示标识,因此,可通过业务展示标识对业务展示内容进行标记。
互动展示模块750,用于接收服务端根据业务展示标识下发的互动页面,并通过显示互动页面向用户展示与业务展示标识相关的互动内容。
本实施例中,服务端在识别得到用户当前进行视频观看所对应的业务展示标识之后,将根据业务展示标识读取相应的互动页面,并下发该互动页面,以使得终端或者电视等视频播放终端中的互动展示模块750得以对互动页面进行显示,进而通过互动页面中展示的互动内容引导用户实现业务展示内容所对应的互动。
其中,互动页面中的互动内容将是预先进行设置的,例如,该互动内容可以是汽车广告中的汽车试驾资格申请、饮料广告中的饮料免费抽奖等,这些互动内容将以互动页面的形式预先进行存储,进而根据服务端所识别的业务展示标识实现互动页面的读取和下发。
进一步的,根据具体实现过程的不同,互动页面将被显示于终端或者电视中。
触发互动命令的终端为智能移动终端,例如,智能手机、平板电脑等,则互动页面将被显示于智能移动终端的屏幕中。
触发互动命令的终端为智能电视或者机顶盒提供的智能遥控器,则互动页面将被显示于智能电视的屏幕中。
通过如上所述的基于视频的互动过程,由于并不依赖于特定的设备,因此可根据实际情况进行设置,大为提高了实现的通用性。
如图8所示,在一个实施例中,上述与视频相关的多媒体数据为音频指纹,如上所述的数据获取模块710包括侦听单元711、采集单元713和指纹提取单元715。
侦听单元711,用于侦听得到用户根据当前播出的业务展示内容触发的互动命令。
本实施例中,侦听单元711将侦听终端中触发的各种命令以得到用户针对当前播出的业务展示内容触发的互动命令。
采集单元713,用于通过互动命令触发终端录音,以进行音频流采集。
本实施例中,采集单元713通过互动命令触发终端对视频发出的声音进行录音,以得到用户当前观看的业务展示内容所对应的音频流。在优选的实施例中,将以8kHz进行音频流的采样,并以16比特进行量化得到视频当前所对应的音频流。
指纹提取单元715,用于从采集得到的音频流中提取音频指纹。
本实施例中,音频指纹是指可以代表一段音频流重要声学特征的基于内容的紧致数字签名。音频指纹具备了区分性、鲁棒性、粒度、易计算性和数据紧致性,其中,区分性是指不同音频流之间的音频指纹具有较大差异,而同一音频流的原始记录和各失真记录的音频指纹之间差异很小;鲁棒性是指音频流在经受各种音频格式变换、信道噪声干扰之后仍然能够通过音频指纹识别出来;粒度是指即使音频流的长度很短(如5s至10s)也能够通过音频指纹顺利识别;易计算性是指在计算资源受限的终端快速实时的进行音频指纹提取;数据紧致性是指音频指纹通过无线网络传输所需要的数据流量小,可适应于不同的网络环境。
进一步的,指纹提取单元715从采集得到的音频流中提取音频指纹的具体过程为:
(1)对采集得到的音频流进行时域分帧处理得到多帧音频信号。
具体的,将以窗函数作为分帧的参数,对采集得到的音频流进行时间分帧处理,形成多帧音频。其中,窗函数可以为海明窗函数、汉宁窗函数、高斯窗函数等。
其中,所采用的海明窗w(n)为:
(2)对每一帧音频信号进行短时傅立叶变换(Short-Time Fourier Transform,简称STFT)得到每一帧音频信号的频率谱。
具体的,对每一帧音频信号进行短时傅立叶变换所得到的频域表示,即频率谱X(m)为:
其中,j为窗函数所对应的参数,N为傅立叶变换的点数,可取值为1024。
(3)提取每一帧音频信号的频率谱对应的幅度谱,根据每一帧音频信号的时间、频率谱和幅度谱绘制音频流的二维时频图。
具体的,可按照每一帧音频信号的时间顺序依次绘制每一帧音频信号的频率谱和幅度谱,以形成音频流的二维时频图S(t,f)。
S(t,f)=|X(t,f)|
(4)按照时间取模的方式对音频流的二维时频图进行拆分,得到预设数量的时频子图,预设数量的时频子图中一个时频子图将对应音频流中的一个相位通道。
具体的,预设数量的值可根据实际情况进行设定,本实施例中将采用M表示预设数量,其中,M为正整数。
将得到的音频流的二维时频图按照时间t对M取模的方式进行拆分,生成M个相位通道的时频子图Sk(t,f),其中,k=1,2,……,M。
(5)提取预设数量的相位通道中每个相位通道的至少一个峰值特征点,每个相位通道的至少一个峰值特征点构成每个相位通道的峰值特征点序列。
具体的,M个相位通道中,一个相位通道对应一个时频子图。其中,每个相位通道中峰值特征点的提取过程可以包括:a)每个相位通道对应的时频子图中计算每个特征点的能量值;b)根据每个特征点的能量值,选取一定矩形邻域内能量极大的特征点作为峰值特征点。根据上述a)和b),可提取每个相位通道的至少一个峰值特征点。其中,矩形邻域的尺寸参数可根据实际需要进行设定。
M个相位通道中,每个相位通道可提取至少一个峰值特征点,对该至少一个峰值特征点进行排序即可构成每个相位通道的峰值特征点序列。
在一个实施例中,可先按照时间从先至后的顺序,对该至少一个峰值特征点进行排序,针对相同时间点出现的峰值特征点,再按照频率从高至低的顺序对该至少一个峰值特征点进行排序,进而提取得到M个峰值特征点序列。
(6)对每个相位通道的峰值特征点序列中的每个峰值特征点进行配对,形成每个相位通道的峰值特征点对序列。
具体的,定义Sn(tk,fk)表示任一个相位通道的峰值特征点序列中的任一个峰值特征点。其中,n表示相位通道的序号或时频子图的序号,且0<n≤M;k表示该峰值特征点在峰值特征点序列中的序号,k为正整数;tk表示时频子图n中出现该峰值特征点的时间;fk表示该峰值特征点的频率。
对每个相位通道的峰值特征点序列中的每个峰值特征点进行配对的过程为:a)每个相位通道对应的时频子图中,以每个相位通道的峰值特征点序列中的每个每峰值特征点作锚点选取矩形目标区域,针对任一时频子图中的任一个峰值特征点Sn(tk,fk),矩形目标区域满足如下条件:
tstart≤tk≤tend且fstart≤fk≤fend
其中,tstart表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的起始时间,tend表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的结束时间;fstart表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的最小频率,fend表示以峰值特征点Sn(tk,fk)作为锚点选取的矩形目标区域的最大频率。
b)在矩形目标区域中选取除锚点之外的一个峰值特征点与锚点配对,锚点及与该锚点配对的峰值特征点将构成峰值特征点对。与锚点配对的峰值特征点的选取原则可以包括:选取出现时间与锚点的出现时间的时间差最小的峰值特征点;或者,选取除锚点之外的能量值最大的峰值特征点。
通过上述a)和b),针对任一峰值特征点Sn(tk,fk)均可获得一个配对的峰值特征点Sn(tb,fb)。其中,n表示相位通道的序号或时频子图的序号,且0<n≤M;b表示该配对的峰值特征点在峰值特征点序列n中的序号,b为正整数;tb表示时频子图n中出现该配对的峰值特征点的时间;fb表示该配对的峰值特征点的频率。
将定义四元组(tk,fk,Δfk,Δtk)n表示任一相位通道的峰值特征点对序列中的任一峰值特征点对,其中,n表示相位通道的序号或时频子图的序号;Δtk表示峰值特征点对中的两个峰值特征点之间的时间差,Δtk=tb-tk;Δfk表示峰值特征点对中的两个峰值特征点之间的频率差,Δfk=fb-fk。
(7)对每个相位通道的峰值特征点对序列进行哈希计算,得到每个相位通道对应的指纹序列,预设数量的相位通道对应的指纹序列的集合便构成了采集得到的音频流的音频指纹。
具体的,该四元组的参数可作如下理解:(fk,Δfk,Δtk)代表峰值特征点对的特征部分,tk代表出现(fk,Δfk,Δtk)的时间。
对(fk,Δfk,Δtk)进行哈希计算,将(fk,Δfk,Δtk)采用固定比特倍数的哈希编码进行表示,具体为:hashcodek=H(fk,Δfk,Δtk)。经过这一哈希计算,任一个相位通道的峰值特征点对序列中的任一对峰值特征点对均可表示为(tk,hashcodek)n,n球相位通道的序号或时频子图的序号,tk代表出现hashcodek的时间;该(tk,hashcodek)n为一个指纹项,可表示一对峰值特征点对。
如图9所示,在一个实施例中,如上所述的系统还包括了运行于服务端中的识别模块910。
识别模块910用于识别终端获取的多媒体数据所属的节目流时间线和触发互动的时间点,根据触发互动的时间点由节目流时间线得到对应的业务展示标识,并根据业务展示标识下发对应的互动页面。
本实施例中,服务端中的识别模块910接收到由终端发送的多媒体数据之后,将根据多媒体数据进行查询,与预先存储的多媒体数据进行比对,以识别终端发送的多媒体数据所属的节目流时间线,进而根据触发互动的时间点在节目流时间线上落入的时间区间得到终端发送的多媒体数据对应的业务展示标识,由此业务展示标识读取对应的互动页面,并下发。
其中,识别得到的终端发送的多媒体数据所属的节目流时间线可以是视频网站中视频所对应的节目流时间线,该节目流时间线将记录了播放的视频段以及植入视频中的业务展示内容;也可以是电视播放中各种节目以及业务展示内容所对应的节目流时间线。
如图10所示,在一个实施例中,上述识别模块910包括接收处理单元911、时间线定位单元913和页面下发单元915。
接收处理单元911,用于接收多媒体数据,根据多媒体数据得到用户当前进行业务展示内容观看的业务植入目标和触发互动的时间点。
本实施例中,业务植入目标将包括了各种视频网站中播放的视频和各种电视频道,也就是说,由于业务展示内容可在各种视频网站所提供的视频中播出,也可由各电视频频道播出,因此,无论是视频还是各电视频道都可作为业务展示内容的业务植入目标。由接收处理单元911接收终端发送的多媒体数据,将终端发送的多媒体数据与预先存储的多媒体数据进行比对,以得到与终端发送的多媒体数据相匹配的预先存储的多媒体数据和触发互动的时间点。
由于预先存储的多媒体数据对应了所属业务展示内容所播出的业务植入目标,即视频或电视频道,因此,接收处理单元911根据与终端发送的多媒体数据相匹配的预先存储的多媒体数据即可得到用户当前通过观看业务展示内容所属的业务植入目标和触发互动的时间点,例如,用户当前通过电视观看的电视频道即为与终端发送的多媒体数据相匹配的预先存储的多媒体数据所属业务展示内容播出的电视频道。
具体的,服务端中接收处理单元911所接收的多媒体数据为音频指纹,预先存储的多媒体数据也为音频指纹的形式,则接收处理单元911根据音频指纹与预先存储的音频指纹进行比对的过程为:
(1)在预先存储的每个音频指纹中提取与服务端接收的音频指纹具有相同哈希编码hashcode的峰值特征点,以得到预先存储的每一个音频指纹与服务端接收的音频指纹之间具有相同哈希编码的时间戳对。
具体的,定义服务端接收的音频指纹为预先存储的任一音频指纹为其中,τ和t为时间戳,h为哈希编码hashcode。提取FP1和FP2中具有相同哈希编码的时间戳对(t,τ),以得到若干个时间戳对。
(2)统计所有时间戳对之间的时间差,并绘制该时间差所对应的直方图。
具体的,对每一时间戳对计算时间差Δt=t-τ。
(3)计算直方图中的最大峰高,并将计算得到的最大峰高作为两个音频指纹匹配的分值。
(4)判断两个音频指纹匹配的分值是否大于设定阈值,若为是,则判定这两个音频指纹相互匹配,并计算得到触发互动的时间点,若为否,则判定这两个音频指纹不相匹配。
具体的,若两个音频指纹匹配的分值大于设定阈值,则根据线性相关性,其所对应的直方图上将存在着明显峰值,若两个音频指纹不相匹配,则所对应的直方图上将不存在明显峰值。
在两个音频指纹成功匹配的情况下,直方图最大峰高对应的时间差即为匹配的时间偏移量,根据该时间偏移量计算触发互动的时间点。
时间线定位单元913,用于在业务植入目标对应的节目流时间线中根据时间点进行定位,以得到时间点在节目流时间线中对应的时间区间以及该时间区间标记的业务展示标识。
本实施例中,时间线定位单元913获取用户当前通过观看的电视频道或视频所对应的节目流时间线,每一电视频道或视频的节目流时间线包括了若干个时间区域,其中,每一时间区域都标记了相应的业务展示标识,每一时间区域都是与该电视频道或视频中播出的业务展示内容相对应的。
由此可知,时间线定位单元913根据触发互动的时间点在节目流时间线中进行定位,得到触发互动的时间点所落入的时间区间,进而由此时间区间得到标记的业务展示标识。
页面下发单元915,用于根据业务展示标识读取相应的互动页面,并下发互动页面。
本实施例中,每一业务展示内容均预先设置了相应的互动内容,并以互动页面的形式与业务展示标识关联存储,因此,页面下发单元915将根据业务展示标识读取相应的互动页面,其中,该互动页面所对应的互动内容将是与用户当前观看的业务展示内容相关的。
服务端中的页面下发单元915将读取得到的互动页面下发至终端或者该终端所关联的电视中,通过终端或者电视对显示互动页面,以引导用户按照展示的互动内容进行业务展示内容的互动。
基于如上所述的过程,使得用户即便在通过视频网站进行业务展示内容的观看也能够实现与之相关的各种互动,大为提高了业务展示内容中互动的实时性。
如图11所示,在一个实施例中,上述系统还包括运行于服务端中的标记模块1110。
标记模块1110,用于截取业务植入目标中业务展示内容所对应的多媒体数据,根据多媒体数据在业务植入目标的节目流时间线中对应时间区间标记多媒体数据对应的业务展示标识。
本实施例中,为识别终端发送的多媒体数据所对应的业务展示标识,标记模块1110将截取业务植入目标中业务展示内容所对应的多媒体数据息,并由该业务植入目标的节目流时间线定位与该业务展示内容的截取时间相符的时间区间,在定位得到的时间区间中标记业务展示标识,所截取得到的多媒体数据将被预先进行存储,并与相应的业务植入目标相关联。
通过如上所述过程,将对每一业务植入目标所播出的业务展示内容进行节目流时间线中对应业务展示标识的标记,以方便快速识别由终端发送的多媒体数据所对应的业务展示标识,有效提高了识别效率。
如图12所示,在一个实施例中,上述标记模块1110包括截取单元1111、比对单元1113和区间标记单元1115。
截取单元1111,用于按照预设间隔对业务植入目标中播出的业务展示内容进行多媒体数据的截取。
本实施例中,多媒体数据可为音频指纹,对于电视所播放的多媒体数据而言,截取单元1111将采用数字卫星接收机装置接收由电视转播卫星发射的各路电视信号,由电视信号分离得到音频流,并按照预设间隔的频率不断提取音频流中的音频指纹。
比对单元1113,用于将截取的多媒体数据与预先构建的多媒体索引库中存储的多媒体数据进行比对,以根据比对结果得到截取的多媒体数据对应的业务展示标识。
本实施例中,预先构建的多媒体索引库中存储了若干多媒体数据,并且每一多媒体数据均与一业务展示内容相对应,唯一对应了一个业务展示标识,所存储的若干多媒体数据均是由相应的业务展示内容提供者事先提供的。
例如,业务展示内容为电视广告,则预先构建的多媒体索引库中存储的若干多媒体数据都将与电视广告相对应,即投放电视广告的广告商提供。对于存储的每一多媒体数据,都将是预先提取电视广告的音频流对应的音频指纹,并将提取得到的音频指纹与业务展示标识关联存储于多媒体索引库中。
比对单元1113将截取的多媒体数据与预先构建的多媒体索引库中存储的多媒体数据进行比对得到比对结果,该比对结果将记录了与截取的多媒体数据相一致的多媒体索引库中存储的多媒体数据,进而得到对应的业务展示标识。
区间标记单元1115,用于在业务植入目标对应的节目流时间线中按照多媒体数据的截取时间将对应时间区间标记为业务展示标识。
本实施例中,截取多媒体数据的业务植入目标所对应的节目流时间线中,区间标记单元1115按照多媒体数据的截取时间进行时间区间的标记,以方便后续对终端发送的多媒体数据所属业务展示标识的识别。
此外,如图13所示,还提供了一种基于视频的互动系统,该系统运行于服务端,包括接收模块1310、业务识别模块1330和页面下发模块1350。
接收模块1310,用于接收由终端根据触发的互动命令获取的与视频相关的多媒体数据。
业务识别模块1330,用于由多媒体数据识别用户当前进行视频观看所对应的业务展示标识。
页面下发模块1350,用于根据业务展示标识向终端下发互动页面,以通过终端对互动页面的显示向用户展示与业务展示标识相关的互动内容。
具体的,业务识别模块1330进一步用于识别终端获取的多媒体数据所属的节目流时间线和触发互动的时间点,根据触发互动的时间点由节目流时间线得到对应的业务展示标识。
具体的,上述业务识别模块1330包括了接收处理单元和时间线定位单元。
其中,接收处理单元,用于根据多媒体数据得到用户当前进行业务展示内容观看所属的业务植入目标和触发互动的时间点;
时间线定位单元,用于在业务植入目标对应的节目流时间线中根据时间点进行定位,以得到时间点在节目流时间线中对应的时间区间以及时间区间标记的业务展示标识。
另外,如上所述的系统还包括了标记模块。该标记模块用于截取业务植入目标中业务展示内容所对应的多媒体数据,根据多媒体数据在业务植入目标的节目流时间线中对应时间区间标记多媒体数据对应的业务展示标识。
具体的,标记模块包括截取单元、对比单元和区间标记单元。
截取单元,用于按照预设间隔对业务植入目标中播出的业务展示内容进行多媒体数据的截取;
比对单元,用于将截取的多媒体数据与预先构建的多媒体索引库中存储的多媒体数据进行比对,以根据比对结果得到截取的多媒体数据对应的业务展示标识;
区间标记单元,用于在业务植入目标对应的节目流时间线中按照多媒体数据的截取时间将对应时间区间标记为业务展示标识。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。