CN113038241B - 一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质 - Google Patents

一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质 Download PDF

Info

Publication number
CN113038241B
CN113038241B CN202110491207.3A CN202110491207A CN113038241B CN 113038241 B CN113038241 B CN 113038241B CN 202110491207 A CN202110491207 A CN 202110491207A CN 113038241 B CN113038241 B CN 113038241B
Authority
CN
China
Prior art keywords
client
media stream
time
frame rate
query fingerprint
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.)
Active
Application number
CN202110491207.3A
Other languages
English (en)
Other versions
CN113038241A (zh
Inventor
K·R·蒂伦
S·C·麦钱特
P·东克尔
M·K·克里默
S·D·舍夫
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.)
Liuke Co ltd
Original Assignee
Liuke Co ltd
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
Application filed by Liuke Co ltd filed Critical Liuke Co ltd
Priority to CN202110491207.3A priority Critical patent/CN113038241B/zh
Publication of CN113038241A publication Critical patent/CN113038241A/zh
Application granted granted Critical
Publication of CN113038241B publication Critical patent/CN113038241B/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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window
    • 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/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • 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/43072Synchronising 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 multiple content streams on the same device
    • 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/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/44016Processing 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 splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/4402Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing 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 reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Databases & Information Systems (AREA)

Abstract

本申请涉及一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质。一种计算系统基于与由客户端以某一帧速率产生的查询指纹进行的指纹匹配而识别正由所述客户端接收的媒体流。所述计算系统接着使所述客户端增大所述帧速率,以便促进所述计算系统在所述媒体流内的真实时间和根据所述客户端的时钟的客户端时间之间建立同步锁。所述计算系统接着将所述建立的同步锁用作将在所述媒体流中应执行内容修正的真实时间点映射到所述客户端应执行所述内容修正的客户端时间点的基础。并且,所述计算系统使所述客户端在所述确定的客户端时间点执行所述内容修正。

Description

一种用于在媒体流中执行修正的方法、计算系统及非暂时性 计算机可读介质
分案申请的相关信息
本申请是申请号为201980001136.5、申请日为2019年6月7日、发明名称为“动态控制指纹识别速率以促进媒体内容的时间精确修正”的中国发明专利申请的分案申请。
相关申请的交叉引用
本申请要求2018年10月22日申请的第16/166,561号美国专利申请和2018年7月16日申请的第62/698,629号美国临时专利申请的优先权,所述申请中的每一个的全部内容在此以引用的方式并入。
本申请还与2018年10月22日提交的第16/166,948号美国专利申请有关,所述申请的全部内容在此以引用的方式并入。
背景技术
典型媒体客户端用于接收表示媒体内容(例如,视频和/或音频内容)的模拟或数字媒体流,和输出媒体内容和/或转发所述流以用于在例如显示屏和/或音频扬声器的用户接口上呈现内容。此类客户端的实例包含电视、计算机显示器、投影系统、扩音器、头戴式耳机、机顶盒(例如,有线或卫星电视接收器)、数字视频记录器、收音机、个人计算机、移动通信装置、游戏控制台、流媒体播放器等。
举例来说,电视可以接收广播流(例如,通过空气、从机顶盒、通过因特网连接或以另一方式),并且可向用户呈现所述广播流的媒体内容。作为另一实例,机顶盒可接收来自多信道视频节目分配器的广播流,并且可通过高清多媒体接口(HDMI)缆线或其它接口将所述流的媒体内容输出到电视和/或音频/视频接收器以供播出。作为再一实例,数字视频或音频记录器可同样地接收广播流,但可存储所述流供以后播出。作为又一实例,扩音器或头戴式耳机可接收来自收音机、计算机或其它装置的广播音频流,并且可向用户呈现所述流的音频内容。许多其它实例也是可能的。
发明内容
当媒体客户端接收媒体流时,在某些情形中,客户端修正流的媒体内容的一部分可为有用的。例如,可为有用的是,客户端用替换广告或用其它替换内容动态地替换广告或媒体内容的其它片段,使得当向用户播出内容时,用户将接收到替换广告,而不是原先包含的广告。作为另一实例,可为有用的是,客户端用叠加或分屏内容(例如,信道标识、上下文信息、广告内容等)动态补充媒体内容的一部分,使得当正对用户播出内容时,用户将接收到所述补充内容以及原先包含的内容。
另外,可能需要客户端在媒体流内的特定时间点执行此内容修正。举例来说,如果客户端要用替换广告动态地替换现有广告,那么可能需要客户端将替换广告定位在媒体流中现有广告原本将已开始的时间。同样地,如果客户端要用与媒体内容的特定部分有关的叠加补充那部分,那么可能需要客户端在那部分开始时开始所述叠加。许多实例也是可能的。
更确切地说,讨论中的媒体流可定义例如视频帧和/或音频帧的帧的序列,且可能需要客户端以帧精确为基础执行内容修正。举例来说,对于广告替换,可能需要客户端精确地在现有广告的第一帧处开始插入替换广告,代替现有广告。且为了将叠加添加到媒体流的特定部分,可能需要客户端在媒体流的那部分的第一帧处或以与所述帧成特定关系的方式开始叠加。
为了促进使客户端执行此内容修正,客户端可能需要获悉修正即将发生的特定时间点。然而,在实践中,可能会在客户端未知的时间线上定义修正时间点。举例来说,可在媒体流自身内的参考时间线上定义修正时间点,但客户端可能不具有针对所述时间线的上下文。因此,为客户端提供所述修正时间点可能无法使客户端在媒体流中所要的时间点执行所述修正。
作为这个情况的非限制性实例,考虑定义可出现于电视广播内的广告荚的媒体流。广告荚包括广告序列,例如,电视商业广告的序列。通过此实例,客户端可以是正接收和呈现特定电视信道的线性广播馈送的电视,且广告荚可出现于所述馈送内的任何时刻。举例来说,尤其在例如体育赛事等直播的情况下,广告荚在此馈送中出现的时间可能是不可预测的。替代地,广告荚可出现于特定安排的时间。
在此实例中,所要修正可以是对广告荚内的特定广告的替换(例如,用不同广告或其它替换内容取代所述广告)。举例来说,如果广告荚是广告A1、A2、A3、A4的序列,那么所要的修正可以是广告A3的替换。
在此情况下,广告荚可定义内部时间线,其开始于时间T=0且继续到广告荚的末尾,且广告A3可开始于所述时间线上的时间TA3。然而,客户端可能对所述时间线没有概念。客户端可具有它自己的内部时钟,所述内部时钟具有定义“客户端时间”的时间线(例如,日时间或其它内部时间参考)。但在未提前知晓广告荚时间线存在于客户端时间内何处的情况下,仅给出值TA3作为所要的内容修正时间点将无法使客户端在需要时执行广告替换。
解决这个问题的一个方式是执行指纹匹配,比较正由客户端接收的媒体流的带时间戳的查询指纹与已知媒体流(例如已知广告荚序列)的带时间戳的参考指纹。
举例来说,客户端可产生客户端正接收的媒体流的帧的查询指纹,且可基于客户端的内部时钟对那些查询指纹加时间戳,且计算系统可接收那些带时间戳的查询指纹以供分析。另外,计算系统可具备已知媒体流(例如已知广告荚序列)的帧的参考指纹,其基于基准时间或沿着已知媒体流内的时间线定义的“真实时间”加时间戳。因此,计算系统可比较带时间戳的查询指纹与带时间戳的参考指纹,并且在发现指纹匹配时可得出匹配查询指纹的时间戳与匹配参考指纹的时间戳对应的结论。
在匹配的查询和参考指纹的时间戳之间建立此相关性可构成在客户端时间与真实时间之间建立“同步锁”或时间映射。举例来说,匹配查询指纹与匹配参考指纹的时间戳之间的差可定义已知媒体流内的真实时间与客户端接收媒体流时的客户端时间之间的时间偏移。假设了解已知媒体流内的帧的真实时间点,计算系统可因此使用建立的同步锁来确定正由客户端接收的媒体流中的同一帧的相关联客户端时间点。举例来说,计算系统可应用真实时间与客户端时间之间的时间偏移,以便确定与给定真实时间点对应的客户端时间点。
继续上文的广告荚实例,计算系统可因此使用建立的同步锁将真实时间值TA3映射到标示客户端应替换正由客户端接收的媒体流中的广告A3的客户端时间点(例如,客户端应开始广告替换的客户端时间点)的客户端时间值。并且,客户端可接着执行在那个确定的客户端时间点的广告A3的替换。
然而,这个过程可出现的技术问题是,客户端无法以足以促进查询指纹与参考指纹之间的高置信度指纹匹配的速度产生查询指纹。具体地说,为了帮助节约客户端处的有限处理能力、内存和/或其它资源,客户端可布置成以相对较低的帧速率产生指纹,所述帧速率可远低于客户端正接收的媒体流的帧速率。因此,检测到的指纹匹配可能是不精确的,建立的同步锁可能是不精确的,且客户端可能在媒体流中的错误点有可能过早或过迟地结束执行所要的内容修正。
例如,在视频具有每秒30帧的情况下,客户端可设置成例如每秒2帧的低帧速率产生查询指纹。但以那种低速率执行指纹匹配可能会导致低置信度指纹匹配。出现这种情况的一个原因是,媒体流可包含相同或几乎相同的帧的各种子序列,其与媒体序列中媒体内容在一段时间内根本不改变的部分对应。因此,以低速率产生的查询指纹中的一些可匹配多个参考指纹,从而导致低置信度匹配。
公开一种帮助解决此技术问题的机构。
根据本公开,客户端将以相对较低的速率(例如,在上述实例中每秒2帧)正常建立查询指纹,且计算系统将使用那些低速率查询指纹作为与已知媒体流的参考指纹比较的基础,以便初始地确定正由客户端接收的媒体流是已知媒体流,即,识别正由客户端接收的媒体流。
在由此确定客户端正接收已知媒体流后,计算系统将接着使客户端增大其查询指纹产生速率,即,从以相对较低的速率产生查询指纹切换到以相对较高的速率(例如,在上述实例中每秒16或30帧)产生查询指纹。并且,计算系统将接着使用高速率查询指纹作为与已知媒体流的参考指纹比较的基础,以便建立具有相对较高的置信度的同步锁。计算系统将接着使用建立的同步锁作为使客户端在正由客户端接收的媒体流中的特定点执行内容修正的基础。
在代表性实施方案中,计算系统可接收表示正由客户端接收的媒体流的查询指纹,其中查询指纹由客户端以第一帧速率产生(“低速率查询指纹”)。当计算系统接收由客户端产生的低速率查询指纹时,计算系统将比较低速率查询指纹与表示已知媒体流的参考指纹。并且,基于所述比较,计算系统将检测一或多个第一匹配,其指示正由客户端接收的媒体流是已知媒体流。
响应于检测到一或多个匹配,计算系统将接着使客户端从以第一帧速率产生查询指纹转换到以高于第一帧速率的第二帧速率产生查询指纹(“高速率查询指纹”),且计算系统将接收由客户端产生的高速率查询指纹,其中每一高速率查询指纹具有根据客户端的时钟的相应查询指纹时间戳。
当计算系统接收由客户端产生的高速率查询指纹时,计算系统将接着进一步比较高速率查询指纹与表示已知媒体流的参考指纹。并且,基于此进一步比较,计算系统将检测一或多个第二匹配,每一第二匹配具有查询指纹时间戳中的相关联的一个查询指纹时间戳。
计算系统将接着基于与每一第二匹配相关联的查询指纹时间戳来确定客户端应执行正由客户端接收的媒体流中的内容修正的时间,所述时间根据客户端的内部时钟定义。并且,计算系统将使客户端在确定的时间执行内容修正。
所属领域的一般技术人员通过适当地参考附图阅读以下详细描述将明白这些以及其它方面、优点和替代方案。另外,应理解,本发明内容和下文中提供的描述意图仅以实例而非限制来说明本发明。
附图说明
图1是可实施所公开的特征的系统的简化框图。
图2是描绘可根据本公开进行的操作的流程图。
图3是描绘可根据本公开进行的操作的另一流程图。
图4是描绘可根据本公开操作的计算系统的组件的简化框图。
具体实施方式
参考图式,图1是可应用各种所公开的原理的实例系统的简化框图。然而,应理解,本文中所描述的此布置和过程以及其它布置和过程可采取各种其它形式。举例来说,元件和操作可重新排序、分布、复制、组合、省略、添加或以其它方式修改。此外,应理解,本文中描述为由一或多个实体实行的操作可由那些实体和/或代表那些实体经由硬件、固件和/或软件实施,例如通过一或多个处理单元执行程序指令等来实施。
如图1所示,实例系统包含配置成从媒体源14实时接收媒体流的媒体客户端12。
在实践中,媒体客户端12可配置成如上文所描述的那样操作,以从媒体源14接收表示媒体内容(例如视频和/或音频内容)的模拟或数字媒体流,且输出媒体内容和/或转发所述流以用于在例如显示屏和/或音频扬声器的用户接口上呈现所述内容。媒体客户端可采取上文描述的形式中的任一个,且存在其它可能性。
媒体源14还可采取各种形式,可能取决于媒体客户端12的形式。举例来说,如果媒体客户端12是电视,那么媒体源14可以是本地机顶盒(例如,有线或卫星接收器)或流媒体服务器,配置成输出选定媒体流以供由电视呈现,或者媒体源14可以是广播电视台等,且存在其它可能性。并且如果媒体客户端是计算机,那么媒体源可包括因特网流媒体服务器或其它媒体提供商。替代地,媒体源14可为与媒体客户端12集成和/或可由媒体客户端12本地访问的数据存储装置,其中媒体客户端从数据存储装置接收(例如,检索)媒体流以供播出。许多实例也是可能的。
如图1中进一步展示,媒体客户端12可通过网络(例如,因特网或私用网络)16与网络服务器18通信,所述网络服务器18可以与也可以不与媒体源14相关联和/或集成。
在实例实施方案中,媒体客户端12和网络服务器18可参与数据通信以促进实行操作,例如上文提到的那些操作。举例来说,代表性计算系统的方面可由服务器18实施,所述服务器18与客户端12相互操作以建立同步锁,以便应用所述同步锁来确定客户端应执行内容修正的客户端时间点,且以便使客户端在确定的客户端时间点执行内容修正。另外或替代地,代表性计算系统的方面可由客户端12实施,所述客户端12与服务器18相互操作以进行类似操作。
如上文所提及,当例如客户端12的媒体客户端正接收媒体流时,客户端修正流的内容的一部分以便替换或补充流的内容的片段可以是有用的。另外,如上文所提及,可能需要客户端在媒体流内的特定时间点这样做。举例来说,如果流定义例如视频帧和/或音频帧等帧的序列,那么可能需要客户端执行开始于序列的特定帧的修正。
为了促进此内容修正,如上文所指示,计算系统可首先识别正由客户端接收的媒体流。举例来说,计算系统可首先确定正由客户端接收的媒体流是含有应修正的特定内容的媒体流。在识别出媒体流后,计算系统可接着确定媒体流中客户端应执行内容修正的特定点,且可使客户端在所述确定的点执行内容修正。
识别正由客户端12接收的媒体流的一个方式是使客户端(或附属装置)产生表示正由客户端接收的媒体内容的数字指纹数据,并使服务器18比较所述指纹数据与表示已知媒体流的媒体内容的参考指纹数据,其中一或多个指纹匹配指示客户端正接收已知媒体流。
在实例实施方案中,服务器18或另一此类实体可建立或另外能够访问表示已知媒体流的参考指纹数据。举例来说,服务器18可建立或具备表示已知媒体流的帧的参考数字指纹序列。服务器或另一实体可通过以下方式建立这些参考指纹:以编程方式分析已知媒体流的帧,接收已知媒体流的副本作为输入,以及应用现在已知或以后开发的任何媒体指纹识别过程或算法来产生参考指纹。
可按相对较高的粒度级别产生这些参考指纹以促进指纹匹配。例如,可针对已知媒体流的每个帧分别建立参考指纹。对于包括每秒30帧的视频的媒体流,序列可因此包含以每秒30帧的速率或以另一合理的高速率产生的参考视频指纹作为高速率参考指纹。
另外,实时地,在客户端12接收媒体流时,客户端可产生表示其正接收的流的媒体内容的查询指纹数据,并且可将查询指纹数据传输到服务器18以供分析。客户端可使用应用于建立参考指纹的相同指纹识别过程或算法来建立这些查询指纹,以促进指纹比较。然而,如上文所提及,归因于在客户端处的资源限制(例如,对处理能力、内存和网络速度的限制)或出于其它原因,鉴于此查询指纹产生可以是用于客户端的进行中的过程,客户端可配置成以相对较低的速率产生这些查询指纹。举例来说,对于包括视频的媒体流,客户端可配置成仅以每秒2帧的速率产生这些查询指纹,且客户端可每隔1.5秒左右将产生的查询指纹传输到服务器。许多实例也是可能的。
当服务器从客户端接收此查询指纹数据时,服务器可比较查询指纹数据与已知媒体流的参考指纹数据。并且,如果服务器由此有足够的置信度确定查询指纹数据匹配参考指纹数据,那么所述服务器可推断正由客户端接收的媒体流是已知媒体流(即,已知媒体流的副本)。
服务器可以每帧为基础进行此指纹比较。考虑视频内容,举例来说,服务器可以每视频帧为基础进行分析,对帧的查询指纹与帧的参考指纹进行比较。取决于指纹的结构,比较过程可采取多种形式中的任一种。例如,所述比较可涉及计算指纹之间的最大偏差,并确定所述最大偏差是否在预定义容差内。另外,如果指纹为二进制的,那么这可为布尔确定,或者可涉及计算汉明距离(作为指纹中的相应位位置之间的失配的计数)。并且,如果指纹是更复杂的值,例如小数值或向量(例如,每视频帧区的灰度值),那么这可涉及确定值或向量之间的距离。许多其它实例也是可能的。
此外,服务器可以所要容差水平进行此指纹比较过程。举例来说,所述比较可以是粗略的,对于指纹之间的差异具有相对较高的容差,例如具有对于较大数目差异的容差和/或对于较大差异大小的容差。举例来说,当将两个32位指纹彼此比较时,粗略比较可认为指纹彼此大体匹配,即使两个位或另一指定数目的位并不匹配。或者比较可以更加精细,对于此类差异具有较低容差,和/或比较聚焦于可能表示基本媒体的特定部分的特定指纹分量。
通过由客户端产生的查询指纹与已知媒体流的参考指纹的此比较,服务器可借此发现一或多个匹配。举例来说,服务器可发现一或多个其中正由客户端接收的媒体流的帧的查询指纹匹配已知媒体流的帧的相应参考指纹的情况。此匹配可因此达成或支持以下结论:正由客户端接收的媒体流是已知媒体流。
在识别出正由客户端接收的媒体流后,服务器可接着确定媒体流中客户端应执行内容修正的点。举例来说,在代表性实施方案中,服务器能够访问指示已知媒体流中内容修正将发生的点和指示在那一点将发生什么内容修正的参考数据。例如,参考数据可识别已知媒体流中内容修正将要开始的特定帧。因此,服务器可以参考参考数据来确定所述所要的内容修正点。
服务器可接着向客户端传输使客户端在媒体流中的确定点执行内容修正的指令。举例来说,服务器可通过网络16将指定媒体流中的确定点和向客户端提供替换或叠加媒体或另外关于客户端在媒体流中的那一点应执行什么内容修正引导客户端的消息传输到客户端。并且,客户端可配置成接收和解释所述指令且响应性地在媒体流中的指示点执行内容修正。
在此过程中,服务器可了解客户端应在媒体流中执行内容修正的特定时间点。举例来说,可由服务器访问的参考数据可将此时间点指定为在已知媒体流内的时间线中(即,在如上所述的“真实时间”内)测量的特定时间。例如,如上文所提到,此时间线可开始于在已知媒体流开始时的原点时间(例如,T=0),且已知媒体流的每个帧可出现于那个时间线上的特定时间点。因此,服务器可根据参考数据确定客户端应在媒体流中执行内容修正的真实时间点。
然而,客户端的时间参考可不同。如上所指出,客户端的时间参考可为根据客户端中的内部时钟定义的“客户端时间”。尽管客户端时间和真实时间可最优地以彼此相同的速率运行,但它们的原点有可能是不同的。因此,仅仅知晓已知媒体流中的真实时间点无法自身提供客户端时间中的上下文。结果,如上所指出的问题是服务器可如何以客户端可以理解的方式表征媒体流中客户端将开始执行内容修正的时间点。
解决如上文所表明的这个问题的一个方式是使服务器将匹配查询指纹的由客户端提供的时间戳用作供服务器确定用于媒体流的客户端的时间参考的方式,然后使服务器将所述客户端时间参考用作表征媒体流中客户端将开始内容修正的时间点的基础。
为了促进此操作,当客户端产生其查询指纹时,客户端可基于客户端的内部时钟对每一查询指纹加时间戳。因此,客户端传输到服务器以供分析的查询指纹可为带时间戳的查询指纹。另外,服务器可具备或以其它方式能够访问已知媒体流帧的带时间戳的参考指纹。举例来说,服务器可具备针对已知媒体流的每一帧指定以下各者的参考数据:(i)所述帧的参考指纹,和(ii)在所述已知媒体流内的相关联的真实时间时间戳。
当服务器从客户端接收带时间戳的查询指纹时,服务器可比较查询指纹与参考指纹以检测匹配点,即,查询指纹匹配参考指纹的时刻。当服务器检测到一或多个此类匹配点时,服务器将针对每一检测到的匹配点知晓以下两者:(i)匹配点的真实时间时间戳,和(ii)匹配点的客户端时间时间戳。
因而,服务器将有效建立真实时间与客户端时间之间的同步锁。即,服务器将有效建立以下两者之间的映射:(i)媒体流内的真实时间时间戳与(ii)根据客户端的内部时钟的客户端时间,因为服务器现在将知道匹配帧在媒体流中何处,以及在所述媒体流中的所述时间点,客户端的时间是什么。如上所论述,此同步锁可构成时间偏移,使得服务器可将时间偏移应用到媒体流中的给定真实时间点以确定媒体流中对应的客户端时间点。
在已发现媒体流中的这个匹配点后且在建立同步锁后,服务器可计算客户端将执行媒体流中的内容修正的客户端时间点,即,客户端将开始媒体流中的内容的客户端时间点。例如,给定内容修正将发生的真实时间点的参考数据指示,服务器可应用由同步锁定义的偏移,以确定内容修正将发生的相关联的客户端时间点。或者,服务器可计算在已知媒体流内从匹配点的真实时间点到内容修正将开始的帧的时间的持续时间,且服务器可接着将那个计算出的持续时间添加到匹配点的客户端时间点上,以便确定内容修正将开始的相关联的客户端时间点。其它实例也是可能的。
服务器可接着将这个确定的客户端时间点的说明传输到客户端,伴有用于客户端执行开始于这个客户端时间点的内容修正的指令。并且,如果客户端尚未具备关于当时开始执行的内容修正的信息,那么服务器还可将所述内容修正信息传输到客户端。举例来说,服务器可从数据存储装置检索并向客户端传供客户端取代媒体流中正由客户端接收的内容的某些替换内容。或者,服务器可将对此替换内容的指针传输到客户端,例如,客户端可获得的替换内容所来自的网络或本地存储地址。
客户端可因此从服务器接收在所指示的客户端时间点开始内容修正的指令。并且,如果客户端尚未具备定义在那个客户端时间点执行的修正的数据,那么客户端可接收所述数据,例如,从服务器或从由服务器指定的地址接收。通过参考客户端的内部时钟,客户端可接着致力于在所指示的客户端时间点精确地开始内容修正。举例来说,在所指示的客户端时间点,客户端可开始用替换内容的帧取代正由客户端接收的媒体流的帧,或在正由客户端接收的媒体流的帧上叠加补充内容,且存在其它可能性。
然而,如上所指出,如果客户端以相对较低的速率产生其查询指纹(例如,如上所论述,以每秒2帧产生视频指纹),那么在这过程中可出现另一问题。向服务器提供以此低速率产生的查询指纹可使服务器难以确信地识别媒体流中的匹配点困难,和/或可导致低置信度同步锁。如上所指出,出现这种困难的一个原因是,所述媒体流可包含相同或几乎相同帧的各种子序列,其与媒体序列中媒体内容在一段时间上根本不改变的部分对应。因此,以低速率产生的查询指纹中的一些可匹配多个参考指纹,从而最多产生低置信度匹配和低置信度同步锁。
此问题的解决方案可能是使客户端以高得多的速率,例如以每秒16帧或有可能甚至每秒30帧的速率,产生其查询指纹。在客户端以更高速率产生其查询指纹的情况下,服务器可在查询指纹与参考指纹之间建立一或多个具有更高置信度的匹配。举例来说,如果服务器检测到查询指纹匹配两个顺序参考指纹,那么服务器可以不明确为由舍弃那些匹配,并且可等待查询指纹仅匹配单个参考指纹的匹配。或者,如果服务器检测到查询指纹和参考指纹的两个顺序对之间的相同匹配,服务器可以不明确为由舍弃匹配,并且可同样地等待更多唯一匹配。
然而,不利的是,如上文所提及,客户端处的资源限制可能使客户端难以在处于进行中时以此高速率产生指纹。
根据本公开,改进的解决方案是使客户端使用这些指纹产生速率的混合物。客户端可通常以低速率(例如,每秒2帧)产生查询指纹,以帮助节约资源。并且,服务器可基于那些低速率查询指纹进行其指纹分析以确定客户端正接收已知媒体流,如上文所论述。一旦服务器由此确定客户端正接收已知媒体流时,且给定服务器知晓应随后在媒体流中的特定点执行内容修正,服务器就可接着引导客户端增大客户端的指纹产生速率,以使服务器能够进行更精细的指纹比较。举例来说,服务器可引导客户端从以每秒2帧产生查询指纹切换到以每秒16帧或甚至每秒30帧产生查询指纹,且将那些高速率查询指纹提供到服务器。
在已基于低速率查询指纹识别出正由客户端接收的媒体流后,服务器可接着使用高速率查询指纹进行更精细的分析,以便以帧精确为基础或至少以高得多的置信度级别检测匹配点,并实现具有更高置信度的同步锁。
在此过程的实例实施方案中,服务器发送到客户端的指纹速率改变指令可使客户端开始在后续客户端时间使用增大的指纹速率,所述后续客户端时间是远早于将开始内容修正(例如,下一个发生的内容修正)的时间的阈值。这可能在以下情况中有帮助:其中在将开始内容修正的时间之前将从检测到的匹配点开始经过大量时间量,且其中服务器将有可能不需要所述大量时间来使用高速率查询指纹确信地检测匹配点。
举例来说,基于历史数据,服务器或另一实体可确定在代表性客户端(有可能是所讨论的客户端)开始以增大的速率产生查询指纹后服务器确信地检测已知媒体流中的匹配点通常所耗费的时间。服务器接着可将所述时间量加上考虑到分析中的低置信度的预定义安全持续时间视为客户端增大其查询指纹产生速率的阈值提前持续时间。替代地,服务器可以其它方式确定或预先具备此阈值提前持续时间值。
服务器可接着配置其速率改变指令,以使客户端在客户端时间从低速率指纹识别切换到高速率指纹识别,所述客户端时间是将开始内容修正之前的所述阈值提前持续时间。服务器可基于上文所描述的低置信度同步锁计算此提前客户端时间。即,通过基于客户端的低速率查询指纹建立同步锁,服务器可估计将发生内容修正的客户端时间点。并且,服务器可接着从所述估计的客户端时间点减去阈值提前持续时间以计算提前客户端时间点,其是将开始内容修正之前的阈值提前持续时间。
服务器可以不同方式配置其速率改变指令以使客户端在确定的提前客户端时间点切换到高速率指纹识别。例如,服务器在提前客户端时间点向客户端提供指令,以使客户端紧接着增大其指纹产生速率。替代地,服务器可在其给客户端的指令中包含提前客户端时间点的说明,以使客户端在提前客户端时间达到时增大其指纹产生速率。另外,客户端可对应地配置成通过切换到如所指示的高速率指纹来对此指令作出响应。其它实例也是可能的。
一旦服务器以帧精确为基础或以其它方式以更高置信度使用客户端的高速率查询指纹检测匹配点,服务器就可接着建立具有更高置信度的同步锁,如上文所论述。即,基于与检测到的匹配点相关联的查询指纹时间戳,且基于将开始内容修正的时间之前的计算出的持续时间,服务器可以更高置信度计算将开始内容修正的客户端时间点。服务器可接着向客户端传输客户端在计算出的客户端时间点开始内容修正的指令。并且,客户端可因此接收指令且在所指示的客户端时间点达到时响应性地开始内容修正。
作为此过程的非限制性实例,考虑定义可出现于电视广播内的广告荚的媒体流。如上所指出,广告荚将包括广告序列,例如电视商业广告的序列,且广告荚可出现在正由客户端接收的例如线性广播馈送的线性媒体馈送中的任何给定时间。
实际上,可向服务器提供表示广告荚的帧和与广告荚的帧对应的带时间戳的参考指纹,其中时间戳是沿着广告荚内定义的时间线的点(作为真实时间)。另外,可向服务器提供广告荚中的广告中的特定一个应被替换的指示,和那个广告替换应开始的帧的时间戳。
以进行中为基础,或响应于一或多个其它触发,当客户端在接收媒体馈送时,客户端可能正在产生广播馈送的低速率的带时间戳的查询指纹(例如,以每秒2帧),且可能正在向服务器报告那些带时间戳的查询指纹以供分析。通过将每一此查询指纹与表示广告荚序列的帧的参考指纹比较,服务器可由此检测到客户端正在接收已知广告荚序列。
在确定客户端正接收广告荚序列后,服务器可接着响应性地向客户端传输客户端切换到高速率指纹识别的指令,以便从以每秒2帧产生查询指纹切换到代替地以每秒16或30帧产生查询指纹,这有可能指定客户端应执行如上文所论述的此速率切换的提前客户端时间点。并且,客户端可响应性地执行速率切换且开始向服务器传输其高速率的带时间戳的查询指纹以供分析。
以上文所描述的方式使用高速率查询指纹,服务器可由此检测广告荚序列中的一或多个匹配点,且具有高置信度级别。基于如上文所论述的检测到的匹配点,服务器可接着建立具有相对较高的置信度的同步锁,其定义真实时间到客户端时间的映射。并且,服务器可接着将建立的同步锁用作将广告替换将开始的帧的真实时间点转换成客户端应开始广告替换的对应客户端时间点的基础。
服务器可接着将在所述确定的客户端时间点开始广告替换的指令传输到客户端,且如果客户端尚未具备所述信息,那么可将替换广告(或替换广告的指针)传输到客户端。并且,客户端可接着在所指示的客户端时间点相应地执行广告替换。
在代表性实施方案中,在客户端执行指示的内容修正例如广告替换之后,客户端可自动恢复到产生低速率查询指纹。举例来说,如果客户端已从以每秒2帧产生查询指纹切换到以每秒16或30帧产生查询指纹,那么客户端可恢复以每秒2帧产生查询指纹。且可视需要重复过程。
上文描述为由服务器执行的操作中的某些操作可替代地由如上文所提及的客户端或就此来说由另一装置进行。
举例来说,尽管以上论述所描述的服务器致力于建立同步锁且由此确定将发生内容修正的客户端时间点,但客户端可配置成自身进行那些操作中的一些。
举例来说,一旦服务器确定客户端正接收已知媒体流,客户端就可进行所述过程以在(i)媒体流中的真实时间时间戳与(ii)根据客户端的内部时钟的时间之间建立同步锁,并确定将发生内容修正的客户端时间点。在实例实施方案中,为了促进此情况,除了引导客户端切换到高速率指纹识别之外,服务器还可为客户端提供用于媒体流的即将到来的部分的一组带真实时间时间戳的参考指纹,且可向客户端通知用于媒体流内将开始内容修正的帧的真实时间时间戳。
客户端可因此从服务器接收那些带时间戳的参考指纹且可进一步开始产生高速率查询指纹。且客户端可比较其高速率查询指纹与提供的参考指纹,试图找出具有相对较高的置信度的一或多个匹配点。当客户端已由此检测到一或多个匹配点时,客户端将知道(i)匹配点的真实时间时间戳和(ii)匹配点的客户端时间点。因此,客户端自身将已在(i)媒体流内的真实时间时间戳与(ii)根据客户端的内部时钟的时间之间有效地建立同步锁,因为客户端现在将知道匹配帧在媒体流中何处,以及在所述媒体流中的所述时间点,客户端的时间是什么。
在发现媒体流中的此匹配点且建立同步锁后,客户端可接着在将发生内容修正时容易地计算客户端时间点。举例来说,给定内容修正将开始的真实时间点的由服务器提供的指示,服务器可应用由同步锁定义的偏移,以确定内容修正将发生的相关联的客户端时间点。或者,客户端可计算在媒体流内从匹配点的真实时间点到所指示的内容修正将开始的真实时间点的持续时间,且客户端可将那个计算出的持续时间添加到匹配点的客户端时间点上,以便确定内容修正将开始的相关联的客户端时间点。客户端可接着致力于在计算出的客户端时间点开始内容修正。
在此替代实施方案中,服务器可为客户端提供媒体流的即将出现的部分的高速率参考指纹,以促进客户端进行的其高速率查询指纹与那些高速率参考指纹的比较。替代地,有可能取决于资源约束条件,服务器可为客户端提供低速率参考指纹,以便客户端与客户端的高速率查询指纹比较。客户端可接着确定最匹配低速率参考指纹中的一或多个的一或多个高速率查询指纹,以帮助增强确定的匹配点的帧精确度且增大同步锁的置信度。
还应注意,以上过程可关于正由客户端接收的线性广播馈送等的实时分析来应用(例如,用于目前播出和/或存储),并且还可关于正由客户端从数据存储装置等检索的媒体流的分析来应用(例如,用于目前播出或传递)。其它实施方案也是可能的。
图2是描绘可由计算系统依据以上论述实行的方法的流程图。尽管方法的操作在此图中描绘为以特定序列进行,但所述操作中的一些可与其它并行地进行,并且其它修改也是可能的。
如图2所示,在框20处,计算系统接收表示正由客户端接收的媒体流的查询指纹,所述查询指纹由客户端以某一帧速率产生。在框22处,计算系统确定正由客户端接收的媒体流是已知媒体流,其中所述确定基于由计算系统进行的(i)以所述帧速率产生的查询指纹与(ii)表示已知媒体流的参考指纹的比较。且在框24处,响应于所述确定,计算系统使客户端增大帧速率,客户端以所述帧速率产生正由计算系统接收的查询指纹。
在框26处,计算系统接着将以增大的帧速率产生的查询指纹用作在(i)沿着已知媒体流内的时间线定义的真实时间与(ii)根据客户端的时钟定义的客户端时间之间建立同步锁的基础。且在框28处,计算系统将建立的同步锁用作确定客户端在正由客户端接收的媒体流中应执行内容修正的客户端时间点的基础。在框30处,计算系统接着使客户端在确定的客户端时间点执行内容修正。
如上文所论述,此类计算系统可由与客户端网络通信的服务器实施。在这种情况下,使客户端增大客户端产生正由计算系统接收的查询指纹的帧速率的动作可能涉及向客户端传输指令,所述客户端配置成通过增大客户端产生正由计算系统接收的查询指纹的帧速率来对所述指令作出响应。另外,使客户端在确定的客户端时间点执行内容修正可能涉及向客户端传输指示确定的客户端时间点的内容修正指令。
如上文进一步论述,将以增大的帧速率产生的查询指纹用作在真实时间与客户端时间之间建立同步锁的基础可涉及(a)比较以增大的帧速率产生的查询指纹与已知媒体流的参考指纹,例如与已知媒体流的其它参考指纹比较,(b)基于以增大的帧速率产生的查询指纹与已知媒体流的参考指纹的比较,识别定义查询指纹与参考指纹之间的匹配的至少一个匹配点,以及(c)基于查询指纹的客户端时间时间戳与参考指纹的真实时间时间戳之间的映射建立同步锁。
此外,如上文所论述,将建立的同步锁用作确定客户端应在正由客户端接收的媒体流中执行内容修正的客户端时间点的基础的动作可涉及将建立的同步锁用作将应在已知媒体流中执行内容修正的预定义真实时间点映射到客户端应在正由客户端接收的媒体流中执行内容修正的对应客户端时间点的基础。
另外,如上文所论述,所讨论的内容修正可包括内容替换。举例来说,正由客户端接收的媒体流可包括定义广告序列的广告荚,且内容修正可涉及用替换媒体内容替换序列中的广告。此外,如上文所提及,方法还可包括向客户端提供客户端将用来取代为正由客户端接收的媒体流的替换内容。
图3是描绘可由客户端或一或多个其它实体根据本公开实行的方法的另一流程图。此处同样,尽管方法的操作描绘为以特定序列进行,但所述操作中的一些可与其它并行地进行,并且其它修改也是可能的。
如图3所示,在框32处,方法包含产生表示正由客户端接收的媒体流的查询指纹,所述查询指纹以某一帧速率产生。在框34处,方法包含提供产生的查询指纹以用于基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。且在框36处,方法包含在识别出正由客户端接收的媒体流之后,增大产生查询指纹的帧速率。
在框38处,方法接着包含提供以增大的帧速率产生的查询指纹,以用于在(i)沿着已知媒体流内的时间线定义的真实时间与(ii)根据客户端的时钟定义的客户端时间之间建立同步锁。且在框40处,方法包含在特定客户端时间点执行正由客户端接收的媒体流的内容修正,其中所述特定客户端时间点是基于建立的同步锁确定的。
根据上文的论述,提供产生的查询指纹以用于基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流的动作可涉及将产生的查询指纹传输到服务器,以供服务器用于基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。反过来,在识别出正由客户端接收的媒体流之后增大产生查询指纹的帧速率的动作可涉及在服务器已识别正由客户端接收的媒体流之后,从服务器接收增大产生查询指纹的帧速率的指令,并且响应性地(响应于指令)增大产生查询指纹的帧速率。
另外,如上文所论述,提供以增大的帧速率产生的查询指纹以用于在真实时间与客户端时间之间建立同步锁的动作可涉及向服务器传输以增大的帧速率产生的查询指纹,以供服务器用于建立同步锁。且在基于建立的同步锁而确定的特定客户端时间点执行正由客户端接收的媒体流的内容修正的动作可涉及(a)通过客户端从服务器接收内容修正指令,所述指令引导客户端在基于建立的同步锁而确定的特定客户端时间点修正媒体流,且(b)通过客户端在特定客户端时间点实行媒体流的修正。
此外,提供以增大的帧速率产生的查询指纹以用于在真实时间与客户端时间之间建立同步锁的动作可涉及包括向客户端处的程序模块提供查询指纹以供客户端处的程序模块用于建立同步锁。举例来说,客户端可具备程序逻辑,所述程序逻辑包含程序模块,所述程序模块将用于基于以增大的帧速率产生的查询指纹建立同步锁,因此那些查询指纹可被提供到所述模块,以促进同步锁的建立。
另外,如上文所论述,方法可另外包含将以增大的帧速率产生的查询指纹用作在真实时间与客户端时间之间建立同步锁的基础。举例来说,方法可包含(i)比较以增大的帧速率产生的查询指纹与已知媒体流的参考指纹,(ii)基于以增大的帧速率产生的查询指纹与已知媒体流的参考指纹的比较,识别定义查询指纹与参考指纹之间的匹配的至少一个匹配点,以及(iii)基于查询指纹的客户端时间时间戳与参考指纹的真实时间时间戳之间的映射建立同步锁。
在实例实施方案中,如上文另外论述,同步锁的建立可由客户端实行。且为了促进这样做,方法可另外包含由客户端接收已知媒体流的参考指纹,使得客户端可执行以增大的速率产生的查询指纹与已知媒体流的参考指纹的比较。
图4是可用于实行上文所描述的各种操作的实例计算系统的下一框图。如上文所提及,此计算系统的方面可由媒体客户端12和/或服务器18实施,且存在其它可能性。因此,图4的框图可表示一或多个此类实体的组件。
如图4所示,实例计算系统包含网络通信接口42、处理单元44和非暂时性数据存储装置46,所有这些可通过网络、消息总线和/或一或多个其它连接机构48耦合或通信地链接在一起。
网络通信接口42使计算系统能够传输和接收。网络通信接口42可包括有线和/或无线以太网接口,以及相关联的电路系统和软件,且存在其它可能性。处理单元44可接着包括一或多个通用处理器(例如,微处理器)和/或一或多个专用处理器(例如,专用集成电路等)。并且,非暂时性数据存储装置46可包括一或多个易失性和/或非易失性存储组件,例如,磁性、光学或快闪存储装置。
如图4所示,非暂时性数据存储装置46存储(例如,容纳、编码有或以其它方式体现或含有)程序指令50,所述程序指令可由处理单元执行以使计算系统实行操作,例如上文所描述的那些操作。
举例来说,这些操作可包含识别正由客户端接收的媒体流,其中识别包含(i)接收媒体流的查询指纹,所述查询指纹由客户端以某一帧速率产生,以及(ii)匹配接收到的查询指纹与已知媒体流的参考指纹。此处,如果计算系统由媒体客户端至少部分地实施,那么接收查询指纹的动作可涉及向媒体客户端的程序模块接收由媒体客户端的指纹产生器模块(例如,将执行查询指纹产生的媒体客户端的程序模块)产生的查询指纹。且如果计算系统由服务器至少部分地实施,那么接收查询指纹的动作可涉及接收从媒体客户端传输到服务器的查询指纹。
另外,操作可包含响应于识别媒体流,引导媒体客户端增大产生查询指纹的帧速率。举例来说,如果计算系统由媒体客户端至少部分地实施,那么这可涉及引导媒体客户端的指纹产生器模块增大帧速率。且如果计算系统由服务器至少部分地实施,那么这可涉及向媒体客户端传输使媒体客户端增大产生查询指纹的帧速率的指令。
此外,操作可包含基于由媒体客户端以增大的帧速率产生的查询指纹在沿着已知媒体流内的时间线定义的真实时间与根据媒体客户端的时钟定义的客户端时间之间建立同步锁。举例来说,这可包含(i)接收由媒体客户端(类似地由媒体客户端和/或由服务器实行)以增大的帧速率产生的查询指纹,(ii)检测由媒体客户端以增大的帧速率产生的查询指纹与已知媒体流的参考指纹之间的至少一个匹配,以及(iii)使至少一个匹配的真实时间时间戳与至少一个匹配的客户端时间时间戳相关。
且操作可包含将建立的同步锁用作确定媒体客户端应在正由媒体客户端接收的媒体流中执行内容修正的客户端时间点的基础。举例来说,这可包含将建立的同步锁用作将在已知媒体流中应执行内容修正的预定义的真实时间点映射到媒体客户端在正由媒体客户端接收的媒体流中应执行内容修正的对应客户端时间点的基础。
操作可接着包含使媒体客户端在确定的客户端时间点执行内容修正。举例来说,如果计算系统由媒体客户端至少部分地实施,那么这可涉及引导媒体客户端的内容修正模块(例如,将执行内容修正的媒体客户端的程序模块)在确定的客户端时间点执行内容修正。且如果计算系统由服务器至少部分地实施,那么这可涉及向媒体客户端传输使媒体客户端在确定的客户端时间点执行内容修正的指令。
替代地或另外,操作可包含产生表示正由客户端接收的媒体流的查询指纹,其中所述查询指纹以某一帧速率产生。另外,操作可包含提供产生的查询指纹以用于基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。且操作可包含在识别出正由客户端接收的媒体流之后,增大产生查询指纹的帧速率。操作可接着包含提供以增大的帧速率产生的查询指纹,以用于在(i)沿着已知媒体流内的时间线定义的真实时间与(ii)根据客户端的时钟定义的客户端时间之间建立同步锁。且操作可包含在特定客户端时间点执行正由客户端接收的媒体流的内容修正,其中所述特定客户端时间点基于建立的同步锁确定。
上文所描述的各种特征可实施于此计算系统的上下文中,且反之亦然。举例来说,此处同样,内容修正可包括内容替换,例如广告荚中的广告的替换,且存在其它可能性。另外,提供产生的查询指纹以用于识别媒体流的动作可涉及将产生的查询指纹传输到服务器以供服务器用于识别媒体流,且提供以增大的帧速率产生的查询指纹以用于在真实时间与客户端时间之间建立同步锁的动作可涉及向服务器传输以增大的帧速率产生的查询指纹以供服务器用于建立同步锁。
另外,上文所描述的各种操作可由存储在非暂时性计算机可读媒体上的程序指令定义,所述程序指令可由处理单元执行以实行操作。此类非暂时性计算机可读媒体可接着在客户端、服务器和/或另一实体处提供、集成或以其它方式实施。另外,此类操作可采取其它形式。
举例来说,操作可包含识别正由客户端接收的媒体流,其中识别包含(i)接收媒体流的查询指纹,接收到的查询指纹由客户端以某一帧速率产生,以及(ii)匹配查询指纹与已知媒体流的参考指纹。另外,操作可包含响应于识别媒体流,使得客户端增大产生查询指纹的帧速率。且操作可包含基于由客户端以增大的帧速率产生的查询指纹在沿着已知媒体流内的时间线定义的真实时间与根据客户端的时钟定义的客户端时间之间建立同步锁。
操作可接着包含将建立的同步锁用作确定客户端在正由客户端接收的媒体流中应执行内容修正的客户端时间点的基础。且操作可包含使客户端在确定的客户端时间点执行内容修正。
替代地或另外,可由处理单元执行的操作可包含产生表示正由客户端接收的媒体流的查询指纹,其中所述查询指纹以某一帧速率产生。另外,操作可包含提供产生的查询指纹以用于基于与表示已知媒体流的参考指纹的比较来识别正由客户端接收的媒体流。且操作可包含在识别出正由客户端接收的媒体流之后,增大产生查询指纹的帧速率。操作可接着包含以提供增大的帧速率产生的查询指纹,以用于在真实时间与客户端时间之间建立同步锁。且操作可包含在特定客户端时间点执行正由客户端接收的媒体流的内容修正,其中所述特定客户端时间点基于建立的同步锁确定。
上文所描述的各种特征也可实施于此上下文中,且反之亦然。
例如,在服务器处的实施方案中,使客户端增大产生查询指纹的帧速率的动作可涉及输出指令以传输到客户端,客户端配置成通过增大客户端产生查询指纹的帧速率来对此指令作出响应,且使客户端在确定的客户端时间点执行内容修正的动作可涉及输出指示确定的客户端时间点的内容修正指令以传输到客户端。
然而,在客户端处的实施方案中,使客户端增大产生查询指纹的帧速率的动作可涉及引导客户端的指纹产生器模块增大帧速率,且使客户端在确定的客户端时间点执行内容修正的动作可涉及引导客户端的内容修正模块在确定的客户端时间点执行内容修正。
另外,此处同样,正由客户端接收的媒体流可包括定义广告序列的广告荚,且内容修正可包括用替换媒体内容替换序列中的广告。
上文已经描述示例性实施例。然而,所属领域的技术人员将理解,可在不脱离本发明的真实范围和精神的情况下对这些实施例作出改变和修改。

Claims (39)

1.一种用于在媒体流中执行修正的方法,包括:
通过计算系统接收表示正由客户端接收的所述媒体流的查询指纹,其中所述查询指纹由所述客户端以某一帧速率产生;
通过计算系统确定正由所述客户端接收的所述媒体流是已知媒体流,其中所述确定是基于由所述计算系统进行的(i)以所述帧速率产生的所述查询指纹与(ii)表示所述已知媒体流的参考指纹的比较;
响应于所述确定,通过所述计算系统使所述客户端增大所述客户端产生正由所述计算系统接收的所述查询指纹的所述帧速率;
通过所述计算系统,将以所述增大的帧速率产生的所述查询指纹,用作在(i)沿着所述已知媒体流内的时间线定义的真实时间与(ii)根据所述客户端的时钟定义的客户端时间之间建立同步锁的基础;
通过所述计算系统,将所述建立的同步锁,用作确定所述客户端在正由所述客户端接收的所述媒体流中应执行广告替换的客户端时间点的基础;以及
使所述客户端在所确定的客户端时间点执行所述广告替换。
2.根据权利要求1所述的方法,其中,由所述客户端正接收的所述媒体流具有帧速率,且其中所述客户端生成所述查询指纹的所述帧速率比所述媒体流的所述帧速率低。
3.根据权利要求1所述的方法,其中在所述所确定的客户端时间点执行所述广告替换包括在所述所确定的客户端时间点开始所述广告替换。
4.根据权利要求1所述的方法,其中所述计算系统由与所述客户端网络通信的服务器实施。
5.根据权利要求4所述的方法,其中使所述客户端增大所述客户端产生正由所述计算系统接收的所述查询指纹的所述帧速率包括:向所述客户端传输指令,所述客户端配置成通过增大所述客户端产生正由所述计算系统接收的所述查询指纹的所述帧速率来对所述指令作出响应。
6.根据权利要求4所述的方法,其中使所述客户端在所述所确定的客户端时间点执行所述广告替换包括:向所述客户端传输指示所述所确定的客户端时间点的内容修正指令。
7.根据权利要求1所述的方法,其中将以所述增大的帧速率产生的所述查询指纹用作在(i)沿着所述已知媒体流内的时间线定义的真实时间与(ii)根据所述客户端的时钟定义的客户端时间之间建立同步锁的基础包括:
比较以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的参考指纹;
基于以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的所述参考指纹的所述比较,识别定义查询指纹和参考指纹之间的匹配的至少一个匹配点;以及
基于所述查询指纹的客户端时间时间戳与所述参考指纹的真实时间时间戳之间的映射来建立所述同步锁。
8.根据权利要求1所述的方法,其中将所述建立的同步锁用作确定所述客户端在正由所述客户端接收的所述媒体流中应执行所述广告替换的客户端时间点的基础包括:将所述建立的同步锁用作,将在所述已知媒体流中应执行所述广告替换的预定义真实时间点映射到所述客户端在正由所述客户端接收的所述媒体流中应执行所述广告替换的对应客户端时间点的基础。
9.根据权利要求1所述的方法,进一步包括向所述客户端提供所述客户端将用来取代正由所述客户端接收的所述媒体流中的已存在广告的替换广告。
10.一种用于在媒体流中执行修正的计算系统,包括:
网络通信接口,通过所述网络通信接口传输和接收;
处理单元;
非暂时性数据存储装置;以及
程序指令,其存储在所述非暂时性数据存储装置中且可由所述处理单元执行以使所述计算系统实行包含以下的操作:
识别正由媒体客户端接收的媒体流,其中所述识别包含:(i)接收所述媒体流的查询指纹,所述接收到的查询指纹由所述媒体客户端以某一帧速率产生,和(ii)匹配所述接收到的查询指纹与已知媒体流的参考指纹,
响应于识别所述媒体流,向所述媒体客户端传输使所述媒体客户端增大产生所述查询指纹的所述帧速率的指令,
基于由所述媒体客户端以所述增大的帧速率产生的所述查询指纹,在沿着所述已知媒体流内的时间线定义的真实时间和根据所述媒体客户端的时钟定义的客户端时间之间,建立同步锁,
将所述建立的同步锁用作,确定所述媒体客户端在正由所述媒体客户端接收的所述媒体流中应执行广告替换的客户端时间点的基础,以及
向所述媒体客户端传输使所述媒体客户端在所述确定的客户端时间点执行所述广告替换的指令。
11.根据权利要求10所述的计算系统,其中,由所述客户端正接收的所述媒体流具有帧速率,且其中所述客户端生成所述查询指纹的所述帧速率比所述媒体流的所述帧速率低。
12.根据权利要求10所述的计算系统,其中在所述客户端时间点执行所述广告替换包括在所述客户端时间点开始所述广告替换。
13.根据权利要求10所述的计算系统,其中建立所述同步锁包括(i)接收由所述媒体客户端以所述增大的帧速率产生的所述查询指纹,(ii)检测由所述媒体客户端以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的参考指纹之间的至少一个匹配,以及(iii)将所述至少一个匹配的真实时间时间戳与所述至少一个匹配的客户端时间时间戳进行关联。
14.根据权利要求10所述的计算系统,其中将所述建立的同步锁用作确定所述媒体客户端在正由所述媒体客户端接收的所述媒体流中应执行所述广告替换的所述客户端时间点的基础包括:将所述建立的同步锁用作将在所述已知媒体流中应该执行所述广告替换的预定义的真实时间点映射到所述媒体客户端在正由所述媒体客户端接收的所述媒体流中应执行所述广告替换的相应客户端时间点的基础。
15.一种用于在媒体流中执行修正的非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有指令,所述指令可由处理单元执行,以执行包括以下操作的操作:
识别正由客户端接收的所述媒体流,其中所述识别包含:(i)接收所述媒体流的查询指纹,所述接收到的查询指纹由所述客户端以某一帧速率产生,和(ii)匹配所述查询指纹与已知媒体流的参考指纹,
响应于识别所述媒体流,致使所述客户端增大产生所述查询指纹的所述帧速率,
基于由所述客户端以所述增大的帧速率产生的所述查询指纹,在沿着所述已知媒体流内的时间线定义的真实时间和根据所述客户端的时钟定义的客户端时间之间建立同步锁;
将所述建立的同步锁用作确定所述客户端在正由所述客户端接收的所述媒体流中应执行广告替换的客户端时间点的基础,以及
致使所述客户端在所述确定的客户端时间点执行所述广告替换。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,由所述客户端正接收的所述媒体流具有帧速率,且其中所述客户端生成所述查询指纹的所述帧速率比所述媒体流的所述帧速率低。
17.根据权利要求15所述的非暂时性计算机可读介质,其中致使所述客户端增大产生所述查询指纹的所述帧速率包括:输出指令以传输到所述客户端,所述客户端配置成通过增大所述客户端产生所述查询指纹的所述帧速率来对所述指令作出响应。
18.根据权利要求15所述的非暂时性计算机可读介质,其中致使所述客户端在所述确定的客户端时间处执行所述广告替换包括:输出指示所述确定的客户端时间点的内容修正指令以传输到客户端。
19.根据权利要求15所述的非暂时性计算机可读介质,其中建立所述同步锁包括:
比较由所述客户端以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的参考指纹;
基于以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的参考指纹的所述比较,识别定义查询指纹和参考指纹之间的匹配的至少一个匹配点;以及
基于所述查询指纹的客户端时间时间戳和所述参考指纹的真实时间时间戳之间的映射来建立所述同步锁。
20.根据权利要求15所述的非暂时性计算机可读介质,其中将所述建立的同步锁用作确定所述客户端在正由所述客户端接收的所述媒体流中应执行所述广告替换的所述客户端时间点的基础包括:将所述建立的同步锁用作将在所述已知媒体流中应该执行所述广告替换的预定义的真实时间点映射到所述客户端在正由所述客户端接收的所述媒体流中应执行所述广告替换的相应客户端时间点的基础。
21.一种用于在媒体流中执行修正的方法,其包括:
通过计算系统接收表示正由客户端接收的所述媒体流的查询指纹,其中所述查询指纹由所述客户端以某一帧速率产生;
通过计算系统确定正由所述客户端接收的所述媒体流是已知媒体流,其中所述确定是基于由所述计算系统进行的(i)以所述帧速率产生的所述查询指纹与(ii)表示所述已知媒体流的参考指纹的比较;
响应于所述确定,通过所述计算系统使所述客户端增大所述客户端产生正由所述计算系统接收的所述查询指纹的所述帧速率;
通过所述计算系统,将以所述增大的帧速率产生的所述查询指纹用作在(i)沿着所述已知媒体流内的时间线定义的真实时间与(ii)根据所述客户端的时钟定义的客户端时间之间建立同步锁的基础;以及
通过所述计算系统,将所述建立的同步锁用作,确定所述客户端在正由所述客户端接收的所述媒体流中应执行内容修正的客户端时间点的基础。
22.根据权利要求21所述的方法,其中,由所述客户端正接收的所述媒体流具有帧速率,且其中所述客户端生成所述查询指纹的所述帧速率比所述媒体流的所述帧速率低。
23.根据权利要求21所述的方法,其中所述计算系统由与所述客户端网络通信的服务器实施。
24.根据权利要求23所述的方法,其中使所述客户端增大所述客户端产生正由所述计算系统接收的所述查询指纹的所述帧速率包括:向所述客户端传输指令,所述客户端配置成通过增大所述客户端产生正由所述计算系统接收的所述查询指纹的所述帧速率来对所述指令作出响应。
25.根据权利要求24所述的方法,进一步包括:
基于历史数据,建立所述客户端应增大所述客户端产生查询指纹的所述帧速率的提前时间点,其中所述提前时间点是所述确定的客户端时间点之前的持续时间;以及
配置所述指令以使所述客户端从所述提前时间点开始增大所述帧速率。
26.根据权利要求21所述的方法,其中将以所述增大的帧速率产生的所述查询指纹用作在(i)沿着所述已知媒体流内的时间线定义的真实时间与(ii)根据所述客户端的时钟定义的客户端时间之间建立同步锁的基础包括:
比较以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的参考指纹;
基于以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的所述参考指纹的所述比较,识别定义查询指纹和参考指纹之间的匹配的至少一个匹配点;以及
基于所述查询指纹的客户端时间时间戳与所述参考指纹的真实时间时间戳之间的映射来建立所述同步锁。
27.根据权利要求21所述的方法,其中将所述建立的同步锁用作确定所述客户端在正由所述客户端接收的所述媒体流中应执行所述内容修正的客户端时间点的基础包括:将所述建立的同步锁用作,将在所述已知媒体流中应执行所述内容修正的预定义真实时间点映射到所述客户端在正由所述客户端接收的所述媒体流中应执行所述内容修正的对应客户端时间点的基础。
28.根据权利要求21所述的方法,其中所述内容修正包括动态地补充所述媒体流的一部分媒体内容。
29.根据权利要求21所述的方法,其中正由所述客户端接收的所述媒体流包括广告,且其中所述内容修正包括动态地使用替换广告来替换所述广告。
30.一种用于在媒体流中执行修正的计算系统,其包括:
网络通信接口,通过所述网络通信接口传输和接收;
一或多个处理器;
非暂时性数据存储装置;以及
程序指令,其存储在所述非暂时性数据存储装置中且可由所述一或多个处理器执行以使所述计算系统实行包含以下的操作:
识别正由媒体客户端接收的媒体流,其中所述识别包含:(i)接收所述媒体流的查询指纹,所述接收到的查询指纹由所述媒体客户端以某一帧速率产生,和(ii)匹配所述接收到的查询指纹与已知媒体流的参考指纹,
响应于识别所述媒体流,向所述媒体客户端传输使所述媒体客户端增大产生所述查询指纹的所述帧速率的指令,
基于由所述媒体客户端以所述增大的帧速率产生的所述查询指纹,在沿着所述已知媒体流内的时间线定义的真实时间和根据所述媒体客户端的时钟定义的客户端时间之间,建立同步锁,以及
将所述建立的同步锁用作,确定所述媒体客户端在正由所述媒体客户端接收的所述媒体流中应执行内容修正的客户端时间点的基础。
31.根据权利要求30所述的计算系统,其中建立所述同步锁包括(i)接收由所述媒体客户端以所述增大的帧速率产生的所述查询指纹,(ii)检测由所述媒体客户端以所述增大的帧速率产生的所述查询指纹与已知媒体流的参考指纹之间的至少一个匹配,以及(iii)将所述至少一个匹配的真实时间时间戳与所述至少一个匹配的客户端时间时间戳进行关联。
32.根据权利要求30所述的计算系统,其中将所述建立的同步锁用作确定所述媒体客户端在正由所述媒体客户端接收的所述媒体流中应执行所述内容修正的所述客户端时间点的基础包括:将所述建立的同步锁用作将在所述已知媒体流中应该执行所述内容修正的预定义的真实时间点映射到所述媒体客户端在正由所述媒体客户端接收的所述媒体流中应执行所述内容修正的相应客户端时间点的基础。
33.根据权利要求30所述的计算系统,其中所述内容修正包括动态地补充所述媒体流的一部分媒体内容。
34.根据权利要求30所述的计算系统,其中正由所述客户端接收的所述媒体流包括广告,且其中所述内容修正包括动态地使用替换广告来替换所述广告。
35.一种用于在媒体流中执行修正的非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有指令,所述指令可由一或多个处理器执行,以执行包括以下操作的操作:
识别正由客户端接收的所述媒体流,其中所述识别包含:(i)接收所述媒体流的查询指纹,所述接收到的查询指纹由所述客户端以某一帧速率产生,和(ii)匹配所述查询指纹与已知媒体流的参考指纹,
响应于识别所述媒体流,致使所述客户端增大产生所述查询指纹的所述帧速率,
基于由所述客户端以所述增大的帧速率产生的所述查询指纹,在沿着所述已知媒体流内的时间线定义的真实时间和根据所述客户端的时钟定义的客户端时间之间建立同步锁;以及
将所述建立的同步锁用作确定所述客户端在正由所述客户端接收的所述媒体流中应执行内容修正的客户端时间点的基础。
36.根据权利要求35所述的非暂时性计算机可读介质,其中致使所述客户端增大产生所述查询指纹的所述帧速率包括:输出指令以传输到所述客户端,所述客户端配置成通过增大所述客户端产生所述查询指纹的所述帧速率来对所述指令作出响应。
37.根据权利要求35所述的非暂时性计算机可读介质,其中致使所述客户端在所述确定的客户端时间点执行所述内容修正包括:输出指示所述确定的客户端时间点的内容修正指令以传输到客户端。
38.根据权利要求35所述的非暂时性计算机可读介质,其中建立所述同步锁包括:
比较由所述客户端以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的参考指纹;
基于以所述增大的帧速率产生的所述查询指纹与所述已知媒体流的参考指纹的所述比较,识别定义查询指纹和参考指纹之间的匹配的至少一个匹配点;以及
基于所述查询指纹的客户端时间时间戳和所述参考指纹的真实时间时间戳之间的映射来建立所述同步锁。
39.根据权利要求35所述的非暂时性计算机可读介质,其中将所述建立的同步锁用作确定所述客户端在正由所述客户端接收的所述媒体流中应执行所述内容修正的所述客户端时间点的基础包括:将所述建立的同步锁用作将在所述已知媒体流中应该执行所述内容修正的预定义的真实时间点映射到所述客户端在正由所述客户端接收的所述媒体流中应执行所述内容修正的相应客户端时间点的基础。
CN202110491207.3A 2018-07-16 2019-06-07 一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质 Active CN113038241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110491207.3A CN113038241B (zh) 2018-07-16 2019-06-07 一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201862698629P 2018-07-16 2018-07-16
US62/698,629 2018-07-16
US16/166,561 US10506275B1 (en) 2018-07-16 2018-10-22 Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content
US16/166,561 2018-10-22
CN201980001136.5A CN110959293B (zh) 2018-07-16 2019-06-07 动态控制指纹识别速率以促进媒体内容的时间精确修正
CN202110491207.3A CN113038241B (zh) 2018-07-16 2019-06-07 一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质
PCT/US2019/035955 WO2020018189A1 (en) 2018-07-16 2019-06-07 Dynamic control of fingerprinting rate to facilitate time-accurate revision of media content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201980001136.5A Division CN110959293B (zh) 2018-07-16 2019-06-07 动态控制指纹识别速率以促进媒体内容的时间精确修正

Publications (2)

Publication Number Publication Date
CN113038241A CN113038241A (zh) 2021-06-25
CN113038241B true CN113038241B (zh) 2024-01-26

Family

ID=68766124

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202110491207.3A Active CN113038241B (zh) 2018-07-16 2019-06-07 一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质
CN201980001136.5A Active CN110959293B (zh) 2018-07-16 2019-06-07 动态控制指纹识别速率以促进媒体内容的时间精确修正
CN201980001137.XA Active CN111183650B (zh) 2018-07-16 2019-06-07 动态控制指纹识别速率以促进媒体内容的时间精确修订

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN201980001136.5A Active CN110959293B (zh) 2018-07-16 2019-06-07 动态控制指纹识别速率以促进媒体内容的时间精确修正
CN201980001137.XA Active CN111183650B (zh) 2018-07-16 2019-06-07 动态控制指纹识别速率以促进媒体内容的时间精确修订

Country Status (7)

Country Link
US (6) US10506275B1 (zh)
EP (2) EP3824643B1 (zh)
JP (2) JP7053944B2 (zh)
KR (2) KR102266689B1 (zh)
CN (3) CN113038241B (zh)
TW (5) TWI736511B (zh)
WO (2) WO2020018189A1 (zh)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200275168A1 (en) * 2019-02-22 2020-08-27 The Nielsen Company (Us), Llc Use of Watermarking to Trigger Fingerprint-Related Action
US10972794B2 (en) 2019-05-10 2021-04-06 The Nielsen Company (Us), Llc Content-modification system with transmission delay-based feature
US11373440B2 (en) 2019-05-10 2022-06-28 Roku, Inc. Content-modification system with fingerprint data match and mismatch detection feature
US11386696B2 (en) 2019-05-10 2022-07-12 Roku, Inc. Content-modification system with fingerprint data mismatch and responsive action feature
US10846506B1 (en) 2019-05-10 2020-11-24 The Nielsen Company (Us), Llc Content-modification system with geographic area-based feature
WO2020231927A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
US10796159B1 (en) 2019-05-10 2020-10-06 The Nielsen Company (Us), Llc Content-modification system with use of multiple fingerprint data types feature
CN113796093B (zh) * 2019-05-10 2023-09-29 六科股份有限公司 具有确定输入缓冲区切换延迟特征的内容修改系统
US11134305B2 (en) 2019-05-10 2021-09-28 Roku, Inc. Content-modification system with volume level adjustment feature
WO2020231813A1 (en) 2019-05-10 2020-11-19 The Nielsen Company (Us), Llc Content-modification system with responsive transmission of reference fingerprint data feature
US11354323B2 (en) 2019-05-10 2022-06-07 Roku, Inc. Content-modification system with geographic area-based feature
US12028571B2 (en) 2019-05-10 2024-07-02 Roku, Inc. Content-modification system with issue detection and responsive action feature
WO2020247922A1 (en) 2019-06-07 2020-12-10 The Nielsen Company (Us), Llc Content-modification system with system resource request feature
US11627347B2 (en) 2019-06-07 2023-04-11 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11109088B2 (en) 2019-06-07 2021-08-31 Roku, Inc. Content-modification system with unscheduling feature
US11418826B2 (en) 2019-06-07 2022-08-16 Roku, Inc. Content-modification system with supplemental content stitching feature
US11418835B2 (en) 2019-06-07 2022-08-16 Roku, Inc. Content-modification system with technical characteristic-based selection feature
US11336949B2 (en) 2019-06-07 2022-05-17 Roku, Inc. Content-modification system with testing and reporting feature
US11546647B2 (en) 2019-06-07 2023-01-03 Roku, Inc. Content-modification system with probability-based selection feature
US11134292B2 (en) 2019-06-07 2021-09-28 Roku, Inc. Content-modification system with overlay handling feature
US11245870B2 (en) 2019-06-18 2022-02-08 Roku, Inc. Content-modification system with determination of input-buffer switching delay feature
US11381864B2 (en) 2019-07-22 2022-07-05 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11297367B2 (en) 2019-07-22 2022-04-05 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11095944B2 (en) 2019-08-19 2021-08-17 Roku, Inc. Content-modification system with broadcast schedule utilization feature
US11233840B2 (en) * 2019-09-13 2022-01-25 Roku, Inc. Use of in-band metadata as basis to access reference fingerprints to facilitate content-related action
CN114503600A (zh) * 2019-10-31 2022-05-13 六科股份有限公司 具有延迟缓冲器特征的内容修改系统
US11343565B2 (en) * 2020-04-08 2022-05-24 Roku, Inc. Content-modification system with feature for detecting and responding to a content modification by a tuner device
US11758220B2 (en) 2020-10-29 2023-09-12 Roku, Inc. Dynamic replacement of objectionable content in linear content streams
US11917231B2 (en) 2020-10-29 2024-02-27 Roku, Inc. Real-time altering of supplemental content duration in view of duration of modifiable content segment, to facilitate dynamic content modification
US12028561B2 (en) 2020-10-29 2024-07-02 Roku, Inc. Advanced creation of slightly-different-duration versions of a supplemental content segment, and selection and use of an appropriate-duration version, to facilitate dynamic content modification
US11494803B2 (en) * 2021-02-11 2022-11-08 Roku, Inc. Content modification system with viewer behavior-based content delivery selection feature
US11388473B1 (en) 2021-02-11 2022-07-12 Roku, Inc. Content-modification system with feature for controlling viewer exposure to spoilers in advertisements
US11695989B2 (en) 2021-02-11 2023-07-04 Roku, Inc. Content-modification system with user experience analysis feature
US20220264171A1 (en) * 2021-02-12 2022-08-18 Roku, Inc. Use of In-Band Data to Facilitate Ad Harvesting for Dynamic Ad Replacement
US11962870B2 (en) 2021-02-17 2024-04-16 Roku, Inc. Content-modification system with quiet content detection feature
US11979624B1 (en) * 2022-12-06 2024-05-07 Sling TV L.L.C. Correcting ad markers in media content

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102959544A (zh) * 2010-05-04 2013-03-06 沙扎姆娱乐有限公司 用于同步媒体的方法和系统
US9510044B1 (en) * 2008-06-18 2016-11-29 Gracenote, Inc. TV content segmentation, categorization and identification and time-aligned applications
CN107851104A (zh) * 2015-04-23 2018-03-27 索伦森媒体有限公司 自动内容辨识指纹序列匹配
CN107852252A (zh) * 2015-06-12 2018-03-27 索伦森媒体有限公司 通过自动内容辨识指纹匹配来检测频道改变
CN108140199A (zh) * 2015-09-09 2018-06-08 索伦森媒体有限公司 动态视频广告替换

Family Cites Families (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030093790A1 (en) 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
US20110213869A1 (en) 2000-09-25 2011-09-01 Yevgeny Korsunsky Processing data flows with a data flow processor
US20070192863A1 (en) 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
JP2004013440A (ja) * 2002-06-05 2004-01-15 Matsushita Electric Ind Co Ltd データ配信システム、データ配信システムにおけるデータ中継装置及びデータ中継方法、および当該データ中継方法をコンピュータに実行させるためのプログラム
US20040237102A1 (en) 2003-03-07 2004-11-25 Richard Konig Advertisement substitution
US20050177847A1 (en) 2003-03-07 2005-08-11 Richard Konig Determining channel associated with video stream
US7738704B2 (en) * 2003-03-07 2010-06-15 Technology, Patents And Licensing, Inc. Detecting known video entities utilizing fingerprints
US20050149968A1 (en) 2003-03-07 2005-07-07 Richard Konig Ending advertisement insertion
US7627808B2 (en) 2003-06-13 2009-12-01 Microsoft Corporation Computer media synchronization player
US8406607B2 (en) 2004-08-12 2013-03-26 Gracenote, Inc. Selection of content from a stream of video or audio data
US20090254392A1 (en) 2006-03-30 2009-10-08 Zander Van S Method and system for enterprise network access control and management for government and corporate entities
RU2009100847A (ru) * 2006-06-13 2010-07-20 Конинклейке Филипс Электроникс Н.В. (Nl) Идентификационная метка, устройство, способ для идентификации и синхронизации видеоданных
US8059646B2 (en) 2006-07-11 2011-11-15 Napo Enterprises, Llc System and method for identifying music content in a P2P real time recommendation network
US9367744B2 (en) * 2007-02-27 2016-06-14 Vobile, Inc Systems and methods of fingerprinting and identifying media contents
WO2008116137A2 (en) * 2007-03-22 2008-09-25 Nielsen Media Research, Inc. Digital rights management and audience measurement systems and methods
US20080274687A1 (en) 2007-05-02 2008-11-06 Roberts Dale T Dynamic mixed media package
JP2010532943A (ja) 2007-07-06 2010-10-14 エーエムビーエックス ユーケー リミテッド マルチメディア・システムにおいてコンテンツ・ストリームと一つまたは複数の感覚効果を出力するためのスクリプトを同期させる方法
US9955122B2 (en) * 2008-04-11 2018-04-24 Mobitv, Inc. Dynamic advertisement stream replacement
WO2009140819A1 (en) * 2008-05-21 2009-11-26 Yuvad Technologies Co., Ltd. A system for facilitating the search of video content
US9299364B1 (en) * 2008-06-18 2016-03-29 Gracenote, Inc. Audio content fingerprinting based on two-dimensional constant Q-factor transform representation and robust audio identification for time-aligned applications
US9313359B1 (en) * 2011-04-26 2016-04-12 Gracenote, Inc. Media content identification on mobile devices
US10631068B2 (en) * 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US9386356B2 (en) 2008-11-26 2016-07-05 Free Stream Media Corp. Targeting with television audience data across multiple screens
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
US9015741B2 (en) 2009-04-17 2015-04-21 Gracenote, Inc. Method and system for remotely controlling consumer electronic devices
US20110063503A1 (en) * 2009-07-06 2011-03-17 Brand Steven M Synchronizing secondary content to a multimedia presentation
KR101071728B1 (ko) * 2009-10-01 2011-10-11 한국과학기술원 핑거 프린팅 시스템의 정합 과정에서 사용하는 디스턴스 메트릭을 학습을 통해서 결정하는 방법
US8694533B2 (en) * 2010-05-19 2014-04-08 Google Inc. Presenting mobile content based on programming context
US8863165B2 (en) * 2010-11-01 2014-10-14 Gracenote, Inc. Method and system for presenting additional content at a media system
KR101181732B1 (ko) 2010-11-22 2012-09-19 (주)엔써즈 동영상 핑거프린트 정보에 기반한 동영상 마크업 데이터 생성 방법 및 이를 이용한 정보 제공 방법 및 시스템
EP2659663B1 (en) * 2010-12-29 2016-04-20 Telecom Italia S.p.A. Method and system for syncronizing electronic program guides
KR101211098B1 (ko) * 2011-04-25 2012-12-11 (주)엔써즈 클라이언트 단말기측으로 네트워크를 통해 방송에 포함된 광고와 연관된 정보를 제공하는 시스템 및 방법
KR101893151B1 (ko) * 2011-08-21 2018-08-30 엘지전자 주식회사 영상 표시 장치, 단말 장치 및 그 동작 방법
US8805827B2 (en) * 2011-08-23 2014-08-12 Dialogic (Us) Inc. Content identification using fingerprint matching
WO2013088822A1 (ja) * 2011-12-16 2013-06-20 株式会社ソニー・コンピュータエンタテインメント 放送番組処理装置、放送番組処理方法、放送局装置、情報配信サーバ、プログラム及び情報記憶媒体
US8832723B2 (en) 2012-02-07 2014-09-09 Turner Broadcasting System, Inc. Method and system for a synchronous event manager for automatic content recognition
EP2800392A4 (en) * 2012-02-10 2015-09-09 Lg Electronics Inc IMAGE DISPLAY DEVICE AND OPERATING METHOD THEREFOR
US9703932B2 (en) * 2012-04-30 2017-07-11 Excalibur Ip, Llc Continuous content identification of broadcast content
US9553756B2 (en) * 2012-06-01 2017-01-24 Koninklijke Kpn N.V. Fingerprint-based inter-destination media synchronization
US20140106708A1 (en) 2012-10-15 2014-04-17 Juked, Inc. Continuous monitoring of data exposure and providing service related thereto
US9794642B2 (en) * 2013-01-07 2017-10-17 Gracenote, Inc. Inserting advertisements into video content
US9323840B2 (en) 2013-01-07 2016-04-26 Gracenote, Inc. Video fingerprinting
US9635417B2 (en) * 2013-04-05 2017-04-25 Dolby Laboratories Licensing Corporation Acquisition, recovery, and matching of unique information from file-based media for automated file detection
EP2989807A4 (en) * 2013-05-03 2016-11-09 Digimarc Corp WATERMARK MARKING AND SIGNAL RECOGNITION FOR ADMINISTERING AND DIVISION OF INTEGRATED CONTENT, METADATA RECORDING AND RELATED ARRANGEMENTS
EP3047653B1 (en) 2013-09-20 2020-05-06 Koninklijke KPN N.V. Correlating timeline information between media streams
TW201514887A (zh) * 2013-10-15 2015-04-16 Utechzone Co Ltd 影像信息的播放系統及方法
US20160248526A1 (en) * 2014-01-27 2016-08-25 Yangbin Wang Systems and methods of fingerprinting and identifying realtime broadcasting signals
KR20150104358A (ko) * 2014-03-05 2015-09-15 삼성전자주식회사 서버 장치 및 그의 핑거프린트 전송 방법, 그리고 방송수신장치
FR3018983B1 (fr) 2014-03-20 2016-05-06 Viaccess Sa Procede et dispositif d'identification d'un contenu en cours de visualisation sur un ecran
US10825056B1 (en) * 2014-04-17 2020-11-03 The Nielsen Company (Us), Llc Client-side video advertisement replacement using automatic content recognition
CN106233746B (zh) * 2014-08-21 2019-07-09 松下知识产权经营株式会社 内容辨识装置、内容辨识方法以及记录介质
WO2016068760A1 (en) * 2014-10-27 2016-05-06 Telefonaktiebolaget L M Ericsson (Publ) Video stream synchronization
KR102217191B1 (ko) * 2014-11-05 2021-02-18 삼성전자주식회사 단말 장치 및 그 정보 제공 방법
CN111757189B (zh) * 2014-12-01 2022-07-15 构造数据有限责任公司 用于连续介质片段识别的系统和方法
CN105808182B (zh) 2015-01-15 2019-09-17 财团法人工业技术研究院 显示控制方法及系统、广告破口判断装置、影音处理装置
KR102560635B1 (ko) * 2015-12-28 2023-07-28 삼성전자주식회사 컨텐트 인식 장치 및 그 동작 방법
JP6984083B2 (ja) * 2016-01-06 2021-12-17 テレビジョン・インサイツ、インコーポレイテッド 視聴者エンゲージメントを評価するためのシステム
US10063918B2 (en) * 2016-02-29 2018-08-28 Gracenote, Inc. Media channel identification with multi-match detection and disambiguation based on single-match
WO2017151443A1 (en) * 2016-02-29 2017-09-08 Myteamcalls Llc Systems and methods for customized live-streaming commentary
CN107529071B (zh) * 2016-06-22 2019-03-01 腾讯科技(深圳)有限公司 一种视频数据处理方法以及装置
KR102410473B1 (ko) * 2016-08-01 2022-06-17 삼성전자주식회사 전자 장치 및 전자 장치의 동작 방법
US10616631B2 (en) 2016-08-01 2020-04-07 Samsung Electronics Co., Ltd. Electronic apparatus and method of operating the same
GB2599877B (en) 2016-08-24 2022-10-12 Grass Valley Ltd Comparing video sequences using fingerprints
KR20180028588A (ko) 2016-09-08 2018-03-19 주식회사 이타기술 입력 시점이 다른 동영상 데이터의 장면기반 핑거프린트를 이용한 적응적 프레임 동기화 방법 및 장치
US10659509B2 (en) * 2016-12-06 2020-05-19 Google Llc Detecting similar live streams ingested ahead of the reference content

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9510044B1 (en) * 2008-06-18 2016-11-29 Gracenote, Inc. TV content segmentation, categorization and identification and time-aligned applications
CN102959544A (zh) * 2010-05-04 2013-03-06 沙扎姆娱乐有限公司 用于同步媒体的方法和系统
CN107851104A (zh) * 2015-04-23 2018-03-27 索伦森媒体有限公司 自动内容辨识指纹序列匹配
CN107852252A (zh) * 2015-06-12 2018-03-27 索伦森媒体有限公司 通过自动内容辨识指纹匹配来检测频道改变
CN108140199A (zh) * 2015-09-09 2018-06-08 索伦森媒体有限公司 动态视频广告替换

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于小波包最优基的音频内容软认证算法;陈芳等;《计算机应用与软件》;20090415(第04期);全文 *
实用型指纹识别系统的研究;张立民等;《南开大学学报(自然科学版)》;20070220(第01期);全文 *

Also Published As

Publication number Publication date
KR102266690B1 (ko) 2021-06-22
KR20210020167A (ko) 2021-02-23
EP3824642B1 (en) 2024-01-03
JP2021524714A (ja) 2021-09-13
US10979758B2 (en) 2021-04-13
CN110959293B (zh) 2021-05-18
TWI736511B (zh) 2021-08-11
WO2020018189A1 (en) 2020-01-23
EP3824643B1 (en) 2024-01-03
US20200186860A1 (en) 2020-06-11
CN113038241A (zh) 2021-06-25
TWI716022B (zh) 2021-01-11
TW202007179A (zh) 2020-02-01
US11503362B2 (en) 2022-11-15
KR102266689B1 (ko) 2021-06-22
US10623800B2 (en) 2020-04-14
TW202007180A (zh) 2020-02-01
EP3824643A4 (en) 2022-04-20
US20210195276A1 (en) 2021-06-24
CN111183650B (zh) 2021-10-29
WO2020018190A1 (en) 2020-01-23
KR20210020166A (ko) 2021-02-23
US10506275B1 (en) 2019-12-10
US10992981B2 (en) 2021-04-27
US20200021877A1 (en) 2020-01-16
EP3824643A1 (en) 2021-05-26
EP3824642A4 (en) 2022-04-20
JP2021524713A (ja) 2021-09-13
US11290770B2 (en) 2022-03-29
TWI701947B (zh) 2020-08-11
TW202130191A (zh) 2021-08-01
EP3824642A1 (en) 2021-05-26
JP7053943B2 (ja) 2022-04-12
TWI762117B (zh) 2022-04-21
TW202044845A (zh) 2020-12-01
CN111183650A (zh) 2020-05-19
US20210219011A1 (en) 2021-07-15
JP7053944B2 (ja) 2022-04-12
US20200068248A1 (en) 2020-02-27
TWI725906B (zh) 2021-04-21
CN110959293A (zh) 2020-04-03
TW202126051A (zh) 2021-07-01

Similar Documents

Publication Publication Date Title
CN113038241B (zh) 一种用于在媒体流中执行修正的方法、计算系统及非暂时性计算机可读介质
KR102484054B1 (ko) 프레임적으로 정확한 컨텐츠 수정을 용이하게 하기 위해, 낮은 레이트 핑거프린팅을 사용하는 보간을 기반으로 하는 시간 맵핑의 확립 및 사용

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20220713

Address after: California, USA

Applicant after: Liuke Co.,Ltd.

Address before: California, USA

Applicant before: Gracenote, Inc.

GR01 Patent grant
GR01 Patent grant