用于使用距离关联性散列法对媒体数据库定址的系统和方法_4

文档序号:9422738阅读:来源:国知局
示例操作流程1000的替代性实施例。图11展示了操作流程1000可以包括至少一个附加操作的示例实施例。附加操作可以包括操作1102。
[0112]操作1002展示了使用一个或多个处理装置来至少部分地实现接收操作1002、确定操作1004、减法操作1006、变换操作1008、构建操作1010、引用操作1012、或存储操作1014中的至少一个操作。在一些实例中,可以使用一个或多个计算机处理器来至少部分地实现前述操作之一。其他处理装置可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或被配置为用于实现前述操作中的至少一个操作的结果的任何其他电路。
[0113]图12展示了图10的示例操作流程1000的替代性实施例。图12展示了示例实施例,其中操作1002可以包括至少一项附加操作。附加操作可以包括操作1202和/或操作1204。
[0114]操作1202展示了接收对一个帧或一个静止图像中的至少一项的一个或多个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,视频片段的样本可以包括视频流的单独帧。这样的帧可以是一个30fps视频帧。在不同的实施例中,视频片段的样本可以是静止图像或者可以以除了 30次每秒之外的速率成像的视频片段的一部分。
[0115]进一步,操作1204展示了接收对一个视频片段的一个样本的一个或多个指示,对一个视频片段的一个样本的该一个或多个指示与对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示相关联。例如,如在图1至图9中所示出的和/或关于其所描述的,可以从例如与正在由摄取系统监视的频道相关联的频道指南中接收与视频片段相关联的数据(其可以是节目标题和/或与视频片段相关联的其他元数据)、从其中摄取节目的频道、以及从节目开始的时间偏移。
[0116]图13展示了图10的示例操作流程1000的替代性实施例。图13展示了示例实施例,其中操作1004可以包括至少一项附加操作1302。
[0117]操作1302展示了针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个平均值。例如,如在图1至图9中所示出的和/或关于其所描述的,用于将分片中的该一个或多个像素减少至单个值的算法操作可以是例如算数平均。
[0118]图14展示了图10的示例操作流程1000的替代性实施例。图14展示了示例实施例,其中操作1006可以包括至少一项附加操作1402。
[0119]操作1402展示了从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值,之前已经针对多个频道在至少一个时间段上使用来自每个分片的数据确定了针对每个分片所建立的该中间点值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以确定中值,该中值是针对每个分片所确定的,其中,针对与在确定客户端系统上的片段的操作中相同的摄取时的分片建立中值,该中值被建立为从在长时间(一个月、一年等)内跨许多频道的相同分片进行监视来导出的常数值。
[0120]图15展示了图10的示例操作流程1000的替代性实施例。图15展示了示例实施例,其中操作1008可以包括至少一项附加操作。附加操作可以包括操作1502、操作1504和/或操作1506。
[0121]操作1502展示了形成至少包括由于该减法而产生的这些值的一个可变矩阵。例如,如在图1至图9中所示出的和/或关于其所描述的,值被安排在矩阵中,这些值由减法操作产生,其中,该减法操作从正在被摄取的即时帧的平均值中减去随着时间推移针对每个分片所建立的中值。
[0122]操作1504展示了获得在与该可变矩阵相交叉时将更均匀地分布这些经变换的值的一个静态矩阵。例如,如在图1至图9中所示出的和/或关于其所描述的,可以基于对先前所获得的关于散列值的数据集进行的数学分析来确定矩阵。可以在数学上对该矩阵进行优化,从而使得当用作与连续的可变矩阵的点积操作中的操作数时,相应的连续结果矩阵将包括多个值,这些值沿着分布曲线比在点积操作之前的可变矩阵更均匀地分布。
[0123]操作1506展示了计算该可变矩阵与该静态矩阵的一个点积,该点积至少包括这些被更均匀地分布的经变换的值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将包含由于减法操作所产生的多个值的可变矩阵与静态矩阵相交叉,该静态矩阵已经被预先确定为用于更均匀地分布由可变矩阵所表示的数据,从而使得所产生的矩阵更加分散开而不是围绕分布的具体部分聚拢。
[0124]图16展示了图10的示例操作流程1000的替代性实施例。图16展示了示例实施例,其中操作1504可以包括至少一项附加操作1602。
[0125]操作1602展示了使用位置敏感散列法至少部分地基于一个或多个先前所获得的散列值来确定在与一个可变矩阵相交叉时将更均匀地分布该可变矩阵的这些经变换的值的一个静态矩阵。例如,如在图1至图9中所示出的和/或关于其所描述的,可以使用一种位置敏感散列技术来分析先前所摄取的视频样本,产生矩阵,从而使得当用作与连续的可变矩阵的点积操作中的操作数时,相应的连续结果矩阵将包括多个值,这些值沿着分布曲线比在点积操作之前的可变矩阵更均匀地分布。
[0126]图17展示了图10的示例操作流程1000的替代性实施例。图17展示了示例实施例,其中操作1010可以包括至少一项附加操作。附加操作可以包括操作1702和/或操作1704。
[0127]操作1702展示了从这些经变换的值中构建一个散列值,包括至少通过将每个经变换的值减小至一个二进制表示来减小这些经变换的值的保真度。例如,如在图1至图9中所示出的和/或关于其所描述的,来自点积操作的结果矩阵的每个值都可以从例如从O至255的8位值(或从-127至128)减少至单个位,或者为一或者为零。
[0128]操作1702可以包括操作1704。操作1704展示了针对每个经变换的值确定该经变换的值是否是一个正数,并且如果该经变换的值是一个正数,将一赋值给该散列值,并且否则将零赋值给该散列值。例如,如在图1至图9中所示出的和/或关于其所描述的,来自点积操作的结果矩阵的在I与128之间的每个值都可以被减少至为I的位值,并且来自该点积操作的结果矩阵的在-127与O之间的每个值都可以被减少至为O的位值。
[0129]图18展示了图10的示例操作流程1000的替代性实施例。图18展示了示例实施例,其中操作1012可以包括至少一项附加操作1802。
[0130]操作1802展示了引用所构建的该散列值的多个最高有效位以确定一个数据库服务器,其中,该多个最高有效位被预先确定为定址多个数据库服务器,其中,与该多个最高有效位相关联的多个数据库服务器被建立为使得与一个数据库扇区相关联的至少一个索弓丨能够完全地驻留在一个相应的数据库服务器的存储器中。例如,如在图1至图9中所示出的和/或关于其所描述的,可以选择2位的多个最高有效位,由此,该2位可以提供四个不同的值(00、01、10和11),这些值中的每个值都可以被指派给不同的数据库扇区。散列值的该多个最高有效位可以被建立为用于提供足够多的服务器,从而使得与多个散列值相关联的内容可以完全装配于具体数据库扇区的存储器中,其可以是数据库服务器、群集伙伴、虚拟机、和/或另一种类型的数据库节点。位数不一定但是可以确切地表示在任何给定时间的数据库扇区的最大数量(即,在可以选择6位来提供对高达64个数据库扇区的定址时,系统可以与较少的服务器(例如,60个扇区)或者与最大64个扇区一起操作)。
[0131]图19展示了图10的示例操作流程1000的替代性实施例。图19展示了示例实施例,其中操作1014可以包括至少一项附加操作1902。
[0132]操作1902展示了至少将该散列值存储在所确定的该数据库扇区上,包括至少部分地基于该散列值至少将对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示存储在一个数据库位置处。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将与视频片段相关联的数据(其可以是节目标题和/或与视频片段相关联的其他元数据)、从其中摄取节目的频道、以及从节目开始的时间偏移或者与散列值一起存储或者存储于与散列值相关联的和/或可由散列值引用的位置中,该存储可以在与散列值相同或不同的扇区、服务器或数据库中。
[0133]图20展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的操作流程2000。在图20中以及在包括操作流程的各个示例的下图中,将关于图1到图9的上述示例和/或关于其他示例和上下文来提供讨论和阐释。然而,应理解,可以在许多其他环境和上下文中和/或在图1到图9的经修改版本中执行这些操作流程。而且,虽然以所说明的序列来呈现各个操作流,但应理解,可以用与所说明的顺序不同的其他顺序来执行各个操作,或者可以同时执行这些操作。
[0134]在开始操作之后,操作流程2000移动到操作2002。操作2002描绘了:接收一个提示,该提示通过与一个介质存储操作相关联的一个或多个操作来构建。例如,如在图1至图9中所示出的和/或关于其所描述的,接收与从取自具体客户端系统的视频数据的样本相关联的至少一些数据。该数据可以与恰好与由摄取操作所定义的相同的客户端系统的分片相关联。可以使用与摄取操作相同的操作以算法方式处理数据以得到散列值。相应地,如果对与具体频道上的具体节目的具体时间偏移相关联的具体帧进行摄取和散列,导致与那个具体帧相关联的散列值,如果那个具体帧在被显示在客户端系统上的同时也被采样,与施加到所摄取的帧上相同的散列操作将引起与由对所摄取的帧进行的散列操作所产生的相同的散列值。但是与在摄取期间所准备的散列值相反,操作2002的提示表示与来自具体客户端系统的视频数据的样本相关联的数据。可以通过例如HTTP请求来接收提示。
[0135]然后,操作2004描绘了引用所接收的该提示的多个最高有效位以确定一个数据库扇区。例如,如在图1至图9中所示出的和/或关于其所描述的,对于由在摄取期间用于引用数据库扇区的该多个最高有效位所定义的相同的提示的位进行检查。例如,如果摄取时的散列值的前两位用于在具体数据库扇区处存储散列值,与来自客户端系统的视频数据的样本相关联的提示的相同的前两位用于对具体数据库扇区进行定址。
[0136]然后,操作2006描绘了至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,与提示确切地匹配或在该提示附近的多个散列值作为多个怀疑项或候选项中的一个或多个而被返回。可以在具体百分比半径内返回候选项。可以根据最近邻算法或经修改的最近邻算法来返回候选项。
[0137]图21展示了图20的示例操作流程2000的替代性实施例。图21展示了示例实施例,其中操作2002可以包括至少一项附加操作。附加操作可以包括操作2102、操作2104和/或操作2106。
[0138]操作2102展示了接收与一个客户端系统的一个视频缓冲器的一个样本相关联的一个提示,包括至少接收与一个时刻相关的一个或多个指示,该时刻与该客户端系统的该视频缓冲器的该样本相关联。例如,如在图1至图9中所示出的和/或关于其所描述的,提示可以包括与任意时间的时间偏移或与其相关联。例如,可以从1970年I月I日开始计算该时间偏移。
[0139]操作2104展示了:接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将一个或多个操作数用作常数通过一个或多个数学运算或算法将与视频缓冲器相关联的多个分片减少至一个位串,这些常数是通过例如本文中其他地方关于散列所描述的操作来预先导出的。
[0140]操作2016展示了:接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定,该散列至少部分地基于同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。例如,如在图1至图9中所示出的和/或关于其所描述的,通过摄取操作所利用的和/或与摄取过程所共有的数据位置相结合利用的和/或涉及用于摄取过程所利用的操作数的常数值的操作来对与表示在具体时间量子时电视屏幕显示什么的视频缓冲器的样本相关联的至少一些数据进行处理。例如,在摄取时所分析的分片的数量还可以用于提供与具体客户端系统相关联的提示。在摄取时所分析的像素分片的大小还可以用于提供与具体客户端系统相关联的提示。在摄取时用于更均匀地分布散列值的相同的预先导出的静态矩阵还可以用于对于具体客户端系统相关联的数据进行散列期间。
[0141]图22展示了图20的示例操作流程2000的替代性实施例。图22展示了示例实施例,其中操作2002可以包括至少一项附加操作。附加操作可以包括操作2202、操作2204、操作2206、操作2208、操作2210、操作2212和/或操作2214。
[0142]操作2202展示了接收对一个客户端系统的一个视频缓冲器的至少一项内容的一个或多个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,可以针对每个帧、或针对每三个帧、或针对每十个帧、或针对每秒、或以某种其他的间隔来读取用于客户端系统的视频缓冲器的每个预定义的分片处的每个像素位置处的红色像素、绿色像素和蓝色像素的像素值。可以由电视上的控件、由电视上的控制逻辑、由与媒体服务器耦接的系统、或其他地方来接收这些指示(像素值或其他数据)。
[0143]操作2204展示了针对包括至少一个分片的至少一个或多个像素的该视频缓冲器的该至少一项内容的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以对用于客户端系统的视频缓冲器的每个预定义的分片处的每个像素位置处的红色像素、绿色像素和蓝色像素的像素值取平均。
[0144]操作2206展示了从针对每个分片的平均值中减去一个中间点值。例如,如在图1至图9中所示出的和/或关于其所描述的,确定了通过对所摄取的内容进行的分析来建立的在每个分片处的中间点值。一旦由与媒体数据库和摄取系统相关联的
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1