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

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

Info

Publication number
CN105144141A
CN105144141A CN201480017043.9A CN201480017043A CN105144141A CN 105144141 A CN105144141 A CN 105144141A CN 201480017043 A CN201480017043 A CN 201480017043A CN 105144141 A CN105144141 A CN 105144141A
Authority
CN
China
Prior art keywords
value
prompting
burst
database
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201480017043.9A
Other languages
English (en)
Other versions
CN105144141B (zh
Inventor
泽夫·纽梅尔
布莱恩·里德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Granville Construction Technology Co Ltd
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/089,003 external-priority patent/US8898714B2/en
Application filed by Individual filed Critical Individual
Priority to CN201811395356.4A priority Critical patent/CN110083739B/zh
Priority claimed from US14/217,375 external-priority patent/US9094714B2/en
Priority claimed from PCT/US2014/030805 external-priority patent/WO2014145947A1/en
Priority claimed from US14/217,094 external-priority patent/US8930980B2/en
Priority claimed from PCT/US2014/030795 external-priority patent/WO2014145938A1/en
Publication of CN105144141A publication Critical patent/CN105144141A/zh
Application granted granted Critical
Publication of CN105144141B publication Critical patent/CN105144141B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7847Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content
    • G06F16/785Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using low-level visual features of the video content using colour or luminescence
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • H04H60/375Commercial
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/56Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54
    • H04H60/59Arrangements characterised by components specially adapted for monitoring, identification or recognition covered by groups H04H60/29-H04H60/54 of video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/254Management at additional data server, e.g. shopping server, rights management server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/835Generation of protective data, e.g. certificates
    • H04N21/8358Generation of protective data, e.g. certificates involving watermark
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

一种系统、方法和计算机程序利用距离关联性散列算法手段来提供一种快速地定址大数据库的高效手段。该标引手段可以被轻易地细分为多个可独立定址的片段,其中,每个这种片段可以定址该数据库的相关数据的一部分,其中,对所述部分的这些细分的索引完全地驻留在大量服务器装置中的每个服务器装置的主存储器内。除了其他用途之外,所产生的服务器装置集群(每一个都托管可搜索的音频或视频信息的较大数据库的一个可定址的扇区)提供对自动化内容识别系统的时延和可伸缩性的显著改进。

Description

用于使用距离关联性散列法对媒体数据库定址的系统和方法
优先权要求
本申请构成2010年5月27日提交的、并且2013年11月6日作为美国专利号8,595,781发布的题为“METHODSFORIDENTIFYINGVIDEOSEGMENTSANDDISPLAYINGCONTEXTUALTARGETEDCONTENTONACONNECTEDTELEVISION(用于标识视频片段并且在所连接的电视上显示上下文的定为目标的内容的方法)”的美国专利申请号12/788,721的部分继续申请,那项申请是要求2009年5月29日提交的题为“SYSTEMFORPROCESSINGCONTENTINFORMATIONINATELEVIDEOSIGNAL(用于处理电视视频信号中的内容信息的系统)”的美国临时专利申请号61/182,334的权益的非临时申请、并且是要求2009年12月29日提交的题为“CONTEXTUALTARGETINGBASEDONDATARECEIVEDFROMATELEVISIONSYSTEM(基于从电视系统接收的数据的上下文目标确定)”的美国临时专利申请号61/290,714的权益的非临时申请;本申请进一步构成2010年5月27日提交的题为“METHODSFORDISPLAYINGCONTEXTUALLYTARGETEDCONTENTONACONNECTEDTELEVISION(用于在所连接的电视上显示根据上下文定为目标的内容的方法)”的美国专利申请号12/788,748的部分继续申请;本申请进一步构成2013年11月25日提交的题为“_____________”的美国专利申请号14/089,003的部分继续申请;本申请进一步构成2014年3月17日提交的题为“SYSTEMSANDMETHODSFORIDENTIFYINGVIDEOSEGMENTSFORDISPLAYINGCONTEXTUALLYRELEVANTCONTENT(用于标识视频片段以便显示上下文相关内容的系统和方法)”的美国专利申请号**/***,***的部分继续申请;本申请进一步构成2014年3月17日提交的题为“SYSTEMSANDMETHODSFORREAL-TIMETELEVISIONADDETECTIONUSINGANAUTOMATEDCONTENTRECOGNITIONDATABASE(用于使用自动化内容识别数据库的实时电视广告检测的系统和方法)”的美国专利申请号**/***,***的部分继续申请;本申请进一步构成2014年3月17日提交的题为“SYSTEMSANDMETHODSFORON-SCREENGRAPHICSDETECTION(用于屏幕上图形检测的系统和方法)”的美国专利申请号**/***,***的部分继续申请;本申请进一步构成2014年3月17日提交的题为“SYSTEMSANDMETHODSFORIMPROVINGSERVERANDCLIENTPERFORMANCEINFINGERPRINTACRSYSTEMS(用于改进指纹ACR系统中的服务器和客户端性能的系统和方法)”的美国专利申请号**/***,***的部分继续申请;本申请进一步构成2014年3月17日提交的题为“SYSTEMSANDMETHODSFORMULTI-BROADCASTDIFFERENTIATION(用于多重广播区分的系统和方法)”的美国专利申请号**/***,***的部分继续申请;并且本申请进一步构成2013年3月15日提交的题为“SYSTEMSANDMETHODSFORIDENTIFYINGVIDEOSEGMENTSBEINGDISPLAYEDONREMOTELYLOCATEDTELEVISIONS(用于标识在远程定位的电视上显示的视频片段的系统和方法)”的美国专利申请号61/791,578的部分继续申请。前述申请或者是当前共同未决的或者是当前共同未决申请的有权享有提交日期的权益的申请。
发明领域
本发明总体上涉及对未知媒体数据(如,视频或音频片段)与参考媒体文件的海量数据库进行的匹配。
背景
用于对音频或视频媒体的自动化内容识别(ACR)的系统是本领域技术人员众所周知的。然而,这种ACR系统带来了许多技术挑战,包括管理经编码的音频或视频信息的潜在地非常大的数据库以及管理对在所述数据库中的信息进行定址所需的大索引。
同样是本领域技术人员众所周知的是,大数据库索引(如可以用于本发明中的)可以使用某些散列函数来生成。另一种对数据库进行定址的方法可以是通过应用也被称为b树的二进制树结构。两种方法都常用于数据管理系统中。
无论采用何种方法来对大数据库进行标引,所述索引经常太大以至于不能以其整体驻留在如在典型的ACR系统中所使用的计算机服务器的主存储器中。当所述数据库无法完全地装配在计算机系统的存储器中时,其通常被存储于磁盘存储器上,并且然后所述数据库的一些部分被按块对应于提供地址的索引值读入到存储器中。所述再调用部分数据库信息的手段也被本领域技术人员称为“分页(paging)”,这是许多不同的计算机软件系统所共有的过程。
本发明是对以上所引用的发明的扩展并且是一种用于使用信号处理手段来对未知的数字媒体(如电视节目)与已知媒体的数据库进行匹配的系统和方法,该信号处理手段采用一种经修改的路径追踪算法(如在第一个发明中所描述的)。
如在此所披露的系统和方法的另一个新颖方面是距离关联性散列标引手段,该距离关联性散列标引手段可以被细分为多个可独立定址的片段,其中,所述片段中的每个片段都可以对数据库的一部分进行定址,所述片段中的每个片段都可以以其整体驻留于服务器装置的主存储器中。标引手段的所产生的服务器群集各自托管对可搜索的音频或视频信息的较大数据库的相关联数据进行定址的索引的一个扇区。本发明的这种标引手段导致了ACR系统的速度和准确性的显著改进,该ACR系统这样被使能以便即使当电视显视器正在放映用户正在对来自数字视频记录器的视频进行改变频道、快倒、快进或甚至暂停的内容时对未知媒体进行标识。
概述
在一些实施例中,一种涉及使用距离关联性散列法来对媒体数据库进行定址的示例性方法可以包括接收对一个视频片段的一个样本的一个或多个指示;针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值;从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值;使用预先导出的一个函数来变换由于该减法而产生的这些值以均匀地分布这些值;从这些经变换的值中构建一个散列值;引用所构建的该散列值的多个最高有效位以确定一个数据库扇区;以及至少将该散列值存储在所确定的该数据库扇区上。
在一些实施例中,使用一个或多个处理装置来至少部分地实现前述示例性方法的接收、确定、减法、变换、构建、引用、或存储中的至少一项。在前述示例性方法的一些实施例中,接收对一个视频片段的一个样本的一个或多个指示可以包括接收对一个帧或一个静止图像中的至少一项的一个或多个指示。在前述示例性方法的一些实施例中,接收对一个视频片段的一个样本的一个或多个指示可以包括接收对一个视频片段的一个样本的一个或多个指示,对一个视频片段的一个样本的该一个或多个指示与对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示相关联。
在前述示例性方法的一些实施例中,针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值包括针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个平均值。在前述示例性方法的一些实施例中,从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值可以包括从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值,之前已经针对多个频道在至少一个时间段上使用来自每个分片的数据确定了针对每个分片所建立的该中间点值。
在前述示例性方法的一些实施例中,使用预先导出的一个函数来变换由于该减法而产生的这些值以均匀地分布这些值可以包括形成至少包括由于该减法而产生的这些值的一个可变矩阵;获得在与该可变矩阵相交叉时将更均匀地分布这些经变换的值的一个静态矩阵;以及计算该可变矩阵与该静态矩阵的一个点积,该点积至少包括这些被更均匀地分布的经变换的值。在前述示例性方法的一些实施例中,获得在与该可变矩阵相交叉时将更均匀地分布这些经变换的值的一个静态矩阵可以包括使用位置敏感散列法至少部分地基于一个或多个先前所获得的散列值来确定在与一个可变矩阵相交叉时将更均匀地分布该可变矩阵的这些经变换的值的一个静态矩阵。
在前述示例性方法的一些实施例中,从这些经变换的值中构建一个散列值可以包括从这些经变换的值中构建一个散列值,包括至少通过将每个经变换的值减小至一个二进制表示来减小这些经变换的值的保真度。在前述示例性方法的一些实施例中,通过将每个经变换的值减小至一个二进制表示来减小这些经变换的值的保真度可以包括针对每个经变换的值确定该经变换的值是否是一个正数,并且如果该经变换的值是一个正数,将一赋值给该散列值,并且否则将零赋值给该散列值。
在前述示例性方法的一些实施例中,引用所构建的该散列值的多个最高有效位以确定一个数据库扇区可以包括引用所构建的该散列值的多个最高有效位以确定一个数据库服务器,其中,该多个最高有效位被预先确定为定址多个数据库服务器,其中,与该多个最高有效位相关联的多个数据库服务器被建立为使得与一个数据库扇区相关联的至少一个索引能够完全地驻留在一个相应的数据库服务器的存储器中。在前述示例性方法的一些实施例中,至少将该散列值存储在所确定的该数据库扇区上可以包括至少将该散列值存储在所确定的该数据库扇区上,包括至少部分地基于该散列值至少将对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示存储在一个数据库位置处。
在前述示例性方法的一个或多个替代性实施例中,多个相关系统包括但不限于用于实现在此所引用的方法实施例的电路和/或编程;取决于系统设计者的设计选择,该电路和/或编程实际上可以是被配置成用于实现在此所引用的方法方面的硬件、软件、和/或固件的任何组合。
在一个不同的实施例中,一种涉及使用距离关联性散列法来对媒体数据库进行定址的示例性方法可以包括接收一个提示,该提示通过与一个介质存储操作相关联的一个或多个操作来构建;引用所接收的该提示的多个最高有效位以确定一个数据库扇区;以及至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示。
在前述示例性方法的一些实施例中,接收一个提示(该提示通过与一个介质存储操作相关联的一个或多个操作来构建)可以包括接收与一个客户端系统的一个视频缓冲器的一个样本相关联的一个提示,包括至少接收与一个时刻相关的一个或多个指示,该时刻与该客户端系统的该视频缓冲器的该样本相关联。在前述示例性方法的一些实施例中,接收一个提示(该提示通过与一个介质存储操作相关联的一个或多个操作来构建)可以包括接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定。
在前述示例性方法的一些实施例中,接收一个提示(该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定)可以包括接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定,该散列至少部分地基于同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。在前述示例性方法的一些实施例中,接收一个提示(该提示通过与一个介质存储操作相关联的一个或多个操作来构建)可以包括接收一个提示,该提示通过至少包括以下各项的一个或多个操作来确定:接收对一个客户端系统的一个视频缓冲器的至少一项内容的一个或多个指示;针对包括至少一个分片的至少一个或多个像素的该视频缓冲器的该至少一项内容的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值;从针对每个分片的平均值中减去一个中间点值;对由于该减法所产生的这些值进行变换;从这些经变换的值中构建一个散列值;以及将该提示至少部分地与所构建的该散列值相关联,其中,该确定操作、减法操作、变换操作、或构建操作中的至少一个利用同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。
在前述示例性方法的一些实施例中,至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示可以包括至少部分地基于作为所接收的该提示的函数的一种平等球中的概率点位置(“PPLEB”)算法来返回对来自该数据库扇区的至少一个候选项的至少一个指示。在前述示例性方法的一些实施例中,至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示可以包括至少部分地基于所接收的该提示来返回对来自该数据库扇区的至少一个候选项的至少一个指示,该至少一个候选项在所接收的该提示的一个预先确定的逆百分比分布半径内。
在前述示例性方法的一个或多个替代性实施例中,多个相关系统包括但不限于用于实现在此所引用的方法实施例的电路和/或编程;取决于系统设计者的设计选择,该电路和/或编程实际上可以是被配置成用于实现在此所引用的方法方面的硬件、软件、和/或固件的任何组合。
在一个不同的实施例中,一种涉及使用距离关联性散列法来对媒体数据库进行定址的示例性方法可以包括接收对至少一个候选项的至少一个指示和对至少一个提示的至少一个指示;将一个令牌添加到与至少一个所接收的候选项相关联的一个箱;以及确定在一个箱内的令牌的数量是否超过与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,并且如果在一个箱内的令牌的该数量超过了与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,至少部分地基于该箱返回与该具体视频片段相关联的至少一些数据。
在前述示例性方法的一些实施例中,将一个令牌添加到与至少一个所接收的候选项相关联的一个箱可以包括将一个令牌添加到与至少一个所接收的候选项相关联的一个时间箱。在前述示例性方法的一些实施例中,将一个令牌添加到与至少一个所接收的候选项相关联的一个箱可以包括确定一个相对时间,包括至少从与该至少一个提示相关联的一个任意时间减去与该至少一个候选项相关联的一个候选项时间;以及至少部分地基于所确定的该相对时间将一个令牌添加到与该候选项相关联的一个时间箱。在前述示例性方法的一些实施例中,该方法可以包括至少部分地基于所经过的一个时间段从一个时间箱移除一个或多个令牌。
在前述示例性方法的一个或多个替代性实施例中,多个相关系统包括但不限于用于实现在此所引用的方法实施例的电路和/或编程;取决于系统设计者的设计选择,该电路和/或编程实际上可以是被配置成用于实现在此所引用的方法方面的硬件、软件、和/或固件的任何组合。
在一个不同的实施例中,一种涉及使用距离关联性散列法对媒体数据库进行定址的示例性系统可以包括但不限于:一个或多个计算装置;以及一条或多条指令,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收至少一个栅格化视频流;创建与至少一个所接收的栅格化视频流的至少一个样本相关联的至少一个散列值;确定用于存储所创建的至少一个散列值的至少一个数据库扇区;以及将所创建的至少一个散列值存储在所确定的至少一个数据库扇区上。
在一个不同的实施例中,一种涉及使用距离关联性散列法对媒体数据库进行定址的示例性系统可以包括但不限于:一个或多个计算装置;以及一条或多条指令,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收与至少一个客户端系统的至少一个视频缓冲器相关联的一个或多个指令;至少部分地基于该至少一个视频缓冲器以及与该至少一个视频缓冲器相关联的至少一个时刻来确定一个提示,其中,与确定该提示相关联的至少一个操作数或至少一个函数中的一个或多个还被用于一个相关联的介质存储操作中;引用所确定的一个提示的多个最高有效位以确定一个数据库扇区;以及至少部分地基于所确定的一个提示返回对来自所确定的一个数据库扇区的至少一个候选项的至少一个指示。
在一个不同的实施例中,一种涉及使用距离关联性散列法对媒体数据库进行定址的示例性系统可以包括但不限于:一个或多个计算装置;以及一条或多条指令,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收对至少一个候选项的至少一个指示和对至少一个提示的至少一个指示;将一个令牌添加到与至少一个所接收的候选项相关联的一个箱;以及确定在一个箱内的令牌的数量是否超过与一个客户端系统正在接收与所接收到的至少一个提示相关联的一个具体视频片段的概率相关联的一个值,并且如果在一个箱内的令牌的该数量超过了与一个客户端系统正在接收与所接收到的至少一个提示相关联的一个具体视频片段的概率相关联的一个值,至少部分地基于该箱返回与该具体视频片段相关联的至少一些数据。
除了前述内容之外,在如本披露的正文(例如,权利要求书、附图和/或详细说明)和/或附图的传授中阐述和描述了不同的其他方法、系统和/或程序产品实施例。
上述是一种概述并且因此(必然地)包含了细节的简化、概括及省略;因此本领域的技术人员将认识到该概述仅是说明性的而并非旨在是以任何方式来限制。在此描述的装置和/或过程和/或其他主题的其他方面、实施例、特征以及优点将于在此阐述的传授中变得明显。
附图简要说明
参照以下附图,以下更详细地描述了本发明的某些实施例。
图1展示了如本发明所教导的扇区化视频匹配数据库的构建,该扇区化视频匹配数据库以随后被持续更新的初始视频摄取或捕获过程开始。示出了电视显视系统101及其相应的电视显示存储器缓冲器103,用于该系统的潜在实施例。针对每个像素分片来进行使用本领域技术人员已知的某种算法手段的像素分片102的分配以及对值105的计算,并且创建所产生的数据结构并且然后将其打上时间戳以产生一个“提示”106,该提示还可以具有与其相关联的附加元数据。
图2展示了使用距离关联性散列过程来处理提示数据201并且生成散列索引202,进一步展示了扇区化定址方案203以将数据存储在相关的组(存储桶(bucket))206中。
图3:展示了对未知电视内容的实时捕获,用于从所连接的电视监视器等301进行识别。像素分片通常被定义为视频缓冲器303的具有大约十个像素乘以十行像素304的尺寸的正方形像素区,然而,可以使用任何合理的形状和尺寸。像素分片位置的数量可以是在所述视频缓冲器内的十个与五十个位置之间的任何数量并且被处理305为用于将提示数据306发送至中央服务器装置。
图4展示了如以上所引用的第一个发明中所教导的从参考(匹配)数据库存储桶404中提取多个候选提示值401并且将所述提示值403应用到路径追踪内容匹配过程402。
图5展示了多个箱的数据结构,这些箱保持用于对来自该匹配数据库的多个候选值进行评分的多个令牌。随着搜索过程贯穿时间而进行,所述箱是“泄漏的”并且令牌随着时间推移而过期。
图6:展示了如现有技术所教导的一种用于访问大数据库的典型存储器分页方案。
图7展示了涉及若干步骤的对散列值的创建,这些步骤以计算构成来自视频帧的那些样本的大量点中的每一个点的中值开始。
图8展示了如何计算散列值。
图9展示了作为计算散列值的过程的一部分而使用将像素位置的中值的有益结果。
图9a展示了在对多维数据集进行分区时不使用中值的问题。
图9b展示了找到数据集的中值的益处。
图10展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的操作流程。
图11展示了图10的操作流程的替代性实施例。
图12展示了图10的操作流程的替代性实施例。
图13展示了图10的操作流程的替代性实施例。
图14展示了图10的操作流程的替代性实施例。
图15展示了图10的操作流程的替代性实施例。
图16展示了图10的操作流程的替代性实施例。
图17展示了图10的操作流程的替代性实施例。
图18展示了图10的操作流程的替代性实施例。
图19展示了图10的操作流程的替代性实施例。
图20展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的不同操作流程。
图21展示了图20的操作流程的替代性实施例。
图22展示了图20的操作流程的替代性实施例。
图23展示了图20的操作流程的替代性实施例。
图24展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的另一个操作流程。
图25展示了图24的操作流程的替代性实施例。
图26展示了图24的操作流程的替代性实施例。
图27展示了关于使用距离关联性散列法来对媒体数据库进行定址的系统。
图28展示了关于使用距离关联性散列法来对媒体数据库进行定址的另一个系统。
图29展示了关于使用距离关联性散列法来对媒体数据库进行定址的又另一个系统。
详细说明
如在前述公开中所描述的,涉及本发明的第一发明是一种使用新颖的信号处理手段以及其他手段来对未知的视频与已知视频的数据库进行匹配的系统和方法,该信号处理手段采用经修改的路径追踪算法。
新发明的新颖性手段是其距离关联性散列法(DistanceAssociatedHashing),其伴随有提供使用扇区化索引的数据库访问。所述标引手段提供了一种用于对未知媒体片段与已知媒体(如,音频或视频内容)的参考数据库进行匹配的计算上高效的手段。
本发明的这种标引手段导致了ACR系统的速度和准确性的显著改进,该ACR系统这样被使能以便即使当电视显视器正在放映用户正在对来自数字视频记录器的视频进行改变频道、快倒、快进或甚至暂停的内容时对媒体的标识进行跟踪。
对媒体匹配数据库的建立、更新两者以及后续的访问将描述一种系统,该系统能够生成并定址扇区化数据库从而使得这些数据库扇区可以各自驻留在对应的大量服务器装置的主存储器中而不需要借助于在对应的服务器装置中的每一个服务器装置内的分页装置。这种通过位置敏感散列法对扇区化数据库进行定址的共同手段提供了对操作效率的显著改进。
对扇区化视频匹配数据库的构建以图1中所展示的过程开始。电视系统101对电视信号进行解码并且将每个视频帧的内容放入视频帧缓冲器内,为对该视频帧的像素信息的显示或进一步处理做准备。所述电视系统可以是任何电视解码系统,该电视解码系统可以或者从基带或者从调制电视源中解码电视信号并且以由视频信号所指定的对应帧大小上的经解码的RGB值来填充视频帧缓冲器。这种系统是本领域技术人员众所周知的。
本发明的系统首先建立在原申请中被描述为提示或提示值的电视节目指纹的参考数据库并且然后持续地对其进行更新。出于建立所述视频提示的参考数据库的目的,本发明进行对从视频帧缓冲器103中所读取的一个或多个视频分片102的采集。所述视频分片可以是任意形状或图案的,但是出于本示例的目的,应当是10个水平方向上的像素乘以10个竖直方向上的像素。同样为了本示例的目的,假设在视频帧缓冲器中有25个像素分片位置均匀地分布在所述缓冲器的边界内,虽然它们不一定是均匀分布的。每个像素应当由红色值、绿色值和蓝色值组成104,这些值通常由用于每种颜色八位二进制值总计24位或每个分片位置三个字节来表示。
此复合数据结构由来自视频缓冲器的多个像素分片位置的平均像素值来填充。像素分片被定义为视频缓冲器的具有大约十个像素乘以十行像素304的尺寸的通常为正方形的像素区。像素分片位置的数量可能通常位于视频缓冲器内的十个与五十个位置之间。
将这些平均像素值305与引用来自该电视系统的处理器装置的“时刻”的时间代码306组合在一起。时刻被定义为一秒的具有自1970年1月1日半夜起过去的多个小部分中的时间,这是计算系统(尤其是基于Unix(或Linux)的系统)中的公认的惯例。
此外,如在原专利申请中所教导的,元数据可以被包括在内并且与数据结构106一起被定义,称为标记指纹、“提示”、或“点”。此类元数据属性可能是从来自当前正在显示的视频节目的隐藏式字幕数据中导出的,或者其可以是通过在电视系统的处理器装置内运行的将来自对应的电视节目的视频转换为文本信息的语音识别系统提取的关键词。然后,所述文本信息可以针对相关关键词被检索或者以其整体作为提示数据结构的一部分被发送至中央服务器装置以进行进一步的处理。
那些提示记录201在图2中被传递至散列函数202,该散列函数使用基于平等球中的概率点位置算法(“PPLEB”)的位置敏感散列算法来生成散列值203。此散列值是从来自提示记录(指纹)207的平均像素值计算出来的并且该过程将具有相似值的数据关联206至被称为存储桶的组中。
在此具体示例中所示出的十乘十像素分片302将具有一百个像素并且在数学上取平均分别针对红色值、绿色值和蓝色值产生平均像素值305。替代性地,可以使用任何取平均函数来替代简单的平均值。
从视频帧中提取出多个这种像素分片。举例来讲,如果从视频帧中提取出25个这种像素分片,那么结果将是表示在75维空间内的位置的点。技术人员将知晓这种大搜索空间会要求大量的计算资源来结合表示一个视频帧的其他74个值来定位(甚至近似地)所述值。
在此所描述的距离关联性散列法的系统和方法的一个优点是减小计算负荷并且提高对未知的视频帧与已知的视频帧数据库进行匹配的准确性。
创建散列值涉及若干步骤,这些步骤以计算每个点的以算法方式导出的值开始,如图7中所示出的701至775。发现了通过对在大约24小时时段上由匹配数据库维护的每个节目流或视频频道的每个帧的每个点进行求和来以算法方式导出所述中值的一种有用手段。每个点的中值都从该求和过程中找到。导出最终的散列值中的下一个步骤是从每个对应的点的点值减去平均值,行801减去行802等于行803。结果是预先导出的散列函数被应用于其上的正值或负值。通常,点值减去对应点的平均值的结果安排在矩阵中,使用构成预先导出的散列值(或散列键)的类似矩阵来计算对该矩阵的点积。然后,两个矩阵的点积的结果基于乘积矩阵元素的符号被进一步变换为一或零。通常,技术人员会将正值设为一并且将负值设为零。
所产生的散列值指向更多或更少跨数据存储区域均匀分布的值。散列值203可以被进一步划分(图2)为使得‘n’个最高有效位205对数据库的2n(2^n)个扇区之一进行定址。剩余的位206对数据库的所定址的扇区的各个‘存储桶’进行定址,这将在下文更详细的进行描述。
对各个扇区地址空间进行定义的散列值的划分点被计算为使得数据库扇区的数据的索引装配于所述存储器扇区的那些处理器系统的存储器界限内。否则,所述数据库将经受分页,该分页将降低此过程的有效性。
将本发明所教导的系统和方法与相关领域中的技术人员所熟知的系统和方法进行比较,图6展示了典型的分页方式。在图6中,假设示例系统正在试图对未知数据与已知数据的服务器进行匹配。使用索引602来仅对可以装配于CPU606的主存储器中的数据605的一部分进行定址。对此数据进行搜索,并且如果结果是负的,那么将另一个数据片段取入主存储器603并且搜索继续。
使用分页的这种访问手段是常用的但是显著降低了计算机系统的效率。实际上,这种方式不能与搜索大媒体数据库的ACR系统一起使用,因为硬盘驱动器的读/写速度不足以跟上该任务。多年来已经开发出许多不同的算法方式来解决将搜索分割为多个较小的部分并且将较小的搜索分配到多个计算机服务器系统的这种问题。
一个知名的示例可能是相当大的谷歌(Google)搜索引擎。技术人员知晓此系统是迄今为止所建立的最大的计算机系统之一。谷歌搜索过程的速度和准确性是出色的。然而,谷歌搜索手段是明显不同的,并且完全不适用于对未知媒体与已知媒体的数据库进行匹配,即使该两个数据库具有相同的非常大的大小。这是因为谷歌搜索手段采用映射-归约(map-reduce)算法,该算法被设计为用于搜索基本上不关联的数据的大数据库。虽然较分页系统先进,映射-归约是计算密集型过程,该过程也要求参与的计算机系统之间的相当大的数据通信带宽。相反,本发明在处理资源和通信资源的使用上是高效的。
在本发明中,距离关联性散列函数提供了一种按扇区来对数据库进行定址的手段,从而使得所述定址手段的数据装配于服务器组的单独的服务器装置的主存储器中。所述分组通过使用距离关联性散列步骤作为实现所述分组的手段来将多维阵列中的通过距离而相关的数据分组为相同的扇区来完成。用于对数据元素进行定址的扇区标识是从散列索引计算出的,通过提取所述散列函数的总位的子集并且使用所述子集对所期望的扇区进行定址以在其中将数据存储在参考数据库中来从所述过程中来生成该散列索引。
以此方式,散列索引子集是包含与多个散列值相关联的距离的扇区的地址(在第一发明中被称为存储桶)。然后,使用该散列地址的剩余部分来对扇区的用于存储新数据的存储桶进行定址。替代性地,可以通过对第一散列值再次进行散列来找到扇区地址。
这种通过多个散列标引步骤的数据库定址系统和方法产生了高效的数据库访问方案,该方案具有显著的性能益处以及较以上所描述的传统数据库访问方法提高的效率。
距离关联性散列法提供了一种通过找到不是完全匹配而是在所寻求的值的预先确定的半径(距离关联性的)之内的数据来快速地对非常复杂(多维)的数据库进行定址的手段。重要的是,有时候这种定址手段将导致根本没有匹配。在面向商业的数据库无法容忍不准确性的情况下,媒体匹配系统可以轻易地容忍丢失的匹配并且一旦在第一专利中所接收并教导的下一个数据到达时将简单地继续匹配过程。当然,来自有待通过ACR系统确定的未知源的数据到达是周期性的,但是可以受本发明的系统命令以基于对准确性的要求或通过由系统的状态(如,系统可能正在接近过载时)所施加的要求以不同的间隔到达,并且然后这些发送客户端受到命令以发送一个较低采样率。例如,典型的数据接收率可能是1/10秒的间隔。
对于参考媒体数据库,像素值组是从来自有待成为参考数据库的一部分的每个视频源的每个视频帧中导出的。然后,将视频节目的广播时间以及某个元数据附到像素值组上,该元数据是节目的信息,如内容标识(ID)、节目标题、演员姓名、播送时间、简短大纲等。所述元数据通常是从商用电子节目指南源获取的。
然后,将添加有时间代码加上元数据的所述经处理的像素值的阵列存储于参考数据库中,并且然后将所述存储的数据的地址添加到在对应的散列值和扇区ID值处的散列索引上。此外,通过将来自元数据的内容ID用作另一种用于对参考数据库进行定址的手段来建立并维护第二数据库索引。
建立并持续更新数据库的过程是连续的,并且由数据库维护的数据的天数是基于用户的需要的但是例如可以在从一天到一个月的范围内。
对来自接收自大量客户端装置的数据的未知视频片段进行标识的过程以类似于以上用于建立参考数据库的程序的程序开始。在图3中,此程序涉及电视监视器301,如通常属于被称为智能TV的类型的流行平面屏幕HDTV,其中,该TV包含具有能够执行类似于当今常用的智能电话上所找到的类型的应用程序的存储器的处理装置。本发明的系统在通常大量的位置内对视频帧缓冲器301的区域302进行采样。所述样本具有与在建立参考数据库的过程中所使用的那些像素分片完全相同的大小、形状和位置。然后,以算法方式对所收集的这些像素分片中的每个像素分片都进行处理以便以与用于创建参考数据库的方法完全相同的方式针对每个分片的红色值、绿色值和蓝色值产生计算出的值。
然后,本发明的所述系统计算所收集的平均值的与以上所描述的内容摄取函数完全相同的距离关联性散列索引。同样与以上所描述的摄取系统完全相同的,所产生的扇区标识(ID)值被提取为散列索引的总位的子集。该散列索引的剩余部分用于对所期望的扇区进行定址以在其中搜索属于与未知的数据点相同的存储桶的所有候选(潜在)匹配。
可选地,如果从以上过程可获得对匹配的良好猜测(成功的匹配),本发明的系统还将使用内容ID索引从数据库中收集候选项以对围绕(成功匹配的候选项的)时间戳的时间半径r’的多个参考提示进行定址,该数据库负责属于潜在的内容ID的如以上所描述的在摄取过程中所创建的所述扇区。接下来,如在第一专利中所教导的,移除重复的候选项以及与未知点相距太远(半径r)的候选项。
为了针对将未知视频片段与已知视频数据的参考数据库的匹配进行测试,假设来自上一个步骤的候选项列表,其中,每个候选项(即,每个可能的匹配)已经将其与以下数据项相关联:内容ID、媒体时间、作为与当前未知点(与未知视频流)的距离计算的逆百分比分布半径,其中,100%表示未知点的确切值并且0%是超出从未知点的半径r(分布)之外的值。
在本发明的匹配系统的存储器中为每个匹配候选项501分配一个数据结构502。除其他项外,该数据结构由通过某个任意量来分组的任意的时间箱(例如,大约一秒)组成。出于示例的目的,假设所述数据结构由一百个表示十秒的视频提示点的箱组成。这些箱在时间上通常不是相等间隔的。
对于在参考(匹配)数据库中所找到的每个候选项:首先,通过从未知视频的任意时间中减去候选项时间来计算相对时间。候选项时间是在参考节目播送期间与候选项相关联的每个视频提示的播放时间。
未知视频的任意时间来自于电视监视器的从在所述电视的存储器或在附接至所述电视的机顶盒中运行的本发明的应用内部生成的时刻,并且与所采样的视频提示点一起由所述应用发送至本发明的中央服务器装置。时刻是技术人员所众所周知的并且通常用于计算机系统中。所述时间作为自1970年1月1日起的时间单元的当前数量。
例如,如果来自(在家庭中的)电视的任意时间与真实媒体时间之间的时间差是100秒,那么那些实际上匹配的候选项的相对时间应该接近于那个值。同样,不是良好匹配的候选项不可能具有接近于本示例的100秒的相对时间。
在候选项数据结构中,当未知视频的提示点与参考提示点相匹配时,本发明的系统将令牌添加至候选项数据结构的对应箱内。然后,所述系统如在上一段中所描述的那样针对下一个候选项重复该过程。
用于对结果进行评分的另一个并且重要的步骤是向所有的箱施加时间折扣。这是一个相对简单的过程,该过程针对每个时间周期将所有箱内的值递减一个较小的量。技术人员将认识到,这是一种“漏桶(leakybucket)”评分方法。通过定义,经过所述过程的多个周期,不再通过匹配提示点来填充的箱将最终递减至零。同样,慢慢地通过系统中的随机噪声而填充的箱将同样被递减。所以,时间折扣最终清空由假正匹配和随机噪声填充的箱。技术人员还将清楚地看到,没有所述时间折扣分箱(timediscountbinning),所有的箱都将最终填充至容量并且无法从过程中获得任何结果。
在通过以下各项中的任何一项来以任何方式改变来自客户端电视监视器的视频流时,所述时间折扣还将具有在匹配阈值504的水平之上的任何箱(如503)递减至零:改变频道、快退、快进、暂停视频等。
如果候选项数据结构的任何箱(如箱503)在某个阈值504之上,那么内容被声明匹配。限定匹配的进一步的手段可能包括在大于确定秒数(例如,三秒)的时间内针对候选项片段的连贯匹配进行测试。
图8展示了如何计算散列值。首先,通过对所述位置的在所述位置处来自表示有待由本发明标识的典型的电视节目的多个电视频道中的采集值的许多天的时间上的那些值进行求和来找到有助于视频指纹的每个像素位置的中值。一旦确定了中值,其可以无限期地用作常数而不需要进一步的计算或调整。首先通过减去所述像素位置的中值来处理从客户端发送至服务器匹配系统的像素值。将所产生的结果与视频帧的其他像素位置一起存储在矩阵中,并且将适当的散列函数应用于所述矩阵。然后,从所产生的点积中导出多个散列值。
图9展示了作为计算散列值的过程的一部分而使用将像素位置的中值的有益结果。图表901示出了典型的未经优化的散列函数的输出的所产生的曲线,该散列函数具有在曲线的左边上占用相对窄范围的相对小数量的散列值。所产生的中值902较低。图表903示出了由于计算参与匹配过程的每个像素位置的中值并且将所述中值作为散列函数的一部分而应用所引起的对散列值的有利再分布。散列值的分布更加散开,伴随有所有的散列键904的中值中的上升。
图9a展示了当在对数据集进行分区之前未找到中值时所述数据集发生了什么。如果系统对每个视频帧的十六个像素位置进行采样并且如果每个像素位置具有红色像素值、绿色像素值和蓝色像素值,将有64维(或轴线)至该图。出于展示的目的,在本示例中,数据集仅包括单个视频帧的两个样本点906和908。进一步地,该示例假设在每个像素点处仅获得单个亮度值。通过在对角线方向907上将数据集分割为顺时针扇区907c和逆时针扇区907cc并且竖直轴线908和水平轴线906在零值905处相交叉,在该两个所述像素位置之间仅有八个扇区中的两个扇区910和911。
图9b展示了找到每个像素位置的中值的益处。本示例继续使用像素值是从零至255的单个亮度值的假设,虽然绝对值对本方法并不重要。本示例展示了对于两个像素位置而言中值均是128的简化假设。现在,通过将分区点移位至905’,竖直轴线和水平轴线分别移位至908’和906’。对角切片909移至909’。从示图中清楚地看到现在所有八个扇区都包含数据。
在以此方式对数据集进行分区时,所计算的中值既不一定也不需要在数据集的中间。所期望的结果是将数据分散开从而使得当所述数据被分区并且指派至各个服务器时,系统更统一地访问所述服务器。相反,图9的未经优化的数据如果如所示的那样在八个服务器之间进行分区则将仅看到八个被访问的服务器中的两个服务器。在图9b所展示的方法中,通过在每个像素位置处的那些颜色值并且通过16个像素位置的示例,实际计算导致如48维图那样计算的48个中值的施加。进一步地,根据需要可以围绕48维图的每个中间点进行多于一次的数据拼接,从而使得可以使由所述切片产生的所述数据集装配于系统的单独计算机服务器的操作约束之内。在任何情况下,在每个分区切片的顺时针侧和逆时针侧上的大多数时间都将找到数据。
图10展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的操作流程1000。在图10中以及在包括操作流程的各个示例的下图中,将关于图1到图9的上述示例和/或关于其他示例和上下文来提供讨论和阐释。然而,应理解,可以在许多其他环境和上下文中和/或在图1到图9的经修改版本中执行这些操作流程。而且,虽然以所说明的序列来呈现各个操作流,但应理解,可以用与所说明的顺序不同的其他顺序来执行各个操作,或者可以同时执行这些操作。
在开始操作之后,操作流程1000移动到操作1002。操作1002描绘了接收对一个视频片段的一个样本的一个或多个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,这些指示可以与来自摄取系统的一个或多个像素分片相关联。
然后,操作1004描绘了针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以计算每个分片中的那些红色像素、每个分片中的那些绿色像素、以及每个分片中的那些蓝色像素的平均值。
然后,操作1006描绘了从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以通过对所述位置的在所述位置处来自多个电视频道中的采集值的许多天的时间上的那些值进行求和来找到有助于视频指纹的每个像素位置的中值。
然后,操作1008描绘了使用预先导出的一个函数来变换由于该减法而产生的这些值以均匀地分布这些值。例如,如在图1至图9中所示出的和/或关于其所描述的,由减法所产生的这些值填充一个矩阵。可以计算那个矩阵与预先导出的静态矩阵的点积。该预先导出的静态矩阵可以在对操作流程1000进行实例化之前被确定并且可以基于过去所摄取的数据来以算法方式被优化,从而使得与其相交叉的多个矩阵将产生比直接来自减法操作的结果分布更均匀的结果。
然后,操作1010描绘了从这些经变换的值中构建一个散列值。例如,如在图1至图9中所示出的和/或关于其所描述的,能够保持RGB值的值被减小至位形式,从而使得散列值可以是一个位串。
然后,操作1012描绘了引用所构建的该散列值的多个最高有效位以确定一个数据库扇区。例如,如在图1至图9中所示出的和/或关于其所描述的,可以预先确定多个位,从而使得一个散列值的所预先确定的该多个位用于对一个或多个数据库扇区进行定址。
然后,操作1014描绘了至少将该散列值存储在所确定的该数据库扇区上。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将该散列值存储在一个存储桶中,该存储桶包括在数学上接近的其他散列值,其中,这些散列值至少与具体的视频片段和偏移相关联。
图11展示了图10的示例操作流程1000的替代性实施例。图11展示了操作流程1000可以包括至少一个附加操作的示例实施例。附加操作可以包括操作1102。
操作1002展示了使用一个或多个处理装置来至少部分地实现接收操作1002、确定操作1004、减法操作1006、变换操作1008、构建操作1010、引用操作1012、或存储操作1014中的至少一个操作。在一些实例中,可以使用一个或多个计算机处理器来至少部分地实现前述操作之一。其他处理装置可以包括专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、或被配置为用于实现前述操作中的至少一个操作的结果的任何其他电路。
图12展示了图10的示例操作流程1000的替代性实施例。图12展示了示例实施例,其中操作1002可以包括至少一项附加操作。附加操作可以包括操作1202和/或操作1204。
操作1202展示了接收对一个帧或一个静止图像中的至少一项的一个或多个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,视频片段的样本可以包括视频流的单独帧。这样的帧可以是一个30fps视频帧。在不同的实施例中,视频片段的样本可以是静止图像或者可以以除了30次每秒之外的速率成像的视频片段的一部分。
进一步,操作1204展示了接收对一个视频片段的一个样本的一个或多个指示,对一个视频片段的一个样本的该一个或多个指示与对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示相关联。例如,如在图1至图9中所示出的和/或关于其所描述的,可以从例如与正在由摄取系统监视的频道相关联的频道指南中接收与视频片段相关联的数据(其可以是节目标题和/或与视频片段相关联的其他元数据)、从其中摄取节目的频道、以及从节目开始的时间偏移。
图13展示了图10的示例操作流程1000的替代性实施例。图13展示了示例实施例,其中操作1004可以包括至少一项附加操作1302。
操作1302展示了针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个平均值。例如,如在图1至图9中所示出的和/或关于其所描述的,用于将分片中的该一个或多个像素减少至单个值的算法操作可以是例如算数平均。
图14展示了图10的示例操作流程1000的替代性实施例。图14展示了示例实施例,其中操作1006可以包括至少一项附加操作1402。
操作1402展示了从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值,之前已经针对多个频道在至少一个时间段上使用来自每个分片的数据确定了针对每个分片所建立的该中间点值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以确定中值,该中值是针对每个分片所确定的,其中,针对与在确定客户端系统上的片段的操作中相同的摄取时的分片建立中值,该中值被建立为从在长时间(一个月、一年等)内跨许多频道的相同分片进行监视来导出的常数值。
图15展示了图10的示例操作流程1000的替代性实施例。图15展示了示例实施例,其中操作1008可以包括至少一项附加操作。附加操作可以包括操作1502、操作1504和/或操作1506。
操作1502展示了形成至少包括由于该减法而产生的这些值的一个可变矩阵。例如,如在图1至图9中所示出的和/或关于其所描述的,值被安排在矩阵中,这些值由减法操作产生,其中,该减法操作从正在被摄取的即时帧的平均值中减去随着时间推移针对每个分片所建立的中值。
操作1504展示了获得在与该可变矩阵相交叉时将更均匀地分布这些经变换的值的一个静态矩阵。例如,如在图1至图9中所示出的和/或关于其所描述的,可以基于对先前所获得的关于散列值的数据集进行的数学分析来确定矩阵。可以在数学上对该矩阵进行优化,从而使得当用作与连续的可变矩阵的点积操作中的操作数时,相应的连续结果矩阵将包括多个值,这些值沿着分布曲线比在点积操作之前的可变矩阵更均匀地分布。
操作1506展示了计算该可变矩阵与该静态矩阵的一个点积,该点积至少包括这些被更均匀地分布的经变换的值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将包含由于减法操作所产生的多个值的可变矩阵与静态矩阵相交叉,该静态矩阵已经被预先确定为用于更均匀地分布由可变矩阵所表示的数据,从而使得所产生的矩阵更加分散开而不是围绕分布的具体部分聚拢。
图16展示了图10的示例操作流程1000的替代性实施例。图16展示了示例实施例,其中操作1504可以包括至少一项附加操作1602。
操作1602展示了使用位置敏感散列法至少部分地基于一个或多个先前所获得的散列值来确定在与一个可变矩阵相交叉时将更均匀地分布该可变矩阵的这些经变换的值的一个静态矩阵。例如,如在图1至图9中所示出的和/或关于其所描述的,可以使用一种位置敏感散列技术来分析先前所摄取的视频样本,产生矩阵,从而使得当用作与连续的可变矩阵的点积操作中的操作数时,相应的连续结果矩阵将包括多个值,这些值沿着分布曲线比在点积操作之前的可变矩阵更均匀地分布。
图17展示了图10的示例操作流程1000的替代性实施例。图17展示了示例实施例,其中操作1010可以包括至少一项附加操作。附加操作可以包括操作1702和/或操作1704。
操作1702展示了从这些经变换的值中构建一个散列值,包括至少通过将每个经变换的值减小至一个二进制表示来减小这些经变换的值的保真度。例如,如在图1至图9中所示出的和/或关于其所描述的,来自点积操作的结果矩阵的每个值都可以从例如从0至255的8位值(或从-127至128)减少至单个位,或者为一或者为零。
操作1702可以包括操作1704。操作1704展示了针对每个经变换的值确定该经变换的值是否是一个正数,并且如果该经变换的值是一个正数,将一赋值给该散列值,并且否则将零赋值给该散列值。例如,如在图1至图9中所示出的和/或关于其所描述的,来自点积操作的结果矩阵的在1与128之间的每个值都可以被减少至为1的位值,并且来自该点积操作的结果矩阵的在-127与0之间的每个值都可以被减少至为0的位值。
图18展示了图10的示例操作流程1000的替代性实施例。图18展示了示例实施例,其中操作1012可以包括至少一项附加操作1802。
操作1802展示了引用所构建的该散列值的多个最高有效位以确定一个数据库服务器,其中,该多个最高有效位被预先确定为定址多个数据库服务器,其中,与该多个最高有效位相关联的多个数据库服务器被建立为使得与一个数据库扇区相关联的至少一个索引能够完全地驻留在一个相应的数据库服务器的存储器中。例如,如在图1至图9中所示出的和/或关于其所描述的,可以选择2位的多个最高有效位,由此,该2位可以提供四个不同的值(00、01、10和11),这些值中的每个值都可以被指派给不同的数据库扇区。散列值的该多个最高有效位可以被建立为用于提供足够多的服务器,从而使得与多个散列值相关联的内容可以完全装配于具体数据库扇区的存储器中,其可以是数据库服务器、群集伙伴、虚拟机、和/或另一种类型的数据库节点。位数不一定但是可以确切地表示在任何给定时间的数据库扇区的最大数量(即,在可以选择6位来提供对高达64个数据库扇区的定址时,系统可以与较少的服务器(例如,60个扇区)或者与最大64个扇区一起操作)。
图19展示了图10的示例操作流程1000的替代性实施例。图19展示了示例实施例,其中操作1014可以包括至少一项附加操作1902。
操作1902展示了至少将该散列值存储在所确定的该数据库扇区上,包括至少部分地基于该散列值至少将对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示存储在一个数据库位置处。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将与视频片段相关联的数据(其可以是节目标题和/或与视频片段相关联的其他元数据)、从其中摄取节目的频道、以及从节目开始的时间偏移或者与散列值一起存储或者存储于与散列值相关联的和/或可由散列值引用的位置中,该存储可以在与散列值相同或不同的扇区、服务器或数据库中。
图20展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的操作流程2000。在图20中以及在包括操作流程的各个示例的下图中,将关于图1到图9的上述示例和/或关于其他示例和上下文来提供讨论和阐释。然而,应理解,可以在许多其他环境和上下文中和/或在图1到图9的经修改版本中执行这些操作流程。而且,虽然以所说明的序列来呈现各个操作流,但应理解,可以用与所说明的顺序不同的其他顺序来执行各个操作,或者可以同时执行这些操作。
在开始操作之后,操作流程2000移动到操作2002。操作2002描绘了:接收一个提示,该提示通过与一个介质存储操作相关联的一个或多个操作来构建。例如,如在图1至图9中所示出的和/或关于其所描述的,接收与从取自具体客户端系统的视频数据的样本相关联的至少一些数据。该数据可以与恰好与由摄取操作所定义的相同的客户端系统的分片相关联。可以使用与摄取操作相同的操作以算法方式处理数据以得到散列值。相应地,如果对与具体频道上的具体节目的具体时间偏移相关联的具体帧进行摄取和散列,导致与那个具体帧相关联的散列值,如果那个具体帧在被显示在客户端系统上的同时也被采样,与施加到所摄取的帧上相同的散列操作将引起与由对所摄取的帧进行的散列操作所产生的相同的散列值。但是与在摄取期间所准备的散列值相反,操作2002的提示表示与来自具体客户端系统的视频数据的样本相关联的数据。可以通过例如HTTP请求来接收提示。
然后,操作2004描绘了引用所接收的该提示的多个最高有效位以确定一个数据库扇区。例如,如在图1至图9中所示出的和/或关于其所描述的,对于由在摄取期间用于引用数据库扇区的该多个最高有效位所定义的相同的提示的位进行检查。例如,如果摄取时的散列值的前两位用于在具体数据库扇区处存储散列值,与来自客户端系统的视频数据的样本相关联的提示的相同的前两位用于对具体数据库扇区进行定址。
然后,操作2006描绘了至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,与提示确切地匹配或在该提示附近的多个散列值作为多个怀疑项或候选项中的一个或多个而被返回。可以在具体百分比半径内返回候选项。可以根据最近邻算法或经修改的最近邻算法来返回候选项。
图21展示了图20的示例操作流程2000的替代性实施例。图21展示了示例实施例,其中操作2002可以包括至少一项附加操作。附加操作可以包括操作2102、操作2104和/或操作2106。
操作2102展示了接收与一个客户端系统的一个视频缓冲器的一个样本相关联的一个提示,包括至少接收与一个时刻相关的一个或多个指示,该时刻与该客户端系统的该视频缓冲器的该样本相关联。例如,如在图1至图9中所示出的和/或关于其所描述的,提示可以包括与任意时间的时间偏移或与其相关联。例如,可以从1970年1月1日开始计算该时间偏移。
操作2104展示了:接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将一个或多个操作数用作常数通过一个或多个数学运算或算法将与视频缓冲器相关联的多个分片减少至一个位串,这些常数是通过例如本文中其他地方关于散列所描述的操作来预先导出的。
操作2016展示了:接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定,该散列至少部分地基于同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。例如,如在图1至图9中所示出的和/或关于其所描述的,通过摄取操作所利用的和/或与摄取过程所共有的数据位置相结合利用的和/或涉及用于摄取过程所利用的操作数的常数值的操作来对与表示在具体时间量子时电视屏幕显示什么的视频缓冲器的样本相关联的至少一些数据进行处理。例如,在摄取时所分析的分片的数量还可以用于提供与具体客户端系统相关联的提示。在摄取时所分析的像素分片的大小还可以用于提供与具体客户端系统相关联的提示。在摄取时用于更均匀地分布散列值的相同的预先导出的静态矩阵还可以用于对于具体客户端系统相关联的数据进行散列期间。
图22展示了图20的示例操作流程2000的替代性实施例。图22展示了示例实施例,其中操作2002可以包括至少一项附加操作。附加操作可以包括操作2202、操作2204、操作2206、操作2208、操作2210、操作2212和/或操作2214。
操作2202展示了接收对一个客户端系统的一个视频缓冲器的至少一项内容的一个或多个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,可以针对每个帧、或针对每三个帧、或针对每十个帧、或针对每秒、或以某种其他的间隔来读取用于客户端系统的视频缓冲器的每个预定义的分片处的每个像素位置处的红色像素、绿色像素和蓝色像素的像素值。可以由电视上的控件、由电视上的控制逻辑、由与媒体服务器耦接的系统、或其他地方来接收这些指示(像素值或其他数据)。
操作2204展示了针对包括至少一个分片的至少一个或多个像素的该视频缓冲器的该至少一项内容的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值。例如,如在图1至图9中所示出的和/或关于其所描述的,可以对用于客户端系统的视频缓冲器的每个预定义的分片处的每个像素位置处的红色像素、绿色像素和蓝色像素的像素值取平均。
操作2206展示了从针对每个分片的平均值中减去一个中间点值。例如,如在图1至图9中所示出的和/或关于其所描述的,确定了通过对所摄取的内容进行的分析来建立的在每个分片处的中间点值。一旦由与媒体数据库和摄取系统相关联的系统确定,用于每个分片的中间点值可以例如被提供至客户端系统。可以不时地(每小时、每天、每月、每年)更新这些中间点值。提供用于对与客户端系统的视频缓冲器相关联的数据进行散列的这些中间点值可以是在摄取时用于对传入的内容进行散列的相同中间点值。
操作2208展示了对由于该减法所产生的这些值进行变换。例如,如在图1至图9中所示出的和/或关于其所描述的,由减法所产生的这些值被填充到矩阵中并且与预定义的静态矩阵相交叉。可以在将与视频缓冲器内的帧相关联的像素分片数据转换为提示的过程期间在客户端系统处执行将该两个矩阵相交叉的点积操作,从而使得在HTTP请求中而不是实际像素分片数据中发送提示,导致紧凑的HTTP消息。预定义的静态矩阵可以在变换之前被提供给客户端系统、并且可以是与被产生以在摄取时更均匀地分布多个经散列的值的相同的矩阵。可以不时地在客户端系统处更新预定义的静态矩阵。替代性地,可以将分片数据(与或不与其他元数据一起)从客户端系统(例如,电视)发送至不同的系统用于进行处理和/或散列。
操作2210展示了从这些经变换的值中构建一个散列值。例如,如在图1至图9中所示出的和/或关于其所描述的,由于将具有与视频缓冲器相关联的值的矩阵与预先导出的静态矩阵相交叉而产生的矩阵中的那些值可以被减少至多个位,其中,单个位替代矩阵中的每个8位值。在其他实施例中,所构建的散列值可以包括用于矩阵中的每个值的不同位数。在不同的实施例中,所构建的散列值可以具有与矩阵中的那些值相同的位数,或者可以是对矩阵中的那些值的直接表示。
操作2212展示了将该提示至少部分地与所构建的该散列值相关联。例如,如在图1至图9中所示出的和/或关于其所描述的,从经变换的矩阵中所构建出来的位串可以是提示、或者可以将所构建的位串与时间(例如,时刻)相关联以形成提示、或者可以关联其他数据(如,IP地址或与客户端电视或客户端电视的控件相关联的其他标识符)以形成提示。替代性地,提示可以包括与客户端系统处的视听内容相关联的任何其他元数据或者以其他方式与其相关联。
操作2214展示了确定操作2204、减法操作2206、变换操作2208、或构建操作2210中的至少一个利用同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。例如,如在图1至图9中所示出的和/或关于其所描述的,可以将包括对像素分片的数量的定义、对像素分片的大小的定义、与像素分片相关联的预定义的中值、或预定义的静态矩阵中的一项或多项的一个或多个参数提供给客户端TV,该一个或多个参数还被摄取过程所利用从而使得应用至来自视频缓冲器的样本的多个操作将导致与当对那个帧(例如,相同的视频片段和时间偏移)进行摄取和散列时所产生的散列值相同的散列值。
图23展示了图20的示例操作流程2000的替代性实施例。图23展示了示例实施例,其中操作2006可以包括至少一项附加操作。附加操作可以包括操作2302和/或操作2304。
操作2302展示了至少部分地基于作为所接收的该提示的函数的一种平等球中的概率点位置(“PPLEB”)算法来返回对来自该数据库扇区的至少一个候选项的至少一个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,从通过摄取过程所构建和/或修改的媒体数据库中返回表示与提示接近的路径点(例如,邻项、最近邻项、在半径内、从在相同的储物桶内、属于相同的环等)的候选项或怀疑项中的至少一个。
操作2304展示了:至少部分地基于所接收的该提示来返回对来自该数据库扇区的至少一个候选项的至少一个指示,该至少一个候选项在所接收的该提示的一个预先确定的逆百分比分布半径内。例如,如在图1至图9中所示出的和/或关于其所描述的,返回与关于提示与散列值中的至少一项的位置敏感散列法相关联的至少一个候选项或怀疑项。
图24展示了表示关于使用距离关联性散列法来对媒体数据库进行定址的多个示例操作的操作流程2400。在图24中以及在包括操作流程的各个示例的下图中,将关于图1到图9的上述示例和/或关于其他示例和上下文来提供讨论和阐释。然而,应理解,可以在许多其他环境和上下文中和/或在图1到图9的经修改版本中执行这些操作流程。而且,虽然以所说明的序列来呈现各个操作流,但应理解,可以用与所说明的顺序不同的其他顺序来执行各个操作,或者可以同时执行这些操作。
在开始操作之后,操作流程2400移动到操作2402。操作2402描绘了接收对至少一个候选项的至少一个指示和对至少一个提示的至少一个指示。例如,如在图1至图9中所示出的和/或关于其所描述的,与客户端系统的视频缓冲器有关的散列值、连同一个或多个相关联的候选项或怀疑项一起被确定。
然后,操作2404描绘了将一个令牌添加到与至少一个所接收的候选项相关联的一个箱。例如,如在图1至图9中所示出的和/或关于其所描述的,对候选项进行评分是通过添加至与候选项/怀疑项相对应的箱上的令牌来进行的,该令牌是例如每次令牌加一时递增的值。
然后,操作2406描绘了:确定在一个箱内的令牌的数量是否超过与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,并且如果在一个箱内的令牌的该数量超过了与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,至少部分地基于该箱返回与该具体视频片段相关联的至少一些数据。例如,如在图1至图9中所示出的和/或关于其所描述的,对具体视频片段和该视频片段的具体偏移的确定通过与这些箱相关联的该评分来在概率上确定。
图25展示了图24的示例操作流程2400的替代性实施例。图25展示了示例实施例,其中操作2404可以包括至少一项附加操作2502。
操作2502展示了将一个令牌添加到与至少一个所接收的候选项相关联的一个时间箱。例如,如在图1至图9中所示出的和/或关于其所描述的,与候选项/怀疑项相关联的数据结构可以包括由任意时间所分组的任意时间箱。
图26展示了图20的示例操作流程2400的替代性实施例。图26展示了示例实施例,其中操作2404可以包括至少一项附加操作。附加操作可以包括操作2602和/或操作2604。进一步地,操作流程2400可以包括至少一项附加操作2606。
操作2602展示了:确定一个相对时间,包括至少从与该至少一个提示相关联的一个任意时间减去与该至少一个候选项相关联的一个候选项时间。例如,如在图1至图9中所示出的和/或关于其所描述的,从与有关接收自客户端系统(电视、机顶盒、或物品、机器、或显示和/或提供和/或接收视频内容的组合物)的提示的时刻相关联的任意时间中减去与候选项相关联的视频片段的时间偏移。
操作2604展示了至少部分地基于所确定的该相对时间将一个令牌添加到与该候选项相关联的一个时间箱。例如,如在图1至图9中所示出的和/或关于其所描述的,当与客户端系统相关联的提示点匹配或几乎匹配与媒体数据库相关联的参考提示点时,可以向箱添加令牌,这可以包括将与箱相关联的值或其他跟踪箱操作的手段加一。
操作2606展示了至少部分地基于所经过的一个时间段从一个时间箱移除一个或多个令牌。例如,如在图1至图9中所示出的和/或关于其所描述的,箱可以是泄露的从而使得与旧怀疑项/候选项相关联的数据和/或令牌可以从箱中释放出来,这可以包括将与箱相关联的值或其他跟踪箱操作的手段减一。
在不同的实施例中,像素位置可以涉及一种或许多种颜色和/或颜色空间/模型(例如,红色、蓝色、绿色;红色、蓝色、绿色和黄色;青色、品红色、黄色、和黑色;单个像素值唯一地标识一种颜色,例如,与像素位置相关联的24位值;色调、饱和度、亮度;等)。可以使用在分片中不同的像素数量,并且分片不一定是正方形分片。进一步地,客户端系统的视频缓冲器的分辨率可以变化。在客户端系统和摄取系统处的分辨率和/或色密度可以变化。系统可以以不同的光栅分辨率(包括但不限于1920乘1080、3840乘2160、1440×1080、1366×768或其他分辨率)来操作。预期的是,在接下来的二十年内,将发生常用节目、电视和/或客户端系统的像素分辨率的增加;虽然像素分片数量、大小、采样率或其他方面可能变化,可以利用相同的基本操作。进一步地,上变频、下变频、或与分辨率和/或色密度相关联的其他变换操作可以发生和/或插入到在此所描述的其他操作之间。
图27展示了可以在其中实现实施例的示例系统2700。系统2700包括一个或多个计算装置2702。系统2700还展示了用于促进在一个或多个计算装置与一个或多个客户端装置2706之间的通信的构架2704。系统2700包括还展示了一个或多个客户端装置2706。在一些实施例中,该一个或多个客户端装置可以在该一个或多个计算装置之间。系统2700还展示了至少一个非瞬态计算机可读介质2708。在一些实施例中,2708可以包括一条或多条指令2710,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收至少一个栅格化视频流;创建与至少一个所接收的栅格化视频流的至少一个样本相关联的至少一个散列值;确定用于存储所创建的至少一个散列值的至少一个数据库扇区;以及将所创建的至少一个散列值存储在所确定的至少一个数据库扇区上。在不同的实施例中,该一条或多条指令可以执行于单个计算装置上。在其他实施例中,该一条或多条指令中的一些部分可以通过该一个或多个计算装置中的第一多个计算装置来执行,而该一条或多条指令中的其他部分可以通过该一个或多个计算装置中的第二多个计算装置来执行。
图28展示了可以在其中实现实施例的示例系统2800。系统2800包括一个或多个计算装置2802。系统2800还展示了用于促进在一个或多个计算装置与一个或多个客户端装置2806之间的通信的构架2804。系统2800包括还展示了一个或多个客户端装置2806。在一些实施例中,该一个或多个客户端装置可以在该一个或多个计算装置之间。系统2800还展示了至少一个非瞬态计算机可读介质2808。在一些实施例中,2808可以包括一条或多条指令2810,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收与至少一个客户端系统的至少一个视频缓冲器相关联的一个或多个指令;至少部分地基于该至少一个视频缓冲器以及与该至少一个视频缓冲器相关联的至少一个时刻来确定一个提示,其中,与确定该提示相关联的至少一个操作数或至少一个函数中的一个或多个还被用于相关联的介质存储操作中;引用所确定的一个提示的多个最高有效位以确定一个数据库扇区;以及至少部分地基于所确定的一个提示返回对来自所确定的一个数据库扇区的至少一个候选项的至少一个指示。在不同的实施例中,该一条或多条指令可以执行于单个计算装置上。在其他实施例中,该一条或多条指令中的一些部分可以通过该一个或多个计算装置中的第一多个计算装置来执行,而该一条或多条指令中的其他部分可以通过该一个或多个计算装置中的第二多个计算装置来执行。
图29展示了可以在其中实现实施例的示例系统2900。系统2900包括一个或多个计算装置2902。系统2900还展示了用于促进在一个或多个计算装置与一个或多个客户端装置2906之间的通信的构架2904。系统2900包括还展示了一个或多个客户端装置2906。在一些实施例中,该一个或多个客户端装置可以在该一个或多个计算装置之间。系统2900还展示了至少一个非瞬态计算机可读介质2908。在一些实施例中,2908可以包括一条或多条指令2910,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:接收对至少一个候选项的至少一个指示和对至少一个提示的至少一个指示;将一个令牌添加到与至少一个所接收的候选项相关联的一个箱;以及确定在一个箱内的令牌的数量是否超过与一个客户端系统正在接收与所接收到的至少一个提示相关联的一个具体视频片段的概率相关联的一个值,并且如果在一个箱内的令牌的该数量超过了与一个客户端系统正在接收与所接收到的至少一个提示相关联的一个具体视频片段的概率相关联的一个值,至少部分地基于该箱返回与该具体视频片段相关联的至少一些数据。在不同的实施例中,该一条或多条指令可以执行于单个计算装置上。在其他实施例中,该一条或多条指令中的一些部分可以通过该一个或多个计算装置中的第一多个计算装置来执行,而该一条或多条指令中的其他部分可以通过该一个或多个计算装置中的第二多个计算装置来执行。
本发明的某些方面包括在此以算法形式描述的处理步骤和指令。应当注意,本发明的这些处理步骤和指令可以体现在软件、固件或硬件中,并且当体现在软件中时,可以被下载以驻留在由实时网络操作系统使用的不同的平台上并且从这些不同的平台来操作。
本发明还涉及一种用于执行在此的操作的设备。该设备可被专门构造用于所需目的,或者其可以包括通过存储于计算机中的计算机程序选择性地激活或重新布置的通用计算机。此类计算机程序可存储于计算机可读存储介质,诸如但不限于任何类型的盘,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC)、或适用于存储电子指令的任何类型的介质,并且每一者均耦接至计算机系统总线。
另外,在本说明书中所涉及的计算机或计算装置可以包括单个处理器或者可以采用用于增加计算能力的多处理器设计。
在此所提出的算法和显示并非固有地与任何特定计算机或其他装置相关。依据本文的教导,各种通用系统也可以与程序一起使用,或构建更专业的装置以执行所需的方法步骤可证明是方便的。用于多种这些系统的所需结构将从上文描述中显现。另外,没有参照任何特定的程序语言或操作系统来描述本发明。应当认识到,各种编程语言和操作系统可以用于实现如在此所描述的本发明的教导。
本说明书中所描述的系统和方法、流程图以及结构框图可以在包括程序代码的计算机处理系统中实现,该程序代码包括可由计算机处理系统执行的程序指令。还可以使用其他实现方式。此外,本文中所描述的流程图和结构框图描述了支持多个步骤和相应功能(这些步骤和相应功能支持所披露的结构手段)的具体方法和/或相应动作,并且还可以用于实现相应的软件结构和算法、及其等效物。
本说明书中所披露的主题的实施例可以被实现为一个或多个计算机程序产品,即,编码在有形程序载体上的计算机程序指令的一个或多个模块,以便由数据处理装置执行或控制其操作。计算机储存介质可以是机器可读存储设备、机器可读储存基板、存储器设备、或它们中的一个或多个的组合。
计算机程序(又称为程序、软件、软件应用、脚本或代码)可以用任何形式的编程语言编写,包括编译型语言或解释型语言、或声明型语言或程序语言,并且其可以用任何形式部署,包括作为独立式程序或作为模块、组件、子例程、或适合于在计算环境中使用的其他单元。计算机程序不一定对应于文件系统中的文件。程序可以存储在文件的保持其他程序或数据的部分中(例如,存储在标记语言文档中的一个或多个脚本)、存储在专用于所讨论的程序的单个文件中、或者存储在多个协调文件(例如,存储一个或多个模块、子程序、或代码的多个部分的文件)中。计算机程序可以被部署成在一个计算机上或者在位于一个站点或分布在多个站点并且通过合适的通信网络互连的多个计算机上被执行。
本说明书中所描述的过程或逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程处理器执行以便执行对输入数据进行操作并且生成输出的功能。这些过程或逻辑流程还可以由装置执行,并且装置还可以被实现为专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
计算机的必不可少的元件是用于执行指令的处理器和一个或多个用于存储指令和数据的存储器设备。通常,计算机还将包括一个或多个用于存储数据的存储设备(例如,磁盘、磁光盘、或光盘)或者操作性地联接成用于从其中接收数据或向其传输数据或者既接收又传输数据。然而,计算机不需要具有这种设备。适合于执行计算机程序的处理器仅举例来讲而非限制性地包括通用微处理器和专用微处理器两者、以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。
为了提供与本文中描述的系统的用户或管理者交互,本说明书中所描述的主题的实施例可以实现在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监控器)以及用户可以通过其向计算机提供输入的键盘(例如,鼠标或追踪球)以及定点设备的计算机上。其他种类的设备也可以用于提供与用户交互。例如向用户提供的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或者触觉反馈;并且可以用任何形式(包括声学、语音或者触觉输入)接收来自用户的输入。
本说明书中所描述的主题的实施例可以实现在计算系统中,该计算系统包括包括一个或多个数据服务器的后端组件、或包括具有一个或多个中间件组件(如应用服务器)、或包括具有图形用户界面或Web浏览器(用户或管理员可以通过其与本说明书中所描述的主题的某些实现方式交互)的前端组件(如客户端计算机)、或一个或多个这种后端组件、中间件、或前端组件的任意组合。系统的组件可以通过任何数字数据通信形式或介质(如通信网络)互连。计算系统可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络交互。客户端与服务器的关系借助于在各自的计算机上运行的并且彼此具有客户端服务器关系的计算机程序产生。
虽然本说明书包含许多特定实现方式细节,但这些不应被解释为对任何发明或可能要求的事物的范围的限制,而是被解释为对可能特定于具体发明的具体实施例的特征的描述。在单独的实施例的背景下在本说明书中所描述的某些特征还可以按组合形式实现在单一实施例中。
相反,在单一实施例的背景下描述的不同特征也可以被单独的或以任何合适的子组合的方式实现在多个实施例中。而且,尽管特征以上可以被描述为以某些组合起作用并且甚至如此最初被要求,但来自所要求的组合的一个或多个特征在某些情况下可以与组合离体,并且所要求的组合可以针对子组合或子组合的变化。
类似地,虽然附图中以具体顺序描绘了操作,但这不应被理解成要求这种操作以所示的具体顺序或以有序顺序执行,或者所有展示的操作可以被执行,以实现令人希望的结果。在某些情况下,多重任务处理和并行处理可能是有利的。而且,上述实施例中的不同系统组件的分离不应被理解成在所有实施例中都要求这种分离,并且应理解的是,所描述的程序部件和系统通常可以一起整合在单个软件产品中或封装进多个软件产品中。
所编写的本说明书阐述了本发明的最佳模式并且提供了多个示例来描述本发明并且能够使本领域的普通技术人员制作和使用本发明。所编写的本说明书不将本发明局限于所阐述的精确术语。因此,虽然参照以上阐述的示例详细描述了本发明,但本领域的普通技术人员可以对这些示例实施变化、修改和改变而不脱离本发明的范围。

Claims (24)

1.一种方法,包括:
接收对一个视频片段的一个样本的一个或多个指示;
针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值;
从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值;
使用预先导出的一个函数来变换由于该减法而产生的这些值以均匀地分布这些值;
从这些经变换的值中构建一个散列值;
引用所构建的该散列值的多个最高有效位以确定一个数据库扇区;以及
至少将该散列值存储在所确定的该数据库扇区上。
2.如权利要求1所述的方法,其中,使用一个或多个处理装置来至少部分地实现该接收、确定、减法、变换、构建、引用、或存储中的至少一项。
3.如权利要求1所述的方法,其中,接收对一个视频片段的一个样本的一个或多个指示包括:
接收对一个帧或一个静止图像中的至少一项的一个或多个指示。
4.如权利要求1所述的方法,其中,接收对一个视频片段的一个样本的一个或多个指示包括:
接收对一个视频片段的一个样本的一个或多个指示,对一个视频片段的一个样本的该一个或多个指示与对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示相关联。
5.如权利要求1所述的方法,其中,针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值包括:
针对包括至少一个分片的至少一个或多个像素的一个视频片段的该样本的该至少一个分片来确定每个分片的该一个或多个像素的一个平均值。
6.如权利要求1所述的方法,其中,从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值包括:
从针对每个分片的平均值中减去针对每个分片所建立的一个中间点值,之前已经针对多个频道在至少一个时间段上使用来自每个分片的数据确定了针对每个分片所建立的该中间点值。
7.如权利要求1所述的方法,其中,使用预先导出的一个函数来变换由于该减法而产生的这些值以均匀地分布这些值包括:
形成至少包括由于该减法而产生的这些值的一个可变矩阵;
获得在与该可变矩阵相交叉时将更均匀地分布这些经变换的值的一个静态矩阵;以及
计算该可变矩阵与该静态矩阵的一个点积,该点积至少包括这些被更均匀地分布的经变换的值。
8.如权利要求7所述的方法,其中,获得在与该可变矩阵相交叉时将更均匀地分布这些经变换的值的一个静态矩阵包括:
使用位置敏感散列法至少部分地基于一个或多个先前所获得的散列值来确定在与一个可变矩阵相交叉时将更均匀地分布该可变矩阵的这些经变换的值的一个静态矩阵。
9.如权利要求1所述的方法,其中,从这些经变换的值中构建一个散列值包括:
从这些经变换的值中构建一个散列值,包括至少通过将每个经变换的值减小至一个二进制表示来减小这些经变换的值的保真度。
10.如权利要求9所述的方法,其中,通过将每个经变换的值减小至一个二进制表示来减小这些经变换的值的保真度包括:
针对每个经变换的值确定该经变换的值是否是一个正数,并且如果该经变换的值是一个正数,将一赋值给该散列值,并且否则将零赋值给该散列值。
11.如权利要求1所述的方法,其中,引用所构建的该散列值的多个最高有效位以确定一个数据库扇区包括:
引用所构建的该散列值的多个最高有效位以确定一个数据库服务器,其中,该多个最高有效位被预先确定为定址多个数据库服务器,其中,与该多个最高有效位相关联的多个数据库服务器被建立为使得与一个数据库扇区相关联的至少一个索引能够完全地驻留在一个相应的数据库服务器的存储器中。
12.如权利要求1所述的方法,其中,至少将该散列值存储在所确定的该数据库扇区上包括:
至少将该散列值存储在所确定的该数据库扇区上,包括至少部分地基于该散列值至少将对一个频道的至少一个指示、对一个视频片段的至少一个指示、以及对与该视频片段的开始的一个时间代码偏移的至少一个指示存储在一个数据库位置处。
13.一种方法,包括:
接收一个提示,该提示通过与一个介质存储操作相关联的一个或多个操作来构建;
引用所接收的该提示的多个最高有效位以确定一个数据库扇区;以及
至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示。
14.如权利要求13所述的方法,其中,接收一个提示(该提示通过与一个介质存储操作相关联的一个或多个操作来构建)包括:
接收与一个客户端系统的一个视频缓冲器的一个样本相关联的一个提示,包括至少接收与一个时刻相关的一个或多个指示,该时刻与该客户端系统的该视频缓冲器的该样本相关联。
15.如权利要求13所述的方法,其中,接收一个提示(该提示通过与一个介质存储操作相关联的一个或多个操作来构建)包括:
接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定。
16.如权利要求15所述的方法,其中,接收一个提示(该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定)包括:
接收一个提示,该提示与一个客户端系统的一个视频缓冲器的一个样本相关联,该提示至少部分地通过对与该视频缓冲器相关联的至少一些值进行散列来确定,该散列至少部分地基于同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。
17.如权利要求13所述的方法,其中,接收一个提示(该提示通过与一个介质存储操作相关联的一个或多个操作来构建)包括:
接收一个提示,该提示通过至少包括以下各项的一个或多个操作来确定:
接收对一个客户端系统的一个视频缓冲器的至少一项内容的一个或多个指示;
针对包括至少一个分片的至少一个或多个像素的该视频缓冲器的该至少一项内容的该至少一个分片来确定每个分片的该一个或多个像素的一个以算法方式导出的值;
从针对每个分片的平均值中减去一个中间点值;
对由于该减法所产生的这些值进行变换;
从这些经变换的值中构建一个散列值;以及
将该提示至少部分地与所构建的该散列值相关联,
其中,该确定操作、减法操作、变换操作、或构建操作中的至少一个利用同样用于一个相关联的介质存储操作中的至少一个操作数或至少一个算法中的一个或多个。
18.如权利要求13所述的方法,其中,至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示包括:
至少部分地基于作为所接收的该提示的函数的一种平等球中的概率点位置(“PPLEB”)算法来返回对来自该数据库扇区的至少一个候选项的至少一个指示。
19.如权利要求13所述的方法,其中,至少部分地基于所接收的该提示返回对来自该数据库扇区的至少一个候选项的至少一个指示包括:
至少部分地基于所接收的该提示来返回对来自该数据库扇区的至少一个候选项的至少一个指示,该至少一个候选项在所接收的该提示的一个预先确定的逆百分比分布半径内。
20.一种方法,包括:
接收对至少一个候选项的至少一个指示和对至少一个提示的至少一个指示;
将一个令牌添加到与至少一个所接收的候选项相关联的一个箱;以及
确定在一个箱内的令牌的数量是否超过与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,并且如果在一个箱内的令牌的该数量超过了与一个客户端系统正在显示与至少一个提示相关联的一个具体视频片段的概率相关联的一个值,至少部分地基于该箱返回与该具体视频片段相关联的至少一些数据。
21.如权利要求20所述的方法,其中,将一个令牌添加到与至少一个所接收的候选项相关联的一个箱包括:
将一个令牌添加到与至少一个所接收的候选项相关联的一个时间箱。
22.如权利要求20所述的方法,其中,将一个令牌添加到与至少一个所接收的候选项相关联的一个箱包括:
确定一个相对时间,包括至少从与该至少一个提示相关联的一个任意时间减去与该至少一个候选项相关联的一个候选项时间;以及
至少部分地基于所确定的该相对时间将一个令牌添加到与该候选项相关联的一个时间箱。
23.如权利要求21所述的方法,进一步包括:
至少部分地基于所经过的一个时间段从一个时间箱移除一个或多个令牌。
24.一种系统,包括:
一个或多个计算装置;以及
一条或多条指令,当该一条或多条指令被执行于该一个或多个计算装置中的至少一些上时使该一个或多个计算装置中的至少一些至少执行以下操作:
接收至少一个栅格化视频流;
创建与至少一个所接收的栅格化视频流的至少一个样本相关联的至少一个散列值;
确定用于存储所创建的至少一个散列值的至少一个数据库扇区;以及
将所创建的至少一个散列值存储在所确定的至少一个数据库扇区上。
CN201480017043.9A 2013-03-15 2014-03-17 用于使用距离关联性散列法对媒体数据库定址的系统和方法 Active CN105144141B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811395356.4A CN110083739B (zh) 2013-03-15 2014-03-17 用于使用距离关联性散列法对媒体数据库定址的系统和方法

Applications Claiming Priority (19)

Application Number Priority Date Filing Date Title
US201361791578P 2013-03-15 2013-03-15
US61/791,578 2013-03-15
US14/089,003 2013-11-25
US14/089,003 US8898714B2 (en) 2009-05-29 2013-11-25 Methods for identifying video segments and displaying contextually targeted content on a connected television
US14/217,375 US9094714B2 (en) 2009-05-29 2014-03-17 Systems and methods for on-screen graphics detection
US14/217,075 2014-03-17
PCT/US2014/030805 WO2014145947A1 (en) 2013-03-15 2014-03-17 Systems and methods for identifying video segments for displaying contextually relevant content
US14/217,435 US9094715B2 (en) 2009-05-29 2014-03-17 Systems and methods for multi-broadcast differentiation
US14/217,094 US8930980B2 (en) 2010-05-27 2014-03-17 Systems and methods for real-time television ad detection using an automated content recognition database
US14/217,435 2014-03-17
PCT/US2014/030795 WO2014145938A1 (en) 2013-03-15 2014-03-17 Systems and methods for real-time television ad detection using an automated content recognition database
US14/217,075 US9055309B2 (en) 2009-05-29 2014-03-17 Systems and methods for identifying video segments for displaying contextually relevant content
USPCT/US2014/30795 2014-03-17
US14/217,425 2014-03-17
USPCT/US2014/30805 2014-03-17
US14/217,425 US9071868B2 (en) 2009-05-29 2014-03-17 Systems and methods for improving server and client performance in fingerprint ACR systems
US14/217,094 2014-03-17
US14/217,375 2014-03-17
PCT/US2014/030782 WO2014145929A1 (en) 2013-03-15 2014-03-17 Systems and methods for addressing a media database using distance associative hashing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811395356.4A Division CN110083739B (zh) 2013-03-15 2014-03-17 用于使用距离关联性散列法对媒体数据库定址的系统和方法

Publications (2)

Publication Number Publication Date
CN105144141A true CN105144141A (zh) 2015-12-09
CN105144141B CN105144141B (zh) 2018-12-07

Family

ID=54258939

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201811395356.4A Active CN110083739B (zh) 2013-03-15 2014-03-17 用于使用距离关联性散列法对媒体数据库定址的系统和方法
CN201480017043.9A Active CN105144141B (zh) 2013-03-15 2014-03-17 用于使用距离关联性散列法对媒体数据库定址的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201811395356.4A Active CN110083739B (zh) 2013-03-15 2014-03-17 用于使用距离关联性散列法对媒体数据库定址的系统和方法

Country Status (7)

Country Link
CN (2) CN110083739B (zh)
BR (1) BR112015023369B1 (zh)
CA (1) CA2906199C (zh)
CL (1) CL2015002621A1 (zh)
HK (1) HK1217794A1 (zh)
MX (2) MX356884B (zh)
WO (1) WO2014145929A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109804367A (zh) * 2016-08-08 2019-05-24 内特拉戴因股份有限公司 使用边缘计算的分布式视频存储和搜索

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9026668B2 (en) 2012-05-26 2015-05-05 Free Stream Media Corp. Real-time and retargeted advertising on multiple screens of a user watching television
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10116972B2 (en) 2009-05-29 2018-10-30 Inscape Data, Inc. Methods for identifying video segments and displaying option to view from an alternative source and/or on an alternative device
US10949458B2 (en) 2009-05-29 2021-03-16 Inscape Data, Inc. System and method for improving work load management in ACR television monitoring system
US9071868B2 (en) 2009-05-29 2015-06-30 Cognitive Networks, Inc. Systems and methods for improving server and client performance in fingerprint ACR systems
US10375451B2 (en) 2009-05-29 2019-08-06 Inscape Data, Inc. Detection of common media segments
US9449090B2 (en) 2009-05-29 2016-09-20 Vizio Inscape Technologies, Llc Systems and methods for addressing a media database using distance associative hashing
US8769584B2 (en) 2009-05-29 2014-07-01 TVI Interactive Systems, Inc. Methods for displaying contextually targeted content on a connected television
US10192138B2 (en) 2010-05-27 2019-01-29 Inscape Data, Inc. Systems and methods for reducing data density in large datasets
US9838753B2 (en) 2013-12-23 2017-12-05 Inscape Data, Inc. Monitoring individual viewing of television events using tracking pixels and cookies
US9955192B2 (en) 2013-12-23 2018-04-24 Inscape Data, Inc. Monitoring individual viewing of television events using tracking pixels and cookies
CA2973740C (en) 2015-01-30 2021-06-08 Inscape Data, Inc. Methods for identifying video segments and displaying option to view from an alternative source and/or on an alternative device
MX2017013128A (es) 2015-04-17 2018-01-26 Inscape Data Inc Sistemas y metodos para reducir densidad de los datos en grandes conjuntos de datos.
CA2992529C (en) 2015-07-16 2022-02-15 Inscape Data, Inc. Prediction of future views of video segments to optimize system resource utilization
WO2017011768A1 (en) 2015-07-16 2017-01-19 Vizio Inscape Technologies, Llc Systems and methods for partitioning search indexes for improved efficiency in identifying media segments
JP6903653B2 (ja) 2015-07-16 2021-07-14 インスケイプ データ インコーポレイテッド 共通メディアセグメントの検出
US10080062B2 (en) 2015-07-16 2018-09-18 Inscape Data, Inc. Optimizing media fingerprint retention to improve system resource utilization
JP7118998B2 (ja) 2017-04-06 2022-08-16 インスケイプ データ インコーポレイテッド メディア視聴データを使用してデバイスマップの精度を改善させるためのシステムおよび方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812286A (en) * 1995-08-30 1998-09-22 Hewlett-Packard Company Automatic color processing to correct hue shift and incorrect exposure
US6064764A (en) * 1998-03-30 2000-05-16 Seiko Epson Corporation Fragile watermarks for detecting tampering in images
US20020105907A1 (en) * 2001-01-17 2002-08-08 Bruekers Alphons Antonius Maria Lambertus Robust checksums
CN1557096A (zh) * 2001-09-20 2004-12-22 �ʼҷ����ֵ��ӹɷ����޹�˾ 元数据处理设备
US20060133647A1 (en) * 1999-03-18 2006-06-22 British Broadcasting Corporation Watermarking
US20060155952A1 (en) * 2003-04-22 2006-07-13 Haas William R Memory management system and method using a hash table
US20060173831A1 (en) * 2000-04-06 2006-08-03 International Business Machines Corporation Longest prefix match lookup using hash function
CN101162470A (zh) * 2007-11-16 2008-04-16 北京交通大学 一种基于分层匹配的视频广告识别方法
CN101681373A (zh) * 2007-05-17 2010-03-24 杜比实验室特许公司 指导对于画面修改和帧速率转换不敏感的视频签名
CN1681304B (zh) * 2004-03-19 2010-07-21 微软公司 处理元数据的方法和设备
WO2010135082A1 (en) * 2009-05-19 2010-11-25 Dolby Laboratories Licensing Corporation Localized weak bit assignment
US20100306808A1 (en) * 2009-05-29 2010-12-02 Zeev Neumeier Methods for identifying video segments and displaying contextually targeted content on a connected television
US20110096955A1 (en) * 2008-03-20 2011-04-28 Universite De Geneve Secure item identification and authentication system and method based on unclonable features
CN102377960A (zh) * 2010-08-24 2012-03-14 腾讯科技(深圳)有限公司 视频画面显示方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6990453B2 (en) * 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
AU2004214014B2 (en) * 2003-02-21 2009-10-22 Datacore Software Corporation Additional hash functions in content-based addressing
US7469241B2 (en) * 2004-11-30 2008-12-23 Oracle International Corporation Efficient data aggregation operations using hash tables
US8392400B1 (en) * 2005-12-29 2013-03-05 Amazon Technologies, Inc. Method and apparatus for stress management in a searchable data service
US7840540B2 (en) * 2006-04-20 2010-11-23 Datascout, Inc. Surrogate hashing
US20090324199A1 (en) * 2006-06-20 2009-12-31 Koninklijke Philips Electronics N.V. Generating fingerprints of video signals
US8094872B1 (en) * 2007-05-09 2012-01-10 Google Inc. Three-dimensional wavelet based video fingerprinting
US8171030B2 (en) * 2007-06-18 2012-05-01 Zeitera, Llc Method and apparatus for multi-dimensional content search and video identification
GB2460844B (en) * 2008-06-10 2012-06-06 Half Minute Media Ltd Automatic detection of repeating video sequences
US8539199B2 (en) * 2010-03-12 2013-09-17 Lsi Corporation Hash processing in a network communications processor architecture
US8397028B2 (en) * 2010-06-15 2013-03-12 Stephen SPACKMAN Index entry eviction
US8429169B2 (en) * 2010-07-30 2013-04-23 Bytemobile, Inc. Systems and methods for video cache indexing
US9110936B2 (en) * 2010-12-28 2015-08-18 Microsoft Technology Licensing, Llc Using index partitioning and reconciliation for data deduplication

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812286A (en) * 1995-08-30 1998-09-22 Hewlett-Packard Company Automatic color processing to correct hue shift and incorrect exposure
US6064764A (en) * 1998-03-30 2000-05-16 Seiko Epson Corporation Fragile watermarks for detecting tampering in images
US20060133647A1 (en) * 1999-03-18 2006-06-22 British Broadcasting Corporation Watermarking
US20060173831A1 (en) * 2000-04-06 2006-08-03 International Business Machines Corporation Longest prefix match lookup using hash function
US20020105907A1 (en) * 2001-01-17 2002-08-08 Bruekers Alphons Antonius Maria Lambertus Robust checksums
CN1557096A (zh) * 2001-09-20 2004-12-22 �ʼҷ����ֵ��ӹɷ����޹�˾ 元数据处理设备
US20060155952A1 (en) * 2003-04-22 2006-07-13 Haas William R Memory management system and method using a hash table
CN1681304B (zh) * 2004-03-19 2010-07-21 微软公司 处理元数据的方法和设备
CN101681373A (zh) * 2007-05-17 2010-03-24 杜比实验室特许公司 指导对于画面修改和帧速率转换不敏感的视频签名
CN101162470A (zh) * 2007-11-16 2008-04-16 北京交通大学 一种基于分层匹配的视频广告识别方法
US20110096955A1 (en) * 2008-03-20 2011-04-28 Universite De Geneve Secure item identification and authentication system and method based on unclonable features
WO2010135082A1 (en) * 2009-05-19 2010-11-25 Dolby Laboratories Licensing Corporation Localized weak bit assignment
US20100306808A1 (en) * 2009-05-29 2010-12-02 Zeev Neumeier Methods for identifying video segments and displaying contextually targeted content on a connected television
US20100306805A1 (en) * 2009-05-29 2010-12-02 Zeev Neumeier Methods for displaying contextually targeted content on a connected television
CN102377960A (zh) * 2010-08-24 2012-03-14 腾讯科技(深圳)有限公司 视频画面显示方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109804367A (zh) * 2016-08-08 2019-05-24 内特拉戴因股份有限公司 使用边缘计算的分布式视频存储和搜索
CN109804367B (zh) * 2016-08-08 2023-07-04 内特拉戴因股份有限公司 使用边缘计算的分布式视频存储和搜索

Also Published As

Publication number Publication date
CN110083739B (zh) 2024-04-30
BR112015023369B1 (pt) 2022-04-05
MX2020001441A (es) 2021-08-20
CA2906199C (en) 2021-08-24
CN105144141B (zh) 2018-12-07
WO2014145929A1 (en) 2014-09-18
MX356884B (es) 2018-06-19
BR112015023369A2 (pt) 2019-02-19
CN110083739A (zh) 2019-08-02
HK1217794A1 (zh) 2017-01-20
MX2015012510A (es) 2015-12-16
CA2906199A1 (en) 2014-09-18
CL2015002621A1 (es) 2016-04-15

Similar Documents

Publication Publication Date Title
CN105144141A (zh) 用于使用距离关联性散列法对媒体数据库定址的系统和方法
US11080331B2 (en) Systems and methods for addressing a media database using distance associative hashing
US9055335B2 (en) Systems and methods for addressing a media database using distance associative hashing
JP6891170B2 (ja) ステムリソース利用を最適化するための映像セグメントの将来の視聴予測
US20230012732A1 (en) Video data processing method and apparatus, device, and medium
CN107534796B (zh) 视频处理系统和数字视频分发系统
CN110784759B (zh) 弹幕信息处理方法、装置、电子设备及存储介质
EP3001871B1 (en) Systems and methods for addressing a media database using distance associative hashing
KR102660052B1 (ko) 시스템 리소스 활용을 향상시키기 위한 미디어 핑거프린트 보유의 최적화
AU2016250276B2 (en) Systems and methods for reducing data density in large datasets
CN116188821B (zh) 版权检测方法、系统、电子设备和存储介质
CN110149529B (zh) 媒体信息的处理方法、服务器及存储介质
US9305215B2 (en) Apparatus, method and computer readable recording medium for analyzing video using image captured from video
CN102156686B (zh) 基于组示多示例学习模型的视频特定包含语义检测方法
CN111246287A (zh) 视频处理方法、发布方法、推送方法及其装置
CN106407268A (zh) 一种基于覆盖率最优化法的内容检索方法及系统
Jin et al. Network video summarization based on key frame extraction via superpixel segmentation
KR102406304B1 (ko) 자동 컨텐츠 인식에 의한 콜드 매칭
KR102601485B1 (ko) Acr 텔레비전 모니터링 시스템에서의 작업 부하 관리를 개선하기 위한 시스템 및 방법
CN117061815A (zh) 视频处理方法、装置、计算机可读介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160901

Address after: Delaware

Applicant after: Granville Construction Technology Co., Ltd.

Address before: American California

Applicant before: NEUMEIER ZEEV

REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1217794

Country of ref document: HK

CB02 Change of applicant information

Address after: Delaware

Applicant after: Structural data Co Ltd

Address before: Delaware

Applicant before: Granville Construction Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant