ES2492642T3 - Método y aparato para la multiplexación estadística de servicios - Google Patents

Método y aparato para la multiplexación estadística de servicios Download PDF

Info

Publication number
ES2492642T3
ES2492642T3 ES07024901.6T ES07024901T ES2492642T3 ES 2492642 T3 ES2492642 T3 ES 2492642T3 ES 07024901 T ES07024901 T ES 07024901T ES 2492642 T3 ES2492642 T3 ES 2492642T3
Authority
ES
Spain
Prior art keywords
services
bandwidth
sum
available
coding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES07024901.6T
Other languages
English (en)
Inventor
Siu-Wai Wu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motorola Mobility LLC
Original Assignee
Motorola Mobility LLC
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 Motorola Mobility LLC filed Critical Motorola Mobility LLC
Application granted granted Critical
Publication of ES2492642T3 publication Critical patent/ES2492642T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/162User input
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Método de multiplexación estadística de primeros servicios y segundos servicios en un grupo, que comprende: obtener (202) una medida del ancho de banda requerido para los primeros servicios, de manera que los primeros servicios comprenden servicios pre-codificados, comprendiendo la medida del ancho de banda requerido una suma de parámetros de necesidad de transcodificación ponderados para los primeros servicios; determinar (204) un ancho de banda de codificación disponible, para los segundos servicios, a partir de un ancho de banda de grupo para los primeros y segundos servicios, usando la medida del ancho de banda requerido; asignar (206) una velocidad de bits de codificación a cada uno de los segundos servicios sobre la base del ancho de banda de codificación disponible; codificar (208) cada uno de los segundos servicios de acuerdo con su velocidad de bits de codificación; y multiplexar (210) los primeros servicios con los segundos servicios según estén codificados, en donde el ancho de banda de codificación disponible se determina usando una función de la suma de parámetros de necesidad de transcodificación ponderados, el ancho de banda de grupo, una suma de parámetros de necesidad de codificación ponderados, para los segundos servicios, una suma de velocidades de bits mínimas para los segundos servicios y un ancho de banda de codificación máximo.

Description

5
10
15
20
25
30
35
40
45
50
55
E07024901
13-08-2014
DESCRIPCIÓN
Método y aparato para la multiplexación estadística de servicios
Antecedentes de la invención
1. Campo de la invención
La presente invención se refiere al procesado de vídeo y, más particularmente, a un método y un aparato para la multiplexación estadística de servicios.
2. Descripción de los antecedentes de la técnica
En sistemas de televisión digital, tales como los sistemas de televisión por cable, por satélite, y de radiodifusión, se utilizan multiplexores de transporte (TMXs) en instalaciones de distribución para procesar múltiples flujos continuos de vídeo. Típicamente, un TMX lleva a cabo varias funciones, tales como multiplexado de servicios, concentración (grooming), transcodificación de velocidades de bits de vídeo, empalmes, y similares. En particular, el multiplexado de servicios es el proceso de combinación de múltiples flujos continuos de vídeo (a los que se hace referencia también como servicios) en un único flujo continuo multiplexado. La transcodificación es el proceso de decodificar parcialmente un flujo continuo de vídeo, tal como un flujo continuo elemental MPEG-2 (grupo de expertos en imágenes en movimiento), seguido por una re-codificación con la finalidad de reducir la velocidad de bits del vídeo.
En unas instalaciones de distribución, algunos servicios multiplexados contienen una mezcla de servicios. Algunos servicios en el multiplexado se producen por medio de codificadores locales (“servicios codificados localmente”). Otros servicios del multiplexado se pre-codifican (pre-comprimen). El grupo de servicios en un multiplexado tiene un ancho de banda particular de grupo. Para multiplexar los servicios codificados localmente con los servicios precodificados, normalmente el TMX debe ajustar la velocidad de bits de vídeo de uno o más servicios de manera que el multiplexado quepa en el ancho de banda del grupo. En implementaciones actuales, los codificadores locales se configuran para codificar servicios usando una codificación de velocidad de bits constante (CBR). A continuación, el TMX transcodifica uno o más de los servicios codificados localmente para satisfacer la limitación del ancho de banda de grupo. No obstante, una transcodificación de este tipo da como resultado una pérdida de calidad de vídeo, particularmente, cuando se realiza una transcodificación desde una velocidad de bits alta a una velocidad de bits significativamente menor. Por consiguiente, en la técnica existe la necesidad de un método y un aparato con capacidad de multiplexar estadísticamente, servicios codificados y pre-codificados localmente, con una transcodificación mínima de los servicios codificados localmente.
El documento US 6.192.083 (B1) da a conocer un aparato y un método de multiplexación estadística para generar y combinar una pluralidad de flujos continuos de bits de vídeo codificados. Un dispositivo de almacenamiento contiene estadísticas a priori, pre-almacenadas, indicativas de la complejidad de codificación de las señales de vídeo a partir de las cuales se generarán los flujos continuos de bits de vídeo codificados. Las estadísticas a priori, prealmacenadas, pueden incluir diferencias entre píxeles de la misma imagen o entre múltiples imágenes o estadísticas a priori, de pre-codificación, generadas durante una codificación preliminar de las señales de vídeo. Los ejemplos de estadísticas a priori, de pre-codificación, incluyen el número de bits por imagen con un nivel de cuantificación dado, un nivel de cuantificación medio, tipos de imagen, posiciones de cambio de escena y campo de repetición para uno
o más de los flujos continuos de bits de vídeo. Las señales de vídeo se aplican a codificadores que comprimen las señales de acuerdo con decisiones de asignación de bits generadas por un ordenador para cálculo estadístico.
El documento US 2006/171423 (A1) da a conocer métodos y aparatos para llevar a cabo el multiplexado de vídeo u otro contenido (por ejemplo, programas) en una red usando realimentación proveniente de una fase posterior de inserción digital de programas, y/o información de alimentación en sentido directo proveniente de una fase de multiplexado anterior.
Sumario de la invención
Se describe un método y un aparato para multiplexación estadística de servicios. Un aspecto de la invención se refiere a la multiplexación estadística de primeros servicios y segundos servicios en un grupo. Se obtiene una medición del ancho de banda requerido para los primeros servicios, donde los primeros servicios comprenden servicios pre-codificados. Se determina un ancho de banda de codificación disponible para los segundos servicios a partir de un ancho de banda de grupo correspondiente a los primeros y los segundos servicios usando la medición del ancho de banda requerido. Se asigna una velocidad de bits de codificación a cada uno de los segundos servicios sobre la base del ancho de banda de codificación disponible. Cada uno de los segundos servicios se codifica de acuerdo con su velocidad de bits de codificación. Los primeros servicios y los segundos servicios, tal como están codificados, se multiplexan. En una realización, uno o más servicios de los primeros servicios y los segundos servicios se transcodifican para formar el multiplexado. Puesto que el ancho de banda de codificación disponible para los segundos servicios se determina usando la medición de ancho de banda requerido para los primeros servicios, se minimiza la transcodificación de los segundos servicios, y se aumenta al máximo la calidad de vídeo.
10
15
20
25
30
35
40
45
50
55
E07024901
13-08-2014
Breve descripción de los dibujos
Para que las características antes citadas de la presente invención se puedan entender de forma detallada, se puede disponer de una descripción más particular de la invención, resumida de forma breve anteriormente, por referencia a realizaciones, algunas de las cuales se ilustran en los dibujos adjuntos. No obstante, debe indicarse que los dibujos adjuntos ilustran solamente realizaciones típicas de esta invención y, por lo tanto, no deben considerarse limitativas de su alcance, ya que la invención puede admitir otras realizaciones igual de eficaces.
La FIG. 1 es un diagrama de bloques que representa una realización ejemplificativa de un sistema de procesado de vídeo según uno o más aspectos de la invención;
la FIG. 2 es un diagrama de flujo que representa una realización ejemplificativa de un método para multiplexar estadísticamente primeros y segundos servicios en un grupo de acuerdo con uno o más aspectos de la invención;
la FIG. 3 es un diagrama de flujo que representa una realización ejemplificativa de un método para multiplexar estadísticamente servicios codificados de forma local, con servicios pre-codificados, de acuerdo con uno o más aspectos de la invención;
la FIG. 4 es un diagrama de bloques que representa una realización ejemplificativa de un controlador del sistema de procesado de vídeo de la FIG. 1 construido según uno o más aspectos de la invención;
la FIG. 5 es un diagrama de bloques que representa otra realización ejemplificativa de un sistema de procesado de vídeo según uno o más aspectos de la invención; y
la FIG. 6 es un diagrama de flujo que representa otra realización ejemplificativa de un método 500 para multiplexar estadísticamente servicios codificados de forma local, con servicios pre-codificados, según uno o más aspectos de la invención.
Para facilitar su comprensión, en lo posible se han usado numerales de referencia idénticos para designar elementos idénticos que son comunes en las figuras.
Descripción detallada de la invención
La FIG. 1 es un diagrama de bloques que representa una realización ejemplificativa de un sistema 100 de procesado de vídeo según uno o más aspectos de la invención. El sistema 100 de procesado de vídeo incluye codificadores 102-1 a 102-N (a los que se hace referencia en conjunto como codificadores 102) y un multiplexor de transporte (TMX) 104, donde N es un entero mayor de cero. El TMX 104 incluye transcodificadores 106-1 a 106-N (a los que se hace referencia en conjunto como transcodificadores 106), transcodificadores 108-1 a 108-M (a los que se hace referencia en conjunto como transcodificadores 108), un controlador 110, un analizador 126 de flujos continuos de bits, y un multiplexor 112, donde M es un entero mayor que cero. El sistema 100 de procesado de vídeo está configurado para procesar servicios de vídeo no codificados y servicios de vídeo pre-codificados con el fin de producir un servicio multiplexado.
Los codificadores 102 están configurados para recibir los servicios de vídeo no codificados. Los servicios de vídeo no codificados pueden comprender vídeo analógico o digital. El vídeo, tal como se usa en la presente, puede incluir opcionalmente audio y/o información de control de presentación de audio/vídeo asociado y/o datos de usuario. Los codificadores 102 están configurados para codificar los servicios de vídeo no codificados con el fin de producir servicios de vídeo codificados (“servicios de vídeo codificados localmente”) usando un algoritmo de comprensión de vídeo, tal como MPEG-2, MPEG-4, H.264, o algoritmos/normativas de tipo similar conocidos en la técnica. Cada servicio de vídeo codificado tiene una velocidad de bits de codificación particular. Tal como es bien sabido en la técnica, la velocidad de bits de codificación determina la cantidad de cuantificación utilizada en el algoritmo de compresión, que afecta a la calidad del vídeo codificado. En una realización, los codificadores 102 utilizan codificación de velocidad de bits variable (VBR), de modo que la velocidad de bits de codificación de los servicios codificados cambia con el tiempo. Los codificadores 102 transmiten los servicios de vídeo codificados al TMX 104 por medio de enlaces 114. Los enlaces 114 pueden comprender cualquier tipo de enlaces de vídeo comprimido, tal como enlaces de una interfaz serie asíncrona (ASI). Cada servicio de vídeo codificado tiene una velocidad de bits de transmisión particular, que es la velocidad a la que se transmiten datos desde un codificador al TMX 104. Los codificadores 102 pueden comprender, por ejemplo, codificadores SE1010 ó SE2000, disponibles comercialmente en Motorola, Inc., en Schaumberg, Illinois.
Los codificadores 102 están acoplados además al controlador 110 por medio de enlaces 116. Los enlaces 116 pueden comprender enlaces de red, tal como enlaces de un protocolo de datagrama de usuario/protocolo de internet (UDP/IP) o similares. El controlador 110 genera periódicamente una interrupción cada Tq segundos (por ejemplo, cada 0,00085 segundos). En cada interrupción, cada uno de los codificadores 102 envía un parámetro de necesidad de codificación de la trama actual que está siendo codificada, una velocidad de bits de transmisión máxima permitida, y una velocidad de bits de transmisión mínima requerida al controlador 110. El “parámetro de necesidad de codificación” es una medida de una exigencia de compresión del codificador, que depende de la complejidad y
10
15
20
25
30
35
40
45
50
55
60
E07024901
13-08-2014
movimiento del vídeo que se esté comprimiendo. En la patente U.S. 6.731.685 transferida en común, expedida el 4 de mayo de 2004, se describe un proceso ejemplificativo para determinar un parámetro de necesidad de codificación. Basándose en el parámetro de necesidad de codificación y las velocidades de bits de transmisión mínima/máxima, el controlador 110 determina una velocidad de bits de codificación y una velocidad de bits de transmisión para cada uno de los codificadores 102 usando un algoritmo de asignación de ancho de banda. A continuación más adelante se describe una realización ejemplificativa del algoritmo de asignación de ancho de banda. El controlador 110 transmite las velocidades de codificación y de bits de transmisión a los codificadores respectivos 102.
Cada uno de los transcodificadores 108-1 a 108-M está configurado para recibir uno respectivo de M servicios de vídeo pre-codificados. El analizador 126 de flujos continuos de bits está configurado también para recibir los servicios de vídeo pre-codificados. Los servicios de vídeo pre-codificados pueden comprender, por ejemplo, flujos continuos de vídeo MPEG-2. Los transcodificadores 108 están configurados para transcodificar selectivamente los flujos continuos de vídeo pre-codificados bajo supervisión del controlador 110. Los transcodificadores 108 están acoplados al controlador 110 por medio de enlaces 118. El analizador 126 de flujos continuos de bits está acoplado al controlador 110 por medio de un enlace 128. Los enlaces 118 y 128 pueden comprender un bus de una placa posterior (backplane) o una placa central (midplane), tal como un bus de interconexión de componentes periféricos (PCI), o enlaces de red (por ejemplo, enlaces de un UDP/IP). El analizador 126 de flujos continuos de bits está configurado para analizar cada uno de los servicios de vídeo pre-codificados y obtener estadísticas a partir de ellos. En cada interrupción, el analizador 126 de flujos continuos de bits envía estadísticas del servicio de vídeo precodificado al controlador 110. Las estadísticas ejemplificativas incluyen velocidad de bits de entrada, número de bits en cada trama de entrada, resolución del vídeo, valor de cuantificador medio de cada trama de entrada, tipo de imagen de cada trama de entrada (por ejemplo, con intra-codificación (I), con codificación predictiva (P), o con codificación predictiva b-direccional (B)). Aunque el analizador 126 de flujos continuos de bits se muestra como un componente aparte, aquellos expertos en la materia apreciarán que la función del analizador 126 de flujos continuos de bits puede estar distribuida entre los transcodificadores 108 de tal manera que cada uno de los transcodificadores 108 obtenga estadísticas de su flujo continuo de bits de entrada.
El controlador 110 calcula un parámetro de necesidad de transcodificación a partir de las estadísticas para cada servicio de vídeo pre-codificado, a partir de lo cual el controlador 110 determina la velocidad de bits instantánea de transcodificación para cada servicio de vídeo pre-codificado. En la patente U.S. 6.847.656 transferida en común, expedida el 25 de enero de 2005, se describe un proceso ejemplificativo para calcular parámetros de necesidad de transcodificación. Las velocidades de bits instantáneas de transcodificación se asignan del ancho de banda disponible con proporcionalidad a los parámetros de necesidad de transcodificación calculados, bajo restricciones de velocidad de bits mínima y máxima. El controlador 110 usa las velocidades de bits de transcodificación para llevar a cabo un control de velocidad para los transcodificadores 108. El controlador 110 determina también las velocidades de bits de transmisión a las cuales dan salida a servicios transcodificados los transcodificadores 108.
Las velocidades de bits de codificación de los servicios de vídeo codificados localmente se asignan antes de conocer las velocidades de bits de transcodificación de los servicios de vídeo pre-codificados. Es decir, el ancho de banda de los codificadores 102 se asigna antes de que se conozca el requisito de ancho de banda de los transcodificadores 108. Para proteger a los servicios de vídeo pre-codificados contra el agotamiento de bits, los servicios de vídeo codificados localmente se acoplan a los transcodificadores 106 por medio de los enlaces 114. Los transcodificadores 106 se acoplan además al controlador 110 por medio de enlaces 120. Los enlaces 120 pueden comprender un bus de una placa posterior o placa central, tal como un bus de interconexión de componentes periféricos (PCI), o enlaces de red (por ejemplo, enlaces de UDP/IP). Los transcodificadores 106 están configurados para transcodificar de manera selectiva los servicios de vídeo codificados localmente, bajo la supervisión del controlador 110. Tal como se describe posteriormente, el controlador 110 ejecuta un algoritmo de asignación de ancho de banda que intenta minimizar la transcodificación de los servicios de vídeo codificados localmente. Así, uno
o más de los servicios de vídeo codificados localmente puede de hecho “atravesar” los transcodificadores 106 sin ser transcodificados. El controlador 110 puede dar instrucciones a los transcodificadores 106 para transcodificar uno
o más de los servicios de vídeo codificados localmente, respectivamente, con el fin de reducir su velocidad de bits para proporcionar ancho de banda para los servicios pre-codificados. Se describe inmediatamente a continuación el algoritmo de asignación de ancho de banda implementado por el controlador 110.
El controlador 110 asigna ancho de banda entre los servicios pre-codificados y codificados localmente en cada interrupción. En una realización, existen dos fases para el algoritmo de asignación de ancho de banda: en la primera fase, una porción del ancho de banda de grupo (es decir, el ancho de banda disponible para el grupo de servicios pre-codificados y codificados localmente) se asigna a los servicios codificados localmente. A continuación, después de un retardo, si fuera necesario se reduce (por transcodificación) el ancho de banda de los servicios codificados localmente, y el ancho de banda de grupo restante se asigna a los servicios pre-codificados.
El algoritmo de asignación de ancho de banda se puede dividir adicionalmente en las siguientes etapas. Sobre la base de los parámetros de necesidad y las configuraciones (por ejemplo, ponderación, velocidades de bits mínima y máxima) de todos los servicios de vídeo (codificados localmente y pre-codificados), el controlador 110 aparta una porción del ancho de banda de grupo (GBW) para que se convierta en el ancho de banda de codificación disponible
5
10
15
20
25
30
35
40
45
50
E07024901
13-08-2014
(EBW) para los servicios procesados por los codificadores 102. El ancho de banda de codificación disponible se puede calcular de la manera siguiente:
imagen1
imagen2
donde ENP es una suma de parámetros de necesidad de codificación ponderados, para los servicios codificados localmente, TNP es una suma de parámetros de necesidad de transcodificación ponderados, para los servicios precodificados, MAXEBW es el ancho de banda de codificación máximo, SEMIN es una suma de velocidades de bits mínimas para los servicios codificados localmente, y f es una función para transformar TNP de manera que se corresponda con ENP. En una realización, f(TNP) = K  TNP, donde K es una constante empírica. Alternativamente, la función f puede ser una función lineal por tramos más general, por ejemplo, f(TNP) = a  TNP+b, donde a y b varían con el intervalo de TNP. El ancho de banda de codificación máximo es el ancho de banda de grupo menos la suma de las velocidades de bits mínimas de los servicios pre-codificados. Un parámetro de necesidad ponderado es el valor del parámetro de necesidad recibido por el controlador 110 desde un codificador o un transcodificador, multiplicado por un factor de ponderación.
Seguidamente, el controlador 110 asigna una velocidad de bits de codificación a cada uno de los codificadores 102. El controlador 110 divide el ancho de banda de codificación (EBW) disponible entre los codificadores 102. En una realización, cada uno de los codificadores 102 recibe ancho de banda (velocidad de bits de codificación) de forma proporcional a su parámetro de necesidad de codificación ponderado, bajo las limitaciones de la velocidad de bits mínima y máxima.
Seguidamente, el controlador 110 retarda disponible en una magnitud pre-definida el valor de ancho de banda de codificación (EBW). En una realización, el ancho de banda de codificación disponible se retarda 0,5 segundos. A continuación, el ancho de banda de codificación disponible retardado (DEBW) se delimita con las velocidades de bits de transmisión mínima y máxima acumuladas para convertirse en el ancho de banda de transmisión disponible (TBW). El ancho de banda de transmisión disponible se puede calcular de la manera siguiente:
donde SMINTXR es la suma de velocidades de bits de transmisión mínimas para los codificadores 102,
SMAXTXR es la suma de velocidades de transmisión máximas de los codificadores 102, y
MAXTBW es el ancho de banda de transmisión máximo. El ancho de banda de transmisión máximo es igual al ancho de banda de grupo (GBW) menos la suma de todas las velocidades de bits mínimas para servicios precodificados.
Seguidamente, el controlador 110 asigna una velocidad de bits de transmisión a cada uno de los codificadores 102. El controlador 110 divide el ancho de banda de transmisión disponible entre los codificadores 102. En una realización, cada uno de los codificadores 102 recibe ancho de banda (velocidad de bits de transmisión) de manera proporcional a su velocidad de bits de codificación retardada, bajo las limitaciones de las velocidades de bits de transmisión máxima y mínima. En la solicitud internacional WO 02/25951 transferida en común, publicada el 28 de marzo de 2002, se describe una técnica ejemplificativa para determinar una velocidad de bits de transmisión en un multiplexor estadístico.
Seguidamente, el controlador 110 determina la velocidad de bits de transcodificación para todos los servicios de vídeo (los servicios codificados localmente y los servicios pre-codificados). Los servicios codificados localmente son procesados por los transcodificadores 106 de la misma manera que los transcodificadores 108 procesan los servicios pre-codificados. Puesto que la calidad del vídeo se deteriora con la transcodificación, el objetivo del algoritmo de asignación de ancho de banda es minimizar la cantidad de transcodificación sobre los flujos continuos de vídeo codificados localmente. Cuando el algoritmo se optimiza, los servicios de vídeo codificados localmente deberían atravesar los transcodificadores 106 la mayor parte del tiempo. Ocasionalmente, uno o más de los servicios de vídeo codificados localmente se puede transcodificar para proporcionar ancho de banda con el fin de mantener la calidad de los servicios pre-codificados.
Después de un retardo de anticipación (por ejemplo, 0,45 segundos), se calculan parámetros de necesidad de transcodificación para los servicios de vídeo codificados localmente y los servicios de vídeo pre-codificados. Obsérvese que el parámetro de necesidad de transcodificación de un servicio codificado localmente no es el mismo que el parámetro de necesidad de codificación, aunque tienen características similares. Los parámetros de necesidad de codificación se calculan a partir del vídeo de entrada original, mientras que los parámetros de necesidad de transcodificación se calculan a partir de los flujos continuos de bits comprimidos.
En una realización, el controlador 110 aplica una conformación de la velocidad uniformemente por todos los servicios de vídeo (codificados localmente y pre-codificados), tratando los servicios codificados localmente igual que
10
15
20
25
30
35
40
45
50
55
E07024901
13-08-2014
los servicios pre-codificados. Puesto que las velocidades de bits de los servicios codificados localmente son VBR y ya han tenido en cuenta la necesidad de ancho de banda de los servicios pre-codificados, la reducción de la velocidad de bits de los servicios codificados localmente se minimiza (por ejemplo, se minimiza la transcodificación). El rendimiento del algoritmo de asignación de ancho de banda se puede mejorar inclinando la asignación de la velocidad de bits de transcodificación hacia los servicios codificados localmente de tal manera que los servicios codificados localmente atraviesan la mayor parte del tiempo los transcodificadores 106.
Los transcodificadores 106 están acoplados al multiplexor 112 por medio de enlaces de vídeo comprimido 122, y los transcodificadores 108 están acoplados al multiplexor 112 por medio de enlaces de vídeo comprimido 124. El multiplexor 112 multiplexa los servicios de vídeo codificado localmente y los servicios de vídeo pre-codificados para producir el multiplexado de salida.
La FIG. 2 es un diagrama de flujo que representa una realización ejemplificativa de un método 200 para multiplexar estadísticamente primeros y segundos servicios en un grupo de acuerdo con uno o más aspectos de la invención. En la etapa 202, se obtiene una medida del ancho de banda requerido para los primeros servicios. Los primeros servicios pueden comprender servicios pre-codificados. En la etapa 204, se determina un ancho de banda de codificación disponible, para los segundos servicios, a partir de un ancho de banda de grupo para los primeros y segundos servicios usando la medida del ancho de banda requerido. En la etapa 206, se asigna una velocidad de bits de codificación a cada uno de los segundos servicios basándose en el ancho de banda de codificación disponible. En la etapa 208, cada uno de los segundos servicios se codifica de acuerdo con su velocidad de bits de codificación. En la etapa 210, los primeros servicios y los segundos servicios, tal como están codificados, se multiplexan.
La FIG. 3 es un diagrama de flujo que representa una realización ejemplificativa de un método 300 para multiplexar estadísticamente servicios codificados localmente, con servicios pre-codificados, de acuerdo con uno o más aspectos de la invención. El método 300 comienza en la etapa 302, donde se reciben parámetros de necesidad de codificación y velocidades de bits de transmisión máximas y mínimas desde codificadores locales. En la etapa 304, se reciben estadísticas asociadas a los servicios pre-codificados. Las estadísticas incluyen velocidades de bits mínimas para los servicios pre-codificados. En la etapa 306, se calculan parámetros de necesidad de transcodificación para los servicios pre-codificados. Los parámetros de necesidad de transcodificación son una medida de ancho de banda requerido para los servicios pre-codificados.
En la etapa 308, se determina un ancho de banda de codificación disponible, para los servicios codificados localmente. En una realización, la medida del ancho de banda requerido para los servicios pre-codificados comprende una suma de parámetros de necesidad de transcodificación ponderados. El ancho de banda de codificación disponible se determina usando una función de la suma de parámetros de necesidad de transcodificación ponderados, el ancho de banda de grupo, una suma de parámetros de necesidad de codificación ponderados para los servicios codificados localmente, una suma de velocidades de bits mínimas para los servicios codificados localmente, y un ancho de banda de codificación máximo. El ancho de banda de codificación máximo es el ancho de banda de grupo menos la suma de velocidades de bits mínimas de los servicios pre-codificados. En una realización, la función se define tal como en la Ecuación 1 anterior.
En la etapa 310, se asigna una velocidad de bits de codificación a cada uno de los servicios codificados localmente sobre la base del ancho de banda de codificación disponible. En una realización, a cada uno de los servicios codificados localmente se le proporciona ancho de banda a partir del ancho de banda de codificación disponible, de manera proporcional al parámetro de necesidad de codificación ponderado asociado al primero, bajo las limitaciones de las velocidades de bits de transmisión máxima y mínima.
En la etapa 312, se determina el ancho de banda de transmisión disponible, para los servicios codificados localmente. En una realización, el ancho de banda de codificación disponible se retarda en una magnitud predefinida (por ejemplo, 0,5 segundos). El ancho de banda de transmisión disponible se puede calcular usando una función del ancho de banda de codificación disponible tal como esté retardado, una suma de velocidades de bits de transmisión mínimas para los servicios codificados localmente, una suma de velocidades de bits de transmisión máximas para los servicios codificados localmente, y un ancho de banda de transmisión máximo. El ancho de banda de transmisión máximo es el ancho de banda de grupo menos la suma de todas las velocidades de bits mínimas definidas por el usuario, para los servicios pre-codificados. En una realización, la función se define tal como en la Ecuación 2 anterior.
En la etapa 314, se asigna una velocidad de bits de transmisión a cada uno de los servicios codificados localmente sobre la base del ancho de banda de transmisión disponible. En una realización, a cada uno de los servicios codificados localmente se le proporciona ancho de banda del ancho de banda de transmisión disponible de manera proporcional a su velocidad de bits de codificación retardada, bajo las limitaciones de las velocidades de bits de transmisión máxima y mínima.
En la etapa 316, cada uno de los servicios codificados localmente se codifica de acuerdo con su velocidad de bits de codificación y se transmite de acuerdo con su velocidad de bits de transmisión. En la etapa 318, se calculan parámetros de necesidad de transcodificación para cada uno de los servicios codificados localmente y cada uno de
10
15
20
25
30
35
40
45
50
55
E07024901
13-08-2014
los servicios pre-codificados. En la etapa 320, se determinan velocidades de bits de transcodificación para uno o más de los servicios codificados localmente y los servicios pre-codificados usando los parámetros de necesidad de transcodificación. En la etapa 322, uno o más de los servicios codificados localmente y los servicios pre-codificados se transcodifican de acuerdo con las velocidades de bits de transcodificación. En la etapa 324, los servicios codificados localmente y los servicios pre-codificados se multiplexan. A continuación se repite el método 300.
La FIG. 5 es un diagrama de bloques que representa otra realización ejemplificativa de un sistema 500 de procesado de vídeo según uno o más aspectos de la invención. Los elementos de la FIG. 5 que son iguales o similares a los de la FIG. 1 se designan con numerales de referencia idénticos y se han descrito de forma detallada anteriormente. El sistema 500 de procesado de vídeo incluye los codificadores 102, un controlador 502, un analizador 504 de flujos continuos de bits, y un TMX 506. El TMX 506 puede comprender un multiplexor genérico de flujos continuos de transporte que tiene transcodificadores (no mostrados) para transcodificar flujos continuos de vídeo de entrada. El TMX 506 está configurado para recibir los flujos continuos codificados localmente de los codificadores 102, y los flujos continuos pre-codificados.
El analizador 504 de flujos continuos de bits está configurado también para recibir los flujos continuos precodificados. El analizador 504 de flujos continuos de bits está configurado para analizar cada uno de los flujos continuos de vídeo pre-codificados y obtener a partir de ellos estadísticas. El controlador 502 genera periódicamente una interrupción cada Tq segundos. En cada interrupción, el analizador 504 de flujos continuos de bits envía las estadísticas de los flujos continuos de vídeo pre-codificados al controlador 110. Anteriormente se han descrito estadísticas ejemplificativas. El controlador 110 calcula parámetros de necesidad de transcodificación a partir de las estadísticas correspondientes a los flujos continuos de vídeo pre-codificados. Se pueden calcular parámetros de necesidad de transcodificación según se ha descrito anteriormente.
El controlador 502 está acoplado además a cada uno de los codificadores 102. En cada interrupción, los codificadores 102 envían parámetros de necesidad de codificación y velocidades de bites de transmisión mínimas y máximas al controlador 110. Usando los datos recibidos de los codificadores 102 y el analizador 504 de flujos continuos de bits, el controlador 502 ejecuta un algoritmo de asignación de ancho de banda para asignar ancho de banda entre los servicios codificados localmente. Es decir, el controlador 502 aparta una porción del ancho de banda de grupo para la totalidad de los flujos continuos de vídeo de manera que se convierta en ancho de banda de codificación disponible para los servicios codificados localmente. El controlador 502 puede calcular el ancho de banda de codificación disponible según se ha descrito anteriormente en la Ecuación 1. El ancho de banda de transmisión disponible se puede calcular tal como se ha descrito anteriormente en la Ecuación 2. El controlador 502 asigna el ancho de banda de codificación disponible y el ancho de banda de transmisión disponible entre los codificadores 102 y proporciona una velocidad de bits de codificación y una velocidad de bits de transmisión a cada uno de los codificadores. Los anchos de banda de codificación y de transmisión se pueden asignar entre los codificadores 102 tal como se ha descrito anteriormente.
El TMX 506 lleva a cabo una conformación de la velocidad sobre todos los servicios de vídeo de entrada (los servicios codificados localmente y los servicios pre-codificados) para formar el multiplexado de salida. Puesto que las velocidades de bits de los servicios codificados localmente son VBR y ya han tenido en cuenta la necesidad de ancho de banda de los servicios pre-codificados, la reducción de la velocidad de bits de los servicios codificados localmente se minimiza (por ejemplo, la transcodificación por parte del TMX 506 se minimiza para los servicios codificados localmente).
La FIG. 6 es un diagrama de flujo que representa otra realización ejemplificativa de un método 600 para multiplexar estadísticamente servicios codificados de manera local, con servicios pre-codificados, según uno o más aspectos de la invención. Las etapas del método 600 que son iguales o similares a las de la FIG. 3 se designan con numerales de referencia idénticos y se han descrito de forma detallada anteriormente. El método 600 comienza en la etapa 302 y prosigue a través de la etapa 316. El método 600 prosigue desde la etapa 316 a la etapa 602, donde los servicios codificados localmente y los servicios pre-codificados son procesados por un TMX para producir un multiplexado de salida. El TMX puede ser un multiplexor genérico de flujos continuos de transporte que tiene transcodificadores para mantener un requisito de ancho de banda de grupo para el multiplexado de salida. A continuación se repite el método 600.
La FIG. 4 es un diagrama de bloques que representa una realización ejemplificativa de un controlador 400 construido según uno o más aspectos de la invención. El controlador 400 se puede usar para implementar el controlador 100 de la FIG. 1 ó el controlador 502 de la FIG 5. El controlador 400 incluye uno o más procesadores 401, una memoria 403, varios circuitos 404 se soporte, y una interfaz 402 de I/O. El(los) procesador(es) 401 puede(n) ser cualquier tipo de microprocesador conocido en la técnica. Los circuitos 404 de soporte para el(los) procesador(es) 401 incluyen memoria caché convencional, fuentes de alimentación, circuitos de reloj, registros de datos, interfaces de I/O, y similares. La interfaz 402 de I/O puede estar acoplada directamente a la memoria 403 ó puede estar acoplada a través del(de los) procesador(es) 401. La interfaz 402 de I/O puede estar acoplada a los codificadores, a un analizador de flujos continuos de bits, y/o varios transcodificadores.
La memoria 403 almacena instrucciones ejecutables por el procesador y/o datos que pueden ser ejecutados y/o
10
15
20
25
30
E07024901
13-08-2014
usados por el(los) procesador(es) 401. Estas instrucciones ejecutables por el procesador pueden comprender hardware, microprogramas, software, y similares, o alguna combinación de los mismos. Los módulos que tienen instrucciones ejecutables por el procesador y que se almacenan en la memoria 403 incluyen un algoritmo 414 de asignación de ancho de banda. El algoritmo 414 de asignación de ancho de banda está configurado para conseguir que el controlador 400 funcione según se ha descrito anteriormente con respecto a la FIG. 1 ó la FIG 5. La memoria 403 puede incluir una o más de las siguientes, memoria de acceso aleatorio, memoria de solo lectura, memoria de lectura/escritura magneto-resistiva, memoria óptica de lectura/escritura, memoria caché, memoria magnética de lectura/escritura, y similares, así como soportes portadores de señales según se describe más adelante.
Aunque uno o más aspectos de la invención se dan a conocer de manera que se implementan como procesador(es) que ejecuta(n) un programa de software, aquellos expertos en la materia apreciarán que la invención se puede implementar en hardware, software, o una combinación de hardware y software. Dichas implementaciones pueden incluir varios procesadores que ejecutan independientemente varios programas y hardware dedicado, tal como ASICs. El controlador 400 se puede programar con un sistema operativo, el cual puede ser OS/2, Java Virtual Machine, Linux, Solaris, Unix, Windows, Windows95, Windows98, Windows NT, y Windows2000, WindowsME, y WindowsXP, entre otras plataformas conocidas. Por lo menos una parte de un sistema operativo se puede disponer en la memoria 403.
Un aspecto de la invención se implementa como un producto de programa para su uso con un sistema de ordenador. Programa(s) del producto de programa define funciones de realizaciones y puede(n) estar contenido(s) en una variedad de soportes portadores de señales, que incluyen, aunque sin carácter limitativo: (i) información almacenada permanentemente en soportes de almacenamiento no grabables (por ejemplo, dispositivos de memoria de solo lectura dentro de un ordenador, tales como discos CD-ROM o DVD-ROM legibles por una unidad de CD-ROM o una unidad de DVD); (ii) información modificable almacenada en soportes de almacenamiento grabables (por ejemplo, discos flexibles en una unidad de disquetes o una unidad de disco duro o CD legible/grabable o DVD legible/grabable); o (iii) información transportada a un ordenador por un medio de comunicaciones, tal como a través de una red de ordenadores o telefónica, incluyendo comunicaciones inalámbricas. Esta última realización incluye específicamente información descargada desde Internet y otras redes. Dichos medios portadores de señales, cuando transportan instrucciones legibles por ordenador que ordenan funciones de la invención, representan realizaciones de la invención.
Aunque lo anterior se refiere a realizaciones ilustrativas de la presente invención, se pueden idear realizaciones alternativas y adicionales de la invención sin desviarse con respecto a su alcance básico, y el alcance de la misma queda determinado por las reivindicaciones que se ofrecen a continuación.

Claims (14)

  1. E07024901
    13-08-2014
    REIVINDICACIONES
    1.
    Método de multiplexación estadística de primeros servicios y segundos servicios en un grupo, que comprende:
    5
    obtener (202) una medida del ancho de banda requerido para los primeros servicios, de manera que los primeros servicios comprenden servicios pre-codificados, comprendiendo la medida del ancho de banda
    requerido
    una suma de parámetros de necesidad de transcodificación ponderados para los primeros
    servicios;
    determinar (204) un ancho de banda de codificación disponible, para los segundos servicios, a partir de un
    10
    ancho de banda de grupo para los primeros y segundos servicios, usando la medida del ancho de banda requerido;
    asignar (206) una velocidad de bits de codificación a cada uno de los segundos servicios sobre la base del
    ancho de banda de codificación disponible;
    codificar (208) cada uno de los segundos servicios de acuerdo con su velocidad de bits de codificación; y
    15
    multiplexar (210) los primeros servicios con los segundos servicios según estén codificados, en donde el ancho de banda de codificación disponible se determina usando una función de la suma de parámetros de
    necesidad de transcodificación ponderados, el ancho de banda de grupo, una suma de parámetros de
    necesidad de codificación ponderados, para los segundos servicios, una suma de velocidades de bits
    mínimas para los segundos servicios y un ancho de banda de codificación máximo.
  2. 2.
    Método de la reivindicación 1, en el que la función comprende:
    imagen1
    donde GBW es el ancho de banda de grupo, ENP es la suma de parámetros de necesidad de codificación ponderados, TNP es la suma de parámetros de necesidad de transcodificación ponderados, MAXEBW es el ancho de banda de codificación máximo, SEMIN es la suma de velocidades de bits mínimas, y f es una función para transformar TNP de manera que se corresponda con ENP.
    25 3. Método de la reivindicación 1, en el que la etapa de asignación comprende:
    proporcionar a cada uno de los segundos servicios ancho de banda a partir del ancho de banda de codificación disponible de manera proporcional al parámetro de necesidad de codificación ponderado asociado al mismo.
  3. 4. Método de la reivindicación 1, que comprende además:
    30 retardar el ancho de banda de codificación disponible;
    determinar un ancho de banda de transmisión disponible, para los segundos servicios, usando el ancho de banda de codificación disponible según esté retardado; y
    asignar una velocidad de bits de transmisión a cada uno de los segundos servicios sobre la base del ancho de banda de transmisión disponible.
    35 5. Método de la reivindicación 4, en el que el ancho de banda de transmisión disponible se determina usando una función del ancho de banda de codificación disponible tal como esté retardado, una suma de velocidades de bits de transmisión mínimas para los segundos servicios, una suma de velocidades de transmisión máximas para los segundos servicios, y un ancho de banda de transmisión máximo.
  4. 6. Método de la reivindicación 5, en el que la función comprende:
    40
    donde DEBW es el ancho de banda de codificación disponible tal como esté retardado, SMINTXR es la suma de velocidades de bits de transmisión mínimas, SMAXTXR es la suma de velocidades de transmisión máximas, y MAXTBW es el ancho de banda de transmisión máximo.
  5. 7. Método de la reivindicación 1, en el que la etapa de multiplexación comprende:
    45 determinar parámetros de necesidad de transcodificación para cada uno de los primeros servicios y los segundos servicios;
    9
    imagen2
    E07024901
    13-08-2014
    transcodificar por lo menos un servicio de los primeros servicios y los segundos servicios sobre la base de
    los parámetros de necesidad de transcodificación.
  6. 8.
    Aparato para multiplexar estadísticamente primeros servicios y segundos servicios en un grupo, que
    comprende:
    5
    un procesador configurado para:
    obtener (202) una medida del ancho de banda requerido, para los primeros servicios, de manera que los
    primeros servicios comprenden servicios pre-codificados, y la medida del ancho de banda requerido
    comprende una suma de parámetros de necesidad de transcodificación ponderados, para los primeros
    servicios;
    10
    determinar (204) un ancho de banda de codificación disponible, para los segundos servicios, a partir de
    un ancho de banda de grupo para los primeros y segundos servicios, usando la medida del ancho de
    banda requerido, una función de la suma de parámetros de necesidad de transcodificación ponderados, el
    ancho de banda de grupo, una suma de parámetros de necesidad de codificación ponderados, para los
    15
    segundos servicios, una suma de velocidades de bits mínimas para los segundos servicios, y un ancho de banda de codificación máximo;
    asignar (206) una velocidad de bits de codificación a cada uno de los segundos servicios sobre la base
    del ancho de banda de codificación disponible;
    una pluralidad de codificadores, estando configurado cada uno de la pluralidad de codificadores para
    codificar (208) uno de los segundos servicios de acuerdo con su velocidad de bits de codificación; y
    20
    un multiplexor configurado para multiplexar (210) los primeros servicios con los segundos servicios tal como
    estén codificados.
  7. 9.
    Aparato de la reivindicación 8, en el que la función comprende:
    imagen3
    donde GBW es el ancho de banda de grupo, ENP es la suma de parámetros de necesidad de codificación
    25 ponderados, TNP es la suma de parámetros de necesidad de transcodificación ponderados, MAXEBW es el ancho de banda de codificación máximo, SEMIN es la suma de velocidades de bits mínimas, y f es una función para transformar TNP de manera que se corresponda con ENP.
  8. 10. Aparato de la reivindicación 8, en el que el procesador está configurado además para:
    retardar el ancho de banda de codificación disponible;
    30 determinar un ancho de banda de transmisión disponible, para los segundos servicios, usando el ancho de banda de codificación disponible según esté retardado; y
    asignar una velocidad de bits de transmisión a cada uno de los segundos servicios sobre la base del ancho de banda de transmisión disponible.
  9. 11. Aparato de la reivindicación 10, en el que el procesador determina el ancho de banda de transmisión disponible
    35 usando una función del ancho de banda de codificación disponible tal como esté retardado, una suma de velocidades de bits de transmisión mínimas para los segundos servicios, una suma de velocidades de transmisión máximas para los segundos servicios, y un ancho de banda de transmisión máximo.
  10. 12. Aparato de la reivindicación 11, en el que la función comprende:
    40 donde DEBW es el ancho de banda de codificación disponible tal como esté retardado, SMINTXR es la suma de velocidades de bits de transmisión mínimas, SMAXTXR es la suma de velocidades de transmisión máximas, y MAXTBW es el ancho de banda de transmisión máximo.
  11. 13. Aparato de la reivindicación 8, en el que el procesador está configurado además para determinar parámetros
    de necesidad de transcodificación para cada uno de los primeros servicios y los segundos servicios, y en 45 donde el aparato comprende además:
    transcodificadores para transcodificar por lo menos un servicio de los primeros servicios y los segundos servicios sobre la base de los parámetros de necesidad de transcodificación.
    10
    imagen4
    E07024901
    13-08-2014
  12. 14.
    Soporte legible por ordenador que tiene almacenado en el mismo instrucciones que, cuando son ejecutadas
    por un procesador, consiguen que el procesador lleve a cabo un método de multiplexación estadística de
    primeros servicios y segundos servicios en un grupo, que comprende:
    5
    obtener (202) una medida del ancho de banda requerido para los primeros servicios, de manera que los primeros servicios comprenden servicios pre-codificados, comprendiendo la medida del ancho de banda
    requerido
    una suma de parámetros de necesidad de transcodificación ponderados para los primeros
    servicios;
    determinar (204) un ancho de banda de codificación disponible, para los segundos servicios, a partir de un
    10
    ancho de banda de grupo para los primeros y segundos servicios, usando la medida del ancho de banda requerido;
    asignar (206) una velocidad de bits de codificación a cada uno de los segundos servicios sobre la base del
    ancho de banda de codificación disponible;
    retardar el ancho de banda de codificación disponible;
    15
    determinar un ancho de banda de transmisión disponible para los segundos servicios usando el ancho de banda de codificación disponible tal como esté retardado;
    asignar una velocidad de bits de transmisión a cada uno de los segundos servicios sobre la base del
    ancho de banda de transmisión disponible;
    codificar (208) cada uno de los segundos servicios de acuerdo con su velocidad de bits de codificación; y
    20
    multiplexar (210) los primeros servicios con los segundos servicios según estén codificados, y en donde el ancho de banda de codificación disponible se determina usando una función de la suma de parámetros de
    necesidad de transcodificación ponderados, el ancho de banda de grupo, una suma de parámetros de
    necesidad de codificación ponderados, para los segundos servicios, una suma de velocidades de bits
    mínimas para los segundos servicios, y un ancho de banda de codificación máximo.
  13. 15.
    Soporte legible por ordenador de la reivindicación 14, en el que la función comprende:
    imagen5
    donde GBW es el ancho de banda de grupo, ENP es la suma de parámetros de necesidad de codificación ponderados, TNP es la suma de parámetros de necesidad de transcodificación ponderados, MAXEBW es el ancho de banda de codificación máximo, SEMIN es la suma de velocidades de bits mínimas, y f es una función para transformar TNP de manera que se corresponda con ENP.
    30 16. Soporte legible por ordenador de la reivindicación 14, en el que el ancho de banda de transmisión disponible se determina usando una función que comprende:
    imagen6
    donde DEBW es el ancho de banda de codificación disponible tal como esté retardado, SMINTXR es la suma de velocidades de bits de transmisión mínimas, SMAXTXR es la suma de velocidades de transmisión máximas, y MAXTBW es el ancho de banda de transmisión máximo.
  14. 17. Soporte legible por ordenador de la reivindicación 14, que comprende además:
    determinar parámetros de necesidad de transcodificación para cada uno de los primeros servicios y los segundos servicios.
    11
ES07024901.6T 2007-01-08 2007-12-21 Método y aparato para la multiplexación estadística de servicios Active ES2492642T3 (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US620768 1990-12-03
US11/620,768 US7843824B2 (en) 2007-01-08 2007-01-08 Method and apparatus for statistically multiplexing services

Publications (1)

Publication Number Publication Date
ES2492642T3 true ES2492642T3 (es) 2014-09-10

Family

ID=39332061

Family Applications (1)

Application Number Title Priority Date Filing Date
ES07024901.6T Active ES2492642T3 (es) 2007-01-08 2007-12-21 Método y aparato para la multiplexación estadística de servicios

Country Status (3)

Country Link
US (1) US7843824B2 (es)
EP (1) EP1942594B1 (es)
ES (1) ES2492642T3 (es)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844725B2 (en) * 2008-07-28 2010-11-30 Vantrix Corporation Data streaming through time-varying transport media
US8001260B2 (en) 2008-07-28 2011-08-16 Vantrix Corporation Flow-rate adaptation for a connection of time-varying capacity
US20100104022A1 (en) * 2008-10-24 2010-04-29 Chanchal Chatterjee Method and apparatus for video processing using macroblock mode refinement
US20100150168A1 (en) * 2008-11-17 2010-06-17 Chanchal Chatterjee Method and apparatus for multiplexing of digital video
US7975063B2 (en) * 2009-05-10 2011-07-05 Vantrix Corporation Informative data streaming server
US9406252B2 (en) 2009-12-31 2016-08-02 Broadcom Corporation Adaptive multi-standard video coder supporting adaptive standard selection and mid-stream switch-over
US20120047535A1 (en) * 2009-12-31 2012-02-23 Broadcom Corporation Streaming transcoder with adaptive upstream & downstream transcode coordination
US8467412B2 (en) * 2010-04-14 2013-06-18 Ericsson Television Inc. Adaptive rate shifting for delivery of video services to service groups
US9167256B2 (en) * 2010-08-31 2015-10-20 Arris Technology, Inc. Method and apparatus for encoding
US9407876B1 (en) * 2010-09-14 2016-08-02 Pixia Corp. Method and system for encoding and decoding multiple wide-area surveillance area-of-interest video codestreams
US20120281748A1 (en) * 2011-05-02 2012-11-08 Futurewei Technologies, Inc. Rate Control for Cloud Transcoding
US20130021512A1 (en) * 2011-07-20 2013-01-24 Broadcom Corporation Framing of Images in an Image Capture Device
US9137551B2 (en) 2011-08-16 2015-09-15 Vantrix Corporation Dynamic bit rate adaptation over bandwidth varying connection
GB201504403D0 (en) * 2015-03-16 2015-04-29 Microsoft Technology Licensing Llc Adapting encoded bandwidth
US10015560B2 (en) * 2016-03-11 2018-07-03 Comcast Cable Communications, Llc Policy based transcoding
CN114257848A (zh) * 2018-02-11 2022-03-29 华为技术有限公司 实现视频业务的方法、设备、通信系统及计算机可读存储介质
US11057653B2 (en) 2018-12-21 2021-07-06 Arris Enterprises Llc Jitter management in a statistical multiplexer employing an IP network

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
US5566208A (en) * 1994-03-17 1996-10-15 Philips Electronics North America Corp. Encoder buffer having an effective size which varies automatically with the channel bit-rate
US5606369A (en) * 1994-12-28 1997-02-25 U.S. Philips Corporation Buffering for digital video signal encoders using joint bit-rate control
EP0784409A3 (en) * 1996-01-11 2001-11-14 Sony Corporation Video coding and multiplexing
US5793425A (en) * 1996-09-13 1998-08-11 Philips Electronics North America Corporation Method and apparatus for dynamically controlling encoding parameters of multiple encoders in a multiplexed system
US6038256A (en) * 1996-12-31 2000-03-14 C-Cube Microsystems Inc. Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics
WO1998032252A1 (en) * 1997-01-21 1998-07-23 Sony Corporation Coded signal transmission method and device
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
JP4508503B2 (ja) * 1999-05-26 2010-07-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ デジタルビデオ信号の符号化方法及び対応する符号化システム又はトランスコーディングシステム
US7418007B1 (en) 2000-09-20 2008-08-26 General Instrument Corporation Method and apparatus for determining a transmission bit rate in a statistical multiplexer
US6731685B1 (en) * 2000-09-20 2004-05-04 General Instrument Corporation Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
US6847656B1 (en) * 2000-09-25 2005-01-25 General Instrument Corporation Statistical remultiplexing with bandwidth allocation among different transcoding channels
US7450609B2 (en) * 2001-10-05 2008-11-11 General Instruments Corporation Method and apparatus for statistically multiplexing multiple groups of services
US7602820B2 (en) * 2005-02-01 2009-10-13 Time Warner Cable Inc. Apparatus and methods for multi-stage multiplexing in a network

Also Published As

Publication number Publication date
EP1942594B1 (en) 2014-06-25
US20080165803A1 (en) 2008-07-10
EP1942594A3 (en) 2011-08-17
US7843824B2 (en) 2010-11-30
EP1942594A2 (en) 2008-07-09

Similar Documents

Publication Publication Date Title
ES2492642T3 (es) Método y aparato para la multiplexación estadística de servicios
CA2421788C (en) Regeneration of program clock reference data for mpeg transport streams
JP4388598B2 (ja) 伝送チャネルを介して複数のビデオプログラムを同時に送信するシステム
CA2407682C (en) Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures
US9826259B2 (en) Managed degradation of a video stream
CA2286640C (en) Rate control for mpeg transcoder without a priori knowledge of picture type
US8355444B2 (en) Encoding of a plurality of information signals using a joint computing power
KR101557250B1 (ko) 스트리밍 미디어의 통계적 멀티플렉싱
KR20030061809A (ko) 다른 트랜스코딩 채널 사이에 대역폭 할당을 갖는 통계적리멀티플렉싱
KR100346962B1 (ko) 전송채널을통한복수의텔레비젼신호들의전송방법,기억방법및재생방법
EP1143736A2 (en) Image encoding apparatus and method and image decoding apparatus and method
WO2000014953A1 (en) Method and apparatus for processing variable bit rate information in an information distribution system
US20100150168A1 (en) Method and apparatus for multiplexing of digital video
TW201351965A (zh) 對委託器提供具有不同位元率的內容串流版本集之方法及實施系統
Alhilal et al. Nebula: Reliable low-latency video transmission for mobile cloud gaming
US20100106838A1 (en) Distributed multiplexing
US20090175356A1 (en) Method and device for forming a common datastream according to the atsc standard
Yoon et al. Hardware-assisted, low-cost video transcoding solution in wireless networks
JP2003224847A (ja) 画像符号化装置とその方法、および、画像復号化装置とその方法
Sanchez et al. Shifted IDR representations for low delay live DASH streaming using HEVC tiles
WO2021167531A1 (en) Methods and systems for bandwidth estimation
US11653041B2 (en) Jitter management in a statistical multiplexer employing an IP network
WO2019018703A1 (en) STATISTICAL MULTIPLEXER WITH WEATHER PRIORITY WEIGHTING
Podborski et al. Tile based panoramic streaming using shifted IDR representations
JP2001144813A (ja) 送信装置および方法、並びに記録媒体