CN117981329A - 使用嵌入式水印监视内容显示的系统和方法 - Google Patents

使用嵌入式水印监视内容显示的系统和方法 Download PDF

Info

Publication number
CN117981329A
CN117981329A CN202280055855.7A CN202280055855A CN117981329A CN 117981329 A CN117981329 A CN 117981329A CN 202280055855 A CN202280055855 A CN 202280055855A CN 117981329 A CN117981329 A CN 117981329A
Authority
CN
China
Prior art keywords
media
watermark
media device
content
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.)
Pending
Application number
CN202280055855.7A
Other languages
English (en)
Inventor
布莱恩·里德
文京洙
W·里奥·霍尔提
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.)
Weizhiyou Co ltd
Original Assignee
Weizhiyou 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 Weizhiyou Co ltd filed Critical Weizhiyou Co ltd
Publication of CN117981329A publication Critical patent/CN117981329A/zh
Pending legal-status Critical Current

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/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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • 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/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/608Watermarking

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

提供了用于使用嵌入式水印来检测媒体和/或专门内容的显示的系统和方法。例如,媒体设备可以接收包括一组视频帧的视频数据。媒体设备可以在该组视频帧中的至少一个视频帧中检测被嵌入到至少一个视频帧中的水印。水印可以用于识别要由媒体设备显示的媒体。媒体设备可以显示媒体。媒体设备然后可以将媒体已由媒体设备呈现的指示发送到目的地设备。

Description

使用嵌入式水印监视内容显示的系统和方法
相关申请的交叉引用
本申请要求于2021年8月17日提交的美国临时专利申请号63/234,170的权益,该美国临时专利申请出于所有目的通过援引以其全文并入本文。
技术领域
本公开内容总体上涉及监视内容显示,并且更具体地,涉及检测嵌入在数字视频信号内的数据,以识别媒体设备正在显示的内容。
背景技术
媒体设备从媒体服务提供商(例如,有线电视、碟形卫星天线等)接收多频道广播视频。广播视频可以包括具有补贴媒体的资源成本的专门内容(例如,广告、信息内容等)的媒体(例如,电视节目、电影等)。由专门内容的内容提供商提供的资源数量通常基于观看专门内容的用户数量。例如,内容提供商可以为观看专门内容的每千次“印象”或次数提供特定数量的资源,这可以被称为“每千人成本”或“CPM”。由于专门内容包括在广播视频中,因此可以认为,如果媒体设备正在显示广播视频,则专门内容就被显示。然而,现代媒体设备可能会显示来自不同动态源(例如,通过互联网、时移源,比如本地或远程数字视频录像机等)的内容。因此,检测到媒体的显示不再指示专门内容的显示。
发明内容
本文描述了用于使用嵌入式水印来监视内容显示的方法和系统。该方法包括:由媒体设备接收包括一组视频帧的视频数据;在该组视频帧中的至少一个视频帧中检测嵌入到该至少一个视频帧中的水印,其中,该水印识别要由该媒体设备显示的媒体;由该媒体设备显示该媒体;以及基于检测到该水印来向目的地地址发送由该媒体设备呈现该媒体的指示。
本文描述的系统可以使用嵌入式水印来监视内容显示。系统包括:一个或多个处理器以及存储有指令的非暂时性计算机可读介质,这些指令在由该一个或多个处理器执行时,使该一个或多个处理器执行如前所述的任何方法。
本文描述的非暂时性计算机可读介质可以存储指令,这些指令当由一个或多个处理器执行时,使该一个或多个处理器执行如前所述的任何方法。
提及这些说明性示例不是为了限制或限定本公开内容,而是为了帮助理解本公开内容。在具体实施例中讨论了附加的实施例,并且在那里提供了进一步的描述。
附图说明
当参考附图阅读以下具体实施方式时,本公开内容的特征、实施例和优点将得到更好的理解。
图1展示了根据本公开内容的各方面的监视媒体设备上显示内容的客户端媒体插入系统的示例框图。
图2展示了根据本公开内容的各方面的监视媒体设备上显示内容的服务器端媒体插入系统的示例框图。
图3展示了根据本公开内容的各方面的使用水印来安全监视媒体设备上显示内容的安全流系统的示例框图。
图4展示了根据本公开内容的各方面的用于使用水印来监视媒体设备上显示内容的过程的示例框图。
图5展示了根据本公开内容的各方面的描述媒体设备监视和报告内容显示的示例过程的流程图。
图6展示了根据本公开内容的各方面的描述内容显示的监视和报告中所涉及的媒体服务器的示例过程的流程图。
图7展示了根据本公开内容的各方面的使用两层水印嵌入在最上行视频帧中的数据的示例。
图8展示了根据本公开内容的各方面的嵌入到最上行视频帧和最上面两行视频帧的二进制水印的示例。
图9展示了根据本公开内容的各方面的示例视频帧,其中,接近水印的过渡区域逐渐变暗以增强人眼对水印的感知模糊。
图10A展示了根据本公开内容的各方面的示例视频帧序列,其中,水印的零码元值和一码元值交替出现以使人眼对水印感知模糊。
图10B展示了根据本公开内容的各方面的用于改善数据码元的感知混同的每两帧示例数据码元的视频反转。
图11展示了根据本公开内容的各方面的具有加强的导入数据码元序列以加强对带水印帧的检测的示例水印。
图12展示了根据本公开内容的各方面的水印的数据码元的示例,其中,零码元与一码元之间的欧几里得距离被暂时增加。
图13展示了根据本公开内容的各方面的可以实施本文描述的各种技术的示例计算设备的示例计算设备架构。
具体实施方式
本公开内容包括用于使用水印来监视显示设备的内容的系统和方法。媒体设备可以被配置为显示来自各种不同源(例如,空中下载(OTA)、有线电视、卫星、互联网等)的各种类型的媒体。一些源可以包括可以在其他媒体的特定间隔期间显示的专门内容(例如,广告、信息内容、媒体内容等)。在一些情况下,媒体设备可以执行客户端内容插入(CSCI)过程,以将专门内容插入到其他媒体中。例如,媒体设备可以单独从其他媒体的视频帧(例如,从单独的内容递送网络(CDN)等)接收与专门内容相对应的视频帧。媒体设备然后可以通过将专门内容的视频帧插入到其他媒体的视频帧中来生成单个视频帧序列。在其他情况下,可以执行服务器端内容插入(SSCI)过程,其中,拼接服务接收专门内容和其他媒体二者,并且生成单个视频帧序列,然后该单个视频帧序列可以被发送到媒体设备。
客户端设备可以请求与显示特定专门内容相关联的信息,以改进专门内容、增加由媒体设备显示专门内容的可能性、补偿媒体源(例如,拼接服务、CDN和/或向媒体设备提供专门内容的设备和/或服务等)等。媒体设备可以直接向跟踪服务器报告专门内容的显示,以避免比如拼接服务的设备等中间设备误报专门内容的显示。媒体设备可以从内容服务器获得地址(例如,统一资源定位符(URL)等),该地址对应于与专门内容相关联的跟踪服务器的位置。使用该地址,媒体设备然后可以向跟踪服务器发送指示专门内容被显示的报告。
在一些情况下,内容服务器可以将水印嵌入到专门内容的一个或多个视频帧中。水印可以向媒体设备提供信息和/或指令(例如,内容服务器的地址、专门内容的标识、要替换带水印的视频帧的一个或多个视频帧的标识、令牌和/或类似物)。在一些示例中,响应于检测到水印,媒体设备可以向跟踪服务器发送指示专门内容被显示的报告。水印可以以中间设备(例如,拼接服务等)不可感知(或者不可解码)的方式嵌入到专门内容中,以防止中间设备截取嵌入到水印中的信息和/或指令。
媒体设备的用户也可能感知不到水印,以防止水印影响由媒体设备呈现的视频帧的质量。在一些示例中,可以通过修改视频帧最上行或最上多个行中的像素的亮度和/或色度来将水印编码到视频的像素数据中。在一些情况下,媒体设备可能不会显示顶部一行或多行像素。在其他情况下,可以选择亮度和/或色度的程度以最小化用户检测到修改的可能性。转变亮度和/或色度(例如,而不是使用像纯白或纯黑那样的对比像素值)可以被媒体设备检测到,但是媒体设备的用户可能感知不到。经调制和未经调制的像素可以传达可以表示信息和/或指令的码元序列(例如,1和0等)。
在一些情况下,码元序列可以在被嵌入到一个或多个视频帧中之前被加密(例如,使用异步或同步加密方案),以进一步降低另一个设备可以截取一个或多个视频帧并解码水印的码元序列的可能性。于2021年7月29日提交的名称为“System And Methods for theApplication of Adaptive Video Watermarks[用于施加自适应视频水印的系统和方法]”的美国申请号17/389,147中可以进一步描述将水印生成、嵌入和解码到视频帧中,该美国申请出于所有目的通过援引以其全文并入本文。
跟踪服务器可以汇总从一个或多个媒体设备接收到的信息,以向与专门内容相关联的内容服务器和/或客户端设备提供报告。可以被包括在报告中的信息的示例可以包括但不限于由媒体设备显示的媒体和/或专门内容的标识、媒体和/或专门内容被显示的时间量(以秒为单位)或媒体和/或专门内容可以被显示的时间量占总时间量的百分比、与媒体设备和/或其用户相关联的人口统计信息、媒体设备先前显示的媒体和/或专门内容的标识、媒体设备的网络信息(例如,互联网协议(IP)地址、媒体访问控制(MAC)地址、互联网服务提供商(ISP)等)、媒体设备的标识(例如,媒体设备的序列号或唯一标识符、移动广告ID(MAID)、媒体设备的设备类型(例如,移动设备、计算设备、电视、智能电视等)、媒体设备的制造商标识、媒体设备的规格标识(例如,硬件和/或软件等)或其组合等)或上述内容的组合等。
在一些示例中,内容服务器和/或客户端设备可以向跟踪服务器询问由特定媒体设备、特定媒体设备集(例如,由序列号、IP地址、MAC地址、地理位置、媒体设备和/或其用户的人口统计信息、其任何组合等识别)或任何媒体设备显示特定专门内容的实例的数量。在一些示例中,内容服务器和/或客户端设备可以向跟踪服务器询问与显示专门内容的设备相关联的信息,比如人口统计信息、位置信息等。从跟踪服务器获得的信息可以用于改进专门内容、增加由媒体设备显示专门内容的可能性、补偿媒体源等。例如,内容服务器和/或客户端设备可以修改专门内容和/或嵌入其中的水印,以增加媒体设备可以显示修改后的专门内容的整个持续时间的可能性。修改后的专门内容可以存储在内容服务器中,并且根据CDN和/或媒体设备的请求分发给CDN。
图1展示了根据本公开内容的各方面的监视媒体设备上显示内容的客户端媒体插入系统的示例框图。客户端媒体插入系统100在媒体设备104处将媒体和/或专门内容插入到媒体流中。媒体设备104可以被配置为接收和显示来自各种源(例如,有线服务提供商、内容递送网络、互联网服务提供商、内容服务器、数据库、流设备、存储设备等)的媒体(例如,图像、视频、音频、视频和音频等)。在一些情况下,媒体设备104可以从两个或更多个源接收媒体,这些源被配置为作为单个序列显示。在这些情况下,媒体设备104可以包括处理硬件,该处理硬件将来自一个源的视频帧插入到另一个源的视频帧中以生成可以由媒体设备104显示的单个视频帧序列。
媒体设备104可以从媒体内容递送网络(CDN)108和/或内容服务器112接收媒体。媒体CDN 108可以包括存储媒体的一个或多个设备。媒体CDN 108可以由媒体服务提供商(例如,有线服务提供商、互联网服务提供商等)和/或内容服务器112操作或从其接收媒体。媒体CDN 108可以包括对由媒体CDN 108所服务的媒体类型进行逻辑分段的一个或多个CDN。例如,媒体CDN 108可以包括存储和分发媒体流的第一CDN以及存储和分发专门内容的第二CDN。第二CDN可以存储从比如但不限于内容服务器112等其他设备接收到的专门内容。媒体CDN 108可以具有其他CDN,比如但不限于用于流服务的CDN、用于有线服务提供商的CDN、用于电影的CDN、用于电视节目的CDN等)。每个CDN可以存储和分发来自同一源(例如,同一有线服务提供商、公司、网络等)或来自多个源的媒体和/或专门内容。媒体CDN 108可以从媒体设备104或者从媒体设备104的服务提供商(例如,有线服务提供商、互联网服务提供商等)接收对一个或多个媒体流的请求。作为响应,媒体CDN 108可以向媒体设备104发送所请求的一个或多个媒体流。
内容服务器112可以包括向媒体设备提供专门内容(例如,商业广告、广告、媒体内容、信息内容等)的一个或多个设备(例如,计算设备、服务器等)。内容服务器112从媒体设备104和/或媒体CDN 108接收对专门内容或特定专门内容的请求。作为响应,内容服务器112可以识别将满足该请求的特定专门内容。所识别的专门内容可以由内容服务器112的一个或多个设备中的设备存储,或者存储在与内容服务器112通信的数据库中。例如,内容服务器112可以首先确定所识别的专门内容是否是本地存储的,并且如果是本地存储的,则将所识别的专门内容发送到媒体设备104或媒体CDN 108。如果所识别的专门内容不是本地存储的,则内容服务器112可以向内容数据库116查询所识别的专门内容。内容服务器112然后可以从内容数据库116中检索出所识别的专门内容,并且将所识别的专门内容发送到媒体设备104或媒体CDN 108。
内容服务器112可以存储和/或生成包括附加信息和/或指令的水印。内容服务器112可以在向媒体设备104或媒体CDN 108发送所识别的专门内容之前将水印嵌入到所识别的专门内容中。水印可以被包括在所识别的专门内容的元数据中或者被嵌入到所识别的专门内容的视频帧中。例如,内容服务器112可以将一个或多个视频帧的一部分(例如,最上面的n行、最旁边的n列、最下面的n行等)的像素值设置为用于表示第一码元(例如,0等)的第一像素值和用于表示第二码元(例如,0等)的第二像素值。可替代地,为了降低一个或多个视频帧的该部分的可感知性,内容服务器112可以通过转变像素的亮度和/或色度值来调制像素值。通过转变亮度和/或色度,经调制的像素在像素值上可能看起来更接近未经调制的像素,这可以防止用户感知嵌入到视频帧中的水印。
附加信息和/或指令可以包括与专门内容相关联的信息(例如,识别要显示专门内容的视频帧的数量或时间长度、专门内容的源、专门内容中呈现的对象、与专门内容的制作相关联的信息、与该专门内容相关联的其他专门内容的标识、要替换该专门内容的另一专门内容的标识等)。在一些情况下,指令可以包括响应于检测到水印而要执行的一个或多个过程的标识。例如,一个或多个过程可以包括用(例如,由内容服务器112、另一个服务器、媒体设备104的高速缓存等接收到的)另一专门内容替换专门内容。在其他情况下,指令可以包括可以由媒体设备104执行以执行一个或多个过程的可执行代码。
媒体接收器120可以由中央处理单元124操作,以将接收到的媒体流中的一些或全部传送到视频处理器128。例如,媒体流可以包括一个或多个子流。媒体接收器120可以识别要由媒体设备104显示的特定媒体子流,隔离该特定媒体子流并将该特定子流传递给视频处理器。可以使用任何编码方案将一个或多个子流编码到媒体流中。例如,可以使用基于频率的编码方案将一个或多个子流(例如,电视频道等)编码到媒体流中。媒体接收器120可以基于将子流编码到媒体流中的频率来识别子流。
视频处理器128可以(例如,通过对各个视频帧提高分辨率、运动插值、平滑化、运动模糊化和/或进行成像处理等)处理接收到的视频帧,并生成视频帧序列以供媒体设备104实时显示。例如,视频处理器128可以从媒体CDN 108接收对应于专门内容的视频帧和对应于媒体的视频帧。视频处理器128然后可以将对应于专门内容的视频帧插入到对应于媒体的视频帧中,以生成单个视频帧序列。视频处理器128可以将其他视频帧插入到对应于媒体的视频帧中(或者插入到单个视频帧序列的视频帧中)。例如,媒体设备104可以将其他媒体和/或其他专门内容存储在媒体高速缓存132中。除了专门内容的视频帧之外,视频处理器128还可以使用对应于来自媒体高速缓存132的其他媒体和/或其他专门内容的视频帧来生成单个视频帧序列。可替代地或附加地,媒体设备104可以从远程设备(例如,从内容服务器112、媒体CDN 108和/或其他设备)请求对应于其他媒体和/或其他专门内容的视频帧。媒体设备可以将对应于其他媒体和/或其他专门内容的视频帧存储在媒体高速缓存132中。
在一些情况下,专门内容可以包括指令,用于识别要插入到对应于媒体的视频帧中的其他专门内容。例如,专门内容可以包括可以由媒体设备104解码的水印。水印可以识别要插入到对应于媒体的视频帧中的特定专门内容。媒体设备104可以将特定专门内容或其一部分(例如,特定专门媒体的第一部分等)布置在媒体高速缓存132中,和/或从内容服务器112和/或另一个服务器请求特定专门内容(或特定专门内容的其余部分)。在其他情况下,指令可以被包括在媒体中(例如,作为元数据和/或水印)。如果指令被包括在水印中,则媒体设备104可以解码水印以识别特定专门内容。视频处理器128然后可以用对应于特定专门内容的视频帧来替换包括水印的视频帧。如果指令被包括在元数据中,则媒体设备104可以识别特定专门内容和媒体中用于插入特定专门内容的视频帧的位置。
媒体高速缓存132可以存储与媒体和/或专门内容相对应的视频帧、与媒体和/或专门内容相关联的元数据、由媒体设备104显示的媒体和/或专门内容的记录。媒体高速缓存132可以存储媒体和/或专门内容的视频帧,以减少生成单个视频帧序列的延迟和/或媒体设备104显示视频帧的延迟。例如,在一些情况下,生成单个视频帧序列时的处理时间和/或等待时间可能导致媒体和/或专门内容的显示延迟。由于处理器错误、由于未及时接收媒体和/或专门内容、和/或当处理负载导致生成单个视频帧序列的时间超过预期时,都可能会出现处理延迟。该延迟可能会导致视频帧缓冲器136用尽了要发送到显示器140的视频帧,并且显示器140没有可显示的内容。
通过将与媒体和/或专门内容相对应的一些或全部视频帧存储在媒体高速缓存132中,可以减少或消除延迟。媒体设备104可以请求与将来要显示的媒体和/或专门内容相对应的一些或全部视频帧。当要显示媒体和/或专门内容时,视频处理器128可以使用媒体高速缓存132中的视频帧来生成单个视频帧序列。如果媒体高速缓存132不包括对应于特定媒体或专门内容的全部视频帧,则媒体设备104可以在准备存储在媒体高速缓存132中的媒体和/或专门内容的部分以供显示时请求丢失的视频帧。当媒体接收器120接收到其余视频帧时,视频处理器128可以将这些视频帧插入到单个视频帧序列中。由于媒体和/或专门内容的一部分可能已经被插入到单个视频帧序列中,因此可以在接收其余视频帧的同时开始显示这些帧,从而消除媒体和/或专门内容的显示延迟。
视频处理器128将单个视频帧序列流传输到视频帧缓冲器136。视频帧缓冲器136可以是这样的缓冲器:其将视频帧存储为在由显示器140显示之前从视频处理器128接收的视频帧。视频帧缓冲器136接收视频帧序列中的视频帧,并在将视频帧(按顺序)发送到显示器140之前存储预定数量的视频帧。视频帧缓冲器136可以通过以常规间隔向显示器140发射视频帧来调节显示器140显示视频帧的速率。例如,在一些时间间隔期间,视频处理器128生成和发送视频帧的速率可高于视频帧缓冲器向显示器140发射视频帧的速率。在其他时间间隔期间,视频处理器128生成和发送视频帧的速率可低于视频帧缓冲器向显示器140发送视频帧的速率。当视频处理器128以较高速率进行发送时,视频帧缓冲器136可以通过存储从视频处理器128接收到的额外视频帧来调节向显示器140发送视频帧的速率。当视频处理器128以较低速率发送视频帧时,视频帧缓冲器可以使用存储的视频帧继续发送视频帧。
显示器140可以是任何电子显示器(例如,阴极射线管(CRT)、等离子体、液晶显示器(LCD)、发光二极管(LED)、有机LED(OLED)等)。在一些情况下,显示器140可以与媒体设备104分离。在这些情况下,媒体设备104可以包括用于生成单个视频帧序列以供显示的处理组件。媒体设备104然后可以将单个视频帧序列发送到外部显示器140(例如,经由有线或无线接口)。
客户端动态内容插入(DCI)控制器144可以从视频帧缓冲器136接收显示器140正在显示的视频帧的标识。在一些情况下,客户端DCI控制器144可以是或者包括客户端动态广告插入(DAI)控制器。当特定媒体和/或专门内容由显示器140显示时,客户端DCI控制器144可以向跟踪服务器148发送指示显示器140正在显示(或者显示了)特定媒体和/或专门内容的通信内容。客户端DCI控制器144从远程设备和/或从特定媒体和/或专门内容本身接收要在显示时报告给跟踪服务器148的特定媒体和/或专门内容的标识。例如,特定媒体和/或专门内容可以包括水印或元数据,该水印或元数据包括用于将特定媒体和/或专门内容的显示传送给跟踪服务器148的指令。水印或元数据也可以包括跟踪服务器148的位置的标识(例如,地址等)。可替代地或附加地,媒体设备104可以从远程设备(例如,内容服务器112等)请求要在显示时报告的媒体和/或专门内容的标识和/或跟踪服务器148的位置。
客户端DCI控制器144可以包括在与跟踪服务器148的通信中与媒体设备104和/或媒体设备104的用户相关联的信息。例如,客户端DCI控制器144可以包括人口统计信息(例如,媒体设备104的地理位置、媒体设备104的用户年龄、媒体设备104的用户性别等)、媒体设备104的网络信息(例如,IP地址、MAC地址、互联网服务提供商(ISP)等)、媒体和/或专门内容显示的持续时间的标识(例如,以秒、分钟为单位、媒体和/或专门内容在不中断的情况下显示的持续时间占总持续时间的百分比等)、先前显示的媒体或专门内容的标识等。
图2展示了根据本公开内容的各方面的监视媒体设备上显示内容的服务器端媒体插入系统的示例框图。服务器端媒体插入系统200在将媒体流发送到媒体设备204之前,将媒体和/或专门内容插入到要由媒体设备204显示的媒体流中。媒体设备204可以包括与图1的媒体设备104相同的组件(如所示出的)、与媒体设备104相似的组件或者与媒体设备104不同的组件。媒体设备204可以请求由媒体设备204的显示器140显示的媒体流。媒体CDN108可以接收请求并将所请求的媒体流发射到拼接服务208。
媒体设备204也可以从内容服务器112请求用于在媒体流期间供显示的专门内容。媒体设备304可以包括特定专门内容的标识、专门内容类型的标识、对任何专门内容的一般请求、媒体设备204的标识、与媒体设备204相关联的信息(例如,网络信息、人口统计信息、用户信息等)的标识等。内容服务器112可以从内容数据库116选择满足请求的专门内容,并且将该专门内容发送到拼接服务208。例如,可以基于与媒体设备204相关联的信息(例如,人口统计信息等)和/或媒体流来选择专门内容。
拼接服务208可以包括一个或多个设备(例如,计算设备、服务器、数据库等),其根据从内容服务器112接收到的专门内容和从媒体CDN 108接收到的媒体流生成单个视频帧序列。例如,拼接服务208可以将与专门内容相对应的视频帧插入到与媒体流相对应的视频帧中,反之亦然。可替代地,拼接服务可以从与专门内容相对应的视频帧将新的视频帧序列生成到与媒体流相对应的视频帧中。拼接服务208然后可以向媒体接收器120发射单个视频帧序列。
媒体接收器120接收单个视频帧序列,并且将视频帧传递给视频处理器128。视频处理器128可以处理单个视频帧序列(例如,提高分辨率、运动插值等)。视频处理器128然后将单个视频帧序列传递给视频帧缓冲器136,以供显示器140显示。由于将媒体和/或专门内容插入到媒体流中是由拼接服务执行的,因此媒体设备104、特别是视频处理器128无需执行插入。拼接服务208通过将处理负载转移到远程设备来减少媒体设备204在显示媒体流时消耗的处理资源。拼接服务208还可以降低由视频处理器128造成的处理延迟可能导致显示器140呈现视频帧延迟的可能性。拼接服务208可以为一组媒体设备(例如,包括媒体设备204)执行媒体和/或专门内容插入。
如图1中类似描述的,客户端DCI控制器144可以确定由显示器140显示的特定媒体和/或专门内容要被报告给跟踪服务器212。客户端DCI控制器144可以向拼接服务208发送通信,该通信指示媒体设备104显示了特定媒体和/或专门内容(如先前所描述的)。拼接服务208向跟踪服务器208重发该通信。服务器端媒体插入系统200使用拼接服务器208作为负载平衡器(例如,通过卸载先前由视频处理器128提供的媒体和/或专门内容插入),并管理显示器140对所显示的媒体和/或专门内容的跟踪。
拼接服务208可以通过确定媒体设备显示媒体和/或专门内容的实例的数量来确定用于提供拼接服务的成本。跟踪服务器212和/或拼接服务208可以向内容服务器112和/或媒体CDN 108报告媒体设备显示媒体和/或专门内容的实例的数量。在一些情况下,拼接服务208可能无法准确跟踪媒体设备显示媒体和/或专门内容的实例的数量。网络错误可能导致到拼接服务208或跟踪服务器212的某些通信被破坏,从而导致误报或丢失。软件错误(例如,处理器中断、未处理的异常等)可能会防止报告的显示数量不足或数量过多和/或累计数量被破坏。由于拼接服务是基于所显示的媒体和/或专门内容的数量进行补偿的,所以拼接服务208可能会过度报告显示媒体和/或专门内容的实例的数量。因此,内容服务器112和/或媒体CDN 108可能被收取更高的费用。
服务器端媒体插入系统200可以通过将拼接服务208与跟踪媒体和/或专门内容的显示分离来更高效地执行(如图3中描述的)。通过将拼接服务器与跟踪分离,可以降低媒体设备的处理负载(例如,因为媒体设备可以接收包括媒体和/或专门内容的媒体流),并且可以更准确地跟踪媒体和/或专门内容的显示。
图3展示了根据本公开内容的各方面的使用水印来安全监视媒体设备上显示内容的安全流系统的示例框图。安全流系统300将由拼接服务308提供的拼接服务与由跟踪服务器312提供的媒体显示跟踪分离。媒体设备304可以包括与图1的媒体设备104相同的组件(如所示出的)、与媒体设备104相似的组件或者与媒体设备104不同的组件。媒体设备304可以请求媒体流以由媒体设备304的显示器140显示。媒体CDN 108可以接收请求并将所请求的媒体流发送到拼接服务308。
媒体设备204还可以从内容服务器112请求用于在媒体流期间显示的专门内容。媒体设备304可以包括特定专门内容的标识、专门内容类型的标识、对任何专门内容的一般请求、媒体设备304的标识、与媒体设备304相关联的信息(例如,网络信息、人口统计信息、用户信息等)的标识等。在一些情况下,媒体设备304可以周期性地(例如,以常规或非常规间隔)请求专门内容。例如,媒体设备304可以在显示媒体流时请求专门内容。在另一种情况下,当媒体设备304没有可用于显示的专门内容时(例如,在比如媒体高速缓存132等本地存储装置中没有专门内容或者当从拼接服务308接收的媒体流中缺少专门内容时),媒体设备304可以请求专门内容。内容服务器112可以从内容数据库116中获得满足请求的专门内容,并且将该专门内容发送到媒体CDN。
可替代地,拼接服务器308可以从内容服务器112请求用于在媒体流期间显示的专门内容。例如,拼接服务308可以确定何时将专门内容插入到从媒体CDN 104接收到的媒体流中。如果拼接服务器308没有本地存储的专门内容,则拼接服务器308可以从内容服务器112请求专门内容。内容服务器112可以向拼接服务308发送识别专门内容的响应,并且向媒体CDN发送包括专门内容的通信(如果媒体CDN 108尚未包括所识别的专门内容)。在一些情况下,响应可以是视频广告投放模板(VAST)响应。可以基于与媒体设备304相关联的信息(例如,人口统计信息、媒体设备304的硬件和/或软件组件、媒体设备304的网络信息等)和/或媒体流来选择所识别的专门内容。
内容服务器112可以向媒体CDN 108发送可以嵌入到专门内容中的附加信息。例如,内容服务器可以向媒体CDN 108发送水印或元数据。水印可以包括码元序列,该码元序列通过调制一组像素的像素值而被编码到专门内容的一个或多个帧中。水印可以位于视频帧的边缘(例如,最上面n行、最下面n行、旁边n列、其组合等)。例如,水印可以包括转变第一一组像素的亮度值和/或色度值以表示第一码元(例如,1等),以及转变第二一组像素的亮度值和/或色度值以表示第二码元(例如,0等)。通过转变亮度值和/或色度值,当显示视频帧时,水印对用户来说可能仍旧是无法感知的。可替代地,内容服务器112可以在将专门内容发射到媒体CDN 108之前将水印嵌入到专门内容中。水印可以被嵌入到专门内容的一个或多个视频帧中。在一些情况下,水印可以被嵌入到专门内容的每个视频帧中。
附加信息可以包括专门内容的标识、跟踪服务器312的位置(例如,网络地址)、令牌(媒体设备304和/或专门内容独有的)、加密密钥、与专门内容相关联的信息(例如,视频帧的数量、专门内容显示时的估计持续时间等)、其组合等。
拼接服务器308可以从媒体流和专门内容生成单个视频帧序列,并将单个视频帧序列发射到媒体接收器120。媒体接收器120可以将单个视频帧序列传递给视频处理器128以进行处理(如果需要或请求处理的话)。单个视频帧序列然后可以被传递到视频帧缓冲器136,以准备由显示器140显示。当显示单个视频帧序列时,可以(例如,由视频处理器128或由水印解码器316)检测专门内容内的水印。水印解码器316可以通过提取码元序列来解码水印。
码元序列然后可以由媒体设备304解码并用于进一步处理。例如,码元序列可以识别专门内容,以使客户端DCI控制器144能够报告所识别的专门内容的显示。码元序列可以包括报告服务器312的地址。可替代地,客户端DCI控制器144可以从控制服务器112和/或另一个设备请求地址。
可以保护码元序列以防止未经授权访问水印和未经认证报告(例如,通过拼接服务308)专门内容的显示。可以通过加密码元序列(例如,使用对称和/或非对称加密)来保护码元序列。可替代地或附加地,码元序列可以包括令牌,该令牌可以用于防止显示专门内容的认证报告。当内容服务器112生成水印时,内容服务器也可以生成令牌。内容服务器112可以存储匹配令牌和/或向跟踪服务器312发送匹配令牌。当水印解码器316解码水印和码元序列时(并且如果加密的话对解码的码元序列进行解密),水印解码器316可以识别令牌并将其与从水印解码的其他信息一起传递给客户端DCI控制器144。客户端DCI控制器144可以在报告显示专门内容时包括令牌。
该令牌对于媒体设备304和/或专门内容可以是唯一的,并且可用于对显示专门内容的报告进行认证。通过对报告进行认证,安全流系统300可以防止设备欺诈性地报告专门内容的显示,并且可以防止错误地增加指示显示专门内容的实例数量的计数。例如,为了对显示专门内容的报告进行认证,该报告必须包括指定令牌。如果报告不包括令牌或包括错误的令牌(例如,不对应于媒体设备304和/或专门内容),则报告可能未被认证,并且无法对包括在报告中的专门内容的显示进行计数。
令牌可以用于对称和/或非对称认证。在对称认证中,由内容服务器112和/或跟踪服务器312存储的匹配令牌可以是包括在水印中的令牌的副本。在不对称认证中,匹配令牌可以是包括在水印中的令牌的补足物。匹配令牌可以与令牌不同,但仍与令牌相匹配。匹配令牌可以与包括在水印中的令牌不同,以防止拼接服务器308或另一个设备从水印中提取令牌并使用该令牌来对显示媒体和/或专门内容的欺诈性报告进行验证。令牌和匹配令牌可以具有一对一关系,使得令牌可以对应于单个匹配令牌,反之亦然。
当跟踪服务器312从客户端DCI控制器144接收到具有令牌的通信时,跟踪服务器312可以将接收到的令牌与从客户端服务器112接收到的对应令牌进行匹配。如果跟踪服务器312识别出匹配令牌,则跟踪服务器312可以确定显示专门内容的报告已通过验证,并且可以对专门内容的显示进行计数。如果无法识别出对应的令牌,则跟踪服务器312可以将令牌从媒体设备304传输到内容服务器112,并且内容服务器112可以尝试识别匹配令牌。如果内容服务器112识别出匹配令牌,则内容服务器112可以向跟踪服务器312传输通信,并指示内容服务器112识别出匹配令牌。该通信可以包括匹配令牌以供跟踪服务器312未来使用。
如果内容服务器112无法识别出对应的令牌,则内容服务器112可以向跟踪服务器312传输没有匹配令牌的指示。跟踪服务器312然后可以确定专门内容的显示未通过验证,并且无法对专门内容的显示进行计数。来自客户端DCI控制器144的报告然后可以从跟踪服务器312中清除。可替代地或附加地,跟踪服务器312可以向客户端DCI控制器144、内容服务器112、拼接服务器308、客户端设备和/或其他设备发送报告未通过验证的通信。
图4展示了根据本公开内容的各方面的使用水印来监视媒体设备上显示内容的过程的示例框图。图4中描绘的系统可以对应于图3的安全流系统300。该过程可以在媒体设备304向拼接服务308发送对媒体流(例如,视频帧序列和/或音频等)的请求404时开始。拼接服务308可以发送请求408,以将附加媒体和/或专门内容插入到媒体设备304所请求的媒体流中。内容服务器112发送带有所请求的媒体和/或专门内容的标识的响应412。在一些情况下,响应412可以是VAST响应。
内容服务器112可以向媒体CDN 108发射通信416,该通信包括所请求的媒体和/或专门内容的水印。在一些情况下,内容服务器112可以将水印应用于媒体和/或专门内容,并将媒体和/或专门内容发送到媒体CDN 108。在其他情况下,内容服务器112可以向媒体CDN108传送用于应用水印的指令,并且媒体CDN 108可以将水印应用于媒体和/或专门内容。响应412和通信416可以串行(例如,响应412之后是通信416,反之亦然)或并行发送。
当从内容服务器112接收响应412时,拼接服务308发送请求420,该请求包括媒体设备304所请求的媒体流的标识,并发送请求428,该请求包括媒体和/或专门内容的标识。请求420和428可以串行(例如,请求420之后是请求428,反之亦然)或并行发送。媒体CDN108识别媒体CDN中所请求的媒体流,并且在响应424中将所请求的媒体流发送到拼接服务308。媒体CDN 108识别(在媒体CDN中)所请求的媒体和/或(例如,在专门内容CDN中的)专门内容,并且在响应432中将所请求的媒体和/或专门内容(带有水印)发送到拼接服务308。响应424和432可以串行(例如,响应424之后是响应432,反之亦然)或并行发送。
拼接服务308可以使用在响应424和432中接收的媒体流和媒体和/或专门内容来生成单个视频帧序列。拼接服务308经由响应436向媒体设备304发射单个视频帧序列。媒体设备304可以处理视频流序列(例如,单独帧的图像处理、分辨率提高或降低、帧外推等),以为显示做好准备。当媒体设备304显示包括水印的视频帧时,媒体设备304可以检测和解码水印以得到码元序列。如果码元序列被加密,则媒体设备304可以对码元序列进行解密,以得到包括在媒体设备304中的信息和/或指令。水印可以提供带水印的媒体和/或专门内容的标识,指示媒体和/或专门内容的显示要被传送到跟踪服务器312,提供与媒体和/或专门内容相关联的信息(例如,包括但不限于制作人员、演员、关于制作的事实、关于媒体和/或专门内容的内容的背景或语义的事实、其组合等)、令牌、其组合等。
如果水印缺少用于向跟踪服务器312发送指示由媒体设备304显示媒体和/或专门内容的地址,则媒体设备304可以向内容服务器112发送请求440,该请求用于请求发送显示媒体和/或专门内容的指示的地址。内容服务器可以发送响应444,该响应包括跟踪服务器312的标识和跟踪服务器312的目的地地址(例如,网络地址、URL等)。响应444还可以包括用于生成与跟踪服务器312通信的信息,比如通信协议、数据格式、发送指示的时间间隔等。请求440和响应444(和/或媒体设备304与内容服务器112之间的其他通信)可以被加密,以防止在媒体设备304与内容服务器112之间传送的目的地地址和/或其他信息被未授权的设备获得。
媒体设备304接收响应444并且生成去往跟踪服务器312的通信448。通信448可以包括所显示的媒体和/或专门内容的标识、媒体设备304显示媒体和/或专门内容的指示、媒体设备304的标识、与媒体设备304和/或媒体设备304的用户相关联的人口统计信息、显示媒体和/或专门内容的持续时间(例如,以秒、分钟为单位和/或显示媒体和/或专门内容的时间相对于被配置为显示媒体和/或专门内容的总时间所占的百分比)、媒体设备304的网络信息(例如,IP地址、MAC地址、媒体设备304的ISP的标识等)、令牌(例如,用于如先前结合图3所描述对通信进行验证)、其组合等。一旦报告了媒体和/或专门内容的显示,该过程就可以终止和/或等待,直到媒体设备304请求新的媒体流、视频帧序列被完全显示等。通信448(和/或媒体设备304与位于目的地地址的设备之间的其他通信)可以被加密,以防止向位于目的地地址的设备传送的信息被未授权的设备获得。
图5展示了根据本公开内容的各方面的描述媒体设备监视和报告内容显示的示例过程500的流程图。在框504处,媒体设备接收包括一组视频帧(例如,视频帧序列)的视频数据。媒体设备可以从拼接服务(例如,图3和图4的拼接服务304)接收该组视频帧,该拼接服务从所请求的媒体流和专门内容生成该组帧。该组视频帧可以响应于媒体设备对媒体流或媒体和/或专门内容的请求而被接收。
在框508处,媒体设备检测该组帧中的一个或多个帧内的水印。例如,水印可以被嵌入到由拼接服务添加到媒体流的专门内容的一个或多个帧中。水印可能已经由内容服务器(例如,内容服务器112)和/或媒体CDN(例如,媒体CDN 108)嵌入到一个或多个帧中。
水印可以包括对一个或多个帧的一部分中的像素值进行调制,以表示可以传达与专门内容相关联的附加信息和/或指令的码元序列。例如,一些像素的亮度和/或色度值可以被转变以表示第一码元,而其他像素的亮度和/或色度值可以被不同方式地转变以表示第二码元。在一个示例中,第一一组像素的亮度值可以被转变为55以表示第一码元,而第二一组像素的亮度值可以被转变为16以表示第二码元。在一些情况下,码元序列可以被加密,使得一旦水印被解码成码元序列,码元序列就可以被解密。
水印可以识别要由媒体设备显示的媒体。例如,水印可以包括要由媒体设备显示(或当前正在显示)的媒体和/或专门内容的媒体的直接(例如,字母数字表示)或间接(例如,可与查找表一起使用的代码)标识。在一些情况下,水印可以通过触发媒体设备从另一个源(例如,本地存储器、内容服务器等)获得标识来识别要由媒体设备显示的媒体。
在框516处,媒体设备显示对应于与水印相关联的特定媒体的视频帧。在一些情况下,特定媒体的视频帧可以是媒体和/或专门内容的视频帧。在其他情况下,水印可以包括指令,该指令识别特定媒体并指示媒体设备用特定媒体替换对应于媒体和/或专门内容的视频帧的至少一部分。媒体设备可以从媒体CDN(例如,媒体CDN 108)、内容服务器(例如,内容服务器112)、本地存储器(例如,媒体高速缓存132)、客户端设备、另一个远程设备等获得特定媒体。
在框520处,媒体设备向目的地地址(例如,网络地址、URL等)发送通信,该通信包括媒体设备显示特定媒体的指示。媒体设备可以从水印中获得目的地地址,或者如果水印中不存在目的地地址,则媒体设备可以从比如内容服务器等远程服务器请求目的地设备。
水印可以包括令牌,该令牌将被包括在与位于目的地地址的设备(例如,跟踪服务器等)的通信中。设备可以使用该令牌来对通信进行验证。例如,如果令牌可以与匹配令牌相匹配,则通信可以被确定为是真实的,并且可以对特定媒体的显示进行计数。如果令牌与对应的令牌不匹配,则通信可以被确定为是不真实的,并且可能无法对特定媒体的显示进行计数。令牌可以用于对称认证(例如,令牌与匹配令牌相同)或非对称认证(例如,令牌与匹配服务器不同但以一对一方式对应于匹配服务器)。
在一些情况下,媒体设备与远程服务器之间的通信和/或媒体设备与位于目的地地址的设备之间的通信可以是安全的(例如,使用不对称或对称加密方案进行加密),以防止对通信的未经授权的访问。
在一些情况下,当媒体设备请求另一个媒体流和/或通过返回到框504接收一组新的视频帧时,过程500可以继续。可替代地,在执行框520后,过程500可以终止。
图6展示了根据本公开内容的各方面的示例过程600的流程图,该示例过程描述内容显示的监视和报告中所涉及的媒体服务器。在框604处,媒体服务器(例如,内容服务器112、媒体CDN 108等)接收对专门内容的请求。专门内容可以包括媒体(例如,电视节目、电影、预告片等)和/或广告(例如,商业广告等)、信息内容(例如,教育内容或其他信息内容)或其他内容。该请求可以包括媒体设备的标识和/或媒体设备请求的媒体流的标识。例如,请求可以是从媒体设备、拼接服务、客户端设备和/或另一个远程设备接收的。
在一些情况下,媒体服务器可以通过识别要由媒体设备在媒体流中显示的特定专门内容来生成响应。可以基于媒体设备的标识、与媒体设备相关联的人口统计信息、媒体设备请求的媒体流的标识、其组合等来选择特定专门内容。在一些示例中,媒体服务器可以将响应发射到请求专门内容的设备和/或满足对媒体流的请求的媒体CDN。
在框608处,媒体服务器发送与特定专门内容相关联的水印。水印可以包括使媒体设备向跟踪服务器报告显示专门内容的信息和/或指令,比如但不限于被配置为跟踪专门内容的显示的设备的标识、目的地地址、令牌(例如,用于对专门内容的报告显示进行验证)、显示专门内容的预期持续时间的标识、专门内容的标识、要报告专门内容的显示的指示、其组合等。水印还可以包括与媒体流和/或专门内容相关联的信息,比如制作信息(例如,导演、制作人、制作地点、与制作相关联的事实等)、表演信息(例如,演员等)、背景和/或语义信息(例如,与媒体内容和/或专门内容相关联的信息等)、其组合等。水印的内容可以在被应用于视频帧之前或者在被发送到将水印应用于视频帧的设备之前被加密。
在一些情况下,媒体服务器将水印应用于专门内容的一个或多个帧(例如,在将专门内容发送到媒体CDN之前)。在其他情况下,媒体服务器向存储有专门内容的媒体CDN发送指令,用于将水印应用于专门内容。将水印应用于专门内容可以包括为包括专门内容的每个视频帧修改视频帧的表示第一码元的第一部分像素的像素值和视频帧的表示第二码元的第二部分像素的像素值。例如,修改像素值可以包括转变像素的亮度值和/或色度值。
一旦将水印发送到媒体CDN,媒体CDN可以将媒体设备请求的媒体流和包括水印的专门内容发送到拼接服务。拼接服务从两个或更多个不同的视频帧源(例如,媒体流和专门服务等)生成单个视频帧序列,并且将其发送到媒体设备以供显示。
当媒体设备显示单个视频帧序列时,媒体设备可以检测和解码嵌入在专门内容的一个或多个帧中的水印。在解码水印时,媒体设备可以执行用水印嵌入的指令(或者使用水印的信息)来报告专门内容的显示。
在框612处,媒体设备可以从媒体设备接收对跟踪目的地的请求。如先前所描述,响应于媒体设备已经解码了嵌入在特定媒体中的水印,可以发送或接收该请求。在一些情况下,媒体服务器与媒体设备之间的通信可以被加密(例如,使用对称或非对称加密方案)以防止未授权的设备访问目的地地址和/或其他信息。
在框616处,媒体服务器向媒体设备发送目的地地址。目的地地址(例如,网络地址、物理地址、地理位置、URL等)可以对应于一设备(例如,跟踪服务器312等),该设备被配置为跟踪已经显示了专门内容的实例的数量。媒体设备可以使用目的地地址来发送指示媒体设备显示了专门内容的通信。例如,媒体设备可以向位于目的地地址的设备发送通信,该通信包括显示了专门内容的指示。通信还可以包括所显示的媒体和/或专门内容的标识、媒体设备304显示媒体和/或专门内容的指示、媒体设备304的标识、与媒体设备304和/或媒体设备304的用户相关联的人口统计信息、显示媒体和/或专门内容的持续时间(例如,以秒、分钟为单位和/或显示媒体和/或专门内容的时间相对于被配置为显示媒体和/或专门内容的总时间所占的百分比)、媒体设备304的网络信息(例如,IP地址、MAC地址、媒体设备304的ISP的标识等)、令牌(例如,用于如先前结合图3所描述对通信进行验证)、其组合等。
图7展示了根据本公开内容的各方面的使用两层水印嵌入在视频帧的最上面几行中的数据的示例。帧704表示可以经由媒体设备呈现的视频帧。可以通过调制帧704的一组像素的像素值来插入水印708。该一组像素可以位于帧704的边缘,比如最上面的一行或多行像素(如图所示)、最下面的一行或多行像素、右侧的两列像素、左侧的两列像素等。在一些情况下,水印708可以在帧708的两个不同位置之间被拆分。例如,水印708可以位于最上行和最下行、最上行和左列等。
如图所示,水印708可以包括像素,该像素具有表示二进制代码的第一码元(例如,0)的第一像素值和表示二进制代码的第二码元(例如,1)的第二像素值。水印708可以包括表示非二进制代码的附加码元的附加像素值。水印708由表示二进制代码的码元的多组离散的像素表示。如果源是无损的(例如,信号数据没有由于噪声或其他信号阻抗而失真或丢失),则单个像素可以表示单个码元。如果视频源可能受损(例如,广播电视、有线电视等,其中帧的部分可能由于噪声、距离等而失真),则一组像素可以表示单个码元。如图所示,可以使用八个像素(例如,两行四个像素)来表示每个码元。在一些情况下,对于特定视频帧,比如包含水印708的第一视频帧,每组像素可以包括额外的像素(例如,两行八个像素等)以确保媒体设备检测到水印708。
水印708的放大部分712展示了以每组像素表示的码元。在所示的示例中,具有较高亮度(例如,更接近白色)的一组像素被分配值7,而具有较低亮度(例如,更接近黑色)的一组像素被分配值零。亮度可以在0(例如,黑色)到700(例如,白色)之间变化。在一些情况下,为了降低水印的可感知性,可以最小化表示0的像素与表示1的像素之间的亮度差。例如,表示1的像素可以具有50的亮度,表示0的像素可以具有10的亮度。水印708的一组像素的颜色分量可以基于附近像素(例如,帧704中的相邻部分等)的颜色分量来选择。颜色分量可以用于更大基数的代码(例如,具有大于2个码元的代码)和/或进一步降低媒体设备的用户对水印708的可感知性。
图8展示了根据本公开内容的各方面的嵌入到视频帧的最上面的行和最上面两行中的用二进制编码的水印的示例。水印801展示了包括两行像素的水印,这两行像素表示码元序列。每组16个像素(2行8个像素)表示水印的码元,其中,较暗的像素(例如,具有16的亮度值Y')表示码元0,而较亮的像素(例如,具有50的亮度值Y')表示码元1。可以基于帧的非水印部分来选择像素的亮度值和/或色度分量以降低水印的可感知性。因此,不会选择黑色和白色(例如,亮度值Y'分别为0和100)。
可以基于视频的信号质量来选择表示水印的单个码元的行和/或像素的数量。例如,高信号质量(例如,噪声和/或损失极小等)可以使用单行。水印810展示了包括单行像素的水印,这一行像素表示与水印801相同的码元序列。可替代地或附加地,高信号质量可以使用每行较少的像素来表示单个码元(例如,一行中的4个像素、一行中的2个像素、1个像素等)。同样,质量较差的信号可以每行使用额外的像素,或使用额外的行。每个码元使用额外的像素和/或额外的行可能会减少可以包括在单个视频帧中的码元数量,但可以增加水印可以被检测和正确地解码的可能性。媒体设备可以将当前信号质量的指示传送到远程服务器。远程服务器然后可以调制每个帧中的水印以增加水印可以被检测到的可能性并且降低水印噪声或其他伪像影响水印的可能性。
图9展示了根据本公开内容的各方面的示例视频帧,其中,接近水印的过渡区域逐渐变暗以增强水印对人眼的感知模糊。可以在水印与视频帧的其余部分之间生成边界区域。边界区域可以包括与水印相邻的一行或多行像素。修改这些行以产生降低水印的可感知性的视觉混同效果。例如,行901和902可以调整为相同的值(例如,与表示水印码元的像素值成比例)。在一些情况下,可以独立地调整每一行以产生梯度。例如,可以基于表示水印码元的像素值来减小行901的像素的亮度值Y,并且也可以减小行901的像素的亮度值Y,但并不是对行901的所有像素都减小亮度值。
边界区域可以包括任何数量的行。可以将亮度梯度定义为等于视频帧的平均亮度除以边界区域中的行数。然后,确定视频帧的平均亮度是高于还是低于水印的平均亮度。如果视频帧的平均亮度高于水印的平均亮度,则边界区域可以从最接近水印的暗色转变到最接近视频帧的亮色(例如,从较低的亮度转变到较高的亮度)。如果视频帧的平均亮度低于水印,则边界区域可以从最接近水印的亮色转变到最接近视频帧的暗色(例如,从较高的亮度转变到较低的亮度)。
例如,如果视频帧的平均亮度高于水印的平均亮度,则可以基于视频帧的平均亮度减小边界区域的第一行(例如与水印相邻的行)的像素的亮度值(例如,减小与视频帧的平均亮度成比例的值等)。边界区域的下一行(离水印更远的下一行)的亮度可以减小前一行的减小量减去亮度梯度。离水印更远的每个后续行的亮度可以基于紧邻的前一行的减小量减去亮度梯度来减小。
又例如,如果视频帧的平均亮度低于水印的平均亮度,则可以基于视频帧的平均亮度(例如,与视频帧的平均亮度成比例的值等)增大边界区域的第一行(例如与水印相邻的行)的像素的亮度值。边界区域的下一行(离水印更远的下一行)的亮度可以增大前一行的增大量减去亮度梯度。离水印更远的每个后续行的亮度可以基于紧邻的前一行的增大量减去亮度梯度来增大。
可替代地,如果视频帧的平均亮度低于第一阈值,则边界区域可以具有从最接近水印的亮色到最远离水印的暗色的梯度。如果视频帧的平均亮度高于第二阈值,则边界区域可以具有从最接近水印的暗色到最远离水印的亮色的梯度。每行的亮度值的差可以是水印或视频帧的平均亮度值的比例值。应该注意的是,第一阈值可以等于或不同于第二阈值。
图10A展示了根据本公开内容的各方面的示例视频帧序列,其中,水印的零码元值和一码元值交替出现以使人眼对水印感知模糊。由于水印包括像素值的调制以指示两种或更多种类型的码元(取决于基代码),交替出现的像素值可能对媒体设备的用户表现为闪烁。可以通过在后一视频帧中呈现视频帧的反转形式来减少或消除闪烁。水印的第一版本可以嵌入到帧1中。相同水印的第二版本可以嵌入到帧2中。水印的第二版本可以是第一水印的反转形式。例如,具有表示第一码元的亮度值(例如,10至16之间的低亮度)的每组像素可以被赋予表示第二码元的亮度值(例如,45至55之间的高亮度)。具有表示第二码元的亮度值的每组像素可以被赋予表示第一码元的亮度值。
在接收到帧1中水印的第一版本后,媒体设备可以预期帧2中的水印反转。当解码帧2中的水印时,媒体设备可以反转已解码的码元(例如,每个第一码元可以用第二码元替换,每个第二码元可以用第一码元替换)。媒体设备可以接收指示,该指示表示多少帧将(例如,以交替的反转形式)包括相同水印以确保水印被检测和正确地解码。
在一些情况下,下一帧(例如,帧3)可以包括之前帧(例如,帧2)中包括的水印的反转水印,该反转水印等同于原始水印(例如,帧1中的水印)。可以使用两个或更多个视频帧将水印反转一次或多次。通过反转交替帧中的像素,用户可以将水印感知为两帧之间的平均像素值。例如,如果第一像素是白色而反转的像素是黑色,则当快速连续显示时,这两个像素将看起来是灰色的(如图所示)。这可能会使得水印显示为单色而不是闪烁的像素。增加水印反转的次数可以降低水印可以被感知的可能性,但可能会减少给定的一组视频帧可以传输的数据量。水印要在其上反转的帧的数量基于要嵌入到水印中的数据量和水印可以被检测到的可能性。
图10B展示了根据本公开内容的各方面的用于改善数据码元的感知混同的每两帧示例视频数据码元反转。在一些情况下,可以将水印序列插入到一组帧中以将更大量的数据传输到媒体设备。例如,帧1可以包括第一水印并且帧2可以包括第一水印的反转形式。帧1和帧2可以被称为反转对A。水印序列中的下一个水印可以嵌入到帧3中,而该水印的反转形式被嵌入到帧4中(例如,反转对B)。每个奇数视频帧可以包括水印序列中的新水印,并且每个偶数帧可以包括嵌入在紧邻的前一视频帧中的水印的反转形式。
当水印序列被嵌入到一组视频帧中时,它可能会更容易被用户感知。视频帧与水印之间的像素调制可能会表现为闪烁。通过在相继的视频帧中嵌入水印和该水印的反转形式,可以减少或消除闪烁。
图11展示了根据本公开内容的各方面的具有加强的导入数据码元序列以加强对带水印帧的检测的示例水印。水印可以包括一组像素,每组像素表示二进制代码的一个码元。表示码元的一组像素中的像素数量可以被称为码元的像素尺寸。在一些情况下,像素尺寸可以是4个像素(如果水印是1行)或8个像素(如果水印是2行,比如2行4个像素)。该一组像素的像素值可对应于大致相同的像素值。可替代地,该一组像素的像素值可以对应于相似的像素值(例如,在一定范围内)。
水印可以以预定的表示水印开始的数据模式(称为先导模式)开始。预定模式可以位于水印的前8个或前16个码元中。媒体设备可以首先确定是否在视频帧的前x个像素(例如,每个码元的像素数量*预定数据模式中的码元数量)中检测到预定模式。如果检测到预定模式,则媒体设备可以继续解码该行中的其余像素。
可以调整水印中的先导模式以提高媒体设备检测到水印的可能性。例如,可以增大每个码元的像素尺寸。通过增大每个码元的像素尺寸,先导模式可以更可靠地被媒体设备解码。在一些示例中,先导模式的每个码元的像素尺寸可以增至两倍(例如,如图所示)。水印的其余码元的像素尺寸可以不调整。例如,如果先导模式是8个码元并且像素尺寸为4,则仅先导模式就会占用前64个像素(例如,每个码元的8像素尺寸乘以8个码元),而先导模式之后的码元的像素尺寸可以保持为4。当带水印的帧周期性地出现在不包括水印的大量视频帧之中时,先导模式可以特别有用。
在该示例中,水印1101包括先导模式,该先导模式对每个码元具有增大的像素尺寸。先导模式的码元由两倍的像素尺寸表示(例如,2行的4像素尺寸变为2行的8像素尺寸)。例如,码元1102和1103由16个像素而不是8个像素表示。每个码元增大的像素尺寸持续先导模式的长度(例如,8至16个码元或最多256个像素)。在先导模式结束时并且在该视频帧中的水印的其余部分,每个码元的像素尺寸没有增大(例如,2行的8像素尺寸)。先导模式可以对每个码元包括增大任何数量的像素尺寸,比如但不限于每个码元增至常规像素尺寸的两倍,每个码元增至常规像素尺寸的三倍,每个码元变为常规像素尺寸的几分之一,每个码元增至常规像素尺寸的倍数等)。
图12展示了根据本公开内容的各方面的水印的数据码元的示例,其中,零码元与一码元之间的欧几里得距离被暂时增加。可以通过调制一组像素(比如视频帧最上面两行中的像素)的像素值将水印编码到视频帧中。调制像素值可以包括选择两个亮度值来表示二进制代码的两个码元。这两个亮度值可以基于媒体设备在存在噪声等的情况下可以检测到每个码元的可能性以及水印不会被媒体设备的用户感知的可能性来进行选择。如果第一码元和第二码元的亮度值过于接近,则信号噪声可能会阻碍媒体设备准确地确定一组像素是表示第一码元还是表示第二码元。第一码元和第二码元的亮度值越接近,用户就越不可能感知到水印。亮度值可以被选择为提供媒体设备能够检测并准确地解码水印码元序列的阈值可能性的最小差。在一些情况下,差可以是接近40,使得表示第一码元的像素可以具有接近5至15的亮度值,并且表示第二码元的像素可以具有接近45至55的亮度值。
当码元之间的亮度差最小(例如,接近40)时,信号噪声可能会在已解码的码元序列中引起错误。为了降低已解码的码元序列中出现错误的可能性,可以将纠错水印插入到一组视频帧中将包括水印的一个或多个视频帧中。纠错水印可以在表示第一码元的亮度值与表示第二码元的亮度值之间包括较大的差。在一些情况下,用于纠错水印的高亮度值与低亮度值之间的差可以是接近80,使得表示第一码元的像素可以具有接近10至20的亮度值,并且表示第二码元的像素可以具有接近75至85的亮度值。
例如,图12的水印1201可以是纠错水印,该纠错水印包括亮度值为16的码元1202和亮度值为90的码元1203。水印的亮度值的差是74。图8的码元802和803的亮度值分别是16和50。码元802与803之间的亮度值的差是36。图12的水印的码元之间的亮度值的差是图8的水印的码元之间的亮度值的差的两倍,这降低了解码码元序列中的错误的可能性。
当媒体设备接收到纠错水印时,码元之间亮度值的较大差增加了媒体设备可以正确检测并解码码元序列的可能性。下一视频帧可以包括码元之间亮度值具有常规(较小)差的常规水印。
可以将纠错水印嵌入到一组帧的多个帧中。例如,可以每‘n’帧插入纠错水印。可替代地或附加地,每次插入纠错水印时,可以将纠错水印插入到一个或多个相邻视频帧中。例如,每次将纠错水印插入到一个视频帧中时,也可以将纠错水印插入到后续的一个或多个帧(例如,m-1个帧)中。也就是说,每次插入纠错水印时,可以将其插入到‘m’个视频帧中。
可替代地或附加地,当视频帧的平均亮度高(例如,大于第一阈值)时,可以调制水印的像素以使得表示第一码元的像素与表示第二码元的像素的亮度值之差大致为80(例如,使用大致10至20的亮度值来表示第一码元,使用大致70至80的亮度值来表示第二码元,或者两个码元的亮度值之差接近80的任何亮度值)。当视频帧的平均亮度低(例如,小于第二阈值)时,可以调制水印的像素以使得表示第一码元的像素与表示第二码元的像素之间的亮度值之差接近40(例如,使用接近10至20的亮度值来表示第一码元,使用接近45至55的亮度值来表示第二码元,或者两个码元的亮度值之差大致为40的任何亮度值)。附加地,当视频帧的平均亮度低时,水印的像素可以具有在零码元颜色和一码元颜色的极值之间调整的颜色通道,比如Cr。第一阈值和第二阈值可以是预定的或基于视频帧的像素值动态确定的。在一些情况下,第一阈值可以等于第二阈值。在其他情况下,第一阈值可以不同于第二阈值。
替代的纠错过程可以包括将相同的水印嵌入到多个相邻视频帧或同一视频帧的多个实例(每个实例都包括相同的水印)中。通过一次以上地传输相同的水印,媒体设备可能能够更好地恢复可能由于视频分发路径(例如,从源到媒体设备)而失真的数据。如果检测到先导模式但视频的其余部分没有被可靠地解码,则对该组的后续视频帧的视频值求平均可以提高信噪比以提供可解码数据。在一些情况下,媒体设备可以在将水印解码为码元之前对同一水印的每个实例的像素值求平均。
媒体设备可以通过包括相同水印的一组视频帧的第一个水印中的唯一先导模式来识别相关视频帧(不管该组中是有两个还是更多个视频帧)。基于独特先导模式与已知数量的视频帧相关联,或基于独特先导模式的码元指示接下来的视频帧中有多少将包括相同的水印,独特先导模式可以指示视频帧中包括的帧的数量。可替代地,可以使用第一先导模式来指示一组视频帧的开始,并且可以使用第二先导模式来指示该组视频帧中的最后一帧。替代的纠错过程可以与本文描述的其他过程(包括如前所述的纠错水印)组合。
图13展示了根据本公开内容的各方面的示例计算设备。例如,计算设备1300可以实施本文描述的任何系统或方法。在一些情况下,计算设备1300可以是媒体设备的组件或被包括在媒体设备内。计算设备1300的组件被示为使用比如总线等连接1306彼此电通信。示例计算设备架构1300包括处理器(例如,CPU、处理器等)1304以及被配置为将计算设备1300的组件耦接到处理单元1310的连接1306(例如,总线等),这些组件比如但不限于存储器1320、只读存储器(ROM)1318、随机存取存储器(RAM)1316和/或存储设备1308。
计算设备1300可以包括与处理器1304直接连接、紧邻或集成在该处理器内的高速存储器的高速缓存1302。计算设备1300可以将数据从存储器1320和/或存储设备1308复制到高速缓存1302以供处理器1304更快地访问。以此方式,高速缓存1302可以提供性能提升,以避免在处理器1304等待数据时的延迟。可替代地,处理器1304可以直接从存储器1320、ROM 817、RAM 1316和/或存储设备1308访问数据。存储器1320可以包括多种类型的同质或异质存储器(例如但不限于磁存储器、光学存储器、固态存储器等)。
存储设备1308可以包括一个或多个非暂时性计算机可读介质,比如易失性和/或非易失性存储器。非暂时性计算机可读介质可以存储计算设备1300可访问的指令和/或数据。非暂时性计算机可读介质可以包括但不限于磁带盒、硬盘驱动器(HDD)、闪存、固态存储设备、数字多功能盘、盒式磁带、致密盘、随机存取存储器(RAM)1325、只读存储器(ROM)1320、其组合等。
存储设备1308可以存储可由处理器1304和/或其他电子硬件执行的一个或多个服务,比如服务1 1310、服务2 1312和服务3 1314。该一个或多个服务包括可由处理器1304执行的指令,这些指令用于:执行比如本文描述的任何技术、步骤、过程、框和/或操作的操作;控制与计算设备1300通信的设备的操作;控制处理单元1310和/或任何专用处理器的操作;其组合;等。处理器1304可以是片上系统(SOC),其包括一个或多个内核或处理器、总线、存储器、时钟、存储器控制器、高速缓存、其他处理器组件和/或其它。多核处理器可以是对称的或非对称的。
计算设备1300可以包括一个或多个输入设备1322,其可以表示任何数量的输入机构,比如麦克风、用于图形输入的触敏屏幕、键盘、鼠标、运动输入、语音、媒体设备、传感器、其组合等。计算设备1300可以包括向用户输出数据的一个或多个输出设备1324。这样的输出设备1324可以包括但不限于媒体设备、投影仪、电视、扬声器、其组合等。在一些情况下,多模式计算设备可以使用户能够提供多种类型的输入以与计算设备1300通信。通信接口1326可以被配置为管理用户输入和计算设备输出。通信接口1326还可以被配置为管理通过一种或多种通信协议和/或通过一种或多种通信介质(例如,有线、无线等)与远程设备的通信(例如,建立连接、接收/发送通信等)。
计算设备1300不限于如图13所示的组件。计算设备1300可以包括未示出的其他组件和/或所示组件可以被省略。
本公开内容的说明性方面包括但不限于:
方面1:一种方法,包括:由媒体设备接收包括一组视频帧的视频数据;在该组视频帧中的至少一个视频帧中检测嵌入到该至少一个视频帧中的水印,其中,该水印识别要由该媒体设备显示的媒体;由所述媒体设备显示所述媒体;以及基于检测到所述水印来向目的地地址发送所述媒体已由所述媒体设备呈现的指示。
方面2:如方面1所述的方法,进一步包括:响应于检测到识别要由所述媒体设备显示所述媒体的所述水印,发送对目的地地址的请求;以及接收所述目的地地址。
方面3:如方面1至2中任一项所述的方法,其中,所述视频数据包括与所述媒体相关联的令牌,并且其中,发送由所述媒体设备呈现所述媒体的指示包括发送所述令牌。
方面4:如方面1至3中任一项所述的方法,其中,在接收到所述视频数据之前,将所述媒体存储在所述媒体设备的本地存储器中。
方面5:如方面1至4中任一项所述的方法,其中,所述媒体被显示来代替该组帧中的一个或多个帧。
方面6:如方面1至5中任一项所述的方法,其中,从与不同于所述目的地地址的地址相关联的设备接收所述视频数据。
方面7:如方面1至6中任一项所述的方法,其中,所述水印包括码元序列。
方面8:如方面1至7中任一项所述的方法,其中,码元序列包括所述目的地地址的标识。
方面9:如方面1至8中任一项所述的方法,进一步包括:在所述发送之前对所述媒体已由所述媒体设备呈现的指示进行加密。
方面10:一种系统,包括:一个或多个处理器以及存储有指令的非暂时性计算机可读存储介质,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行根据方面1至9中任一项所述的操作。
方面11:一种存储有指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行根据方面1至9中任一项所述的操作。
方面12:一种装置,包括:用于执行根据方面1至9中任一项所述的操作的一个或多个手段。
术语“计算机可读介质”包括但不限于便携或非便携存储设备、光学存储设备、以及能够存储、包含或携带(多条)指令和/或数据的各种其他介质。计算机可读介质可以包括非暂时性介质,其中,数据可以以除载波和/或电子信号之外的形式存储。非暂时性介质的示例可以包括但不限于磁盘或磁带、光学存储介质(比如致密盘(CD)或数字多功能盘(DVD))、闪存、存储器或存储器设备。计算机可读介质上可以存储有代码和/或机器可执行指令,其可以表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类、或者指令、数据结构或程序语句的任何组合。可以通过传递和/或接收信息、数据、自变量、参数、或存储器内容将代码段联接到另一个代码段或硬件电路上。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的方式来传递、转发、或者传输。
本说明书的一些部分根据信息操作的算法和码元表示来描述示例。尽管在功能上、计算上或逻辑上描述了这些操作,但这些操作可以由计算机程序或等效电路、微代码等来实施。此外,在不失一般性的情况下,操作的布置可以被称为模块。所描述的操作及其相关联模块可以以软件、固件、硬件或其任何组合来体现。
本文描述的任何步骤、操作或过程都可以用一个或多个硬件或软件模块单独地或结合其他设备来执行或实施。在一些示例中,软件模块可以用存储有计算机程序代码的计算机可读介质来实施,该计算机程序代码可以由处理器执行,以执行所描述的任何或所有步骤、操作或过程。
一些示例可以涉及一种用于执行所描述的任何或所有步骤、操作或过程的装置或系统。该装置或系统可以被专门构造用于所需目的,和/或其可以包括通过存储在计算设备的存储器中的计算机程序选择性激活或重新配置的通用计算设备。存储器可以是或包括非暂时性有形计算机可读存储介质,或者可以是或包括可以耦接到总线的适合于存储电子指令的任何类型的介质。此外,说明书中提到的任何计算系统可以包括单个处理器或多个处理器。
虽然已参照具体示例对本主题进行了详细描述,但应该理解,本领域技术人员在了解前述内容后,可以容易地产生对此类实施例的更改、其变型和等同物。本文阐述了大量具体细节以提供对要求保护的主题的全面了解。然而,本领域技术人员将了解的是,要求保护的主题可以在没有这些具体细节的情况下进行实践。在其他情况下,并未详细描述普通技术人员已知的方法、装置或系统,以免使要求保护的主题变得晦涩难懂。因此,本公开内容是出于示例而非限制的目的而呈现的,并且不排除包括对本主题的此类修改、变化和/或添加,这对本领域的普通技术人员是显而易见的。
为了方便解释,在一些情况下,本公开内容可以被呈现为包括各个功能框,包括具有设备、设备组件、以软件或硬件和软件组合体现的方法中的步骤或例程的功能框。除了图中所示和/或本文描述的功能框之外,还可以使用附加的功能框。例如,可以以框图形式将电路、系统、网络、过程和其他组件示出为组件,以便不会以不必要的细节使实施例变得晦涩难懂。在其他实例中,可以没有不必要细节地示出公知的电路、过程、算法、结构和技术以避免使实施例变得晦涩难懂。
各个示例可能在本文中描述为过程或方法,该过程或方法可以描绘为流程图、流图、数据流图、结构图或框图。尽管流程图可能将操作描述为顺序过程,但是这些操作中的许多操作可以并行地或同时地执行。另外,可以重新排列操作的顺序。过程在其操作完成时终止,但是可能具有未示出的附加步骤。过程可以对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,其终止可以对应于函数返回到调用函数或主函数。
根据上述示例的过程和方法可以使用存储的或以其他方式可从计算机可读介质获得的计算机可执行指令来实施。此类指令可以包括例如使得或以其他方式配置通用计算机、专用计算机或处理设备执行某个函数或函数组的指令和数据。计算机资源的所使用部分可以通过网络访问。计算机可执行指令可以是例如二进制指令、中间格式指令(比如汇编语言)、固件、源代码等。
实施本文描述的方法和系统的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采用多种形式因子中的任何一种。当在软件、固件、中间件或微代码中实施时,用于执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。程序代码可以由处理器执行,所述处理器可以包括一个或多个处理器,比如但不限于一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成或分立逻辑电路。这样的处理器可以被配置为执行本公开内容中描述的任何技术。处理器可以是微处理器;常规处理器、控制器、微控制器、状态机等。也可以将处理器实施为计算组件的组合(例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器连同一个DSP内核、或任何其他这样的配置)。因此,如本文所使用的术语“处理器”可以指代任何前述结构、前述结构的任何组合或者适合于实施本文描述的技术的任何其他结构或装置。本文描述的功能还可以体现在外围设备或附加卡中。通过进一步的示例的方式,此类功能也可以在不同芯片之中的电路板上或在单个设备中执行的不同过程上实施。
在前述描述中,参考本公开内容的具体示例描述了本公开内容的各方面,但是本领域的技术人员将认识到,本公开内容并不限于此。因此,虽然本文已经详细描述了本公开内容的说明性示例,但是应该了解,本发明构思可以以其他方式体现和采用,并且所附权利要求旨在被解释为包括这样的变型。上述公开内容的各种特征和方面可以单独或以任何组合使用。进一步地,在不脱离本公开内容的更广泛精神和范围的情况下,可以在超出本文描述的环境和应用的任何数量的环境和应用中利用示例。因此,本公开内容和附图被认为是说明性的而非限制性的。
可以将结合本文所公开的实施例描述的各种说明性的逻辑块、模块、电路和算法步骤实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可交换性,上文总体按照它们的功能对各种说明性的组件、框、模块、电路和步骤进行了描述。将这样的功能实施为硬件还是软件取决于在整体系统上强加的具体应用和设计约束条件。熟练的技术人员可以针对每个具体应用使用不同方式来实施所描述的功能,但是这种实施决策不应该被解释为导致脱离本申请的范围。
除非另有明确说明,否则应该理解,在整个说明书中,利用比如“处理”、“计算(computing)”、“运算(calculating)”、“确定”和“识别”等术语的讨论表示计算设备的动作或过程,所述计算设备比如为一个或多个计算机或一个或多个类似的电子计算设备,这些计算机或电子计算设备操纵或变换在计算平台的存储器、寄存器或者其他信息存储设备、传输设备或媒体设备中被表示为物理电子量或磁性量的数据。本文对“适应于”或“被配置为”的使用意味着不排除设备适应于或被配置为执行附加任务或步骤的开放和包含性语言。附加地,对“基于”的使用意味着是开放和包含性的,因为“基于”一个或多个所引述条件或值的过程、步骤、计算或其他动作在实践中可以基于所引述条件或值以外的其他条件或值。本文包括的类目、列表和编号只是为了便于解释,并不意味着是限制性的。
出于说明和描述的目的,已经给出了本技术的前述详细描述。它并不旨在穷举或将本技术限制于所公开的精确形式。根据上述教导,许多修改和变化是可能的。选择所描述实施例是为了最好地解释本技术的原理和其实际应用,并且使得本领域的其他技术人员能够在各种实施例中利用本技术,并进行各种修改以适应预期的特定用途。它旨在通过权利要求来限定本技术的范围。
本公开内容的说明性方面包括:
方面1:一种方法,包括:由媒体设备接收包括一组视频帧的视频数据;在该组视频帧中的至少一个视频帧中检测嵌入到所述至少一个视频帧中的水印,其中,所述水印能够用于识别要由所述媒体设备显示的媒体;由所述媒体设备显示所述媒体;以及响应于检测到所述水印,将所述媒体已由所述媒体设备呈现的指示发送到目的地地址。
方面2:如方面1所述的方法,进一步包括:响应于检测到所述水印,发送对与所述媒体相关联的目的地地址的请求;以及接收所述目的地地址。
方面3:如方面1至2中任一项所述的方法,其中,所述视频数据包括与所述媒体相关联的令牌,并且其中,发送由所述媒体设备呈现所述媒体的指示包括发送所述令牌。
方面4:如方面1至3中任一项所述的方法,其中,在接收到所述视频数据之前,将所述媒体被存储在所述媒体设备的本地存储器中。
方面5:如方面1至4中任一项所述的方法,其中,所述媒体替换该组帧中的一个或多个帧。
方面6:如方面1至5中任一项所述的方法,其中,从与不同于所述目的地地址的地址相关联的设备接收所述视频数据。
方面7:如方面1至6中任一项所述的方法,其中,所述水印包括码元序列。
方面8:一种存储有指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行根据方面1至7中任一项所述的操作。
方面9:一种装置,包括:用于执行根据方面1至7中任一项所述的操作的一个或多个手段。

Claims (20)

1.一种方法,包括:
由媒体设备接收包括一组视频帧的视频数据;
在所述一组视频帧中的至少一个视频帧中检测被嵌入到所述至少一个视频帧中的水印,其中,所述水印能够用于识别要由所述媒体设备显示的媒体;
由所述媒体设备显示所述媒体;以及
响应于检测到所述水印,将所述媒体已由所述媒体设备呈现的指示发送到目的地地址。
2.如权利要求1所述的方法,进一步包括:
响应于检测到所述水印,发送对与所述媒体相关联的目的地地址的请求;以及
接收所述目的地地址。
3.如权利要求1所述的方法,其中,所述视频数据包括与所述媒体相关联的令牌,并且其中,发送所述媒体已由所述媒体设备呈现的指示包括发送所述令牌。
4.如权利要求1所述的方法,其中,在接收到所述视频数据之前,将所述媒体存储在所述媒体设备的本地存储器中。
5.如权利要求1所述的方法,其中,所述媒体替换所述一组帧中的一个或多个帧。
6.如权利要求1所述的方法,其中,从与不同于所述目的地地址的地址相关联的设备接收所述视频数据。
7.如权利要求1所述的方法,其中,所述水印包括码元序列。
8.一种系统,包括:
一个或多个处理器;以及
存储有指令的非暂时性计算机可读存储介质,所述指令在由所述一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
由媒体设备接收包括一组视频帧的视频数据;
在所述一组视频帧中的至少一个视频帧中检测被嵌入到所述至少一个视频帧中的水印,其中,所述水印能够用于识别要由所述媒体设备显示的媒体;
由所述媒体设备显示所述媒体;以及
响应于检测到所述水印,将所述媒体已由所述媒体设备呈现的指示发送到目的地地址。
9.如权利要求8所述的系统,其中,所述操作进一步包括:
响应于检测到所述水印,发送对与所述媒体相关联的目的地地址的请求;以及
接收所述目的地地址。
10.如权利要求8所述的系统,其中,所述视频数据包括与所述媒体相关联的令牌,并且其中,发送所述媒体已由所述媒体设备呈现的指示包括发送所述令牌。
11.如权利要求8所述的系统,其中,在接收到所述视频数据之前,将所述媒体存储在所述媒体设备的本地存储器中。
12.如权利要求8所述的系统,其中,所述媒体替换所述一组帧中的一个或多个帧。
13.如权利要求8所述的系统,其中,从与不同于所述目的地地址的地址相关联的设备接收所述视频数据。
14.如权利要求8所述的系统,其中,所述水印包括码元序列。
15.一种存储有指令的非暂时性计算机可读存储介质,所述指令在由一个或多个处理器执行时,使所述一个或多个处理器执行操作,所述操作包括:
由媒体设备接收包括一组视频帧的视频数据;
在所述一组视频帧中的至少一个视频帧中检测被嵌入到所述至少一个视频帧中的水印,其中,所述水印能够用于识别要由所述媒体设备显示的媒体;
由所述媒体设备显示所述媒体;以及
响应于检测到所述水印,将所述媒体已由所述媒体设备呈现的指示发送到目的地地址。
16.如权利要求15所述的非暂时性计算机可读存储介质,其中,所述操作进一步包括:
响应于检测到所述水印,发送与对所述媒体相关联的目的地地址的请求;以及
接收所述目的地地址。
17.如权利要求15所述的非暂时性计算机可读存储介质,其中,所述视频数据包括与所述媒体相关联的令牌,并且其中,发送所述媒体已由所述媒体设备呈现的指示包括发送所述令牌。
18.如权利要求15所述的非暂时性计算机可读存储介质,其中,在接收到所述视频数据之前,将所述媒体存储在所述媒体设备的本地存储器中。
19.如权利要求15所述的非暂时性计算机可读存储介质,其中,所述媒体替换所述一组帧中的一个或多个帧。
20.如权利要求15所述的非暂时性计算机可读存储介质,其中,从与不同于所述目的地地址的地址相关联的设备接收所述视频数据。
CN202280055855.7A 2021-08-17 2022-08-15 使用嵌入式水印监视内容显示的系统和方法 Pending CN117981329A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202163234170P 2021-08-17 2021-08-17
US63/234,170 2021-08-17
PCT/US2022/040291 WO2023022960A1 (en) 2021-08-17 2022-08-15 Systems and methods for monitoring the display of content using embedded watermarks

Publications (1)

Publication Number Publication Date
CN117981329A true CN117981329A (zh) 2024-05-03

Family

ID=83189124

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280055855.7A Pending CN117981329A (zh) 2021-08-17 2022-08-15 使用嵌入式水印监视内容显示的系统和方法

Country Status (6)

Country Link
US (1) US20230055101A1 (zh)
KR (1) KR20240047389A (zh)
CN (1) CN117981329A (zh)
AU (1) AU2022331240A1 (zh)
CA (1) CA3227650A1 (zh)
WO (1) WO2023022960A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4174757B1 (en) * 2021-10-26 2024-02-21 e.solutions GmbH Method and system for embedding information in a video signal

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9015741B2 (en) * 2009-04-17 2015-04-21 Gracenote, Inc. Method and system for remotely controlling consumer electronic devices
US11082710B2 (en) * 2016-09-14 2021-08-03 Inscape Data, Inc. Embedding video watermarks without visible impairments
US11582537B2 (en) * 2019-10-14 2023-02-14 Inscape Data, Inc. Dynamic content serving using a media device

Also Published As

Publication number Publication date
AU2022331240A1 (en) 2024-02-15
WO2023022960A1 (en) 2023-02-23
CA3227650A1 (en) 2023-02-23
KR20240047389A (ko) 2024-04-12
US20230055101A1 (en) 2023-02-23

Similar Documents

Publication Publication Date Title
US9906765B2 (en) Transmitting display management metadata over HDMI
US9942602B2 (en) Watermark detection and metadata delivery associated with a primary content
US20200059693A1 (en) Dynamic content serving using automated content recognition (acr) and digital media watermarks
US9967599B2 (en) Transmitting display management metadata over HDMI
US8885870B2 (en) Information processing device and computer program product
CN106797497B (zh) 用于重新分发媒体内容的方法与装置
US10477284B2 (en) Watermark embedding method and apparatus, and system
US20110052136A1 (en) Pattern-based monitoring of media synchronization
EP2387250A1 (en) Method and system for watermark insertion using video start codes
US10390083B2 (en) Video fingerprinting based on fourier transform of histogram
US10834158B1 (en) Encoding identifiers into customized manifest data
CN117981329A (zh) 使用嵌入式水印监视内容显示的系统和方法
CN116113970A (zh) 用于施加自适应视频水印的系统和方法
CN117278762B (zh) 一种安全可溯源视频编解码系统
US8879780B2 (en) Method and device for providing a content stream, content stream, method and device for processing a content stream
US11284139B1 (en) Stateless re-discovery of identity using watermarking of a video stream
JP5276835B2 (ja) ビデオ・イメージ処理装置、ビデオ投影システム、および投影システムによる使用を意図した信号
US20220201372A1 (en) Live video streaming architecture with real-time frame and subframe level live watermarking
EP3531584A1 (en) Method for transmitting data in a video and electronic device
CN117579905A (zh) 基于多媒体数据的对象管理方法及相关设备
US9160933B2 (en) Luminance based image capturing methods and apparatus
JP2009296042A (ja) テレシネ変換画像判定装置および方法
CN111340510A (zh) 一种具有盗版追踪功能的视频发布系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication