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

文档序号:9422738阅读:来源:国知局
系统确定,用于每个分片的中间点值可以例如被提供至客户端系统。可以不时地(每小时、每天、每月、每年)更新这些中间点值。提供用于对与客户端系统的视频缓冲器相关联的数据进行散列的这些中间点值可以是在摄取时用于对传入的内容进行散列的相同中间点值。
[0145]操作2208展示了对由于该减法所产生的这些值进行变换。例如,如在图1至图9中所示出的和/或关于其所描述的,由减法所产生的这些值被填充到矩阵中并且与预定义的静态矩阵相交叉。可以在将与视频缓冲器内的帧相关联的像素分片数据转换为提示的过程期间在客户端系统处执行将该两个矩阵相交叉的点积操作,从而使得在HTTP请求中而不是实际像素分片数据中发送提示,导致紧凑的HTTP消息。预定义的静态矩阵可以在变换之前被提供给客户端系统、并且可以是与被产生以在摄取时更均匀地分布多个经散列的值的相同的矩阵。可以不时地在客户端系统处更新预定义的静态矩阵。替代性地,可以将分片数据(与或不与其他元数据一起)从客户端系统(例如,电视)发送至不同的系统用于进行处理和/或散列。
[0146]操作2210展示了从这些经变换的值中构建一个散列值。例如,如在图1至图9中所示出的和/或关于其所描述的,由于将具有与视频缓冲器相关联的值的矩阵与预先导出的静态矩阵相交叉而产生的矩阵中的那些值可以被减少至多个位,其中,单个位替代矩阵中的每个8位值。在其他实施例中,所构建的散列值可以包括用于矩阵中的每个值的不同位数。在不同的实施例中,所构建的散列值可以具有与矩阵中的那些值相同的位数,或者可以是对矩阵中的那些值的直接表示。
[0147]操作2212展示了将该提示至少部分地与所构建的该散列值相关联。例如,如在图1至图9中所示出的和/或关于其所描述的,从经变换的矩阵中所构建出来的位串可以是提示、或者可以将所构建的位串与时间(例如,时刻)相关联以形成提示、或者可以关联其他数据(如,IP地址或与客户端电视或客户端电视的控件相关联的其他标识符)以形成提示。替代性地,提示可以包括与客户端系统处的视听内容相关联的任何其他元数据或者以其他方式与其相关联。
[0148]操作2214展示了确定操作2204、减法操作2206、变换操作2208、或构建操作2210中的至少一个利用同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将包括对像素分片的数量的定义、对像素分片的大小的定义、与像素分片相关联的预定义的中值、或预定义的静态矩阵中的一项或多项的一个或多个参数提供给客户端TV,该一个或多个参数还被摄取过程所利用从而使得应用至来自视频缓冲器的样本的多个操作将导致与当对那个帧(例如,相同的视频片段和时间偏移)进行摄取和散列时所产生的散列值相同的散列值。
[0149]图23展示了图20的示例操作流程2000的替代性实施例。图23展示了示例实施例,其中操作2006可以包括至少一项附加操作。附加操作可以包括操作2302和/或操作2304。
[0150]操作2302展示了至少部分地基于作为所接收的该提示的函数的一种平等球中的概率点位置(“PPLEB”)算法来返回对来自该数据库扇区的至少一个候选项的至少一个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,从通过摄取过程所构建和/或修改的媒体数据库中返回表示与提示接近的路径点(例如,邻项、最近邻项、在半径内、从在相同的储物桶内、属于相同的环等)的候选项或怀疑项中的至少一个。
[0151]操作2304展示了:至少部分地基于所接收的该提示来返回对来自该数据库扇区的至少一个候选项的至少一个指示,该至少一个候选项在所接收的该提示的一个预先确定的逆百分比分布半径内。例如,如在图1至图9中所示出的和/或关于其所描述的,返回与关于提示与散列值中的至少一项的位置敏感散列法相关联的至少一个候选项或怀疑项。
[0152]图24展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的操作流程2400。在图24中以及在包括操作流程的各个示例的下图中,将关于图1到图9的上述示例和/或关于其他示例和上下文来提供讨论和阐释。然而,应理解,可以在许多其他环境和上下文中和/或在图1到图9的经修改版本中执行这些操作流程。而且,虽然以所说明的序列来呈现各个操作流,但应理解,可以用与所说明的顺序不同的其他顺序来执行各个操作,或者可以同时执行这些操作。
[0153]在开始操作之后,操作流程2400移动到操作2402。操作2402描绘了接收对至少一个候选项的至少一个指示和对至少一个提示的至少一个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,与客户端系统的视频缓冲器有关的散列值、连同一个或多个相关联的候选项或怀疑项一起被确定。
[0154]然后,操作2404描绘了将一个令牌添加到与至少一个所接收的候选项相关联的一个箱。例如,如在图1至图9中所示出的和/或关于其所描述的,对候选项进行评分是通过添加至与候选项/怀疑项相对应的箱上的令牌来进行的,该令牌是例如每次令牌加一时递增的值。
[0155]然后,操作2406描绘了:确定在一个箱内的令牌的数量是否超过与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,并且如果在一个箱内的令牌的该数量超过了与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,至少部分地基于该箱返回与该具体视频片段相关联的至少一些数据。例如,如在图1至图9中所示出的和/或关于其所描述的,对具体视频片段和该视频片段的具体偏移的确定通过与这些箱相关联的该评分来在概率上确定。
[0156]图25展示了图24的示例操作流程2400的替代性实施例。图25展示了示例实施例,其中操作2404可以包括至少一项附加操作2502。
[0157]操作2502展示了将一个令牌添加到与至少一个所接收的候选项相关联的一个时间箱。例如,如在图1至图9中所示出的和/或关于其所描述的,与候选项/怀疑项相关联的数据结构可以包括由任意时间所分组的任意时间箱。
[0158]图26展示了图20的示例操作流程2400的替代性实施例。图26展示了示例实施例,其中操作2404可以包括至少一项附加操作。附加操作可以包括操作2602和/或操作2604。进一步地,操作流程2400可以包括至少一项附加操作2606。
[0159]操作2602展示了:确定一个相对时间,包括至少从与该至少一个提示相关联的一个任意时间减去与该至少一个候选项相关联的一个候选项时间。例如,如在图1至图9中所示出的和/或关于其所描述的,从与有关接收自客户端系统(电视、机顶盒、或物品、机器、或显示和/或提供和/或接收视频内容的组合物)的提示的时刻相关联的任意时间中减去与候选项相关联的视频片段的时间偏移。
[0160]操作2604展示了至少部分地基于所确定的该相对时间将一个令牌添加到与该候选项相关联的一个时间箱。例如,如在图1至图9中所示出的和/或关于其所描述的,当与客户端系统相关联的提示点匹配或几乎匹配与媒体数据库相关联的参考提示点时,可以向箱添加令牌,这可以包括将与箱相关联的值或其他跟踪箱操作的手段加一。
[0161]操作2606展示了至少部分地基于所经过的一个时间段从一个时间箱移除一个或多个令牌。例如,如在图1至图9中所示出的和/或关于其所描述的,箱可以是泄露的从而使得与旧怀疑项/候选项相关联的数据和/或令牌可以从箱中释放出来,这可以包括将与箱相关联的值或其他跟踪箱操作的手段减一。
[0162]在不同的实施例中,像素位置可以涉及一种或许多种颜色和/或颜色空间/模型(例如,红色、蓝色、绿色;红色、蓝色、绿色和黄色;青色、品红色、黄色、和黑色;单个像素值唯一地标识一种颜色,例如,与像素位置相关联的24位值;色调、饱和度、亮度?’等)。可以使用在分片中不同的像素数量,并且分片不一定是正方形分片。进一步地,客户端系统的视频缓冲器的分辨率可以变化。在客户端系统和摄取系统处的分辨率和/或色密度可以变化。系统可以以不同的光栅分辨率(包括但不限于1920乘1080、3840乘2160、1440 X 1080、1366X 768或其他分辨率)来操作。预期的是,在接下来的二十年内,将发生常用节目、电视和/或客户端系统的像素分辨率的增加;虽然像素分片数量、大小、采样率或其他方面可能变化,可以利用相同的基本操作。进一步地,上变频、下变频、或与分辨率和/或色密度相关联的其他变换操作可以发生和/或插入到在此所描述的其他操作之间。
[0163]图27展示了可以在其中实现实施例的示例系统2700。系统2700包括一个或多个计算装置2702。系统2700还展示了用于促进在一个或多个计算装置与一个或多个客户端装置2706之间的通信的构架2704。系统2700包括还展示了一个或多个客户端装置2706。在一些实施例中,该一个或多个客户端装置可以在该一个或多个计算装置之间。系统2700还展示了至少一个非瞬态计算机可读介质2708。在一些实施例中,2708可以包括一条或多条指令2710,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收至少一个栅格化视频流;创建与至少一个所接收的栅格化视频流的至少一个样本相关联的至少一个散列值;确定用于存储所创建的至少一个散列值的至少一个数据库扇区;以及将所创建的至少一个散列值存储在所确定的至少一个数据库扇区上。在不同的实施例中,该一条或多条指令可以执行于单个计算装置上。在其他实施例中,该一条或多条指令中的一些部分可以通过该一个或多个计算装置中的第一多个计算装置来执行,而该一条或多条指令中的其他部分可以通过该一个或多个计算装置中的第二多个计算装置来执行。
[0164]图28展示了可以在其中实现实施例的示例系统2800。系统2800包括一个或多个计算装置2802。系统2800还展示了用于促进在一个或多个计算装置与一个或多个客户端装置2806之间的通信的构架2804。系统2800包括还展示了一个或多个客户端装置2806。在一些实施例中,该一个或多个客户端装置可以在该一个或多个计算装置之间。系统2800还展示了至少一个非瞬态计算机可读介质2808。在一些实施例中,2808可以包括一条或多条指令2810,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收与至少一个客户端系统的至少一个视频缓冲器相关联的一个或多个指令;至少部分地基于该至少一个视频缓冲器以及与该至少一个视频缓冲器相关联的至少一个时刻来确定一个提示,其中,与确定该提示相关联的至少一个操作数或至少一个函数中的一个或多个还被用于相关联的介质存储操作中;引用所确定的一个提示的多个最高有效位以确定一个数据库扇区;以及至少部分地基于所确定的一个提示返回对来自所确定的一个数据库扇区的至少一个候选项的至少一个指示。在不同的实施例中,该一条或多条指令可以执行于单个计算装置上。在其他实施例中,该一条或多条指令中的一些部分可以通过该一个或多个计算装置中的第一多个计算装置来执行,而该一条或多条指令中的其他部分可以通过该一个或多个计算装置中的第二多个计算装置来执行。
[0165]图29展示了可以在其中实现实施例的示例系统2900。系统2900包括一个或多个计算装置2902。系统2900还展示了用于促进在一个或多个计算装置与一个或多个客户端装置2906之间的通信的构架2904。系统2900包括还展示了一个或多个客户端装置2906。在一些实施例中,该一个或多个客户端装置可以在该一个或多个计算装置之间。系统2900还展示了至少一个非瞬态计算机可读介质2908。在一些实施例中,2908可以包括一条或多条指令2910,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收对至少一个候选项的至少一个指示和对至少一个提示的至少一个指示;将一个令牌添加到与至少一个所接收的候选项相关联的一个箱;以及确定在一个箱内的令牌的数量是否超过与一个客户端系统正在接收与所接收到的至少一个提示相关联的一个具体视频片段的概率相关联的一个值,并且如果在一个箱内的令牌的该数量超过了与一个客户端系统正在接收与所接收到的至少一个提示相关联的一个具体视频片段的概率相关联的一个值,至少部分地基于该箱返回与该具体视频片段相关联的至少一些数据。在不同的实施例中,该一条或多条指令可以执行于单个计算装置上。在其他实施例中,该一条或多条指令中的一些部分可以通过该一个或多个计算装置中的第一多个计算装置来执行,而该一条或多条指令中的其他部分可以通过该一个或多个计算装置中的第二多个计算装置来执行。
[0166]本发明的某些方面包括在此以算法形式描述的处理步骤和指令。应当注意,本发明的这些处理步骤和指令可以体现在软件、固件或硬件中,并且当体现在软件中时,可以被下载以驻留在由实时网络操作系统使用的不同的平台上并且从这些不同的平台来操作。
[0167]本发明还涉及一种用于执行在此的操作的设备。该设备可被专门构造用于所需目的,或者其可以包括通过存储于计算机中的计算机程序选择性地激活或重新布置的通用计算机。此类计算机程序可存储于计算机可读存储介质,诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPR0M、磁卡或光卡、专用集成电路(ASIC)、或适用于存储电子指令的任何类型的介质,并且每一者均耦接至计算机系统总线。
[0168]另外,在本说明书中所涉及的计算机或计算装置可以包括单个处理器或者可以采用用于增加计算能力的多处理器设计。
[0169]在此所提出的算法和显示并非固有地与任何特定计算机或其他装置相关。依据本文的教导,各种通用系统也可以与程序一起使用,或构建更专业的装置以执行所需的方法步骤可证明是方便的。用于多种这些系统的所需结构将从上文描述中显现。另外,没有参照任何特定的程序语言或操作系统来描述本发明。应当认识到,各种编程语言和操作系统可以用于实现如在此所描述的本发明的教导。
[0170]本说明书中所描述的系统和方法、流程图以及结构框图可以在包括程序代码的计算机处理系统中实现,该程序代码包括可由计算机处理系统执行的程序指令。还可以使用其他实现方式。此外,本文中所描述的流程图和结构框图描述了支持多个步骤和相应功能(这些步骤和相应功能支持所披露的
当前第5页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1