用于结合视频呈现来修改用户界面颜色的方法和系统与流程

文档序号:15821449发布日期:2018-11-02 23:08阅读:154来源:国知局
用于结合视频呈现来修改用户界面颜色的方法和系统与流程

本公开的主题涉及用于结合视频呈现来修改用户界面颜色的方法、系统和介质。

背景技术

人们经常在诸如他们的移动电话、平板型计算机等用户设备上观看视频。这些视频通常从视频共享服务流式传输到用户设备。在一些情况下,在用户界面内呈现视频,该用户界面能够包括例如视频播放器控件(例如,暂停控件、倒回控件等)和/或关于视频的信息。然而,用户界面中不同项的颜色通常是静态的,因此在视频呈现期间可能与视频发生冲突,这就会让用户的观看体验不佳。作为更具体的示例,当正在用户界面中播放视频时,由于场景和颜色变化,用户界面的静态部分可能持续与观看体验冲突。

因此,期望提供用于结合视频呈现来修改用户界面颜色的方法、系统和介质。



技术实现要素:

本发明提供用于结合视频呈现来修改用户界面颜色的方法、系统和介质。根据本公开主题的一些实施例,提供用于结合视频呈现来修改用户界面颜色的方法,所述方法包括:在用户设备处,接收对应于视频内容项的视频数据以及对应于所述视频内容项的调色板信息,其中,所述调色板信息指示多个颜色,每个颜色对应于所述视频内容项的多个部分中的所述视频内容项的一部分,以及其中,所述多个颜色中的每个颜色指示用户界面的元素的颜色,其中所述视频内容项将在所述用户界面中被呈现在所述用户设备上;基于所述调色板信息,识别用于所述用户界面的所述元素的第一颜色,其中,所述第一颜色对应于所述视频内容项的第一部分;使得在所述用户界面内呈现所述视频内容项的所述第一部分,其中,呈现具有所述第一颜色的所述用户界面的所述元素;识别用于所述用户界面的所述元素的第二颜色,其中,所述第二颜色对应于所述视频内容项的第二部分;以及在呈现所述视频内容项的所述第二部分的同时,通过将所述元素的颜色从所述第一颜色更改成所述第二颜色,修改所述用户界面的所述元素的外观。

根据本公开主题的一些实施例,提供用于结合视频呈现来修改用户界面颜色的系统,所述系统包括:硬件处理器,该硬件处理器被编程用于:在用户设备处,接收对应于视频内容项的视频数据以及对应于所述视频内容项的调色板信息,其中,所述调色板信息指示多个颜色,每个颜色对应于所述视频内容项的多个部分中的所述视频内容项的一部分,以及其中,所述多个颜色中的每个颜色指示用户界面的元素的颜色,其中所述视频内容项将在所述用户界面中被呈现在所述用户设备上;基于所述调色板信息,识别用于所述用户界面的所述元素的第一颜色,其中,所述第一颜色对应于所述视频内容项的第一部分;使得在所述用户界面内呈现所述视频内容项的所述第一部分,其中,呈现具有所述第一颜色的所述用户界面的所述元素;识别用于所述用户界面的所述元素的第二颜色,其中,所述第二颜色对应于所述视频内容项的第二部分;以及在呈现所述视频内容项的所述第二部分的同时,通过将所述元素的颜色从所述第一颜色更改成所述第二颜色,修改所述用户界面的所述元素的外观。

根据本公开主题的一些实施例,提供一种包含计算机可执行指令的非暂时性计算机可读介质,所述指令当由处理器来执行时使得所述处理器执行用于结合视频呈现来修改用户界面颜色的方法。所述方法包括:在用户设备处,接收对应于视频内容项的视频数据以及对应于所述视频内容项的调色板信息,其中,所述调色板信息指示多个颜色,每个颜色对应于所述视频内容项的多个部分中的所述视频内容项的一部分,以及其中,所述多个颜色中的每个颜色指示用户界面的元素的颜色,其中所述视频内容项将在所述用户界面中被呈现在所述用户设备上;基于所述调色板信息,识别用于所述用户界面的所述元素的第一颜色,其中,所述第一颜色对应于所述视频内容项的第一部分;使得在所述用户界面内呈现所述视频内容项的所述第一部分,其中,呈现具有所述第一颜色的所述用户界面的所述元素;识别用于所述用户界面的所述元素的第二颜色,其中,所述第二颜色对应于所述视频内容项的第二部分;以及在呈现所述视频内容项的所述第二部分的同时,通过将所述元素的颜色从所述第一颜色更改成所述第二颜色,修改所述用户界面的所述元素的外观。

根据本公开主题的一些实施例中,提供用于结合视频呈现来修改用户界面颜色的系统,所述系统包括:用于在用户设备处接收对应于视频内容项的视频数据以及对应于所述视频内容项的调色板信息的装置,其中,所述调色板信息指示多个颜色,每个颜色对应于所述视频内容项的多个部分中的所述视频内容项的一部分,以及其中,所述多个颜色中的每个颜色指示用户界面的元素的颜色,其中所述视频内容项将在所述用户界面中被呈现在所述用户设备上;用于基于所述调色板信息来识别用于所述用户界面的所述元素的第一颜色的装置,其中,所述第一颜色对应于所述视频内容项的第一部分;用于使得在所述用户界面内呈现所述视频内容项的所述第一部分的装置,其中,呈现具有所述第一颜色的所述用户界面的所述元素;用于识别用于所述用户界面的所述元素的第二颜色的装置,其中,所述第二颜色对应于所述视频内容项的第二部分;以及用于在呈现所述视频内容项的所述第二部分的同时通过将所述元素的颜色从所述第一颜色更改成所述第二颜色来修改所述用户界面的所述元素的外观的装置。

在一些实施例中,所述元素是定位成在所述用户界面内的所述视频内容项的呈现上呈现的覆盖图形。

在一些实施例中,所述调色板信息包括指示呈现模式的混合信息,在所述呈现模式下所述覆盖图形将被结合所述视频内容项来呈现。

在一些实施例中,所述系统进一步包括:用于确定所述用户设备不具有将所述覆盖图形与所述视频内容项的所述第一部分混合的能力的装置;响应于用于确定用户设备不具有将所述覆盖图形与所述视频内容项的所述第一部分混合的能力的装置,用于对所述视频内容项的所述第一部分应用透明度值的装置。

在一些实施例中,所述系统进一步包括:用于通过使用所述混合信息将所述覆盖图形与所述视频内容项的所述第一部分混合来创建所述视频内容项的合成第一部分的装置,其中,使得呈现所述视频内容项的所述第一部分包括使得呈现所述视频内容项的所述合成第一部分。

在一些实施例中,所述调色板信息包括指示所述用户界面的所述元素的文本与所述用户界面的所述元素的背景颜色的对比度的对比度信息。

在一些实施例中,所述调色板信息包括所述用户界面被确定为处于空闲状态时的所述用户界面的所述元素的空闲颜色以及所述用户界面被确定为处于活动状态时的所述用户界面的所述元素的活动颜色。

附图说明

在结合下列附图加以考虑时,其中类似的附图识别类似的元素,参照下文对本公开主题的具体描述,能够更完整地领会本公开主题的各种目的、特征和优势。

图1示出根据本公开主题的一些实施例的用于针对视频的帧生成调色板的过程的示例。

图2a和图2b示出根据本公开主题的一些实施例的用于针对视频的多个帧生成调色板的示意图的说明性示例。

图3示出根据本公开主题的一些实施例的适于实施本文所述的用于针对视频生成调色板的机制的说明性系统的示意图。

图4示出本公开主题的根据一些实施例的能够在图3的服务器和/或用户设备中使用的硬件的详细示例。

图5示出根据本公开主题的一些实施例的用于基于所确定的调色板来呈现视频内容项的用户界面的示例。

图6示出根据本公开主题的一些实施例的用于基于与视频内容项相关联的调色板来修改用户界面的外观的过程的示例。

图7示出根据本公开主题的一些实施例的用于呈现具有基于调色板信息来更新的外观的视频内容项的用户界面的示例。

具体实施方式

根据各种实施例,提供用于结合视频呈现来修改用户界面颜色的机制(其能够包括方法、系统和介质)。

在一些实施例中,本文所述的机制能够识别描述视频的帧中出现的内容的一个或多个颜色的内容颜色数据。例如,在一些实施例中,内容颜色数据能够指示帧的主要颜色或者该帧期间在视频的内容内出现最频繁的颜色。在一些实施例中,所述机制能够再基于所识别的内容颜色数据来生成调色板。例如,在一些实施例中,调色板能够指示其中将视频呈现在用户设备上的用户界面的各个部分的颜色,诸如指示关于视频的信息的区块、视频播放器控件的颜色、在视频内容项的呈现上叠加的图形覆盖的颜色和/或用户界面的任何其他合适部分。在一些实施例中,本文所述的机制能够针对视频的多个帧(例如,在整个视频中间隔一秒的帧和/或任何其他合适帧)重复内容颜色数据识别和调色板生成。所述机制能够再将关于帧的调色板信息发送到请求呈现视频的用户设备,由此允许用户设备在呈现视频期间使用调色板信息来动态地更改呈现视频的一个或多个用户界面元素的调色方案。

在一些实施例中,所述机制能够使用任何合适技术或技术组合来确定内容颜色数据。例如,在一些实施例中,所述机制能够基于每个像素的颜色来聚类帧内的像素,并且能够识别具有最多像素的集群(cluster)。在另一示例中,在一些实施例中,所述机制能够通过分组或连接特定颜色范围内的像素来聚类帧的特定区域内的像素,并且能够识别具有多于特定阈值像素数量的像素数量的一个或多个颜色范围。然后,所述机制能够确定帧的主要颜色或主导颜色是在具有最多像素的集群内的像素的平均颜色或其他合适组合、或者在像素数量多于阈值像素数量的一个或多个集群内的像素的平均颜色或其他合适组合。

在一些实施例中,本文所述的机制能够基于描述视频内容项中正呈现的内容的颜色的调色板信息来修改其中呈现视频内容项的用户设备上的用户界面和/或用户界面元素。例如,在一些实施例中,确定对应于视频内容项的不同帧的调色板的服务器能够响应于用户设备对呈现视频内容项的请求将调色板信息发送到用户设备。在一些实施例中,用户设备能够然后在呈现视频内容项期间使用调色板信息来修改用户界面的属性。例如,在一些实施例中,用户设备能够基于第一调色板信息(例如,第一值集合和/或任何其他合适信息)来设置视频内容项的第一部分(例如,视频的第一秒和/或任何其他合适的第一部分)的初始用户界面参数(例如,视频播放器控件的颜色、呈现关于视频的信息的用户界面的区块的颜色、在视频内容项的呈现上叠加的覆盖层的颜色和/或任何其他合适参数)。然后,用户设备能够基于对应于视频内容项的第二部分的第二调色板信息(例如,第二值集合和/或任何其他合适信息)来修改用户界面参数,同时继续在视频用户界面内呈现视频内容项。

在一些实施例中,本文所述的机制能够加速呈现视频内容项的用户设备的处理单元的处理。例如,在一些实施例中,能够通过将使用调色板信息的用户界面元素与视频内容项相混合来加速用户设备的图形处理单元(gpu)的处理。此外,通过以诸如其中每个颜色值对应于视频内容项的不同区块颜色值阵列的计算机可读格式来发送调色板信息,能够在相对于将视频内容项传输到用户设备所需的带宽而言无需过多额外的带宽的情况下发送调色板信息。另外,通过将调色板信息作为颜色值的阵列发送,接收调色板信息的各个用户设备能够在修改用户界面元素的颜色的过程中以任何合适方式修改调色板信息。例如,在一些实施例中,从具有对应调色板信息的服务器接收视频内容项的个别用户设备能够修改与特定用户界面元素的颜色相关联的透明度值和/或以任何其他合适方式修改颜色值。在另一示例中,在一些实施例中,执行第一媒体播放应用来呈现视频内容项的用户设备能够以与执行第二媒体播放应用来呈现视频内容项的相同用户设备不同的方式应用调色板信息。在又一示例中,在一些实施例中,用户设备能够以与执行相同媒体播放应用来呈现用于呈现视频内容项的用户界面的不同用户设备不同的方式在媒体播放应用所呈现的用户界面上应用调色板信息(例如,基于设备能力、基于设备偏好等)。

转至图1,根据本公开主题的一些实施例,示出针对视频的帧的调色板提取的过程的示例100。在一些实施例中,如图3所示和结合图3所描述的,过程100的框能够在一个或多个服务器上来实现。

在一些实施例中,过程100能够通过识别供分析的视频的帧开始于102。在一些实施例中,该帧能够以任何合适方式来选择。例如,在一些实施例中,该帧能够是视频的第一帧。作为另一示例,在一些实施例中,过程100能够在视频中循环并且识别每第n帧(例如,每第十帧、每第二十帧和/或任何其他合适帧)以供分析。作为更具体的示例,在一些实施例中,过程100能够识别表示视频的任何合适持续时间(例如,一秒、两秒和/或任何其他合适持续时间)的一个帧。作为具体的示例,如果视频的帧速率是每秒10帧,并且过程100识别表示视频的一秒的一个帧,则过程100能够识别每第十帧以供分析。作为又一更具体的示例,在一些实施例中,过程100能够基于任何合适判据诸如帧中出现的特定对象、满足的特定颜色阈值(例如,使得不提交包括黑色空间的初始帧以供分析)等来识别特定帧以供分析。

在104,在一些实施例中,过程100能够基于像素的颜色来聚类所识别的帧的像素。在一些实施例中,过程100能够将像素聚类成任何合适数量的像素(例如,两个、五个、十个和/或任何其他合适数量)。应当指出,在一些实施例中,集群的数量能够基于任何合适信息(例如,视频内容项的流派、视频内容项的分辨率和/或任何其他合适信息)而变化。在一些实施例中,过程100能够使用任何合适技术或技术组合来聚类所识别的帧的像素。例如,在一些实施例中,过程100能够使用对应于每个集群的一组阈值来聚类像素。作为更具体的示例,在一些实施例中,过程100能够将像素的颜色值(例如,每个像素的色相、饱和度和明度或hsv参数和/或任何其他合适值)与对应于不同集群的预定阈值进行比较,以将像素分配给特定集群。作为具体示例,过程100能够确定色相参数在26度至52度之间、饱和度参数在0.3至0.6之间、明度参数在0.3至0.6之间的像素要被分配给第一集群。作为另一示例,在一些实施例中,过程100能够使用任何合适统计分类或机器学习技术来聚类像素(例如,k最近邻算法和/或任何其他合适聚类算法)。

在106,在一些实施例中,在获得多个像素集群后,过程100能够计算具有分配给集群的最多像素的前n个集群中的每个集群的平均颜色。例如,在过程100在框104将像素聚类成十个集群的情况下,n能够是小于十的任何合适数量(例如,三、五和/或任何其他合适数量)。在一些实施例中,过程100能够基于分配给每个集群的像素数量来排名来自框104的集群,并且能够计算n个排名最前的集群中的每个集群的平均颜色。在一些实施例中,过程100能够使用任何合适技术或技术组合来计算平均颜色。例如,在一些实施例中,过程100能够对颜色指示标度(例如,红、绿、蓝或rgb值、hsv值和/或任何其他合适颜色指示标度)的各个分量求平均。作为更具体的示例,在使用rgb值指示颜色的情况下,过程100能够通过对集群中所有像素的所有r值、集群中所有像素的所有g值和集群中所有像素的所有b值求平均,并且作为由平均r、g和b值得出的颜色计算平均颜色,来计算平均颜色。在一些实施例中,过程100能够丢弃已确定为有可能是异常值的一个或多个像素,例如,一组非黑色像素中间的黑色像素、类似于特定颜色的像素(例如,类似和/或接近于白色、类似和/或接近于黑色、类似和/或接近于特定黄色调和/或任何其他合适颜色或色调)和/或任何其他合适像素。例如,在过程100丢弃白色或类似于白色的像素并且以rgb格式存储颜色信息的情况下,过程100能够丢弃颜色信息处于(255,255,255)的预定范围内的任何像素,诸如红色、绿色和蓝色像素高于预定阈值(例如,高于250、高于220和/或任何其他合适阈值)的像素。

在一些实施例中,在108,过程100能够选择平均颜色与先前分析的帧的内容颜色数据最相似的前n个集群中的一个集群。例如,在一些实施例中,过程100能够选择平均颜色与对应于视频的前一秒的帧的主要颜色或主导颜色最相似的集群。作为另一示例,在一些实施例中,过程100能够选择平均颜色与先前由过程100分析的帧的主要颜色或主导颜色最相似的集群。在一些实施例中,过程100能够使用任何合适技术或技术组合来确定集群的平均颜色与前一帧的内容颜色数据的相似性。例如,在一些实施例中,过程100能够计算前n个集群中的每个集群的平均颜色与前一帧的主要颜色的距离度量(例如欧几里德距离和/或任何其他合适距离度量)并且能够选择具有最低距离度量的集群。

应当指出,在一些实施例中,过程100能够使用任何合适技术或技术组合来选择第一帧的主要颜色或主导颜色。例如,在一些实施例中,过程100能够使用上文结合框104所述的聚类技术将第一帧划分成任何合适数量的集群,并且能够使用上文结合框106所述的技术来确定这些集群中的每个集群的平均颜色。在一些实施例中,过程100能够基于集群的平均颜色来选择第一帧的主要颜色或主导颜色。例如,在一些实施例中,过程100能够将主要颜色或主导颜色选择成最大集群的平均颜色。作为另一示例,在一些实施例中,过程100能够将主要颜色或主导颜色选择成第一帧的特定空间区域内的集群的平均颜色。作为更具体的示例,在一些实施例中,过程100能够将主要颜色或主导颜色选择成跨第一帧的至少中央部分的集群的平均颜色。

在110,在一些实施例中,过程100能够确定是否将选择确定为与先前分析的帧的内容颜色数据最相似的所选择的平均颜色作为当前正分析的帧的内容颜色数据。例如,在一些实施例中,过程100能够确定是否将选择所选择的平均颜色作为当前正分析的帧的主要颜色或主导颜色。过程100能够基于任何合适信息来确定是否选择该平均颜色。例如,在一些实施例中,如果平均颜色类似于特定颜色和/或颜色的色调(例如,特定黄色调、特定橙色调和/或任何其他合适特定颜色或色调),则过程100能够确定不选择该平均颜色作为当前帧的内容颜色数据。在一些实施例中,过程100能够确定将默认选择平均颜色作为当前帧的内容颜色数据。应当指出,在一些实施例中,过程100能够在将平均颜色设置为当前帧的内容颜色数据之前对平均颜色进行任何合适修改。例如,在一些实施例中,过程100能够调整平均颜色的饱和度和/或亮度水平。作为更具体的示例,在平均颜色是黄色和/或类似于黄色的情况下,过程100能够将与平均颜色相关联的饱和度值和/或亮度值调整成低于预定阈值(例如,低于65、低于80和/或任何其他合适值)。在一些实施例中,基于任何合适信息,过程100能够优先选择特定颜色作为内容颜色数据。例如,在一些实施例中,基于与提供视频内容项的服务相关联的实体,过程100能够确定所选择的内容颜色数据是特定颜色(例如,红色、蓝色、绿色和/或任何其他合适颜色)的色调。作为更具体的示例,如果第一视频共享服务或社交网络服务正提供视频内容项,则过程100能够确定所选择的内容颜色数据是红色调,并且如果第二视频共享服务或社交网络服务正提供视频内容项,则该过程能够确定所选择的内容颜色数据是蓝色调。

应当指出,在一些实施例中,过程100能够一次处理视频的多个帧。例如,在一些实施例中,过程100能够生成表示跨视频的任何合适持续时间的视频的多个帧的拼接,如图2a的拼接200所示。例如,在一些实施例中,拼接200能够具有任何合适数量的帧(例如,4个、9个、25个和/或任何其他合适数量),其中每个帧表示视频的任何合适部分。作为更具体的示例,在一些实施例中,每个帧能够在视频中间隔一秒,因此例如具有25个帧的拼接能够表示25秒的视频。在一些实施例中,过程100能够再使用上文结合框104至110所述的技术来识别拼接100中的每个帧的内容颜色数据(例如,帧的主要颜色和/或主导颜色和/或任何其他合适内容颜色数据)。然后,过程100能够生成指示拼接100中的每个帧的内容颜色数据的颜色拼接250。因此,在一个拼接中,颜色拼接250能够指示视频的多个帧的内容颜色数据。

应当指出,图2a的拼接200仅为说明性并且能够以任何合适方式来呈现。例如,每个分析的帧能够以拼接配置来呈现,并且在每个呈现的帧内,所确定的颜色内容数据能够被同时呈现在帧的一部分中(例如,在帧一角中包含所确定的颜色内容数据的区域)。在另一示例中,能够将每个分析的帧与呈现的拼接中的所确定的颜色内容数据混合或以其他方式组合。

在框110,如果过程100确定不选择该平均颜色作为当前帧的内容颜色数据(在110为“否”),则过程100能够循环回108并且选择不同集群的平均颜色。例如,过程100能够确定使用具有下一个最高像素数量的集群来确定颜色内容数据。

在框110,如果过程100确定将选择该平均颜色作为当前帧的内容颜色数据(在110为“是”),则过程100能够继续至框112并且能够基于内容颜色数据来确定当前帧的调色板。在一些实施例中,调色板能够指定其中正呈现视频内容项的用户界面的任何合适部分的颜色。例如,如图5的用户界面500所示,调色板能够指定其中正呈现视频502的用户界面500的不同区块504的颜色。作为更具体的示例,区块504内的各个区块能够各自指示不同类型的信息,诸如关于视频的信息(例如,创建者的姓名、视频的观看次数和/或任何其他合适信息)、来自视频观看者的评论、确定为与视频相似的推荐视频和/或任何其他合适信息。在一些实施例中,区块504的每个区块能够基于在框110选择的内容颜色数据以文本和背景颜色来呈现。此外,在一些实施例中,调色板能够指示任何合适用户界面导航组件的颜色,如导航面板506中所示,诸如视频播放器控件(例如,暂停控件、倒回控件、视频帧导航控件和/或任何其他合适控件)。在一些实施例中,调色板能够基于用户界面的状态将颜色分配给特定的用户界面元素。例如,如用户界面500所示,用户界面被确定为处于活动状态时(例如,光标悬停在用户界面500内的特定位置时、用户界面500的特定部分活动时和/或基于任何其他合适确定)的用户界面控件的颜色能够不同于用户界面被确定为处于空闲状态时的用户界面控件的颜色。

在一些实施例中,如示意图550所示,过程100能够确定任何合适格式的调色板的颜色。例如,在一些实施例中,过程100能够识别内容类型552中的每种类型的内容的颜色。在一些实施例中,调色板中的颜色能够呈任何合适格式,例如图5所示的十六进制值和/或以任何其他合适格式(例如,hsv值、rgb值和/或任何其他合适格式)。另外,如图5所示,调色板信息能够包括任何其他合适信息,诸如不同类型的内容之间的对比度。例如,如图5所示,调色板信息能够指示处于空闲状态的用户界面图标与用户界面500的特定部分中的文本的对比度。

应当指出,在一些实施例中,过程100能够基于内容颜色数据来确定例如对应于不同基调的多个调色板。例如,在一些实施例中,过程100能够确定对应于深色基调的第一调色板、对应于浅色基调的第二调色板以及对应于艳色基调的第三调色板。作为更具体的示例,在一些实施例中,对应于深色基调的第一调色板能够包含通常比浅色基调和艳色基调中的对应颜色更深的背景颜色。在一些实施例中,能够生成第一调色板(例如,对应于深色基调),并且能够基于第一调色板来生成对应于其他基调(例如,浅色、艳色和/或任何其他合适基调)的其他调色板,例如,通过针对每个基调将颜色值降低预定百分比(例如,5%、10%和/或任何其他合适百分比)。在一些实施例中,第一调色板、第二调色板和第三调色板中的每个调色板能够基于每个调色板的背景文本颜色和文本颜色而具有不同的对比度。例如,在一些实施例中,能够设置对比度,使得文本在特定颜色的背景上叠加出现时通常可读(例如,符合任何合适可访问性标准,和/或符合任何其他合适标准)。

在一些实施例中,过程100能够在视频中循环并且针对视频内容项确定多个帧或多组帧的调色板信息(例如,使用上文结合图2所述的拼接)。例如,在过程100分析视频的每十个帧的情况下,过程100能够处理帧序列中的后续帧。在一些实施例中,过程100能够以阵列存储视频的每个帧或部分的调色板信息,并且能够以任何合适格式(诸如数组阵列)存储聚合的调色板信息。

在框114,过程100能够将调色板转换成任何合适格式。例如,在一些实施例中,过程500能够将十六进制格式的各个调色板值(例如,特定区块的背景的颜色、处于活动状态的导航控件的颜色和/或任何其他合适调色板值)转换成rgb格式的等效值。在一些实施例中,过程100能够使用任何合适方程式和/或变换算法将调色板值转换成合适格式。在一些实施例中,过程100能够基于将向其发送调色板值的用户设备的类型来选择格式类型。附加地或替选地,在一些实施例中,过程100能够将调色板值转换成适于多种设备类型的多种格式。在一些实施例中,过程100能够指示每个帧的调色板中的任何其他合适信息,诸如与调色板中的每个项相关联的不透明度/透明度。在一些实施例中,不透明度/透明度值能够具有默认值(例如,指示完全不透明元素的1和/或任何其他合适值),并且当根据调色板渲染视频内容项时,能够由用户设备来修改该值。

应当指出,在一些实施例中,过程100能够基于要接收调色板信息的用户设备的平台将调色板转换成特定格式。例如,在一些实施例中,过程100能够将调色板转换成用于是桌面型计算机的用户设备的第一格式、用于是移动设备的用户设备的第二格式以及用于是智能电视的用户设备的第三格式。

在一些实施例中,在116,过程100能够将调色板发送到用户设备。在一些实施例中,用户设备能够是任何合适用户设备,诸如从托管视频的服务器请求视频内容项的用户设备。在一些实施例中,过程100能够发送多个调色板,其中每个调色板对应于视频的帧的子集(例如,视频的一帧、视频的一秒和/或任何其他合适子集)。此外,在一些实施例中,能够将多个调色板发送到用户设备,每个调色板对应于不同的基调(例如,深色、浅色、艳色和/或任何其他合适基调)。

在一些实施例中,在呈现视频期间,用户设备能够再使用所接收的调色板来动态地修改其中正呈现视频的用户界面。例如,在一些实施例中,在呈现视频的该子集期间,能够将视频播放器控件的颜色修改成对应于视频的特定子集的平均颜色。作为另一示例,在一些实施例中,在呈现视频的子集期间,能够将用户界面的多个区块的颜色修改成对应于视频的特定子集的平均颜色。

转至图3,根据本公开主题的一些实施例,示出适于实施本文所述的用于视频的调色板提取的机制的说明性系统300的示例。如图所示,硬件300能够包括诸如服务器302的一个或多个服务器、通信网络304和/或一个或多个用户设备306,诸如用户设备308和310。

在一些实施例中,服务器302能够是用于识别视频的不同帧的调色板的任何合适服务器。例如,在一些实施例中,如上结合图1所示和描述,服务器302能够识别内容颜色数据,诸如视频的特定帧的主要颜色或主导颜色,并且能够基于内容颜色数据来识别呈现视频时在不同用户界面场境(context)中能够使用的颜色的调色板。应当指出,在一些实施例中,能够在第一服务器(例如,图像服务器)上计算帧的内容颜色数据,并且能够在第二服务器(例如,托管和/或发送视频到用户设备306的服务器)上确定调色板。在一些实施例中,服务器302能够以任何合适方式识别内容颜色数据,例如,如上结合图3所述,通过基于颜色聚类帧的像素并且识别每个像素的平均颜色。

在一些实施例中,通信网络304能够是一个或多个有线和/或无线网络的任何合适组合。例如,通信网络306能够包括因特网、内联网、广域网(wan)、局域网(lan)、无线网络、数字订户线路(dsl)网络、帧中继网络、异步传输模式(atm)网络、虚拟专用网络(vpn)中的任何一个或多个和/或任何其他合适通信网络。用户设备306能够通过一个或多个通信链路312连接到通信网络304,其能够经由一个或多个通信链路(例如,通信链路314)链接到服务器302。通信链路312和/或314能够是适于在用户设备306和服务器302之间通信数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其他合适通信链路或者这些链路的任何合适组合。

在一些实施例中,用户设备306能够包括适于呈现视频内容项、从服务器302接收调色板信息、根据所接收的调色板信息呈现用户界面控件和/或任何其他合适功能的一个或多个计算设备。例如,在一些实施例中,用户设备306能够被实现为移动设备,诸如智能电话、移动电话、平板型计算机、膝上型计算机、交通工具(例如,汽车、船舶、飞机或任何其他合适交通工具)娱乐系统、便携式媒体播放器或者任何其他合适移动设备。作为另一示例,在一些实施例中,用户设备306能够被实现为非移动设备,诸如桌面型计算机、机顶盒、电视机、流媒体播放器、游戏机和/或任何其他合适非移动设备。

虽然服务器302被图示为单个设备,但在一些实施例中,能够使用任何合适数量的设备来执行由服务器302执行的功能。例如,在一些实施例中,能够在单个服务器上执行由服务器302执行的功能。作为另一示例,在一些实施例中,能够使用多个设备来实现由服务器302执行的功能。

尽管在图3中示出两个用户设备308和310,但在一些实施例中,能够使用任何合适数量的用户设备以及任何合适类型的用户设备。

在一些实施例中,服务器302和用户设备306能够使用任何合适硬件来实现。例如,在一些实施例中,设备302和306能够使用任何合适通用计算机或专用计算机来实现。例如,服务器可以使用专用计算机来实现。任何这样的通用计算机或专用计算机能够包括任何合适硬件。例如,如图4的示例性硬件400中所示,这样的硬件能够包括硬件处理器402、存储器和/或存储装置404、输入设备控制器406、输入设备408、显示/音频驱动器410、显示和音频输出电路412、消息接口414、天线416和总线418。

在一些实施例中,硬件处理器402能够包括任何合适硬件处理器,诸如微处理器、微控制器、数字信号处理器、专有逻辑和/或用于控制通用计算机或专用计算机的功能的任何其他合适电路。在一些实施例中,硬件处理器402能够由存储在服务器(例如,服务器302)的存储器和/或存储装置404中的服务器程序来控制。例如,服务器程序能够促使硬件处理器402分析视频的帧来确定每个帧的主要颜色、基于帧的主要颜色来确定每个帧的调色板、结合视频传输将调色板信息发送到用户设备、和/或执行任何其他合适动作。在一些实施例中,硬件处理器402能够由存储在用户设备306的存储器和/或存储装置404中的计算机程序来控制。例如,计算机程序能够促使硬件处理器402呈现视频内容项、根据所接收的调色板信息结合所接收的视频内容项来呈现用户界面控件、和/或执行任何其他合适动作。

在一些实施例中,存储器和/或存储装置404能够是用于存储程序、数据、媒体内容、广告和/或任何其他合适信息的任何合适存储器和/或存储装置。例如,存储器和/或存储装置404能够包括随机存取存储器、只读存储器、快闪存储器、硬盘存储、光学介质和/或任何其他合适存储器。

在一些实施例中,输入设备控制器406能够是用于控制和接收来自一个或多个输入设备408的输入的任何合适电路系统。例如,输入设备控制器406能够是用于接收来自触摸屏、键盘、鼠标、一个或多个按钮、语音识别电路、麦克风、相机、光学传感器、加速度计、温度传感器、近场传感器和/或任何其他类型的输入设备的输入的电路系统。作为另一示例,输入设备控制器406能够是用于接收来自头戴式设备的输入(例如,用于呈现虚拟现实内容或增强现实内容)的电路系统。

在一些实施例中,显示/音频驱动器410能够是用于控制和驱动输出到一个或多个显示/音频输出设备412的任何合适电路。例如,显示/音频驱动器410能够是用于驱动触摸屏、平板显示器、阴极射线管显示器、投影仪、一个或多个扬声器和/或任何其他合适显示和/或呈现设备的电路。

通信接口414能够是用于与诸如图3所示的网络304的一个或多个通信网络进行交互的任何合适电路。例如,接口414能够包括网络接口卡电路、无线通信电路和/或任何其他合适类型的通信网络电路。

在一些实施例中,天线416能够是用于与通信网络(例如,通信网络304)无线通信的任何合适一个或多个天线。在一些实施例中,能够省略天线416。

在一些实施例中,总线418能够是用于在两个或更多个组件402、404、406、410与414之间进行通信的任何合适机制。

根据一些实施例,任何其他合适组件能够被包括在硬件400内。

转至图6,根据本公开主题的一些实施例,示出用于在呈现视频内容项的同时修改用户界面的外观的过程的说明性示例600。在一些实施例中,能够在用户设备上实现过程600的框,用户设备诸如发送从托管和/或流式传输视频内容项的服务器对视频内容项的请求的用户设备,如上文结合图3所示和描述。

在一些实施例中,通过在用户设备处接收视频内容项和对应于视频的调色板信息,过程600能够开始于602。在一些实施例中,用户设备能够响应于对视频内容项的请求而接收视频内容项和调色板信息。例如,在一些实施例中,用户设备能够响应于从用户设备的用户接收对用于在用户设备上呈现的视频内容项的标识符的选择而发送对视频内容项的请求。在一些实施例中,调色板信息能够以任何合适格式来接收。例如,在一些实施例中,调色板信息能够作为数组阵列或矩阵来接收,其中第一维度对应于视频内容项的特定帧,并且第二维度对应于该特定帧的调色板信息。作为更具体的示例,在一些实施例中,第二维度能够包括其中呈现视频内容项的用户界面的不同部分的任何合适格式(例如,rgb值、hsv值、十六进制值和/或任何其他合适值)的颜色信息。此外,在一些实施例中,调色板信息能够包括多个调色板,每个调色板对应于不同的基调(例如,深色基调、浅色基调、艳色基调和/或任何其他合适基调)。

在一些实施例中,在604,过程600能够基于调色板信息来识别用户界面的初始外观参数。例如,如上所述,初始外观参数能够包括用户界面的不同区块或组件的颜色。作为更具体的示例,这些参数能够包括用户界面的视频播放器控件当处于活动状态时(例如,视频播放器被轻击、点击或以其他方式选择时)的第一颜色以及用户界面的视频播放器控件当处于空闲状态时(例如,在超过预定持续时间内尚未选择视频播放器时)的第二颜色。作为另一更具体的示例,在一些实施例中,这些参数能够包括用户界面的不同区块的颜色,例如,提供关于视频内容项的信息的用户界面的第一区块的第一颜色以及向用户界面的用户提供其他视频的推荐的用户界面的第二区块的第二颜色等。作为又一更具体的示例,在一些实施例中,这些参数能够包括呈现视频内容项期间在视频内容项上呈现的图形覆盖(例如,指示观看由视频内容项的创建者创建的其他视频内容项的可选输入的图形、指示与视频内容项相关联的视频频道或视频组的图形和/或任何其他合适图形覆盖)的颜色的视频内容项。在将调色板信息作为数组阵列或矩阵发送到用户设备的情况下,在一些实施例中,过程600能够基于数组阵列的第一维度相关联的信息来识别对应于视频内容项的特定帧或部分的调色板信息。

图7示出用于呈现视频内容项的用户界面的示例700。如图所示,能够在用户界面700内呈现视频内容项702,并且区块704能够每个呈现与视频702相关的不同信息(例如,关于视频内容项702的信息、与视频内容项702相似或相关的视频内容项的指示、在视频内容项702完成之后播放的视频内容项的指示、在社交网站上共享视频内容项702的可选择输入、和/或任何其他合适信息)。此外,用户界面700能够包括诸如倒回和快进控件的视频播放器窗口控件706以及指示余留或已经呈现的视频内容项的持续时间的导航信息。在一些实施例中,能够呈现在视频内容项702上叠加的覆盖708。例如,在一些实施例中,覆盖708能够指示与视频内容项702的创建者相关的信息(例如,创建者的其他视频的指示、与创建者相关联的视频内容项的频道的指示和/或任何其他合适信息)、字幕和/或任何其他合适信息。在一些实施例中,覆盖708能够包括任何合适内容,诸如文本、图形、图标、动画、链接和/或任何其他合适内容。此外,在一些实施例中,覆盖708能够是可选择的,并且对覆盖708的选择能够例如使得呈现用户界面700的浏览器窗口导航到不同的页面。在一些实施例中,覆盖708能够以任何合适方式覆盖在视频内容项702上。例如,在一些实施例中,覆盖708能够与下层的视频内容项702混合,如下文结合框606所述。

应当指出,在一些实施例中,调色板信息能够附加地包括任何其他合适信息,诸如指示特定区块的文本与该区块的背景颜色的对比度的对比度信息、特定区块中呈现的文本的字体大小或样式信息、和/或任何其他合适信息。此外,在一些实施例中,能够选择信息以符合任何合适指南(例如,可访问性指南、样式指南、和/或任何其他合适指南)。例如,在一些实施例中,能够基于可访问性指南来选择超过预定阈值的对比度。

在一些实施例中,在606,过程600能够开始在用户设备上的用户界面内呈现视频内容项的第一部分。在一些实施例中,视频内容项的第一部分能够跨越任何合适持续时间(例如,半秒、一秒、二秒和/或任何其他合适持续时间),并且能够由任何合适帧数(例如,十帧、二十帧、三十帧和/或任何其他合适数量)组成。过程600能够以任何合适方式呈现视频内容项的第一部分。例如,在一些实施例中,过程600能够使得视频播放器窗口在用户界面内打开,并且能够使得视频内容项开始在视频播放器窗口内呈现。作为更具体的示例,在一些实施例中,过程600能够使得视频播放器控件的颜色成为由调色板信息指定的那些颜色。应当指出,在调色板信息包括各自对应于不同基调的多个调色板的情况下,过程600能够基于任何合适信息来选择基调。例如,在一些实施例中,过程600能够基于用户偏好(例如,经由设置界面录入的、和/或以任何其他合适方式获得的)来选择基调。作为另一示例,在一些实施例中,过程600能够基于任何其他合适信息来选择基调,诸如一天里的时间,其中在一天里的特定时段期间(例如,上午8点至晚上10点和/或任何其他合适时段)选择使用特定基调(例如,艳色基调),并且针对一天里的其他时段选择不同的基调(例如,深色基调)。

在一些实施例中,过程600能够使用任何合适技术或技术组合来渲染覆盖在视频内容项的呈现上的用户界面组件。例如,在一些实施例中,过程600能够使用任何合适混合模式来渲染覆盖在视频内容项上的用户界面组件。作为更具体的示例,在一些实施例中,过程600能够使用以任何合适方式将来自用户界面覆盖层的像素与来自视频内容项的底层帧的像素混合的混合模式(例如,溶解混合模式、乘法混合模式、和/或任何其他合适类型的混合模式或混合模式的组合)。作为另一更具体的示例,在一些实施例中,过程600能够使用任何合适功能将来自覆盖层的像素与来自视频内容项的底层帧的对应像素混合。作为具体示例,过程600能够随机地选择来自覆盖层的像素或者来自视频内容项的底层帧的对应像素。作为另一具体示例,在一些实施例中,过程600能够将覆盖层与视频内容项的底层帧的对应像素的值(例如,rgb值、hsv值、不透明度值和/或任何其他合适值)相乘。应当指出,在一些实施例中,能够使用任何合适数学函数来混合像素值。此外,应当指出,在用户设备使用混合模式在视频内容项的帧上渲染覆盖层的情况下,用户设备能够以任何合适方式确定视频内容项的帧的内容。例如,在一些实施例中,用户设备能够从来自服务器发送的视频内容项的帧中访问颜色信息。

作为另一示例,在一些实施例中,过程600能够通过操纵与用户界面组件相关联的不透明度或透明度值而将用户界面组件与视频内容项的底层帧混合。在一些实施例中,过程600能够基于正呈现视频内容项的用户设备的能力来选择混合模式。例如,在一些实施例中,过程600能够基于任何合适信息诸如用户设备的型号、在要用于渲染视频内容项的移动设备上执行的特定应用的版本、在移动设备上执行的操作系统的版本、和/或任何其他合适信息,确定用户设备不具有实现混合模式的能力。作为更具体的示例,在过程600在不支持除操纵不透明度或透明度以外的混合模式的特定型号的用户设备(例如,特定品牌或型号的移动电话、特定品牌或型号的平板型计算机和/或任何其他合适型号的用户设备)上操作的情况下,过程600能够确定将通过操纵用户界面组件层的不透明度或透明度值使用户界面组件层与底层的视频内容项层混合。作为具体示例,在一些实施例中,过程600能够过将与层关联的α值设置成更透明或更不透明来操纵用户界面组件层的不透明度或透明度。在一些实施例中,过程600能够基于任何其他合适信息,诸如用户设备的操作系统、用于呈现其中呈现视频内容项的用户界面的浏览器、用于呈现其中呈现视频内容项的用户界面的应用的版本、和/或任何其他合适信息,来选择混合模式。

在一些实施例中,在608,过程600能够基于调色板信息来识别用户界面的更新的外观参数。过程600能够使用任何合适技术或技术组合来识别更新的外观参数。例如,在一些实施例中,过程600能够通过从阵列或矩阵的下一个索引中检索信息,从数组阵列或矩阵中检索对应于视频内容项的第二部分的调色板信息。

在610,过程600能够基于在框608识别的更新的外观参数来更新用户界面的外观,同时继续呈现视频内容项。例如,在一些实施例中,过程600能够更改用户界面组件或区块的颜色,更改用户界面组件或区块的对比度,和/或以任何其他合适方式修改用户界面的外观,同时继续呈现视频内容项。在一些实施例中,过程600能够通过呈现对应于框608识别的更新的参数的视频内容项的第二部分而继续呈现视频内容项。

在一些实施例中,上述图1和图6的过程框中的至少一些能够以任意顺序或次序来执行,而不限于结合附图所显示和描述的顺序和次序。此外,上述图1和图6的框中的一些在适当情况下能够大体上同时或并行执行,以减少延迟和处理时间。附加地或替选地,能够省略上述图1和图6的过程框中的一些。

在一些实施例中,任何合适计算机可读介质能够被使用于存储用来执行本文所述的功能和/或过程的指令。例如,在一些实施例中,计算机可读介质能够是暂时性或者非暂时性的。例如,非暂时性计算机可读介质能够包括介质,诸如磁性介质(诸如硬盘、软盘和/或任何其他合适磁性介质)、光学介质(诸如光盘、数字视频光盘、蓝光光盘和/或任何其他合适光学介质)、半导体介质(诸如快闪存储器、电可编程序只读存储器(eprom)、电可檫可编程存储器(eeprom)和/或任何其他合适半导体介质)、在传输期间没有转瞬即逝或者不乏任何持久性表相的任何合适介质和/或任何合适有形介质。作为另一示例,暂时性计算机可读介质能够包括网络、电线、导体、光纤、电路中的信号、在传输期间转瞬即逝或者缺乏任何持久性表相的任何合适介质和/或任何合适无形介质。

在本文所述的系统采集关于用户的个人信息或者可以使用个人信息的情况下,用户有机会控制程序或者功能是否采集用户信息(例如关于用户的社交网络、社交行动或活动、职业、用户偏好或者用户的当前位置的信息)。此外,在存储或者使用某些数据之前,可以通过一个或多个方式对其进行处理以移除个人信息。例如,用户的身份可以被处理,使得不能针对用户确定个人信息,或者在获得位置信息的情况下用户的地理位置可以被泛化(诸如到城市、邮政编码或者州级),使得不能确定用户的特定位置。因此,用户可以控制如何采集有关用户的信息并且供内容服务器所用。

因此,本发明提供用于结合视频呈现来修改用户界面颜色的方法、系统和介质。

尽管在前述说明性实施例中已对本发明予以描述和说明,但应理解到,本公开仅以示例方式作出,并且在不脱离本发明的精神和范围的情况下,能够对本发明的实施方式的细节作出诸多更改,而本发明的范围仅受限于所附权利要求。本公开的实施例的特征能够以各种方式来合并以及重新排列。

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