MXPA05010665A - Sistema y metodo para acelerar busquedas de base de datos para multiples corrientes de datos sincronizados. - Google Patents

Sistema y metodo para acelerar busquedas de base de datos para multiples corrientes de datos sincronizados.

Info

Publication number
MXPA05010665A
MXPA05010665A MXPA05010665A MXPA05010665A MXPA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A MX PA05010665 A MXPA05010665 A MX PA05010665A
Authority
MX
Mexico
Prior art keywords
footprint
cache
fingerprint
media
client
Prior art date
Application number
MXPA05010665A
Other languages
English (en)
Inventor
Chris J Burges
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of MXPA05010665A publication Critical patent/MXPA05010665A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/37Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • 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/43Querying
    • G06F16/432Query formulation
    • G06F16/433Query formulation using audio data
    • 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/43Querying
    • G06F16/438Presentation of query results
    • G06F16/4387Presentation of query results by the use of playlists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/63Querying
    • G06F16/632Query formulation
    • G06F16/634Query by example, e.g. query by humming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/60Information retrieval; Database structures therefor; File system structures therefor of audio data
    • G06F16/68Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/683Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • 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/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99948Application of database or data structure, e.g. distributed, multimedia, or image

Abstract

Un "Identificador de Medios" opera en corrientes de medios concurrentes para proporcionar grandes numeros de clientes con identificacion lateral de servidor de tiempo real de objetos de medios fijados en medios de corriente, tal como transmisiones del radio, television o Internet. Tales objetos de medios incluyen canciones, comerciales, anuncios cantados, identificadores de estacion, etc. La identificacion de los objetos de medios es proporcionada a clientes al comparar huellas generadas por cliente calculadas de muestras de corriente de medios con una gran base de datos de huellas almacenadas, precalculadas (es decir, "huellas digitales") de identificacion conocida. Ademas, dado un numero finito de corrientes de medios y un numero mucho mas grande de clientes, muchas de las huellas enviadas al servidor probablemente son casi identicas. Por lo tanto, una memora cache de huella dinamica que se puede buscar es utilizada para limitar las consultas de base de datos necesarias para identificar huellas particulares. Esta memoria cache de huella guarda en memoria cache solo una copia de huella reciente junto con los resultados de busqueda de base de datos, ya sea positivos o negativos. Las entradas de la memora cache despues son removidas cuando envejecen.

Description

SISTEMA Y METODO PARA ACELERAR BUSQUEDAS DE BASE DE DATOS PARA MULTIPLES CORRIENTES DE DATOS SINCRONIZADOS ANTECEDENTES CAMPO TECNICO La invención está relacionada con la identificación de objetos de medios en corriente de medios de emisión, y en particular, a un sistema y método para proporcionar identificación lateral de servidor concurrente de objetos de medios, tal como canciones, en corrientes de datos sincronizados a grandes números de clientes individuales mientras se minimiza el registro de consulta de base de datos de servidor.
TECNICA RELACIONADA Existen muchos esquemas existentes para extraer "características" de señales para ser utilizadas para propósitos de identificación. Por ejemplo, con respecto a una señal unidimensional tal como una señal de audio o archivo de audio, la extracción de característica de audio ha sido utilizada como un paso necesario para tareas de clasificación, recuperación, e identificación que involucran objetos de medios en la señal de audio. Para propósitos de identificación, las características extraídas o "huellas" son típicamente comparadas con una "huella digital" conocida para identificar cualquiera de los elementos dentro de la señal de audio o la señal de audio completa. Tales esquemas de identificación de objetos de medios bien conocidos convencionalmente son conocidos como "impresión de huella digital de audio". Un número de esquemas convencionales han adaptado tales técnicas de impresión de huella digital de audio para proporcionar identificación de canciones particulares en una corriente de audio, tal como un radio o emisión de Internet. Por ejemplo, un usuario que escucha una corriente de audio puede escuchar alguna canción de la que le gustaría conocer el título, artista, álbum, etc. Las técnicas de impresión de huella digital de audio convencionales después son utilizadas para extraer una o más huellas de muestras de la canción. Típicamente, estas huellas después son comparadas a huellas digitales en una base de datos de música conocida para identificar una concordancia, con los resultados siendo proporcionados al usuario. Además, tales técnicas también han sido adaptadas a un número de servicios convencionales para proporcionar una identificación de canción basada en cuota o servicio de búsqueda que generalmente está basado en técnicas de impresión de huella digital de audio y comparaciones de base de datos. Por ejemplo, diferentes servicios de identificación de canción, tal como servicio de identificación de música relativamente bien conocido "Shazam", opera para identificar canciones especificas para usuarios a través de una red de teléfono celular. En particular, los sistemas tal como esos ofrecidos por Shazam generalmente operan primero al solicitar al usuario que marque un número en su teléfono celular y después sostenga el teléfono celular para la música por alrededor de 15 a 30 segundos. El servicio de Shazam después identifica la música al comparar la música (o huellas calculadas de la música) a una base de datos de música conocida. El servicio de Shazam después regresa un mensaje de texto al usuario con el título, artista, álbum, etc., de la canción identificada. Desafortunadamente un problema con servicios de búsqueda del tipo descrito anteriormente es que mientras el número de usuarios que acceden al sistema de identificación de música en cualquier momento dato aumenta, el número de solicitudes de búsqueda de base de datos por segundo también aumenta. Este problema es mitigado, por ejemplo, en servicios tal como esos proporcionados por Shazam, ya que el usuario debe pagar por la llamada telefónica y por el mismo servicio, para cada canción que desea identificar, ya que el efecto de cargo al usuario de esta forma tiende a limitar el número de usuarios concurrentes del sistema, por lo tanto reduce la carga de servidor total. Otro problema con tal sistema es que requiere que las muestras de la canción completa (limitadas por las fracciones de frecuencia/amplitud de banda del servicio de teléfono) sean transmitidas al servidor que después es requerido para calcular huellas para la muestra transmitida de la corriente de medios. Consecuentemente, mientras el número de usuarios concurrentes aumenta a grandes cantidades, la carga de cálculo correspondiente para calcular huellas o huellas digitales de la música entrante, realizan búsquedas de base de datos para identificar esas huellas digitales y responder a ios usuarios individuales puede rápidamente saturar incluso al los bancos relativamente grandes de servidores dedicados. Como resultado, tales esquemas tienden a estar limitados por la suposición de que el número de usuarios concurrentes relativamente será bajo. Además, mientras es posible clasificar cuales esquemas para proporcionar un número suficiente de servidores para manejar grandes números de usuarios concurrentes, potencialmente en cientos de millones, el costo en dólares para tal sistema probablemente sería prohibitivo. Por lo tanto, lo que se necesita un sistema y método para proporcionar identificació-n de tiempo real de canciones. Además, tal sistema y método debe ser capaz de proporcionar eficientemente servicios de identificación de canción a grandes números de usuarios concurrentes mientras se minimiza de forma simultánea la carga de servidor y búsquedas de base de datos. Finalmente, tal sistema y método además debe minimizar la carga de servidor al eliminar la carga de cálculo de huellas para muestras de la corriente de medios al requerir que esa tarea sea realizada por cada una de la pluralidad de computadoras de cliente.
COMPENDIO DE LA INVENCION Un "Identificador de Medios", como se describe aquí, opera para resolver problemas identificados anteriormente al proporcionar a clientes individuales y una identificación lateral de servidor de tiempo real de objetos de medios usados en una omisión de medios de corriente, tal como, por ejemplo, un radio, televisión, o emisión de Internet. Estos objetos de medios incluyen, por ejemplo, canciones, comerciales, anuncios cantados, identificadores de estación, etc. En general, el Identificador de Medios opera al proporcionar al menos un servidor que proporciona identificación de tiempo real de objetos de medios en la corriente de medios de emisión a clientes individuales al comparar "huellas" calculadas por cada cliente de porciones muestreadas en la corriente de medios a una base de datos de huellas digitales conocidas. En general, las huellas calculadas son enviadas por cada cliente al servidor y comparadas, ya sea directamente, o a través de una memoria caché de huella lateral de servidor, contra una base de datos grande de huellas almacenadas, precalculadas (denominadas aquí como (huellas digitales) para diferenciarlas de las huellas generadas de clientes) de identificación conocida. En particular, para cada cliente, los segmentos de longitud fijos de la corriente de medios entrantes son utilizados para calcular "huellas" de baja dimensión en intervalos de tejidos. En una modalidad probada, tales huellas son calculadas y enviadas por cada cliente en el orden de aproximadamente 6 veces un segundo de muestras de la corriente de medios en el orden de aproximadamente 6 segundos. Claramente, más o menos huellas, que utilizan periodos de muestra más largos o cortos pueden ser utilizadas, en estos parámetros típicamente siendo dependientes de las técnicas particulares son utilizadas por cálculo de huella. El cálculo de las huellas de la corriente de medios es realizado utilizando técnicas convencionales, tal como, por ejemplo, el sistema descrito en la publicación de solicitud de patente de E. U. A. No. 2003/0236661, intitulada "Sistema y Método para Extracción de Característica de Volumen Ruidoso", el asunto sujeto que es incorporado aquí por esta referencia. En general, tales sistemas operan al muestrear la corriente de medios entrante y calcular vectores de característica de baja dimensión (es decir, "huellas") de la señal muestreada. El cálculo de huellas de corrientes de medios muestreados es conocido para aquellos expertos en la técnica, y no será descrito aquí en detalle. Las huellas digitales que comprenden la base de datos de huella digital son generalmente calculadas de la misma forma que las huellas, utilizando los mismos algoritmos. Sin embargo, diferentes a las huellas, las huellas digitales son comúnmente calculadas una vez, de una o más muestras de cada objeto de medios conocido para que construyan la base de datos de huellas digitales conocidas. Una vez creada, esta base de datos después es simplemente accedida por el servidor, sin la necesidad de recalcular las huellas digitales para objetos de medios conocidos. Sin embargo, la base de datos de huellas digitales conocidas después puede ser actualizada con nuevas huellas digitales mientras se crean nuevos objetos de medios (canciones, etc.)- Por lo tanto, la base de datos de huellas digitales conocidas preferiblemente es creada fuera de línea y después simplemente proporcionada al servidor para eliminar cualquier carga de cálculo adicional en el servidor durante las operaciones de identificación de medios realizadas por el Identificador de Medios descrito aquí. Para cada cliente, el servidor después utiliza concordancia inexacta para determinar si cualquiera de las huellas concuerda con cualquiera de las huellas digitales en la base de datos dentro de algún o umbral o tolerancia. El uso de tales técnicas de concordancia inexactas es preferible a las técnicas de concordancia exacta, ya que las huellas calculadas por cualquiera de los clientes pueden variar debido al ruido, interferencia, atenuación de señal, etc., incluso en donde las huellas son calculadas a partir de las mismas porciones exactas de la corriente de medios. Además, el uso de concordancia inexacta también cuenta equivalentes temporales pequeños de las porciones muestreadas de la corriente de medios para las que se calculan las huellas. En una modalidad, la concordancia inexacta utiliza renormalización específica de huella digital, para mejorar precisión, como es conocido en la técnica, tal como se describió en la publicación titulada "análisis discrimínate de distorsión para impresión de huellas digitales de audio", por Christopher J. C.
Burges, John C. Platt, y Soumya Jana, transacciones de IEEE en procesamiento de lenguaje y audio, transacciones de IEEE en procesamiento de lenguaje y audio, Vol. 11, No. 3, págs. 165-174, mayo 2003, el asunto sujeto que es incorporado aquí por esta referencia. . En cualquier momento una huella de un cliente concuerda con una huella digital, el servidor informar a ese cliente la identidad de un objeto de medios particular correspondiente a la huella. En el caso de objetos de medios tal como canciones, esta identidad típicamente incluye información tal como, por ejemplo, el artista, título de la canción, nombre del álbum, género, etc. Claramente, dado un objeto de medios conocido, cualquier información deseada por estar asociada con huellas digitales en la base de datos que son utilizadas para identificar ese objeto de medios. Sin embargo, más que proporcionar una búsqueda de fuerza bruta de la base de datos de una huella digital para cada huella enviada al servidor, el Identificador de Medios aquí descrito introduce una memoria caché lateral de servidor extra que apalanca el hecho que en cualquier momento, muchas de las huellas generadas por usuario probablemente van a ser más idénticas, asumiendo que existe un número finito de corrientes de medios, y que típicamente existe un gran número de usuarios que están recibiendo la misma corriente de medios en cualquier momento dado. En otras palabras, en cualquier momento en el tiempo dado, es probable que existan muchos, potencialmente cientos de miles o incluso millones, de personan que están escuchando la misma corriente de medios, tal como radio particular, televisión, o emisiones de Internet. Esta observación sigue para la creación de la memoria caché lateral de servidor que guarda en memoria cahé tanto las huellas entrantes como los resultados de la búsqueda de base de datos para hacer concordar huellas digitales. En particular, cada huella entrante de cada cliente primero es revisada contra la memoria caché, que contiene algún número de huellas. Si la huella no está en la memoria caché, después se hace una búsqueda de base de datos completa, y los resultados de esa búsqueda de base de datos, ya sean positivos y negativos, son almacenados en la memoria caché junto con la huella enviada por el cliente. Las búsquedas tanto en la memoria caché como en la base de datos pueden ser realizadas utilizando técnicas convencionales, tal como, por ejemplo, una revisión lineal (es decir secuencialmente) con depósito (un método conocido para acelerar las comparaciones de distancia utilizando revisión lineal). En otra modalidad, las búsquedas en la base de datos son aceleradas a través del uso de índice de vector de bit, como se describió en una solicitud de patente de E. U. A. copendiente titulada "Búsqueda de Objeto de Datos Multidimensional que Utiliza Indices de Vector de Bit", que tiene una fecha de archivo del 23 de junio, 2003, y No. de serie asignado 10/602,438, el asunto sujeto que es incorporado aquí por esta referencia. Este acercamiento de- índice de vector de bit también es descrito en una publicación titulada "Indexar Rectángulos de Alta Dimensión para Identificación de Multimedia Rápido", por Jonathan Goldstein, John C. Platt, y Christopher J. C. Burges, Reporte Técnico de Microsoft MRS-TR-2003-38, con fecha del 28 de octubre, 2003, el asunto sujeto que es incorporado aquí por esta referencia. En general, los métodos de índice de vector de bit descritos en la solicitud de patente de E. U. A. antes mencionada y el reporte técnico de Microsoft correspondiente dirige el problema de realizar rápidamente consultas de punto contra regios de alta dimensión. Tales consultas son útiles en los problemas importantes en aumento de identificación multimedia y recuperación, en donde las entradas de base de datos diferentes tienen réplicas diferentes para similitud. En contraste con el índice de base de datos típico que se enfoca en indexar por vecindario más cerca de alta dimensión y consultas de rango cercano y epsilon, indexar para consultas de punto contra regiones de alta dimensión proporciona un método de ¡ndexado eficiente que confía en la combinación de redundancia e índice de vector de bit para lograr ganancias de realización significantes. Tales métodos han sido observados para proporcionar un aumento de realización significante sobre exploraciones lineales de mundo real.
Los resultados negativos de la búsqueda de base de datos, es decir, sin concordancia de la huella contra la huella digital en la base de datos, no son enviadas de regreso al cliente. Los resultados positivos de la búsqueda de base de datos, es decir, una concordancia entre la huella y una huella digital, son enviadas de regreso al cliente para identificar el objeto de medios del que se ha calculado la huella. Como se noto anteriormente, la memoria caché es buscada para identificar concordancia de huellas antes de buscar la base de datos de huella digital. Consecuentemente, si no se encuentra ninguna concordancia contra las huellas almacenadas en la memoria caché, ya no es necesaria otra búsqueda de base de datos, mientras la huella y la memoria caché incluirá ya sea la identidad del objeto de medios asociado, o simplemente indicará que no existe concordancia con huella digital. En el caso que una huella concuerde con una huella digital en la base de datos, cualquier información de identidad asociada con esa concordancia de huella digital será enviada de regreso al cliente. Una ventaja de la memoria caché lateral de servidor proporcionada por el Identificador de Medios es que el tamaño de la memoria caché es relativamente pequeño, haciendo las búsquedas de memoria caché extremadamente rápidas. En particular, el tamaño de la memoria caché es una función del retraso esperado máximo entre clientes de recibir un punto en la corriente de medios, y el número de corrientes de medios únicos para la que se están proporcionando los servicios de identificación. Además, se debe notar que el tamaño de la memoria caché no es una función del número de usuarios. En particular, cada corriente de emisión de medios particulares es aproximadamente sincronizada para cada cliente que está recibiendo esa corriente de medios particular. Por ejemplo, cualquiera de dos o más clientes que reciben la misma estación de radio probablemente están recibiendo la misma señal dentro de un equivalente temporal en corto, en el orden de aproximadamente un segundo o similar. Los mismos también es verdad para la mayoría de emisiones de Internet o red de medios de corriente. Por lo tanto, no existe la necesidad de mantener huellas en la memoria caché de medios por más de algún múltiple pequeño del tiempo de retraso esperado máximo (con el tiempo de retraso también incluyendo el retraso esperado máximo para que cada cliente calcule y transmita la huella al servidor. En otras palabras, este retraso es simplemente el tiempo máximo entre el servidor que recibe la primera huella por una sección dada de un objeto de medios particular, y el servidor que recibe la última huella (del cliente más lento) para la sección del mismo objeto de medios. Consecuentemente, las huellas solo necesitan ser mantenidas por un periodo corto, en el orden de varios segundos. Como un resultado, la necesitad de que una memoria caché grande almacene todas las huellas entrantes únicas. En una modalidad relacionada, más que intentar determinar o estimar tiempos de retraso múltiples para establecer tiempos de vida de huella en la memoria caché, una solución más simple es para simplificar remover huellas de la memoria caché después de que fallan al hacer concordancia con cualquiera de las huellas entrantes por algún periodo corto de tiempo, en el orden de aproximadamente un segundo o similar. En otras modalidades alternas, otros esquemas de la memoria caché también pueden ser utilizados, incluyendo, por ejemplo, el uso de un tamaño de memoria caché fijado que produce huellas basándose en lógica LRU (utilizada más recientemente) convencional. En vista del compendio anterior, debe estar claro que el Identificador de Medios aquí descrito proporciona un sistema único y método para proporcionar identificación de medios de tiempo real para grandes números de solicitudes de cliente concurrente por corrientes de emisión de medios sincrónicos. Además de los beneficios descritos, otras ventajas de Identificador de Medios serán evidentes a partir de la descripción detallada que sigue a esto cuando se toman en conjunto con los dibujos anexos.
DESCRIPCION DE LOS DIBUJOS Las características, aspectos, y ventajas específicos de la presente invención serán mejor entendidos con respecto a la siguiente descripción, reivindicaciones, y dibujos acompañantes, en donde: La Figura 1 es un diagrama de sistema general que ilustra un dispositivo de cómputo de propósito general que constituye un sistema ilustrativo que implementa un "Identificador de Medios", aquí descrito. La Figura 2 proporciona un diagrama de sistema arquitectural ilustrativo que ilustra una relación general entre componentes funcionales para implementar el Identificador de Medios, aquí descrito. La Figura 3 proporciona un diagrama de flujo arquitectural ilustrativo que ilustra módulos de programa para implementar el Identificador de Medios, aquí descrito. La Figura 4 proporciona un diagrama de flujo operacional que ¡lustra la operación general de una modalidad del Identificador de Medios, aquí descrito.
DESCRIPCION DETALLADA DE LAS MODALIDADES PREFERIDAS En la siguiente descripción de las modalidades preferidas de la presente invención, se hace referencia a los dibujos acompañantes, que forman una parte de la misma, y que es mostrada a manera de modalidades específicas de ilustración en las que la invención puede ser practicada. Se entiende que otras modalidades pueden ser utilizadas y se pueden hacer cambios estructurales sin apartarse del alcance de la invención. 1.0 Ambiente Operativo Ilustrativo La Figura 1 ilustra un ejemplo de un ambiente de sistema de cómputo adecuado 100 en el que la invención puede ser implementada. El ambiente de sistema de cómputo 100 solo es un ejemplo de un ambiente de cómputo adecuado y no pretende sugerir cualquier limitación al alcance de uso o funcionalidad de la invención. El ambiente de cómputo 100 tampoco debe ser interpretado como teniendo cualquier dependencia con requerimiento que se relaciona a uno o combinación de componentes ilustrados en el ambiente operativo ilustrativo 100. La invención es operacional con numerosos otros ambientes o configuraciones de sistema de cómputo de propósito general o propósito especial. Ejemplos de sistemas de cómputo, ambientes, y/o configuraciones bien conocidas que pueden ser adecuados para uso con la invención incluyen, pero no se limitan a, computadoras personales, computadoras de servidor, portátiles, computadora portátil o móvil o dispositivos de comunicaciones tal como teléfonos celulares PDA, los sistemas de multiprocesador, sistemas a base de microprocesador, cajas de TV por cable, electrónica programable para el consumidor, PCs de red, minicomputadoras, macrocomputadoras, ambientes de cómputo distribuidos que incluyen cualquier de los sistemas o dispositivos anteriores, y similares. La invención puede ser descrita en el contexto general de instrucciones ejecutables por computadora, tal como módulos de programa, siendo ejecutados por una computadora en combinación con módulos de hardware, incluyendo componentes del orden de micrófono 198. Generalmente, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., que realizan tareas particulares o implementan tipos de datos abstractos particulares. La invención también puede ser practicada en ambientes de cómputo distribuidos en donde las tareas son realizadas a través de dispositivos de procesamiento remoto que están conectados a través de una red de comunicaciones. En un ambiente de cómputo distribuido, los módulos de programa pueden estar localizados tanto en medios de almacenamiento de computadora locales como remotos incluyendo dispositivos de almacenamiento de memoria. Con referencia a la Figura 1, un sistema ilustrativo para implementar la invención incluye un dispositivo de cómputo de propósito general en la forma de una computadora 110. Los componentes de la computadora 110 pueden incluir, pero no están limitados a, una unidad de procesamiento 120, una memoria de sistema 130, y un conductor común de sistema 121 que acopla varios componentes de sistema incluyendo la memoria de sistema a la unidad de procesamiento 120. El conductor de sistema 121 puede ser cualquiera de diferentes tipos de estructuras de conductor común incluyendo un conductor común de memoria o controlador de memoria, un conductor común periférico, y un conductor común local que utiliza cualquiera de una variedad de arquitecturas de conductor común. Como ejemplo, y no limitación, tales arquitecturas incluyen conductor común de Arquitectura Estándar de Industria (ISA), conductor común de Arquitectura de Microcanal (MCA), conductor común de ISA mejorado (EISA), conductor común local de Asociación de Estándares Electrónicos de Video (VESA), y conductor común de Interconexión de Componente Periférico (PCI) también conocido como conductor común de Mezanine.
La computadora 110 típicamente incluye una variedad de medios legibles por computadora. Los medios legibles por computadora pueden ser cualesquiera medios disponibles que puedan ser accedido a través de la computadora 110 e incluyen tanto medios volátiles como no volátiles, medios removibles como no removibles. A manera de ejemplo, y no de limitación, los medios legibles por computadora pueden comprender medios de almacenamiento por computadora y medios de comunicación. Los "medios de almacenamiento por computadora" incluyen medios volátiles y no volátiles, removibles y no removibles, implementados en cualquier método o tecnología para almacenamiento de información tal como instrucciones legibles por computadora, estructuras de datos, módulos de programa, u otros datos. Los medios de almacenamiento por computadora incluyen, pero no se limitan a, RAM, ROM, PROM, EPROM, EEPROM, memoria instantánea u otra tecnología de memoria, CD-ROM, discos versátiles digitales (DVD), u otro almacenamiento de disco óptico, casetes magnéticos, cinta magnética, almacenamiento de disco magnético u otros dispositivos de almacenamiento magnético, o cualquier otro medio que pueda ser utilizado para almacenar la información deseada y que pueda ser accedido por la computadora 110. Los medios de comunicación típicamente representan instrucciones legibles por computadora, estructuras de datos, módulos de programa u otros datos en una señal de datos modulada, tal como una onda de vehículo u otro mecanismo de transporte e incluyen cualquier medio de suministro de información. El término "señal de datos modulada" significa una señal que tiene una o más de sus características fijadas o cambiadas de tal manera que codifica la información en la señal. A manera de ejemplo, y no de limitación, los medios de comunicación incluyen medios mediante cables tales como una red con cables o conexión de cable directo, y medios inalámbricos tales como medios acústicos, RF, infrarrojos u otros medios inalámbricos. También se deben incluir combinaciones de cualquiera de los anteriores dentro del alcance de los medios legibles por computadora. La memoria de sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil, tal como memoria de solo lectura (ROM) 131 y memoria de acceso aleatorio (RAM) 132. Un sistema de entrada/salida básico 133 (BIOS), conteniendo las rutinas básicas que ayudan a transferir la información entre elementos dentro de la computadora 110, tal como durante el arranque, típicamente está almacenado en la ROM 131. La RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles y/o que en realidad son operados a través de la unidad de procesamiento 120. A manera de ejemplo, y no de limitación, la Figura 1 ilustra el sistema operativo 134, programas de aplicaciones 135, otros módulos de programa 136, y datos de programa 137. La computadora 110 también puede incluir otros medios de almacenamiento por computadora removibles/no removibles, volátües/no volátiles. A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 141 que lee de o escribe a medios magnéticos no removibles, no volátiles, una unidad de disco magnético 151 que lee de o escribe a un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe a un disco óptico removible, no volátil 156 tal como un CD-ROM u otros medios ópticos. Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que pueden ser utilizados en el ambiente operativo ilustrativo incluyen, pero no se limitan a, casetes de cinta magnética, tarjetas de memoria instantánea, discos versátiles digitales, cinta de vídeo digital, RAM de estado sólido, ROM de estado sólido, y similares. La unidad de disco duro 141 típicamente está conectada al conductor común de sistema 121 a través de una interfase de memoria no removible tal como la interfase 140, y la unidad de disco magnético 151 y la unidad de disco óptico 155 típicamente están conectadas al conductor común de sistema 121 a través de una interfase de memoria removible, tal como la interfase 150. Las unidades y sus medios de almacenamiento por computadora asociados, discutidos anteriormente e ilustrados en la Figura 1, proporcionan un almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa, y otros datos para la computadora 110. En la Figura 1, por ejemplo, la unidad de disco duro 141 se ilustra como almacenando el sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147. Observar que estos componentes pueden ser ya sea iguales o diferentes del sistema operativo 134, los programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. El sistema operativo 144, los programas de aplicación 145, otros módulos de programa 146 y datos de programa 147 se les proporcionan diferentes números aquí para ilustrar que, en un mínimo, son copias diferentes. Un usuario puede ingresar comandos e información en la computadora 110 a través de dispositivos de entrada tal como un teclado 162 y dispositivo de señalamiento 161, comúnmente denominados como un ratón, seguibola, o almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrado) pueden incluir un micrófono, palanca de mando, almohadilla de juegos, antena parabólica, escáner, receptor de radio, y una tenencia o receptor de vídeo de transmisión, o similares. Estos y otros dispositivos de entrada por lo regular están conectados a la unidad de procesamiento 120 a través de una ¡nterfase de entrada de usuario alámbrica o inalámbrica 160 que está acoplada al conductor común de sistema 121, pero pueden ser conectada a través de otra interfase convencional y estructuras de conductor común, tales como un puerto paralelo, puerto de juegos, un conductor común en serie universal (USB), una interfase de IEEE 1394, una interfase inalámbrica de Bluetooth™, una interfase inalámbrica de IEEE 802.11, etc. Además, la computadora 110 también puede incluir un dispositivo de entra de entrada de lenguaje o audio, tal como un micrófono o un orden de micrófono 198, así como un altavoz 197 u otro dispositivo de salida de sonido conectado a través de una interfase de audio 199, otra vez incluyendo interfases alámbricas o inalámbricas, tal como por ejemplo, paralelo, en serie, USB, IEEE 1394, Bluetooth™, etc. Un monitor 191 u otro tipo de dispositivo de presentación también está conectado al conductor común de sistema 121 a través de una interfase, tal como una interfase de vídeo 190. Además del monitor, las computadoras también pueden incluir otros dispositivos de salida periféricos tal como una impresora 196, que puede estar conectada a través de una interfase periférica de salida 195. La computadora 110 puede operar en un ambiente en red utilizando conexiones lógicas a una o más computadoras remotas, tal como una computadora remota 180. La computadora remota 180 puede ser una computadora personal, un servidor, un enrutador, una PC de red, un dispositivo par, u otro nodo de red común, y típicamente incluye muchos o todos los elementos descritos anteriormente con relación a la computadora 110, aunque solo se ilustra un dispositivo de almacenamiento de memoria 181 en la Figura 1. Las conexiones lógicas ilustradas en la Figura 1 incluyen una red de área local (LAN) 171 y una red de área amplia (WAN) 173, pero también pueden incluir otras redes. Tales ambientes en red están comúnmente ubicados en oficinas, redes de computadora distribuidas en empresas, intranets e Internet. Cuando se utiliza en un ambiente en red de LAN, la computadora 110 se conecta a la LAN 171 a través de una interfase de red o adaptador 170. Cuando se utiliza en un ambiente en red de WAN, la computadora 110 típicamente incluye un módem 172 u otros medios para establecer comunicaciones en la WAN 173, tal como Internet. El módem 172, el cual puede ser interno o externo, puede ser conectado al conductor común de sistema 121 a través de la interfase de entrada de usuario 160, u otro mecanismo apropiado. En un ambiente en red, los módulos de programa ilustrados con relación a la computadora 110, o sus porciones, pueden ser almacenados en el dispositivo de almacenamiento de memoria remoto. A manera de ejemplo, y no de limitación, la Figura 1 ilustra programas de aplicación remotos 185 como residentes en el dispositivo de memoria 181. Se apreciará que las conexiones de red mostradas son ilustrativas y se pueden utilizar otros medios para establecer un enlace de comunicaciones entre las computadoras. El ambiente operativo ilustrativo que ahora ha sido descrito, la parte restante de esta descripción estará dedicada a una discusión de los módulos de programa y procesos que representan un "Identificador de Medios" que provee a los clientes con identificación lateral de servidor de tiempo real de objetos de medios fijados en una transmisión de medios de corriente. 2.0 Introducción Un "Identificador de Medios", como se describe aquí, provee a los clientes individuales con identificación de tiempo real de objetos de medios fijados en una corriente de medios modificados tal como una transmisión de radio, televisión, o Internet. Tales objetos de medios pueden incluir canciones, comerciales, anuncios cantados, identificadores de estación etc. En general, la identificación de los objetos de medios es proporcionada a clientes individuales al comparar "huellas" generadas por clientes a una base de datos grande o huellas almacenadas, precalculadas (denominadas aquí como "huellas digitales" para diferenciarlas de las huellas generadas por clientes) de identificación conocida. Estas huellas generadas por cliente son calculadas por cada cliente a partir de muestras de la corriente de medios en una base en curso y transmitidas al servidor para identificación. Además, dado un número finito de corrientes de medios y un número mucho más grande de clientes, la mayoría de las huellas enviadas al servidor son probablemente casi idénticas, ya que muchos clientes concurrentemente estarán verificando la misma corriente de medios. Esta observación es utilizada en la creación de una memoria caché de huella dinámico que se puede buscar para limitar el número de consultas de base de datos necesarias para identificar las huellas particulares, y de esa forma los objetos de medios se asocian con esas huellas. Una ventaja de la búsqueda de memoria caché de huella más que en la base de datos es que una base de datos de trabajo de huellas digitales típicamente incluirá millones de entradas, mientras la memoria caché de huella típicamente será más pequeño por órdenes de de magnitud. La memoria caché de huella guarda en memoria caché solo una copia de huellas recientes enviadas por los varios clientes, junto con los resultados de búsqueda de base de datos, ya sea positivos o negativos. En otras palabras, cualquier huella que es enviada por uno de los clientes que actualmente no existe en la memoria caché será almacenada en la memoria caché, al menos temporalmente, como se explica en más detalle más adelante. Por lo tanto, la memoria caché de huella es buscado antes de hacer una consulta de base de datos. La base de datos después es solo consultada para identificar una nueva huella generada por cliente cuando no existe concordancia de huella en la memoria caché de huella. Además, las huellas almacenadas en la memoria caché de huella son removidas como una función de tiempo. En una modalidad, esto simplemente es un "tiempo de vida" preestablecido, mientras en una modalidad relacionada este tiempo para vivir está basado en el periodo desde que se envió una última huella de concordancia al servidor por algún cliente. En otras palabras, las entradas de memoria caché simplemente son removidas de la memoria caché mientras en envejecen sin tener golpes de huellas de concordancia. Estos conceptos generales son ¡lustrados por el diagrama de sistema arquitectural e ilustrativo de la Figura 2, que ilustra una relación funcional general entre componentes para implementar el Identificador de Medios. En particular, la Figura 2 muestra que cada una de la pluralidad de clientes 200 recibe una corriente de transmisión de medios 210. Como se discutió en mayor detalle aquí, el universo de corrientes de medios disponibles 210, tai como transmisiones de estación de radio, transmisiones de televisión o cable, medios de corriente basados en red, etc., es sustancialmente más pequeño que el número de clientes potenciales 200. Consecuentemente, la mayoría de las corrientes de medios 210 será simultáneamente verificada por más de un cliente 200, y potencialmente por cientos, miles, o incluso millones de clientes. Sin embargo, se debe notar que todas la corrientes de medios 210 estarán disponibles para todos los clientes 200, como las corrientes de medios incluyen transmisiones disponibles localmente, y los clientes pueden estar localizados en cualquier parte en el mundo mientras se comunican con el servidor 230 a través de Internet 220 u otra red. Los clientes 200 después muestrean la corriente de medios verificada 210 y envían huellas calculadas a través de una red o Internet 220 a un servidor 230 (o bancos de servidores). El servidor 230 después verifica una memoria caché de huella 240, y, si es necesario, una base de datos de huella digital 250, en un intento para identificar los objetos de medios de los que se generaron las huellas. Si es identificada, la información de identificación de medios correspondiente a las huellas particulares fue regresada al cliente que envía 200 por el servidor 230 a través de la red 220. 2.1 Revisión de Sistema Como se notó anteriormente, el Identificador de Medios descrito aquí provee a los clientes con identificación lateral de servidor de tiempo real de objetos de medios fijos en una transmisión de medios de corriente, tal como, por ejemplo, una transmisión de radio, televisión, o Internet. En general, el Identificador de Medios opera al proporcionar al menos un servidor que proporciona identificación de tiempo real de objetos de medios en la corriente de medios de transmisión a clientes individuales al comparar "huellas" calculadas por cada cliente de porciones muestreadas de la corriente de medios a una base de datos de huellas digitales conocidas. En general, las huellas calculadas son enviadas por cada cliente al servidor y comparadas, ya sea directamente, o a través de una memoria caché de huella lateral de servidor, contra una base de datos grande o huellas digitales almacenadas, precalculadas de identificación conocida. Para cada cliente, el servidor después utiliza concordancia inexacta para determinar si cualquiera de las huellas concuerda con cualquiera de las huellas digitales en la base de datos dentro del mismo umbral o tolerancia. El uso de tales técnicas de concordancia inexactas es preferible a las técnicas de concordancia exactas, ya que las huellas calculadas por cualquiera de los diferentes clientes pueden variar de alguna forma debido al ruido, interferencia, atenuación de señal, etc., incluso en donde las huelas están nominalmente calculadas a partir de las mismas porciones de la corriente de medios. Además, el uso de concordancia inexacta también cuenta equivalentes temporales pequeños de las porciones muestreadas de la corriente de medios de donde las huellas fueron calculadas. Cuando sea que una huella de un cliente concuerda con una huella digital (ya sea en la memoria caché de huella o en la base de datos de huella digital), el servidor informa a ese cliente de la identidad del objeto de medios particular correspondiente a esa huella. En el caso de objetos de medios tal como canciones, esta identidad típicamente incluye información tal como, por ejemplo, el artista, título de canción, nombre de álbum, género, etc. Claramente, dado un objeto de medios conocido, cualquier información deseada puede estar asociada con huellas digitales en la base de datos que son utilizados para identificar ese objeto de medios. Sin embargo, más que proporcionar una búsqueda de fuerza bruta de la base de datos de huella digital para cada huella enviada al servidor, el Identificador de Medios aquí descrito en vez de eso introduce una memoria caché de huella lateral de servidor extra que apalanca el hecho de que en cualquier momento, muchas de las huellas generadas por usuario probablemente son casi idénticas, asumiendo que existe un número finito de corrientes de medios, y que existe típicamente un gran número de usuarios que están recibiendo la misma corriente de medios en cualquier momento dado. En otras palabras, en cualquier punto dato en el tiempo, es probable que existan muchos, potencialmente cientos de miles o incluso millones, de personas que están escuchando la misma corriente de medios, tal como transmisiones de radio, televisión, o Internet. Esta observación permite la creación de la memoria caché de huella lateral de servidor que guarda en memoria caché tanto las huellas entrantes como los resultados de la búsqueda de base de datos para huellas digitales de concordancia. En particular, cada huella entrante de cada cliente primero es revisada contra la memoria caché de huella, que contiene algún número de huellas. Si la huella no está en la memoria caché de huella, es almacenado aquí, y se hace una búsqueda de base de datos completa. Los resultados de esa búsqueda de base de datos, ya sean positivos o negativos, después son almacenados en la memoria caché de huella junto con la huella enviada por el cliente. Las búsquedas tanto en la memoria caché de huella como en la base de datos pueden ser realizadas utilizando técnicas convencionales, tal como, por ejemplo, una revisión lineal (es decir secuencialmente) con depósito (un método conocido para acelerar las comparaciones de distancia utilizando revisión lineal). En otra modalidad, las búsquedas en la base de datos son aceleradas por el uso de índice de vector de bit, como se describió en una solicitud de patente de E. U. A. copendiente titulada "Búsqueda de Objeto de Datos Multidimensional que Utiliza Indices de Vector de Bit", que tiene una fecha de archivo del 23 de junio, 2003, y No. de serie asignado 10/602,438, el asunto sujeto que es incorporado aquí por esta referencia. Este acercamiento de índice de vector de bit también es descrito en una publicación titulada "Indice de Rectángulos de Alta Dimensión para Identificación de Multimedia Rápido", por Jonathan Goldstein, John C Platt, y Christopher J. C. Burges, Reporte Técnico de Microsoft MRS-TR-2003-38, archivado el 28 de Octubre, 2003, la materia objeto de la cual que es incorporado aquí por esta referencia. En general, los métodos de índice de vector de bit descritos en la solicitud de patente de E. U. A. antes mencionada y el Reporte Técnico de Microsoft correspondiente dirige el problema de realizar rápidamente consultas de punto contra regios de alta dimensión. Tales consultas son útiles en los problemas importantes en aumento de identificación multimedia y recuperación, en donde las entradas de base de datos diferentes tienen diferentes métricas para similitud. En contraste con el índice de base de datos típico que se enfoca en el índice de vecino más cerca de alta dimensión y consultas de rango cercano y epsilon, el índice para consultas de punto contra regiones de alta dimensión proporciona un método de índice efectivo que confía en la combinación de redundancia y el índice de vector de bit para lograr ganancias de realización significantes. Tales métodos han sido observados para proporcionar un aumento de realización significante con revisiones lineales de mundo real. Con cada una de las modalidades de búsqueda de base de datos antes mencionadas, los resultados negativos de la búsqueda de base de datos, es decir, sin concordancia de la huella contra las huellas digitales en la base de datos, no son enviadas de regreso al cliente. Los resultados positivos de la búsqueda de base de datos, es decir, una concordancia entre la huella y una huella digital, son enviados de regreso al cliente para identificar el objeto de medios del que se ha calculado la huella. Como se notó anteriormente, el resultado es buscado para identificar huellas de concordancia antes de buscar la base de datos de huella digital. Consecuentemente, si se encuentra una concordancia contra las huellas almacenadas en la memoria caché, no se necesita otra búsqueda de base de datos, mientras la huella en la memoria caché ya sea que incluirá la identidad del objeto de medios asociado, o simplemente indicará que no existe huella digital de concordancia. En el caso que una hulla concuerde con una huella en la base de datos, cualquier información de identidad asociada con esa huella de concordancia será enviada de regreso al cliente. 2.2 Revisión Arquitectural de Sistema Los procedimientos resumidos anteriormente son ilustrados por el diagrama de sistema general de la Figura 3. En particular, el diagrama de sistema de la Figura 3 ilustra las interrelaciones entre los módulos de programa para implementar un Identificador de Medios, como se describió anteriormente. En general, el Identificador de Medios comienza la operación con respecto a cada cliente 200 cuando cada cliente recibe una de las corrientes de medios 210 al utilizar un módulo de captura de corriente de medios 305 para recibir la corriente de medios. Se debe notar que las corrientes de medios 210 pueden ser corriente de audio, corrientes de vídeo, o una mezcla de ambas. Los clientes 200 después muestrean las corriente de medios entrantes en tiempo real utilizando un módulo de muestra de corriente de medios. Un módulo de cálculo de huella 315 después es utilizado por cada cliente para generar continuamente huellas de la corriente de medios muestreada. Se debe notar que el número y frecuencia de huellas generadas por cada cliente es descrito en más detalle más adelante en la sección 3. Las huellas generadas después son proporcionadas a un módulo de transmisión de huella 320 que transmite las huellas al servidor 230 a través de la red o Internet 220. El servidor 230 después utiliza un módulo de recepción de huella para recibir las huellas transmitidas de los varios clientes 200. Tan pronto como el servidor 230 comienza a recibir las huellas de los varios clientes 200, son proporcionados a un módulo de búsqueda de huella 335 que busca primero la memoria caché de huella 240 para encontrar huellas de concordancia. Sino existe ninguna huella de concordancia en la memoria caché de huella, la huella es almacenada en la memoria caché de huella y se realiza una búsqueda de la base de datos de huella digital 250 por el módulo de búsqueda de huella 335. Finalmente, un módulo de mantenimiento de memoria caché 345 proporciona operaciones de limpieza de memoria caché general. En particular, como se notó anteriormente, todas las huellas recibidas por el servidor 230 que no pueden ser encontradas en la memoria caché de huella 240 son agregadas a la memoria caché junto con los resultados de una búsqueda de base de datos correspondiente (ya sea positivos o negativos). Sin embargo, sin algunas limitaciones en este proceso, la memoria caché de huella 240 rápidamente se saturaría. Por lo tanto, como se describió en más detalle en la sección 3, la memoria caché de huella es limpiado de huellas viejas como una fusión de tiempo. Especialmente, en una modalidad, el módulo de mantenimiento de memoria caché 345 elimina cualquiera de las huellas más viejas de algún periodo predeterminado de la memoria caché. Alternativamente, el módulo de mantenimiento de memoria caché 345 elimina cualquiera de las huellas que no han sido concordadas, con huellas entrantes por el módulo de búsqueda de huella 335 por algún periodo predeterminado de tiempo. En otras modalidades, el módulo de mantenimiento de memoria caché 345 utiliza ya sea una combinación de estos tiempo de vida de huella, tiempos de vida de huella diferentes para huellas con golpes de base de datos positivos 250 y golpes de base de datos negativos. 3.0 Revisión de Operación Los módulos de programa antes descritos son empleados para implementar el Identificador de Medios. Como se resumió anteriormente, el Identificador de Medios provee a clientes individuales con identificación de tiempo real de objetos de medios fijos en una corriente de medios verificada tal como una transmisión de radio o Internet. Las siguientes secciones proporcionan una discusión detallada de la operación del Identificador de medios, y de métodos ilustrativos para implementar los módulos de programa descritos en la sección 2 con respecto a la Figura 2 y 3. Además, la siguiente descripción detallada de la operación de Identificador de Medios proporcionada más adelante en la sección 3.1, un diagrama de flujo de operación es presentado con respecto a la Figura 4 que resume la operación total del Identificador de Medios en vista de esa descripción detallada. 3.1 Detalles de Operación del Identificador de Medios Los siguientes párrafos detallan operaciones específicas y modalidades alternas del Identificador de Medios aquí descrito. En particular, los siguientes párrafos describen el cálculo de huellas y la construcción de la base de datos de huella digital; los tiempos de vida de huellas en la memoria caché de huella; búsqueda de la memoria caché de huella; búsqueda de base de datos; el uso de búsquedas de base de datos de cliente local utilizando subgrupos descargados de la base de datos de huella digital; y finalmente, proporcionar identificación de objetos de medios al cliente. 3.1.1 Calculo de Huella y Construcción de Base de Datos de Huella Digital El cálculo de huella o "huellas digitales" de una señal de audio o de muestras de una corriente de audio para utilizarse en la identificación de medios es un concepto que es bien entendido por aquellos expertos en la técnica. En general, tales sistemas frecuentemente operan al muestrear la corriente de medios entrantes y calcular vectores de característica compactos (es decir, "huellas") de la señal muestreada. Estos vectores de característica compactos pueden comprender vectores de baja dimensión o pueden comprender claves de mezcla binaria. Ya que el cálculo de huella de corriente de medios muestreadas es conocida por aquellos expertos en la técnica, ahora el asunto no será descrito aquí en detalle. Con respecto al Identificador de Medios, el cálculo de las huellas de la corriente de medios es realizado utilizando cualquier número de técnicas convencionales. Por ejemplo, una técnica de cálculo de huella utilizado en una modalidad probada del identificador de medios es descrito en la publicación de solicitud de patente de E. U. A., No. US 2003/0236661, titulada "Sistema y Método para Extracción de Característica de Volumen de Ruido", la materia de la cual se incorpora aquí por esta referencia. El sistema descrito por la publicación de solicitud de patente de E. U. A. No. US 2003/0236661, generalmente opera al calcular o extraer características de señales de audio utilizando un "extractor de característica" que está entrenado en una mezcla de señales artificiales y/o de mundo real que utilizan un "análisis de discriminación de distorsión" (DDA) para definir parámetros del extractor de característica. El extractor de característica toma señales que tienen una o más dimensiones con una estructura temporal o espacial, aplica un análisis de componente principal orientado (OPCA) para regiones limitadas de la señal, agrega la salida de OPCAS múltiples que son adyacentes espacial o temporalmente, y aplica OPCA al agregado. Los pasos de agregado salidas de OPCA adyacentes y aplicar OPCA a los valores agregados son realizados una o más veces para extraer características de volumen de ruido de baja dimensión de señales, incluyendo señales de audio, imágenes, datos de vídeo, o cualquier otro tiempo o señal de dominio de frecuencia. Una vez entrenado, el extractor de característica después es simplemente utilizado para generar las huellas (y huellas digitales) utilizadas por el identificador de medios aquí descrito. Sin embargo, como se noto anteriormente, el "extractor de característica" identificado anteriormente claramente no es el único método para calcular huellas o huellas digitales. Sin importar como se calculen las huellas o huellas digitales, la ¡dea básica es calcular "huellas" compactas de segmentos de longitud fija de la corriente de medios entrante para cada cliente. En una modalidad probada, tales huellas son calculadas y enviadas por cada cliente en el orden de aproximadamente seis veces y un segundo para muestras de la corriente de medios en el orden de aproximadamente 6 segundos. Claramente, más o menos huellas, se pueden utilizar periodos de muestra de uso más largos o más cortos, con estos parámetros típicamente siendo dependientes en las técnicas particulares siendo utilizadas por cálculo de huella. Las huellas digitales que comprenden la base de datos de huella digital generalmente son calculadas de alguna forma como las huellas, utilizando los mismos algoritmos para que exista una correspondencia clara entre las huellas calculadas por cada cliente y las huellas digitales utilizadas para poblar la base de datos de huella digital. Sin embargo, diferente a las huellas que son calculadas continuamente como los progresos de corriente de medios, las huellas digitales son comúnmente calculadas una vez, a partir de una o más muestras tomadas de ubicaciones particulares dentro de objetos de medios conocidos para poblar las huellas digitales de base de datos correspondientes a esos objetos de medios conocidos. El número de huellas digitales calculado para cada objeto de medios puede ser tan poco o tanto como sea deseado. Sin embargo, en una modalidad probada, se observó que proporcionar varias huellas digitales por objeto de medios fue suficiente para proporcionar identificación de objeto de medio de volumen. Una vez creada, la base de datos de huella digital después es simplemente accedida por el servidor, como se describió aquí, si la necesidad de recalcular las huellas digitales para objetos de medios conocidos. Sin embargo, la base de datos de huellas digitales conocidas después puede ser actualizada con nuevas huellas digitales como nuevos objetos de medios (canciones, etc.) son creados. Por lo tanto, la base de datos de huellas digitales conocidas es preferiblemente creada fuera de línea utilizando cualquiera de los algoritmos de cálculo de huella que son utilizados por los clientes para calcular las huellas, y después simplemente proporcionados al servidor para eliminar cualquier carga de cómputo adicional en el servidor durante las operaciones de identificación de medios realizadas por el Identificador de Medios aquí descrito. 3.1.2 Tiempos de Vida de memoria caché de Huella Una ventaja de la memoria caché de huella lateral de servidor proporcionado por el Identificador de Medios es que el tamaño de la memoria caché es relativamente pequeño, haciendo las búsquedas de memoria caché extremadamente rápidas. En particular, el tamaño de memoria caché es una función del retraso esperado máximo entre solicitudes para cada cliente, y el número de corrientes de medios únicas para las que se están proporcionando los servicios de identificación. Además, se debe notar que el tamaño de memoria caché no es una función del número de clientes individuales o usuarios que acceden al servidor con solicitudes de identificación de huella. Específicamente, cada corriente de transmisión de medios particular es aproximadamente sincronizada para cada cliente que está recibiendo esa corriente de medios particular. Por ejemplo, ya sean dos o más clientes que reciben la misma estación de radio probablemente están recibiendo la misma señal dentro de un equivalente temporal máximo muy corto, en orden de aproximadamente un segundo o similar, dependiendo del tipo y fuente de corriente de medios siendo recibida. Lo mismo también es verdadero para la mayoría de transmisiones de Internet o red de medios de corriente. Por lo tanto, no existe la necesidad de mantener huellas en la memoria caché de medios por más de algún múltiple pequeño del tiempo de retraso de inter-cliente esperado máximo (con el tiempo de retraso también incluyendo el retraso esperado máximo para cada cliente para calcular y transmitir la huella al servidor). En otras palabras, este retraso es simplemente el tiempo máximo entre el servidor que recibe la primera huella por una sección dada de un objeto de medios particular, y el servidor que recibe la última huella (del cliente más lento) para la sección del mismo objeto de medios. Consecuentemente, las huellas no necesitan ser mantenidas por un periodo corto, en el orden de varios segundos. Como resultado, no existe la necesidad que una memoria caché grande almacene todas las huellas entrantes únicas. En una modalidad relacionada, más que intentar determinar o estimar tiempos de retraso máximos para establecer tiempos de vida de huella en la memoria caché, una solución más simple es simplemente remover huellas de la memoria caché después de que fallen al concordar con cualquiera de las huellas entrantes por algún periodo corto de tiempo, en el orden de aproximadamente un segundo o similar. En otras modalidades alternas, otros esquemas de memoria caché también son utilizados, incluyendo, por ejemplo, el uso de un tamaño de memoria caché fijado que produce huellas basándose en lógica LRU (utilizado más recientemente) convencional. 3.1.2 Búsqueda de memoria caché de Huella Como se notó anteriormente, tan pronto como el servidor recibe cualquiera de las huellas, la memoria caché de huellas es inmediatamente buscado para determinar si existe una huella de concordancia en la memoria caché de huella. Después, si existe una concordancia, se hace una determinación como si la huella de concordancia tiene cualquier información de identificación de objeto de medio asociada, o si es una huella que no fue encontrada en la base de datos. Otra vez, las huellas no encontradas en la memoria caché de huella son agregadas a la memoria caché de huella, y la base de datos después es inmediatamente buscada para determinar si la huella existe en la base de datos. La determinación de sí las huellas entrantes concuerdan con cualquiera de las huellas en la memoria caché de huella es hecho utilizando técnicas de comparación de señal convencionales. Tales técnicas incluyen, por ejemplo, correlaciones cruzadas convencionales, una revisión lineal que directamente compara los puntos de la huella entrante con cada una de las huellas en memoria caché de huella. En cada caso, el ajuste preferiblemente es inexacto, como se noto anteriormente, debido a que las huellas calculadas por cualquiera de los diferentes clientes pueden variar de alguna forma, debido al ruido, interferencia, atenuación de señal, etc., incluso en donde las huellas son nominalmente calculadas a partir de las mismas porciones de la corriente de medios. La concordancia exacta puede ser utilizada, pero ha sido probada para ser menos efectiva al identificar correctamente huellas de concordancia. En una modalidad, la concordancia inexacta utiliza renormalización específica de huella digital, para mejorar precisión, como es conocido en la técnica, tal como se describió en la publicación titulada "análisis discrimínate de distorsión para impresión de huellas digitales de audio", por Christopher J. C. Burges, John C. Platt, y Soumya Jana, transacciones de IEEE en procesamiento de lenguaje y audio, transacciones de IEEE en procesamiento de lenguaje y audio, Vol. 11, No. 3, págs. 165-174, mayo 2003, la materia objeto del cual se incorpora aquí por referencia. En el caso de concordancia inexacta, la concordancia es determinada con respecto a alguna métrica de distancia / y un umbral q correspondiente. Por ejemplo, si las huellas son vectores de baja dimensión, para comparar directamente la huella entrante X con un grupo de huella guardado en memoria caché Y, una forma simple de hacer la comparación entre las huellas es evaluar simplemente la distancia Euclidiana cuadrada en la Ecuación 1, una vez para cada huella indexada por ;': á" (x¡ - y ¡ ¡ ) 2 < q ¡ Ecuación 1 ¡=1 en donde x¡ es el elemento iv0 de la huella, y¡j es el elemento iv0 de la huella guardada en memoria caché jvo, n es el número de componentes de un vector de huella, y q¡ es un umbral de distancia asociado con la j o huella guardada en memoria caché. Se debe notar que el método de comparación descrito anteriormente solo es uno de un gran número de técnicas convencionales para comparar señales o huellas. Tales métodos son bien conocidos por aquellos expertos en la técnica, y no serán descritos aquí. Sin embargo, se debe entender que cualquier técnica convencional para comparar dos señales o huellas es aplicable para utilizarse con el identificador de medios aquí descrito, y que el Identificador de Medios no pretende estar limitado al uso de la revisión lineal simple descrita anteriormente. Además, existe también un número de técnicas convencionales para acelerar las búsquedas de señales o huellas de concordancia. Un método simple es buscar simplemente la memoria caché con el fin de hacer concordar la frecuencia de ocurrencia de los anteriores. Claramente existen otros esquemas de aceleración de búsqueda convencionales, cualquiera de los cuales son aplicables para utilizarse con el Identificador de Medios aquí descrito. 3.2.4 Búsquedas de Bases de Datos Como se notó anteriormente, las búsquedas de bases de datos solo son realizadas en el caso que una huella entrante particular falle al concordar con cualquiera de las huellas en la memoria caché de huella. La búsqueda real de la base de datos de huella digital es realizada casi de la misma forma que la búsqueda de concordancias en la memoria caché de huella. De hecho, los mismos tipos de comparaciones de huella descritos anteriormente con respecto a búsquedas de memoria caché de huella son utilizados para comparar las huellas entrantes a las huellas digitales en la base de datos de huella digital. Sin embargo, se debe notar que la base de datos de huella digital es esperada para ser sustancialmente más grande que la memoria caché de huella. De hecho, una base de datos de objeto de medios que contiene solo impresiones de huella digital de canción puede ser esperado para fácilmente tener millones de entradas si va a ser representado completamente el espectro disponible de la música siendo fluida o transmitida a través del mundo. Consecuentemente, los métodos para acelerar la tendencia de búsqueda de base de datos para ser sustancialmente más importante que la aceleración de la búsqueda de memoria caché de huella. Con respecto a esto, la búsqueda con el fin de popularidad o frecuencia de tendencia de ocurrencia proporciona un aumento significativo en la realización, y es sustancialmente más probable que una canción muy popular sea fluida en una o más corriente de medio que otras canciones arcaicas con un artista desconocido. Medir la frecuencia de ocurrencia es una tarea fácilmente realizada. En particular, un método simple es para contar simplemente el número de veces que un objeto de medios particular es identificado en corrientes diferentes en diferentes momentos a través de algún periodo (al contar los golpes de memoria caché de huella y concordancia de base de datos). Para propósitos de búsqueda, las entradas en la base de datos de huella digital después pueden ser ordenadas con el fin de frecuencia de ocurrencia. Además, como se notó anteriormente, existe un número de técnicas convencionales para acelerar búsquedas de base de datos para hacer concordar señales o huellas, cualquiera de las cuales son aplicables para utilizarse con el ¡dentificador de medios aquí descrito. 3.1.5 Búsquedas de Base de Datos Locales En una modalidad, la carga de servidor además es reducida al actualizar automáticamente alguna parte pequeña o subgrupo de la base de datos de huella digital total (y también alguna parte posible de la memoria caché de huella) a uno o más de los clientes locales. Típicamente, las huellas y/o huellas digitales que son cargadas a los clientes individuales deben ser esas que son más frecuentemente observadas (es decir, esas huellas/huellas digitales correspondientes a los objetos de medios más populares). En esta modalidad, más que enviar inmediatamente cada huella calculada al servidor, cada cliente que tiene un subgrupo de la base de datos de huella digital y/o la memoria caché de huella (es decir, un "subgrupo de huella local") primero consultará al subgrupo de huella local antes de enviar cualquier huella calculada al servidor para propósitos de identificación. Si cualquier huella calculada concuerda con cualquiera de las huelas en el subgrupo de huella local, después cualquier información de identificación asociada con la huella de concordancia en el subgrupo de huella local es asignada a la huella calculada, y la huella calculada después no es enviada al servidor. De esta manera, al menos una carga dé identificación de medios puede ser descargada del servidor a uno o más de los clientes locales. Se debe notar que las huellas en el subgrupo de huella local puede contener muchas más huellas digitales por canción que esas en la base de datos de servidor completo, ya que el número de objetos de medios populares actualmente, tal como canciones, es relativamente pequeño comparado con la población completa de objetos de medios. Esto tiene la ventaja agregada de además reducir el número de huellas enviadas al servidor, ya que tan pronto como se hace una concordancia, el objeto de medios que actualmente está siendo utilizado puede ser revisado lógicamente contra el almacenamiento local de huellas digitales para ese objeto de medios tanto como el objeto de medios lo reproduce. Por ejemplo, si una huella digital fuera calculada cada 5 segundos para una canción, el cliente no tendría que enviar cualquiera de las huellas al servidor mientras encuentra la concordancia esperada cada 5 segundos. En otra modalidad, el cliente simplemente deja de enviar huellas al servidor tan pronto como se identifica una concordancia positiva, para dar duración del recordatorio del objeto de medios identificado, tal como canción S. Esta información de duración puede ser enviada al cliente a partir del servidor, junto con otra información de identificación, cuando se encuentra una concordancia positiva. Mientras esto es un método simple para aligerar la carga en el sistema de servidor/memoria caché, puede resultar en un negativo falso (eso es, un objeto de medios que debió haber sido identificado, pero no lo fue) si el usuario, por ejemplo, cambia las corrientes de medios antes del fin de la canción S identificada anteriormente. Sin embargo, este puede ser prevenido al mantener simplemente el rastro de cuando el cliente mantiene corrientes de cambios, y después inmediatamente comienza a enviar trazos al servidor otra vez (después de una primera revisión contra el subgrupo de huella local, si existe uno), en cualquier momento que ocurra un cambio de corriente. 3.1.6 Identificación de Objeto de Medios Como se notó anteriormente, la identificación de objetos de medios es realizada al hacer concordar una huela calculada por un cliente local con una huella, o huella digital, sostenida por el servidor (excepto en el caso de buscar el subgrupo de huella local, como se describió anteriormente). En cualquier momento que el servidor identifique una concordancia con una huella a una huella digital que tienen información de identificación de objeto de medios asociada, como se describió anteriormente, después esa información de objeto de medios es inmediatamente regresada del servidor al cliente particular que envió la huella de concordancia particular al servidor. Una vez que la información de identificación de objeto de medios ha sido recibida por el cliente, entonces el cliente puede hacer cualquier uso de esa información si lo desea. Por ejemplo, en el caso más simple, el cliente simplemente puede presentar la información de objeto de medios en tiempo real para informar al usuario que objeto de medios está actualmente siendo reproducido en la corriente de medios. Otros usos de la información de identificación de objeto de medios es para interpretar lista de reproducción locales que proporcionan un registro de historial local de los objetos de medios identificados en cualquiera de las corrientes verificadas por cada cliente individual. 3.2 Operación de Identificador de Medios Los procesos descritos anteriormente con respecto a la Figura 2 y la Figura 3 son ilustrados por el diagrama de flujo operacional general de la Figura 4. En general, la Figura 4 ilustra un diagrama de flujo operacional ilustrativo que muestra diferentes modalidades operacionales del Identificador de Medios. Se debe nota que cualquiera de los cuadros e interconexiones entre cuadros que son representados por líneas rotas o punteadas en la Figura 4 representan modalidades alternas del Identificador de Medios descrito aquí, y que cualquiera o todas de estas modalidades alternas, como se describe más adelante, pueden ser utilizadas en combinación con otras modalidades alternas que son descritas a través de este documento. Además, se debe notar que en la discusión posterior, el sistema generalmente es descrito con respecto a un cliente individual que opera con un servidor individual. Sin embargo, en vista de la discusión precedente, debe quedar claro que el Identificador de medios descrito aquí es completamente capaz de operar con un número extremadamente grande de clientes y cualquier número deseado de servidores. En particular, como se ilustró por la Figura 4, la operación del Identif icador de Medios comienza cuando el cliente 200 captura 405 una corriente de medios 210. La captura de corriente de medios es realizada utilizando métodos convencionales, incluyendo, por ejemplo, cambiar simplemente a una transmisión de radio o televisión, o suscribirse a una transmisión de medios de corriente o transmisión simultánea a través de una red tal como Internet. Tal corriente de medios 210 es capturada 405, el cliente regenera huellas de tiempo real 410 para muestras de la corriente de medios. Estas huellas de medios de tiempo real después son transmitidas 415 al servidor 230 utilizando protocolos de transmisión de red convencionales. El cálculo y transmisión de las huellas de medios continúa mientras la corriente de medios está siendo recibida, por tanto tiempo como el cliente desea tener información de identificación para los objetos de medios fijados en la corriente de medios. Sin embargo, como se notó anteriormente, en una modalidad, el cliente temporalmente suspenderá el cálculo y transmisión de huellas al servidor siguiendo el recibo de información de identificación de objeto de medios del servidor. Por ejemplo, como se notó anteriormente, las huellas digitales calculadas para la base de datos de huella digital son calculadas de las posiciones conocidas dentro de los objetos de medios conocidos. Consecuentemente, la longitud restante de duración de esos objetos de medios será conocida relativa a la huella calculada (menos del tiempo de retraso de envío de la huella al servidor y recibo de la identificación de objeto de medio de regreso del servidor). Por lo tanto, con esta modalidad, mientras esta información de duración es proporcionada con la información de identificación de objeto de medios, no habrá necesidad que el cliente ya sea que calcule o envíe cualquiera de las huellas adicionales al servidor hasta después del punto esperado del objeto de medios actualmente reproducido, sin embargo, en el caso que el cliente comience a capturar corriente de medios diferentes (tal como al cambiar estaciones de radio, por ejemplo) después el cálculo de huella y transmisión serán inmediatamente resumidas. Se debe quedar claro que esta modalidad puede sustancialmente reducir la carga de servidor al reducir dramáticamente el número de huellas enviadas al servidor siguiendo una identificación de objeto de medios exitosa regresada al cliente. Una vez que el servidor 230 recibe 420 las huellas transmitidas del servidor 200, el servidor revisa inmediatamente 425 la memoria caché de huella 240 para determinar 430 si existe una huella de concordancia en la memoria caché. Si existe una huella de concordancia en la memoria caché de huella, después la huella de concordancia en la memoria caché es examinada 435 para determinar si está asociada con un golpe de base de datos positivos. Si la huella de concordancia está asociada con un golpe de base de datos positivo, después la información de identificación de medios asociada con la huella de concordancia es inmediatamente transmitida 460 de regreso al cliente 200. De forma inversa, en el caso que la memoria caché de huella 240 no contenga una huella de concordancia, el siguiente paso es revisar 440 la base de datos de huella digital 250 en un intento para localizar una huella digital de concordancia. Si existe una concordancia de base de datos 445, entonces la huella es almacenada 450 a la memoria caché de huella 240, y la información de identificación de medios asociada con la huella de concordancia es inmediatamente transmitida 460 de regreso al cliente 200. En el caso que no exista concordancia de base de datos 445, entonces la huella es almacenada otra vez 450 a la memoria caché de huella 240 como un golpe negativo. En cualquier caso, ya sea que una concordancia 430 haya sido encontrada en la memoria caché de huella 240, o no, una concordancia 445 localizada en la base de datos, o no, y cualquier información de identificación de objeto de medios asociada transmitida 460 al cliente, después el servidor simplemente espera a que la siguiente huella sea enviada del cliente por comparación a las huellas y/o huellas digitales en la memoria caché de huella 240 y/o la base de datos de huella digital 250, respectivamente. Además, como se notó anteriormente, la memoria caché de huella 240 es manejado 455 en una base en curso para remover entradas de huella cuyo tiempo de vida ha expirado. Una vez que el cliente 200 recibe cualquier información de identificación de objeto de medios, esa información es procesada 465 por el cliente y proporcionada al usuario como es deseado. Por ejemplo, en una modalidad, la información de identificación de objeto de medios es utilizada para proporcionar una presentación de identidad de objeto de medios actual para el usuario mientras la corriente de medios es recibida y reproducida. Alternativamente, la información de identificación de objeto de medios puede ser utilizada para otros propósitos, incluyendo, pero no limitándose a, generación de lista de reproducción, caracterización de corriente de medios, análisis estático de la corriente de medios, etc. Finalmente, en otra modalidad, un subgrupo de la base de datos de huella digital 250 (y/o la memoria caché de huella 240) es descargado 470 por el cliente 200 desde el servidor 230 para actuar como una base de datos de huella digital local. Como se notó anteriormente, este subgrupo también puede contener huellas digitales adicionales que el mismo servidor no utiliza para búsqueda, con el fin de aumentar la cobertura, como se describió anteriormente (por ejemplo, el cliente puede revisar varias huellas digitales por canción). En particular, para huellas digitales adicionales de objetos de medios relativamente más populares (o más frecuentemente observado) son calculadas para cada objeto de medios por el servidor e incluidas en el subgrupo de huellas digitales descargadas a los clientes para reducir además llamados de servidor. Como se describió anteriormente, esta base de datos local después es buscada 475 por el cliente antes de transmitir 415 cualquier huella al servidor 230. En el caso que una concordancia de huella sea localizada en esta búsqueda de base de datos local, después la huella correspondiente no es enviada al servidor 230 para procesar como se describió anteriormente. La descripción anterior y el Identificador de Medios han sido presentados para los propósitos de ilustración y descripción. No se pretende que sean exhaustivos o que limiten la invención a la forma precisa descrita. Muchas modificaciones y variaciones son posibles en vista de la enseñanza anterior. Además, se debe notar que cualquiera o todas las modalidades alternas antes mencionadas pueden ser utilizadas en cualquier combinación deseada para formar modalidades de híbrido adicionales del Identificador de Medios. Se pretende que el alcance de la invención no esté limitado por esta descripción detallada, pero más que eso por las reivindicaciones anexas a esto.

Claims (27)

REIVINDICACIONES
1.- Un método para proporcionar identificación de objetos de medios fijados en corrientes de transmisión de medios verificados por cliente para cada una de la pluralidad de computadoras de cliente, que comprende utilizar un dispositivo de cómputo: para cada uno de la pluralidad de computadoras de cliente, transmitir huellas de corriente de medios generados por cliente para una computadora de servidor en una base en curso; para cada huella de corriente de medios transmitida recibida por el servidor, utilizar el servidor para buscar una memoria caché de huella para una huella de concordancia a la huella de corriente de medios; si la memoria caché de huella incluye una huella de concordancia, transmitir cualquier información de identificación de objeto de medios asociada con esa huella de concordancia del servidor al cliente correspondiente; si la memoria caché de huella no incluye una huella de concordancia, buscar una base de datos de huella digital para determinar si existe cualquiera de las huellas digitales de concordancia para la huella de corriente de medios y almacenar la huella de corriente de medios transmitida a la memoria caché de huella junto con resultados de la búsqueda de base de datos; y si la base de datos de huella digital incluye una huella digital de concordancia, transmitir la información de identificación de objeto de medios asociada con la huella digital del servidor al cliente correspondiente.
2. - El método de acuerdo con la reivindicación 1, en donde las huellas de medios generadas por cliente son calculadas y transmitidas por cada cliente en el orden de aproximadamente seis veces un segundo de muestras de la corriente de transmisión de medios en el orden de aproximadamente seis segundos de duración.
3. - El método de acuerdo con la reivindicación 1, en donde cada huella en la memoria caché de huella incluye un tiempo de vida predeterminado, y en donde cualquier huella que tiene un tiempo de vida expirado es removida de la memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada.
4. - El método de acuerdo con la reivindicación 3, en donde el tiempo de vida predeterminado es más grande para huellas que tienen información de identificación de objeto de medios asociado que las huellas que no tienen información de identificación de objeto de medios asociada.
5. - El método de acuerdo con la reivindicación 3, en donde el tiempo restante en el tiempo de vida predeterminado para una huella en la memoria caché de huella es restablecido al tiempo de vida predeterminado cuando la huella en la memoria caché de huella concuerda con una huella de corriente de medios.
6. - El método de acuerdo con la reivindicación 3, en donde las huellas en memoria caché de huella que son frecuentemente concordadas con las huellas de corriente de medios son persistentemente mantenidas en la memoria caché de huella sin importar el tiempo de vida predeterminado.
7.- El método de acuerdo con la reivindicación 1, en donde cada huella en la memoria caché de huella es removida de una memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada después de fallar en la concordancia con cualquiera de las huellas de corriente de medios transmitidas durante un periodo de tiempo predeterminado.
8.- El método de acuerdo con la reivindicación 1, en donde la memoria caché de huella tiene un tamaño fijo, y en donde una huella más vieja en la memoria caché de huella es removida de la memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada en cualquier momento que una huella de corriente de medios transmitida es almacenada a la memoria caché de huella.
9. - El método de acuerdo con la reivindicación 1, que además comprende cargar un subgrupo de una o más huellas digitales de la base de datos de huella digital y cero o más huellas de la memoria caché de huella y cualquier información de identificación de objeto de medios asociada con las huellas digitales cargadas y huellas del servidor a una o más computadoras del cliente.
10. - El método de acuerdo con la reivindicación 9, en donde las huellas digitales enviadas al cliente, aunque estén almacenadas en el servidor, no son utilizadas por el propio servidor para concordancia de huella.
11. - El método de acuerdo con la reivindicación 9, en donde el subgrupo de huellas digitales y huellas en cada cliente es buscado para una concordancia a cada huella de corriente de medios generada por el cliente correspondiente antes de transmitir las huellas de corriente de medios generadas por cliente a la computadora de servidor, y en donde las huellas de corriente de medios generadas por cliente no son enviadas a la computadora de servidor si esas huellas de corriente de medios generadas por cliente concuerdan con cualquiera de las entradas de huellas digitales y huellas en el subgrupo.
12. - El método de acuerdo con la reivindicación 1, en donde la información de identificación de objeto de medios transmitida a cada cliente correspondiente incluye una duración restante de un objeto de medios de corriente actual fijado en la corriente de transmisión de medios verificada por cliente, y en donde cualquier cliente que recibe tal información temporalmente suspende la transmisión de huellas de corriente de medios generadas por cliente al servidor por la duración restante del objeto de medios que actualmente fluye.
13.- El método de acuerdo con la reivindicación 12, en donde la transmisión de huellas de corriente de medios generadas por cliente al servidor es resumida tan pronto como el sistema detecta que el usuario ha cambiado a una corriente diferente.
14.- Un sistema para proporcionar identificación de objetos de medios fijados en corrientes de transmisión de medios para cada uno de la pluralidad de clientes, que comprende: verificar cualquiera de la pluralidad de transmisiones de corriente de medios en cada una de la pluralidad de computadoras de cliente; generar huellas de tiempo real de muestras de las transmisiones de corriente de medios verificadas en cada una de las computadoras de cliente; transmitir cada huella de tiempo real de cada computadora de cliente a un banco de una o más computadoras de servidor; para cada huella de tiempo real recibida por el banco de servidor, utilizar el banco de servidor para buscar una memoria caché de huella basado en servidor de una concordancia a la huella de tiempo real, y transmitir cualquier información de identificación de objeto de medios asociada con una huella de concordancia de la memoria caché de huella al cliente correspondiente; si la memoria caché de huella no incluye una concordancia a la huella de tiempo real, utilizar el banco de servidor para buscar una base de datos de huella digital basada en servidor para una concordancia de huella digital a la huella de tiempo real, transmitir cualquier información identificación de objeto de medios asociada con una huella digital de concordancia de la base de datos de huella digital al cliente correspondiente, y almacenar la huella de tiempo real a la memoria caché de huella junto con los resultados de la búsqueda de base de datos.
15.- El sistema de acuerdo con la reivindicación 14, en donde cada huella en la memoria caché de huella incluye un tiempo de vida predeterminado, y en donde cualquier huella que tiene un tiempo de vida expirado es removido de la memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada.
16. - El sistema de acuerdo con la reivindicación 15, en donde el tiempo de vida predeterminado es mayor para huellas que tienen información de identificación de objeto de medios asociada que para huellas que no tienen información de identificación de objeto de medios asociada.
17. - El sistema de acuerdo con la reivindicación 15, en donde el tiempo restante en el tiempo de vida predeterminado para una huella en la memoria caché de huella es preestablecido cuando la huella en la memoria caché de huella concuerda con una huella de corriente de medios.
18. - El sistema de acuerdo con la reivindicación 15, en donde las huellas en la memoria caché de huella que son frecuentemente concordadas con huellas de corriente de medios son persistentemente mantenidas en la memoria caché de huella sin importar el tiempo de vida predeterminado.
19. - El sistema de acuerdo con la reivindicación 14, en donde cada huella en la memoria caché de huella es removida de la memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada después de fallar al hacer concordar cualquiera de las huellas de corriente de medios transmitidas por un periodo de tiempo predeterminado.
20.- El sistema de acuerdo con la reivindicación 14, en donde la información de identificación de objeto de medios transmitida a cada cliente correspondiente incluye una duración restante de un objeto de medios de corriente actualmente fijado en la corriente de transmisión de medios verificado por cada cliente correspondiente, y en donde cada cliente que recibe tal información temporalmente suspende transmitir huellas de tiempo real al banco de servidor para la duración restante del objeto de medios de corriente actual.
21.- Un medio legible por computadora que tiene instrucciones l ejecutables por computadora para proporcionar identificación de objeto de medios a una pluralidad de computadoras de cliente, dichas instrucciones ejecutables por computadora comprenden: utilizar una pluralidad de computadoras de cliente para generar huellas de tiempo real secuencíales para muestras de corrientes de medios capturadas siendo verificadas por cada cliente; transmitir las huellas generadas a una computadora de servidor; y para cada huella transmitida, utilizar la computadora de servidor para: buscar una memoria caché de huella accesible por la computadora de servidor para determinar si la memoria caché de huella incluye una huella de concordancia, en el caso que la memoria caché de huella incluya una huella de concordancia, determinar si la huella de concordancia incluye cualquier información de identificación de objeto de medios asociada, y si es así, transmitir esa identificación de objeto de medios del servidor al cliente correspondiente, en el caso que la memoria caché de huella no incluya una huella de concordancia, buscar una base de datos de huella digital para determinar si existe cualquiera de las huellas digitales de concordancia y almacenar la huella transmitida a la memoria caché de huella junto con los resultados de la búsqueda de base de datos, y en el caso que la base de datos de huella digital incluya una huella digital de concordancia, transmitir información de identificación de objeto de medios asociada con la huella digital del servidor al cliente correspondiente.
22.- El medio legible por computadora de acuerdo con la reivindicación 21, en donde cada huella en la memoria caché de huella incluye un tiempo de vida predeterminado, y en donde cualquier huella que tiene un tiempo de vida expirado es removida de la memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada.
23.- El medio legible por computadora de acuerdo con la reivindicación 22, en donde el tiempo de vida predeterminado para una huella en la memoria caché de huella es reestablecido cuando la huella en la memoria caché de huella concuerda con una huella de corriente de medios.
24.- El medio legible por computadora de acuerdo con la reivindicación 22, en donde las huellas en la memoria caché de huella que son frecuentemente concordadas con huellas transmitidas, son persistentemente mantenidas en la memoria caché de huellas sin importar el tiempo de vida predeterminado.
25.- El medio legible por computadora de acuerdo con la reivindicación 21, en donde cada huella en la memoria caché de huella es removida de la memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada después de fallar al concordar con cualquiera de las huellas trasmitidas durante un periodo de tiempo predeterminado.
26. - El medio legible por computadora de acuerdo con la reivindicación 27, en donde la memoria caché de huella tiene un tamaño fijo, y en donde una huella más vieja en la memoria caché de huella es removida de la memoria caché de huella junto con cualquier información de identificación de objeto de medios asociada en cualquier momento que una huella transmitida es almacenada en la memoria caché de huella.
27. - El medio legible por computadora de acuerdo con la reivindicación 21, en donde la información de identificación de objeto de medios transmitida a cada cliente correspondiente incluye una duración restante de un objeto de medios de corriente actual fijado en la corriente de medios capturada verificada por cada cliente, y en donde cada cliente que recibe tal información temporalmente suspende la transmisión de huella a la computadora de servidor por la duración restante del objeto de medios de corriente actual.
MXPA05010665A 2004-11-02 2005-10-03 Sistema y metodo para acelerar busquedas de base de datos para multiples corrientes de datos sincronizados. MXPA05010665A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/980,684 US7574451B2 (en) 2004-11-02 2004-11-02 System and method for speeding up database lookups for multiple synchronized data streams

Publications (1)

Publication Number Publication Date
MXPA05010665A true MXPA05010665A (es) 2006-05-04

Family

ID=35810153

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA05010665A MXPA05010665A (es) 2004-11-02 2005-10-03 Sistema y metodo para acelerar busquedas de base de datos para multiples corrientes de datos sincronizados.

Country Status (13)

Country Link
US (1) US7574451B2 (es)
EP (1) EP1653381A3 (es)
JP (1) JP5031217B2 (es)
KR (1) KR101143115B1 (es)
CN (1) CN100507911C (es)
AU (1) AU2005209695B2 (es)
BR (1) BRPI0504265A (es)
CA (1) CA2519828C (es)
MX (1) MXPA05010665A (es)
MY (1) MY147083A (es)
RU (1) RU2422891C2 (es)
TW (1) TWI390924B (es)
ZA (1) ZA200507924B (es)

Families Citing this family (80)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173938A (ja) * 2003-12-10 2005-06-30 Pioneer Electronic Corp 曲検索装置、曲検索方法及び曲検索用プログラム並びに情報記録媒体
US7899564B2 (en) * 2004-11-09 2011-03-01 Bang & Olufsen Procedure and apparatus for generating automatic replay of recordings
US7886068B1 (en) * 2005-10-27 2011-02-08 Network Appliance, Inc. Management of streaming media playlists
US8239327B2 (en) * 2005-11-02 2012-08-07 Jump Technologies, Inc. System and method for user logging of audio and video broadcast content
US7872574B2 (en) * 2006-02-01 2011-01-18 Innovation Specialists, Llc Sensory enhancement systems and methods in personal electronic devices
US8495075B2 (en) * 2006-03-08 2013-07-23 Apple Inc. Fuzzy string matching of media meta-data
WO2007127881A2 (en) * 2006-04-26 2007-11-08 Business Controls, Inc. Anonymous reporting system
EP2070231B1 (en) * 2006-10-03 2013-07-03 Shazam Entertainment, Ltd. Method for high throughput of identification of distributed broadcast content
WO2008058093A2 (en) * 2006-11-03 2008-05-15 Google Inc. Content management system
US8301658B2 (en) 2006-11-03 2012-10-30 Google Inc. Site directed management of audio components of uploaded video files
US7945540B2 (en) * 2007-05-04 2011-05-17 Oracle International Corporation Method to create a partition-by time/tuple-based window in an event processing service
US20100275158A1 (en) * 2007-05-25 2010-10-28 Bang & Olufsen A/S System and a method for providing events to a user
JP5341095B2 (ja) * 2007-10-05 2013-11-13 ドルビー ラボラトリーズ ライセンシング コーポレイション メディア・コンテンツに信頼性よく対応するメディア・フィンガープリント
ES2326019B1 (es) * 2008-03-26 2010-07-07 Tuylek, S.L. "equipo multifuncion de medicion de datos vitales dotado de un sistema de tratamiento de datos centralizado".
US20110022633A1 (en) * 2008-03-31 2011-01-27 Dolby Laboratories Licensing Corporation Distributed media fingerprint repositories
CN101610281B (zh) * 2008-06-19 2012-11-21 华为技术有限公司 一种数据指纹保存方法和装置
US20100023328A1 (en) * 2008-07-28 2010-01-28 Griffin Jr Paul P Audio Recognition System
US8972410B2 (en) * 2008-07-30 2015-03-03 Hewlett-Packard Development Company, L.P. Identifying related objects in a computer database
US8428301B2 (en) 2008-08-22 2013-04-23 Dolby Laboratories Licensing Corporation Content identification and quality monitoring
US9390167B2 (en) * 2010-07-29 2016-07-12 Soundhound, Inc. System and methods for continuous audio matching
US20100198926A1 (en) * 2009-02-05 2010-08-05 Bang & Olufsen A/S Method and an apparatus for providing more of the same
US9633014B2 (en) 2009-04-08 2017-04-25 Google Inc. Policy based video content syndication
US8738354B2 (en) * 2009-06-19 2014-05-27 Microsoft Corporation Trans-lingual representation of text documents
US20110041154A1 (en) * 2009-08-14 2011-02-17 All Media Guide, Llc Content Recognition and Synchronization on a Television or Consumer Electronics Device
US8161071B2 (en) 2009-09-30 2012-04-17 United Video Properties, Inc. Systems and methods for audio asset storage and management
US8677400B2 (en) 2009-09-30 2014-03-18 United Video Properties, Inc. Systems and methods for identifying audio content using an interactive media guidance application
US8594392B2 (en) * 2009-11-18 2013-11-26 Yahoo! Inc. Media identification system for efficient matching of media items having common content
US8682145B2 (en) 2009-12-04 2014-03-25 Tivo Inc. Recording system based on multimedia content fingerprints
US20110258211A1 (en) * 2010-04-18 2011-10-20 Kalisky Ofer System and method for synchronous matching of media samples with broadcast media streams
US20120191231A1 (en) * 2010-05-04 2012-07-26 Shazam Entertainment Ltd. Methods and Systems for Identifying Content in Data Stream by a Client Device
EP2567332A1 (en) * 2010-05-04 2013-03-13 Shazam Entertainment Ltd. Methods and systems for processing a sample of a media stream
EP3418917B1 (en) * 2010-05-04 2022-08-17 Apple Inc. Methods and systems for synchronizing media
US20120136701A1 (en) * 2010-11-26 2012-05-31 Rohan Relan Method and system for faciliating interactive commercials in real time
US8935300B1 (en) * 2011-01-03 2015-01-13 Intellectual Ventures Fund 79 Llc Methods, devices, and mediums associated with content-searchable media
US8643703B1 (en) 2011-03-30 2014-02-04 Amazon Technologies, Inc. Viewer tracking image display
US9035163B1 (en) 2011-05-10 2015-05-19 Soundbound, Inc. System and method for targeting content based on identified audio and multimedia
KR101578279B1 (ko) * 2011-06-10 2015-12-28 샤잠 엔터테인먼트 리미티드 데이터 스트림 내 콘텐트를 식별하는 방법 및 시스템
KR101828342B1 (ko) 2011-08-10 2018-02-12 삼성전자 주식회사 방송수신장치, 방송신호 관련 연관정보 제공방법 및 서버
US8560719B2 (en) 2011-09-14 2013-10-15 Mobitv, Inc. Fragment server directed device fragment caching
KR101873364B1 (ko) 2011-09-27 2018-08-03 삼성전자 주식회사 방송수신장치, 방송신호 관련 연관정보 제공방법
US9852135B1 (en) * 2011-11-29 2017-12-26 Amazon Technologies, Inc. Context-aware caching
US9223902B1 (en) 2011-11-29 2015-12-29 Amazon Technologies, Inc. Architectures for content identification
US9292894B2 (en) * 2012-03-14 2016-03-22 Digimarc Corporation Content recognition and synchronization using local caching
KR101404596B1 (ko) 2012-05-03 2014-06-11 (주)엔써즈 이미지에 기반하여 동영상 서비스를 제공하는 시스템 및 방법
KR101396413B1 (ko) * 2012-05-07 2014-05-19 주식회사 마크애니 디지털 핑거프린팅을 이용한 정보 제공 시스템 및 방법
WO2014004914A1 (en) * 2012-06-28 2014-01-03 Google Inc. Generating a sequence of audio fingerprints at a set top box
US9113203B2 (en) 2012-06-28 2015-08-18 Google Inc. Generating a sequence of audio fingerprints at a set top box
US8843952B2 (en) 2012-06-28 2014-09-23 Google Inc. Determining TV program information based on analysis of audio fingerprints
CN102880973A (zh) * 2012-09-05 2013-01-16 常州嘴馋了信息科技有限公司 网页广告播放管理系统
US9661361B2 (en) 2012-09-19 2017-05-23 Google Inc. Systems and methods for live media content matching
GB2506897A (en) * 2012-10-11 2014-04-16 Imagination Tech Ltd Obtaining stored music track information for a music track playing on a radio broadcast signal
US20140188592A1 (en) * 2012-12-27 2014-07-03 Magix Ag Content recognition based evaluation system in a mobile environment
EP2750055A1 (en) * 2012-12-27 2014-07-02 Magix AG System and method for content recognition in portable devices
US9053121B2 (en) 2013-01-10 2015-06-09 International Business Machines Corporation Real-time identification of data candidates for classification based compression
US9564918B2 (en) 2013-01-10 2017-02-07 International Business Machines Corporation Real-time reduction of CPU overhead for data compression
US9792350B2 (en) * 2013-01-10 2017-10-17 International Business Machines Corporation Real-time classification of data into data compression domains
KR101462113B1 (ko) * 2013-01-16 2014-11-17 네이버 주식회사 방송의 멀티미디어 유전자를 통한 그룹핑 시스템, 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US9009103B2 (en) * 2013-03-15 2015-04-14 Microsoft Technology Licensing, Llc Fingerprint-based, intelligent, content pre-fetching
KR101456926B1 (ko) * 2013-06-14 2014-10-31 (주)엔써즈 핑거프린트에 기반한 광고 검출 시스템 및 방법
US11252213B2 (en) 2013-08-15 2022-02-15 Comcast Cable Communications, Llc Multiple flinging devices in a media fling system
US9552205B2 (en) 2013-09-27 2017-01-24 Intel Corporation Vector indexed memory access plus arithmetic and/or logical operation processors, methods, systems, and instructions
TWI526966B (zh) 2013-11-25 2016-03-21 財團法人資訊工業策進會 資料處理裝置及資料處理方法
US9749416B2 (en) * 2013-11-26 2017-08-29 International Business Machines Corporation Managing inventory data for a distributed cache provided by a plurality of wireless mobile devices
US20150193199A1 (en) * 2014-01-07 2015-07-09 Qualcomm Incorporated Tracking music in audio stream
US9430474B2 (en) * 2014-01-15 2016-08-30 Microsoft Technology Licensing, Llc Automated multimedia content recognition
KR102166423B1 (ko) * 2014-03-05 2020-10-15 삼성전자주식회사 디스플레이 장치, 서버 장치 및 디스플레이 장치의 이벤트 정보 제공 방법
US9710220B2 (en) * 2014-10-24 2017-07-18 Sony Corporation Context-sensitive media classification
KR102217191B1 (ko) * 2014-11-05 2021-02-18 삼성전자주식회사 단말 장치 및 그 정보 제공 방법
US9946489B2 (en) 2016-07-27 2018-04-17 Western Digital Technologies, Inc. Multi-stream journaled replay
RU172737U1 (ru) * 2017-04-18 2017-07-21 Общество с ограниченной ответственностью "ДЖЕНТ КЛАБ" Устройство для идентификации музыкальных произведений
US10972203B2 (en) * 2017-06-12 2021-04-06 Gracenote, Inc. Detecting and responding to rendering of interactive video content
KR102546026B1 (ko) 2018-05-21 2023-06-22 삼성전자주식회사 전자 장치 및 그의 컨텐츠 인식 정보 획득
GB201810202D0 (en) * 2018-06-21 2018-08-08 Magus Communications Ltd Answer machine detection method & apparatus
KR102599951B1 (ko) 2018-06-25 2023-11-09 삼성전자주식회사 전자 장치 및 그의 제어방법
KR20200080387A (ko) 2018-12-18 2020-07-07 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
US11334746B2 (en) * 2019-05-01 2022-05-17 EMC IP Holding Company LLC Facial recognition for multi-stream video using high probability group
CN111966887A (zh) * 2019-05-20 2020-11-20 北京沃东天骏信息技术有限公司 动态缓存方法及装置、电子设备、存储介质
CN110647077B (zh) * 2019-09-26 2020-12-25 珠海格力电器股份有限公司 一种工控装置的控制方法、系统、存储介质及工控装置
US20210200741A1 (en) * 2019-12-30 2021-07-01 Imperva, Inc. Passive classification of data in a database based on an event log database
CN116825129B (zh) * 2023-05-09 2024-02-09 广东保伦电子股份有限公司 一种音频流精确分发的方法、设备及介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5958008A (en) * 1996-10-15 1999-09-28 Mercury Interactive Corporation Software system and associated methods for scanning and mapping dynamically-generated web documents
US5944815A (en) * 1998-01-12 1999-08-31 Advanced Micro Devices, Inc. Microprocessor configured to execute a prefetch instruction including an access count field defining an expected number of access
US6721740B1 (en) 1998-05-29 2004-04-13 Sun Microsystems, Inc. Method and apparatus of performing active update notification
US7174293B2 (en) * 1999-09-21 2007-02-06 Iceberg Industries Llc Audio identification system and method
US6952737B1 (en) * 2000-03-03 2005-10-04 Intel Corporation Method and apparatus for accessing remote storage in a distributed storage cluster architecture
US6990453B2 (en) * 2000-07-31 2006-01-24 Landmark Digital Services Llc System and methods for recognizing sound and music signals in high noise and distortion
KR20020053979A (ko) * 2000-12-26 2002-07-06 오길록 내용 기반의 음악 자료 검색 시스템 및 그 방법
JP2004536348A (ja) * 2001-07-20 2004-12-02 グレースノート インコーポレイテッド 録音の自動識別
US20030028796A1 (en) * 2001-07-31 2003-02-06 Gracenote, Inc. Multiple step identification of recordings
US20030055910A1 (en) * 2001-09-19 2003-03-20 International Business Machines Corporation Method and apparatus to manage data on a satellite data server
US7509393B2 (en) * 2001-12-19 2009-03-24 International Business Machines Corporation Method and system for caching role-specific fragments
DE60302651T2 (de) * 2002-02-06 2006-08-10 Koninklijke Philips Electronics N.V. Schnelles hash-basiertes metadatenretrieval für multimediaobjekte
US20040003101A1 (en) * 2002-06-26 2004-01-01 Roth David J. Caching control for streaming media
US7089396B2 (en) 2002-10-10 2006-08-08 International Business Machines Corporation Method and profiling cache for management of virtual memory
US20040143349A1 (en) * 2002-10-28 2004-07-22 Gracenote, Inc. Personal audio recording system
KR100468325B1 (ko) * 2003-03-28 2005-01-27 주식회사 프리챌 P2p서비스 방법
US20040260682A1 (en) * 2003-06-19 2004-12-23 Microsoft Corporation System and method for identifying content and managing information corresponding to objects in a signal

Also Published As

Publication number Publication date
JP5031217B2 (ja) 2012-09-19
KR101143115B1 (ko) 2012-05-08
AU2005209695A1 (en) 2006-05-18
CN1770156A (zh) 2006-05-10
BRPI0504265A (pt) 2006-06-27
AU2005209695B2 (en) 2011-02-10
EP1653381A3 (en) 2006-09-13
RU2422891C2 (ru) 2011-06-27
CA2519828C (en) 2013-06-25
KR20060051233A (ko) 2006-05-19
US7574451B2 (en) 2009-08-11
US20060106867A1 (en) 2006-05-18
JP2006146883A (ja) 2006-06-08
MY147083A (en) 2012-10-31
RU2005132924A (ru) 2007-04-27
EP1653381A2 (en) 2006-05-03
CN100507911C (zh) 2009-07-01
CA2519828A1 (en) 2006-05-02
TW200627884A (en) 2006-08-01
TWI390924B (zh) 2013-03-21
ZA200507924B (en) 2007-12-27

Similar Documents

Publication Publication Date Title
MXPA05010665A (es) Sistema y metodo para acelerar busquedas de base de datos para multiples corrientes de datos sincronizados.
EP1474760B1 (en) Fast hash-based multimedia object metadata retrieval
US10025841B2 (en) Play list generation method and apparatus
US7877438B2 (en) Method and apparatus for identifying new media content
US7788696B2 (en) Inferring information about media stream objects
KR100988996B1 (ko) 반복 미디어 객체의 범위 결정 방법, 및 컴퓨터 판독가능 기록매체
CN1759396A (zh) 改进的数据检索方法和系统
US8819408B2 (en) Document processing method and system
US20130159694A1 (en) Document processing method and system
US20150254342A1 (en) Video dna (vdna) method and system for multi-dimensional content matching
CN116319467B (zh) 基于idc机房双向流量的深度合成音频检测方法及系统
WO2022161291A1 (zh) 一种音频搜索方法、装置、计算机设备和存储介质
WO2022194277A1 (zh) 音频指纹的处理方法、装置、计算机设备和存储介质
US20100332541A1 (en) Method for identifying a multimedia document in a reference base, corresponding computer program and identification device
CN114756901B (zh) 操作性风险监控方法及装置
Liu et al. On real-time detecting duplicate web videos
WO2006112843A1 (en) Distributed acoustic fingerprint based recognition

Legal Events

Date Code Title Description
FG Grant or registration