MX2007011093A - Una arquitectura de descodificador para manejo optimizado de errores en multimedia continua. - Google Patents

Una arquitectura de descodificador para manejo optimizado de errores en multimedia continua.

Info

Publication number
MX2007011093A
MX2007011093A MX2007011093A MX2007011093A MX2007011093A MX 2007011093 A MX2007011093 A MX 2007011093A MX 2007011093 A MX2007011093 A MX 2007011093A MX 2007011093 A MX2007011093 A MX 2007011093A MX 2007011093 A MX2007011093 A MX 2007011093A
Authority
MX
Mexico
Prior art keywords
error
layer
multimedia data
layer protocol
detected
Prior art date
Application number
MX2007011093A
Other languages
English (en)
Inventor
Vijayalakshmi R Raveendran
Seyfullah Halit Oguz
Fang Shi
Sumeet Singh Sethi
Peisong Chen
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of MX2007011093A publication Critical patent/MX2007011093A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and decoding
    • H03M13/296Particular turbo code structure
    • H03M13/2966Turbo codes concatenated with another code, e.g. an outer block code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0057Block codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0064Concatenated codes
    • H04L1/0066Parallel concatenated codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
    • H04N19/895Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder in combination with error concealment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/4425Monitoring of client processing errors or hardware failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Se describen un metodo y aparato para integracion de multicapa para su utilizacion en recuperacion de errores. Se detecta un error en datos de multimedia basandose en un protocolo de primera capa y el error detectado en los datos de multimedia se oculta basandose en un protocolo de segunda capa. En un aspecto, el error en datos de multimedia se detecta basandose en un protocolo de capa de comunicacion y se controla basandose en un protocolo de capa de transporte. Una distribucion de error del error controlado entonces se determina basandose en un protocolo de capa de sincronizacion y el error detectado en los datos de multimedia se oculta basandose en un protocolo de capa de aplicacion. En otro aspecto, un metodo y aparato para procesamiento de datos de multimedia comprenden recuperacion de errores asi como escalabilidad. Finalmente, un metodo y aparato como se describen permiten el procesamiento de corriente de multimedia al recibir multiples corrientes de datos de multimedia codificados, realizar recuperacion de errores en una porcion erronea de una corriente, y reconstruir los datos de multimedia a partir de las corrientes multiples.

Description

UNA ARQUITECTURA DE DESCODIFICADOR PARA MANEJO OPTIMIZADO DE ERRORES E? MULTIMEDIA CONTINUA CAMPO DE LA INVENCIÓN Esta invención se refiere a métodos y aparatos para descodificar medios continuos en tiempo real sobre dispositivos portátiles.
ANTECEDENTES DE LA INVENCIÓN Debido al crecimiento explosivo y gran éxito de la Internet y la comunicación inalámbrica, así como a la demanda cada vez mayor de servicios de multimedia, medios continuos sobre la Internet y canales móviles/inalámbricos ha llamado tremendamente la atención. En redes heterogéneas de Protocolo de Internet (IP), el video se proporciona por un servidor y puede propagarse por uno o más clientes. Las conexiones alámbricas incluyen marcación, red digital de servicios integrados (ISDN) , cable, protocolos de líneas digitales de suscriptor (referidos colectivamente como xDSL) , fibra, redes de área local (LAN) , redes de área extensa (WAN) y otras. El modo de transmisión puede ser ya sea unidifusión o multidifusión. Similar a la red heterogénea de IP es la comunicación óvi1/inalámbrica . El transporte de contenido de multimedia sobre canales móviles/inalámbricos es muy problemático debido a que estos canales con frecuencia se dañan severamente debido al desvanecimiento de multitrayectoria, ensombrecimiento, interferencia entre símbolos, y perturbaciones de ruido. Algunas otras razones tales como la movilidad y el tráfico competitivo también provocan variaciones y pérdida de ancho de banda. El ruido de canal y el número de usuarios que son servidos determinan la propiedad de variación de tiempo de los ambientes de canal . Las demandas de proporción de datos más altas y una mayor calidad de servicio en ambas redes heterogéneas de IP y sistemas de comunicación móvil están creciendo cada vez más. Sin embargo, factores tales como tiempos de retardo limitados, potencia de transmisión limitada, ancho de banda limitado y desvanecimiento de multi-trayectoria continúan restringiendo las proporciones de datos manejadas por sistemas prácticos. En comunicaciones de multimedia, particularmente en ambientes propensos a errores, la resistencia a errores de los medios transmitidos es crítica para proporcionar la calidad deseada del servicio debido a errores en incluso un valor descodificado sencillo que puede llevar a artefactos de descodificación que se propagan espacial y temporalmente. Varias medidas de codificación se han utilizado para minimizar errores mientras se mantiene una proporción de datos necesaria, sin embargo todas estas técnicas sufren de problemas con errores que llegan al lado del descodificador. A través del uso de un codificador de fuente, se comprimen los datos - que llevan la información máxima al expandir el número mínimo de bits, seguido por un codificador de canal que tiende a maximizar la capacidad del canal de transmisión para una probabilidad dada de error para recibir esos bits. La codificación de canal, por ejemplo, codificación Reed-Solomon, se utiliza para mejorar la fuerza de los datos codificados de origen. Metodologías de codificación de fuente-canal conjuntas se han utilizado para proporcionar varios niveles de protección de errores a datos codificados de fuente con varios niveles de importancia o para permitir la adaptación de proporción de datos de video codificado al ancho de banda de red disponible a través de la participación y segregación de paquetes. Esto es debido a que los protocolos de transporte comunes no distribuyen datos corruptos al descodificador de fuente. Las técnicas de codificación de fuente tales como codificación de longitud variable reversible (por ejemplo, en MPEG-4) se han utilizado para recuperación de errores al descodificar el paquete en el orden inverso cuando paquetes corruptos de hecho se reciben. Existe un compromiso en eficacia de codificación con las técnicas de codificación de fuente que se traduce en calidad de video descodificado para una proporción de bits dada. Estándares de codificación híbrida, tales como MPEG-1, MPEG-2, MPEG-4 (colectivamente referidos como MPEG-x) , H.261, H.262, H.263 y H.264 (colectivamente referidos como H.26x) utilizan puntos de resincronización en la corriente de bits como el método principal para manejar errores en el descodificador. Otra razón que puede provocar pérdida de datos en exceso de la corrupción inicial es debido a la emulación de palabra de código incorrecta. La identificación de la posición de bit erróneo inicial no es una tarea trivial y típicamente no es posible sin un diseño especial que soporte la identificación de posiciones de bits erróneos en una capa de MAC o componente de capa física. Por lo tanto, al detectar la corrupción de corriente de bits, el descodificador puede tener que detener la descodificación y adelantarse en la corriente de bits para encontrar el siguiente punto de resincronización, y en el proceso saltar necesariamente una cantidad dimensionable de datos potencialmente saludables. Aunque la emulación de una palabra código diferente, la cual es de la misma longitud que la original, es decir, auténtica, la palabra código puede parecer menos de un problema con respecto a la secuencia de eventos descrita en lo anterior, éste realmente no es el caso. Existen muchas formas en las cuales este tipo de error puede llevar a fallas en una interpretación correcta de corriente de bits del descodificador. Por ejemplo, en la mayoría de los codificadores/descodificadores actuales existen objetos en la corriente de bits (parámetros relacionados con la compresión) cuyos valores influencian la sintaxis de la siguiente porción de la corriente de bits. Por lo tanto, un valor incorrecto para tal objeto puede llevar a una interpretación incorrecta de la corriente de bits. Debido a que los protocolos de transporte comunes no distribuyen datos corruptos al descodificador (por ejemplo, una aplicación de descodificador de video o audio) , el descodificador tiene una capacidad limitada para manejar bits erróneos, con segregación de paquetes y resincronización siendo la solución más común. Un método mejorado para manejar bits erróneos que lleva a la propagación de errores y pérdida de datos debido a los problemas tales como pérdida de sincronización y emulación incorrecta de palabra de código, se necesita.
SUMARIO DE LA INVENCIÓN En un aspecto, un método y aparato para la integración de multi-capa para su utilización en recuperación de errores comprende un método o medio para detectar un error en datos de multimedia basándose en un protocolo de primera capa; y ocultar el error detectado en los datos de multimedia basándose en un protocolo de segunda capa. En otro aspecto, un aparato para la integración de multi-capa para su utilización en recuperación de errores, comprende un detector para detectar un error en datos de multimedia basándose en un protocolo de primera capa; y un ocultador para ocultar el error detectado en los datos de multimedia basándose en un protocolo de segunda capa. En el método y aparato para la integración de multi-capa, la primera capa puede comprender una capa de comunicación. La capa de comunicación puede comprender cualquiera o una combinación de una capa física, una capa de MAC y una capa de transporte. Además, el método y aparato pueden comprender además un método o medio para controlar el error detectado basándose en un protocolo de capa de transporte. Controlar el error detectado puede comprender localizar el error detectado. El método y aparato también pueden comprender además un método o medio para determinar una distribución de errores del error detectado basándose en un protocolo de capa de sincronización. La segunda capa puede comprender una capa de aplicación. En otro aspecto, un método y aparato para la integración de multi-capa para su utilización en recuperación de errores comprende un método o medio para detectar un error en datos de multimedia basándose en un protocolo de capa de comunicación; controlar el error detectado basándose en un protocolo de capa de transporte; determinar una distribución de error del error controlado basándose en un protocolo de capa de sincronización; y ocultar el error detectado en los datos de multimedia basándose en un protocolo de capa de aplicación. En aún otro aspecto, un método y aparato para su utilización en el procesamiento de datos de multimedia comprende un método o medio para realizar recuperación de errores de datos de multimedia codificados; y soportar la escalabilidad de los datos de multimedia codificados. En aún otro aspecto, un aparato para su utilización en procesamiento de datos de multimedia comprende un componente de recuperación de errores para realizar la recuperación de errores de datos de multimedia codificados; y un componente de escalabilidad para soportar la escalabilidad de los datos de multimedia codificados. En el método y aparato para su utilización en procesamiento de multimedia, la escalabilidad puede comprender ya sea uno o ambos de escalabilidad espacial y temporal . La recuperación de errores puede comprender cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial, y conversión ascendente de proporción de tramas. En un aspecto adicional, un método y aparato para su utilización en procesamiento de corriente de multimedia comprende un método o medio para recibir corrientes múltiples de datos de multimedia codificados; realizar la recuperación de errores en una porción errónea de una corriente; y reconstruir los datos de multimedia a partir de las corrientes múltiples. En aún otro aspecto, un aparato para su utilización en procesamiento de corriente de multimedia comprende un receptor para recibir corrientes múltiples de datos de multimedia codificados; un componente de recuperación de errores para realizar la recuperación de errores en una porción errónea de una corriente; y un reconstructor para reconstruir los datos de multimedia a partir de las corrientes múltiples. En el método y aparato para su utilización en procesamiento de corriente de multimedia, la recuperación de errores puede comprender cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas. Se debe observar que el método y aparato anteriores pueden implementarse por un medio que se puede leer por computadora y/o un procesador configurado para llevar a cabo al método o la operación del aparato.
BREVE DESCRIPCIÓN DE LAS FIGURAS La FIGURA ÍA es un diagrama de bloque de un ejemplo de un sistema de comunicación para distribuir multimedia continua. La FIGURA IB es un diagrama de bloque de un ejemplo de un sistema de comunicación de multi -capa para distribuir multimedia continua. La FIGURA 1C es un diagrama de bloque de otro ejemplo de un sistema de comunicación de multi -capa para distribuir multimedia continua. La FIGURA 2A es un diagrama de bloque de un ejemplo de una arquitectura de dispositivo descodificador para descodificar multimedia continua. La FIGURA 2B es un diagrama de pila de protocolo de un sistema de manejo integrado de multi-capa que incluye un transmisor y otra vista de la arquitectura del dispositivo descodificador de la FIGURA 2A. La FIGURA 3 representa un ejemplo de símbolos de multimedia organizados para la codificación de borrado y Turbo de Reed-Solomon concatenada. La FIGURA 4 es un diagrama de flujo de un ejemplo de un método para descodificar multimedia continua. La FIGURA 5 representa una estructura de Paquete de Información Turbo para datos de video. La FIGURA 6 muestra un diagrama de bloque de un sistema ejemplar de componentes que pueden ser parte de un receptor 24 de multimedia como se muestra en la FIGURA 1. La FIGURA 7 muestra una diagrama de flujo de un proceso para la recuperación de errores.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Un método y aparato para proporcionar capacidades mejoradas de recuperación de errores en un descodificador de multimedia se describe. Se proporcionan capacidades integradas de recuperación de errores, tales como por ejemplo, detectar un error en una corriente de datos de multimedia en una capa superior (por ejemplo, una capa de comunicación) y realizar la recuperación de errores en el error detectado en una capa de aplicación (por ejemplo, un descodificador de video o audio) . En un ejemplo, una arquitectura de descodificador se presenta que proporciona información de indicación de bits corruptos en los componentes de aplicación para su utilización en tomar decisiones informadas para realizar varios tipos de técnicas de recuperación de errores. Las técnicas de recuperación de errores se utilizan para reemplazar símbolos corruptos con símbolos estimados que se obtienen de la información disponible para el componente de aplicación, tal como video previamente descodificado, audio, texto e información de gráficos. En la siguiente descripción, detalles específicos se dan para proporcionar un entendimiento completo de las modalidades. Sin embargo, se debe entender por alguien de experiencia ordinaria en la técnica que las modalidades pueden practicarse sin estos detalles específicos. Por ejemplo, pueden mostrarse componentes eléctricos en diagramas de bloque para no oscurecer las modalidades en detalle innecesario. En otros casos, tales componentes, otras estructuras y técnicas pueden mostrarse en detalle para explicar adicionalmente las modalidades. También se entiende por aquellos con experiencia en la técnica que los componentes eléctricos, los cuales se muestran como bloques separados, pueden redisponerse y/o combinarse en un componente. También se observa que algunas modalidades pueden describirse como un proceso, el cual se representa como un esquema de flujo, como un diagrama de flujo, un diagrama de estructura, o un diagrama de bloque. Aunque un diagrama de flujo puede describir las operaciones como un proceso secuencial, muchas de las operaciones pueden realizarse en paralelo o concurrentemente y el proceso puede repetirse. Además, el orden de las operaciones puede redisponerse. Se termina un proceso cuando sus operaciones se completan. Un proceso puede corresponder a un método, una función, un procedimiento, una subrutina, un subprograma, etc. Cuando un proceso corresponde a una función, su terminación corresponde con un retorno de la función a la función llamada o la función principal. La FIGURA ÍA es un diagrama de bloque de un ejemplo de un sistema de comunicación para distribuir multimedia continua. El sistema 20 incluye un transmisor 22 y un descodificador 24 de multimedia de receptor. El transmisor 22 contiene datos de multimedia comprimidos de varias formas que incluyen, pero no se limitan a, video, audio, gráficos, texto e imágenes. Los datos pueden ser video y audio comprimidos como en los estándares de MPEG-x y H.26x, audio comprimido como en los estándares de compresión de audio o voz MPEG-4 AAC, MP3 , AMR y G.723, o cualquier otro tipo de datos digitales. El transmisor 22 adquiere datos de varias fuentes que incluyen memoria externa, la Internet, y una alimentación de video y/o audio en vivo. El transmisor 22 también transmite datos adquiridos (Tx) sobre una red. La red puede ser una red 28 alámbrica tal como un teléfono, cable o fibra óptica, o una red 26 inalámbrica. En el caso de sistemas de comunicación inalámbrica, la red 26 puede comprender por ejemplo, parte de un sistema de comunicación de acceso múltiple de división por código (CDMA o CDMA2000) o alternativamente, el sistema puede ser un sistema de acceso múltiple de división por frecuencia (FDMA) , un sistema de acceso múltiple de división por frecuencia ortogonal (OFDMA) , un sistema de acceso múltiple de división por tiempo (TDMA) tal como GSM/GPRS (Servicio de Radio Paquete General) /EDGE (ambiente de GSM de datos mejorado) o tecnología de teléfono móvil TETRA (Radio Truncada Terrestre) para la industria de servicio, un acceso múltiple de división por código de banda ancha (WCDMA) , un sistema de alta proporción de datos (Multidifusión Dorada lxEV-DO o lxEV-DO) , o en general cualquier sistema de comunicación inalámbrica que emplee una combinación de técnicas. El descodificador 24 contiene medios, tales como una antena de radio frecuencia o una conexión de red, para recibir datos sobre la red 26 inalámbrica y/o la red 28 alámbrica. El descodificador 24 puede incluir múltiples procesadores que incluyen cualquier combinación de un preprocesador (por ejemplo, cualquier tipo de unidad de procesamiento central CPU tal como una ARM) , un procesador digital de señales (DSP) , software, firmware y hardware tal como un núcleo de video, para distribuir las tareas de desmodulación y descodificación asociadas con datos recibidos. El descodificador 24 también contiene componentes de memoria para almacenar los datos recibidos y datos intermedios en varias fases del proceso de desmodulación/descodificación. En algunas modalidades, un preprocesador de ARM realiza tareas menos complejas que incluyen el desempacado (remover información secundaria tal como encabezados y mensajes de señalización) y desmultiplexión de una pluralidad de corrientes de bits que incluyen audio, video y otros. El preprocesador de ARM también realiza análisis de corriente de bits, detección de errores y ocultación y descodificación de entropía de longitud variable. En algunas modalidades, el DSP realiza la expansión de palabras de código de VLC (código de longitud variable), exploración inversa en zig-zag de datos de video para localizar espacialmente coeficientes de píxeles, predicción inversa de CA/CD de coeficientes de píxeles para video de MPEG-4 (no una característica de H.264 debido a la codificación de entropía adaptable de contexto), y descodificación de audio (por ejemplo, MPEG-4 AAC, MP3 , AMR o G.723). El núcleo de video puede realizar las tareas computacionalmente más complejas de descodificación de video que comprende descuantificación, transformación inversa, predicción compensada por movimiento, y desbloqueo (una forma de filtrar para reducir artefactos de borde entre bordes de bloque de píxeles) . Uno o más elementos pueden agregarse, redisponerse o combinarse en el sistema 20 de comunicación. En el caso de sistemas de comunicación alámbrica, la red 26 puede comprender, por ejemplo, parte de un sistema de comunicación basado en protocolo de Internet (IP) con protocolos de transportes tales como Protocolo de Transporte en Tiempo Real (RTP) o Protocolo de Datagrama Universal (UDP) . La FIGURA IB es un diagrama de bloque de una pila de protocolo de multi-capa utilizada para dividir tareas en el transmisor 22 y el descodificador 24. Los componentes 205 y 210 de capa superior el transmisor 22 y el descodificador 24, respectivamente, pueden incluir múltiples aplicaciones tales como por ejemplo codificadores y/o descodificadores de video o audio. Algunas modalidades pueden incluir múltiples corrientes de información que se proponen para descodificarse simultáneamente. En estos casos, las tareas de sincronización de las múltiples corrientes también pueden realizarse en componentes 205 y 210 de capa superior. El componente 205 de capa superior puede proporcionar información de tiempos codificada en la corriente de bits que se transmite sobre la red 26 inalámbrica y/o la red 28 alámbrica. El componente 210 de capa superior puede analizar las corrientes múltiples de información de manera que las aplicaciones asociadas las descodifican en aproximadamente el mismo tiempo. Los componentes 215 de capa inferior en el transmisor 22 pueden incluir varios esquemas para proporcionar resistencia de errores. Los canales propensos a errores tales como la red 26 inalámbrica y/o la red 28 alámbrica pueden introducir errores en la corriente de bits recibida por el descodificador 24. Tales esquemas de resistencia de errores proporcionados en los componentes 215 de capa inferior pueden incluir uno o más esquemas de codificación de control de errores, esquemas de intercalado y otros esquemas que se conocen por aquellos con experiencia en la técnica. Los componentes 220 de capa inferior en el descodificador 22 pueden incluir los componentes de descodificación de errores correspondientes que permiten la detección y corrección de errores. Algunos errores que se introducen sobre la red 26 inalámbrica y/o la red 28 alámbrica no se pueden corregir por lo componentes 228 de capa Inferior. Para esos errores que no se pueden corregir, soluciones tales como componentes 220 de capa inferior que solicitan retransmisión de componentes corruptos por los componentes 215 de capa inferior del transmisor 22 pueden no ser viables para algunas situaciones, por ejemplo, en comunicaciones de multimedia en tiempo real tal como aplicaciones continuas. En algunas modalidades, los componentes 215 y 220 de capa inferior comprenden componentes de capa de comunicación. Uno o más elementos pueden agregarse, redisponerse o combinarse en el transmisor 22 o descodificador 24 mostrado en la Figura IB. La FIGURA ÍC es un diagrama de bloque de un ejemplo más detallado de una pila de protocolo de multi-capa. utilizada para dividir tareas en el transmisor 22 y el descodificador 24. Los componentes 205 de capa superior del transmisor 22, se distribuyen en una o más de la capa 206 de aplicación y una capa 207 de sincronización. Los componentes 215 de capa inferior, del transmisor 22, se distribuyen en una o más de una capa 216 de transporte, una capa 217 de control de acceso a medios (MAC) o de corriente, y una capa 218 física. Similarmente, los componentes 216 de capa superior del descodificador 24 se distribuyen en una o más de una capa 211 de aplicación y una capa 207 de sincronización. Los componentes 220 de capa inferior, del descodificador 24, se distribuyen en una o más de una capa 221 de transporte, una capa 222 de control de acceso a medios (MAC) o de corriente, y una capa 223 física. Aquellos de experiencia en la técnica pueden reconocer estas capas y se familiarizan con la asignación de varias tareas entre las mismas. Un ejemplo de una arquitectura que integra varias capas del dispositivo 24 del descodificador, como se discute en lo anterior, para tomar ventaja de la resistencia de errores proporcionada en el transmisor 22, ahora se discutirá. Uno o más elementos pueden agregarse, redisponerse o combinarse en el transmisor 22 o descodificador 24 mostrado en la FIGURA ÍC. La FIGURA 2A es un diagrama de bloque de un ejemplo de la arquitectura del dispositivo descodificador para descodificar multimedia continua. La FIGURA 2B es un diagrama de pila de protocolo de un ejemplo de un sistema de manejo integrado de multi-capa que incluye un transmisor 22 y una vista de la pila de protocolo de la arquitectura del dispositivo descodificador de la FIGURA 2A. Con referencia a las FIGURAS 2A y 2B, el descodificador 30 de multimedia incluye el componente 32 de capa física, el componente 34 de capa de MAC, Analizador 39 de Transporte y Sincronización (TSP) , y componente 50 de capa de aplicación. El descodificador 30 de multimedia recibe una corriente de bits de entrada (IN) que incluye un esquema de corrección de errores concatenado tal como un esquema concatenado de Turbo/Reed-Solomon. El componente 32 de capa física puede realizar tareas de desmodulación que incluyen, pero no se limitan a, recepción, descodificación de control de errores, por ejemplo, descodificación de código turbo, e interconexión con una capa de MAC (control de acceso medio) . El componente 34 de capa de MAC puede realizar descodificación de control de errores, por ejemplo, detección de errores de Reed-Solomon, corrección de errores y la indicación de datos corruptos incorregibles, por ejemplo, grupos de uno o más bits. El componente 34 de capa de MAC se interconecta con el componente 39 de Analizador de Transporte y Sincronización (TSP) . El componente 39 de TSP además puede incluir el componente 36 de De-Mux de Capa de Transporte y el componente 38 de Analizador de Capa de Sincronización (sincronización) . El componente 36 de De-Mux de Capa de Transporte puede recibir la corriente de bits pasada del componente 34 de capa de MAC, que incluye bits correctos corruptos y la información que indica los grupos corruptos de bits. Los grupos corruptos de bits y la información de indicación correspondiente comprenden la información que corresponde con las fallas 33 de CRC de Turbo-descodificador, y las fallas 35 de Reed-Solomon. (En ciertas pilas de protocolo, el componente 36 de De-Mux de Capa de Transporte también se conoce como una subcapa de corriente, donde la subcapa de MAC y la subcapa de corriente son subcapas ambas de la capa de transporte) . El componente 36 de De-Mux de Capa de Transporte puede desmultiplexar (De-Mux) o analizar la corriente de bits que recibe en una pluralidad de corrientes de bits. Las corrientes de bits analizadas pueden incluir corrientes de bits que se destinan a diferentes aplicaciones tales como descodificador de video, descodificador de audio, y varias combinaciones de texto, gráficos y aplicaciones de imágenes. El componente de De-Mux de Capa de Transporte también puede analizar una corriente de bits destinada a una aplicación sencilla, tal como la corriente de bits de video por ejemplo, en dos o más capas separadas (por ejemplo, utilizando codificación escalable) tal como una capa base y una capa de mejoramiento. Estas capas entonces pueden utilizarse para proporcionar escalabilidad, por ejemplo, escalabilidad temporal y/o de SNR. Un ejemplo de codificación escalable, divide las imágenes intra-codificadas (tales como I tramas) y las diferentes imágenes inter-codificadas (tales como P tramas o B tramas derivadas utilizando, por ejemplo, predicción compensada por movimiento) en diferentes capas en la corriente de bits. Las I tramas pueden codificarse en una capa base y las P y/o B tramas pueden codificarse en una capa de mejoramiento. La codificación escalable es útil en canales dinámicos, donde las corrientes de bits escalables pueden adaptarse para correlacionar fluctuaciones en el ancho de banda de red. En canales propensos a errores, la codificación escalable puede agregar fuerza a través de una protección desigual de errores de la capa base y la capa de mejoramiento. La mejor predicción de errores puede aplicarse a la capa más importante. El componente 38 de Analizador de Capa de Sincronización (sincronización) realiza análisis adicional de la corriente de bits con respecto a las subcorrientes de bits que se relacionan entre sí en una base de tiempo-síncrona . Una corriente de bits de vídeo de multimedia puede analizarse en una corriente de bits de video, una corriente de bits de audio y una corriente de bits con texto asociado para subtitulación. El componente 38 de Analizador de Capa de Sincronización envía las corrientes de bits analizadas a la aplicación de descodificador asociada junto con la información de tiempo-sincronización. Esto permite que el audio, video y texto relacionados se desplieguen y reproduzcan en el momento apropiado. Además del análisis discutido en lo anterior, el componente 36 de De-Mux de Capa de Transporte puede analizar y enviar la información de indicación de corrupción (por ejemplo, información 33 de falla de CRC y la información 35 de falla de Reed-Solomon) , la cual se recibe del componente 34 de Capa de MAC y la capa 32 Física, hasta el componente 38 de Analizador de Capa de Sincronización y/o el proceso de capa de aplicación apropiado (por ejemplo, un descodificador de video, o un descodificador de audio) . El componente 38 de Analizador de Capa de Sincronización puede enviar la información de indicación de corrupción en forma de información 37 de distribución de errores. El componente 38 de Analizador de Capa de Sincronización puede enviar también información 41 de estrategia de control de errores recomendada. El proceso de la capa de aplicación puede entonces utilizar la información 37 de indicación de corrupción y la información 41 de estrategia de control para el manejo de errores.
El componente 50 de capa de aplicación puede contener uno o más componentes tales como por ejemplo, componente 40 de Recuperación de Errores, Componente 42 de Escalabilidad, componente 44 de Conversión Ascendente de Proporción de Tramas (FRUC) , componente 46 de Descodificación de Aplicación Central y Componente 48 de Post Procesamiento. El componente 50 de capa de aplicación utiliza la información 37 de indicación de corrupción enviada y la información 41 de estrategia de control para tomar decisiones en cuanto a utilizar los componentes de Recuperación de Errores, Escalabilidad y de FRUC para manipular los datos corruptos que ofrecen por consiguiente la descodificación de más alta calidad con el componente 46 de Descodificación de Aplicación Central. Por ejemplo, en el caso de escalabilidad temporal donde algunos medios se reciben en una capa que contiene información importante y el resto del medio en la otra capa, FRUC puede utilizarse para reconstruir los medios perdidos si la segunda capa no se recibió o se perdió o se corrompió. Después de la descodificación, el componente 38 de Post Procesamiento realiza cualesquier modificaciones específicas de hardware necesarias para permitir visualización o reproducción o presentación de la salida de video y audio (OUT) en un reproductor de video o altavoces respectivamente. El componente 48 de post procesamiento también puede realizar operaciones de mejoramiento o restauración antes de que se representen o presenten los medios. El componente 46 de Descodificación de Aplicación Central puede incluir descodificadores de video, descodificadores de audio así como aplicaciones de texto y gráficos. Al realizar procesamiento de Recuperación de Errores, Escalabilidad y de FRUC de las diversas corrientes de bits de aplicación antes o durante la descodíficación con el componente 46 de Aplicación Central, pueden hacerse mejoramientos para mejorar la calidad de una corriente de bit de baja calidad (una codificada en una baja calidad o una recibida en una baja calidad debido a errores) . Por ejemplo, los componentes 40, 42 y 44 pueden ofrecer mejoramientos en una corriente de bits de video de H.264 en cumplimiento con línea base estándar (el perfil de línea base es un perfil muy simple que se diseñó para dispositivos de baja energía) y proporciona ciertas características de los otros perfiles de H.264 tales como B-tramas y partición de datos de recorte que se requieren para cumplir los requerimientos de escalabilidad, adquisición y resistencia de errores para video continuo. Detalles de los procesos que utilizan los componentes del descodificador 30 de multimedia se presentan en lo siguiente. Uno o más elementos pueden agregarse, redisponerse o combinarse del transmisor 22 o descodificador 30 mostrado en las Figuras 2A y 2B. Una breve discusión de la detección de errores y corrección de errores ahora se presentará. Un ejemplo de un esquema de detección y corrección de errores utiliza un código concatenado que incluye un código interior (canal) o un código exterior (canal) . Los códigos de canal concatenado consisten de un código Turbo (interior) en la capa física y un código de corrección de borrado de Reed-Solomon (exterior) colocado en la capa de transporte/MAC. La FIGURA 3 representa un ejemplo de símbolos de multimedia organizados para la codificación de borrado y Turbo concatenada de Reed-Solomon. Con respecto al lado de codificación, los símbolos producidos de la fuente de información, las palabras código binarias producidas de un codificador, se bloquean en bytes 102. Cada byte 102 se considera un símbolo en un campo finito conocido como un "Campo de Galois (256)" para los propósitos de un código de Reed-Solomon (RS) exterior (N, K) sobre GF(256) . N y K denotan respectivamente los tamaños de toda la palabra código 104 de RS y sus datos 106 de fuente que contienen la porción sistemática en número de símbolos. De este modo N -menos K da el número de símbolos 108 de paridad incluidos en cada palabra código 104. Un código de RS (N, K) es capaz de corregir borrados de N menos K.
Las K filas 106 principales contienen esencialmente los símbolos producidos de la fuente de información y estos símbolos pueden explorarse en las K filas en una forma ya sea de primeras filas o primeras columnas. El intercalado logrado por la exploración de primeras columnas, resulta en un grupo significativamente más corto de bits corruptos cuando una fila 112 de Paquete de Información Turbo es corrupta. Los grupos de bits corruptos, debido al borrado de Paquete de Información Turbo, pueden ser de 1 byte cada uno en longitud para exploración de primeras columnas como opuesto a los bytes (L-l) cada uno para exploración de primeras filas. En el descodificador, la indicación de estos grupos corruptos de bits, como se discute en lo siguiente, puede necesitar identificar el tamaño y posición (en la corriente de bits) de estos grupos de bits. Después de esta etapa inicial de colocación de datos de fuente, cada una de las L columnas 104 (de K bytes) se codifica por RS en N bytes, al agregar bytes de paridad N-K, y por lo tanto, filas K+l,..., N 108 en la FIGURA 3 se generan. Las K filas principales, que consisten de datos 106 de fuente se refieren como el bloque de información de RS, y todo el conjunto de filas N se refiere como el bloque codificado por RS, o simplemente el bloque 110 de código. A cada fila 112 se le agrega una suma de control de CRC (Comprobación por Redundancia Cíclica) y algunos bits traseros requeridos para la operación correcta de un codificador turbo. Al agregar una suma de control a cada fila 112, esas filas que no satisfacen sus sumas de control respectivas después de la descodificación turbo pueden declararse borradas. Cada bloque 110 de código se ingresa a una fila 112 en un momento en un codificador turbo, y por lo tanto, cada fila se refiere como un Paquete de Información Turbo. El proceso de descodificación turbo presenta datos de difícil decisión en el proceso de descodificación de Reed-Solomon, que además reduce la proporción de errores residuales. La capacidad de corregir exitosamente el borrado depende del número total de borrados dentro de un bloque de codificación y el número (N menos K) de símbolos de paridad utilizados por palabra de código de RS . En el diseño de codificación de canal destinado para el descodificador 30 de multimedia de la FIGURA 2, si el bloque de código de Reed-Solomon (RS) tiene borrados más allá de la capacidad de corrección, el bloque de información de RS correspondiente (FIGURA 3) puede pasarse a los componentes en la capa de transporte, capa de sincronización y finalmente la capa de aplicación con una notificación conjunta que indica cuál de los Paquetes 112 de Información Turbo K (FIGURA 3) son corruptos. La estructura sistemática del Código de RS exterior (N, K) sobre el GF (256) permite la utilización directa de los paquetes de información turbo, que se reciben correctamente (no corruptos) . La FIGURA 4 es un diagrama de flujo de un ejemplo de un método para descodificar multimedia continua. Datos modulados de ruido (IN) se reciben e ingresan al proceso 60 de descodificación y se desmodulan 62. Los datos pueden recibirse a través de redes alámbricas o inalámbricas tales como una red 26 inalámbrica y la red 28 alámbrica en la FIGURA 1. El componente 32 de capa física de la FIGURA 2 realiza el acto de desmodular los datos de ruido recibos en la etapa 62. Los datos desmodulados entonces se pasan donde los errores pueden detectarse y corregirse 64. El componente 32 de capa física de la FIGURA 2 puede realizar el acto de descodificación turbo de 64, mientras el componente 34 de Capa de MAC de la FIGURA 2 puede realizar el acto de corrección de errores de Reed-Solomon 64. Después que la descodificación Turbo y Reed-Solomon ha detectado y corregido 64 todos los errores que se pueden corregir, los Paquetes de Información Turbo y/o los bytes corruptos se identificación 66, por ejemplo, por indicación. Antes de pasar la corriente de bits para analizar 68, las sumas totales de CRC y los bits traseros en cada Paquete de Información Turbo, así como las filas 108 de paridad (FIGURA 3) se descartan. Los datos corruptos correctamente recibidos, los recibidos incorrectamente pero corregidos, y los indicados, junto con la información de indicación que identifica los datos corruptos, todos se pasan para el análisis 68 de corriente de bits. El componente 32 de capa física y/o el componente 34 de capa de MAC de la FIGUR 2 pueden realizar el acto de identificar (por ejemplo, al indicar) 66 los datos corruptos . Como se discute en lo anterior, el componente 36 de De-Mux de Transporte y el componente 38 de Analizador de Capa de Sincronización analizan 68 la corriente de bits, en una pluralidad de corrientes de bits destinadas para múltiples procesos de capa de aplicación. En el ejemplo mostrado en la FIGURA 4, la corriente de bits se analiza 68 en la corriente de bits 70 de video, corriente de bits 72 de audio y corriente de bits 74 de texto y/o gráficos. Cada corriente de bits 70, 72 y 74 puede contener datos que identifican grupos corruptos de bits dentro de las corrientes de bits individuales. Además, cuando las corrientes de bits individuales van a ser síncronas de tiempo, las corrientes de bits pueden contener información de tiempo. Después de que se analizan las corrientes de bits individuales, el manejo de errores tiene lugar en la capa de aplicación donde se colocan 78, 82 y 86 los bits corruptos, que utilizan una de varias técnicas de recuperación u ocultación de errores. El componente 40 de Recuperación de Errores, el componente 42 de Escalabilidad y el componente 44 de FRUC del componente 50 de capa de aplicación en la FIGURA 2 pueden realizar los actos de reemplazar 78, 82 y 86. Después que se reemplazan los símbolos corruptos, las corrientes de bits individuales de video, audio y texto/gráficos pueden descodificarse 80, 84 y 88, respectivamente. El componente 46 de Aplicación Central del componente 50 de capa de aplicación en la FIGURA 2 puede realizar la descodificación 80, 84 y 88. El componente 46 de Aplicación Central del componente 50 de capa de aplicación en la FIGURA 2 también puede reemplazar 78, 82 y/o 86 bits corruptos que pueden haberse indicado por los componentes de capa inferior. Uno o más elementos pueden agregarse, redisponerse o combinarse en el proceso 60 mostrado en la Figura 4. Un ejemplo para identificar 66 bits corruptos al indicar los datos corruptos, como se muestra en la FIGURA 4, ahora se discutirá en mayor detalle. La FIGURA 5 representa una estructura de Paquete de Información Turbo para los datos de video. El bloque 140 representa un conjunto de Paquetes de Información Turbo tales como K filas de Paquetes 106 de Información Turbo que forman el Bloque de Información de RS representado en la FIGURA 3. Una trama de video puede requerir más de un Paquete de Información Turbo de los datos que van a codificarse. Por ejemplo, una primera trama, Fl, se inicia en la fila 142A en el bloque 148A de información. Los datos restantes en la trama Fl se localizan en las filas 142B, 142C, 142D, y la primera parte de la fila 142E. La fila 142A también contiene encabezado 146A de Sincronización (SH) que contiene información tal como identificación de corriente, tiempo de sincronización, identificación de trama (número de trama y posiblemente número de capa en el caso de una capa base y una capa de mejoramiento), y otra información. El encabezado 146A de sincronización sirve para identificar el analizador de capa de sincronización (véase 38 en la FIGURA 2) donde (cuya aplicación) para enviar los datos contenidos en los siguientes bloques de información que representan la trama Fl . Al final de cada fila se encuentra una suma total de CRC, como se discute en lo anterior, la cual se utiliza junto con la descodificación de Reed-Solomon para identificar paquetes borrados (corruptos) . Al comienzo de cada fila de Paquete de Información Turbo se encuentra el encabezado 144 de capa de transporte (TH) . Cada TH 144 contiene Last_Flag y Offset_Pointer . La indicación de un Paquete de Información Turbo corrupto, llevada a cabo en el estado 66 de la FIGURA 4, puede hacerse por el valor mismo Offset_Pointer . Establecer el Offset_Pointer en un valor ilegítimo puede significar que el paquete es corrupto. Alternativamente, un campo Error_Flag puede utilizarse en el TH. La indicación puede lograrse por un (Error_Flag = 1) establecido en el TH correspondiente. Por ejemplo, si la fila 142C es corrupta, entonces el TH de la fila 142C puede ser igual a uno. El Last_Flag se utiliza para indicar que la fila actual es la última fila de una trama (al establecerlo igual a uno, por ejemplo) y si es la última fila, entonces el Offset_Pointer se utiliza para indicar dónde la Fila de Paquete de Información Turbo de la siguiente trama comienza (en número de bytes) . En la Fila 142E, por ejemplo, TH 144B puede tener Last_Flag = 1 y Offset_Pointer puede ser igual al número de bytes contenidos en la fila previa al inicio de TH 144C (el inicio de la trama F3) . El Encabezado de Sincronización 146B puede contener datos que indican la Frame_ID y la corriente de bits como se discute en lo anterior. El bloque 148C de información contiene datos de video que representan la trama F3. Si la Fila 142E se determinó que era corrupta, entonces el descodificador puede no ser capaz de determinar dónde finaliza la trama Fl y dónde comienza la trama F3. Además de (o en lugar de) incluir un Error_Flag en el encabezado de transporte como se discute en lo anterior, una tabla de datos podría construirse y enviarse a la capa de aplicación con la información listada en la Tabla 1 para cada trama de video.
Número de Trama - un número entero dentro de un conjunto finito de tramas, 30 tramas por ejemplo, donde la numeración comienza en 1 después de que se alcanza el número más alto. B/E - indica la base o número de capa de mejoramiento de la trama en el caso de escalabilidad de capa múltiple. Frame_Length - longitud de la trama de video en bytes . RAP_Flag - un indicador que indica si la Trama es un punto de acceso aleatorio, tal como una I -trama completamente intra-codificada . Tal indicador también puede servir como un punto de resincronización cuando se encuentran errores. Marca de Tiempo de Presentación (PTS) - un tiempo en una secuencia de tramas cuando la trama va a desplegarse . Tramas Por Segundo (FPS) . Número de Paquetes de Información Turbo que ocupa la trama (tanto completa como parcial) . Error_Bit_Pattern - una variable que indica cuáles Paquetes de Información Turbo son corruptos (los cinco bits '00100' pueden indicar que el tercer Paquete de Información Turbo de entre los cinco paquetes es corrupto. Error_Ratio - una variable que indica la relación de los Paquetes de Información Turbo corruptos con los paquetes correctos (1/5 puede indicar uno de entre 5 paquetes es corrupto.
Tabla 1. Información de Muestra Contenida en una Tabla de Errores de Corriente de Bits de Video Otras tablas de errores de corrientes de bits, similar a la Tabla 1, pueden construirse. La información de indicación de error contenida en los encabezados de transporte y/o tablas de errores tales como la Tabla 1 pueden utilizarse por los componentes de capa de aplicación, tales como los componentes 40, 42 y 44 de la FIGURA 2, para indicar símbolos corruptos en las corrientes de bits 70, 72 y 74 analizadas y reemplazarlas en las etapas 78, 82 y 86, respectivamente en la FIGURA 4. Como se discute en lo anterior, los paquetes de borrado de la codificación de RS no se descartan pero se manejan hasta la capa de aplicación, tal como el descodificador de video. Esto evita que todos los paquetes, potencialmente 122 bytes de longitud o más para paquetes de video, se pierdan. El acto de reemplazar símbolos corruptos, etapas 78, 82 y 86 en la FIGURA 4, puede tomar dos formas principales, corrección de errores y ocultación de errores. Las operaciones de corrección y ocultación de errores de nivel de corriente de bits se llevan a cabo en borrados y errores en ráfagas. Los errores de descodificación (debido a errores de bytes) se corrigen utilizando el criterio de MAP (Máximo una Probabilidad a Posteriori) al grado posible. Los errores que no pueden corregirse se ocultan utilizando información espacial y/o temporal de macrobloques vecinos (un macrobloque es una región de 16x16 píxeles que comúnmente se opera en estándares de comprensión de video, pero sub-macrobloques más pequeños tales como de 8x8, 8x16 y otros, también podrían utilizarse) . La ocultación temporal puede utilizarse, por ejemplo, cuando una imagen es estática sobre más de una trama. Si el macrobloque corrupto que se oculta está en una región que ha permanecido relativamente constante de tramas previas, es probable que se presente en la trama corrupta y las regiones de tramas pasadas podrían utilizarse como una estimación para la región corrupta. La ocultación espacial puede tomar ventaja de bordes u objetos que persisten sobre macrobloques vecinos dentro de la misma trama. Como se discute en lo anterior, múltiples capas de datos codificados que representan la misma corriente de bits pueden recibirse. Las capas pueden incluir una capa base y una o más capas de mejoramiento donde las capas de mejoramiento pueden proporcionar tramas extra que no están disponibles en la capa base (tal como B-tramas pronosticadas bi-direccionales) , o pueden proporcionar refinamientos diferenciales de más alta calidad en los coeficientes de píxeles de capa base. En el caso de refinamientos diferenciales a los coeficientes de capa base, si la capa base es corrompida, entonces la capa de mejoramiento puede ser inútil puesto que se derivó basándose en los valores de píxeles de capa base. De este modo, la capa de mejoramiento puede omitirse de la descodificación si los datos de capa base son corruptos.
Ese proceso se llama descodificación selectiva y también puede utilizarse bajo escenarios de baja energía. Por ejemplo, cuando el dispositivo que aloja al descodificador se está ejecutando en el modo de baja energía o ejecutando en batería baja, solamente la capa base puede descodificarse omitiendo la capa de mejoramiento de este modo ahorrando ciclos de cómputo y a su vez consumo de energía. Las técnicas de ocultación espacial y/o temporal pueden utilizarse para reemplazar de capa base más mejoramiento combinados. Una capa de mejoramiento (algunas veces tratada como una capa de baja prioridad) puede transmitirse en una más baja energía que la capa base (o capa de alta prioridad) . Esto incrementa la probabilidad de error en la capa de mejoramiento sobre la capa base. Por lo tanto, cuando la capa base recibida contiene un alto porcentaje de errores, la capa de mejoramiento potencialmente puede segregarse . Tramas pronosticadas bi-direccionales (B-Tramas) se pronostican a partir de una trama previa y una trama subsecuente utilizando pronóstico compensado por movimiento. Las B-Tramas ofrecen relaciones de muy alta compresión y son muy deseables para conservar ancho de banda. Las B-Tramas también son deseables por sus características de escalabilidad temporal. La B-Tramas en cumplimiento con los estándares no se utilizan para pronóstico de cualesquier otras tramas, y por esta razón, pueden segregarse sin afectar adversamente otras tramas. Las B-Tramas también son más susceptibles a propagación de errores debido a los errores en las tramas de las que dependen. Por estas razones, las B-Tramas son muy probables que se lleven cabo en una capa de mejoramiento (o de baja prioridad) . Si la capa de mejoramiento se transmite a una potencia más baja, entonces las B-Tramas son aún más susceptibles a errores. Si una B-Trama (o cualquier otro de tipo de tramas) se corrompe completamente, o tiene un porcentaje de error sobre un umbral que hace irrealizable la ocultación de errores temporal o espacial, entonces la Conversión Ascendente de Proporción de Tramas (véase componente 44 de FRUC de la FIGURA 2) puede utilizarse. FRUC se utiliza para regenerar la trama perdida. FRUC también puede utilizarse para regenerar una trama que se saltó de la descodificación por razones tales como ahorros de energía. Las técnicas de FRUC utilizan vector de movimiento e información de píxeles de una trama previa y una trama subsecuente para interpolar valores para vectores de movimiento y píxeles . Las técnicas exactas de FRUC están más allá del alcance de esta discusión. Las técnicas de FRUC incluyen formas asistidas solamente por descodificador y codificador. La FRUC de sólo 3 descodificador realiza la seudo-interpolación de los datos de tramas sin ninguna otra información. FRUC asistida por codificador utiliza información secundaria transmitida en mensajes de Información de Mejoramiento Suplementaria (SEl) de H.264 o el mensaje de user_data de MPEG-2. La FIGURA 6 muestra un diagrama de bloque de un ejemplo de un sistema de componentes que pueden ser parte de un receptor de multimedia, por ejemplo, el receptor 24 mostrado en la FIGURA 1. El sistema 600 es un sistema de integración de multi-capa para su utilización y recuperación de errores. La FIGURA 7 muestra un diagrama de flujo de un proceso para la recuperación de errores que puede utilizarse por el sistema 600. Con referencia a las FIGURAS 6 y 7, el proceso 700 recibe 705 una o más tramas de datos de multimedia. Las corrientes de datos pueden incluir video, audio y/o texto subtitulado y otros. Una o más corrientes recibidas pueden ser de datos codificados. Los datos codificados pueden ser datos transformados, datos cuantificados, datos comprimidos o combinaciones de los mismos. Medios de recepción tales como el receptor 24 en la Figura ÍA puede recibir 705 una o más corrientes. Además de recibir múltiples corrientes de multimedia, cada corriente recibida puede comprender múltiples capas, por ejemplo, una capa base y una de mejoramiento. El receptor 24 puede ser un receptor inalámbrico o alámbrico o una combinación.
Los errores que quedan en la corriente de bits se detectan 710. Los errores detectados pueden comprender aquellos errores que quedan después de la corrección de errores de capa inferior y los protocolos de detección han corregido algunos de los errores que se introdujeron por la transmisión sobre un canal, por ejemplo, el canal 26 inalámbrico o el canal 28 alámbrico de la FIGURA ÍA. Como se discute en lo anterior, no todos los errores se pueden corregir y cualquiera de los otros protocolos de capa inferior pueden marcar datos corruptos y/o grupos de datos que contienen errores. Los protocolos de capa inferior utilizados para detectar 710 errores pueden implementarse en una capa de comunicación como se discute en lo anterior. Las capas de comunicación pueden ser una o una combinación de una capa física, una capa de MAC (o capa de Corriente) o una capa de transporte, o una combinación de las mismas. Medios detectores tales como el detector 605 de errores en la FIGURA 6 pueden realizar la detección 710 de errores. El detector 605 de errores puede utilizar cualquiera de varios esquemas de detección conocidos por aquellos de experiencia en la técnica, por ejemplo, esquemas de código de Reed-Solomon y/o Turbo como se discute en lo anterior. La detección de errores puede ser debido a una falla de CRC en un descodificador Turbo. La detección de errores puede ser debido a una falla de un descodificador de Reed-Solomon.
Errores de detectados pueden controlarse en 715 por varios métodos. El control 715 puede comprender marcación (o indicación) de datos corruptos como se discutió en lo anterior. El control 715 puede comprender localización de errores al identificar grupos de datos, por ejemplo, paquetes, bloques, recortes, tramas, macrobloques, sub-macrobloques, que contienen los errores detectados. El control 715 puede basarse en un protocolo de capa de transporte. Tal protocolo puede marcar errores que quedan al codificar uno o más bits en un encabezado de capa de transporte para su utilización por las capas superiores (véase FIGURAS IB y ÍC) . Las capas superiores pueden utilizar los indicadores de errores de encabezado de capa de transporte para identificar y/o localizar adicionalmente paquetes de capa superior que se forman de uno o más paquetes de capa de transporte corruptos, localizando por consiguiente además los errores en las corrientes de bits de capa superior. Medios de control tales como el controlador 610 de errores de la FIGURA 6 pueden realizar las tareas de control de errores. Una distribución de errores se determina 720. En un aspecto, la distribución de errores se determina basándose en un protocolo de capa de sincronización. Una o más corrientes de bits que se recibieron 705, pueden analizarse en la capa de sincronización. Si la capa de sincronización recibe información de una de las capas inferiores, por ejemplo, de comunicación, que marcan datos corruptos, pueden ser capaces de identificar qué porciones de cuales corrientes de bits son corruptas. Teniendo tal información puede permitir que un protocolo de capa de sincronización planee las estrategias de ocultación de errores y/o recuperación de errores de capa superior (por ejemplo, una capa de aplicación) . Estrategias diferentes pueden aplicarse dependiendo del tamaño de los datos corruptos. Los paquetes de capa de transporte, que pueden marcarse erróneos, pueden combinarse en paquetes de capa de sincronización para enviarse a los diversos componentes de capa de aplicación que dependen de cuál corriente de bits forman parte. Los paquetes de capa de transporte pueden ser de longitud fija, y los paquetes de capa de sincronización pueden ser de longitud variable. La capa de sincronización puede identificar la distribución de errores al insertar datos para identificar cual parte de un paquete de sincronización de longitud variable contiene un paquete de capa de transporte corrupto. Además de utilizar la información del control 715 de errores, un protocolo de capa de sincronización puede incluir además métodos de detección de errores. Estos métodos de detección de errores pueden incluir comprobar CRC de los paquetes de capa de sincronización. La distribución de errores determinada además puede comunicarse a los componentes de capa de aplicación al insertar marcas de errores en los paquetes de datos analizados. Medios de determinación tales como el determinador 615 de distribución de errores pueden determinar 720 la distribución de errores. La recuperación de errores puede realizarse 725 en partes de una o más corrientes de datos de multimedia codificadas. La recuperación de errores puede basarse en los protocolos de capa de aplicación. Los componentes de capa de aplicación pueden realizar la recuperación de errores. Los componentes de capa de aplicación pueden determinar que tipo de recuperación de errores utilizar basándose en la información recibida de una capa de sincronización, como se discute en lo anterior. La recuperación de errores puede comprender una o una combinación de ocultación de errores temporal, ocultación de errores facial, y conversión ascendente de proporción de tramas (FRUC) como se discute en lo anterior, así como otros métodos. Ocultar errores detectados en una o más corrientes de datos de multimedia puede basarse en un protocolo de capa de aplicación. La recuperación de errores también puede soportar escalabilidad de una o más corrientes de datos. La escalabilidad puede incluir una o ambas de escalabilidad espacial o temporal como se discute en lo anterior. El medio de recuperación de errores tal como el componente 40 de recuperación de errores de la FIGURA 2A puede realizar la recuperación 725 de errores. El medio ocultador de errores tal como el ocultador 620 de errores puede realizar la ocultación de errores. El medio de escalabilidad tal como los componentes 42 de escalabilidad de la FIGURA 2A y 620 de la FIGURA 6 pueden soportar escalabilidad para realizar recuperaciones 725 de errores . El proceso 700 puede incluir reconstrucción 730 de una o más corrientes de bits. La reconstrucción 730 puede comprender combinar correctamente datos recibidos con datos ocultos. La reconstrucción puede incluir reducir una proporción de tramas (una forma de escalabilidad temporal) que es la cantidad de errores en una trama que excede un umbral. La reconstrucción puede comprender elegir no descodificar u ocultar o corregir una capa de mejoramiento (una forma de escalabilidad SNR) . Los protocolos de capa de aplicación pueden ser la base para la reconstrucción 730. El medio de reconstrucción tal como el reconstructor 630 de corriente de datos puede realizar la reconstrucción 725. Uno o más elementos pueden agregarse, redisponerse o combinarse en el sistema 600. Uno o más elementos pueden agregarse, redisponerse o combinarse en el proceso 700. Ejemplos de los métodos y aparatos descritos en lo anterior incluyen lo siguiente.
Un método para descodificar datos de multimedia que incluye recibir una corriente de bits, realizar la descodificación de control de errores de la corriente de bits recibida, donde la descodificación de control de errores comprende identificar bits corruptos que no se corrigen, analizar la corriente de bits descodificada de control de errores que incluyen los bits corruptos identificados en un descodificador, reemplazar por lo menos uno de los bits identificados, y descodificar la corriente de bits descodificada de control de errores, que incluye los bits reemplazados. En un aspecto, el método además incluye analizar la corriente de bits descodificada de control de errores en uno o más símbolos, y analizar la información que identifica los bits corruptos de manera que cualesquier símbolos que contengan bits corruptos se identifican como corruptos. En otro aspecto, el método además incluye construir una tabla de errores que contiene la información analizada que identifica los bits corruptos, donde la tabla de errores contiene información que mapea los bits identificados en posiciones en una secuencia de tramas de video. En aún otro aspecto, el método además incluye analizar la corriente de bits codificada de control de errores en una primera corriente de bits analizada y una segunda corriente de bits analizada, donde la primera corriente de bits analizada es una corriente de bits de capa base y la segunda corriente de bits analizada es una corriente de bits de capa de mejoramiento. Un método para descodificar datos de multimedia que incluye recibir una corriente de bits, realizar la descodificación de control de errores de la corriente de bits recibida, donde la descodificación de control de errores comprende identificar bits corruptos que no se corrigen, analizar la corriente de bits descodificada de control de errores que incluye los bits corruptos e identificados en un descodificador, reemplazar por lo menos uno de los bits identificados al realizar la conversión ascendente de proporción de tramas entre una primera trama y una segunda trama, y descodificar la corriente de bits descodificada de control de errores. Aquellos de experiencia ordinaria en la técnica pueden entender que la información y señales pueden representarse utilizando cualquiera de una variedad de diferentes tecnologías y técnicas. Por ejemplo, datos, instrucciones, comandos, información, señales, bits, símbolos y chips que puedan hacerse referencia a través de la descripción anterior pueden representarse por voltajes, corrientes, ondas electromagnéticas, campos magnéticos o partículas, campos ópticos o partículas, o cualquier combinación de los mismos. Aquellos de experiencia ordinaria en la técnica además pueden apreciar que los diversos bloques lógicos ilustrativos, módulos y etapas de algoritmos descritos junto con los ejemplos descritos en la presente pueden implementarse como hardware electrónico, firmware, software de computadora, software intermedio, microcódigo, o combinaciones de los mismos. Para ilustrar claramente esta capacidad de intercambio de hardware y software, varios componentes ilustrativos, bloques, módulos, circuitos y etapas se han descrito en lo anterior generalmente en términos de su funcionalidad. Si tal funcionalidad se implementa como hardware o software depende de la aplicación particular y las restricciones de diseño impuestas en el sistema general. Aquellos con experiencia en la técnica pueden implementar la funcionalidad descrita en varias formas para cada aplicación particular, pero tales decisiones de implementación no deben interpretarse como provocando una separación del alcance de los métodos descritos . Los diversos bloques lógicos ilustrativos, componentes, módulos y circuitos descritos junto con los ejemplos descritos en la presente pueden implementarse o realizarse con un procesador de propósito general, un procesador digital de señales (DSP) , un circuito integrado de aplicación específica (ASIC) , una disposición de puerta programable de campo (FPGA) , u otro dispositivo lógico programable, puerta discreta o lógica de transistor, componentes de hardware discreto, o cualquier combinación de los mismos diseñados para realizar las funciones descritas en la presente. Un procesador de propósito general puede ser un microprocesador, pero alternativamente, el procesador puede ser cualquier procesador convencional, controlador, microcontrolador, o máquina de estado. Un procesador también puede implementarse como una combinación de dispositivos de cómputo, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores junto con un núcleo de DSP, o cualquier otra configuración. Las etapas de un método o algoritmo descritas junto con los ejemplos descritos en la presente pueden representarse directamente en hardware, en un módulo de software ejecutado por un procesador, o en una combinación de los dos. Un módulo de software puede residir en una memoria RAM, memoria flash, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco removible, un CD-ROM, o cualquier otra forma de medio de almacenamiento conocida en la técnica. Un medio de almacenamiento ejemplar se acopla al procesador de manera que el procesador pueda leer información de, y escribir información en, el medio de almacenamiento.
Alternativamente, el medio de almacenamiento puede ser parte integral del procesador. El procesador y el medio de almacenamiento pueden residir en un Circuito Integrado de Aplicación Específica (ASIC) . El ASIC puede residir en un módem inalámbrico. Alternativamente, el procesador y el medio de almacenamiento pueden residir como componentes discretos en el módem inalámbrico. La descripción previa de los ejemplos descritos se proporciona para permitir que cualquier persona con experiencia en la técnica haga o utilice los métodos descritos y aparatos. Varias modificaciones a estos ejemplos pueden ser fácilmente aparentes para aquellos con experiencia en la técnica, y los principios definidos en la presente pueden aplicarse a otros ejemplos y elementos adicionales pueden agregarse. De este modo, métodos y aparatos para descodificar multimedia continua en tiempo real, que utiliza información de identificación de corrupción de bits y datos corruptos, en una aplicación de descodificador, para realizar ocultación de errores inteligente y corrección de errores de los datos corruptos, se han descrito .

Claims (65)

  1. NOVEDAD DE LA INVENCIÓN Habiendo descrito la presente invención se considera como novedad y por lo tanto se reclama como propiedad lo descrito en las siguientes reivindicaciones.
  2. REIVINDICACIONES 1. Un método para integración de multi-capa para su utilización en recuperación de errores, caracterizado porque comprende : detectar un error en datos de multimedia basándose en un protocolo de primera capa; y ocultar el error detectado en los datos de multimedia basándose en el protocolo de segunda capa. 2. El método de conformidad con la reivindicación 1, caracterizado porque la primera capa comprende una capa de comunicación.
  3. 3. El método de conformidad con la reivindicación 2, caracterizado porque la capa de comunicación comprende cualquiera o una combinación de una capa física, una capa de MAC y una capa de transporte.
  4. 4. El método de conformidad con la reivindicación 1, caracterizado además porque comprende: controlar el error detectado basándose en un protocolo de capa de transporte.
  5. 5. El método de conformidad con la reivindicación 4, caracterizado porque controlar el error detectado comprende : localizar el error detectado.
  6. 6. El método de conformidad con la reivindicación 1, caracterizado además porque comprende: determinar una distribución de errores del error detectado basándose en un protocolo de capa de sincronización.
  7. 7. El método de conformidad con la reivindicación 1, caracterizado porque la segunda capa comprende una capa de aplicación.
  8. 8. Un aparato para la integración de multi-capa para su utilización en recuperación de errores, caracterizado porque comprende: medios para detectar un error en datos de multimedia basándose en un protocolo de primera capa; y medios para ocultar el error detectado en los datos de multimedia basándose en un protocolo de segunda capa .
  9. 9. El aparato de conformidad con la reivindicación 8, caracterizado porque la primera capa comprende una capa de comunicación.
  10. 10. El aparato de conformidad con la reivindicación 9, caracterizado porque la capa de comunicación comprende cualquiera o una combinación de una capa física, una capa de MCA y una capa de transporte.
  11. 11. El aparato de conformidad con la reivindicación 8, caracterizado además porque comprende: medios para controlar el error detectado basándose en un protocolo de capa de transporte.
  12. 12. El aparato de conformidad con la reivindicación 11, caracterizado porque el medio de control comprende : medios para localizar el error detectado.
  13. 13. El aparato de conformidad con la reivindicación 8, caracterizado además porque comprende: medios para determinar una distribución de error del error detectado basándose en un protocolo de capa de sincronización .
  14. 14. El aparato de conformidad con la reivindicación 8, caracterizado porque la segunda capa comprende una capa de aplicación.
  15. 15. Un aparato para integración de multi-capa para su utilización en recuperación de errores, caracterizado porque comprende: un detector para detectar un error en datos de multimedia basándose en un protocolo de primera capa; y un ocultador para ocultar el error detectado en los datos de multimedia basándose en protocolo de segunda capa.
  16. 16. El aparato de conformidad con la reivindicación 15, caracterizado porque la primera capa comprende una capa de comunicación.
  17. 17. El aparato de conformidad con la reivindicación 16, caracterizado porque la capa de comunicación comprende cualquiera o una combinación de una capa física, una capa de MAC y una capa de transporte.
  18. 18. El aparato de conformidad con la reivindicación 15, caracterizado además porque comprende: un controlador para controlar el error detectado basándose en un protocolo de capa de transporte.
  19. 19. El aparato de conformidad con la reivindicación 18, caracterizado porque el controlador localiza el error detectado.
  20. 20. El aparato de conformidad con la reivindicación 15, caracterizado además porque comprende: un determinador para determinar una distribución de error del error detectado basándose en una protocolo de capa de sincronización.
  21. 21. El aparato de conformidad con la reivindicación 15, caracterizado porque la segunda capa comprende una capa de aplicación.
  22. 22. Un procesador para la integración de multicapa para su utilización en recuperación de errores, el procesador se configura para: detectar un error en datos de multimedia basándose en un protocolo de primera capa; y ocultar el error detectado en los datos de multimedia basándose en un protocolo de segunda capa.
  23. 23. El procesador de conformidad con la reivindicación 22, caracterizado porque la primera capa comprende una capa de comunicación.
  24. 24. El procesador de conformidad con la reivindicación 23, caracterizado porque la capa de comunicación comprende cualquiera o una combinación de una capa física, una capa de MAC y una capa de transporte.
  25. 25. El procesador de conformidad con la reivindicación 22, caracterizado además porque se configura para : controlar el error detectado basándose en un protocolo de capa de transporte.
  26. 26. El procesador de conformidad con la reivindicación 25, caracterizado porque el controlador localiza el error detectado.
  27. 27. El procesador de conformidad con la reivindicación 22, caracterizado además porque se configura para : determinar una distribución de error del error detectado basándose en un protocolo de capa de sincronización.
  28. 28. El procesador de conformidad con la reivindicación 22, caracterizado porque la segunda capa comprende una capa de aplicación.
  29. 29. Un medio que se puede leer por computadora que representa un método para la integración de multi-capa para su utilización en recuperación de errores, el método caracterizado porque comprende: detectar un error en datos de multimedia basándose en un protocolo de primera capa; y ocultar el error detectado en los datos de multimedia basándose en un protocolo de segunda capa.
  30. 30. El medio que se puede leer por computadora de conformidad con la reivindicación 29, caracterizado porque la primera capa comprende una capa de comunicación.
  31. 31. El medio que se puede leer por computadora de conformidad con la reivindicación 30, caracterizado porque la capa de comunicación comprende cualquiera o una combinación de una capa física, una capa de MAC y una capa de transporte .
  32. 32. El medio que se puede leer por computadora de conformidad con la reivindicación 29, caracterizado porque el método además comprende: controlar el error detectado basándose en un protocolo de capa de transporte.
  33. 33. El medio que se puede leer por computadora de conformidad con la reivindicación 32, caracterizado porque controlar el error detectado comprende: localizar el error detectado.
  34. 34. El medio que se puede leer por computadora de conformidad con la reivindicación 29, caracterizado porque el método además comprende: determinar una distribución de error del error detectado basándose en un protocolo de capa de sincronización.
  35. 35. El medio que se puede leer por computadora de conformidad con la reivindicación 29, caracterizado porque la segunda capa comprende una capa de aplicación.
  36. 36. Un método para integración de multi-capa para su utilización en recuperación de errores, caracterizado porque comprende: detectar un error en datos de multimedia basándose en un protocolo de capa de comunicación; controlar el error detectado basándose en un protocolo de capa de transporte; determinar una distribución de error del error controlado basándose en un protocolo de capa de sincronización; y ocultar el error detectado en los datos de multimedia basándose en un protocolo de capa de aplicación.
  37. 37. Un aparato para la integración de multi-capa para su utilización en recuperación de errores, caracterizado porque comprende: medios para detectar un error en datos de multimedia basándose en un protocolo de capa de comunicación; medios para controlar el error detectado basándose en un protocolo de capa de transporte; medios para determinar una distribución de error del error controlado basándose en un protocolo de capa de sincronización; y medios para ocultar el error detectado en los datos de multimedia basándose en un protocolo de capa de aplicación.
  38. 38. Un aparato para la integración de multi-capa para su utilización en recuperación de errores, caracterizado porque comprende: un detector para detectar un error en datos de multimedia basándose en un protocolo de capa de comunicación; un controlador para controlar el error detectado basándose en un protocolo de capa de transporte; un determinador para determinar una distribución de error del error controlado basándose en un protocolo de capa de sincronización; y un ocultador para ocultar el error detectado en los datos de multimedia basándose en un protocolo de capa de aplicación.
  39. 39. Un procesador para la integración de multicapa para su utilización en recuperación de errores, caracterizado porque el procesador se configura para: detectar un error en datos de multimedia basándose en un protocolo de capa de comunicación; controlar el error detectado basándose en un protocolo de capa de transporte; determinar una distribución de error del error controlado basándose en un protocolo de capa de sincronización; y ocultar el error detectado en los datos de multimedia basándose en un protocolo de capa de aplicación.
  40. 40. Un medio que se puede leer por computadora que representa un método para la integración de multi-capa para su utilización en recuperación de errores, el método caracterizado porque comprende: detectar un error en datos de multimedia basándose en un protocolo de capa de comunicación; controlar el error detectado basándose en un protocolo de capa de transporte; determinar una distribución de error del error controlado basándose en un protocolo de capa de sincronización; y ocultar el error detectado en los datos de multimedia basándose en un protocolo de capa de aplicación.
  41. 41. Un método para su utilización en procesamiento de datos de multimedia, caracterizado porque comprende : realizar operación de errores de datos de multimedia codificados; y soportar escalabilidad de los datos de multimedia codificados .
  42. 42. El método de conformidad con la reivindicación 41, caracterizado porque la escalabilidad comprende cualquiera o ambas de escalabilidades parcial y temporal .
  43. 43. El método de conformidad con la reivindicación 41, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas.
  44. 44. Un aparato para su utilización en procesamiento de datos de multimedia, caracterizado porque comprende : medios para realizar recuperación de errores de datos de multimedia codificados; y medios para soportar escalabilidad de los datos de multimedia codificados.
  45. 45. El aparato de conformidad con la reivindicación 44, caracterizado porque la escalabilidad comprende cualquiera o ambas de escalabilidad espacial y temporal .
  46. 46. El aparato de conformidad con la reivindicación 44, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas.
  47. 47. Un aparato para su utilización en procesamiento de datos de multimedia, caracterizado porque comprende : un componente de recuperación de errores para realizar recuperación de errores de datos de multimedia codificados; y un componente de escalabilidad para soportar escalabilidad de los datos de multimedia codificados.
  48. 48. El aparato de conformidad con la reivindicación 47, caracterizado porque la escalabilidad comprende cualquiera o ambas de escalabilidades parcial y temporal .
  49. 49. El aparato de conformidad con la reivindicación 47, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas.
  50. 50. Un procesador para su utilización en procesamiento de datos de multimedia, caracterizado porque el procesador se configura para: realizar recuperación de errores de datos de multimedia codificados; y soportar escalabilidad de los datos de multimedia codificados .
  51. 51. El procesador de conformidad con la reivindicación 50, caracterizado porque la escalabilidad comprende cualquiera o ambas escalabilidades parcial y temporal .
  52. 52. El procesador de conformidad con la reivindicación 50, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas.
  53. 53. Un medio que se puede leer por computadora que representa un método para su utilización en procesamiento de datos de multimedia el método caracterizado porque comprende: realizar recuperación de errores de datos de multimedia codificados; y soportar escalabilidad de los datos de multimedia codificados.
  54. 54. El medio que se puede leer por computadora de conformidad con la reivindicación 53, caracterizado porque la escalabilidad comprende cualquiera o ambas de escalabilidad espacial y temporal.
  55. 55. El medio que se puede leer por computadora de conformidad con la reivindicación 53, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas.
  56. 56. Un método para su utilización en procesamiento de corriente de multimedia, caracterizado porque comprende : recibir corriente múltiple de datos de multimedia codificados; realizar recuperación de errores en una porción errónea de una corriente; y reconstruir los datos de multimedia de las múltiples corrientes.
  57. 57. El método de conformidad con la reivindicación 56, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial, y conversión ascendente de proporción de tramas.
  58. 58. Un aparato para su utilización en procesamiento de corriente de multimedia, caracterizado porque comprende : medios para recibir corriente de multimedia de datos de multimedia codificados; medios para realizar recuperación de errores en una porción errónea de una corriente; y medios para reconstruir los datos de multimedia de las corrientes múltiples.
  59. 59. El aparato de conformidad con la reivindicación 58, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial, y conversión ascendente de proporción de tramas.
  60. 60. Un aparato para su utilización en procesamiento de corriente de multimedia, caracterizado porque comprende : un receptor para recibir corriente múltiple de datos de multimedia codificados; un componente de recuperación de errores para realizar recuperación de errores en una porción errónea de una corriente; y un reconstructor para reconstruir los datos de multimedia a partir de las corrientes múltiples.
  61. 61. El aparato de conformidad con la reivindicación 60, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas.
  62. 62. Un procesador para su utilización en procesamiento de corriente de multimedia, caracterizado porque el procesador se configura para: recibir corrientes múltiples de datos de multimedia codificados; realizar recuperación de errores en una porción errónea de una corriente; y reconstruir los datos de multimedia a partir de las corrientes múltiples.
  63. 63. El procesador de conformidad con la reivindicación 62, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas.
  64. 64. Un medio que se puede leer por computadora que representa un método para su utilización en procesamiento de corriente de multimedia, el método caracterizado porque comprende: recibir múltiples corrientes de datos de multimedia codificados; realizar recuperación de errores en una porción errónea de una corriente; y reconstruir los datos de multimedia a partir de las corrientes múltiples.
  65. 65. El medio que se puede leer por computadora de conformidad con la reivindicación 64, caracterizado porque la recuperación de errores comprende cualquiera o una combinación de ocultación de errores temporal, ocultación de errores espacial y conversión ascendente de proporción de tramas .
MX2007011093A 2005-03-10 2006-03-10 Una arquitectura de descodificador para manejo optimizado de errores en multimedia continua. MX2007011093A (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US66092305P 2005-03-10 2005-03-10
US66068105P 2005-03-10 2005-03-10
US66086705P 2005-03-10 2005-03-10
PCT/US2006/008763 WO2006099223A2 (en) 2005-03-10 2006-03-10 A decoder architecture for optimized error management in streaming multimedia

Publications (1)

Publication Number Publication Date
MX2007011093A true MX2007011093A (es) 2007-12-04

Family

ID=36910929

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007011093A MX2007011093A (es) 2005-03-10 2006-03-10 Una arquitectura de descodificador para manejo optimizado de errores en multimedia continua.

Country Status (16)

Country Link
US (1) US7886201B2 (es)
EP (3) EP2268042B1 (es)
JP (3) JP4741649B2 (es)
KR (1) KR100941336B1 (es)
CN (1) CN101790098B (es)
AT (1) ATE456256T1 (es)
AU (1) AU2006223287C1 (es)
BR (1) BRPI0607627A2 (es)
CA (1) CA2600776C (es)
DE (1) DE602006011865D1 (es)
ES (1) ES2336824T3 (es)
IL (1) IL185824A0 (es)
MX (1) MX2007011093A (es)
NO (1) NO20075128L (es)
TW (1) TWI424750B (es)
WO (1) WO2006099223A2 (es)

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004017553A1 (de) * 2002-08-02 2004-02-26 Siemens Aktiengesellschaft Auswertung von empfangenen nutzinformationen durch fehlerverschleierungsdetektion
US7610190B2 (en) * 2003-10-15 2009-10-27 Fuji Xerox Co., Ltd. Systems and methods for hybrid text summarization
US8780957B2 (en) 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
CN101103581B (zh) * 2005-01-19 2012-05-30 英特尔公司 数据通信方法和装置
RU2402885C2 (ru) 2005-03-10 2010-10-27 Квэлкомм Инкорпорейтед Классификация контента для обработки мультимедийных данных
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
CN101485202B (zh) * 2005-05-11 2013-10-30 高通股份有限公司 一种用于统一的错误隐匿框架的方法及设备
US8948309B2 (en) * 2005-07-26 2015-02-03 Broadcom Corporation Method and system for redundancy-based decoding of video content in a wireless system
US8879635B2 (en) 2005-09-27 2014-11-04 Qualcomm Incorporated Methods and device for data alignment with time domain boundary
KR20070038396A (ko) * 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
US8948260B2 (en) 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
CN105049894B (zh) * 2005-12-08 2018-03-16 维德约股份有限公司 用于视频通信***中的差错弹性和随机接入的***和方法
EP1827023A1 (en) * 2006-02-27 2007-08-29 THOMSON Licensing Method and apparatus for packet loss detection and virtual packet generation at SVC decoders
US20070209057A1 (en) * 2006-03-01 2007-09-06 Broadband Wizard Inc. Wireless delivery of broadband cable signals
US8189686B2 (en) * 2006-03-03 2012-05-29 David John Boyes Systems and methods for visualizing errors in video signals
US8693538B2 (en) 2006-03-03 2014-04-08 Vidyo, Inc. System and method for providing error resilience, random access and rate control in scalable video communications
FR2898459B1 (fr) * 2006-03-08 2008-09-05 Canon Kk Procede et dispositif de reception d'images ayant subi des pertes en cours de transmission
US9131164B2 (en) 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
WO2008086423A2 (en) * 2007-01-09 2008-07-17 Vidyo, Inc. Improved systems and methods for error resilience in video communication systems
JP2008187694A (ja) * 2007-01-31 2008-08-14 Matsushita Electric Ind Co Ltd 画像符号化装置およびその方法
US8239731B1 (en) * 2007-07-06 2012-08-07 Marvell International Ltd. Methods and apparatus for providing multilevel coset coding and probabilistic error correction
US8290059B2 (en) * 2007-08-15 2012-10-16 Maxlinear, Inc. Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
US8332736B2 (en) * 2007-11-29 2012-12-11 Texas Instruments Incorporated Decoder with resiliency to handle errors in a received data stream
EP2071852A1 (en) 2007-12-11 2009-06-17 Alcatel Lucent Process for delivering a video stream over a wireless bidirectional channel between a video encoder and a video decoder
ATE526787T1 (de) * 2007-12-11 2011-10-15 Alcatel Lucent Verfahren zum zustellen eines videostroms über einen drahtlosen kanal
US9078024B2 (en) * 2007-12-18 2015-07-07 Broadcom Corporation Video processing system with user customized graphics for use with layered video coding and methods for use therewith
US8130823B2 (en) 2007-12-19 2012-03-06 Broadcom Corporation Channel adaptive video transmission system for use with layered video coding and methods for use therewith
US9143731B2 (en) * 2008-01-02 2015-09-22 Broadcom Corporation Mobile video device for use with layered video coding and methods for use therewith
US8594191B2 (en) 2008-01-03 2013-11-26 Broadcom Corporation Video processing system and transcoder for use with layered video coding and methods for use therewith
US8144781B2 (en) 2008-01-04 2012-03-27 Broadcom Corporation Video processing system for scrambling layered video streams and methods for use therewith
US8179983B2 (en) * 2008-05-20 2012-05-15 Broadcom Corporation Video processing system with layered video coding for fast channel change and methods for use therewith
US8898448B2 (en) * 2008-06-19 2014-11-25 Qualcomm Incorporated Hardware acceleration for WWAN technologies
EP2150022A1 (en) * 2008-07-28 2010-02-03 THOMSON Licensing Data stream comprising RTP packets, and method and device for encoding/decoding such data stream
KR101003922B1 (ko) * 2008-08-04 2010-12-30 인하대학교 산학협력단 멀티미디어 서비스를 제공하기 위한 스케쥴링 방법
KR101479011B1 (ko) * 2008-12-17 2015-01-13 삼성전자주식회사 다중 대역 스케쥴링 방법 및 이를 이용한 방송 서비스 시스템
US8351600B2 (en) * 2009-10-30 2013-01-08 Cleversafe, Inc. Distributed storage network and method for encrypting and decrypting data using hash functions
DE102010002777B4 (de) 2010-03-11 2016-01-21 Universität Kassel Halbzeug für einen Solarkollektor, Solarkollektor und Verfahren zur Herstellung
US8934530B2 (en) 2011-02-01 2015-01-13 Vidyo, Inc. Spatial scalability using redundant pictures and slice groups
US8953478B2 (en) * 2012-01-27 2015-02-10 Intel Corporation Evolved node B and method for coherent coordinated multipoint transmission with per CSI-RS feedback
US9232218B2 (en) * 2012-03-01 2016-01-05 Connesta System and method for data insertion in video stream
US9203757B2 (en) * 2012-03-22 2015-12-01 Texas Instruments Incorporated Network throughput using multiple reed-solomon blocks
US9241166B2 (en) * 2012-06-11 2016-01-19 Qualcomm Incorporated Technique for adapting device tasks based on the available device resources
US9363017B2 (en) * 2012-07-06 2016-06-07 Qualcomm Incorporated Methods and systems of specifying coaxial resource allocation across a MAC/PHY interface
RU2623896C2 (ru) 2012-09-28 2017-06-29 Телефонактиеболагет Л М Эрикссон (Пабл) Декодирование и кодирование изображений видеопоследовательности
US9386326B2 (en) * 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
US10015486B2 (en) * 2012-10-26 2018-07-03 Intel Corporation Enhanced video decoding with application layer forward error correction
TWI486913B (zh) * 2013-06-14 2015-06-01 Vivotek Inc 具網路與錄影功能之安全監控裝置及儲存裝置的偵錯及修復方法
US9756356B2 (en) * 2013-06-24 2017-09-05 Dialogic Corporation Application-assisted spatio-temporal error concealment for RTP video
US9648351B2 (en) * 2013-10-24 2017-05-09 Dolby Laboratories Licensing Corporation Error control in multi-stream EDR video codec
WO2015093637A1 (ko) * 2013-12-16 2015-06-25 삼성전자 주식회사 컨텐츠 공유를 위한 서버 장치, 클라이언트 장치 및 그 컨텐츠 공유 방법
JP2015149564A (ja) * 2014-02-05 2015-08-20 トヨタ自動車株式会社 車載通信システム
US20170163980A1 (en) * 2014-06-30 2017-06-08 Sony Corporation Information processing device and method
US10313749B2 (en) * 2015-01-15 2019-06-04 Electronics And Telecommunications Research Institute Apparatus for broadcasting scalable video contents and method using the same
US9652350B2 (en) 2015-01-22 2017-05-16 International Business Machines Corporation Evaluation of complex SAN environments
EP3076594B1 (en) * 2015-03-31 2020-09-23 Alcatel Lucent Network analyser and method for remote diagnosis of network problems
KR102126511B1 (ko) * 2015-09-02 2020-07-08 삼성전자주식회사 보충 정보를 이용한 영상 프레임의 보간 방법 및 장치
US10841621B2 (en) * 2017-03-01 2020-11-17 Wyse Technology L.L.C. Fault recovery of video bitstream in remote sessions
EP3948856A4 (en) * 2019-03-25 2022-03-30 Razer (Asia-Pacific) Pte. Ltd. METHOD AND APPARATUS FOR USING AN INCREMENTAL SEARCH SEQUENCE IN AUDIO ERROR HIDING
US11917206B2 (en) 2021-12-17 2024-02-27 Lenovo (Singapore) Pte. Ltd. Video codec aware radio access network configuration and unequal error protection coding
US11824653B2 (en) * 2021-12-17 2023-11-21 Lenovo (Singapore) Pte. Ltd. Radio access network configuration for video approximate semantic communications
US11756502B2 (en) * 2022-02-11 2023-09-12 Dell Products, L.P. System and method for providing fast response time performance with low latency in liquid crystal displays

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4301466A (en) * 1980-02-01 1981-11-17 Ampex Corporation Fast acting phase shifting apparatus for use in digital sampling systems
JPS622747A (ja) 1985-06-28 1987-01-08 Toshiba Corp 受信制御方式
US5504732A (en) * 1990-08-15 1996-04-02 Del Mar Avionics Null inflection detection and pulse expand latch in an optical recording system
US5241546A (en) * 1991-02-01 1993-08-31 Quantum Corporation On-the-fly error correction with embedded digital controller
JP3213389B2 (ja) 1992-07-24 2001-10-02 ローム株式会社 時分割多重通信装置
US5878217A (en) * 1994-11-21 1999-03-02 Cirrus Logic, Inc. Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available
GB9509831D0 (en) * 1995-05-15 1995-07-05 Gerzon Michael A Lossless coding method for waveform data
US5633870A (en) 1995-07-07 1997-05-27 Sun Microsystems, Inc. Method and apparatus for controlling data flow through an ATM interface
JP3297293B2 (ja) 1996-03-07 2002-07-02 三菱電機株式会社 動画像復号方法および動画像復号装置
US6026506A (en) * 1997-09-26 2000-02-15 International Business Machines Corporation Concealing errors in transport stream data
US6335985B1 (en) * 1998-01-07 2002-01-01 Kabushiki Kaisha Toshiba Object extraction apparatus
DE69939881D1 (de) 1998-03-31 2008-12-18 Samsung Electronics Co Ltd Turboenkoder/Dekoder und Rahmenverarbeitungsverfahren
KR100377939B1 (ko) * 1998-09-01 2003-06-12 삼성전자주식회사 이동통신시스템에서서브프레임전송을위한프레임구성장치및방법
US6490705B1 (en) * 1998-10-22 2002-12-03 Lucent Technologies Inc. Method and apparatus for receiving MPEG video over the internet
US6192080B1 (en) * 1998-12-04 2001-02-20 Mitsubishi Electric Research Laboratories, Inc. Motion compensated digital video signal processing
US6553540B1 (en) * 1998-12-07 2003-04-22 Telefonaktiebolaget Lm Ericsson Efficient system and method for forward error correction
US20020063807A1 (en) * 1999-04-19 2002-05-30 Neal Margulis Method for Performing Image Transforms in a Digital Display System
JP3411234B2 (ja) * 1999-04-26 2003-05-26 沖電気工業株式会社 符号化情報受信復号装置
JP4269409B2 (ja) * 1999-05-19 2009-05-27 ソニー株式会社 受信装置および方法
US6662329B1 (en) * 2000-03-23 2003-12-09 International Business Machines Corporation Processing errors in MPEG data as it is sent to a fixed storage device
KR100833222B1 (ko) 2000-03-29 2008-05-28 삼성전자주식회사 멀티미디어 송수신 장치 및 방법
FI120125B (fi) * 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
US6804494B2 (en) * 2001-06-11 2004-10-12 Qualcomm Inc. System and method for the detection and compensation of radio signal time of arrival errors
EP1659802B1 (en) 2001-10-05 2008-07-23 Mitsubishi Electric Information Technology Centre Europe B.V. Method and apparatus for compensating for motion vector errors in image data
KR100418199B1 (ko) * 2001-12-31 2004-02-14 트라이콤텍 주식회사 단거리 전용 고속 무선 통신 기반의 차량 탑재 장치
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
EP1337065A1 (en) * 2002-02-13 2003-08-20 Telefonaktiebolaget L M Ericsson (Publ) Semi-reliable ARQ method and device thereof
GB2386275B (en) * 2002-03-05 2004-03-17 Motorola Inc Scalable video transmissions
ATE487327T1 (de) * 2002-03-08 2010-11-15 France Telecom Verfahren zum übertragen von abhängigen datenströmen
JP4185314B2 (ja) * 2002-06-07 2008-11-26 富士通株式会社 情報記録再生装置、光ディスク装置及び、データ再生方法
US20060093031A1 (en) * 2002-07-31 2006-05-04 Koninkijke Phillips Electronics N.V. Method and apparatus for performing multiple description motion compensation using hybrid predictive codes
JP3513148B1 (ja) * 2002-10-11 2004-03-31 株式会社エヌ・ティ・ティ・ドコモ 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラム、及び動画像復号プログラム
JP4195484B2 (ja) 2003-01-07 2008-12-10 サムスン エレクトロニクス カンパニー リミテッド 複合再伝送方式の移動通信システムにおける出力バッファ制御装置及び方法
KR100952761B1 (ko) * 2003-02-25 2010-04-14 엘지전자 주식회사 시간적 확장성 영상 코딩 장치 및 방법
JP4186705B2 (ja) * 2003-05-21 2008-11-26 日本電気株式会社 デジタル放送の補完視聴サービスサーバ、携帯受信機、及びデジタル放送補完視聴サービス方式
US7450610B2 (en) * 2003-06-03 2008-11-11 Samsung Electronics Co., Ltd. Apparatus and method for allocating channel time to applications in wireless PAN
KR100621093B1 (ko) 2003-06-03 2006-09-07 삼성전자주식회사 무선 pan상의 어플리케이션에 채널 시간을 할당하는장치 및 방법
US8599764B2 (en) * 2003-09-02 2013-12-03 Qualcomm Incorporated Transmission of overhead information for reception of multiple data streams
US7221680B2 (en) 2003-09-02 2007-05-22 Qualcomm Incorporated Multiplexing and transmission of multiple data streams in a wireless multi-carrier communication system
US8526412B2 (en) * 2003-10-24 2013-09-03 Qualcomm Incorporated Frequency division multiplexing of multiple data streams in a wireless multi-carrier communication system
US8582640B2 (en) * 2003-12-16 2013-11-12 Sony Corporation Adaptive joint source channel coding
US7882421B2 (en) * 2004-05-06 2011-02-01 Seyfullah Halit Oguz Method and apparatus for joint source-channel map decoding
US7197692B2 (en) * 2004-06-18 2007-03-27 Qualcomm Incorporated Robust erasure detection and erasure-rate-based closed loop power control
KR20050120491A (ko) * 2004-06-19 2005-12-22 삼성전자주식회사 멀티미디어 방송 시스템에서의 전송 에러 처리방법 및장치
EP1779673A1 (en) * 2004-07-15 2007-05-02 Qualcomm Incorporated H.264 spatial error concealment based on the intra-prediction direction
US7995656B2 (en) * 2005-03-10 2011-08-09 Qualcomm Incorporated Scalable video coding with two layer encoding and single layer decoding
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
US7925955B2 (en) * 2005-03-10 2011-04-12 Qualcomm Incorporated Transmit driver in communication system
US7653860B2 (en) * 2005-03-10 2010-01-26 Qualcomm Incorporated Transmit driver data communication
US8693540B2 (en) * 2005-03-10 2014-04-08 Qualcomm Incorporated Method and apparatus of temporal error concealment for P-frame
RU2402885C2 (ru) * 2005-03-10 2010-10-27 Квэлкомм Инкорпорейтед Классификация контента для обработки мультимедийных данных
US8165167B2 (en) * 2005-03-10 2012-04-24 Qualcomm Incorporated Time tracking for a communication system

Also Published As

Publication number Publication date
CA2600776A1 (en) 2006-09-21
TWI424750B (zh) 2014-01-21
EP1869896B1 (en) 2010-01-20
EP1869896A2 (en) 2007-12-26
US20060282737A1 (en) 2006-12-14
JP2011019246A (ja) 2011-01-27
JP4741649B2 (ja) 2011-08-03
JP2013243699A (ja) 2013-12-05
AU2006223287A1 (en) 2006-09-21
EP2019554A2 (en) 2009-01-28
IL185824A0 (en) 2008-01-06
WO2006099223A3 (en) 2007-05-31
ATE456256T1 (de) 2010-02-15
EP2019554A3 (en) 2009-03-11
AU2006223287C1 (en) 2010-10-21
AU2006223287B2 (en) 2010-05-20
CN101790098A (zh) 2010-07-28
WO2006099223A2 (en) 2006-09-21
EP2268042B1 (en) 2014-07-02
NO20075128L (no) 2007-10-09
DE602006011865D1 (de) 2010-03-11
ES2336824T3 (es) 2010-04-16
TW200704206A (en) 2007-01-16
KR20070119675A (ko) 2007-12-20
JP2008537654A (ja) 2008-09-18
JP5738929B2 (ja) 2015-06-24
KR100941336B1 (ko) 2010-02-11
BRPI0607627A2 (pt) 2009-09-22
US7886201B2 (en) 2011-02-08
EP2268042A3 (en) 2011-08-10
CN101790098B (zh) 2016-01-20
CA2600776C (en) 2012-07-17
EP2268042A2 (en) 2010-12-29

Similar Documents

Publication Publication Date Title
EP1869896B1 (en) A decoder architecture for optimized error management in streaming multimedia
US8976858B2 (en) Error resilience using out of band directory information
KR100939951B1 (ko) 인 밴드 에러 패턴을 사용한 에러 복원
US6490705B1 (en) Method and apparatus for receiving MPEG video over the internet
US6317462B1 (en) Method and apparatus for transmitting MPEG video over the internet
KR20080086764A (ko) 패킷 기반의 영상 프레임 전송 방법 및 장치
RU2374787C2 (ru) Структура декодера для оптимизированного управления обработкой ошибок в потоковой передаче мультимедийных данных
CN101176353B (zh) 用于流式多媒体中优化错误管理的解码器架构
Hong et al. Efficient error control scheme for video streaming over wireless networks
Katsaggelos et al. Video coding standards: error resilience and concealment

Legal Events

Date Code Title Description
FG Grant or registration