一种基于AR技术的视频直播赠送礼物的实现方法及系统与流程

文档序号:11138607阅读:489来源:国知局
一种基于AR技术的视频直播赠送礼物的实现方法及系统与制造工艺

本发明涉及视频直播技术领域,具体来讲是一种基于AR(Augmented Reality,增强现实)技术的视频直播赠送礼物的实现方法及系统。



背景技术:

随着直播行业的快速发展,观众与自己喜爱的主播之间的互动需求越来越多。目前,为了刺激用户的观看兴致,提高观看量和用户粘性,推出了一些例如直播中赠送礼物的互动方式。但是,现有的赠送礼物方式中,所赠送的礼物仅是一个普通的图画,给予观众和主播展示的也仅是一个简单动画,可操作性不强,使得用户与主播之间的互动还是过少,赠送礼物的主动性也不高,使得用户体验较差。

而增强现实技术(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动。这种技术由1990年提出,随着随身电子产品CPU运算能力的提升,增强现实技术的使用也越来越广泛。

在视频直播中,如果将赠送礼物与增强现实这二者合二为一,将会给用户带来一种全新的用户体验,观众与主播的互动方式也将会更多,更灵活,更新颖。但是,如何在视频直播中将赠送礼物与增强现实技术进行合理的结合还缺乏具体的实现方法和统一的标准。因此,这也成为了直播领域亟待解决的问题。



技术实现要素:

本发明的目的是为了克服上述背景技术的不足,提供一种基于AR技术的视频直播赠送礼物的实现方法及系统,能在视频直播中将赠送礼物与AR技术进行合理的结合,从而提高用户赠送礼物的主动性、增强互动性,使得用户体验更好。

为达到以上目的,本发明提供一种基于AR技术的视频直播赠送礼物的实现方法,包括以下步骤:

步骤S1:当用户需要向主播赠送礼物时,用户端向用户提供礼物选择界面供用户进行AR礼物的选择;并在用户选择好要赠送的AR礼物后,记录下该AR礼物的ID,转入步骤S2;

步骤S2:判断用户所选择的AR礼物是否可以赠送,若是,转入步骤S3;否则,结束;

步骤S3:用户端显示主播的直播界面;在直播界面中,根据用户选择的礼物投放的位置,获取对应的礼物投放位置的空间坐标及该空间坐标周围指定范围内的像素点的颜色值,并根据用户调整的礼物大小,获取对应的礼物缩放比例,转入步骤S4;

步骤S4:用户端将步骤S3中获取的所有数据以及步骤S1中记录的AR礼物ID通过直播服务器发送至主播端,转入步骤S5;

步骤S5:主播端根据接收到的数据中礼物投放位置的空间坐标,获取当前直播画面中该空间坐标周围指定范围内的像素点的颜色值;将当前获取到的像素点的颜色值与接收到的数据中对应像素点的颜色值进行一一对比,判断礼物投放位置的空间坐标对应的点是否被遮挡,若是,不显示AR礼物,返回步骤S5;若否,转入步骤S6;

步骤S6:主播端从接收到的数据中获取到AR礼物ID和礼物缩放比例;根据礼物投放位置的空间坐标,在直播画面的相应位置处显示与AR礼物ID相对应的AR礼物,并按照礼物缩放比例进行等比缩放显示,结束。

本发明还提供一种基于AR技术的视频直播赠送礼物的实现系统,该系统包括客户端和直播服务器,该客户端分为用户端和主播端,所述用户端包括AR礼物选择模块、AR礼物判断模块、AR礼物数据获取模块和AR礼物数据发送模块;所述主播端包括AR礼物数据处理模块和AR礼物显示模块。

其中,所述AR礼物选择模块用于:当用户需要向主播赠送礼物时,向用户提供礼物选择界面供用户进行AR礼物的选择;并在用户选择好要赠送的AR礼物后,记录下该AR礼物的ID,向AR礼物判断模块发送判断信号;

所述AR礼物判断模块用于:收到判断信号后,判断用户所选择的AR礼物是否可以赠送,若是,向AR礼物数据获取模块发送获取信号;否则,结束所有操作;

所述AR礼物数据获取模块用于:收到获取信号后,显示主播的直播界面;在直播界面中,根据用户选择的礼物投放的位置,获取对应的礼物投放位置的空间坐标及该空间坐标周围指定范围内的像素点的颜色值,并根据用户调整的礼物大小,获取对应的礼物缩放比例,向AR礼物数据发送模块发送传输信号;

所述AR礼物数据发送模块用于:收到传输信号后,将AR礼物数据获取模块获取的所有数据以及AR礼物选择模块记录的AR礼物ID通过所述直播服务器发送至主播端,并向AR礼物数据处理模块发送处理信号;

所述AR礼物数据处理模块用于:收到处理信号后,根据接收到的数据中礼物投放位置的空间坐标,获取当前直播画面中该空间坐标周围指定范围内的像素点的颜色值;将当前获取到的像素点的颜色值与接收到的数据中对应像素点的颜色值进行一一对比,判断礼物投放位置的空间坐标对应的点是否被遮挡,若是,不显示AR礼物并发出处理信号;若否,向AR礼物显示模块发送显示信号;

所述AR礼物显示模块用于:收到显示信号后,从接收到的数据中获取到AR礼物ID和礼物缩放比例;根据礼物投放位置的空间坐标,在直播画面的相应位置处显示与AR礼物ID相对应的AR礼物,并按照礼物缩放比例进行等比缩放显示。

本发明的有益效果在于:

本发明提供了一种基于AR技术的视频直播赠送礼物的实现方法,使得用户可以通过用户端的礼物选择界面进行各类AR礼物的选择;待选择好所赠送的AR礼物后,用户端将返回至直播界面,在直播界面中,用户可进行礼物投放地点的选择和礼物远近度(即大小)的调整,而用户端则根据用户选择的礼物投放的位置,获取对应的礼物投放位置的空间坐标及该空间坐标周围指定范围内的像素点的颜色值,并根据用户调整的礼物大小,获取对应的礼物缩放比例,并将相应的数据传输至主播端用于礼物显示时使用。主播所在的主播端在判断礼物投放位置没有被遮挡后,将对赠送的AR礼物进行显示,以此实现视频直播中的礼物赠送功能。

与现有技术相比,本发明能在视频直播中将赠送礼物与AR技术进行合理的结合,并提供了具体实现方案,从而提高了用户赠送礼物的主动性、增强互动性,使得用户体验更好。对主播来说,可有效增强粉丝的粘性;对用户来说,可得到更好、更多元化的体验,用户体验佳。

附图说明

图1为本发明实施例中基于AR技术的视频直播赠送礼物的实现方法的流程图;

图2为本发明实施例中实现礼物远近度调整的原理示意图;

图3为本发明实施例中基于AR技术的视频直播赠送礼物的实现系统的结构框图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步的详细描述。

参见图1所示,本发明实施例提供一种基于AR技术的视频直播赠送礼物的实现方法,包括以下步骤:

步骤S1:当用户需要向主播赠送礼物时,用户所在的客户端(以下简称:用户端)向用户提供礼物选择界面供用户进行AR礼物的选择;并在用户选择好要赠送的AR礼物后,记录下该AR礼物的ID(Identifier,标识符),转入步骤S2。可以理解的是,所述AR礼物的ID是每个AR礼物的唯一标示,用来表示该AR礼物的编号。

实际操作时,步骤S1具体包括以下流程:

步骤S101:当用户需要向主播赠送礼物时,用户端从直播服务器获取AR礼物列表,并将该AR礼物列表通过礼物选择界面向用户进行展示供用户选择,转入步骤S102;

步骤S102:用户选择好要赠送的AR礼物后(如通过点击方式进行AR礼物的选择),用户端记录下该AR礼物的ID。

步骤S2:判断用户所选择的AR礼物是否可以赠送,若是,转入步骤S3;否则,停止所有操作,结束。

步骤S3:用户端显示主播的直播界面;在直播界面中,根据用户选择的礼物投放的位置,获取对应的礼物投放位置的空间坐标及该空间坐标周围指定范围内的画面像素点的颜色值(即RGB值,红、绿、蓝三原色模式的值),并根据用户调整的礼物大小(即实现礼物的远近度的调整),获取对应的礼物缩放比例,转入步骤S4。

可以理解的是,本实施例中所述AR礼物按照现实展现效果的不同,可被分为不同的类型,如悬挂类AR礼物、放置类AR礼物。不同类型的AR礼物对其投放的位置是有相应要求的,因此,所获取的对应空间坐标也会是不一样的。例如,如果是悬挂类的AR礼物,那么AR礼物必须是挂在某个地方,那么用户选择礼物投放位置时,需要选择到主播周围可以挂着的地方,则获取到的相应空间坐标也必须是主播周围可以挂着的地方的坐标;同理,如果是放置类AR礼物,那么用户选择礼物投放位置时,必须选择一个有平台可以放置的地方,如地面或桌面等,则获取到的相应空间坐标也必须是主播周围有平台可以放置的地方的坐标。

进一步的,为了使AR礼物在显示上和操作上都能更好的与AR技术相结合,使得用户能在操作中可以调整礼物距离屏幕的远近度,从而在视觉上(显示上)给观众和主播感觉AR礼物离屏幕有距离感,进而增强现实感。本发明采用的是通过改变礼物的大小来达到改变礼物远近的目的。其原理是:如图2所示,对于一个物体,距离你近的话,会感觉物品相对于视觉所看到的相对于屏幕的比例较大;距离远的话,会感觉物品相对于视觉所看到的相对于屏幕比例较小。因此,可利用这个原理来解决AR礼物在主播空间中实现调整远近的问题。具体来说,是在用户调整礼物的远近度(大小)后,用户端会获取当前礼物大小与原礼物的比例,即步骤S3中,根据用户调整的礼物大小,获取对应的礼物缩放比例,以此来实现AR礼物的远近调整。

更进一步的,步骤S3中,在获取礼物投放位置的空间坐标的同时,还会获取该空间坐标周围指定范围内的画面像素点颜色值。获取周围指定范围内的画面像素点颜色值的目的是为了在主播所在的客户端(以下简称:主播端)进行显示时,主播端能根据礼物投放位置周围的颜色值来判断用户所选择的空间坐标是否被其他物体所遮挡。其原理是:如果用户选择的空间坐标周围的颜色值所在的范围与主播接收礼物后其坐标点周围的颜色值的范围相差很大,那么就判断该空间坐标点被其他物体所遮挡,这个时候将不显示礼物。如果范围相差在一定范围内,那么就判断用户选择的空间坐标点没有被遮挡,那么则显示礼物。

实际操作中,由于获取空间坐标点周围的颜色数据越多,那么在判断时的范围就越大,礼物显示的精确度就越低;反之,范围越小,礼物显示的精确度就越高,但是精确度太高礼物显示会很困难,因此需要权衡这个范围。本实施例中,采用获取空间坐标周围10个点范围内的像素点的颜色值(即上下左右10个画面像素点的颜色值),可达到较理想的礼物显示精确度且显示也不会很困难。具体实现时,获取周围颜色值的核心代码如下:

Bitmap bitmap=view.getBitmap();

int pixel=bitmap.getPixel(x,y);

//获取颜色

int redValue=Color.red(pixel);

int blueValue=Color.blue(pixel);

int greenValue=Color.green(pixel);

根据这段代码,只需要在第一次传入用户选择的xy坐标(即投放位置的空间坐标),并循环每次减1获取到周围上下左右各10个点的坐标的像素点颜色值即可。

步骤S4:用户端将步骤S3中获取的所有数据(包括所述礼物投放位置的空间坐标、该空间坐标周围指定范围内的画面像素点的颜色值、礼物缩放比例)以及步骤S1中记录的AR礼物ID通过直播服务器发送至主播端,转入步骤S5。

步骤S5:主播端根据接收到的数据中所述礼物投放位置的空间坐标,获取当前直播画面中该空间坐标周围指定范围内的画面像素点的颜色值;将当前获取到的像素点的颜色值与接收到的数据中对应像素点的颜色值进行一一对比,判断所述礼物投放位置的空间坐标的点是否被遮挡,若是,不进行AR礼物的显示,返回步骤S5;若否,转入步骤S6。可以理解的是,当礼物投放位置的点被遮挡时,AR礼物将不会被显示出来,但主播端会一直监视该点是否被遮挡,一旦没有被遮挡,则会在屏幕上显示AR礼物。

实际操作时,步骤S5中所述将当前获取到的像素点的颜色值与接收到的数据中对应像素点的颜色值进行一一对比,判断所述礼物投放位置的空间坐标的点是否被遮挡,具体包括以下流程:

步骤S501:将当前获取到的每一个像素点的红色值、绿色值、蓝色值分别与接收到的数据中对应像素点的红色值、绿色值、蓝色值进行一一对比,计算出三种颜色值的差值;判断三种颜色值的差值是否均在指定的色差阈值范围内(本实施例中,指定的色差阈值范围设置为15),若是,则判定该像素点为符合差值标准的像素点,否则,判定为不符合差值标准的像素点,转入步骤S502;

步骤S502:待所有像素点均判断完成后,计算出所有像素点中符合差值标准的像素点的比例;判断计算出的比例是否超过指定的比例阈值(本实施例中,指定的比例阈值设为70%),若是,则判定所述礼物投放位置的空间坐标的点没有被遮挡;否则,判定所述礼物投放位置的空间坐标的点被遮挡。

步骤S6:主播端从接收到的数据中获取到所述AR礼物ID和所述礼物缩放比例;根据所述礼物投放位置的空间坐标,在直播画面的相应位置处显示与所述AR礼物ID相对应的AR礼物,并按照所述礼物缩放比例进行等比缩放显示,结束。

可以理解的是,实际操作时,主播端在显示AR礼物之后,主播还可以在主播端的屏幕上点击该AR礼物,使得该AR礼物被打开,而打开后的AR礼物将消失。另外可以理解的是,在主播端显示AR礼物的时候,到主播打开AR礼物后,所有用户端的观众是可以看到该AR礼物的全过程的;当主播端的主播遮挡AR礼物时,则观众同样也将看不到该AR礼物。

参见图3所示,本发明实施例还提供一种基于AR技术的视频直播赠送礼物的实现系统。该系统包括客户端和直播服务器,客户端分为用户端(用户所在的客户端)和主播端(主播所在的客户端)。其中,用户端包括AR礼物选择模块、AR礼物判断模块、AR礼物数据获取模块和AR礼物数据发送模块;主播端包括AR礼物数据处理模块和AR礼物显示模块。

AR礼物选择模块用于:当用户需要向主播赠送礼物时,向用户提供礼物选择界面供用户进行AR礼物的选择;并在用户选择好要赠送的AR礼物后,记录下该AR礼物的ID,向AR礼物判断模块发送判断信号。其具体流程为:当用户需要向主播赠送礼物时,AR礼物选择模块从直播服务器获取AR礼物列表,并将该AR礼物列表通过礼物选择界面向用户进行展示供用户选择;待用户选择好要赠送的AR礼物后,AR礼物选择模块记录下该AR礼物的ID。

AR礼物判断模块用于:收到判断信号后,判断用户所选择的AR礼物是否可以赠送,若是,向AR礼物数据获取模块发送获取信号;否则,结束所有操作;

AR礼物数据获取模块用于:收到获取信号后,显示主播的直播界面;在直播界面中,根据用户选择的礼物投放的位置,获取对应的礼物投放位置的空间坐标及该空间坐标周围指定范围内的像素点的颜色值,并根据用户调整的礼物大小,获取对应的礼物缩放比例,向AR礼物数据发送模块发送传输信号。本实施例中,所述AR礼物数据获取模块获取所述空间坐标周围指定范围内的像素点的颜色值时,是获取所述空间坐标周围10个点范围内的所有像素点的颜色值。另外,所述AR礼物数据获取模块根据用户选择的礼物投放的位置,获取对应的礼物投放位置的空间坐标时,如果是悬挂类AR礼物,则获取到的空间坐标是主播周围可以挂东西的地方的坐标;如果是放置类AR礼物,则获取到的空间坐标是主播周围有平台可以放置东西的地方的坐标。

所述AR礼物数据发送模块用于:收到传输信号后,将AR礼物数据获取模块获取的所有数据以及AR礼物选择模块记录的AR礼物ID通过所述直播服务器发送至主播端,并向AR礼物数据处理模块发送处理信号。

AR礼物数据处理模块用于:收到处理信号后,根据接收到的数据中礼物投放位置的空间坐标,获取当前直播画面中该空间坐标周围指定范围内的像素点的颜色值;将当前获取到的像素点的颜色值与接收到的数据中对应像素点的颜色值进行一一对比,判断礼物投放位置的空间坐标对应的点是否被遮挡,若是,不显示AR礼物并发出处理信号;若否,向AR礼物显示模块发送显示信号。具体来说,其判断流程为:将当前获取到的每一个像素点的红色值、绿色值、蓝色值分别与接收到的数据中对应像素点的红色值、绿色值、蓝色值进行一一对比,计算出三种颜色值的差值;判断三种颜色值的差值是否均在指定的色差阈值范围内,若是,则判定该像素点为符合差值标准的像素点;否则,判定为不符合差值标准的像素点;待所有像素点均判断完成后,计算出所有像素点中符合差值标准的像素点的比例;判断计算出的比例是否超过指定的比例阈值,若是,则判定所述礼物投放位置的空间坐标的点没有被遮挡;否则,判定所述礼物投放位置的空间坐标的点被遮挡。

AR礼物显示模块用于:收到显示信号后,从接收到的数据中获取到AR礼物ID和礼物缩放比例;根据礼物投放位置的空间坐标,在直播画面的相应位置处显示与AR礼物ID相对应的AR礼物,并按照礼物缩放比例进行等比缩放显示。

需要说明的是:上述实施例提供的系统在进行操作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将系统的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。

本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。

本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

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