MXPA04006188A - Procesador de medios de fundacion de medios. - Google Patents

Procesador de medios de fundacion de medios.

Info

Publication number
MXPA04006188A
MXPA04006188A MXPA04006188A MXPA04006188A MXPA04006188A MX PA04006188 A MXPA04006188 A MX PA04006188A MX PA04006188 A MXPA04006188 A MX PA04006188A MX PA04006188 A MXPA04006188 A MX PA04006188A MX PA04006188 A MXPA04006188 A MX PA04006188A
Authority
MX
Mexico
Prior art keywords
topology
media
multimedia
data
media processor
Prior art date
Application number
MXPA04006188A
Other languages
English (en)
Inventor
Baig Mohammed Sohail
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 MXPA04006188A publication Critical patent/MXPA04006188A/es

Links

Classifications

    • 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
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/10Arrangements for initial synchronisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/40Combinations of multiple record carriers

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Power Sources (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Un sistema y metodo para que un procesador de medios separe las funciones de la creacion y el mantenimiento de topologia de las funciones de procesamiento de datos a traves de una topologia. El sistema incluye un capa de control que incluye un elemento generador de topologia para generar una topologia que describe un grupo de corrientes multimedia de entrada, una o mas fuentes para las corrientes multimedia de entrada, una secuencia de operaciones para realizarse sobre los datos multimedia, y un grupo de corrientes multimedia de salida, y un procesador de medios para gobernar el paso de los datos multimedia como se describe en la topologia y gobernar el funcionamiento de la secuencia de las operaciones multimedia sobre los datos multimedia para crear el grupo de corrientes multimedia de salida. La capa de nucleo incluye las corrientes de medios de entrada, las fuentes para las corrientes multimedia de entrada, una o mas transformaciones para operarse sobre los datos multimedia, almacenes de corrientes y almacenes de medios para proporcionar el grupo de corrientes multimedia de salida.

Description

PROCESADOR DE MEDIOS DE FUNDACION DE MEDIOS CAMPO TECNICO Esta invención se refiere en general a la computación y, más particularmente, se refiere al manejo de los datos multimedia en un ambiente de computación.
ANTECEDENTES DE LA INVENCION Ya que las habilidades de las computadoras se expanden dentro de los géneros del entretenimiento que alguna vez requirieron de componentes electrónicos separados, son deseables el incremento en la eficiencia y la amigabilidad para el usuario. Una solución es DirectShow® de Microsoft®, el cual provee la reproducción de corrientes multimedia de archivos locales o servidores de Internet, captura de corrientes multimedia de dispositivos, y conversión de formatos de corrientes multimedia. DirectShow® habilita la reproducción de contenido de video y de audio de tipos de archivos tales como Windows Media Audio, Windows Media Video, MPEG, Apple® QuickTime®, Audio-Video Interfoliado (AVI), y WAV. DirectShow® incluye un sistema de componentes de filtro que se pueden conectar. Los filtros son objetos que soportan interfases de DirectShow® y pueden operar sobre corrientes de datos leyendo, copiando, modificando y escribiendo datos a un archivo. Los tipos básicos de filtros incluyen un filtro fuente, el cual toma los datos de la misma fuente, tal como un archivo en un disco, una alimentación por satélite, un servidor de Internet, o una VCR, y los introduce dentro de la gráfica del filtro la cual está en conexión con los filtros. La gráfica del filtro proporciona un filtro de transformación, el cual convierte el formato de los datos, una sincronización y el filtro fuente el cual recibe datos y transmite los datos; y un filtro de presentación, el cual presenta los datos, tal como la presentación de los datos en un dispositivo de despliegue. Los datos también pueden ser presentados en cualquier ubicación que acepte medios. Otros tipos de filtros incluidos en DirectShow® incluyen filtros de efectos, los cuales agregan efectos sin cambiar el tipo de datos, y filtros de análisis, los cuales entienden el formato de los datos fuente y sabe cómo leer los bytes correctos, crear estampas de tiempo, y realizar búsquedas. Por lo tanto, todos los datos pasan de filtro a filtro junto con una buena negociación de la información de control. Cuando los filtros son conectados utilizando los pins, se crea una gráfica. Para controlar el flujo de datos y conexiones en una gráfica de filtro, DirectShow® incluye un administrador de la gráfica de filtro. El administrador de la gráfica de filtro ayuda en asegurarse de que los filtros estén conectados en orden apropiado, pero los datos y la mayor parte del control no pasan a través del administrador de la gráfica de filtro. Los filtros deben ser apropiadamente enlazados. Por ejemplo, el administrador de la gráfica de filtro debe buscar una configuración de la presentación, determinar los tipos de filtros disponibles, enlazar los filtros en el orden apropiado para un tipo de datos y proporcionar un filtro de presentación apropiado. Ya que los filtros permiten mucho la reutilización de programas, el uso de los filtros también crea algunos problemas no anticipados. Uno de los problemas creados por los filtros es el gran número de APIs para los filtros que aparecen. Cada filtro esencialmente tiene una API separada. Por lo tanto, un filtro dado puede ser capaz de interconectarse a la API para cada filtro al cual se debería de unir. También, el uso de filtros crea el problema de desactivar un filtro dado problemático. Cuando un filtro dado es una gráfica es desactivado, ningún filtro que se interconecte con el filtro desactivado requiere de una interfase asociada diferente. En general, la programación de un filtro que elegantemente maneje la pérdida de una interfase es difícil, ya que el estado del filtro puede ser desconocido cuando se pierde la interfase. La pérdida de la interfase, por lo tanto, tiende a dirigirse a un comportamiento no pronosticado en los filtros y finalmente a los programas con un comportamiento dañado. Además, el control global en DirectShow® se distribuye entre dos bloques. La interfase entre los controles de filtros del flujo de datos mientras el administrador de filtros controla la ilustración y remoción de los filtros. Al distribuir el control en esta manera, hace el diseño del software embarazoso ya que existen inevitablemente algunas funciones de control las cuales cruzan los límites entre los bloques. Otro problema con DirectShow es que los filtros cargan con la responsabilidad de la negociación del formato de los medios y la funcionalidad de la administración de la memoria temporal. Los filtros se comunican con otros filtros para lograr sus tareas. La dependencia de los filtros causa que las aplicaciones que se construyen sobre DirectShow® sean susceptibles de errores e ineficiencias que podrían ser programadas en un filtro. De esta manera, un filtro mal escrito podría fácilmente derribar la gráfica del filtro y una aplicación asociada con la gráfica de filtro. Existe una necesidad para abordar los problemas con la arquitectura de DirectShow®. Más particularmente, existe una necesidad para mejorar el control del procesamiento de datos multimedia y abordar la dependencia de los filtros para comunicaciones entre componentes multimedia.
COMPENDIO DE LA INVENCION Por consiguiente, los sistemas y métodos de procesamiento de funciones de control separan datos multimedia y de funciones de manejo de datos, por lo tanto proporcionando el procesamiento eficiente de corrientes multimedia. Un método proporciona la creación de una topología de conexiones entre uno o más componentes multimedia en una topología que genera un elemento, la topología describe un grupo de corrientes multimedia de entrada, una o más fuentes de corrientes multimedia de entrada, una secuencia de operaciones para realizarlas en los datos multimedia, y un grupo de corrientes multimedia de salida. El método además proporciona la transmisión de la topología a un procesador de medios, y aprueba los datos de acuerdo con la topología, esta aprobación gobernada por el procesador de medios. La topología genera el elemento, el cual puede ser un cargador de topología, o una aplicación, que se realiza fuera del alcance gobernado a través del procesador de medios. El procesador de medios gobierna la realización de la secuencia de operaciones multimedia en los datos multimedia para crear el grupo de corrientes multimedia de salida. En una modalidad, los componentes multimedia son objetos de software. Otra modalidad proporciona un método para cambiar una primera topología en uso a través de un procesador de medios mientras el procesador de medios está activo. De acuerdo con el método, el procesador de medios conservar el estado presente del procesador de medios, recibe instrucciones para convertir la primera topología en una segunda topología, y actualiza la primera topología a la segunda topología de acuerdo con las instrucciones. Las instrucciones pueden contener la diferencia entre la primera topología y la segunda topología. Después de actualizar la primera topología a la segunda topología, el procesador de medios resume la actividad de la interfase después de actualizar la primera topología a la segunda topología, envía mensajes a una aplicación. Antes de que la topología cambie, el procesador de medios puede ser configurado para permitir llamadas de mensajes. Las instrucciones para convertir la primera topología pueden ser recibidas a través de un mensaje de una fuente externa para iniciar el proceso de cambiar la primera topología. Otra modalidad está dirigida a un método para determinar cómo utilizar un grupo de componentes multimedia para realizar una secuencia de operaciones multimedia sobre una o más corrientes de datos multimedia. El método es repetitivo en que el uso de los componentes multimedia se determina investigando componentes anteriores para los datos de muestra disponibles. El método incluye localizar uno o más componentes multimedia con salidas conectadas a una entrada de un dispositivo disipador, investigando los componentes multimedia para determinar si una muestra está disponible, la investigación puede incluir la verificación de entradas a los componentes multimedia si una muestra no está disponible. Si las entradas no tienen una muestra disponible, se verifica la fuente de medios para alimentar los componentes multimedia para una muestra. Si la fuente de medios no tiene una muestra disponible, el método proporciona para llevar a cabo una terminación de la función de archivo o declaración de una condición de error. Si la muestra está disponible, el método proporciona mover la muestra a un siguiente componente multimedia de los componentes multimedia. Otra modalidad está dirigida a un método para recuperar una sección de una corriente de medios, el cual puede ser referido como "raspando". El método incluye guardar en la memoria caché la sección de una corriente de medios. La sección guardada en la memoria caché puede contener un punto de presentación de la corriente de medios. El método entonces proporciona la recepción de una solicitud de una fuente externa para el procesador de medios para recuperar la sección guardada en la memoria caché de la corriente de medios, y buscar identificar si la sección de la corriente de medios fue guardada en la memoria caché. Si la sección de la corriente de medios fue guardada en la memoria caché, el método proporciona la transferencia de la sección guardada en la memoria caché solicitada. La acción de guardar en la memoria puede ser de acuerdo con las configuraciones del usuario en una aplicación, las cuales pueden incluir si o no guardar en la memoria caché, un número de marcos y un números de muestras que van a estar contenidas en la sección guardada en la memoria caché. En una modalidad, la sección guardada en la memoria caché son datos de video continuos.
BREVE DESCRIPCION DE LOS DIBUJOS Mientras las reivindicaciones anexas establecen las características de la presente invención con particularidad, la invención, junto con sus objetos y ventajas, puede ser mejor entendida a partir de la siguiente descripción detallada tomada en conjunción con los dibujos que la acompañan, en los cuales: La Figura 1 es un diagrama de bloque que en general ¡lustra un sistema de computación distribuido ilustrativo con el cual la presente invención puede ser implementada; La Figura 2 es un diagrama de bloque de un sistema de fundación de medios de acuerdo con modalidades de la presente invención . La Figura 3 es un diagrama de flujo de un ejemplo del flujo de datos en el procesador de medios requerido para reproducir un DVD de acuerdo con modalidades de la presente invención. La Figura 4 es un diagrama de bloque que ilustra cómo el flujo de datos se implementa en el procesador de medios de acuerdo con modalidades de la presente invención. La Figura 5 es un diagrama de flujo de un cambio de topología de dinámica en el procesador de medios de acuerdo con modalidades de la presente invención. La Figura 6 es un diagrama de flujo que ejemplifica un proceso para raspar, de acuerdo con modalidades de la presente invención.
DESCRIPCION DETALLADA DE LA INVENCION Cambiando a la Figura 1, se muestra un dispositivo de computación ilustrativo 100 en el cual la invención puede ser implementada. El dispositivo de computación 100 es solamente un ejemplo de un dispositivo de computación adecuado y no pretende sugerir ninguna limitación al alcance del uso o funcionalidad de la invención. Por ejemplo, el dispositivo de computación ilustrativo 100 no es equivalente a ninguno de los dispositivos de computación 10- 17 ilustrados en la Figura 1. El dispositivo de computación ilustrativo 100 puede implementar uno o más dispositivo de computación 10-17, tal como a través de particiones de memoria, máquinas virtuales, o técnicas de computación similares, permitiendo una estructura de computación física para realizar las acciones descritas a continuación según atribuidas a estructuras múltiples. La invención puede ser descrita en el contexto general de instrucciones ejecutables por computadora, tales como módulos de programa, siendo ejecutados por una computadora. En general, los módulos de programa incluyen rutinas, programas, objetos, componentes, estructuras de datos, etc., que realizan tareas particulares, o implementan tipos de datos abstractos. En ambientes de computación distribuidos, las tareas pueden ser llevadas a cabo a través de dispositivos de procesamiento remoto que están enlazados a través de una red de comunicaciones. En un ambiente de computación distribuido, los módulos de programa pueden estar localizados en ambos medios de almacenamiento local y remoto incluyendo dispositivos de almacenamiento de memoria. Los componentes del dispositivo de computadora 100 pueden incluir, pero no se limitan a, una unidad de procesamiento 120, una memoria del sistema 130, y un conductor común del sistema 121 que acopla varios componentes del sistema incluyendo la memoria del sistema a la unidad de procesamiento 120. El conductor común del sistema 121 puede ser cualquiera de varios 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 utilizando cualquiera de una variedad dé estructuras de conductores comunes. A manera de ejemplo, y no limitación, dichas arquitecturas incluyen el conductor común de Arquitectura Estándar de la Industria (ISA), el conductor común de la Arquitectura del Canal Micro (MCA), el conductor común Mejorado ISA (EISA), el conductor común local de la Asociación de Estándares Electrónicos de Video (VESA), y el conductor común de Interconexión del Componente Periférico (PCI) también conocido como conductor común Mezanine. El dispositivo de computación 100 típicamente incluye una variedad de medios legibles por computadora. Los medios legibles por computadora pueden ser cualquier medio disponible que pueda ser accedido por la computadora 100 e incluye medios volátiles y no volátiles, medios removibles y no removibles. A manera de ejemplo, y no 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 ambos medios volátiles y no volátiles, removibles y no removibles implementados en cualquier método o tecnología para el 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, EEPROM, memoria no volátil, u otra tecnología de memoria, CDROM, discos versátiles digitales (DVD) u otro almacenamiento en disco óptico, casetes magnéticos, cinta magnética, almacenamiento en disco magnético y otros dispositivos de almacenamiento magnético, o cualquier otro medio que puede ser utilizado para almacenar la información deseada y que puede ser accedida por la computadora 100. Los medios de comunicación típicamente modalizan las 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 portadora, u otro tipo de mecanismo de transporte e incluye cualquier medio de distribución 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 en tal forma que codifica la información en la señal. A manera de ejemplo, y no limitación, los medios de comunicación incluyen medios por cable tal como una red cableada o conexión directa-cableada, y medios inalámbricos tal como medios inalámbricos acústicos, RF, infrarrojos y otros medios inalámbricos. Las combinaciones de cualquiera de los anteriores también se pueden incluir dentro del alcance de los medios legibles por computadora. La memoria del sistema 130 incluye medios de almacenamiento por computadora en la forma de memoria volátil y/o no volátil tales 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 la transferencia de información entre elementos dentro de la computadora 110, tales como durante el arranque, se almacenan tópicamente en ROM 131. RAM 132 típicamente contiene datos y/o módulos de programa que son inmediatamente accesibles para y/o actualmente siendo operados por la unidad de procesamiento 120. A manera de ejemplo, y no limitación, La Figura 1 ilustra el sistema operativo 134, programas de aplicación 135, otros módulos de programa 136, y datos de programa 137. La computadora 100 también puede incluir otros medios de almacenamiento removibles/no removibles, volátiles/no volátiles. A manera de ejemplo solamente, la Figura 1 ilustra una unidad de disco duro 141 que lee de o escribe en el medio no removible, no volátil magnético, una unidad de disco duro magnética 151 que lee de o escribe en un disco magnético removible, no volátil 152, y una unidad de disco óptico 155 que lee de o escribe en una disco óptico no volátil 156, tal como un CD ROM u otro medio óptico. Otros medios de almacenamiento por computadora removibles/no removibles, volátiles/no volátiles que pueden ser utilizados en el ambiente de operación ilustrativo incluyen, pero no se limitan a, casetes de cinta magnética, tarjetas de memoria no volátil, discos versátiles digitales, cintas de video digitales, RAM de estado sólido, ROM de estado sólido, y similares. La unidad de disco duro 141 está típicamente conectada al conductor común del sistema 121 a través de la interfase de memoria no removible tal como la interfase 140, una unidad de disco magnético 151 y una unidad de disco óptico 155 están típicamente conectados al conductor común del sistema 121 a través de la 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 almacenamiento de instrucciones legibles por computadora, estructuras de datos, módulos de programa y otros datos para la computadora 100. En la Figura 1, por ejemplo, la unidad de disco duro 141 está ilustrada como almacenando el sistema operativo 144, los programas de aplicación 145, otros módulos de programa 146, y los datos de programa 147. Observar que estos componentes pueden ya sea ser el mismo o diferentes del sistema operativo 134, programas de aplicación 135, oros módulos de programa 136 y datos de programa 137. Al sistema operativo 144, programas de aplicación 145, otros módulos de programa 146, y datos de programa 147 se les han dado números diferentes aquí para ilustrar que, al mínimo, son diferentes copias. Un usuario puede capturar comandos e información en la computadora 100 a través de los dispositivos de entrada tales como un teclado 162 y un dispositivo de apuntamiento 161, comúnmente referido como un ratón, seguibola o almohadilla sensible al tacto. Otros dispositivos de entrada (no mostrados) pueden incluir un micrófono, palanca de mandos, almohadillas de juegos, antena parabólica, escáner o similar. Estos y otros dispositivos de entrada por lo general están conectados a la unidad de procesamiento 120 a través de una interfase de usuario 160 que está acoplada al conductor común del sistema, pero pueden estar conectados a través de otras interfases y estructuras de conductores comunes, tales como un puerto paralelo, un puerto de juego o conductor común serial universal (USB). Un monitor 191 u otro tipo de dispositivo de pantalla también está conectado al conductor común del sistema 121 a través de una interfase, tal como una interfase de video 190. Además del monitor, las computadoras también pueden incluir otros dispositivos de salida periféricos tales como bocinas 197 y la impresora 196, los cuales pueden conectarse a través de una interfase periférica de salida 195. El dispositivo de computación 100 opera en un ambiente conectado tal como aquel mostrado en la Figura 1, utilizando conexiones lógicas a una o más computadoras remotas. La Figura 1 ilustra una conexión en red general 171 a un dispositivo de computación remoto 180. La conexión en red general 171 puede ser cualquiera de varios tipos diferentes de conexiones en red, incluyendo una Red de Área Local (LAN), una Red de Área Amplia (WAN), redes conformándose al protocolo Ethernet, el protocolo Token-Ring, u otras redes lógicas o físicas tales como el Internet o la Red de Area Mundial. Cuando se utiliza en un ambiente conectado en red, el dispositivo de computación 100 está conectado a una conexión de red general 171 a través de una interfase de red o adaptador 100, el cual puede ser una tarjeta de interfase de red, un módem, o dispositivo de conexión en red similar. En un ambiente conectado en red, los módulos de programa descritos con relación al dispositivo de computación 100, o porciones del mismo, puede ser almacenados en el dispositivo de almacenamiento remoto. Aquellos con experiencia en la técnica apreciarán que las conexiones en red mostradas son ilustrativas y otros medios de establecer un enlace de comunicación entre las computadoras pueden ser utilizados. En la descripción que sigue, la invención será descrita con referencia a las acciones y representaciones simbólicas de las operaciones que son realizadas a través de uno o más dispositivos de computación, a menos que se indique otra cosa. Es decir, se entenderá que dichas acciones y operaciones, las cuales a veces son referidas como siendo ejecutadas por computadora, incluyen la manipulación a través de la unidad de procesamiento del dispositivo de computación de señales eléctricas representando datos en una forma estructurada. Esta manipulación transforma los datos o los mantiene en sus lugares en el sistema de memoria del dispositivo de computación, el cual reconfigura o de otra forma altera la operación del dispositivo de computación en una forma bien entendida por aquellos con experiencia en la técnica. Las estructuras de datos en donde se mantienen los datos con ubicaciones físicas de memoria que tienen propiedades particulares definidas por el formato de los datos. Sin embargo, mientras la invención está siendo descrita en el contexto anterior, no pretende ser limitante como aquellos con experiencia en la técnica apreciarán que varias de las acciones y operaciones descritas de aquí en adelante también pueden ser implementadas en hardware. Haciendo referencia a la Figura 2, in diagrama de bloque ilustra un sistema de fundación de medios 200. La capa del núcleo 211 incluye la fuente de medios 210, transformaciones 208, y el almacén de medios 230. El sistema de fundación de medios 200 se muestra acoplado a la aplicación 202 para recibir y enviar corrientes de medios. La capa de control 201 incluye el motor de medios 260, la sesión de medios 240, el procesador de medios 220 y el cargador de topología 250. Los datos fluyen a través de la fundación de medios 200 empezando con una fuente de medios 210 en la sesión de medios 240 y después en el procesador de medios 220. Del procesador de medios 220 los datos fluirán dentro de las transformaciones 208 y de regreso al procesador de medios 220 una o más veces. Los datos entonces fluirán del procesador de medios 220 dentro de la sesión de medios 240 y después dentro del almacén de medios 212. El motor de medio 260 proporciona control a una interfase a la aplicación 202 y proporciona control global de la capa de control 201, y el cargador de topología 250 se asegura que los eventos prescritos en una topología ocurran. El sistema de fundación de medios 200 proporciona interfases y una capa para conectar objetos de medios de transmisión continua. La capa del núcleo incluye el componente fuente 210, y el componente del almacén de medios 230. También se incluyen las fuentes de corrientes 214 las cuales operan bajo el control de la fuente de medios 210; y el almacén de corrientes 212 el cual opera bajo el control del almacén de medios 230. Las fuentes de corriente 214 transfieren los datos desde el almacenamiento a dispositivos de captura a la capa de control 201 y los almacenes de corrientes 212 transfieren los datos del motor de medios 260 a los dispositivos de presentación o almacenamiento (no mostrados). El componente de fuente de medios 210 implementa las máquinas de estado las cuales proveen control sobre las fuentes de la corriente 214. El componente del almacén de medios 230 implementa las máquinas de estado las cuales proveen control sobre los almacenes de corriente 212. En cada caso, el procesamiento de estado y movimiento de los datos están separados. La fuente de medios 210, el almacén de medios 230 y las transformaciones 208, junto con las fuentes de corrientes 214 y los almacenes de corriente 212 incluyen objetos que pueden formar parte de la capa de núcleo 211. Estos componentes son objetos programáticos que implementan una función predefinida. La fuente de medios 210 y las fuentes de corriente 214 proporcionan ya sea la captura o recuperación de datos multimedia y proveen estos datos a la sesión de medios 240. Las fuentes de datos incluyen pero no se limitan a un disco tal como un disco duro, CD, o DVD, el Internet, memoria de acceso aleatorio (RAM), RAM de video, cámaras de video, escáneres, cámaras de imagen fija, y micrófonos. El almacén de medios 230 incluye objetos que controlan la transferencia de los datos en los almacenes de corrientes 212. Los almacenes de corrientes 212 consisten de objetos que aceptan datos de la capa de control 201 para almacenamiento o presentación. Los almacenes de datos incluyen pero no se limitan a un disco tal como un disco duro, un CD grabable, o DVD grabable, una difusión a través de una red de computadora, tal como el Internet, impresoras, dispositivos de despliegue tales como monitores, y bocinas. Los datos para ambos, la fuente de medios 210 y el almacén de medios 230 pueden ser transportados a través de muchos medios incluyendo pero no limitándose a Ethernet, redes inalámbricas, cables análogos antes de la digitalización, USB, IEEE 1384, puerto paralelo, puerto serial e inte rf ases de disco. Las transformaciones 208 incluyen objetos que manipulan los datos. Estas transformaciones pueden incluir codificadores, descodificadores, divisores, multiplexores, procesamiento de audio tal como control de bajos y agudos para agregar efectos tales como reverberación, procesamiento de video tal como máscaras de ajuste de color, acentuación de imágenes, y controles de contraste y brillo. Los codificadores y descodificadores manejan tanto datos de audio como de video y de imagen. Los tipos de datos de video incluyen MPEG, Apple QuickTime®, y H.263 y Windows Media Video (WMV). Observar que muchos de los estándares de video son estándares de multimedia verdaderos en aquellos, estos estándares tiene provisiones para transferir ambos, audio y video. Los formatos de datos de video incluyen JPEG, GIF, Fax y Tiff. Los estándares de audio pueden incluir MP3, PCM, ADPCM, así como estándares para reproducción de CD y Windows Media Audio (WMA). Las transformaciones 208 pueden ser utilizadas para convertir datos de un formato a otro. Por ejemplo, una transformación 208 puede convertir una imagen JPEG en un formato adecuado para el despliegue en un monitor. Cambiando ahora a la Figura 3, se muestra una gráfica de flujo de un proceso multimedia típico. Asumir que un usuario desea ver un DVD. Una aplicación será lanzada para permitir que el usuario vea un DVD. La aplicación tiene una inferíase de usuario gráfica (GUI) permitiendo al usuario realizar dichas funciones como reproducir, detener, pausar, avance rápido y regresar. En el bloque 302, el usuario selecciona el botón de reproducir y la aplicación envía un mensaje al componente del motor de medios del a fundación de medios. El mensaje contiene la información de que la aplicación desea ver un DVD. En el bloque 304, el motor de medios envía mensajes a la sesión de medios y el cargador de topología diciéndole a estos bloques que inicien la reproducción de un DVD. En el bloque 306, el cargador de topología configura la topología. La topología proporciona una trayectoria que las corrientes de datos toman a través de las fuentes de medios y de corrientes, las transformaciones, y los almacenes de medios y de corrientes. En el bloque 308, el cargador de topología pasará esta topología al procesador de medios. El procesador de medios configura e implementa la topología. En el bloque 310, el procesador de medios enviará mensajes al componente de la capa de núcleo para representar los objetos llamados por el cargador de topología. Además de llamar a los objetos de la capa de núcleo en el orden apropiado y pasar los datos entre los objetos, la velocidad de los datos se controla de tal manera que el audio y el video son sincronizados y presentados a la velocidad deseada. La velocidad de los datos puede ser determinada en la sesión de medios. En el bloque 312, la sesión de medios investigará cada objeto para determinar que la velocidad deseada puede ser soportada y pasa un mensaje al procesador de medios con la información de la velocidad. En el bloque 314, el procesador de medios determina la velocidad de reloj de una velocidad que determina el objeto en el nivel del núcleo, usualmente un almacén de medios, y fija velocidad del reloj. En el bloque 316, el procesador de medios entonces llama al nivel de núcleo y pasa los datos entre los objetos según se requiere por la topología. Los datos su finalmente presentados en la bocinas y el monitor a través de los almacenes de medios. El procesador de medios es el objeto que realiza el flujo de datos como se describe a través de una topología. El procesador de medios es inicializado con una topología que describe el flujo de datos, y se expone a sí mismo al usuario a través de la interfase de fuente de medios. De esta manera, una vez configurado, el procesador de medios actualmente luce como una fuente de medios al usuario. El procesador de medios expone un número de corrientes de medios en base a la topología. Existirá una corriente de medios para cada nodo de salida en la topología. La Figura 4 muestra una topología. El flujo de datos es manejado por las llamadas del usuario para sacar una muestra en uno de los medios de las corrientes de medios del procesador.
Considerar la trayectoria superior en la Figura 4. El flujo de datos trabaja iniciando con un objeto de salida en la topología (objeto del almacén 412) y pasando repetitivamente a través de una lista de objetos que generan datos. El proceso en la trayectoria superior de la Figura 4 inicia con el objeto del almacén 412. El único nodo de salida conectado a la entrada 416 es la salida 418 conectada al objeto de transformación 408. Si el objeto de transformación 408 tiene una muestra disponible, entonces el procesador de medios 220 lee la muestra y escribe la muestra al objeto del almacén 412. Si el objeto de transformación 408 no tiene una muestra disponible, entonces el procesador de medios 220 ve la entrada del objeto de transformación 408, la cual se muestra como 420, la cual está conectada a la salida 422 para el objeto de transformación 404. El objeto de transformación 404 entonces es investigado para una muestra. Si una muestra está disponible, la muestra se lee a través del procesador de medios 220 y se escribe en el objeto de transformación 408. Si la muestra no está disponible, entonces el procesador de medios 220 otra vez mueve un nodo hacia la izquierda, e investiga el objeto de la corriente de medios 403 para una muestra disponible. El objeto de corriente de medios 403 se carga a través de un objeto fuente 402. Si la muestra si está disponible del objeto de corriente de medios 403, la muestra es recuperada del objeto de la corriente de medios 403 para el objeto de transformación 404. Si no se encuentra una muestra, entonces el procesador de medios solicitará que el objeto de la corriente de medios 403 lea una fuente. En cualquier momento que una muestra válida se encuentre y pase al siguiente bloque, el proceso empieza otra vez. El proceso se completa operando con los objetos una vez que los datos son localizados. El objeto de transformación 404 opera sobre los datos y pasa los datos transformados al objeto de transformación 408 para operarlos en los datos y después pasa los datos transformados al objeto del almacén 412 para completar el proceso de generar una muestra en la salida. En una modalidad, el procesador de medios controla una lista de objetos que tienen entradas a otros objetos. Con esta lista, el procesador de medios puede buscar en el objeto de salida y determinar de qué objeto el procesador de medios necesita recuperar datos de medios. En una modalidad, la lista rastrea el tipo de nodo que controla los objetos y otra información acerca de los objetos. Cada tipo de objeto tiene una forma diferente de generar los datos en la solicitud del procesador de medios. Los nodos de transformación contiene objetos de transformación, los cuales tienen un grupo de llamadas que se utilizan para proporcionar muestras de medios de entrada y generar muestras de medios de salida. Los nodos de soporte proporcionan una indicación para el procesador de medios para copiar muestras según sea necesario. Los nodos de soporte deberán ser descritos antes de iniciar la referencia a ellos. Los nodos fuente tienen una corriente de medios, la cual provee una llamada asincrónica a través de la cual el procesador de medios cuestiona a los datos de corriente, y la corriente después provee los datos cuando los datos están disponibles. Las modalidades están dirigidas al flujo de los datos utilizando el procesador de medios 220. En una modalidad, el flujo de datos es asincrónico. Es decir, un usuario hace una llamada para generar datos para una corriente de medios dada, y el procesador de medios 220 entonces genera los datos, y notifica al usuario cuando los datos están disponibles. En una modalidad, los componentes referenciados a través de una topología no hacen llamadas uno al otro. En su lugar, el procesador de medios 220 es responsable de todas las comunicaciones. Al tener un método de comunicación centralmente localizado el flujo de datos es consistente, y existe una gran interoperabilidad entre los componentes. En una modalidad, el procesador de medios 220 no abordad cada aspecto del flujo de datos. Por ejemplo, en una modalidad, el procesador de medios 220 no tiene control sobre las muestras de medios. En términos de la arquitectura de fundación de medios global, el procesador de medios es comúnmente utilizado en el contexto del motor de medios. El motor de medios 260 es el componente que una aplicación 202 utiliza directamente cuando utiliza la Fundación de Medios como se muestra en la Figura 2. El motor de medios 260 puede estar configurado a través de la aplicación 202 especificando la fuente de los datos (generalmente un nombre de archivo, un URL, o dispositivo, o una configuración compleja que especifica múltiples fuentes simples), y el destino de los datos (tal como un archivo multimedia de salida, o un dispositivo de presentación como una tarjeta de video). El motor de medios 260 entonces es controlado en el tiempo de operación a través de dichos comandos, tales como, Iniciar, Detener, etc. De esta manera, el motor de medios 260 utiliza los otros componentes de la Fundación de Medios para lograr esta funcionalidad, y es el objeto principal que una aplicación 202 utiliza para realizar operaciones multimedia. El procesador de medios 220 puede estar controlada a través de una sesión de procesamiento de medios, y utilizado en conjunción con el cargador de topología 250. La sesión de procesamiento de medios es el objeto que motor de medios de 260 utiliza para operar las fuentes de medios 210, el procesador de medios 220, los almacenes de medios 230, y el cargador de topología 250. En una modalidad, el procesador de medios 220 soporte los objetos de soporte y los objetos de transformación con más de una salida o entrada. Por ejemplo, una transición es generalmente implementada como un objeto de transformación, y el objeto de transformación podría tener dos entradas y una salida. En el caso en donde un nodo tiene más de una salida, el procesador de medios 220 realiza el siguiente método: cuando trata de generar datos de entrada para la transformación, el procesador de medios 220 selecciona solo una de las entradas en base en las estampas de tiempo de las muestras de medios previas y genera los datos para esa entrada. Cada vez que el procesador de medios 220 proporciona una muestra de entrada a un objeto de transformación, el procesador de medios 220 intenta generar datos de salida para la transformación. Si la transformación no genera ningún dato, el procesador de medios 220 proporciona una muestra de entrada al objeto de transformación, posiblemente la misma entrada que ya se ha utilizado. En el caso en donde un nodo tiene más de una salida, el procesador de medios 220 necesita más información acerca de las salidas. El cargador de topología indicará las propiedades de la salida, la cual puede ser principal o desechable. La salida principal se utiliza como el asignador de memoria principal para muestras que pasan a los nodos de entrada. Las salidas desechables no garantizan que obtendrán todas las muestras que entran al nodo; si el usuario no ha solicitado una muestra para esa salida cuando una muestra de entrada ha sido generada, entonces la salida desechable simplemente no recibirá la muestra. El concepto desechable es útil en escenarios en donde es preferible perder datos en lugar de alentar el procesamiento, tal como un despliegue de vista previa en una aplicación de codificación. Una capacidad importante de un sistema multimedia es la habilidad de cambiar las propiedades de la sesión multimedia mientras está corriendo. Por ejemplo, una aplicación de reproducción deberá conmutarse de la reproducción en un modo en ventana en un modo de pantalla completa. O una aplicación de codificación debería conmutarse de una cámara de codificación a otra cámara. El sistema de fundación de medios descrito maneja estas capacidades a través de un cambio en la topología. Sin embargo, en una modalidad, el procesador de medios 220 nunca cambia la topología misma; los cambios en la topología siempre se hacen a través de otro componente y después se comunican al procesador de medios. Si el procesador de medios 220 está siendo controlado por la sesión de medios 240, la sesión de medios 240 es responsable del uso del cargador de topología para crear topologías completas para el procesador de medios 220 y después comunicar estas topologías completas al procesador de medios. Sin embargo, en una modalidad cuando usuario directo del procesador de medios puede también realizar cambios en la topología sobre el procesador de medios. En una modalidad los cambios de topología pueden ser estáticos o dinámicos. Un cambio de topología estático toma lugar cuando el procesador de medios 220 no está procesando datos y representa un reemplazo total de la topología antigua con la nueva topología. Un cambio de topología dinámico toma lugar cuando el procesador de medios está corriendo y también puede cambiar solamente parte de la topología mientras controla otras partes de la topología intactas. Existen varios mecanismos a través de los cuales un cambio en la topología dinámico puede ser generado. El primero es una fuente de medios generada. En este caso, una de las fuentes de medios interna al procesador de medios 220 detecta que su formato ha cambiado en alguna forma; una corriente de medios ha cambiado, una corriente de medios ha terminado, o una corriente de medios ha sido creada. La fuente de medios notifica al procesador de medios 220 que ha ocurrido un cambio; el procesador de medios 220 envía esta notificación al usuario para procesar, y detener el procesamiento de datos. El usuario es responsable de la creación de la nueva topología y la envía al procesador de medios. La segunda topología se genera. En este caso, la topología misma contiene información que cambiará en algún punto; uno o más de los objetos de la topología tienen un tiempo de vencimiento establecido como una propiedad. Cuando el procesador de medios 220 detecta que se ha alcanzado el tiempo de vencimiento, lo notifica al usuario, y detiene el procesamiento de daos. El tipo final es generado por el usuario. En este caso el usuario simplemente establece una nueva topología en el procesador de medios 220 mientras el procesador de medios 220 está corriendo. En todos los casos, el procesador de medios 220 reacciona al cambio de la topología en la misma forma. Haciendo referencia a la Figura 5, los pasos en el cambio de la topología dinámica se muestran en una gráfica de flujo. En el bloque 502, un cambio de topología es solicitado por el procesador de medios. En el bloque 504, el procesador de medios 220 primero hace cualesquiera notificaciones al usuario que son requeridos, por ejemplo que una fuente de medios ha cambiado formatos. En el bloque 506, el procesador de medios 220 detiene el procesamiento y mantiene su estado para que pueda resumir el procesamiento sobre cualquier nodo que permanece en la nueva topología. El procesador de medios 220 también se coloca a sí mismo en un estado en el que cualquier intento del usuario para continuar corriendo simplemente esperará hasta que se complete el cambio de topología. En el bloque 508, el procesador de medios 220 entonces recibe la nueva topología. La nueva topología puede venir del cargador de topología o la aplicación. En el bloque 510, el procesador de medios 220 actualiza su topología interna para coincidir con la nueva topología. En el bloque 512, el procesador de medios 220 informa a la aplicación que la nueva topología está en lugar y resume el procesamiento. El procesador de medios 220 está diseñado para soportar la operación a velocidades arbitrarias. La interfase de la fuente de medios es una interfase de extracción; es decir, el usuario puede extraer muestras tan rápidamente como sea posible. Por lo tanto a partir de este sentido el procesador de medios 220 automáticamente soporta velocidades arbitrarias. Sin embargo, en muchos casos las fuentes de medios o transformaciones también tienen optimizaciones o conducta mejorada cuando conocen la velocidad. De esta manera, cuando el usuario le dice al procesador de medios 220 explícitamente que corra a una velocidad dada, el procesador de medios 220 investigará cualesquiera fuentes de medios y transformaciones en la topología para determinar sus capacidades de velocidad. Si la velocidad dada es soportada por todas las fuentes de medios y transformaciones, el procesador de medios 220 entonces establecerá la velocidad de todos los objetos de fuente de medios y objetos de transformación de tal manera que las fuentes de medios y objetos de transformación pueden hacer los cambios apropiados a su conducta. Al correr la corriente multimedia en reversa es un caso especial de un cambio de velocidad. El raspado es definido como siendo capaz de rápidamente buscar dentro de la presentación multimedia y recuperar un pequeño número de muestras de medios en esa posición. Debido a la complejidad de la descodificación de datos multimedia, el raspado es más complejo que la investigación en la presentación multimedia y simplemente toma más tiempo. Esto es particularmente verdadero para datos de video comprimidos, los cuales por lo general tienen un retraso en tiempo largo entre los marcos clave descodificables independientemente. Para optimizar el raspado, el procesador de medios 220 tiene lógica para habilitar la memorización temporal de cierta cantidad de muestras pre-descodificadas, generalmente cerca de la posición actual de la presentación, tal como una búsqueda de una de las muestras pre-descodificadas permitirán al procesador de medios 220 generar la muestra deseada en una forma oportuna. Este comportamiento de guardar en la memoria caché es configurable a través de la aplicación, para permitir el intercambio entre el uso de la memoria y el buen funcionamiento del raspado. La Figura 6 es una gráfica de flujo del proceso utilizado para optimizar el raspado. El bloque 602 proporciona que el procesador de medios 220 aplique lógica a cada muestra generada en un nodo con respecto al guardado en memoria temporal de los datos de muestra. El bloque de decisión 604 proporciona que cuando se decide si guardar en memoria caché cada dato de muestra, el procesador de medios primero determina si los datos de muestra han sido guardada en la memoria caché. Si es sí, el bloque 606 proporciona hacer nada. Si es no, el bloque 608 proporciona al procesador de medios 220 determinar la configuración del guardado en la memoria caché, como se fijo por el usuario. La configuración del guardado en la memoria caché puede incluir una identificación de los nodos para los cuales el guardado en la memoria caché es deseado, la frecuencia del guardado en la memoria caché, la cantidad máxima de memoria a utilizar, y similares. El bloque 610 proporciona la aplicación de las configuraciones para determinar el guardado en la memoria caché de la muestra o no, y guardar en memoria caché según sea necesario. El bloque 612 provee al procesador de medios 220 el recibir de una "búsqueda" de datos emitida por la aplicación 202. Una búsqueda de datos puede ser una solicitud, por ejemplo, para el siguiente marco de datos para habilitar un avance de marco por marco de una corriente de video. Una vez la recepción de la búsqueda, el procesador de medios 220, para cada nodo, verifica para ver si los datos solicitados están presentes en el caché en el bloque de decisión 614. Si están presentes, el bloque 616 provee el envío de los datos de regreso a la aplicación 202 en lugar de regenerar los datos de muestra. Si no están presentes, el bloque 618 provee el uso de la transformación apropiada, fuente u otro componente apropiado para generar los datos de muestra. Algunos descodificadores de video soportan un modo en el cual las muestras pre-descodificadas pueden ser utilizadas para inicializar el estado del descodif icador. En este caso, es posible guardar en la memoria caché solamente una fracción de las muestras pre-descodificadas y aún mantener un buen funcionamiento del raspado. Por ejemplo, si cada cuarta muestra pre-descodificada es guardada en la memoria caché y el usuario busca una de las muestras que no están en el caché, cuando mucho, las tres muestras necesitan se descodificadas para generar la muestra de salida deseada. En vista de las muchas posibles modalidades a las cuales los principios de esta invención pueden ser aplicados, se deberá reconocer que la modalidad descrita aquí con respecto a las figuras dibujadas pretende ser ilustrativo solamente y no deberá ser tomada como limitante del alcance de la invención. Por ejemplo, aquellos con experiencia en la técnica reconocerán que los elementos de la modalidad ilustrada mostrados en software pueden ser implementados en hardware y viceversa o que la modalidad ilustrada puede ser modificada en configuración y detalle sin apartarse del espíritu de la invención. Por lo tanto, la invención como se describe aquí contempla todas dichas modalidades según caigan dentro del alcance de las siguientes reivindicaciones y equivalentes de la misma.

Claims (49)

REIVINDICACIONES
1. Un método de procesamiento de datos multimedia, el método comprende: crear una topología de conexiones entre uno o más componentes multimedia en una elemento generador de topología, la topología describe un grupo de corrientes multimedia de entrada, una o más fuentes para las corrientes multimedia de entrada, una secuencia de operaciones para realizarse sobre los datos multimedia, y un grupo de corrientes multimedia de salida; transmitir la topología al procesador de medios; y pasar los datos de acuerdo con la topología, pasándolos gobernados por el procesador de medios.
2. El método de acuerdo con la reivindicación 1, que comprende además llevar a cabo la secuencia de operaciones multimedia en los datos multimedia para crear un grupo de corrientes multimedia de salida.
3. El método de acuerdo con la reivindicación 1, en donde los componentes multimedia son objetos de software.
4. El método de acuerdo con la reivindicación 1, en donde el elemento que genera la topología es un cargador de topología.
5. El método de acuerdo con la reivindicación 1, en donde el elemento que genera la topología es un programa de aplicación.
6. El método de acuerdo con la reivindicación 1, en donde el procesador de medios expone los datos multimedia a una aplicación.
7. El método de acuerdo con la reivindicación 1, en donde el procesador de medios acepta los datos multimedia estando configurados como un almacén de medios.
8. Un sistema para procesar datos multimedia, el sistema comprende: una capa de control configurada para recibir instrucciones de una aplicación, la capa de control incluye: un elemento generador de topología configurado para generar una topología que describe un grupo de corrientes multimedia de entrada, una o más fuentes para las corrientes multimedia de entrada, una secuencia de operaciones para realizarse sobre los datos multimedia, y un grupo de corrientes multimedia de salida; y un procesador de medios configurado para gobernar el paso de los datos multimedia como se describe en la topología y gobernar el funcionamiento de la secuencia de las operaciones multimedia en los datos multimedia para crear un grupo de corrientes multimedia de salida; una capa de núcleo acoplada a la capa de control, la capa de núcleo configurada para incluir: las corrientes de medios de entrada; las fuentes de las corrientes multimedia de entrada; una o más transformaciones configuradas para operar sobre datos multimedia; uno o más almacenes de corriente acoplados a la capa de control; y uno o más almacenes de medio configurados para proporcionar un grupo de corrientes multimedia de salida.
9. El sistema de acuerdo con la reivindicación 8, en donde los componentes multimedia son objetos de software.
10. El sistema de acuerdo con la reivindicación 8, en donde el elemento generador de la topología es un cargador de topología.
11. El sistema de acuerdo con la reivindicación 8, en donde el elemento generador de la topología es un programa de aplicación.
12. El sistema de acuerdo con la reivindicación 8, en donde el procesador de medios expone los datos multimedia a una aplicación.
13. El sistema de acuerdo con la reivindicación 8, en donde el procesador de medios acepta los datos multimedia estando configurados como un almacén de medios.
14. Un método para cambiar una primera topología en uso a través de un procesador de medios mientras el procesador de medios está activo, el método comprende: preservar el estado presente del procesador de medios; recibir una o más instrucciones para convertir la primera topología en una segunda topología; y actualizar la primera topología a la segunda topología de acuerdo con la una o más instrucciones.
15. El método de acuerdo con la reivindicación 14, en donde la una o más instrucciones contienen la diferencia entre la primera topología y la segunda topología.
16. El método de acuerdo con la reivindicación 14, en donde el procesador de medios resume la actividad de la interfase después de actualizar la primera topología a la segunda topología.
17. El método de acuerdo con la reivindicación 16, en donde el procesador de medios envía mensajes a una aplicación después de resumir la actividad de la interfase.
18. El método de acuerdo con la reivindicación 16, en donde el procesador de medios permite llamadas de mensajes hasta que un cambio de topología se completa.
19. El método de acuerdo con la reivindicación 14, en donde el procesador de medios recibe un mensaje de una fuente externa para iniciar el proceso de cambiar la primera topología.
20. Un método para determinar cómo utilizar un grupo de componentes multimedia para realizar una secuencia de operaciones multimedia sobre una o más corrientes de datos multimedia en un procesador de medios, el método comprende: localizar uno o más componentes multimedia con salidas conectadas a una entrada de un dispositivo de almacén; investigar los componentes multimedia para determinar si está disponible una muestra, la investigación incluye verificar las entradas a los componentes multimedia si una muestra no está disponible; si las entradas no tienen una muestra disponible, verificar la fuente de medios que alimenta los componentes multimedia para una muestra; si la fuente de medios no tiene una muestra disponible, realizar una función de terminar archivo o declarar una condición de error; si la muestra está disponible, mover la muestra a un siguiente componente multimedia de los componentes multimedia.
21. Un método para recuperar una sección de una corriente de medios, el método comprende: guardar en memoria caché una corriente de medios, la sección guardada en la memoria caché contiene un punto de presentación de la corriente de medios; recibir una solicitud de una fuente externa en el procesador de medios para recuperar la sección guardada en la memoria caché de la corriente de medios; buscar la identificación de si la sección de la corriente de medios fue guardada en la memoria caché; y si la sección de la corriente de medios fue guardada en la memoria caché, transferir la sección guardada en la memoria caché solicitada.
22. El método de acuerdo con la reivindicación 21, en donde la sección de la corriente de medios es guardada en la memoria caché de acuerdo con las configuraciones del usuario en una aplicación.
23. El método de acuerdo con la reivindicación 21, en donde la fuente externa es un programa de aplicación.
24. El método de acuerdo con la reivindicación 21, en donde un número de muestras contenidas en la sección guardada en la memoria caché es programable.
25. El método de acuerdo con la reivindicación 21, en donde la corriente de medios representa datos de video.
26. El método de acuerdo con la reivindicación 21, en donde un número de marcos contenidos en la sección guardada en la memoria caché es programable.
27. El método de acuerdo con la reivindicación 21, en donde la sección guardada en la memoria caché de datos de medios es continua.
28. Un medio legible por computadora que tiene almacenado en el mismo instrucciones para realizar acciones para procesar datos multimedia, las acciones comprenden: crear una topología de conexiones entre uno o más componentes multimedia en un elemento generador de topología, la topología describe un grupo de corrientes multimedia de entrada, una o más fuentes para las corrientes multimedia de entrada, una secuencia de operaciones para realizar sobre los datos multimedia, y un grupo de corrientes multimedia de salida; transmitir la topología a un procesador de medios; y pasar los datos de acuerdo con la topología, el paso gobernado por el procesador de medios.
29. El medio legible por computadora de acuerdo con la reivindicación 28, que comprende además llevar a cabo la secuencia de las operaciones multimedia sobre los datos multimedia para crear un grupo de corrientes multimedia de salida.
30. El medio legible por computadora de acuerdo con la reivindicación 28, en donde los componentes multimedia son objetos de software.
31. El medio legible por computadora de acuerdo con la reivindicación 28, en donde el elemento generador de la topología es un cargador de topología.
32. El medio legible por computadora de acuerdo con la reivindicación 28, en donde el elemento generador de la topología es un programa de aplicación.
33. El medio legible por computadora de acuerdo con la reivindicación 28, en donde el procesador de medios expone los datos multimedia a una aplicación.
34. El medio legible por computadora de acuerdo con la reivindicación 28, en donde el procesador de medios acepta los datos multimedia estando configurados como un almacén de medios.
35. Un medio legible por computadora que tiene almacenado en el mismo instrucciones para realizar acciones para cambiar una primera topología en uso a través de un procesador de medios mientras el procesador de medios está activo, las acciones comprenden: suspender la actividad de la interfase en el procesador de medios; preservar el estado presente del procesador de medios; recibir una o más instrucciones para convertir una primera topología en una segunda topología; y actualizar la primera topología en la segunda topología de acuerdo con la una o más instrucciones, el procesador de medios continúa procesando la primera topología hasta que cada componente multimedia llamado por la primera topología está en un estado que permite que la primera topología sea cambiada.
36. El medio legible por computadora de acuerdo con la reivindicación 35, en donde la una o más instrucciones contienen la diferencia entre la primera topología y la segunda topología.
37. El medio legible por computadora de acuerdo con la reivindicación 35, en donde los componentes multimedia incluyen por lo menos una fuente de medios y una transformación de medios.
38. El medio legible por computadora de acuerdo con la reivindicación 35, en donde el procesador de medios además resume la actividad de la interfase después de actualizar la primera topología en la segunda topología.
39. El medio legible por computadora de acuerdo con la reivindicación 38, en donde el procesador de medios además envía mensajes a una aplicación una vez que se resume la actividad de la interfase.
40. El medio legible por computadora de acuerdo con la reivindicación 35, en donde el procesador de medios recibe un mensaje de una fuente externa para iniciar el proceso de cambiar la primera topología.
41. Un medio legible por computadora que tiene almacenado en el mismo instrucciones para realizar acciones para determinar cómo utilizar uno o más componentes multimedia para realizar operaciones sobre datos multimedia en un procesador de medios, las acciones comprenden: localizar el uno o más componentes multimedia que están directamente generando las muestras multimedia para un dispositivo de almacén; consultar los componentes multimedia para determinar si una muestra está disponible, la consulta incluye verificar las entradas a los objetos si una muestra no está disponible; si las entradas no tienen una muestra disponible, verificar la fuente que alimenta los objetos para una muestra; si la fuente no tienen una muestra disponible, realizar una funcionalidad de terminar archivo o declarar una condición de error; si la muestra está disponible, mover la muestra a un segundo objeto.
42. El medio legible por computadora de acuerdo con la reivindicación 41, en donde los componentes multimedia están especificados en una topología.
43. Un medio legible por computadora que tiene almacenado en el mismo instrucciones para realizar acciones para recuperar una sección de una corriente de medios, las acciones comprenden: guardar en la memoria caché la sección de una corriente de medios, la sección guardada en la memoria caché de la corriente de medios contiene un punto de presentación de la corriente de medios; recibir una solicitud de una fuente externa al procesador de medios para recuperar la sección guardada en la memoria caché de la corriente de medios; buscar identificar si la sección de la corriente de medios fue guardada en la memoria caché; si la sección de la corriente de medios fue guardada en la memoria caché, transferir la sección guardada en la memoria caché solicitada.
44. El medio legible por computadora de acuerdo con la reivindicación 43, en donde la sección de la corriente de medios es guardada en la memoria caché de acuerdo con las configuraciones del usuario en una aplicación.
45. El medio legible por computadora de acuerdo con la reivindicación 43, en donde la fuente externa es un programa de aplicación.
46. El medio legible por computadora de acuerdo con la reivindicación 43, en donde un número de muestras contenidas en la sección guardada en la memoria caché es programable.
47. El medio legible por computadora de acuerdo con la reivindicación 43, en donde la corriente de medios representa datos de video.
48. El medio legible por computadora de acuerdo con la reivindicación 43, en donde un número de marcos contenidos en la sección guardada en la memoria caché es programable.
49. El medio legible por computadora de acuerdo con la reivindicación 43, en donde la sección guardada en la memoria caché de datos de medios es continua.
MXPA04006188A 2003-06-25 2004-06-22 Procesador de medios de fundacion de medios. MXPA04006188A (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/603,328 US7555540B2 (en) 2003-06-25 2003-06-25 Media foundation media processor

Publications (1)

Publication Number Publication Date
MXPA04006188A true MXPA04006188A (es) 2005-03-23

Family

ID=33418655

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA04006188A MXPA04006188A (es) 2003-06-25 2004-06-22 Procesador de medios de fundacion de medios.

Country Status (10)

Country Link
US (7) US7555540B2 (es)
EP (1) EP1492022A3 (es)
JP (1) JP4772297B2 (es)
KR (2) KR101122860B1 (es)
CN (1) CN100517306C (es)
AU (1) AU2004202280B2 (es)
BR (1) BRPI0401937A (es)
CA (1) CA2464844C (es)
MX (1) MXPA04006188A (es)
RU (4) RU2501176C2 (es)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6985934B1 (en) 2000-10-23 2006-01-10 Binham Communications Corporation Method and system for providing rich media content over a computer network
US7555540B2 (en) 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
US7774375B2 (en) * 2003-06-27 2010-08-10 Microsoft Corporation Media foundation topology
US7725920B2 (en) * 2003-06-27 2010-05-25 Microsoft Corporation Media foundation media sink
US7613767B2 (en) 2003-07-11 2009-11-03 Microsoft Corporation Resolving a distributed topology to stream data
US7733962B2 (en) 2003-12-08 2010-06-08 Microsoft Corporation Reconstructed frame caching
US7712108B2 (en) 2003-12-08 2010-05-04 Microsoft Corporation Media processing methods, systems and application program interfaces
US7900140B2 (en) 2003-12-08 2011-03-01 Microsoft Corporation Media processing methods, systems and application program interfaces
US7735096B2 (en) 2003-12-11 2010-06-08 Microsoft Corporation Destination application program interfaces
US20050185718A1 (en) * 2004-02-09 2005-08-25 Microsoft Corporation Pipeline quality control
US7934159B1 (en) 2004-02-19 2011-04-26 Microsoft Corporation Media timeline
US7941739B1 (en) 2004-02-19 2011-05-10 Microsoft Corporation Timeline source
US7664882B2 (en) 2004-02-21 2010-02-16 Microsoft Corporation System and method for accessing multimedia content
US7609653B2 (en) * 2004-03-08 2009-10-27 Microsoft Corporation Resolving partial media topologies
US7577940B2 (en) * 2004-03-08 2009-08-18 Microsoft Corporation Managing topology changes in media applications
US7669206B2 (en) 2004-04-20 2010-02-23 Microsoft Corporation Dynamic redirection of streaming media between computing devices
US7590750B2 (en) 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
JP4722052B2 (ja) * 2004-10-15 2011-07-13 ソフトバンクモバイル株式会社 連係動作方法及び通信端末装置
US7434155B2 (en) * 2005-04-04 2008-10-07 Leitch Technology, Inc. Icon bar display for video editing system
TW200731113A (en) * 2006-02-09 2007-08-16 Benq Corp Method for utilizing a media adapter for controlling a display device to display information of multimedia data corresponding to an authority datum
US8954851B2 (en) * 2006-09-15 2015-02-10 Microsoft Corporation Adding video effects for video enabled applications
JP4371150B2 (ja) * 2007-05-14 2009-11-25 セイコーエプソン株式会社 ファクシミリ装置、その制御方法及びプログラム
US8230100B2 (en) * 2007-07-26 2012-07-24 Realnetworks, Inc. Variable fidelity media provision system and method
WO2010082208A2 (en) * 2008-05-13 2010-07-22 Tata Consultancy Services Limited Methods and systems for wireless/wired transmission
US20090327344A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Media foundation source reader
KR101086013B1 (ko) 2010-01-12 2011-11-22 전자부품연구원 멀티미디어 데이터 처리 방법
US9570110B2 (en) 2009-12-28 2017-02-14 Korea Electronics Technology Institute Multimedia-data-processing method
GB2483081A (en) * 2010-08-25 2012-02-29 Sony Corp America Tamper resistance in media processing using an obfuscated buffer handle
US8621445B2 (en) * 2010-12-06 2013-12-31 Visualon, Inc. Wrapper for porting a media framework and components to operate with another media framework
KR101051182B1 (ko) * 2011-03-10 2011-07-22 주식회사 다이나믹앤라이브 다이렉트쇼 필터그래프 기반 멀티미디어 스트림 결합분배 장치
US8788683B2 (en) * 2011-08-17 2014-07-22 The Nasdaq Omx Group, Inc. Scalable transcoding for streaming audio
US9185154B2 (en) 2011-08-17 2015-11-10 Nasdaq, Inc. Integrated call capture for streaming audio
US10310824B2 (en) 2011-09-07 2019-06-04 Imagine Communications Corp. Distributed ledger platform for computing applications
US9043747B2 (en) 2011-09-07 2015-05-26 Imagine Communications Corp. Systems and methods for dynamic development and deployment of computing applications using blueprints
US8887154B2 (en) 2012-09-06 2014-11-11 Imagine Communications Corp. Systems and methods for partitioning computing applications to optimize deployment resources
ES2655846T3 (es) * 2012-10-11 2018-02-21 Samsung Electronics Co., Ltd. Aparato y procedimiento de entrega y de recepción de datos multimedia en red híbrida
US8935734B2 (en) * 2013-02-01 2015-01-13 Ebay Inc. Methods, systems and apparatus for configuring a system of content access devices
US10628578B2 (en) 2013-03-15 2020-04-21 Imagine Communications Corp. Systems and methods for determining trust levels for computing components using blockchain
US9785767B2 (en) 2013-03-15 2017-10-10 Imagine Communications Corp. Systems and methods for determining trust levels for computing components
US9182949B2 (en) 2013-03-15 2015-11-10 Imagine Communications Corp. Systems and methods for controlling branch latency within computing applications
US20140320592A1 (en) * 2013-04-30 2014-10-30 Microsoft Corporation Virtual Video Camera
US11350058B1 (en) 2021-01-21 2022-05-31 Dell Products, Lp System and method for intelligent contextual session management for videoconferencing applications
US11445128B2 (en) 2021-01-24 2022-09-13 Dell Products, Lp System and method for intelligent virtual background management for videoconferencing applications
US11463270B2 (en) 2021-01-28 2022-10-04 Dell Products, Lp System and method for operating an intelligent face framing management system for videoconferencing applications
US11463656B1 (en) 2021-07-06 2022-10-04 Dell Products, Lp System and method for received video performance optimizations during a video conference session

Family Cites Families (92)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE1317109U (es)
US4644532A (en) * 1985-06-10 1987-02-17 International Business Machines Corporation Automatic update of topology in a hybrid network
US4655532A (en) * 1986-02-06 1987-04-07 Allied Corporation Circumferential grounding and shielding ring for an electrical connector
KR890003485B1 (ko) * 1986-11-08 1989-09-22 삼성전자 주식회사 합성비디오신호에 포함되어 있는 디지탈 정보신호 분리집적회로
US5101348A (en) * 1988-06-23 1992-03-31 International Business Machines Corporation Method of reducing the amount of information included in topology database update messages in a data communications network
US5625845A (en) * 1992-10-13 1997-04-29 International Business Machines Corporation System for facilitating continuous, real-time, unidirectional, and asynchronous intertask and end-device communication in a multimedia data processing system using open architecture data communication modules
US5325423A (en) * 1992-11-13 1994-06-28 Multimedia Systems Corporation Interactive multimedia communication system
US5404318A (en) 1992-12-01 1995-04-04 Sun Microsystems, Inc. Test mode readback in a memory display interface
CN1125490A (zh) * 1993-09-13 1996-06-26 塔里根特公司 面向目标的视频系统
US5784532A (en) * 1994-02-16 1998-07-21 Qualcomm Incorporated Application specific integrated circuit (ASIC) for performing rapid speech compression in a mobile telephone system
US5666524A (en) 1994-08-31 1997-09-09 Price Waterhouse Llp Parallel processing system for traversing a transactional database
CA2156889C (en) * 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
US5761619A (en) * 1995-03-23 1998-06-02 Telefoanktiebolaget Lm Ericsson Distributed telecommunications system
US5638112A (en) 1995-08-07 1997-06-10 Zenith Electronics Corp. Hybrid analog/digital STB
US5847304A (en) 1995-08-17 1998-12-08 Advanced Micro Devices, Inc. PC audio system with frequency compensated wavetable data
US5963943A (en) * 1996-05-28 1999-10-05 Mci Communication Corporation System and method for storing and retrieving performance and topology information
US5909638A (en) 1996-08-06 1999-06-01 Maximum Video Systems, Inc. High speed video distribution and manufacturing system
US5953506A (en) * 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US20020120675A1 (en) * 1997-01-29 2002-08-29 Stewart Neil Everett Method of transferring media files over a communications network
US6111858A (en) * 1997-02-18 2000-08-29 Virata Limited Proxy-controlled ATM subnetwork
KR100562116B1 (ko) 1997-11-28 2006-05-25 마츠시타 덴끼 산교 가부시키가이샤 처리 효율을 높인 영상음성 처리장치
US6202204B1 (en) 1998-03-11 2001-03-13 Intel Corporation Comprehensive redundant load elimination for architectures supporting control and data speculation
US6233611B1 (en) 1998-05-08 2001-05-15 Sony Corporation Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices
US6499036B1 (en) * 1998-08-12 2002-12-24 Bank Of America Corporation Method and apparatus for data item movement between disparate sources and hierarchical, object-oriented representation
JP3396639B2 (ja) 1998-09-30 2003-04-14 株式会社東芝 階層記憶装置及び階層記憶制御方法
JP2955285B1 (ja) * 1998-09-30 1999-10-04 松下電器産業株式会社 デジタルオーディオ受信機
US6434649B1 (en) 1998-10-14 2002-08-13 Hitachi, Ltd. Data streamer
US6560674B1 (en) 1998-10-14 2003-05-06 Hitachi, Ltd. Data cache system
AU768096B2 (en) * 1998-11-18 2003-12-04 Lightbridge, Inc. Event manager for use in fraud detection
US6496980B1 (en) 1998-12-07 2002-12-17 Intel Corporation Method of providing replay on demand for streaming digital multimedia
US7275246B1 (en) 1999-01-28 2007-09-25 Ati International Srl Executing programs for a first computer architecture on a computer of a second architecture
US6535920B1 (en) * 1999-04-06 2003-03-18 Microsoft Corporation Analyzing, indexing and seeking of streaming information
US6820144B2 (en) * 1999-04-06 2004-11-16 Microsoft Corporation Data format for a streaming information appliance
EP1065589A1 (en) * 1999-06-28 2001-01-03 Lucent Technologies Inc. Multimedia processing system architecture
US6542921B1 (en) 1999-07-08 2003-04-01 Intel Corporation Method and apparatus for controlling the processing priority between multiple threads in a multithreaded processor
US6463508B1 (en) 1999-07-19 2002-10-08 International Business Machines Corporation Method and apparatus for caching a media stream
KR100315310B1 (ko) * 1999-08-17 2001-11-26 이계철 다중 데이터 동기화 방법 및 그를 이용한 다중 멀티미디어 데이터 스트리밍 방법
US7028096B1 (en) * 1999-09-14 2006-04-11 Streaming21, Inc. Method and apparatus for caching for streaming data
EP1107512A1 (en) * 1999-12-03 2001-06-13 Sony International (Europe) GmbH Communication device and software for operating multimedia applications
EP1117240A1 (fr) * 2000-01-14 2001-07-18 TRT Lucent Technologies (SA) Procédé de gestion des ressources d'une plate-forme multimédia et plate-forme multimédia pour la mise en oeuvre de ce procédé.
US6539524B1 (en) * 2000-05-10 2003-03-25 Agere Systems Inc. Method and apparatus for matching capacitance of filters having different circuit topologies
US7624337B2 (en) 2000-07-24 2009-11-24 Vmark, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
US7103668B1 (en) 2000-08-29 2006-09-05 Inetcam, Inc. Method and apparatus for distributing multimedia to remote clients
US6760772B2 (en) * 2000-12-15 2004-07-06 Qualcomm, Inc. Generating and implementing a communication protocol and interface for high data rate signal transfer
US6925549B2 (en) 2000-12-21 2005-08-02 International Business Machines Corporation Asynchronous pipeline control interface using tag values to control passing data through successive pipeline stages
US7143268B2 (en) 2000-12-29 2006-11-28 Stmicroelectronics, Inc. Circuit and method for instruction compression and dispersal in wide-issue processors
US20070198739A1 (en) 2001-01-19 2007-08-23 Streamworks Technologies, Inc. System and method for routing media
US6859840B2 (en) 2001-01-29 2005-02-22 Kasenna, Inc. Prefix caching for media objects
US7136934B2 (en) * 2001-06-19 2006-11-14 Request, Inc. Multimedia synchronization method and device
US6980979B2 (en) * 2001-09-19 2005-12-27 Sun Microsystems, Inc. Method and apparatus for customizing Java API implementations
US6700524B2 (en) 2001-09-27 2004-03-02 Matsushita Electric Industrial Co., Ltd. A/D converter for performing pipeline processing
RU24012U1 (ru) * 2001-10-12 2002-07-20 Павликов Сергей Николаевич Устройство для обработки информации
US7480703B2 (en) 2001-11-09 2009-01-20 Sony Corporation System, method, and computer program product for remotely determining the configuration of a multi-media content user based on response of the user
US7403564B2 (en) * 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
EP1317109B1 (en) 2001-11-29 2009-12-23 Sony Deutschland GmbH System and method for controlling the adaptation of adaptive distributed multimedia applications
ATE513415T1 (de) * 2001-12-28 2011-07-15 Koninkl Philips Electronics Nv Verfahren zur verarbeitung von multimediainhalt
US7158141B2 (en) * 2002-01-17 2007-01-02 University Of Washington Programmable 3D graphics pipeline for multimedia applications
US7394968B2 (en) * 2002-01-24 2008-07-01 Lsi Corporation Enhanced personal video recorder including user play programming
US7353513B2 (en) 2002-02-20 2008-04-01 Agere Systems Inc. Method and apparatus for establishing a bound on the effect of task interference in a cache memory
US7296154B2 (en) 2002-06-24 2007-11-13 Microsoft Corporation Secure media path methods, systems, and architectures
US6809732B2 (en) 2002-07-18 2004-10-26 Nvidia Corporation Method and apparatus for generation of programmable shader configuration information from state-based control information and program instructions
US7286748B2 (en) * 2002-07-25 2007-10-23 Microsoft Corporation Sharing live advanced streaming format indexed files
US7024543B2 (en) 2002-09-13 2006-04-04 Arm Limited Synchronising pipelines in a data processing apparatus
US20040083094A1 (en) 2002-10-29 2004-04-29 Texas Instruments Incorporated Wavelet-based compression and decompression of audio sample sets
US7061485B2 (en) 2002-10-31 2006-06-13 Hewlett-Packard Development Company, Lp. Method and system for producing a model from optical images
US7200114B1 (en) 2002-11-18 2007-04-03 At&T Corp. Method for reconfiguring a router
FI20022249A (fi) * 2002-12-20 2004-06-21 Chun Ye Virittimiä, viritettäviä polarointi-interferenssisuodattimia ja viritysmenetelmiä
US7191431B2 (en) * 2002-12-20 2007-03-13 International Business Machines Corporation System and method for selecting a translator to translate a component request using semantic typing
US6961820B2 (en) 2003-02-13 2005-11-01 International Business Machines Corporation System and method for identifying and accessing streaming data in a locked portion of a cache
US7245589B2 (en) * 2003-04-21 2007-07-17 Lucent Technologies Inc. Wireless media gateway with bearer path control and tone allocation
US20040225736A1 (en) * 2003-05-06 2004-11-11 Raphael Roger C. Method and apparatus for providing a dynamic quality of service for serving file/block I/O
US6901072B1 (en) 2003-05-15 2005-05-31 Foundry Networks, Inc. System and method for high speed packet transmission implementing dual transmit and receive pipelines
US7191432B2 (en) 2003-06-05 2007-03-13 International Business Machines Corporation High frequency compound instruction mechanism and method for a compare operation in an arithmetic logic unit
US7555540B2 (en) 2003-06-25 2009-06-30 Microsoft Corporation Media foundation media processor
US20040267778A1 (en) 2003-06-27 2004-12-30 Microsoft Corporation Media foundation topology application programming interface
US7725920B2 (en) 2003-06-27 2010-05-25 Microsoft Corporation Media foundation media sink
US7774375B2 (en) 2003-06-27 2010-08-10 Microsoft Corporation Media foundation topology
US20050021828A1 (en) 2003-07-03 2005-01-27 Yakov Kamen Adaptive data delivery manager for heterogeneous data delivery pipelines
US7613767B2 (en) 2003-07-11 2009-11-03 Microsoft Corporation Resolving a distributed topology to stream data
US7158668B2 (en) 2003-08-01 2007-01-02 Microsoft Corporation Image processing using linear light values and other image processing improvements
US7882510B2 (en) 2003-08-06 2011-02-01 Microsoft Corporation Demultiplexer application programming interface
EP1526714A1 (en) 2003-08-06 2005-04-27 Matsuhita Electric Industrial Co., Ltd. Information processing apparatus
US20060064503A1 (en) 2003-09-25 2006-03-23 Brown David W Data routing systems and methods
WO2005069552A1 (en) 2004-01-14 2005-07-28 Gridiron Software, Inc. Redundant pipelined file transfer
US7539218B2 (en) 2004-03-04 2009-05-26 Nvidia Corporation Media processing engine framework
US7290003B1 (en) 2004-08-19 2007-10-30 Sun Microsystems, Inc. Migrating data using an intermediate self-describing format
US20060080407A1 (en) 2004-10-12 2006-04-13 Motorola, Inc. Multimedia session establishment in a user entity having audio floor control
US20060133513A1 (en) 2004-12-22 2006-06-22 Kounnas Michael K Method for processing multimedia streams
US7388586B2 (en) 2005-03-31 2008-06-17 Intel Corporation Method and apparatus for animation of a human speaker
US7827554B2 (en) 2005-06-20 2010-11-02 Microsoft Corporation Multi-thread multimedia processing
JP4976557B2 (ja) * 2007-10-16 2012-07-18 テレフオンアクチーボラゲット エル エム エリクソン(パブル) 無線通信ネットワークのノード及びルーティングテーブル更新間隔を調整する方法
US20090222506A1 (en) 2008-02-29 2009-09-03 Evident Software, Inc. System and method for metering and analyzing usage and performance data of a virtualized compute and network infrastructure

Also Published As

Publication number Publication date
AU2004202280A1 (en) 2005-01-20
EP1492022A3 (en) 2006-04-05
US20110185078A1 (en) 2011-07-28
KR20110137760A (ko) 2011-12-23
US20110213892A1 (en) 2011-09-01
JP2005018784A (ja) 2005-01-20
US20120185861A1 (en) 2012-07-19
US20080168100A1 (en) 2008-07-10
US9536565B2 (en) 2017-01-03
US20040267953A1 (en) 2004-12-30
US20080168101A1 (en) 2008-07-10
RU2366098C2 (ru) 2009-08-27
CA2464844C (en) 2012-04-10
US7962639B2 (en) 2011-06-14
KR20050001407A (ko) 2005-01-06
US7937487B2 (en) 2011-05-03
CN1577330A (zh) 2005-02-09
CA2464844A1 (en) 2004-12-25
US9460753B2 (en) 2016-10-04
JP4772297B2 (ja) 2011-09-14
RU2487395C2 (ru) 2013-07-10
KR101122860B1 (ko) 2012-04-19
RU2009122177A (ru) 2010-12-20
RU2494560C2 (ru) 2013-09-27
RU2009122175A (ru) 2010-12-20
KR101201000B1 (ko) 2012-11-13
US9502074B2 (en) 2016-11-22
CN100517306C (zh) 2009-07-22
BRPI0401937A (pt) 2005-02-01
RU2501176C2 (ru) 2013-12-10
US20080181137A1 (en) 2008-07-31
RU2004119366A (ru) 2005-12-10
RU2009122179A (ru) 2010-12-20
US7555540B2 (en) 2009-06-30
AU2004202280B2 (en) 2009-11-19
EP1492022A2 (en) 2004-12-29
US8171151B2 (en) 2012-05-01

Similar Documents

Publication Publication Date Title
US9460753B2 (en) Media scrubbing using a media processor
US7522817B2 (en) Method and apparatus for storing content
KR19990029323A (ko) 애플리케이션 프로그램 인터페이스와 이를 구현하는 방법 및 컴퓨터 프로그램 제품
US7774375B2 (en) Media foundation topology
US7725920B2 (en) Media foundation media sink
US8924397B2 (en) Device and method for processing information
EP1401206A2 (en) Stream Data Processing Apparatus
JP4249569B2 (ja) デマルチプレクサのアプリケーションプログラムインターフェイス
WO2023007166A1 (en) Virtual file system for dynamically providing media content
JP2005275643A (ja) コンテンツデータ処理装置及び方法
RU2351002C2 (ru) Программный интерфейс приложения демультиплексора
US20040220877A1 (en) Media center storage device proxy
JP2004112779A (ja) ストリームデータ処理装置

Legal Events

Date Code Title Description
FG Grant or registration