ES2879628T3 - Identificación de componentes multimedia - Google Patents

Identificación de componentes multimedia Download PDF

Info

Publication number
ES2879628T3
ES2879628T3 ES14806347T ES14806347T ES2879628T3 ES 2879628 T3 ES2879628 T3 ES 2879628T3 ES 14806347 T ES14806347 T ES 14806347T ES 14806347 T ES14806347 T ES 14806347T ES 2879628 T3 ES2879628 T3 ES 2879628T3
Authority
ES
Spain
Prior art keywords
candidate
fingerprint
multimedia
fingerprints
stream
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
ES14806347T
Other languages
English (en)
Inventor
Richard William Adams
Laurence Kit Gladden
Strother William Del
Jonathan Norman Friend
George Douglas Demetriades
Chris Troop
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.)
Friend For Media Ltd
Original Assignee
Friend For Media 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
Priority claimed from GB201319783A external-priority patent/GB201319783D0/en
Priority claimed from GB201401130A external-priority patent/GB201401130D0/en
Priority claimed from GBGB1410032.5A external-priority patent/GB201410032D0/en
Application filed by Friend For Media Ltd filed Critical Friend For Media Ltd
Application granted granted Critical
Publication of ES2879628T3 publication Critical patent/ES2879628T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Collating Specific Patterns (AREA)
  • Image Analysis (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)

Abstract

Un sistema dispuesto para monitorear una red (251) y para obtener flujos multimedia candidatos (219) de la misma y que se dispone además para determinar si un flujo multimedia candidato (219) coincide con un flujo multimedia de referencia (204), el sistema que comprende: i) al menos un generador de huellas digitales de referencia (202) dispuesto para recibir un flujo multimedia de referencia (204) y generar una o más huellas digitales de referencia, registrando las características del flujo multimedia de referencia (204) a partir del mismo; ii) un almacén de huellas digitales de referencia (210) al que se añade la o cada huella digital de referencia generada por el generador de huellas digitales (202) a través de una conexión (212) entre estas; iii) al menos un mecanismo de procesamiento de monitoreo (216) dispuesto para monitorear la red y capturar uno o más flujos multimedia candidatos (219) para ser procesados por el sistema; y iv) al menos un generador de huellas digitales candidatas, dispuesto para procesar el o cada flujo multimedia candidato (219) capturado por el mecanismo de procesamiento de monitoreo (216) para generar una o más huellas digitales candidatas, registrando una característica del flujo multimedia candidato (219) y usar el mismo método para generar la huella digital que se usa para generar la huella digital de referencia (210), a partir de la misma; y en donde el sistema se dispone de manera que las huellas digitales candidatas generadas por el generador de huellas digitales candidatas (216) se comparan con las huellas digitales de referencia almacenadas dentro del almacén de huellas digitales (210) para determinar si una huella digital de referencia contenida dentro del almacén es sustancialmente la misma que la huella digital candidata para identificar si el flujo multimedia candidato que generó la huella digital candidata es el mismo, o al menos sustancialmente el mismo, como al menos una referencia y caracterizado porque el mecanismo de procesamiento de monitoreo comprende un primer (550) y segundo (552) mecanismos de procesamiento, el primer mecanismo de procesamiento (550) se dispone para iniciar uno o más flujos multimedia candidatos y actuar como un servidor multimedia para retransmitir el flujo multimedia candidato al segundo mecanismo de procesamiento (552) y disponer el mecanismo de procesamiento de monitoreo (216) para inspeccionar datos dentro del flujo retransmitido para identificar la fuente desde la cual se origina el flujo multimedia candidato (219).

Description

DESCRIPCIÓN
Identificación de componentes multimedia
Las invenciones de este documento se refieren a la identificación de componentes multimedia y sistemas relacionados.
En algunas realizaciones, la invención se refiere a la derivación de un conjunto de huellas digitales a partir de un componente multimedia. En particular, pero no exclusivamente, las huellas digitales pueden generarse para datos multimedia. Aún más, pero nuevamente no exclusivamente, las huellas digitales podrían generarse para datos de video que podrían ser datos transmitidos. Las realizaciones pueden usar las huellas digitales para identificar datos multimedia dentro de un almacén o librería de datos multimedia.
En algunas realizaciones, esta invención se refiere a sistemas y métodos para la identificación de datos contenidos en componentes multimedia. Por tanto, las realizaciones de la invención pueden permitir la identificación de datos multimedia.
En algunas realizaciones, esta invención se refiere a sistemas y métodos para la identificación de usuarios y/o dispositivos a los que se envió contenido multimedia. Algunas realizaciones se refieren a la extracción de marcas de agua del contenido multimedia. En particular, pero no exclusivamente, las realizaciones se relacionan con el procesamiento de video, que podría ser video transmitido.
El advenimiento de las redes informáticas, como Internet, ha significado que los dispositivos informáticos se estén interconectando masivamente, lo que facilita la copia y redistribución de datos a una escala sin precedentes. Los datos son muy valiosos y se conocen técnicas para intentar protegerlos. Dichas técnicas incluyen la marca de agua de los datos para que los datos tengan una firma específica y también la toma de huellas digitales de los datos para detectar características de los datos sin imponer realmente una característica a los datos.
Una de estas técnicas de generación de huellas digitales se describe en el documento "Spatio-temporal tranform based video hashing" de Baris Coskun, Bulent Sankur, Nasir Memon publicado en IEEE Transactions on multimedia Vol. 8, no. 6, diciembre de 2006. Sin embargo, existen deficiencias en las enseñanzas de este documento al proporcionar una técnica utilizable. El documento US 2006/187358 A1 (LIENHART RAINER W [DE] Y OTROS) 24 de agosto de 2006 (2006-08-24) divulga una técnica en la que un flujo de video digital comprimido se examina para determinar los puntos de sincronización; la señal de video comprimida se analiza tras la detección de los puntos de sincronización para crear huellas digitales de video que se comparan posteriormente con una librería de huellas digitales almacenadas.
El documento WO 2009/026564 A1 (GOOGLE INC [EE. UU.]; COVELL MICHELE [EE. UU.]; YAGNIK JAY [EE. UU.]; FAUST JEFF [EE. UU.]) 26 de febrero de 2009 (2009-02-26) utiliza huellas digitales de video para la copia/recuperación de duplicados. Las sub-huellas digitales correspondientes a un segmento de video comprenden una secuencia de valores (claves). La secuencia se divide en 25 bandas LSH (hash sensible a la localidad). Cada banda LSH tiene cuatro valores de bytes y se denomina clave LSH/banda. La tabla LSH de índice inverso asigna las claves a los identificadores de sub-huellas digitales que comprenden una clave determinada.
LIAN S Y OTROS: "Content-Based Video Copy Detection - A Survey", 1 de enero de 2010 (2010-01-01), INTELLIGENT MULTIMEDIA ANALYSIS FOR SECURITY APPLICATIONS; [STUDIES IN COMPUTATIONAL INTELLIGENCE; 282], SPRINGER, BERLIN; HEIDELBERG, PAGE(S) 253 - 273, XP002606556, ISBN: 978-3-642­ 11754-1 presenta una descripción general de las técnicas de detección de copias, como marcas de agua y huellas digitales.
A medida que ha aumentado el ancho de banda disponible en dichas redes, la naturaleza de los datos almacenados y vistos en esas redes ha cambiado de información basada en texto a la actualidad, donde ahora es común tener datos basados en video. No obstante, sea cual sea el tipo de datos, existe un deseo continuo de identificar copias ilícitas de los datos, generar datos de uso para los datos, proporcionar mecanismos para entregar contenido a los usuarios y similares. Dadas las enormes cantidades de datos disponibles en redes como Internet y WWW, el monitoreo del uso de los datos en esas redes se ha vuelto difícil y ahora es virtualmente imposible de realizar manualmente.
Puede ser un problema identificar la fuente desde la que se originan los datos, ya que ahora se están escribiendo páginas WWW que extraen contenido de una ubicación de red remota o no relacionada. Así, por ejemplo, una página WWW puede extraer datos de video en una trama presente en esa página. Como tal, es posible que el Localizador Uniforme de Recursos (URL) de la página WWW no identifique la última fuente de los datos del video (u otros). Puede ser un problema importante identificar esa última fuente.
Además, como las redes se utilizan como mecanismo de entrega de contenido multimedia de eventos tales como eventos deportivos, películas y similares, se puede entregar una cantidad significativa de contenido, a menudo contenido de video. Como tal, es un problema encontrar técnicas que sean lo suficientemente rápidas para procesar cantidades significativas de información.
El experto en la materia apreciará que, en los aspectos anteriores, que el término conjunto de datos es más amplio e incluye datos tales como componentes multimedia. Además, los componentes multimedia pueden incluir contenido multimedia transmitido, incluido un protocolo de transmisión adaptativo (como HTTP Live Streaming (HLS); transmisión HTTP adaptativa 3GPP; Microsoft™ Smooth Streaming; transmisión dinámica adaptativa a través de HTTP (DASH)), archivos de video como MP4, AVI, archivos de Windows Media Video, contenido de audio como contenido de audio transmitido o archivos de audio discretos (como archivos MP3).
La invención se define por las reivindicaciones independientes adjuntas. Las reivindicaciones dependientes definen realizaciones preferidas.
Además, el experto en la materia apreciará que los elementos de los aspectos pueden proporcionarse en software. Sin embargo, los expertos también apreciarán que cualquier elemento de software puede proporcionarse en firmware y/o en hardware, o viceversa.
El medio legible por máquina al que se hace referencia en cualquiera de los aspectos anteriores de la invención puede ser cualquiera de los siguientes: un CDROM; un DVD ROM / RAM (incluido -R/-RW o R/+RW); un disco duro; una memoria (incluida una unidad USB; una tarjeta SD; una tarjeta Compact Flash o similar); una señal transmitida (incluida una descarga de Internet, una transferencia de archivos ftp, etc.); un cable; etc.
A continuación sigue, a modo de ejemplo únicamente, una descripción detallada de las realizaciones de la invención con referencia a los dibujos adjuntos de los cuales:
La figura 1 muestra esquemáticamente un sistema de procesamiento dispuesto para llevar a cabo una realización de la invención;
La figura 2 muestra esquemáticamente un sistema dispuesto para generar huellas digitales;
La figura 3 muestra un diagrama que describe los procesos y almacenes de datos llevados a cabo por una realización de un sistema de monitoreo;
La figura 4 muestra un detalle adicional de una porción del sistema de monitoreo descrito con referencia a la figura 3; La figura 5 muestra un detalle adicional de una porción del sistema de monitoreo descrito con referencia a la figura 4; La figura 6 (técnica anterior) muestra los paquetes de red que se pasan a través de una red;
La figura 7 muestra esquemáticamente cómo se generan las huellas digitales;
La figura 8 muestra un diagrama de flujo que describe un proceso de generación de huellas digitales;
La figura 9 muestra un diagrama de flujo que describe un proceso para generar una medición de calidad asociada con una huella digital;
La figura 10 muestra un diagrama de flujo que describe un proceso para determinar si una huella digital de referencia coincide con una huella digital candidata;
La figura 11a ejemplifica un proceso para determinar si una huella digital candidata coincide con una huella digital de referencia;
La figura 11b ejemplifica una serie de huellas digitales coincidentes dentro de una serie de huellas digitales candidatas;
La figura 12 ejemplifica la naturaleza superpuesta de las huellas digitales creadas por el sistema;
La Figura 13 muestra un diagrama que destaca un flujo de proceso de una realización adicional del sistema descrito en la Figura 2;
La figura 14 muestra esquemáticamente un sistema dispuesto para entregar flujos multimedia a los usuarios;
La figura 15 ejemplifica cómo se alinean dos flujos multimedia entre sí; y
La figura 16 muestra un diagrama de flujo del procesamiento de contenido multimedia por las realizaciones.
La siguiente descripción proporciona una descripción de varias realizaciones y el experto en la materia apreciará fácilmente que una característica descrita en relación con una realización dada puede aplicarse, cambiando lo que deba cambiarse, a cualquiera de las otras realizaciones.
El sistema informático 100 de la Figura 1 ejemplifica un sistema informático que puede utilizarse para proporcionar los métodos implementados por ordenador descritos en este documento o como un sistema informático descrito en este documento. El sistema informático 100 comprende una pantalla 102, un circuito de procesamiento 104, un teclado 106 y un ratón 108. El circuito de procesamiento 104 comprende una unidad de procesamiento 112, un sistema de gráficos 113, un disco duro 114, una memoria 116, un subsistema de E/S 118 y un bus de sistema 120. La unidad de procesamiento 112, el sistema de gráficos 113, el disco duro 114, la memoria 116 y el subsistema de E/S 118 se comunican entre sí a través del bus de sistema 120, que en esta realización es un bus PCI, de una manera bien conocida en la técnica.
El sistema de gráficos 113 podría comprender un procesador de gráficos dedicado dispuesto para realizar parte del procesamiento de los datos que se desea mostrar en la pantalla 102. Dichos sistemas gráficos 113 son bien conocidos y aumentan el rendimiento del sistema informático eliminando parte del procesamiento requerido para generar una pantalla de la unidad de procesamiento 112.
Se apreciará que, aunque se hace referencia a una memoria 116, es posible que la memoria pueda ser proporcionada por una variedad de dispositivos. Por ejemplo, la memoria puede ser proporcionada por una memoria caché, una memoria RAM, un dispositivo de almacenamiento masivo local tal como el disco duro 114, cualquiera de estos conectados al circuito de procesamiento 104 a través de una conexión de red. Sin embargo, la unidad de procesamiento 112 puede acceder a la memoria a través del bus de sistema 120 para acceder al código de programa para indicarle qué pasos realizar y también para acceder a los datos a procesar. La unidad de procesamiento 112 se dispone para procesar los datos como se indica en el código de programa.
De hecho, en algunas realizaciones es totalmente posible que varios sistemas informáticos 100, circuitos de procesamiento 104 y/o unidades de procesamiento 112 puedan conectarse en paralelo y/o distribuirse a través de una red, para proporcionar el método y/o los sistemas informáticos descritos en este documento.
En la Figura 1 se muestra un diagrama esquemático de la memoria 114,116 del sistema informático. Puede verse que la memoria comprende una porción de almacenamiento de programas 122 dedicada a almacenar programas y una porción de almacenamiento de datos 124 dedicada a almacenar datos, pero no es necesario que la memoria esté estructurada de esta manera.
En la realización que se describe, la porción de almacenamiento de programas 122 comprende al menos algo de lo siguiente: un generador de ventana 126, un comparador 128, un generador de huellas digitales 130, un evaluador de calidad 132 y un reductor de resolución 134 como se describe a continuación. Resultará evidente a partir de lo siguiente que algunos de los circuitos de procesamiento descritos pueden comprender solo algunos de los elementos mostrados en relación con la Figura 1.
Pasando a la Figura 2, se muestra una descripción general de un sistema de generación de huellas digitales 200. Es conveniente describir el sistema 200 en términos de monitoreo, identificación y/o procesamiento de componentes multimedia, tales como multimedia, que incluye video, que puede o no proporcionarse como un flujo y, en particular, puede proporcionarse como un flujo de Internet. Sin embargo, las realizaciones no necesitan ser tan limitadas. El sistema 200 comprende al menos uno, y típicamente varios generadores de huellas digitales de referencia 202a, 202b, 202c, 202d. Cada uno de los generadores de huellas digitales de referencia 202a-202d puede comprender un circuito de procesamiento y tener una arquitectura como se describe en relación con la Figura 1. Es concebible que los generadores de huellas digitales de referencia 202a-d se proporcionen como máquinas virtuales pero típicamente las realizaciones, incluida la realización que se describe, proporcionarán los generadores de huellas digitales de referencia como dispositivos de hardware que están asociados con los flujos multimedia de referencia 204a-d.
Además, cada uno de los generadores de huellas digitales de referencia 202a-202d ha introducido en el mismo al menos un flujo multimedia de referencia 204a, 204b, 204c, 204d. Este flujo multimedia de referencia 204a-d puede considerarse como un componente multimedia de referencia. Sin embargo, las realizaciones del generador de huellas digitales de referencia pueden no tener pantallas 102 o, de hecho, pueden no contener sistemas de gráficos 113.
Normalmente, los generadores de huellas digitales de referencia 202a-d están situados, en el caso del monitoreo de flujos multimedia, dentro de una organización generadora de contenido multimedia, como una emisora o similar. El flujo multimedia de referencia 204a-d se dispone típicamente de modo que sea una T fuera de un material de transmisión para no interferir con la transmisión.
Cada uno de los generadores de huellas digitales de referencia 202a-d funciona como se describe a continuación y genera huellas digitales del flujo multimedia de referencia 204a-204d para generar una secuencia de huellas digitales de referencia RFPn (donde se pretende que n sea un número entero). El generador de huellas digitales de referencia 202a-d se dispone entonces para enviar las huellas digitales de referencia generadas (es decir, la secuencia de huellas digitales de referencia) a un circuito de procesamiento adicional 206 que aloja un sistema para procesar las huellas digitales de referencia RFPn recibidas. Por tanto, los generadores de huellas digitales de referencia 202a-202d están conectados, típicamente a través de una Red de Área Amplia, tal como Internet, al circuito de procesamiento 206 a través de las conexiones 208a, 208b, 208c, 208d. El circuito de procesamiento 206 también puede tener una arquitectura similar a la que se muestra en la Figura 1 (tal como una arquitectura X86 o similar), un servidor virtual, una pluralidad de tales máquinas/máquinas virtuales, o similares.
Como se describe con más detalle a continuación, el circuito de procesamiento 206 procesa las huellas digitales de referencia RFPn recibidas dentro de la secuencia y las almacena dentro de un almacén 210 que proporciona así un almacén de huellas digitales de referencia. El almacén 210 puede considerarse como un almacén de activos. En la realización que se describe, el almacén 210 está conectado al circuito de procesamiento 206 a través de una conexión de red 212, que puede ser una conexión de Red de Área Amplia tal como Internet. Por tanto, en la realización que se describe, el circuito de procesamiento 206 y el almacén 210 se proporcionan en dos máquinas separadas. Sin embargo, el experto en la materia apreciará que en otras realizaciones, el circuito de procesamiento 206 y el almacén 210 pueden proporcionarse dentro de una sola máquina o más de dos máquinas.
Conectado al almacén 210, a través de las conexiones de red 214a, 214b, 214c, 214d, que de nuevo pueden ser conexiones de Red de Área Amplia como Internet, hay al menos uno y típicamente una pluralidad de mecanismos de procesamiento de identificación 216a, 216b, 216c, 216d. En la realización que se describe, hay cuatro de tales mecanismos de procesamiento de identificación 216a-d, pero en otras realizaciones pueden ser cualquier otro número. Es una ventaja de algunas realizaciones que es altamente escalable ya que se pueden añadir más generadores de huellas digitales 202 y/o mecanismos de procesamiento de identificación 216 al sistema 200 para aumentar su rendimiento. Los mecanismos de procesamiento de identificación 216 pueden ser proporcionados por máquinas que tengan una arquitectura similar a la de la Figura 1 o pueden proporcionarse dentro de un entorno virtual tal como un servidor virtual o similar en un entorno de nube. Al igual que con los generadores de huellas digitales 202 de referencia, los mecanismos de procesamiento de identificación 216 pueden no estar provistos de una pantalla 102 y/o sistemas de gráficos 113.
Un sistema de monitoreo 218 se dispone para monitorear y/o identificar los componentes multimedia existentes en las fuentes de datos accesibles por el sistema. En la realización que se describe, los componentes multimedia son flujos multimedia, tales como videos y pueden ser flujos de Internet. En la realización que se describe, estos se encuentran a través de enlaces en la World Wide Web (WWW) y, por lo tanto, las fuentes de datos son proporcionadas por sitios web, foros de usuarios, salas de chat o similares que son accesibles a través de WWW. En otras realizaciones, los datos que se controlan pueden ser distintos de los flujos multimedia y, en particular, pueden ser contenido multimedia no transmitido, como un archivo de audio (por ejemplo, mp3; wav; o similar) o un archivo de video (como MP4; WMV; o similares). Por tanto, el sistema de monitoreo 218 se dispone para recibir un componente multimedia candidato que se dispone para ser procesado como se describe en el presente documento. En realizaciones alternativas o adicionales, el sistema puede disponerse para monitorear fuentes de componentes multimedia a través de una red distinta a la WWW. Por ejemplo, la red 251 puede ser Internet (y no WWW) y las fuentes de datos pueden ser proporcionadas por sitios FTP (Protocolo de transferencia de archivos) o similares. El sistema de monitoreo es proporcionado típicamente por una pluralidad de circuitos de procesamiento, que pueden ser máquinas físicas, máquinas virtuales o una combinación de ambas.
En la realización que se describe, el sistema de monitoreo 218 también se dispone para generar secuencias de huellas digitales candidatas CFPn (donde se pretende que la n sea un número entero) para lo que puede denominarse uno o más componentes multimedia candidatos en los que se dispone el sistema 200 a monitorear. Típicamente, se genera una secuencia de huellas digitales candidatas CFPn para cada uno de los componentes multimedia candidatos. En otras realizaciones, el sistema puede no generar las huellas digitales candidatas CF-Pn. En la realización que se describe, el componente multimedia candidato es un flujo multimedia y, en particular, puede ser un video y, en particular, puede ser un flujo de Internet. Por tanto, en esta realización, un mecanismo de procesamiento de identificación 216a-c se dispone para procesar una secuencia de huellas digitales candidatas CFPn de un flujo multimedia de entrada 219.
La, o cada, secuencia de huellas digitales candidatas CFPn generadas por el sistema de monitoreo 218 se colocan en cola en una cola 220 para ser analizadas por el sistema 200. A continuación, el sistema 200 se dispone de modo que una de las secuencias de huellas digitales candidatas CFPn desde dentro de la cola 220 se asigne a un mecanismo de procesamiento de identificación 216a-d que carga la secuencia para su procesamiento adicional. En la realización que se describe, las secuencias de huellas digitales cargadas en un mecanismo de procesamiento de identificación 216a-d en un momento dado son típicamente representativas de un minuto de flujo multimedia. Una transmisión de un minuto, que proporciona un período relativamente corto, es particularmente conveniente para las realizaciones que procesan multimedia transmitidos, quizás los denominados multimedia transmitidos en vivo.
Algunas realizaciones pueden disponerse para procesar un componente multimedia completo, o al menos sustancialmente todo un componente multimedia (por ejemplo, un archivo multimedia) y, por lo tanto, generar huellas digitales candidatas.
Ese mecanismo de procesamiento de identificación se dispone entonces para realizar una búsqueda de cada una de las huellas digitales candidatas CFPn dentro de esa secuencia para ver si esa huella digital CFPn corresponde (es decir, coincide) con alguna de las huellas digitales de referencia RFPn almacenadas dentro del sistema 200. Este proceso de búsqueda se describe más adelante.
Adicional, o alternativamente, a las realizaciones de los mecanismos de procesamiento de identificación se les puede asignar una única huella digital CFPn de la cola 220.
La figura 3 muestra una ampliación del sistema de monitoreo 218 de la figura 2 y ahora se explica con más detalle. De manera similar a los mecanismos de procesamiento de identificación 216a-d mostrados en la Figura 2, el sistema de monitoreo 218 comprende una pluralidad de mecanismos de procesamiento adaptables 250a-d. En esta realización, solo se muestran cuatro mecanismos de procesamiento adaptables, pero en realidad podría haber un número más significativo. Cada uno de los mecanismos de procesamiento adaptables está conectado a una red 251. Cada uno de los mecanismos de procesamiento adaptables podría ser una máquina física, como se ejemplifica en relación con la Figura 1. En caso de que los mecanismos de procesamiento adaptables se proporcionen como máquinas físicas, es posible entonces que estos no comprendan una pantalla o controlador de pantalla, etc. En realizaciones alternativas o adicionales, incluida la realización que se describe, los mecanismos de procesamiento adaptables pueden proporcionarse como una máquina virtual.
Cada uno de los mecanismos de procesamiento adaptables está controlado por una interfaz de programación de aplicaciones (API) 252 del sistema y, por lo tanto, el sistema se dispone para controlar la funcionalidad de los mecanismos de procesamiento adaptables 250. También se verá que la API se dispone para generar la cola 220 descrita anteriormente.
Un portal de usuario 254 permite que la entrada de usuario 256 se realice en la API 252, lo que permite controlar la funcionalidad de los mecanismos de procesamiento adaptables 250.
La Figura 4 amplía el flujo de proceso del sistema descrito con referencia a las Figuras 2 y 3. Cabe señalar que la Figura 4 es un diagrama de flujo en lugar de un diagrama estructural, pero la descripción a continuación relaciona aspectos de la Figura 4 con los diagramas de sistema de las Figuras 2 y 3.
El sistema 218 mantiene datos de términos que pueden usarse para localizar uno o más componentes multimedia candidatos para su análisis por parte del sistema. Como tal, se mantiene un almacén de datos de términos 400 para su procesamiento como se describe más adelante. Los datos de términos almacenados dentro del almacén 400 pueden comprender URL (Localizador de Recursos Universal), términos de búsqueda o similares, cualquiera de los cuales puede usarse para localizar componentes multimedia en la red 251.
Los términos, URL u otros datos de términos pueden introducirse en el almacén de datos de términos 400 a través del portal de usuario 254.
Los mecanismos de procesamiento adaptables 250 mostrados en la Figura 3 se disponen para actuar como arañas 402 para recopilar información de la red 251 de fuentes de datos dadas en la red, que en la realización que se describe son típicamente páginas web. En este proceso, la API 252 asigna un mecanismo de procesamiento adaptable 250 dado a una fuente de datos para procesar, dicha fuente de datos puede ser proporcionada por los datos de términos proporcionados al mecanismo de procesamiento adaptable 250.
Por ejemplo, si los datos de términos fueran un término de búsqueda, entonces el mecanismo de procesamiento adaptable 250 se dispone para buscar en la red, o al menos un sitio web dado, o una página de un sitio web para ese término de búsqueda. Si los datos de términos fueran una URL, entonces el mecanismo de procesamiento adaptable 250 se dispone para procesar esa URL. Los datos de términos pueden incluir especificar qué porciones de la página web, sitio o similares deben buscarse. En particular, algunas realizaciones pueden especificar etiquetas, parámetros, tales como etiquetas XML o parámetros que deberían buscarse.
La función de rastreo en la que los mecanismos de procesamiento adaptables 250 se disponen para proporcionar búsquedas en la fuente de datos asignada al mecanismo de procesamiento adaptable 250 por la API 252 y devuelve datos que podrían coincidir con criterios especificados dados por los datos de términos.
En la realización que se describe, los criterios especificados serían un flujo multimedia que podría coincidir potencialmente con un flujo multimedia para el que el almacén 210 tiene una huella digital de referencia RFPn representativa de ese flujo multimedia. Sin embargo, adicional o alternativamente, el mecanismo de procesamiento adaptable 250 puede disponerse para capturar otras formas de datos, incluidos los componentes multimedia, como cualquier forma de archivo multimedia, la fuente de datos sospechosa de contener un componente multimedia, o similares.
El mecanismo de procesamiento adaptable 250 que proporciona la función de rastreo 402 se dispone para cargar los resultados de las tareas que se les ha asignado realizar en un almacén de resultados de rastreo 404.
Los resultados de rastreo guardados dentro del almacén de resultados de rastreo 404 son procesados por un motor de verificación 406 que también se dispone para verificar los datos enviados directamente a través del portal de usuario 256 que se envían directamente al motor de verificación en lugar de ser localizados por la función de rastreo 402 de los mecanismos de procesamiento adaptables 250. En particular, el motor de verificación se dispone, al menos en algunas realizaciones, para puntuar metadatos y devolver una creencia (que puede considerarse un factor de importancia) en esos metadatos. Algunas realizaciones del sistema, incluida la que se está describiendo, pueden usar entonces esa creencia en cómo se debe usar cualquier determinación de esos metadatos para determinar una programación basada en esos metadatos. Aquí los metadatos pueden comprender etiquetas de texto, XML o HTML, o similares que han sido sometidas a web scraping, por la araña 402, desde la fuente de datos (por ejemplo, página web) que ha procesado.
En la realización que se describe, los resultados verificados del rastreo 404 /entrada de información directamente al sistema se almacenan dentro de un almacén de páginas capturadas 408 para su procesamiento posterior. La referencia aquí a un almacén de páginas capturadas 408 es adecuada para realizaciones en las que la red 251 es la World Wide Web. Sin embargo, en otras realizaciones, el almacenamiento puede denominarse más adecuadamente un almacenamiento de protodatos capturados; es decir, datos que sean potencialmente relevantes y que el sistema deba seguir procesando.
Es posible que los datos se ingresen directamente en el almacén de páginas capturadas 408 y esto se representa como la entrada 411 en la Figura. Típicamente, estos datos se introducirían a través del Portal de Usuario 254. De nuevo, es posible que los protodatos puedan introducirse directamente en el almacén de protodatos, que en la realización que se describe pueden considerarse como páginas precargadas 410. Estas páginas precargadas (u otros repositorios de datos) pueden ser páginas que habitualmente alojan datos, como transmisiones de multimedia u otros datos multimedia, que cumplen los criterios especificados. En la realización que se describe, el sistema se dispone para monitorear e identificar los flujos multimedia que son copias de los flujos multimedia de referencia 204 y, como tal, el criterio especificado podría ser que esas páginas precargadas habitualmente alojen flujos multimedia que sean copias de los flujos multimedia de referencia 204. En otras realizaciones, el sistema se dispone para monitorear más que el flujo multimedia y puede disponerse para monitorear o identificar de otra manera cualquier forma de archivo multimedia, o de hecho otras formas de datos.
Los protodatos, que en esta realización son las páginas capturadas y/o precargadas, son luego procesados por elementos de captura de multimedia 412 que pueden ser proporcionados por los mecanismos de procesamiento adaptables 250a-d. Nuevamente, estos elementos de captura de multimedia 412 están controlados por la API 252 que dirige y programa la actividad de los elementos de captura de multimedia 412. Por tanto, en la realización que se está describiendo, el mismo mecanismo de procesamiento adaptable 250 se dispone para funcionar tanto como la araña 402 o como el elemento de captura de multimedia 412. Se cree que una disposición de este tipo en la que el mecanismo de procesamiento adaptable 250 tiene una función dual es ventajosa porque puede conducir a un uso eficiente de los recursos dentro del sistema. Otras realizaciones pueden proporcionar la araña 402 y los elementos de captura de multimedia 412 como entidades separadas.
En la realización que se describe, los elementos de captura de multimedia 412 se disponen para procesar flujos multimedia candidatos 219, ubicados dentro de las fuentes de datos (es decir, páginas web), y generar huellas digitales candidatas CFPn y, por lo tanto, el elemento de captura de multimedia 412 proporciona un generador de huella digital candidata. Estas huellas digitales candidatas CFPn se almacenan en la cola 220 para su posterior análisis por parte del sistema.
Además de la generación de las huellas digitales candidatas CFPn, el elemento de captura de multimedia 412 se dispone para almacenar una copia de al menos una porción del componente multimedia candidato dentro de un almacén de contenido multimedia candidatos 413. Por ejemplo, si el componente multimedia candidato fuera un flujo de video, entonces el elemento de captura de multimedia 412 puede disponerse para almacenar uno o más iconos que representan el flujo de video. Aquí, un icono pretende significar una versión en la que la o cada trama tiene una resolución, contenido de color, frecuencia de tramas o similares reducidos, con el fin de reducir la cantidad de espacio necesario para almacenar la miniatura en comparación con el componente multimedia original.
Si el componente multimedia candidato fuera un archivo de audio, entonces el elemento de captura de multimedia puede disponerse para almacenar una versión del audio del archivo de calidad reducida, longitud reducida, etc.
En la realización que se describe, el elemento de captura de multimedia 412 también se dispone para almacenar, en el almacén de contenido multimedia candidatos 413, metadatos asociados con el componente multimedia candidato. Los metadatos almacenados dentro del contenido multimedia candidatos 413 para cada componente multimedia candidato pueden incluir cualquiera de los siguientes: la URL que apuntó al componente multimedia (por ejemplo, flujo multimedia); la dirección IP de la que se obtuvo el componente multimedia (por ejemplo, flujo multimedia); el momento en el que se obtuvo el componente multimedia (por ejemplo, flujo multimedia); o similar. Estos metadatos pueden almacenarse además como datos de ejecución 414, al menos en la realización que se describe, que especifica la fuente a partir de la cual se obtuvo el componente multimedia (por ejemplo, flujo multimedia).
La funcionalidad del elemento de captura de multimedia se describe a continuación en relación con las Figuras 5 y 6. También es posible que las huellas digitales candidatas CFPn se puedan agregar a la cola desde una fuente externa 224. En algunas realizaciones, puede haber múltiples fuentes externas desde las cuales se pueden añadir huellas digitales candidatas CFPn a la cola 220. El portal de usuarios 254 puede proporcionar un ejemplo de la fuente externa.
Una vez que las huellas digitales candidatas CFPn se han añadido a la cola 220, estas son procesadas por los mecanismos de procesamiento de identificación 216 bajo la dirección de la API 252. Los mecanismos de procesamiento de identificación 216a-d hacen comparaciones con las Huellas digitales de Referencia RFPn mantenidas dentro del almacén 210 como se describe en otra parte.
En la realización que se describe, además del proceso de identificación/monitoreo automatizado que se describe a continuación, los usuarios pueden inspeccionar manualmente los componentes multimedia guardados en el almacén de contenido multimedia candidato 413. Este proceso se realiza a través del portal de usuario 254 y se muestra como proceso 409. En este proceso, se presenta al usuario, en una pantalla de video, una copia del componente multimedia. En la realización que se describe, al usuario se le presenta la miniatura del componente multimedia candidato que ha sido generado por el elemento de captura de multimedia 412.
En la Figura 3 se muestra una unidad de verificación manual 260 que puede proporcionarse en algunas realizaciones y que permite al usuario proporcionar el proceso 409. La unidad de verificación manual 20 proporciona al usuario una entrada al sistema. Esta entrada también puede ser a través del portal de usuarios 254. Sin embargo, en otras realizaciones, puede que no se proporcione la unidad de verificación manual 260 y el sistema puede funcionar automáticamente.
Si un componente multimedia candidato se identifica como uno que necesita más acción, entonces cualquier metadato asociado con el componente multimedia es capturado por el elemento de captura de multimedia 412 y asociado con ese componente multimedia candidato se transfiere al almacén de datos de ejecución 414 para la acción como se describe a continuación. Por tanto, una ventaja de tales realizaciones es que los metadatos se capturan para el flujo multimedia candidato 219 que luego se pueden usar para automatizar procesos, tales como la generación de avisos de eliminación, en relación con ese flujo multimedia 219. Esta captura de metadatos se puede lograr en realizaciones que identifican automáticamente un componente multimedia así como aquellos con una identificación manual.
La araña 402 y el elemento de captura de multimedia 412 típicamente serán proporcionados por máquinas, ya sean virtuales o físicas o una combinación de las mismas, que están dentro, conectadas directamente, o similares, a la red 251. Se apreciará que tales realizaciones son ventajosas ya que la araña 402 y los elementos de captura de multimedia 412 propician un acceso regular a la red 251 y por lo tanto la proximidad a la red 251 es ventajosa porque reducirá el tráfico de la red.
Además, al menos algunas realizaciones, incluida la que se describe, disponen los mecanismos de procesamiento de identificación 216 de manera que estén separados de la red 251. Tal separación puede ser proporcionada por un cortafuegos, una zona desmilitarizada (DMZ) o similar. Se observará que en algunas realizaciones, incluida la que se describe, los mecanismos de procesamiento de identificación 216 están conectados más estrechamente al sistema 200 en comparación con la araña 402 o el elemento de captura de multimedia 412 y, como tal, es ventajoso separarlos de la red 251 para aumentar la seguridad del sistema 200. Por tanto, las realizaciones que estructuran los mecanismos de procesamiento de identificación 216 de modo que estén protegidos de la red 251 abordan la seguridad del sistema.
Una vez que los mecanismos de procesamiento de identificación 216 han identificado las huellas digitales candidatas CFPn como una coincidencia con una huella digital de referencia RFPn mantenida dentro del almacén 210, en la realización que se describe, estas se disponen para cargar, o transmitir de otro modo, detalles del componente multimedia (por ejemplo, el flujo multimedia en esta realización) a un almacén de datos de ejecución 414, que incluye metadatos asociados con el componente multimedia candidato.
En al menos algunas realizaciones, es posible añadir datos de ejecución directamente al almacén 414 y esto está representado por el elemento 415 en la Figura. Dichos datos se pueden agregar a través del portal de usuarios 254.
Pueden disponerse otras realizaciones, alternativas o adicionales, para analizar datos y tal análisis puede proporcionar inteligencia comercial o información en relación con los componentes multimedia que se están monitoreando. En tales realizaciones, los mecanismos de procesamiento de identificación 216 pueden disponerse para almacenar los datos identificados por el sistema para un componente multimedia candidato para un análisis posterior. Típicamente, los datos identificados por el sistema se almacenan con referencia al componente multimedia candidato que dio lugar a esos datos.
En la realización que se describe, se proporciona un proceso de eliminación 416 adicional que se dispone para procesar los datos almacenados en el almacén de datos de ejecución 414 y enviar avisos de eliminación a los destinatarios especificados por los datos de ejecución. En esta realización, esos avisos se envían por correo electrónico, pero en realizaciones alternativas o adicionales, los avisos de eliminación pueden enviarse por correo postal; fax; Mensajería instantánea; SMS; MMS; o similar.
Las realizaciones del sistema también pueden disponerse para continuar monitoreando la fuente de datos (que en la realización que se describe pueden ser enlaces o similares) que dio lugar a los datos de ejecución que dieron lugar a un aviso de eliminación. Este monitoreo continuo puede ocurrir de vez en cuando, que puede ser periódicamente a intervalos predeterminados. Por ejemplo, la araña 402 y/o el elemento de captura de multimedia 412 pueden disponerse para monitorear una fuente de datos sustancialmente cada 10 minutos, 15 minutos, 20 minutos, 30 minutos o similar.
Si el sistema determina que el componente multimedia que provocó la generación del aviso de eliminación todavía está disponible en la fuente del componente multimedia, entonces se puede escalar aún más el proceso de eliminación. Por ejemplo, en lugar de enviar un correo electrónico a un sitio web en particular, se puede enviar un aviso de eliminación directamente a un ISP o similar.
Las realizaciones, incluida la que se describe, pueden disponerse de modo que la araña 402 y/o los elementos de captura de multimedia 412, de vez en cuando, realicen la función que se les ha asignado; independientemente de si esto se relaciona con datos de ejecución.
En la realización que se describe, la API 252 puede indicar a la araña 402 que repita el proceso que se le asignó en los datos de términos. La repetición se puede realizar periódicamente a intervalos regulares tales como sustancialmente cada 10 minutos, 15 minutos, 20 minutos, 30 minutos o similares. Pueden disponerse otras realizaciones para repetir el proceso a intervalos irregulares.
De hecho, como se describió anteriormente, algunas realizaciones pueden disponerse para obtener metadatos del rastreo realizado por la araña 402; es decir, datos obtenidos de la fuente de datos sobre lo que se mantiene en la fuente de datos. Tales realizaciones pueden disponerse además para usar los metadatos para establecer un horario en cuanto a cuándo la araña 402 debe repetir el proceso que se le ha asignado.
Además, el elemento de captura de multimedia 412 también puede disponerse para generar huellas digitales candidatas CF-Pn a partir de los protodatos (es decir, las páginas capturadas) de vez en cuando. La generación de huellas digitales candidatas CFPn puede lograrse recapturando la página (es decir, la fuente de datos) en la que se encuentra el componente multimedia candidato. La repetición puede realizarse periódicamente, a intervalos regulares, como sustancialmente cada 10 minutos, 15 minutos, 20 minutos, 30 minutos o similares. Pueden disponerse otras realizaciones para repetir el proceso a intervalos irregulares.
En algunas realizaciones, el sistema puede omitir el almacén de datos de ejecución 414 y el proceso de eliminación 416 y simplemente estar dispuesto para generar datos de uso.
La Figura 5 muestra más detalles de los procesos que se ejecutan dentro del mecanismo de procesamiento adaptable 250 y, en particular, el elemento de captura de multimedia 412 que puede ser proporcionado por el mecanismo de procesamiento adaptable 250. También se hace referencia a la Figura 6, que se utiliza para ilustrar los paquetes de datos analizados en relación con la Figura 4.
Como se describió anteriormente, el elemento de captura de multimedia 412, en la realización que se está describiendo, captura un flujo de multimedia 219 que ha sido identificado por el sistema de monitoreo 218 que necesita investigación adicional. En otras realizaciones, el elemento de captura de multimedia 412 puede disponerse para capturar otros componentes multimedia distintos de los contenidos multimedia transmitidos.
Para capturar los componentes multimedia, y en la realización que se describe, el flujo multimedia 219, el elemento de captura de multimedia 412 comprende un primer mecanismo de procesamiento 550. El primer mecanismo de procesamiento funciona como un servidor de multimedia y recibe el componente multimedia entrante (en esta realización, el flujo multimedia 219) y retransmite ese componente multimedia al segundo mecanismo de procesamiento 552.
En la realización que se describe, el primer y segundo mecanismos de procesamiento son proporcionados por máquinas virtuales que proporcionan un circuito de procesamiento simulado 104. El experto en la materia apreciará que el primer y/o segundo mecanismos de procesamiento 550, 552 pueden proporcionarse como máquinas físicas. Sin embargo, en la realización que se describe, proporcionar el primer y segundo procesamiento como máquinas virtuales permite flexibilidad en cuanto a la ubicación del sistema de monitoreo 218 y simplifica la creación de mecanismos de procesamiento 250 adaptables adicionales, que proporcionan los elementos de captura de multimedia 412 para expandir el sistema de monitoreo 218. Por tanto, el primer 550 y el segundo 552 mecanismos de procesamiento, en la realización que se describe, se proporcionan dentro de una única máquina virtual.
En la realización que se describe, la red 251 es la World Wide Web (WWW) que se ejecuta por encima de Internet. Por supuesto, otras realizaciones podrían utilizar otras arquitecturas. Sin embargo, la Figura 6 ejemplifica las cuatro capas de una red WWW, como la que se puede utilizar para la red 251. Existe la capa de enlace que es específica del hardware que proporciona la conexión y la información de encabezado de la capa de enlace no se monitorea en la realización que se describe. Sin embargo, es concebible que en otras realizaciones los paquetes de datos de la capa de enlace puedan ser monitoreados y/o capturados.
Sin embargo, el elemento de captura de multimedia 412, y en particular su mecanismo de captura de datos 554, se dispone para capturar la información de encabezado de cada una de las capas de Internet, Transporte y Aplicación. Por tanto, se apreciará que los datos, que en la realización que se describe, son uno o más paquetes de datos de multimedia, están rodeados por más información de encabezado en las capas inferiores. El experto en la materia apreciará que en algunos protocolos la capa de aplicación contendrá información de encabezado y, por lo tanto, el bloque de datos (representado por el bloque sombreado en la Figura), en todas las capas del diagrama, de hecho, puede contener tanto datos como información de encabezado de la capa de aplicación.
Los datos contenidos en la información del encabezado son útiles para determinar la fuente de un componente multimedia de los datos y se puede considerar que proporcionan metadatos asociados con los contenidos multimedia (u otros datos) que se transmiten a través de la red. El experto en la materia apreciará que los sitios web, u otras fuentes de datos en redes distintas de la WWW, pueden redirigir a los usuarios a otras fuentes sin que el usuario se dé cuenta. La inspección de la información del encabezado se puede utilizar para determinar si esto ha ocurrido. Previamente, ha sido un problema comprender la última fuente de un componente multimedia, por ejemplo, un flujo multimedia, un archivo multimedia, etc., y la inspección de la información del encabezado como se usa en la realización que se describe puede ser utilizada por el proceso de eliminación 416 para enviar avisos a la última fuente según se encuentra en la información del encabezado, registrar la identidad de la última fuente, etc.
En la realización que se describe, el componente multimedia puede transmitirse en un formato de flujo de red que se procesa para determinar las secciones del flujo que están asociadas con el control y la configuración del flujo; y los asociados con el contenido multimedia. A partir de los datos de configuración de flujo y control, la sintaxis específica del protocolo utilizada en el establecimiento del flujo multimedia se guarda y se usa para agregar múltiples fuentes del mismo contenido multimedia incorporadas en diferentes páginas web. Aquí, el experto en la materia apreciará que una pluralidad de sitios web pueden proporcionar acceso al mismo flujo, donde se puede pensar que el flujo es la última fuente del componente multimedia. Como tal, puede ser ventajoso agregar las fuentes de los componentes multimedia de manera que sea más evidente cuán ampliamente se está distribuyendo esa fuente de componentes multimedia.
El contenido del flujo real se guarda en un formato de archivo y forma el contenido multimedia candidato que se procesa para generar huellas digitales candidatas como se describe en otra parte.
El experto también apreciará que existen tecnologías que entregan contenido multimedia, y en particular contenidos multimedia transmitidos, de manera fragmentada. Los ejemplos de dicha tecnología incluyen HTTP Live Streaming (HLS), Microsoft Smooth Streaming, Adobe™ HDS (Adobe Dynamic Streaming) o mecanismos personalizados. Las realizaciones que vuelven a transmitir los componentes multimedia como se describe en relación con la Figura 5 son ventajosas ya que permiten que tales tecnologías que entregan contenido de una manera fragmentada se procesen y que el contenido multimedia se guarde en un formato de archivo y se procese posteriormente. Puede ser un problema procesar y tomar huellas digitales de estos flujos fragmentados en vista de la corta duración de los fragmentos.
Algunas realizaciones del sistema pueden disponerse para procesar componentes multimedia que no corresponden a un formato conocido. Algunas realizaciones del sistema pueden volver a combinar archivos de audio y video de flujos/archivos separados. Esta funcionalidad surge típicamente del procesamiento de la información de encabezado de las diversas capas del tráfico de la red.
En la realización que se describe, el mecanismo de captura de datos 554 se dispone para reconstruir los componentes multimedia entregados de una manera tan fragmentada. En particular, el mecanismo de captura de datos 554 se dispone para analizar la información de encabezado de al menos algunas de las capas y usar esa información de encabezado para reconstruir los paquetes de datos (que en la realización que se describe proporcionan los contenidos multimedia) en un formato no fragmentado; es decir, guardar el contenido como formato de archivo. Así, en la realización que se describe, el elemento de captura de datos 554 se dispone para procesar la información de encabezado de las diversas capas y para detectar un flujo de video HLS (u otro fragmentado), para capturar los datos, que en este caso serán tramas de video, de los diversos paquetes de red y unir (es decir, agregar) los datos para formar un archivo multimedia que proporcione una secuencia multimedia continua. A continuación, el archivo multimedia se puede procesar, por ejemplo, tomar las huellas digitales, como se describe en otra parte.
Para generar una huella digital de referencia RF-Pn, cada uno de los generadores de huellas digitales de referencia 202a-d procesa el flujo multimedia de referencia 204a-d (es decir, el componente multimedia de referencia) como se describe ahora. Se apreciará que la técnica descrita para generar huellas digitales se proporciona como ejemplo y otras realizaciones pueden utilizar otras técnicas de toma de huellas digitales.
El proceso también se ejemplifica en relación con las Figuras 7 y 8. La figura 7 representa el flujo multimedia entrante como una secuencia de tramas; por ejemplo, 300a, 300b, 300c, etc. (paso 800). Cada trama del flujo multimedia puede considerarse como un elemento de datos del componente multimedia. Otras realizaciones pueden procesar otras formas de datos.
También se realiza un proceso similar dentro del sistema de monitoreo 218 con el fin de generar la secuencia de huellas digitales candidatas CFPn y de nuevo la Figura 7 representa el flujo multimedia candidato 219 como una secuencia de tramas 306a-n.
En la realización que se describe, los generadores de huellas digitales de referencia 202a-d se disponen como un primer paso para eliminar información del flujo multimedia. En la realización que se describe, el generador de huellas digitales de referencia se dispone para convertir las tramas a la escala de grises 802 con el fin de reducir el tamaño de los datos a procesar. Se apreciará que para las realizaciones que se disponen para procesar video en tiempo real, puede resultar útil reducir la cantidad de datos para aumentar la velocidad a la que se pueden generar huellas digitales de referencia. Ha sido un problema generar huellas digitales (es decir, huellas digitales de referencia) para datos, como un video o transmisiones de video, que se pueden generar en tiempo real y, sin embargo, permiten una detección sólida de transmisiones de multimedia que dan lugar a las mismas, o al menos a huellas digitales similares, (es decir, huellas digitales candidatas). Se cree que al menos algunas de las realizaciones descritas en el presente documento resuelven este problema.
En realizaciones en las que el componente multimedia (el flujo multimedia en la realización que se describe) es distinto de los datos de video, la calidad puede eliminarse eliminando una o más frecuencias, eliminando el estéreo u otra información multicanal, o similar. Alternativamente, o adicionalmente, otras realizaciones podrían procesar canales de un contenido multimedia dentro de un componente multimedia por separado.
A continuación, los generadores de huellas digitales de referencia 202a-d se disponen para cambiar el tamaño de las tramas 300a-n con el fin de que las tramas 300a-n tengan dimensiones uniformes 804. En la realización que se describe, las tramas se redimensionan para que sean de 32x32 píxeles, reduciendo así la calidad del flujo multimedia. Los generadores de huellas digitales de referencia se disponen además para mantener la relación de aspecto de las tramas de manera que se añaden barras negras en la parte superior/inferior o en los bordes de las tramas para mantener la relación de aspecto de las tramas en el estado redimensionado.
En otras realizaciones, los flujos multimedia se pueden redimensionar para que tengan un tamaño distinto de 32x32 píxeles. Se apreciará a partir del análisis que sigue que las realizaciones que usan un tamaño mayor generarán un mayor número de posibles huellas digitales reduciendo así la posibilidad de falsos positivos pero también que aumenta el procesamiento involucrado para generar las huellas digitales de referencia. En consecuencia, se ha descubierto que las realizaciones que utilizan 32x32 píxeles ofrecen un buen equilibrio entre varios factores, incluido el número de huellas digitales potenciales, el procesamiento requerido para procesar los flujos multimedia en tiempo real (o al menos en tiempo pseudo-real) y el almacenamiento necesario para almacenar el flujo multimedia redimensionado.
En la realización que se describe, una segunda copia de las tramas 300a-n se redimensiona a 16x16 píxeles y se usa para determinar una cantidad de movimiento (es decir, cambio) entre tramas consecutivas 300a-n.
Las tramas de escala de grises redimensionadas se alimentan luego a dos memorias intermedias separadas, que en la realización que se describe son circulares, cada una dispuesta para contener porciones del componente multimedia (etapa 806). Las tramas de escala de grises redimensionadas a 32x32 píxeles se suministran a una de estas memorias intermedias y se utilizan para generar una huella digital y las tramas de escala de grises redimensionadas a 16x16 píxeles se introducen en una segunda de estas y se utilizan para detectar cambios. En la realización que se describe, cada una de las porciones suministradas a las dos memorias intermedias tiene una duración de 4 segundos y comprende porciones del flujo multimedia de referencia 204a-d. Ahora se describe la generación de las huellas digitales utilizando las tramas redimensionadas que se encuentran en la primera memoria intermedia.
Una vez que se recibe el flujo multimedia 20a4a-d, no ocurre ninguna acción hasta que se llenan las memorias intermedias, pero luego se activa la generación de las huellas digitales de referencia RFPn y se genera una huella digital de referencia a intervalos de medio segundo. Otras realizaciones pueden estar provistas de memorias intermedias de diferente longitud y/o pueden generar huellas digitales de referencia en intervalos distintos de medio segundo. Otras realizaciones pueden tener, por ejemplo, memorias intermedias que son sustancialmente cualquiera de las siguientes longitudes (en segundos); 2, 3, 5, 6, 7, 8, 10, 20, 30, 60. Pueden disponerse otras realizaciones adicionales para generar huellas digitales de referencia sustancialmente en cualquiera de los siguientes periodos (en segundos): 0,1; 0,25; 1; 2; 3; 5; 10; 60.
Por tanto, el flujo de tramas almacenado en memoria intermedia comprende una secuencia de tramas que comprende cada una X por Y píxeles. Por tanto, un píxel en (x, y) dentro de una trama se puede ubicar en cada una de las tramas y esto puede pensarse como un tubo de píxeles que atraviesan las tramas dentro de la memoria intermedia. Como tal, la memoria intermedia contiene X por Y tubos de píxeles y en la realización que se describe hay 32 x 32 tubos; 1024 tubos.
Como primer paso en la generación de huellas digitales de referencia, se suaviza cada uno de los tubos de píxeles. En la realización que se está llevando a cabo, esto se logra con un paso de perfil gaussiano 808.
A continuación, el contenido de la memoria intermedia se muestrea a una frecuencia de trama de 8 tramas por segundo, paso 810. Como tal, una memoria intermedia de cuatro segundos contiene 32 tramas de flujo multimedia muestreados. Por lo tanto, ahora hay 32 tramas cada una de 32 por 32 píxeles; un total de 32768 píxeles.
Por tanto, se puede pensar que cada uno de los generadores de huellas digitales 202 de referencia contiene un reductor de resolución 134 que se dispone para procesar el flujo multimedia entrante u otros datos antes de que ese flujo multimedia se procese como se describe a continuación. Un reductor de resolución 134 de este tipo puede disponerse para realizar uno o más de los pasos de procesamiento descritos anteriormente: conversión del flujo multimedia a escala de grises; redimensionamiento del flujo multimedia que en la realización que se describe fue a 32x32 píxeles; adición de las barras negras; y reducción de la frecuencia de trama, que en la realización descrita era de 8 fps.
A continuación, los generadores de huellas digitales de referencia se disponen para realizar una Transformación de Coseno Discreta (DCT) en los cubos de 32x32x32 (paso 812); es decir, en esta realización se realiza una DCT tridimensional (3D). Se apreciará que las realizaciones que realizan la DCT en cubos de píxeles de lados iguales son ventajosas en vista de la optimización que puede producirse en la DCT, reduciendo así la cantidad de procesamiento. Como tal, en otras realizaciones, si se alteraran las dimensiones X o Y a las que se redimensionan las tramas 300a-n, entonces también puede ser conveniente alterar el número de tramas a las que se le redujo la resolución del flujo multimedia.
Por tanto, se apreciará que se extraen los componentes de frecuencia del componente multimedia (el flujo multimedia en esta realización). En la realización que se describe, esta extracción del componente de frecuencia la realiza la DCT, pero otras realizaciones pueden usar otros mecanismos para lograr esto. Por ejemplo, otras realizaciones también pueden usar una Transformada de Fourier, una Transformada de Fourier discreta, una Transformada de coseno o similares.
La DCT proporciona una serie de coeficientes, cada uno de los cuales representa un componente de frecuencia del bloque de 4 segundos del flujo multimedia de referencia 204a-d que ha sido procesado. Debido a que la DCT es una DCT 3D y se ha realizado no solo en dos dimensiones (XY de la trama) sino también en la dimensión del tiempo, a través de las tramas, la huella digital de referencia resultante se denomina huella digital espacio-temporal. En la realización que se describe, el 2do y 5to coeficientes, en cada una de las tres dimensiones, se seleccionan para su procesamiento adicional (etapa 814). En otras realizaciones, se puede seleccionar un conjunto diferente de coeficientes, sin embargo, las realizaciones que utilizan el 2do y 5to coeficientes se consideran ventajosas ya que estos coeficientes tienden a capturar el mayor cambio dentro de las tramas del flujo multimedia de referencia 204a-d proporcionando así una identificación sólida del componente multimedia candidato frente al componente multimedia de referencia. Estos componentes de frecuencia extraídos, en la realización que se describe, proporcionan la base de la huella digital que se genera.
A continuación, los generadores de huellas digitales de referencia se disponen para cuantificar los coeficientes seleccionados (en esta realización, estos son el 2do y 5to coeficientes) alrededor del valor medio de los coeficientes seleccionados (paso 816). Por lo tanto, hay coeficientes de 4x4x4, cada uno de los cuales se almacena como un número de un bit. Tal cuantificación da como resultado un número igual de unos y ceros y, en la realización que se describe, se dispone para generar 32 unos y 32 ceros. Las huellas digitales se muestran esquemáticamente en 304 en la Figura 7.
Por tanto, se genera una huella digital de referencia 304 de acuerdo con el contenido de una de las dos memorias intermedias. La otra memoria intermedia se usa para detectar movimiento dentro de la porción de 4 segundos del flujo multimedia como se describe ahora con referencia a la Figura 9. En la realización que se describe, esta reducción se realiza en la frecuencia de trama completa del componente multimedia de entrada, pero en otras realizaciones esto podría realizarse en las tramas de resolución reducida. Para realizaciones que procesan componentes multimedia que no son de video, la segunda memoria intermedia puede disponerse para monitorear la presencia de audio.
Por tanto, se puede pensar que el generador de huellas digitales 202a-d de referencia comprende un generador de huellas digitales 130 que se dispone para realizar los pasos descritos. De forma similar, también se puede pensar que el sistema de monitoreo 218 comprende un generador de huellas digitales 130. Estos generadores de huellas digitales 130 se disponen para generar una secuencia de huellas digitales a partir de una porción de los componentes multimedia candidatos o de referencia; es decir, los respectivos flujos multimedia en la realización que se describe.
Entonces se genera una medición de calidad, que en la realización que se describe puede ser realizada por el evaluador de calidad 132. Como primer paso, se determina un cambio en una propiedad entre al menos algunos de las tramas. En la realización que se describe, el cambio de propiedad es la diferencia de intensidad entre píxeles en tramas vecinas (es decir, se calcula la diferencia de intensidad entre píxeles (x1, y1) en tramas vecinas), paso 900, para generar un cambio de intensidad entre tramas. En la realización que se describe, este cambio de intensidad entre los píxeles vecinos se suma en todos los píxeles de las tramas para cada período entre tramas. En otras realizaciones, se puede sumar un subconjunto de píxeles.
Por lo tanto, se genera una matriz de 31 números, con un número para cada período entre tramas, y se utilizan 32 tramas para generar cada medición de calidad.
A continuación, la matriz se clasifica en orden de magnitud (paso 902) creando así una matriz ordenada que va en un extremo con el valor más alto en un extremo de la matriz al valor más bajo en el otro extremo de la matriz.
A continuación, el generador de huellas digitales de referencia 202 o el sistema de monitoreo 218 se dispone para calcular un percentil predeterminado de la matriz. En la realización que se describe, este percentil predeterminado es el percentil 95 de la matriz (paso 904). Posteriormente, el valor dado por el percentil predeterminado se normaliza por el número de píxeles (paso 906). Esto proporciona una medición de calidad que da una indicación de la cantidad de movimiento entre tramas que se utiliza durante las comparaciones de huellas digitales realizadas por el sistema 200.
Por último, los generadores de huellas digitales de referencia 202a-d se disponen para empaquetar las huellas digitales generadas en el paso 816 junto con las mediciones de calidad y cargadas en el almacén 210 (paso 908). Por tanto, las mediciones de calidad se almacenan en asociación con las huellas digitales. Algunas realizaciones pueden almacenar las huellas digitales y las mediciones de calidad por separado de una manera en la que están vinculadas o asociadas entre sí.
En la realización que se describe, las secuencias de huellas digitales de referencia RFPn se cargan en intervalos de minutos y, como tales, se cargan 57 huellas digitales a la vez, no habiendo huellas digitales generadas durante los primeros 3 segundos del flujo multimedia 204a-d hasta que la memoria intermedia se llena. Se asocia con cada una de las huellas digitales de referencia RFPn una marca de tiempo y la medición de calidad derivada para esa huella digital.
Se considera que la carga en el almacén 210 en lotes de un minuto proporciona un equilibrio entre la obtención rápida de huellas digitales en el almacén 210 y la reducción de la sobrecarga de la red asociada con la transmisión de pequeñas cantidades de información. Como tal, se pueden disponer otras realizaciones para cargar huellas digitales en el almacén 210 a diferentes intervalos. Por ejemplo, podrían disponerse otras realizaciones para cargar huellas digitales individualmente; o sustancialmente en cualquiera de los siguientes períodos de tiempo: 10 segundos; 30 segundos; 45 segundos; 90 segundos; 2 minutos; 5 minutos; o más.
Cabe señalar que, en la realización que se describe, aunque cada huella digital representa 4 segundos del flujo multimedia 204a, se genera una huella digital mediante el método cada medio segundo. Por lo tanto, la generación de las huellas digitales de referencia 300a-n se puede considerar como si hubiera una ventana 305 movida a través de las tramas del flujo multimedia 204a (es decir, para moverse a través de la referencia o los componentes multimedia candidatos) para tener una pluralidad de posiciones relativas al componente multimedia (es decir, el flujo multimedia en la realización que se describe). Entonces se genera una huella digital para posiciones predeterminadas de la ventana 305. Por tanto, en la realización descrita, la memoria intermedia de cada uno del generador de huellas digitales de referencia 202 y el sistema de monitoreo 218 proporciona generadores de ventana dispuestos para seleccionar respectivamente una porción del componente multimedia de referencia y los componentes multimedia candidatos (es decir, los flujos multimedia) y generar respectivamente una huella digital de referencia o candidata de la porción del componente multimedia cubierto por la ventana.
Por tanto, las posiciones de ventana generadas en períodos de tiempo consecutivos pueden considerarse como posiciones de ventana vecinas. Por tanto, se puede ver que la posición de ventana 305a en un primer período de tiempo que generó RFP1 es una posición de ventana vecina a la posición de ventana 305b usada para generar huellas digitales RFP2.
Por tanto, en la realización que se describe, la información de cualquiera de las tramas de resolución reducida está contenida en varias huellas digitales (por ejemplo, 4 en la realización que se describe). Esto se puede ver en las Figuras 7 y 8, donde se puede ver que la Huella Digital de Referencia 1 (RFP1) contiene información relacionada con las tramas 300a, 300b y 300c. La segunda huella digital de referencia (RFP2) se inicia desde la trama 300c. El experto apreciará que la Figura 7 es una simplificación y que el número de tramas se ha reducido para aumentar la legibilidad de la Figura y que en la realización que se describe, se genera una huella digital (por ejemplo, RFP1) a partir de 32 tramas (después del muestreo descendente).
En la realización que se describe, el almacén 210 contiene dos bases de datos: una primera base de datos que contiene huellas digitales de referencia RFPn para flujos multimedia de referencia 204a-d que están actualmente en vivo y una segunda base de datos que contiene huellas digitales de referencia RFPn para flujos multimedia que no están en vivo. Otras realizaciones pueden proporcionar diferentes disposiciones de datos con el almacén 210, pero se cree que es ventajoso proporcionar una base de datos para las huellas digitales asociadas con los flujos multimedia de referencia 204a-d en vivo para garantizar que la base de datos se reduzca en tamaño, aumentando así la velocidad de acceso a los flujos multimedia que se están transmitiendo actualmente (es decir, flujos multimedia en vivo).
En la realización que se describe, la o cada base de datos contenida en el almacén 201 (en esta realización dos bases de datos) se replican luego en los mecanismos de procesamiento de identificación 216a-d de manera que cada uno de los mecanismos de procesamiento de identificación mantiene una copia de la, o de cada, base de datos de huellas digitales de referencia RFPn. Se cree que tales realizaciones son ventajosas ya que es altamente escalable y el tamaño del sistema puede aumentarse añadiendo mecanismos de procesamiento de identificación adicionales 216a-d.
En la realización que se describe, el almacén 210 y los mecanismos de procesamiento de identificación 216a-d se alojan usando un sistema LINUX y el comando de shell LINUX rsync se usa para replicar la, o cada, base de datos en los mecanismos de procesamiento de identificación.
Por lo tanto, típicamente, una vez que uno de los generadores de huellas digitales de referencia 202a-d ha generado una huella digital de referencia 304 (RFPn), se carga en el almacén 201 dentro del orden de segundos después de que haya transcurrido el ciclo de carga del intervalo de minutos. Además, se cree que las realizaciones que utilizan el comando rsync son ventajosas ya que solo replican los cambios en la, o en cada, base de datos del almacén 210 en los mecanismos de procesamiento de identificación 216a-d aumentando así la velocidad y la eficiencia a la que se realiza la carga.
Además de la generación de huellas digitales de referencia a partir de los flujos multimedia de referencia 204a-d, el almacenamiento puede disponerse, en algunas realizaciones, para recibir huellas digitales de referencia de otras fuentes 222. Tales huellas digitales de referencia pueden incluirse posteriormente en el proceso de análisis descrito a continuación para determinar si los componentes multimedia candidatos corresponden a componentes multimedia de referencia (por ejemplo, flujos multimedia) que están siendo monitoreados por el sistema 200; los contenidos multimedia u otros datos que tienen una huella digital de referencia almacenada dentro del almacén 210 pueden considerarse como contenidos multimedia (u otros datos) monitoreados por el sistema.
Algunas realizaciones pueden disponerse para monitorear múltiples tipos de contenido multimedia a la vez. Por ejemplo, algunas de las huellas digitales de referencia pueden generarse a partir de uno o más de los siguientes: flujos multimedia; videoclips; flujos de audio; clips de audio.
Las huellas digitales de referencia RFPn cargadas en el almacén 210 desde la fuente externa 222 pueden ser representativas de cualquier tipo de componente multimedia que esa realización sea capaz de monitorear identificando de otro modo los contenidos multimedia candidatos.
El sistema de monitoreo 218 se dispone para monitorear una o más fuentes de flujos multimedia candidatos 219. Estas fuentes pueden ser típicamente sitios web y el sistema de monitoreo típicamente puede disponerse para monitorear una pluralidad de dichas fuentes en cualquier momento. Cada flujo multimedia candidato 219 puede considerarse como un componente multimedia candidato; se apreciará que algunas realizaciones pueden monitorear datos distintos a los flujos multimedia.
Convenientemente, algunas realizaciones se disponen para procesar porciones del flujo multimedia candidato de una longitud predeterminada. En particular, pueden disponerse realizaciones para generar huellas digitales para porciones de sustancialmente un minuto de un flujo multimedia candidato. Se apreciará que si el flujo multimedia se relaciona con algo como un partido de fútbol, entonces será significativamente más largo que esto. Sin embargo, se apreciará que si la realización se dispone para monitorear e intentar prevenir la transmisión de flujos multimedia no autorizados, entonces es deseable detectar la transmisión de ese flujo multimedia tan pronto como sea posible y, como tal, no es deseable esperar hasta que la transmisión del flujo multimedia haya terminado antes de generar huellas digitales y, como tal, es ventajoso procesar los flujos multimedia candidatos en porciones de la misma manera que es ventajoso generar huellas digitales para porciones de los flujos multimedia de referencia. Sin embargo, tampoco es deseable generar demasiado tráfico de red enviando cantidades excesivas de huellas digitales y se considera que proporcionar realizaciones que procesen porciones del flujo multimedia candidato en porciones de sustancialmente de 60 segundos proporciona un equilibrio. De nuevo, otras realizaciones pueden utilizar un período de tiempo distinto de 60 segundos.
Durante el uso, el sistema de monitoreo 218 se dispone para generar, usando el mismo método que se describe en las Figuras 8 y 9, una secuencia de huellas digitales candidatas CFPn para el o cada flujo multimedia candidato 219. Es decir, se utiliza el mismo método para generar la huella digital candidata CFPn que se utiliza para generar la huella digital de referencia. Por lo tanto, se generan una o más huellas digitales candidatas CFPn que son iguales, o al menos similares, a una o más huellas digitales de referencia RFPn, siempre que el flujo multimedia candidato subyacente a partir del cual se generan las huellas digitales CFPn (u otros datos) sea el mismo, o al menos similar, a un flujo multimedia de referencia que generó la huella digital de referencia RFPn. Por lo tanto, las realizaciones del sistema 200 podrían encontrar aplicación para determinar si los flujos multimedia candidatos corresponden a los flujos multimedia de referencia en vivo 204a-d, lo que en sí mismo es útil para determinar e intentar detener la piratería en línea y detectar copias de los flujos multimedia de referencia 204 monitoreados por el sistema.
Otras realizaciones pueden encontrar otra aplicación. Por ejemplo, el almacén 210 puede proporcionar una librería en la que las huellas digitales candidatas CFPn generadas a partir de un componente multimedia candidato pueden identificarse frente a las huellas digitales de referencia RFPn contenidas en el almacén 210. Tales realizaciones permitirían, por lo tanto, que un componente multimedia (como un archivo de video; una imagen, un archivo de audio o similar) se verificara con el almacén 210 en un intento de identificar ese componente multimedia candidato como una coincidencia con los componentes multimedia a los que se hace referencia en el almacén 210.
La generación de las huellas digitales candidatas se representa de nuevo esquemáticamente en la Figura 7, que muestra un flujo multimedia candidato 219 entrante representado como una secuencia de tramas 306a, 306b, 306c, 306d. Como es el caso con la generación de las huellas digitales de referencia, una ventana móvil 308 se mueve a lo largo del flujo multimedia 219 y se genera una Huella digital Candidata CFP1 - CFPn para posiciones predeterminadas de la ventana 308. Al igual que con la generación de huellas digitales de referencia, en la realización que se describe, se genera una huella digital sustancialmente cada medio segundo aunque cada huella digital cubre 4 segundos de las tramas 306a-n. Como se describió anteriormente, una memoria intermedia circular proporciona un generador de ventana dispuesto para proporcionar la ventana para recibir y procesar una porción del componente multimedia.
Al igual que con la generación de las huellas digitales de referencia, las huellas digitales candidatas se agrupan antes de cargarse en la cola 220. De nuevo, las huellas digitales candidatas, una marca de tiempo y la medición de calidad asociada se cargan en grupos de 57 huellas digitales candidatas que representan la longitud de un minuto del flujo multimedia candidato 219 que se ha procesado.
Como se describió anteriormente, el sistema genera una cola 220 de secuencias de huellas digitales candidatas CFPn para ser comparadas con las huellas digitales de referencia RFPn dentro del almacén 210. Además de las huellas digitales candidatas CFPn generadas por el sistema de monitoreo 218, se pueden añadir huellas digitales candidatas, en al menos algunas realizaciones, a la cola 220 desde una fuente externa 224 capaz de generar huellas digitales candidatas CFPn.
A continuación, se accede a las secuencias en cola de huellas digitales candidatas y se eliminan de la cola 220 mediante uno de los mecanismos de procesamiento de identificación 216a-dy ese mecanismo de procesamiento de identificación busca luego en las huellas digitales de referencia contenidas en el almacén 210 para la aparición de una huella digital de referencia RFPn correspondiente a una o más huellas digitales candidatas CFPn de la secuencia de huellas digitales candidatas CFPn. Esta búsqueda de huellas digitales candidatas CFPn intenta localizar huellas digitales de referencia RFPn coincidentes dentro del almacén 210 identificando así el componente multimedia (por ejemplo, flujo multimedia) que generó la huella digital candidata CFPn como el mismo componente multimedia (por ejemplo, flujo multimedia) que generó la huella digital de referencia RFPn.
Cada uno de los mecanismos de procesamiento de identificación 216a-d mantiene una copia completa de la, o de cada base de datos del almacén 210. En la realización que se describe, esta copia se mantiene dentro de la memoria de acceso aleatorio (RAM) del mecanismo de procesamiento de identificación 216a-d. Las realizaciones con tal disposición son ventajosas debido a la velocidad de procesamiento que esto permite. Sin embargo, otras realizaciones pueden contener la copia de la, o de cada, base de datos dentro de cualquier forma de almacenamiento al que pueda acceder el circuito de procesamiento del mecanismo de procesamiento de identificación 216a-d, ya sea en red o local al circuito de procesamiento.
La copia de la o de cada base de datos dentro del mecanismo de procesamiento de identificación 216a-d se ve obligada de vez en cuando a actualizarse para reflejar cualquier cambio dentro de la(s) base(s) de datos en el almacén 210. La actualización se puede forzar, por ejemplo, a que se produzca sustancialmente en el orden de minutos, quizás sustancialmente en el orden de cualquiera de los siguientes 30 segundos; cada minuto; cada 5 minutos; cada 10 minutos; en cualquier momento entre estos tiempos.
Una vez que el mecanismo de procesamiento de identificación 216a-d ha obtenido una secuencia de huellas digitales candidatas CFPn de la cola 220, este busca al menos algunas, y típicamente cada una de las bases de datos a las que tiene acceso para determinar si las huellas digitales candidatas CFPn de la cola coinciden con alguna de las huellas digitales de referencia RFPn que se encuentran dentro de las bases de datos que se buscan. Aunque las huellas digitales se cargan en la cola 220 en grupos relacionados con porciones del flujo multimedia candidato (como una porción de un minuto de duración), cada una de las huellas digitales de 64 bits relacionadas con 4 segundos del flujo multimedia candidato se busca en la o en cada base de datos.
Con el fin de aumentar la seguridad de una coincidencia y reducir las posibilidades de un falso positivo y/o un falso negativo, se pueden agregar huellas digitales como se describe a continuación. La agregación puede tomarse como una característica que se evalúa para determinar si una huella digital candidata dentro de una secuencia coincide con una huella digital de referencia dentro de una secuencia.
La distancia de Hamming entre dos secuencias de bits es igual al número de bits que difieren entre las dos secuencias. En el caso de una huella digital de 64 bits, una distancia de Hamming de 0 es una coincidencia perfecta, mientras que una distancia de Hamming de 32 muestra una falta total de correlación. En la realización que se describe, debido a que una huella digital siempre contiene una cuenta igual de elementos 1/0, la distancia de Hamming es siempre un número par. Otras realizaciones pueden generar distancias de Hamming no uniformes. Las pruebas con datos de ejemplo sugieren que un umbral de distancia de Hamming de aproximadamente 12-16 es adecuado para identificar coincidencias positivas entre huellas digitales individuales para realizaciones del sistema descrito en este documento.
Se apreciará que en la realización que se describe, la distancia de Hamming se usa como una medida para determinar si una huella digital de referencia es similar, o la misma, a una huella digital candidata. En otras realizaciones, se pueden utilizar diferentes técnicas para realizar esta comparación.
Por tanto, cada uno de los mecanismos de procesamiento de identificación 216a-d se dispone para hacer una comparación de una huella digital candidata obtenida a partir de una secuencia de huellas digitales de la cola 220 con todas las huellas digitales de referencia RFPn de las que tiene conocimiento el sistema. Esta comparación la realiza típicamente el comparador 128 y se utiliza para localizar huellas digitales de referencia RFPn que coinciden con al menos una de las huellas digitales candidatas CFPn.
El mecanismo de procesamiento de identificación 216a-d se dispone así para comparar cada huella digital individual (por ejemplo, cada número de 64 bits en la realización que se describe) en la huella digital candidata CFPn que está procesando con cada una de las huellas digitales de referencia RFPn dentro del almacén 210. El mecanismo de procesamiento de identificación 216a-d se dispone además para acumular pares de huellas digitales candidatas y de referencia que coinciden donde se determina una coincidencia si:
1. La distancia de Hamming entre las huellas digitales candidatas y de referencia es inferior o igual a un umbral predeterminado, que es la realización que se describe en 14; y
2. La medición de calidad de las huellas digitales tanto candidatas como de referencia es superior o igual a un umbral predeterminado, que en la realización que se describe es 3,0.
Por lo tanto, en la realización que se describe, la distancia de Hamming y/o la medición de calidad pueden tomarse como una característica que puede evaluarse para determinar si una huella digital candidata dentro de una secuencia coincide con una huella digital de referencia dentro de una secuencia
Esta coincidencia entre las huellas digitales candidatas y de referencia (RFPn) se ejemplifica en la Figura 11a en la que una secuencia de huellas digitales de referencia generadas a partir de un flujo multimedia de referencia 204a se muestra encima de una secuencia de huellas digitales candidatas (CFPn) generadas a partir de un flujo multimedia candidato 219.
Por lo tanto, tomando la huella digital CFP1 de la secuencia como ejemplo, entonces se busca la CFP1 de entre todas las huellas digitales de referencia almacenadas en el almacén 210. Las flechas entre las huellas digitales de referencia RFPn y las huellas digitales candidatas CFPn representan las huellas digitales que se considera que coinciden de acuerdo con los criterios anteriores. Por tanto, en el ejemplo que se da, se puede ver que CFP1 coincide con RFP2; RFP4 y RFP5.
Se recuerda que en la realización que se describe, los flujos multimedia 204a y 219 son flujos de video y, como tales, es probable que las tramas vecinas dentro de los flujos de video no cambien significativamente. Esta baja cantidad de cambio entre tramas es particularmente el caso de períodos en los que hay poco movimiento en el flujo de video. Es probable que se observen efectos similares en flujos de otros tipos de datos.
La similitud entre las tramas puede resultar en múltiples coincidencias de huellas digitales dentro de un flujo. Además, los flujos de multimedia que tienen un contenido similar también pueden resultar en coincidencias en las huellas digitales representativas de esas transmisiones. En un ejemplo, una secuencia similar de movimientos de cámara (por ejemplo, panorámica y zoom y cambio de toma) dentro de dos partidos de fútbol diferentes (u otro contenido) puede generar secuencias similares de huellas digitales. Puede haber coincidencias coincidentes con huellas digitales en otras transmisiones.
También se apreciará que las realizaciones pueden no tener una alineación temporal entre las huellas digitales generadas a partir de los flujos candidato y de referencia. De hecho, es probable que no se conozca la relación temporal entre un flujo multimedia candidato 219 y un flujo de referencia 204a. Por lo tanto, al observar CFP3, se puede ver, en este ejemplo, que se ha comparado con RFP1, RFP6 y RFPn. Se observará que RFP1 está antes de cualquiera de las huellas digitales de referencia (RFPn) con las que se ha comparado CFP1, lo que hace menos claro cómo las huellas digitales candidatas (CFPn) se alinean temporalmente con las huellas digitales de referencia (RFPn), asumiendo que las huellas digitales representadas en las Figuras 11a y 11b representan de hecho el mismo flujo multimedia.
Es probable que la figura 11a sea una simplificación en cuanto al número de coincidencias entre las huellas digitales candidatas CFP1 y las huellas digitales de referencia RFP1 y también a la naturaleza dispersa ya que, como se analizó anteriormente, pueden coincidir con otros flujos multimedia.
Algunas realizaciones pueden disponerse para añadir una marca de tiempo a cada huella digital que se genere. Además, tales realizaciones pueden disponerse para limitar las huellas digitales de referencia con las cuales se comparan las huellas digitales candidatas con las que se produjeron dentro de un tiempo predeterminado de la huella digital candidata. Tales realizaciones pueden permitir una búsqueda más rápida de las huellas digitales de referencia y también pueden ser útiles cuando el componente multimedia representa un flujo multimedia de Internet de un evento en el que es probable que se produzcan flujos copiados dentro de un período de tiempo corto del flujo multimedia original.
Por tanto, los mecanismos de procesamiento de identificación 216a-d generarán un conjunto de coincidencias entre las huellas digitales candidatas CFPn y las huellas digitales de referencia RFPn. En la realización que se describe que está monitoreando un flujo multimedia, cada coincidencia corresponde a un segmento individual de cuatro segundos de un flujo multimedia de referencia 204a-d que coincide con un segmento de 4 segundos del flujo multimedia candidato 219; se recuerda que se genera una única huella digital de referencia o candidata a partir de una longitud de 4 segundos de un flujo multimedia y esto se muestra en la Figura 12.
La Figura 12 representa un flujo multimedia (ya sea un flujo multimedia de referencia o candidato) mediante una línea y se puede ver que los flujos están marcados en intervalos largos de segundos desde 0 segundos hasta 10 segundos. A continuación, se muestran nueve huellas digitales debajo del flujo multimedia 204, 219 (FP1 a FP9). La primera de estas huellas digitales FP1 se extiende desde t = 0 hasta t = 4; la segunda FP2 desde t = 1 hasta t = 5; la tercera FP3 desde t = 2 hasta t = 6; etc. Así, la primera huella digital FP1 es generada por una posición de ventana que se extiende a través del componente multimedia (es decir, flujo multimedia) desde t = 0 hasta t = 4; se produce una segunda posición de ventana entre t = 1 y t = 5 y, por tanto, existe la diferencia de tiempo de 1 segundo entre las posiciones de ventana analizadas aquí.
Se puede ver que se requieren 5 huellas digitales para cubrir y un intervalo de 8 segundos. Se cree que la naturaleza superpuesta de las huellas digitales es una ventaja para disminuir la importancia de un cambio en el flujo multimedia dentro de cualquier huella digital FPn. Algunas realizaciones del sistema deben tener una región de 6 huellas digitales coincidentes (es decir, M = 6 como se describe a continuación) que corresponde a las 5 huellas digitales necesarias para dar 8 segundos de cobertura pero con una huella digital adicional que se cree que aumenta la robustez.
En otras realizaciones, se ha encontrado que la diferencia de tiempo entre las posiciones de las ventanas utilizadas para generar las huellas digitales es ventajosamente de 0,5 s. Se apreciará que la reducción de la diferencia de tiempo entre las posiciones de las ventanas aumenta la fidelidad con la que se puede representar el comportamiento de la huella digital a lo largo del tiempo (ya sea candidata o de referencia). Como tal, y con referencia a la realización que se describe, una diferencia de tiempo menor permite que el sistema responda a cambios más rápidos dentro de los flujos multimedia 204, 219.
Por tanto, en la realización que se describe, el generador de ventana se dispone de manera que porciones del componente multimedia generadas por las posiciones vecinas de la ventana se superponen. Por supuesto, pueden disponerse otras realizaciones de modo que el generador de ventanas se disponga para generar posiciones de ventanas vecinas que no se superpongan.
En particular, se apreciará que en la realización que se describe, se usa una DCT para generar las huellas digitales (ya sean candidatas o de referencia) que extraen información de frecuencia del flujo multimedia. Se ha descubierto que las realizaciones que utilizan las frecuencias más bajas son ventajosas para generar coincidencias sólidas en la comparación entre las huellas digitales candidatas y de referencia. Sin embargo, para capturar esas frecuencias más bajas se requiere un período de tiempo más largo (en comparación con las frecuencias más altas). Se ha descubierto que un período de tiempo sustancialmente de 4 segundos proporciona suficiente información de baja frecuencia para proporcionar coincidencias sólidas mientras que el uso de ventanas de tiempo superpuestas permite una frecuencia de muestreo razonablemente alta. Se apreciará que una frecuencia de muestreo más alta aumenta la capacidad de generar huellas digitales precisas para un flujo de video que cambia rápidamente.
Además, como puede verse en la Figura 12, una vez que se establece el flujo, cualquier intervalo de un segundo está cubierto por 4 huellas digitales que corresponden a la longitud de cuatro segundos de la huella digital. Por tanto, en otras realizaciones en las que la longitud del flujo multimedia cubierto por una huella digital FP es distinta de cuatro segundos, entonces un número diferente de huellas digitales cubriría cada intervalo de tiempo. Se cree que la naturaleza superpuesta de las huellas digitales es ventajosa y permite que el proceso de agregación que se describe a continuación en relación con la Figura 11b omita las huellas digitales y aún tenga la confianza de que se ha encontrado una coincidencia entre un flujo multimedia candidato con un flujo de referencia mantenido dentro del almacén 210 ya que los datos para ese período todavía se está igualando.
Es concebible que las coincidencias entre huellas digitales candidatas (CFPn) y de referencia (RFPn) puedan ser falsos positivos. También es concebible que un segmento de 4 segundos del flujo multimedia candidato 219 que debería haber producido una coincidencia (es decir, coincide con un flujo multimedia de referencia) no haya dado como resultado una coincidencia (es decir, un falso negativo). Como se analizó anteriormente, si los datos se relacionan con un flujo multimedia, como un video, entonces es probable que las tramas vecinas del flujo multimedia (por ejemplo, 300a-d) sean similares entre sí y, por lo tanto, es probable que las huellas digitales, ya sean candidatas o de referencia, que se generan a partir de regiones de tiempo similares del flujo multimedia, sean similares entre sí.
Por consiguiente, cada uno de los mecanismos de procesamiento de identificación se dispone además para agregar un número de coincidencias como se describe ahora con referencia a las Figuras 10 y 11b. Como punto de partida y como se describe en relación con la Figura 11a, se busca en el almacén 210 para localizar cada Huella digital de referencia RFPn que coincida con una Huella digital candidata CFPn dada. A continuación, se lleva a cabo un proceso de agregación para proporcionar una identificación más sólida de un flujo multimedia candidato 219 frente a un flujo multimedia de referencia 204a (u otro componente multimedia) para el cual se mantienen las huellas digitales candidatas RFPn dentro del almacén 210. Como se describió anteriormente, una coincidencia entre una única huella digital de referencia RFPn y las huellas digitales candidatas CFPn no identifica necesariamente una coincidencia entre un flujo multimedia candidato 219 y un flujo multimedia de referencia 204a, o entre cualquier otro componente multimedia candidato y componente multimedia de referencia
Como se describe en relación con la Figura 11a, es probable que haya al menos algunas coincidencias falsas con cualquier huella digital candidata CFPn que se esté procesando. En consecuencia, se cree que las realizaciones que implementan el proceso de agregación son ventajosas ya que aumentan la robustez de la identificación del flujo multimedia candidato 219 (u otro componente multimedia) dentro de los flujos multimedia de referencia 204a (u otro componente multimedia) que han generado las huellas digitales de referencia dentro del almacén 210. Esta mayor robustez proporcionada por el proceso de agregación puede permitir, en algunas realizaciones, tomar una huella digital menos robusta del componente multimedia, lo que puede permitir tomar una huella digital más rápidamente. Por lo tanto, el proceso de agregación identifica las regiones 1002 de las huellas digitales candidatas CFPn generadas a partir del flujo multimedia candidato 219 que se asignan a regiones de huellas digitales RFPn generadas a partir del flujo multimedia de referencia 204a y utilizan la relación temporal para aumentar la creencia de que existe una coincidencia entre una huella digital candidata CFPn y una Huella digital de referencia RFPn. Por lo tanto, al observar la Figura 11a se puede ver que existen coincidencias entre las siguientes huellas digitales dentro de la secuencia de huellas digitales que se muestra en la Figura:
CFP2 y RFP5;
CFP3 y RFP6;
CFP4 y RFP7; y
CFP6 y RFPn.
También debe tenerse en cuenta que en el ejemplo dado, no se encontró que CFP5 coincidiera con la huella digital de referencia RFP8.
La figura 11b muestra cómo el proceso de agregación determina que se ha producido una coincidencia entre el flujo multimedia candidato 219 y el flujo multimedia de referencia 204a.
El proceso de agregación busca cualquier región de huellas digitales candidatas CFPn dentro de la secuencia que tenga múltiples coincidencias y cualquier región que pase el proceso de agregación se informa como una coincidencia positiva. En una realización, esto puede significar que el flujo multimedia candidato 219 coincide con un flujo multimedia de referencia 204a-d que está siendo monitoreado por el sistema 200. En otras realizaciones, esto puede significar que un componente multimedia candidato se ha identificado frente a huellas digitales de referencia que representan un componente multimedia de referencia que se mantiene dentro del almacén 210. Como se describió anteriormente, se informa una coincidencia positiva si se mantiene un número mínimo de huellas digitales candidatas en una secuencia para hacer coincidir las huellas digitales con la secuencia de huellas digitales de referencia.
En el contexto del párrafo anterior, una región de huellas digitales puede comprender cualquier número de huellas digitales consecutivas y puede comprender, por ejemplo, sustancialmente 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20, 25, 30 o más huellas digitales consecutivas.
Se dice que una secuencia de huellas digitales candidatas es una coincidencia global, agregada de una secuencia de huellas digitales de referencia si, para el mismo número de huellas digitales de referencia y candidatas (es decir, el mismo período de tiempo) - paso 1004:
1. La secuencia tiene al menos M huellas digitales de longitud, donde M en la realización que se describe se establece en 6;
2. La secuencia comienza con una coincidencia positiva de huella digital candidata/de referencia;
3. No hay ninguna brecha entre coincidencias positivas de candidatas/de referencia superiores a D, en donde la realización actual D se establece en 3. Esta prueba asegura que haya menos de un número predeterminado de brechas dentro de la secuencia de huellas digitales. En la realización que se describe, esto equivale a que es permisible no tener coincidencias entre las huellas digitales candidatas y de referencia de hasta 3 segundos, mientras que un período de 4 segundos daría como resultado una falla para cumplir la prueba de agregación.
Poniendo esto en contexto con la Figura 11b, se observa que CFP2 es el comienzo del bloque 704 de coincidencias (identificado por la marca en CFP2) que se asigna a RFP5. El bloque 704 contiene 9 huellas digitales candidatas (CFP2 a CFP10) que incluyen 7 coincidencias (CFP2; CFP3; CFP4; CFP6; CFP8; CFP9; y CFP10) y dos fallos (CFP5 y CFP7), es decir, brechas entre coincidencias vecinas. Por consiguiente, este bloque 704 cumple con los criterios que se han establecido y se considera que se ha producido la coincidencia entre el flujo multimedia candidato 219 y el flujo multimedia de referencia 204a ya que se han cumplido los puntos 1 a 3 anteriores. Se observará que, por razones de claridad, solo se muestran algunos de los vínculos entre las huellas digitales candidatas (CFP10) y las huellas digitales de referencia FRPn.
Por tanto, en la realización que se describe, el bloque 704 cumple los criterios y se considera que se ha producido una coincidencia entre ese bloque del flujo multimedia candidato 219 y el flujo multimedia de referencia 204a; paso 1006.
Por tanto, en resumen, de lo anterior, el comparador puede utilizar varias características para evaluar si la secuencia de huellas digitales de referencia coincide con la secuencia de huellas digitales candidatas. En la realización que se ha descrito, estas características pueden incluir características sobre las coincidencias entre huellas digitales individuales así como características sobre la comparación de la secuencia de huellas digitales (por ejemplo, las secuencias de cuatro segundos).
Las características de las coincidencias entre huellas digitales individuales pueden incluir al menos una de las siguientes:
- una comparación de la distancia de Hamming entre las 2 huellas digitales.
- una comparación de la calidad de la huella digital candidata con un umbral de calidad.
- una comparación de la calidad de la huella digital de referencia con un umbral de calidad.
Por lo tanto, si alguno de estos no se cumple, se considera que la huella digital candidata no coincide con la huella digital de referencia.
Las características de las coincidencias entre secuencias de huellas digitales pueden incluir al menos una de las siguientes:
- si un número umbral de huellas digitales agregadas coincide en la secuencia.
- si en la secuencia se supera el umbral más grande de "brecha" de huellas digitales que no coinciden.
- si se alcanza un umbral de distancia de Hamming medio a lo largo de la secuencia.
- si se cumple una diferencia de calidad entre las huellas digitales candidatas y las huellas digitales de referencia en toda la secuencia.
Por tanto, si no se alcanza alguno de estos umbrales de nivel de secuencia, la realización determinará que la secuencia candidata no coincide con la secuencia de referencia.
Para intentar evitar que el sistema sea eludido simplemente por manipulaciones del flujo multimedia candidato, el flujo multimedia se refleja tanto horizontal como verticalmente y cada orientación pasa a través del proceso de toma de huellas digitales. Por tanto, en la realización que se describe, cada flujo multimedia candidato pasa por el proceso de toma de huellas digitales 4 veces: no reflejado; reflejado verticalmente; reflejado horizontalmente; y reflejado tanto horizontal como verticalmente.
En otras realizaciones, los componentes multimedia candidatos pueden sufrir otro procesamiento para intentar evitar la anulación del sistema.
Los mecanismos de procesamiento de identificación 216a-d se disponen entonces para informar de cada región que pasa el proceso de agregación como una coincidencia positiva entre una región del flujo multimedia candidato y del flujo multimedia de referencia.
En una realización, el sistema descrito en relación con las Figuras anteriores puede usarse en el proceso descrito en relación con la Figura 13 que se describe ahora.
Como primer paso 1, las huellas digitales de referencia RFPn se generan y almacenan en el almacén 210 como se describió anteriormente. Además, como se describió anteriormente, el sistema puede disponerse para monitorear muchos tipos de datos pero, en la realización que se describe, está dirigido a monitorear varios tipos de componentes multimedia: particularmente uno o más de los siguientes: archivos de video; video transmitido; archivo de audio; archivos de audio transmitidos.
Las realizaciones que monitorean los componentes multimedia distintos de los archivos de video o audio típicamente utilizarán un algoritmo de huellas digitales distinto al basado en una DCT descrita en el presente documento.
En el paso 2, un usuario reproduce una versión inicial de un componente multimedia, por ejemplo, reproduciendo el componente multimedia en una página web o similar. Si esta versión inicial del componente multimedia ha sido procesada por el sistema y tiene una huella digital de referencia RFPn almacenada en el almacén 210, puede ser identificada por el sistema. En la Figura 13, se muestra que el paso 2 se origina en el mismo origen que el paso 1, lo que implica que el componente multimedia inicial, reproducido por el usuario, se origina en la misma fuente que el componente multimedia a partir del cual se genera la huella digital de referencia RFPn. Sin embargo, no es necesario que este sea el caso y, en otras realizaciones, un usuario puede obtener y reproducir el componente multimedia inicial desde cualquier fuente.
En el paso 3, el componente multimedia inicial que está siendo reproducido por un usuario se trata como un componente multimedia candidato y, por lo tanto, tiene las huellas digitales candidatas CF-Pn generadas para él como se describió anteriormente. Se apreciará que pueden generarse huellas digitales candidatas CFPn para el componente multimedia independientemente del origen del componente multimedia. El método se dispone entonces para determinar, como se describió anteriormente y en particular con referencia a las Figuras 11a y 11b, si las huellas digitales candidatas CFPn generadas de este modo corresponden a alguna de las huellas digitales de referencia RFPn almacenadas en el almacén 210; es decir, se realiza una búsqueda de la huella digital candidata contra el almacén de huellas digitales de referencia 210. El experto apreciará que si la secuencia de huellas digitales candidatas CFPn se identifica como correspondiente a una secuencia de huellas digitales de referencia RFPn, se supone que el componente multimedia candidato es el mismo que el componente multimedia de referencia (es decir, el archivo que generó la huella digital de referencia) y así, se ha identificado el componente multimedia candidato. En un cuarto paso del método mostrado en la Figura 13, el circuito de procesamiento que un usuario está usando para reproducir el componente multimedia inicial se dispone para conectarse a una fuente desde la cual se puede obtener una versión mejorada del archivo multimedia inicial. Se apreciará que tal método se puede hacer que funcione con una variedad de dispositivos de procesamiento y, por ejemplo, un usuario puede ver el archivo multimedia inicial en cualquiera de los siguientes: un ordenador personal (tal como una PC con Windows o LINUX u otro sistema operativo; una MAC; un teléfono móvil (tal como un iPhone, un dispositivo Android, un móvil con Windows, un Blackberry o similar); un televisor inteligente; una tableta (tal como un iPad, un Kindle, un Android, o similares), etc.
La fuente del componente multimedia inicial puede entonces disponerse para suministrar una versión del componente multimedia inicial al dispositivo de procesamiento que está utilizando el usuario. La versión del componente multimedia inicial puede tener un valor agregado en comparación con la versión inicialmente reproducida por el usuario.
El valor agregado puede comprender cualquiera de los siguientes: mayor calidad; sonido mejorado; un comentario; subtítulos; diferentes ángulos de cámara; más pistas de audio; escenas ocultas o similares.
El sistema puede disponerse para cargar una cuenta, o cobrar de otro modo, al usuario por el suministro del componente multimedia mejorado; por ejemplo, el componente multimedia con el valor agregado.
Además, es conveniente describir el sistema en relación con el monitoreo de flujos de video como el mecanismo para entregar contenido multimedia a un usuario. Sin embargo, en otras realizaciones, las técnicas descritas pueden aplicarse igualmente a otras formas de componente multimedia. Por ejemplo, los archivos de video, tales como los archivos MP4 y similares, pueden considerarse componentes multimedia. En otras realizaciones alternativas o adicionales, los componentes multimedia pueden ser proporcionados por contenido de audio tal como contenido de audio transmitido o archivos de audio discretos (tales como archivos MP3, la pista de audio de un video o similares). El experto en la materia apreciará cómo modificar los algoritmos de marcas de agua y huellas digitales para procesar datos de audio en lugar de video. Por lo tanto, la referencia a la transmisión en el texto siguiente no debe considerarse como limitada a la transmisión de multimedia y también se pretende que se refiera a los mecanismos de entrega no transmitidos.
Se hace referencia a lo largo de la siguiente descripción a la Figura 16 que ilustra el proceso general que se emplea, por las realizaciones, para monitorear y/o proteger los componentes multimedia.
El sistema 1400 que se muestra en la Figura 14, que puede considerarse como una plataforma de distribución de contenido multimedia, permite tomar las huellas digitales de un flujo multimedia de referencia 204 (es decir, un componente multimedia) para que pueda identificarse como se describe a continuación. En las figuras anteriores se proporcionan más detalles sobre cómo se toma una huella digital.
Además, el sistema 1400 permite que el flujo multimedia de referencia 204 se entregue a una pluralidad de usuarios de manera que la versión entregada a cada uno de los usuarios tenga una marca de agua única incorporada en el mismo. Esta marca de agua única permite que el usuario al que se entregó una versión determinada del flujo multimedia de referencia se identifique como se describe a continuación.
Además, el sistema 1400 permite que una red, que en la realización que se describe es Internet y/o la World Wide Web 1402, sea monitoreada en busca de copias u otras versiones ilícitas (en lo sucesivo 'copias'), del flujo multimedia de referencia 204. La red puede ser o no la misma que la red 251 descrita anteriormente.
Si se detectan copias, el sistema se dispone a determinar, utilizando la marca de agua única, el usuario al que se entregó esa versión del flujo multimedia de referencia. El sistema de monitoreo también se describe con más detalle en relación con las figuras anteriores.
Por lo tanto, con referencia a la Figura 14, se puede ver que el flujo multimedia de referencia 204 pasa a través de un proceso de toma de huellas digitales 1600 proporcionado en un generador de huellas digitales de referencia 202 que genera una huella digital de referencia RFP que se puede utilizar para determinar si un flujo multimedia candidato coincide con un flujo multimedia de referencia 204 monitoreado por el sistema. Las huellas digitales generadas por el generador 202 se mantienen dentro de un almacén 210. Los componentes del sistema de toma de huellas digitales se describen con más detalle en la Figura 2 y los elementos de la Figura 14 descritos con más detalle en la Figura 2 se muestran dentro de la línea de cadena 1403 y las partes similares se denominan con números de referencia similares.
El flujo multimedia con huellas digitales 1406 pasa por un proceso de marca de agua 1407 que genera al menos dos versiones del flujo de huellas digitales 1406: una primera versión con marca de agua 1408; y una segunda versión con marca de agua 1410. Mientras que, en la realización que se describe, solo hay dos versiones con marca de agua del flujo multimedia de referencia, otras realizaciones pueden proporcionar más de dos versiones.
Como se describe a continuación, se aplica una marca de agua a cada trama de la versión con marca de agua 1408, 1410 y se aplica la misma marca de agua a cada trama dentro de la misma versión del flujo multimedia con marca de agua. Las versiones con marca de agua se almacenan luego dentro de un sistema de entrega 1412.
En la realización que se describe, se aplica una marca de agua diferente a las tramas de cada una de la primera versión con marca de agua 1408 y la segunda versión con marca de agua 1410. Al menos algunas realizaciones, incluida la que se describe, usan una marca de agua ortogonal de modo que la marca de agua aplicada al primer flujo con marca de agua sea lo más distinguible posible del segundo flujo con marca de agua. En un ejemplo, se puede usar una secuencia como 1,2,-1,3,-2... para generar la marca de agua para el primer flujo. En la realización que se describe, la secuencia ortogonal -1,-2, 1, -3, 2... se usa entonces para generar la segunda marca de agua. En otras realizaciones, es posible que sólo el segundo flujo con marca de agua 1410 tenga una marca de agua aplicada a las tramas de la misma y el primer flujo con marca de agua 1406 siga siendo una copia del flujo multimedia con huellas digitales 1406 sin que se le aplique ninguna marca de agua. Las realizaciones que aplican marcas de agua solo a algunos de los flujos multimedia pueden ser ventajosas en vista del procesamiento reducido requerido.
Para incrustar cada marca de agua, se procesa cada trama de la primera 1408 y la segunda 1410 versiones con marca de agua. Cada trama se transforma en un espacio de bloque de DCT (Transformada de coseno discreta), de manera que se aplica una DCT a cada bloque de píxeles NxN en la trama de entrada, donde N es 8 en la realización descrita. En otras realizaciones, N puede ser cualquier otro valor, pero se cree que N = 8 proporciona una marca de agua relativamente robusta sin presentar una carga demasiado grande para el procesador.
Se genera una secuencia pseudoaleatoria de coeficientes de marca de agua, y los coeficientes DCT en cada bloque DCT son modificados por esta secuencia pseudoaleatoria. La cantidad de cambio de cada componente está ponderada por la fuerza de DCT, para reducir los artefactos visuales que de otro modo podrían ser evidentes para un espectador de la trama. Luego, se aplica una DCT inversa a cada bloque para recuperar la versión con marca de agua de la imagen original. Cada trama de entrada (sin marca de agua) se procesará para generar una o más tramas de salida (con marca de agua), una por símbolo de marca de agua, donde cada símbolo de marca de agua tiene una secuencia pseudoaleatoria de coeficientes diferente. Aquí se apreciará que, en la realización descrita, se aplica un símbolo de marca de agua diferente a cada una de la primera 1408 y segunda 1410 versiones con marca de agua, pero que se aplica el mismo símbolo a cada trama de esas versiones.
Es concebible que, en algunas realizaciones, algunas tramas dentro del contenido multimedia no tengan marca de agua, de modo que todas las demás, cada enésima trama, o similares, tengan marcas de agua. Sin embargo, se cree que tales realizaciones son menos robustas y llevaría más tiempo recuperar la marca de agua de cualquier flujo multimedia candidato, ya que solo se procesa cada enésima trama, lo que proporciona menos información de la que recuperar la marca de agua.
DCT-basedWatermark Recovering without Resorting to the Uncorrupted Original Image; por A. Piva, M. Barni, F. Bartolini, V. Cappellini; Dipartimento di Ingegneria Elettronica; Universit'a di Firenze via S. Marta 3, 50139, Firenze, Italia describe técnicas similares para incrustar marcas de agua y el experto debe leer este documento para comprender cómo incrustar una marca de agua de modo que pueda recuperarse sin hacer referencia a la imagen original.
A Survey of Digital Image Watermarking Techniques", Vidyasagar M. Potdar, Song Han, Elizabeth Chang también puede ser útil para los expertos.
La trama con marca de agua se procesa aún más para reducir los artefactos visuales asociados con la marca de agua. Se calcula una máscara espacial, donde el valor de la máscara representa la tolerancia de1HVS (Sistema Visual Humano) a pequeños cambios en el valor de cada píxel en la trama. Por ejemplo, el valor de la máscara en cada píxel se puede establecer en la variación de los 8 píxeles que rodean inmediatamente. La trama con marca de agua enmascarada viene dada por la suma de la trama original y la trama con marca de agua, ponderada por la máscara HVS, de modo que la marca de agua está fuertemente incrustada en las regiones de la versión donde el HVS es menos sensible a las perturbaciones. Se aplica la misma máscara a cada trama con marca de agua, para producir una pluralidad de tramas con marca de agua enmascarados (dos en la realización actual).
En la realización que se describe, el proceso de marca de agua 1407 genera adicionalmente metadatos que contienen descriptores de características clave dentro de las tramas del flujo multimedia con marca de agua, características que se utilizan para alinear temporal y espacialmente los flujos multimedia candidatos para recuperar cualquier marca de agua en estos. Con el fin de reducir la complejidad computacional y los requisitos de almacenamiento, las características no se extraen para cada trama y, en esta realización, las características se extraen para cada 10ma trama. Otras realizaciones pueden almacenar características para más tramas (es decir, para tramas de menos de cada 10 tramas) o para menos tramas (es decir, para tramas de más de cada 10 tramas). Las características extraídas en la realización actual están en forma de descriptores de características ORB (Oriented FAST y Rotated BRIEF), que permiten reconstituir un flujo multimedia candidato reescalado y/o rotado a las dimensiones originales durante la extracción de la marca de agua.
Es conveniente describir el sistema de entrega 1412 como un protocolo de transmisión adaptativo (como HTTP Live Streaming (HLS); transmisión HTTP adaptativa 3GPP; Microsoft™ Smooth Streaming; transmisión dinámica adaptable a través de HTTP (DASH)) pero en otras realizaciones pueden usarse sistemas distintos de los protocolos de transmisión adaptativa. Algunas realizaciones del sistema pueden disponerse para procesar flujos multimedia que no corresponden a un formato conocido. Algunas realizaciones del sistema pueden volver a combinar archivos de audio y video de flujos/archivos separados. Tal funcionalidad surge típicamente del procesamiento de la información de encabezado de las diversas capas del tráfico de red como se describe a continuación.
En un protocolo de transmisión adaptable, cada versión 1408, 1410 de los contenidos multimedia de referencia con marca de agua se codifica de tal manera que se mantienen múltiples versiones y cada versión es adecuada para diferentes velocidades de bits, diferentes tamaños de tramas, etc. Sin embargo, la marca de agua es tal que sobrevivirá la codificación de los flujos con marca de agua 1408, 1410. La figura muestra un depósito 1414, 1416 respectivamente para cada una de la primera y segunda versiones con marca de agua. El experto en la materia apreciará que, si bien es conveniente mostrar repositorios separados, no es necesario proporcionar repositorios separados. Por tanto, en otras realizaciones puede haber más o menos repositorios.
El experto en la materia apreciará que para un protocolo de transmisión adaptativo, el flujo multimedia se entrega, no como un flujo continuo, sino como una serie de segmentos de duración limitada (por ejemplo, bloques) generados a partir del flujo multimedia original. Por lo tanto, cada una de las múltiples versiones de los flujos multimedia contenidos dentro de los repositorios 1414, 1416 comprende una serie de segmentos de duración limitada. En la realización que se describe, cada uno de los segmentos de duración determinada es típicamente de 5 a 10 segundos de duración. Todas las tramas dentro de un segmento de duración limitada determinado tendrán la misma marca de agua aplicada. Sin embargo, es concebible que al menos algunas realizaciones utilicen una longitud para cada segmento de duración limitada de menos de 5 segundos, que es el tiempo de segmento de duración limitada mínimo sugerido para algunos protocolos de transmisión adaptativos para garantizar que no haya demasiado tráfico de red.
Las realizaciones que no usan protocolos de transmisión adaptativos, en particular, pero no exclusivamente, pueden usar segmentos de duración limitada de menos de 5 segundos y, por ejemplo, pueden usar segmentos de duración limitada en el rango de 0,1 segundos a 15 segundos. El experto en la materia apreciará que cuanto más corto sea el segmento de duración limitada, más rápidamente se puede extraer una marca de agua del contenido multimedia/flujo multimedia.
Cada segmento de duración limitada tendrá una hora de inicio y una hora de finalización en relación con el flujo multimedia original, es decir, de referencia. Por ejemplo, en una realización en la que cada segmento de duración limitada tiene una duración de 5 segundos, el tercer segmento de duración limitada comenzará a los 10 segundos en la secuencia y terminará a los 15 segundos en la secuencia. Tanto la hora de inicio como la hora de finalización pueden considerarse información de tiempo.
El sistema 1400 se dispone para almacenar la información de tiempo en relación con cada uno de los flujos multimedia contenidos en los repositorios 1414, 1416. En algunas realizaciones, la información de tiempo se mantiene dentro del almacén 210, pero no es necesario que este sea el caso.
Se dispone un proceso de entrega 1418 para atender la solicitud de un flujo multimedia desde un dispositivo cliente. En la Figura se muestran tres de estos dispositivos cliente: un teléfono móvil 1420 (tal como un iPhone™; un dispositivo Android™; un móvil Windows™ o un Blackberry™); un ordenador 1422 (tal como una PC con Windows™, LINUX o similar; un ordenador Apple; o similar) y una tableta 1424 (tal como un iPad™; un Kindle™; una tableta Android™ o similar). El experto apreciará que otros dispositivos tales como televisores; relojes; o similares también pueden formar dispositivos cliente. Como se describe a continuación, el proceso de entrega 1418 se dispone para generar una versión única del flujo multimedia para cada uno de los dispositivos cliente 1420, 1422, 1424, cuya versión única se dispone para identificar el dispositivo cliente al que se entregó ese flujo multimedia. Por lo tanto, cada dispositivo cliente 1420, 1422, 1424 puede considerarse como un dispositivo objetivo al que se puede entregar contenido multimedia.
Específicamente, un usuario 1420-1424 solicita un flujo multimedia (es decir, un componente multimedia) del sistema 1400. Según los protocolos de transmisión adaptativos (como HLS), el cliente, siguiendo la solicitud del flujo multimedia, recibe una lista de texto de URL (localizadores uniformes de recursos) que genera el sistema 1602. Estas URL son para los segmentos de video de duración limitada que componen una versión del flujo multimedia solicitado. Como se analizó anteriormente, cada uno de los repositorios 1414, 1416 contiene múltiples copias del flujo multimedia con el fin de que diferentes condiciones de canal, dispositivos de destino, etc. puedan utilizar el flujo multimedia.
Se apreciará que en otras realizaciones, un usuario puede solicitar un componente multimedia que no sea un flujo multimedia. Por ejemplo, un usuario podría descargar un archivo que proporcione contenido multimedia (por ejemplo, un archivo de video o un archivo de audio).
Además, el sistema 1400 determina la identidad del usuario 1420-1424 que realizó la solicitud del flujo multimedia. Por ejemplo, es probable que el usuario tenga una cuenta con el proveedor del flujo multimedia al que está realizando la solicitud y la identidad del usuario puede obtenerse de los detalles de la cuenta de ese usuario 1420­ 1424. En otras realizaciones, el usuario 1420-1424 puede necesitar ingresar un identificador, etc. cuando solicitan el flujo multimedia.
El sistema de entrega 1412 se dispone entonces para generar una lista de reproducción para ese usuario 1420-1424 para esa solicitud. Por lo general, esta lista de reproducción será única para esa solicitud particular del flujo multimedia. Las URL que componen la lista de reproducción apuntan a segmentos de duración limitada en cada uno de los repositorios 1414, 1416 dentro del sistema de entrega 1412 de manera que un conjunto de segmentos delimitados en el tiempo que cuando se unen por el protocolo generan el flujo multimedia. Como tal, cuando el navegador u otro software utilizado por el usuario 1420-1424 accede a la lista de URL, se entregan segmentos con límite de tiempo que se generan a partir de cada una de la primera 1408 y segunda 1410 versiones con marca de agua del flujo multimedia. Debido a que la lista de URL ha sido generada por el sistema específicamente para cada uno de los usuarios 1420-1424, cada usuario recibe, en la realización que se describe, una combinación única de segmentos de duración limitada para formar el flujo multimedia entregado que se le entrega. Tales flujos multimedia entregados están ejemplificados por las líneas 1419a, 1419b, 1419c en la Figura 14.
En la realización que se describe, el sistema de entrega 1412 usa un número binario de 32 bits para generar la secuencia de URL. En la realización que se describe, se puede pensar que la elección del símbolo de marca de agua dentro de los segmentos de duración limitada del flujo multimedia enviado a un usuario 1420-1424 proporciona un cero o uno de un número binario. Aquí se apreciará que cada uno del primer 1408 y segundo 1410 flujos con marca de agua tiene un símbolo diferente aplicado a estos. Por ejemplo, la presencia de un segmento delimitado en el tiempo de la primera versión con marca de agua 1408 da un cero y la presencia de un segmento delimitado en el tiempo de la segunda versión con marca de agua 1410 da un uno. Por lo tanto, en la realización que se describe, se requieren 32 segmentos de tiempo limitado para identificar al usuario 1420-1424 a quien se transmitió el flujo multimedia. Por tanto, el orden en el que se entregan los segmentos de duración limitada proporciona un código de identidad que se ha asignado a un usuario determinado.
Por tanto, en la realización que se está describiendo, se necesitan 32 segmentos de duración limitada para proporcionar el código de identidad que se ha insertado en el flujo multimedia entregado 1419. Por lo tanto, suponiendo que un segmento de duración limitada tiene una duración de 5 segundos, se necesitan 2 minutos y 40 segundos de flujo multimedia para recuperar el código de identidad. Por lo tanto, la longitud de los segmentos de duración limitada y el número de bits que codifican el código de identidad son un equilibrio entre proporcionar una identificación robusta, permitir indexar una gran población de usuarios y permitir que el código de identidad se recupere rápidamente de un flujo multimedia.
El experto en la materia apreciará que otras realizaciones pueden utilizar un número diferente de bits. Además, otras realizaciones pueden usar bases numéricas distintas de la base 2 para la generación del código y tales realizaciones comprenderían más de dos versiones de los flujos multimedia con marca de agua: para generar un número de base 3 se requeriría la versión 3 del flujo multimedia con marca de agua, etc.
A medida que el contenido multimedia se entrega a los dispositivos cliente 1420-1424, un sistema de monitoreo 218 monitorea 1604 la red 1402/251 en busca de contenidos multimedia que tengan una huella digital almacenada dentro del almacén 210. Si el sistema de monitoreo 218 detecta, en la red, copias de un flujo multimedia de referencia 204 que tienen una huella digital reconocida (es decir, una huella digital almacenada en el almacén 210), entonces un controlador 1426 se dispone para identificar, usando cualquier marca de agua dentro del flujo multimedia, el usuario 1420-1424 al que se envió el contenido multimedia. El controlador 1426 se dispone entonces, en algunas realizaciones, para detener la entrega del flujo multimedia entregado a ese usuario 1420-1424 controlando 1428 el proceso de entrega 1418.
Aunque solo se muestra un generador de huellas digitales 202 en la Figura 1, el sistema de huellas digitales 200 típicamente tendrá varios generadores de huellas digitales de referencia 202a, 202b, 202c, 202d. La Figura 2 muestra cuatro generadores de huellas digitales 202a-d, pero esto es meramente indicativo y otras realizaciones pueden contener cualquier número.
Con referencia a los sistemas descritos anteriormente, luego los flujos multimedia candidatos proporcionan contenido multimedia candidato a decodificar del que se realiza un intento de extraer una marca de agua como se describe a continuación.
El proceso de detección de huellas digitales 1606 como se describe en relación con la figura anterior identifica los flujos multimedia candidatos que se cree que coinciden con los flujos multimedia de referencia. Estos flujos multimedia candidatos identificados pueden considerarse como flujos multimedia coincidentes. El siguiente proceso se realiza en flujos multimedia coincidentes para determinar si ese flujo lleva una marca de agua. Aquí se apreciará que el sistema de monitoreo descrito anteriormente puede usarse para monitorear flujos multimedia tanto con marca de agua como sin marca de agua.
La salida del proceso anterior proporciona lo que puede considerarse una sincronización temporal aproximada entre el flujo multimedia de referencia y el flujo multimedia candidato. En este caso, puede pensarse que la sincronización temporal identifica qué tan remota está una porción del flujo multimedia candidato desde el comienzo del flujo multimedia de referencia original. La referencia de porción aquí podría ser una trama de un flujo de video u otra porción. Tal alineación temporal es útil en realizaciones que detectan marcas de agua, ya que se apreciará que se aplican diferentes marcas de agua a segmentos de 5 segundos delimitados en el tiempo del flujo multimedia. Por tanto, para identificar el código de identidad proporcionado por la secuencia de marca de agua, el sistema identifica al menos los puntos de inicio y finalización de los segmentos de duración limitada dentro de los flujos multimedia coincidentes.
La alineación del flujo multimedia coincidente 1500 contra un flujo multimedia de referencia 204 se muestra en la Figura 15a y 15b. La figura 15a muestra un flujo multimedia coincidente 1500 que está temporalmente alineado con el flujo multimedia de referencia 204 y se puede ver que los segmentos de duración limitada, cada uno representado por un bloque, tal como 1502a, 1502b, 1504a, 1504b. Como en la Figura 14I, el sombreado de cada bloque muestra la marca de agua que se ha aplicado a ese bloque. Se apreciará que el flujo multimedia candidato 1500 no puede dividirse en segmentos de duración limitada del flujo multimedia 204 original, de referencia, cuyos segmentos de duración limitada probablemente se hayan eliminado durante cualquier copia, modificación, etc. de uno de los flujos multimedia entregados 1419. Sin embargo, las regiones con marca de agua probablemente retendrán la sincronización del flujo multimedia con marca de agua y, por lo tanto, en la realización que se describe, aparecerán en bloques de 5 segundos dentro de un flujo multimedia candidato 1500.
La figura 15b muestra un flujo multimedia coincidente 1506 que no está alineado temporalmente con su flujo multimedia de referencia 204 asociado. Como se analizó anteriormente, la alineación temporal significa que el sistema no ha identificado porciones del flujo multimedia coincidente con respecto a un punto, típicamente el comienzo, del flujo multimedia de referencia 204. Como tal, puede verse que el segmento 1502b no está alineado con el bloque 1502a y el bloque 1504a no está alineado con el bloque 1504b. Por tanto, en el ejemplo de la Figura 15b, si se comparan las marcas de agua, la comparación probablemente fallaría ya que el sistema ha identificado incorrectamente los segmentos de duración limitada con respecto al inicio del flujo multimedia de referencia 204. En el caso de un flujo multimedia de video, la salida del proceso de toma de huellas digitales anterior también identificará si el flujo multimedia coincidente se ha invertido horizontal y/o verticalmente. Las realizaciones pueden procesar el flujo multimedia coincidente para revertir cualquier cambio detectado antes de detectar la marca de agua dentro del flujo multimedia coincidente.
Es concebible que la alineación temporal del flujo multimedia coincidente del proceso de toma de huellas digitales no sea suficiente. Como tal, al menos algunas realizaciones, incluida la que se describe, realizan una alineación adicional. En particular, se apreciará que la tasa de cambio en algunos flujos multimedia puede ser bastante baja y tales flujos multimedia, especialmente, pueden necesitar una alineación más precisa. Se apreciará que cuanto más precisos puedan alinearse los puntos de inicio y final de los segmentos de duración limitada dentro de un flujo multimedia coincidente con el flujo multimedia de referencia, entonces es más probable que el proceso de extracción de marcas de agua descrito a continuación dé el resultado correcto.
La realización que se describe extrae descriptores de características del flujo multimedia coincidente del mismo formato en el flujo multimedia de referencia 204 original (descriptores de características ORB). A continuación, se realiza un registro de video entre las características extraídas del flujo multimedia coincidente y el flujo multimedia de referencia 204 con el que se ha encontrado una coincidencia. El registro de video identifica una sincronización de tiempo más fina entre el flujo multimedia coincidente 1500 y el flujo multimedia de referencia así como cualquier transformación geométrica (por ejemplo, rotación, escalado y/o traducción) entre el flujo multimedia coincidente 1500 y el flujo multimedia de referencia 204. El flujo multimedia coincidente 1500 se transforma para revertir cualquier transformación de este tipo, de modo que tenga la misma geometría que el flujo multimedia de referencia 204 original.
A continuación, el proceso identifica las tramas dentro de cada uno de los segmentos de duración limitada (por ejemplo, 1502b, 1504b) y procesa cada una de esas tramas para extraer las marcas de agua que se encuentran dentro de cada trama.
En la realización que se describe, hay dos posibles marcas de agua que podrían haberse aplicado a cualquier trama dada. En otras realizaciones, es posible que se pueda aplicar un número diferente de símbolos de marca de agua, o simplemente la presencia o ausencia de una marca de agua. Como tal, el proceso asigna una creencia a cada una de las posibles marcas de agua y determina que la trama que se está procesando contiene la marca de agua en la que se asigna la creencia más alta.
Para extraer la marca de agua, la trama se transforma en un espacio DCT de bloque como se describe en el proceso de incrustación de la marca de agua. La puntuación de cada bloque DCT viene dada por la correlación sumada entre los componentes DCT y las secuencias aleatorias correspondientes a cada código de marca de agua candidato (como se describió anteriormente). Los puntajes generales para la trama vienen dados por la suma de los puntajes de los bloques DCT individuales.
A continuación, se asigna un valor de marca de agua a cada uno de los segmentos de duración limitada. En la realización que se describe, esta determinación comprende determinar cuál de los dos símbolos de marca de agua tiene la puntuación más alta en cada segmento de duración limitada. Esta determinación se realiza sobre una base de puntuación simple: el símbolo de marca de agua con la puntuación más alta sumada a las tramas que componen el segmento de duración limitada se toma para representar el valor de la marca de agua en ese segmento.
A continuación, se determina 1608 el código de identidad que se ha codificado en el flujo multimedia entregado, del cual se ha derivado el flujo coincidente. Se apreciará desde arriba que el código de identidad está codificado, en esta realización, en 32 segmentos consecutivos de duración limitada. Como tal, la realización coteja las marcas de agua de 32 segmentos consecutivos de duración limitada. La información de tiempo que el sistema ha almacenado se utiliza para ayudar a garantizar que los puntos de inicio y finalización de la secuencia de segmentos de duración limitada se identifiquen correctamente. El resultado de este proceso es la generación de un número de 32 bits proporcionado por la marca de agua que se ha aplicado a los segmentos de duración limitada del flujo multimedia coincidente. En otras realizaciones, es igualmente posible cualquier otra longitud de número.
Finalmente, el número de 32 bits se compara con códigos de identidad válidos que se han asignado a los usuarios 1420-1424. Si el número de 32 bits corresponde a un código válido, entonces la extracción del código de identidad ha sido exitosa, mientras que si este no es el caso, la extracción del código de identidad ha fallado.
Algunas realizaciones pueden disponerse para extraer continuamente códigos de identidad de un flujo multimedia candidato, o al menos realizar extracciones múltiples del código de identidad de un flujo multimedia candidato, y posteriormente promediar o combinar de otro modo los códigos de identidad. Tales realizaciones pueden ayudar a aumentar la creencia en el código de identidad que se extrae del flujo multimedia coincidente.
Una vez que se ha extraído un código de identidad válido de un flujo multimedia coincidente, se determina la identidad del usuario al que se envió el flujo multimedia entregado 1419a-c, típicamente accediendo a una base de datos de usuarios que contiene el código de identidad asignado a cada uno de ellos. Las realizaciones del sistema pueden entonces tomar la acción apropiada, incluyendo pero sin limitarse a terminar automáticamente el flujo multimedia entregado al usuario identificado (por ejemplo, el usuario 1420).
El proceso de determinar la identidad de un usuario (por ejemplo, el usuario 1420) a partir de un flujo multimedia coincidente se realiza en tiempo real de manera que es posible terminar el flujo multimedia mientras se transmite el flujo multimedia entregado. En la realización que se describe, se apreciará que el proceso de identificación de huellas digitales realizado en el flujo multimedia candidato 219 toma el orden de 1 minuto. Además, el proceso de extracción de la marca de agua tomará el orden de 5 minutos (32 bits, con 10 segundos por bit). Por lo tanto, aquí, en tiempo real, puede significar en el orden de 5 a 10 minutos. Por ejemplo, en tiempo real puede significar sustancialmente 8 minutos.
Como se describió anteriormente, un número de 32 bits se codifica en los flujos entregados a través de la primera y segunda marcas de agua para proporcionar un código de identidad, típicamente, único en cada uno de los flujos entregados. En algunas realizaciones, al menos algunos de los bits del código incrustado se utilizan para proporcionar bits de encabezado y/o de verificación. Como tal, es posible que el código de identidad no sea un número de 32 bits. El experto en la materia apreciará que el número de bits usados para codificar información en los flujos multimedia entregados 1419a-c puede variar entre realizaciones.
En algunas realizaciones, los bits de verificación pueden proporcionar un código de corrección de errores. Por ejemplo, los bits de verificación pueden permitir cualquiera de los siguientes códigos: un Código Hamming; un código Reed-Solomon; una verificación de paridad de baja densidad; o similar. El experto en la materia apreciará que el uso de dichos códigos aumentará la robustez, para las realizaciones que usan el código, con el que el código de identidad puede extraerse del flujo multimedia coincidente.
En algunas realizaciones, el generador de huellas digitales de referencia puede denominarse aparato de monitoreo. En algunas realizaciones, los mecanismos de procesamiento de identificación 216a-d pueden considerarse como un nodo.
En lo anterior, el o cada componente multimedia puede considerarse como un conjunto de datos.
Como lo apreciará el experto en la materia, las conexiones 208a-d, 212, 214a-d, o cualquier otra de las conexiones de red a las que se hace referencia en este documento puede ser cualquier forma de conexión de red inalámbrica o por cable. Típicamente, estas conexiones se utilizarán en protocolos TCP/IP, pero no es necesario que sea así.

Claims (16)

  1. REIVINDICACIONES
    i. Un sistema dispuesto para monitorear una red (251) y para obtener flujos multimedia candidatos (219) de la misma y que se dispone además para determinar si un flujo multimedia candidato (219) coincide con un flujo multimedia de referencia (204), el sistema que comprende:
    i) al menos un generador de huellas digitales de referencia (202) dispuesto para recibir un flujo multimedia de referencia (204) y generar una o más huellas digitales de referencia, registrando las características del flujo multimedia de referencia (204) a partir del mismo;
    ii) un almacén de huellas digitales de referencia (210) al que se añade la o cada huella digital de referencia generada por el generador de huellas digitales (202) a través de una conexión (212) entre estas; iii) al menos un mecanismo de procesamiento de monitoreo (216) dispuesto para monitorear la red y capturar uno o más flujos multimedia candidatos (219) para ser procesados por el sistema; y
    iv) al menos un generador de huellas digitales candidatas, dispuesto para procesar el o cada flujo multimedia candidato (219) capturado por el mecanismo de procesamiento de monitoreo (216) para generar una o más huellas digitales candidatas, registrando una característica del flujo multimedia candidato (219) y usar el mismo método para generar la huella digital que se usa para generar la huella digital de referencia (210), a partir de la misma; y
    en donde el sistema se dispone de manera que las huellas digitales candidatas generadas por el generador de huellas digitales candidatas (216) se comparan con las huellas digitales de referencia almacenadas dentro del almacén de huellas digitales (210) para determinar si una huella digital de referencia contenida dentro del almacén es sustancialmente la misma que la huella digital candidata para identificar si el flujo multimedia candidato que generó la huella digital candidata es el mismo, o al menos sustancialmente el mismo, como al menos una referencia y caracterizado porque
    el mecanismo de procesamiento de monitoreo comprende un primer (550) y segundo (552) mecanismos de procesamiento, el primer mecanismo de procesamiento (550) se dispone para iniciar uno o más flujos multimedia candidatos y actuar como un servidor multimedia para retransmitir el flujo multimedia candidato al segundo mecanismo de procesamiento (552) y disponer el mecanismo de procesamiento de monitoreo (216) para inspeccionar datos dentro del flujo retransmitido para identificar la fuente desde la cual se origina el flujo multimedia candidato (219).
  2. 2. Un sistema de acuerdo con la reivindicación 2, en donde el generador de huellas digitales se dispone para generar una huella digital espacio-temporal y en donde, opcionalmente, el generador de huellas digitales se dispone para usar una Transformación de Coseno Discreta, DCT, y típicamente una DCT 3D, para generar cada huella digital.
  3. 3. Un sistema de acuerdo con la reivindicación 1 o la reivindicación 2, en donde el generador de huellas digitales se dispone para extraer los componentes de frecuencia de un bloque de flujos multimedia de manera que la huella digital comprenda coeficientes que representan los componentes de frecuencia de ese bloque de flujo multimedia.
  4. 4. Un sistema de acuerdo con cualquier reivindicación anterior en donde el generador de huellas digitales de referencia (202) y el generador de huellas digitales candidato se disponen respectivamente para generar una secuencia de huellas digitales de referencia a partir de un flujo multimedia de referencia (204) y una secuencia de huellas digitales de referencia de un flujo multimedia candidato (219).
  5. 5. Un sistema de acuerdo con cualquier reivindicación anterior en donde el sistema comprende una pluralidad de mecanismos de procesamiento de identificación (216) cada uno de los cuales se dispone para replicar el almacenamiento de huellas digitales de referencia (210) en el mismo y que además se disponen para comparar huellas digitales candidatas con la copia del almacén de huellas digitales de referencia almacenadas en el mismo y en donde, opcionalmente, el sistema se dispone de manera que a cada mecanismo de procesamiento de identificación (216) se le asigne una o más huellas digitales candidatas y se dispone para comparar la o cada huella digital candidata asignada con el almacenamiento de huellas digitales de referencia.
  6. 6. Un sistema de acuerdo con la reivindicación 5, que depende de la reivindicación 3, en donde el o cada mecanismo de procesamiento de identificación (216) se dispone para comparar secuencias de huellas digitales candidatas con la copia del almacén de huellas digitales de referencia contenida en las mismas.
  7. 7. Un sistema de acuerdo con cualquiera de las reivindicaciones 1 a 6, en donde se proporciona uno o más de los siguientes:
    a) el generador de huellas digitales candidatas y/o el generador de huellas digitales de referencia (202) se disponen para generar huellas digitales en tiempo real, o al menos en tiempo sustancialmente real; y b) el sistema comprende un mecanismo de procesamiento adaptable dispuesto para realizar al menos uno de los siguientes:
    i) recopilar metadatos relacionados con flujos multimedia candidatos (219); y
    ii) capturar flujos multimedia candidatos (219).
  8. 8. Un sistema de acuerdo con la reivindicación 7, en donde el sistema se dispone para controlar la funcionalidad del o de cada uno de los mecanismos de procesamiento adaptables en un momento dado.
  9. 9. Un sistema de acuerdo con la reivindicación 7 u 8, que depende, directa o indirectamente, de la reivindicación 5 en el que los mecanismos de procesamiento adaptables son proporcionados por los mecanismos de procesamiento de identificación (216).
  10. 10. Un método implementado por ordenador para monitorear una red (251) para obtener flujos multimedia candidatos (219) de la misma y que se dispone además para determinar si un flujo multimedia candidato coincide con un flujo multimedia de referencia (204), el método que comprende,
    generar una o más huellas digitales candidatas representativas del flujo multimedia candidato (219), donde la huella digital registra una característica del flujo multimedia candidato (219), en donde generar la una o más huellas digitales candidatas comprende
    utilizar un primer mecanismo de procesamiento (550) para iniciar el uno o más flujos multimedia candidatos y actuar como un servidor multimedia para retransmitir el flujo multimedia candidato a un segundo mecanismo de procesamiento (552) e inspeccionar los datos dentro del flujo retransmitido para identificar la fuente desde la cual se origina el flujo multimedia candidato; en donde
    se compara la una o más huellas digitales candidatas con un almacén de huellas digitales de referencia (210), que registra una característica de una huella digital de referencia utilizando el mismo método para generar la huella digital que se utiliza para generar la huella digital candidata en donde cada una de las huellas digitales de referencia es representativa de un flujo multimedia de referencia;
    monitorear una red (251) y capturar uno o más flujos multimedia candidatos (219) para su procesamiento; y usar la comparación para determinar si el flujo multimedia candidato (219) es el mismo, o al menos sustancialmente el mismo, que un flujo multimedia de referencia (204) para el que se mantiene una huella digital dentro del almacén (210) de huellas digitales de referencia; y
    si la comparación determina que el flujo multimedia candidato es el mismo, o al menos sustancialmente el mismo, que el flujo multimedia de referencia (202) identificar el flujo multimedia candidato (219) como el flujo multimedia de referencia (202).
  11. 11. Un método de acuerdo con la reivindicación 10, que utiliza una pluralidad de mecanismos de procesamiento de identificación (216), cada uno de los cuales replica un almacén de huellas digitales de referencia (210) en el mismo y que compara las huellas digitales candidatas con la copia del almacén de huellas digitales de referencia contenida allí y en donde opcionalmente el método asigna una o más huellas digitales candidatas y compara la o cada huella digital candidata asignada con el almacén de huellas digitales de referencia.
  12. 12. Un método de acuerdo con la reivindicación 11, en donde el o cada mecanismo de procesamiento de identificación (216) compara secuencias de huellas digitales candidatas con la copia del almacén de huellas digitales de referencia contenida en las mismas.
  13. 13. Un método de acuerdo con cualquiera de las reivindicaciones 10 a 12, en el que se proporciona uno o más de los siguientes:
    a) el generador de huellas digitales candidato y/o el generador de huellas digitales de referencia (202) generan huellas digitales en tiempo real, o al menos en tiempo sustancialmente real;
    b) el mecanismo de procesamiento adaptable realiza al menos uno de los siguientes:
    i) recopilar metadatos relacionados con flujos multimedia candidatos (219); y
    ii) capturar flujos multimedia candidatos (219)
    c) la huella digital es una huella digital espacio-temporal;
    d) la huella digital se genera mediante una Transformación de Coseno Discreta, DCT y, por lo general, una DCT 3D:
    y
    e) la huella digital comprende coeficientes que representan los componentes de frecuencia de un bloque de flujo multimedia que se han extraído de ese bloque.
  14. 14. Un medio no transitorio legible por máquina que almacena un código de programa informático ejecutable para monitorear una red (251) para obtener flujos multimedia candidatos (219) de la misma y que se dispone además para determinar si un flujo multimedia candidato (219) coincide con un flujo multimedia de referencia (202), el código de programa ejecutable para realizar los pasos que comprende:
    generar una o más huellas digitales candidatas representativas del flujo multimedia candidato (219) donde la huella digital registra una característica del flujo multimedia candidato (219), en donde generar una o más huellas digitales candidatas comprende
    usar un primer mecanismo de procesamiento (550) para iniciar el uno o más flujos multimedia candidatos y actuar como un servidor multimedia para retransmitir el flujo multimedia candidato a un segundo mecanismo de procesamiento (552) e inspeccionar los datos dentro del flujo retransmitido para identificar la fuente de la que se origina el flujo multimedia candidato; en donde;
    comparar la una o más huellas digitales candidatas con un almacén de huellas digitales de referencia (210) que registra una característica de una huella digital de referencia utilizando el mismo método para generar la huella digital que se utiliza para generar la huella digital candidata en donde cada una de las huellas digitales de referencia es representativa de un flujo multimedia de referencia;
    monitorear una red (251) y capturar uno o más flujos multimedia candidatos (219) para el procesamiento; y usar la comparación para determinar si el flujo multimedia candidato (219) es el mismo, o al menos sustancialmente el mismo, que un flujo multimedia de referencia (204) para el que se mantiene una huella digital dentro del almacén (210) de huellas digitales de referencia; y
    si la comparación determina que el flujo multimedia candidato es el mismo, o al menos sustancialmente el mismo, que el flujo multimedia de referencia (202) identificar el flujo multimedia candidato (219) como el flujo multimedia de referencia (202).
  15. 15. Un medio de acuerdo con la reivindicación 14 que contiene instrucciones para provocar una pluralidad de mecanismos de procesamiento de identificación (216), cada uno de los cuales replica un almacén (210) de huellas digitales de referencia en el mismo y que compara las huellas digitales candidatas con la copia del almacén de huellas digitales de referencia contenidas en el mismo y en donde opcionalmente, las instrucciones hacen que se asignen una o más huellas digitales candidatas a un mecanismo de procesamiento de identificación y compara la o cada huella digital candidata asignada con el almacén de huellas digitales de referencia.
  16. 16. Un medio de acuerdo con la reivindicación 15, que contiene instrucciones que provocan uno o más de los siguientes:
    a) el generador de huellas digitales candidatas y/o el generador de huellas digitales de referencia (202) generan huellas digitales en tiempo real, o al menos en tiempo sustancialmente real; y
    b) el mecanismo de procesamiento adaptable realiza al menos uno de los siguientes:
    i) recopilar metadatos relacionados con flujos multimedia candidatos (219); y
    ii) capturar flujos multimedia candidatos (219)
    c) la huella digital es una huella digital espacio-temporal;
    d) la huella digital se genera mediante una Transformación de Coseno Discreta, DCT y, por lo general, una DCT 3D; y
    e) la huella digital comprende coeficientes que representan los componentes de frecuencia de un bloque de flujo multimedia que se han extraído de ese bloque.
ES14806347T 2013-11-08 2014-11-07 Identificación de componentes multimedia Active ES2879628T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
GB201319783A GB201319783D0 (en) 2013-11-08 2013-11-08 Fingerprinting
GB201401130A GB201401130D0 (en) 2014-01-23 2014-01-23 Content monitoring
GBGB1410032.5A GB201410032D0 (en) 2014-06-05 2014-06-05 Watermarking
PCT/GB2014/053329 WO2015067964A2 (en) 2013-11-08 2014-11-07 Identifying media components

Publications (1)

Publication Number Publication Date
ES2879628T3 true ES2879628T3 (es) 2021-11-22

Family

ID=52003980

Family Applications (1)

Application Number Title Priority Date Filing Date
ES14806347T Active ES2879628T3 (es) 2013-11-08 2014-11-07 Identificación de componentes multimedia

Country Status (5)

Country Link
US (2) US10977298B2 (es)
EP (2) EP3066586B1 (es)
ES (1) ES2879628T3 (es)
GB (1) GB2534752B (es)
WO (1) WO2015067964A2 (es)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9749136B2 (en) * 2012-02-24 2017-08-29 Comcast Cable Communications, Llc Method for watermarking content
GB201410032D0 (en) 2014-06-05 2014-07-16 Friend Mts Ltd Watermarking
CN105825172B (zh) * 2016-03-11 2019-09-24 惠州Tcl移动通信有限公司 一种基于移动终端的多指纹匹配方法及系统
EP3433974A4 (en) * 2016-03-21 2020-04-08 Liveramp, Inc. DATA WATERMARK MARKING AND FINGERPRINT TAKING SYSTEM AND METHOD
CN106708507B (zh) * 2016-11-15 2021-01-26 四川长虹电器股份有限公司 一种基于Android系统优化开机应用安装时间的方法
US10659509B2 (en) * 2016-12-06 2020-05-19 Google Llc Detecting similar live streams ingested ahead of the reference content
GB201704955D0 (en) * 2017-03-28 2017-05-10 Friend For Media Ltd Marking video media content
WO2019031269A1 (ja) * 2017-08-10 2019-02-14 ソニー株式会社 送信装置、送信方法、受信装置、及び受信方法
US10972807B2 (en) * 2018-04-06 2021-04-06 Deluxe One Llc Dynamic watermarking of digital media content at point of transmission
US10958926B2 (en) * 2019-01-03 2021-03-23 International Business Machines Corporation Digitally watermarked compressed video image sequences
CN113810727A (zh) * 2020-06-12 2021-12-17 武汉斗鱼鱼乐网络科技有限公司 一种识别刷量直播间的方法及系统、介质、电子设备
US20230138064A1 (en) * 2021-10-29 2023-05-04 The Nielsen Company (Us), Llc Methods and apparatus to generate reference signature assets from meter signatures
US11599605B1 (en) * 2021-11-09 2023-03-07 Hidden Pixels, LLC System and method for dynamic data injection
US11755696B1 (en) * 2022-03-09 2023-09-12 Nicholas Patton Loeffler System for delivering digital media to consumers
CN116707901A (zh) * 2023-06-07 2023-09-05 中国人民解放军61660部队 一种基于Web快照的资产识别方法及系统

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020600A (ja) 1998-07-06 2000-01-21 Hitachi Ltd デジタルコンテンツ提供方法、デジタルコンテンツ不正利用監視方法、デジタルコンテンツ提供装置およびデジタルコンテンツ不正利用監視装置
JP3816689B2 (ja) 1999-03-31 2006-08-30 株式会社東芝 情報配信装置、情報受信装置及び通信方法
US20030105739A1 (en) 2001-10-12 2003-06-05 Hassane Essafi Method and a system for identifying and verifying the content of multimedia documents
US8176028B2 (en) 2002-09-23 2012-05-08 Rodriguez Alex O Broadcast network platform system
US20060013451A1 (en) * 2002-11-01 2006-01-19 Koninklijke Philips Electronics, N.V. Audio data fingerprint searching
US7809154B2 (en) * 2003-03-07 2010-10-05 Technology, Patents & Licensing, Inc. Video entity recognition in compressed digital video streams
WO2007148290A2 (en) 2006-06-20 2007-12-27 Koninklijke Philips Electronics N.V. Generating fingerprints of information signals
AU2007290044A1 (en) 2006-09-01 2008-03-06 Pacbyte Software Pty Limited Method and system for transmitting a data file over a data network
US8312558B2 (en) 2007-01-03 2012-11-13 At&T Intellectual Property I, L.P. System and method of managing protected video content
WO2008117245A2 (en) 2007-03-27 2008-10-02 Koninklijke Philips Electronics N.V. Method and system for processing event metadata relating to media data scheduled for transmission
US8094872B1 (en) 2007-05-09 2012-01-10 Google Inc. Three-dimensional wavelet based video fingerprinting
US8140331B2 (en) * 2007-07-06 2012-03-20 Xia Lou Feature extraction for identification and classification of audio signals
JP2009027390A (ja) 2007-07-18 2009-02-05 Sony Corp コンテンツ配信システム、配信サーバ、受信端末及びコンピュータプログラム
EP2186331A4 (en) 2007-07-27 2010-12-29 Synergy Sports Technology Llc SYSTEMS AND METHODS FOR GENERATING SIGNET VIDEO IMPRESSIONS
US8238669B2 (en) * 2007-08-22 2012-08-07 Google Inc. Detection and classification of matches between time-based media
US8195689B2 (en) 2009-06-10 2012-06-05 Zeitera, Llc Media fingerprinting and identification system
US8286171B2 (en) * 2008-07-21 2012-10-09 Workshare Technology, Inc. Methods and systems to fingerprint textual information using word runs
US8498487B2 (en) 2008-08-20 2013-07-30 Sri International Content-based matching of videos using local spatio-temporal fingerprints
US9355554B2 (en) * 2008-11-21 2016-05-31 Lenovo (Singapore) Pte. Ltd. System and method for identifying media and providing additional media content
US8934545B2 (en) * 2009-02-13 2015-01-13 Yahoo! Inc. Extraction of video fingerprints and identification of multimedia using video fingerprinting
US8412841B1 (en) 2009-08-17 2013-04-02 Adobe Systems Incorporated Media content streaming using stream message fragments
US8671109B2 (en) * 2009-10-01 2014-03-11 Crim (Centre De Recherche Informatique De Montreal) Content-based video copy detection
JP5353615B2 (ja) 2009-10-06 2013-11-27 ソニー株式会社 コンテンツ放送装置、コンテンツ放送方法、コンテンツ受信装置、コンテンツ受信方法、プログラム、およびコンテンツ放送システム
US8353037B2 (en) 2009-12-03 2013-01-08 International Business Machines Corporation Mitigating malicious file propagation with progressive identifiers
US20110289099A1 (en) 2010-05-20 2011-11-24 Rovi Technologies Corporation Method and apparatus for identifying video program material via dvs or sap data
US8542869B2 (en) * 2010-06-02 2013-09-24 Dolby Laboratories Licensing Corporation Projection based hashing that balances robustness and sensitivity of media fingerprints
EP2437498A1 (en) 2010-09-30 2012-04-04 British Telecommunications Public Limited Company Digital video fingerprinting
EP2659663B1 (en) 2010-12-29 2016-04-20 Telecom Italia S.p.A. Method and system for syncronizing electronic program guides
US9049496B2 (en) * 2011-09-01 2015-06-02 Gracenote, Inc. Media source identification
US8995708B2 (en) * 2011-09-08 2015-03-31 Samsung Electronics Co., Ltd. Apparatus and method for robust low-complexity video fingerprinting
US9113202B1 (en) * 2011-09-21 2015-08-18 Google Inc. Inverted client-side fingerprinting and matching
CA2760414C (en) 2011-12-02 2016-08-16 Crim (Centre De Recherche Informatique De Montreal) Content-based video copy detection
GB2501224B (en) 2012-01-10 2016-03-09 Qatar Foundation Detecting video copies
US9172994B2 (en) * 2012-02-07 2015-10-27 Turner Broadcasting System, Inc. Method and system for an automatic content recognition abstraction layer
EP2840960A4 (en) 2012-04-24 2016-05-25 Univ Melbourne IDENTIFICATION OF VESSELS
US20140053233A1 (en) * 2012-08-20 2014-02-20 David Jacobs Online media policy platform
GB2507551A (en) 2012-11-04 2014-05-07 Julian Andrew John Fells Copyright protection by comparing identifiers of first and second electronic content
US9146990B2 (en) * 2013-01-07 2015-09-29 Gracenote, Inc. Search and identification of video content
US10078743B1 (en) * 2013-01-31 2018-09-18 Narus, Inc. Cross identification of users in cyber space and physical world
JP5637409B2 (ja) 2013-08-26 2014-12-10 ソニー株式会社 コンテンツ受信装置、コンテンツ受信方法、コンテンツ放送装置、コンテンツ放送方法、プログラム、およびコンテンツ放送システム
US20150120583A1 (en) * 2013-10-25 2015-04-30 The Mitre Corporation Process and mechanism for identifying large scale misuse of social media networks

Also Published As

Publication number Publication date
US10977298B2 (en) 2021-04-13
US11500916B2 (en) 2022-11-15
EP3066586B1 (en) 2021-03-24
EP3913500C0 (en) 2024-05-15
WO2015067964A3 (en) 2015-07-16
US20160328398A1 (en) 2016-11-10
EP3066586A2 (en) 2016-09-14
GB2534752A (en) 2016-08-03
EP3913500B1 (en) 2024-05-15
GB2534752B (en) 2021-09-08
WO2015067964A2 (en) 2015-05-14
US20200311121A1 (en) 2020-10-01
EP3913500A1 (en) 2021-11-24

Similar Documents

Publication Publication Date Title
ES2879628T3 (es) Identificación de componentes multimedia
US9848216B2 (en) Security and/or tracing video media-content
EP3469797B1 (en) Detecting multiple parts of a screen to fingerprint to detect abusive uploading videos
EP3516882B1 (en) Content based stream splitting of video data
US9508011B2 (en) Video visual and audio query
US10607312B2 (en) Method and apparatus for publishing locational copyrighted watermarking video
US9204103B1 (en) Technique for parallel, distributed video processing
CN103718193B (zh) 用于比较视频的方法和设备
CN103198293A (zh) 用于指纹识别视频的系统和方法
CN110853033A (zh) 基于帧间相似度的视频检测方法和装置
CN103294667A (zh) 通过水印进行同源图片追踪的方法及系统
US10706488B2 (en) Embedding debugging information via watermarks
Saini et al. The jiku mobile video dataset
US20240073478A1 (en) Determining video provenance utilizing deep learning
CN111339368B (zh) 基于视频指纹的视频检索方法、装置和电子设备
CN113569719A (zh) 视频侵权判定方法、装置、存储介质及电子设备
CN105493515B (zh) 在分段之前给内容加水印的方法和系统
JP2012151535A (ja) 電子透かし埋め込み装置、電子透かし埋め込みプログラム、電子透かし検出装置および電子透かし検出プログラム
KR102500695B1 (ko) 이벤트 영상 제공 시스템, 이벤트 영상 제공 방법 및 기록 매체에 저장된 프로그램
Shi et al. A Real-Time Smart Display Detection System