MX2007011100A - Ajuste de ancho de banda adaptable al contexto, en control de velocidad de video. - Google Patents

Ajuste de ancho de banda adaptable al contexto, en control de velocidad de video.

Info

Publication number
MX2007011100A
MX2007011100A MX2007011100A MX2007011100A MX2007011100A MX 2007011100 A MX2007011100 A MX 2007011100A MX 2007011100 A MX2007011100 A MX 2007011100A MX 2007011100 A MX2007011100 A MX 2007011100A MX 2007011100 A MX2007011100 A MX 2007011100A
Authority
MX
Mexico
Prior art keywords
value
bit rate
determining
bandwidth
instructions
Prior art date
Application number
MX2007011100A
Other languages
English (en)
Inventor
Vijayalakshmi R Raveendran
Tao Tian
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 MX2007011100A publication Critical patent/MX2007011100A/es

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • 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/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/124Quantisation
    • 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/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of 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/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/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/176Methods 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 block, e.g. a macroblock
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Metodos y aparatos que codifican video a una velocidad de bits orientada y asi permitir la variacion de un Parametro de Cuantificacion (QP) para codificar video de complejidad variada con una calidad visual relativamente consistente. La Codificacion de velocidad constante en bits (CBR) es deseable en muchas aplicaciones, tal como en ambientes de transmision o difusion. Sin embargo, las tecnicas convencionales de CBR comprometen la calidad visual. Las tecnicas descritas permiten la variacion adaptable en un valor QP y proveen la codificacion visual mejorada en esquemas de velocidad de bits variable (VBR) mientras se mantiene suficiente adherencia a una velocidad de bits orientada para que sea aplicable a ambientes CBR.

Description

AJUSTE DE ANCHO DE BANDA ADAPTABLE AL CONTEXTO EN CONTROL DE VELOCIDAD DE VIDEO CAMPO DE LA INVENCIÓN La presente invención se refiere generalmente a datos de multimedia, y muy específicamente a compresión de datos de multimedia.
ANTECEDENTES DE LA INVENCIÓN Debido al crecimiento explosivo y el gran éxito de la Internet y de la comunicación inalámbrica, así como la incrementada demanda de servicios de multimedia, la transferencia de datos sobre Internet y canales móviles / inalámbricos ha llamado una tremenda atención. En redes de Protocolo de Internet heterogéneas (IP), se provee un video por medio de un servidor y se puede transferir por uno o más clientes. Las conexiones alámbricas incluyen marcado, redes digitales de servicios integrados (ISDN), cable, protocolos de línea suscriptora digital (colectivamente se refiere como (xDSL) , fibra, redes de área local (LAN), redes de área amplia (WAN) y otros. El modo de transmisión puede ser tanto uni-transmisión como multi-transmisión.
Similar a la red IP heterogénea es la comunicación móvil / inalámbrica. El transporte de contenido de multimedia sobre canales móviles /inalámbricos es muy desafiante porque estos canales con frecuencia se ven severamente dañados debido a un desvanecimiento de trayectorias múltiples, a una imitación de imagen, 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 en ancho de banda. El ruido de canal y el número de usuarios a los que se da servicio, determinan la propiedad de variación de tiempo de los ambientes del canal . El video digital típicamente es comprimido para el almacenamiento y/o transmisión eficiente. Existen muchos estándares de compresión de video. Un problema común para la compresión de video es un compromiso entre ancho de banda (bits por segundo) y la calidad visual. Varias medidas, tales como la relación señal - a - ruido (PSNR), se puede utilizar para valorar la calidad visual. Se entenderá que con una velocidad de cuadro constante, los bits utilizados para codificar cuadros de video serán directamente proporcionales a la velocidad en bits o ancho de banda para el video, y que estos términos (bits y ancho de banda) , aunque técnicamente no son los mismos, con frecuencia se usan indistintamente en la técnica y se puede determinar del contexto la interpretación correcta. El ancho de banda que se requiere para una calidad visual relativamente buena, variará con la complejidad del video que se va a codificar. Por ejemplo, una toma relativamente estática, debido a su velocidad de una toma newcaster, se puede codificar a una calidad visual relativamente alta con un ancho de banda relativamente bajo. Por el contraste, una toma relativamente dinámica, tal como una toma de paneo a los atletas en un evento deportivo, puede consumir una gran cantidad de ancho de banda para la misma calidad visual. En muchos ambientes de transmisión o de difusión, la capacidad de ancho de banda para un canal en particular o grupo de canales está limitada. Existen varias formas de control de velocidad para aplicaciones de velocidad en bits constante. Las técnicas existentes se enfocan en mantener la velocidad de bits tan cercana como sea posible a la velocidad en bits objetivo, que puede limitar la capacidad de adaptación del parámetro de cuantificación seleccionado (QP) para cuadros que varían la complejidad de codificación, que puede ser comprometiendo la calidad visual asociada con el video codificado.
Por lo tanto, existe la necesidad en las técnicas de control de velocidad que pueden mantener una velocidad constante en bits, para un medio de transmisión, y así proveer un grado de capacidad de velocidad en bits variable para una calidad visual relativamente buena, para el disfrute del espectador.
SUMARIO DE LA INVENCIÓN Las modalidades que se describen en la presente abordan las necesidades establecidas anteriormente proveyendo un ajuste a la velocidad en bits objetivo, basada por lo menos en un historial de valores de parámetro de cuantificación (QP) en codificar cuadros previos a un cuadro que se va a codificar. Un aspecto es un método para procesar datos de multimedia recibidos, en donde el método incluye: determinar un primer valor de parámetro de cuantificación QP que se va utilizar para codificar; codificar una primera porción de los datos de multimedia con el primer valor QP determinado; determinar un ancho de banda temporal basado en un primer valor QP; y volver a determinar el primer valor QP para que se utilice en codificar la segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal, dicha segunda porción siendo temporalmente recibida después de la primera porción. Un aspecto es un aparato para procesar datos de multimedia recibidos, en donde el aparato incluye: medios para determinar un primer valor de parámetro de cuantificación QP para que se utilice para codificar; medios para codificar una primera porción de los datos de multimedia con el primer valor QP determinado; medios para determinar un ancho de banda temporal basado en el primer valor QP; y medios para volver a determinar el primer valor QP que se va a utilizar para codificar una segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal, dicha segunda porción se recibe temporalmente después de la primera porción. Otro aspecto es un aparato para procesar datos de multimedia recibidos, en donde el aparato incluye: un codificador configurado para determinar un primer parámetro, un primer valor de parámetro de cuantificación QP que se va a utilizar para codificar, en donde el codificador se configura además para codificar una primer porción de datos de multimedia con el primer valor QP determinado; y un procesador configurado para determinar un ancho de banda temporal basado en el primer valor QP; en donde el codificador se configura para volver a determinar el primer valor QP que se va a utilizar para codificar una segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal. Dicha segunda porción es temporalmente recibida después de la primera porción. Un aspecto es un producto de programa de cómputo moralizado o integrado en un medio tangible con instrucciones para procesar datos de multimedia recibidos, en donde el producto del programa de cómputo incluye: un módulo con instrucciones para determinar un primer valor de parámetro de cuantificación QP que se utiliza para codificar; un módulo con instrucciones para codificar una primer porción de los datos de multimedia con el primer valor QP. Un aspecto es un aparato para procesar datos de multimedia recibidos, en donde el aparato incluye: un codificador configurado para determinar un primer valor de parámetro de cuantificación (QP) que se utiliza para codificar, donde el codificador además está configurado para codificar una primer porción de los datos de multimedia con el primer valor determinado (QP) ; y un procesador configurado para determinar un ancho de banda temporal basado en un primer valor QP; en donde el codificador está configurado para volver a determinar el primer valor QP que se va utilizar para codificar una segunda porción de los datos de multimedia basados por lo menos en parte del ancho de banda temporal, dicha segunda porción, siendo temporalmente recibida después de la primer porción. Un módulo con instrucciones para determinar un ancho de banda temporal basado en el primer valor QP; y un módulo con instrucciones para re determinar el primer valor QP que se va utilizar para codificar una segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal, dicha segunda porción temporalmente recibida después de la primera porción. Un aspecto es un método para ajustar una velocidad en bits para un procedimiento de codificación de multimedia, en donde el método incluye: recibir un valor de parámetro de cuantificación (QP) previo que ha sido utilizado para codificar un objeto; determinar una estadística a largo plazo de valores previos (QP) ; y determinar una velocidad en bits modificada para un objeto que se va a codificar por lo menos parcialmente, con base en el valor previo QP y la estadística a largo plazo. Un aspecto es aparato para ajustar una velocidad en bits para un procedimiento de codificación de multimedia, en donde el aparato incluye: medios para determinar una estadística a largo plazo de los valores previos de parámetro de cuantificación QP; y medios para determinar una velocidad en bits modificada para un objeto que se va a codificar por lo menos parcialmente, con base en un valor previo QP y la estadística a largo plazo, en donde el valor previo QP ha sido utilizado para codificar un objeto. Un aspecto es un aparato para ajustar una velocidad en bits para un procedimiento de codificación de multimedia, donde el aparato incluye: un generador estadístico configurado para determinar una estadística a largo plazo de valores previos QP; un circuito de ajuste configurado para recibir un valor previo de parámetro de cuantificación (QP) que ha sido utilizado para codificar un objeto, en donde el circuito de ajuste es además configurado para determinar una velocidad en bits modificada para un objeto que se va a codificar por lo menos parcialmente con base en el valor previo QP y la estadística a largo plazo. Un aspecto es un producto de un programa de cómputo integrado en un medio tangible con instrucciones para ajustar una velocidad de bits para un procedimiento de codificación de multimedia, en donde el producto de programa de cómputo incluye: un módulo con instrucciones para recibir un valor de parámetro cuantificación previa (QP) que ha sido utilizado para codificar un objeto; un modulo con instrucciones para determinar una estadística a largo plazo de valores previos QP; y un módulo con instrucciones para determinar una velocidad de bits modificada para un objeto que se va a codificar por lo menos parcialmente basado en el valor previo QP y en la estadística a largo plazo. Un aspecto es un método de codificación de video de un video canal donde el método incluye: recibir una velocidad de bits objetivo para codificar por video una pluralidad de cuadros de video del canal de video, en donde la pluralidad de cuadros de video son por un primer intervalo de tiempo; codificar un primer cuadro del canal de video, en donde el primer cuadro esta codificado con un primer valor de parámetro de cuantificación QP y con una asignación en bits temporal; actualizar un promedio de movilización del parámetro de cuantificación con el primer parámetro de cuantificación (QP, calcular una asignación de bits durante un segundo cuadro posterior al primer cuadro para el canal de video, en donde el calculo para la asignación de bits para el segundo cuadro se ajusta con base en el primer valor de parámetro de cuantificación (QP)y el promedio de movilización, y codificar el segundo cuadro utilizando la asignación de bits calculada.
BREVE DESCRIPCIÓN DE LAS FIGURAS La figura 1 ilustra una gráfica de un sistema "puro" de velocidad en bits constante (CBR) con tiempo a lo largo de un eje horizontal y una velocidad de bits a lo largo de un eje vertical; La figura 2 ilustra una gráfica de un sistema de segmentos CBR, con tiempo a lo largo de un eje horizontal y velocidad en bits a lo largo de un eje vertical; La figura 3 es un diagrama de un sistema que ilustra un ejemplo de un procesador para generar una velocidad en bits modificada; La figura 4 Es un diagrama de flujo que generalmente ilustra un proceso para modificar una velocidad en bits de objetivo para codificar; La figura 5 es un diagrama de flujo que generalmente ilustra un procedimiento para modificar una velocidad de bits u objetivo para codificar. La figura 6 es un diagrama de flujo que generalmente ilustra un método para procesar datos de multimedia recibidos. La figura 7 es un diagrama de sistema que ilustra un ejemplo de un aparato para procesar datos de multimedia recibidos .
La figura 8 es un diagrama de sistema que ilustra un ejemplo de un aparato para ajustar una velocidad de bits para un procedimiento de codificación de multimedia.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN Métodos y aparatos para codificar multimedia a una velocidad de bits objetivo y así permitir la variación de un parámetro de cuantificación (QP) para codificar video de complejidad variada con una calidad visual relativamente consistente. Los datos de multimedia pueden incluir datos visuales, datos de audio o una combinación tanto de datos visuales como de datos de audio. Este permite que se varié el QP para la calidad visual relativamente buena, mientras se mantienen velocidades de bits objetivo para la aplicabilidad dentro de muchos ambientes de velocidad de bits constante (CBR) , tal como dentro de la transmisión o en ambientes de difusión. Las técnicas convencionales para la calidad visual de control para el control de visualidad en bit. Por ejemplo, el Capitulo 10 del modelo de prueba 5 (TM5) de la organización MPEG <htt: //www.mpeg.org/MSSG/tm5/Chl0/Chl0.html> Describe el control de QP en una manera estricta para mantener los niveles de ocupación de la memoria intermedia para un control más ajustado de velocidad de bit. Mientras que se permite que se provean los datos resultantes sobre medios CBR, se afecta la calidad visual. En sistemas típicos, las memorias intermedias de datos temporalmente almacenan datos entrantes. Para periodos de tiempo relativamente cortos, una memoria intermedia de datos permite que un sistema utilice datos a una velocidad diferente de la cual se provee. Esto permite cierta variación en velocidad de bits que se pueda tolerar dentro de los sistemas CBR así como permite cierta robustez para las variaciones en el medio de transmisión. Dichos medios de transmisión, pueden incluir por ejemplo, televisión por satélite, tal como Direct TV®, redes de cable digital, redes de amplia área, Internet, redes inalámbricas, redes de teléfonos celulares, redes ópticas, y similares. En caso de sistemas de comunicación inalámbrica, el medio de transmisión puede comprender, por ejemplo, parte de un sistema de comunicación de acceso múltiple de división (por códigos CDMA, CDMA2000) o alternativamente como el sistema puede ser un sistema de acceso múltiple de división por frecuencias (FDMA),. un sistema de acceso múltiple de división por frecuencia octogonal (OFDMA) un sistema de acceso múltiple de división por tiempos (TDMA) , tal como (GSM/GPRS servicio de radio paquete general /EDGE) ambiente GSM de datos mejorado (OCTETRA) radio localizado terrestre; Tecnología telefonía móvil, industria de servicio, un sistema de acceso múltiple de división por códigos de banda ancha (WCDMA), un sistema de alta velocidad de datos o (lxEV-DO o lxEV-DO Gold Multicast) , o en general cualquier sistema de comunicación inalámbrica, por ejemplo cualquier sistema de comunicación inalámbrica ejemplo una combinación de técnicas. Las técnicas escritas toman ventaja de la variación en velocidad de bits permisible por una memoria intermedia de datos se ajusta a ala velocidad de bits dentro del contexto de un sistema CBR para proveer una calidad visual relativamente buena. En un sistema CBR, la velocidad en bits objetivos constantes sobre un periodo relativamente largo. Estos intervalos de tiempo pueden ser tan largos e infinitos para ciertos sistemas, pueden ser más cortos tal como un segundo en duración para sistemas que son de velocidad de bits constante sobre intervalos de segmento. Por ejemplo en un sistema donde las corrientes debidas separadas o canales se multiplexan juntas durante periodos de intervalos periódicos, tal como, intervalos de un segundo, los canales individuales pueden tener una velocidad de bits objetivo que es constante sobre estos intervalos de periodo.
La figura 1 ilustra una gráfica de un sistema "puro" de velocidad de bit constante (CBR) con tiempo a lo largo de un eje horizontal y velocidad en bits a lo largo de un eje vertical. La figura 2 ilustra una gráfica de un sistema de segmentos CBR con tiempo en un eje horizontal y velocidad en bits a lo largo de un eje vertical. Las velocidades en bit objetivo y ejemplos de velocidad en bit reales ilustran en cada gráfica. La figura 3 es un diagrama del sistema que ilustra un sistema de un procesador 300 para general una velocidad en bit modificada. Por ejemplo, el procesador 300 puede ser un circuito especializado o se puede especializar por medio de un software o programación lógica ejecutada en un procesador, tal como un procesador de propósito general o un procesador de señal digital. El procesador ilustrado 300 incluye un generador estadístico de parámetro de cuantificación (QP) a largo plazo 302 y un circuito de ajuste 304. El circuito de ajuste 304 incluye un primer sub-circuito de ajuste 306 y un segundo sub-circuito de ajuste 308. Procesador 300 se puede utilizar en un sistema que se sostiene por sí solo, con un circuito dentro de un codificador, o aun ser integrado como a un circuito que se integra como enchufe en un software ejecutado en un microprocesador o similares. Por ejemplo, el procesador 300 se puede modalizar o integrar en un codificador de video y o en un codificador de audio. Como una entrada, el procesador 300 recibe una velocidad en bits objetivo (Btgt) de una fuente de control, tal como múltiples. Por ejemplo, la velocidad en bit objetivo (Btgt) puede corresponder a la velocidad en bit objetivo (Btgt) para un sistema constante de velocidad de bit CBR como se muestra en la figura 1, o una velocidad en bit seleccionado para un sistema de segmentos CBR, como se muestra en la figura 2. Como otra entrada, el procesador 300 recibe un parámetro de cuantificación a corto plazo (QP?*P) desde un codificador 310. Uno o ambos, del procesador 310 y del codificador del 310, pueden estar en comunicación con un almacenamiento de datos 320 para almacenamiento y recuperación de datos, tal como datos del programa, variables, datos de multimedia no codificados, datos de multimedia codificados como similares, el codificador puede corresponder a un amplia variedad de codificadores, tales como manual imitado A, un codificador MPG2 utilizando el modelo de prueba 5 (TM5) para la velocidad de control. El parámetro de cuantificación corto plazo ( QP?*p) puede ser el valor del parámetro de cuantificación (QP) utilizado por un cuadro que ah sido codificado inmediatamente precio al cuadro que se va a codificar por el codificador 310. También se pueden utilizar otras estadísticas a corto plazo relativamente. Como una salida, el procesador 300 genera una velocidad en bits modificada ( Btemp) que el codificador 310 utiliza como un control de velocidad en bit objetivo. El procesador 300 modifica el control de velocidad en bit objetivo ( Btgt) que se aplicaría por lo general a al entrada del codificador 310 y provee la velocidad en bits modificada ( Btemp) como el control en bits objetivo en su lugar. Esto prueba el codificador con un control de velocidad de bit adaptable que es suficientemente constante para sistemas CBR y suficientemente adaptable en respuesta al cambio de complejidades visuales tales como la calidad visual de la codificación que es relativamente constante. Por ejemplo, mientras que una velocidad en bits general utilizada para codificar multimedia puede acercarse a la velocidad en bits objetivo de una velocidad en bit constante (CRR) , el "puro" ambiente CBR que se muestra en la figura 1 del ambiente de velocidad de bit constante de segmento que se muestra en la figura 2, la velocidad de bits objetivo es ajustable para permitir un desempeño en codificación de calidad cuasi constante. El generador estadístico QP de parámetro de cuantificación a largo plazo 302 genera una estadístico a largo plazo basada en la historia de valores a corto plazo QP, y QP y P tal como los valores QP más recientes utilizados por el codificador 310. Uno más de varias estadísticas de largo plazo se podrán generar. Por ejemplo, se puede utilizar un promedio movible de exponencialmente ponderado (CWMA) , la ecuación 1 a continuación, representa un enunciado de asignación para dicha EWMA. LTQP ^ ?QPí ¡t +{l- )xLTQP (Ec 1} En la ecuación 1, LTQP indica el promedio de movilización exponencialmente ponderado a largo plazo a, que indica una constante de suavizado, y QPIP indica un valor a corto plazo, tal como el valor QP que se utilizó más recientemente, por el codificador 310. El LTQP a la izquierda de la flecha indica el valor que va a ser calculado. El LTQP a la derecha de la flecha indica un valor desde el cálculo previo del LTQP. Una ventaja de la técnica es WMA es que no se necesita un historial de una gran cantidad de valores QP previos para el cálculo. Se pueden utilizar una gran variedad de técnicas para el valor inicial del promedio de movilización exponencialmente ponderado LTQP. Por ejemplo, sepa utilizar un valor previo como un punto de partida, se pueda utilizar un simple promedio de movilización, un valor por omisión, tal como un valor esperado para LTQP que se podrá utilizar también y similares. Un ejemplo de un valor apropiado para la constante de suavizado a es 0.3 para un sistema operativo 50 cuadros por segundo. Otros valores apropiados se determinarán fácilmente por aquellos expertos en la técnica. Otras técnicas también se pueden aplicar para generar la estadística a largo plazo. También se puede utilizar un simple promedio de movilización. También se puede utilizar un promedio de movilización desigualmente ponderado. También se puede utilizar un valor de la media. También se pueden utilizar combinaciones de los anteriores. Otras técnicas se determinaron fácilmente por aquellos expertos en la técnica. El valor estadístico a corto plazo QPLp y el valor estadístico a largo plazo LTQP se proveen como entradas al primer subcircuito de ajuste 306. Estos valores se utilizan para pesar una velocidad en bits modificada Btemp basada en los valores QP a corto plazo y a largo plazo, para generar una velocidad en bits Bi modificada. Por ejemplo, el primer subcircuito de ajuste 306 puede desarrollar el cálculo expresado en el ecuación 2. QP,,,.-ITQP B^ Bm , 2- * (£c_ 2) En la Ecuación 2, se ilustra un ajuste exponencial. Un ajuste exponencial provee cambios relativamente mayores en la velocidad en bits ajustada Bi para diferencias relativamente mayores en valores QP entre la estadística a corto plazo y la estadística a largo plazo. Sin embargo, se pueden utilizar otros ajustes que no son exponenciales, incluyendo, mas no limitado a, otros ajustes no lineales o un ajuste lineal. Además, en lugar de calcular una fórmula, se pueden utilizar tablas de búsqueda o similares, para recuperar los factores de ajuste . Volviendo ahora a la Ecuación 2, como condición inicial previo a la codificación o previo a la operación del primer sub-circuito de ajuste 306, el valor de la velocidad en bits modificada Btemp se puede inicializar al valor de la velocidad en bits objetivo Btgt . El QPI, P estadístico a corto plazo y el LTQP estadístico a largo plazo se puede inicializar a valores por omisión, tales como valore esperados. El valor de la variable A puede variar en un amplio rango dependiendo de cuánto se desea una desviación. En un ejemplo, se determinó un valor a 40 para que sea efectivo para A. También se determinarán fácilmente otros valores apropiados, para aquellos expertos en la técnica. La velocidad en bits ajustada Bi se provee como una entrada al segundo subcircuito de ajuste 308. Por ejemplo, el segundo subcircuito de ajuste 308 puede calcular un valor para la velocidad en bits modificada Btemp de acuerdo con la Ecuación 3.
..Bm~B\ ^ "5,x2 "* ^ ' (Ec. 3) Se ilustra en la Ecuación 3 un ajuste exponencial. Un ajuste exponencial provee cambios relativamente mayores para la velocidad en bits modificada Bte p para desviaciones relativamente mayores entre la velocidad en bits ajustada Bl y la velocidad en bit objetivo Btgt - Sin embargo, se pueden utilizar otros ajustes que no son exponenciales, incluyendo mas no limitado a, otros ajustes no lineales o ajustes lineales. Además, en lugar de calcular una fórmula, se pueden utilizar tablas de búsqueda y similares, para recuperar los factores de ajuste para la velocidad en bits modificada. Además, antes de proveer la velocidad en bits modificada Btemp el codificador 310, puede estar por ejemplo ligado a la velocidad en bit Btemp, por ejemplo límites del sistema para valores mínimos de velocidad de codificación y máximos. El valor de ? afecta la amortiguación asociada con el ajuste exponencial. El valor de ? puede variar en un amplio rango y en un ejemplo, un valor de 1/48 para ? se encontró efectivo. Otros valores aplicables para ? serán fácilmente determinados para aquellos expertos en la técnica y pueden depender de algunas limitantes del sistema, tales como tamaños de memoria intermedia. Además, en donde las memorias intermedias del sistema son relativamente mayores, se pueden utilizar valores más pequeños para A y para ? que permitan una mayor desviación de la velocidad de bits objetivo Btemp. La velocidad en bits modificada resultante, se provee como una entrada al codificador 310, que codifica cuadros de video utilizando la velocidad en bits modificada Btemp como una velocidad en bit objetivo. En un ejemplo, el codificador 310 puede seguir el Capítulo 10 del modelo de prueba 5 (TM5) de la organización MPEG <http://www.mpeg.org.MSSG/tm5/Chl0/Chl0.html> para calcular un parámetro de cuantificación QP para utilizarlo y codificar un cuadro dado en la velocidad de bit modificado Btemp-También se debe notar que el QP utilizado para codificar 310 también se puede variar dentro del codificador 310, por ejemplo, limitando el tamaño del cambio relativo a un valor previo utilizado, los niveles de ocupación del regulador virtual, y similares. La figura 4 es un diagrama de flujo que generalmente ilustra un para modificar una velocidad en bits objetivo para codificación. Aquellos expertos en la técnica apreciarán que el procedimiento ilustrado se puede modificar en una gran variedad de formas. Por ejemplo, en otra modalidad, se pueden combinar varias porciones del procedimiento ilustrado, se pueden re arreglar en una secuencia alterna, se pueden eliminar y similares. El procedimiento ilustrado recibe, en el estado 410, un parámetro de cuantificación QP desde un codificador, tal como el codificador 310. Por ejemplo el valor QP del cuadro más recientemente codificado se puede utilizar como un valor QP±p estadístico a corto plazo de los valores QP. El procedimiento avanza para determinar, en el estado 420, un LTQP estadístico a largo plazo a partir de valores previos QP. Por ejemplo, se puede calcular un promedio de movilización exponencialmente ponderado como se describió anteriormente en relación con al Ecuación 1. Como se describió anteriormente en relación con la figura 3, se pueden utilizar otros tipos de cálculos para generar la estadística a largo plazo LTQP. En el estado 430, se modifica una velocidad en bits objetivo por lo menos parcialmente basado en un valor asociado con el LTQP estadístico a largo plazo. Por ejemplo, la velocidad en bit modificada se puede generar por aplicación de Ecuaciones 2 y 3, que se describieron anteriormente en relación con la figura 3. Un procesador significa, tal como el procesador 300 de la figura 3, desarrolla los actos de determinación y modificación de los estados 420 y 430. Un codificador significa, tal como el codificador 310 ilustrado en el figura 3, que puede utilizar entonces la velocidad en bits modificada para codificación en video mejorada en una manera de velocidad de bit cuasi constante. La figura 5 es un diagrama de flujo que generalmente ilustra un procedimiento para modificar una velocidad en bits objetivo para codificarla. Aquellos expertos en la técnica apreciarán que el procedimiento ilustrado se puede modificar en una gran variedad de formas sin apartarse del alcance y espíritu de la invención. Por ejemplo, en otra modalidad, varias porciones del proceso ilustrado se pueden combinar, se pueden re arreglar en una secuencia alterna, se pueden eliminar y similares. El procedimiento ilustrado recibe, en el estado 510, una velocidad en bits objetivo Btgt desde, por ejemplo, un controlador de sistema de velocidades de bit tal como un multiplexor para múltiples corrientes de video. La velocidad en bit objetivo (CBR) puede ser un valor constante y como es típico para una constante velocidad en bits CBR, o puede ser un valor cambiante que se puede encontrar en sistemas constantes de segmento de CBR. El procedimiento avanza para recibir, en el estado 520 como un valor para un parámetro de cuantificación QP desde un codificador, tal como un codificador 310. Este valor se puede utilizar como un valor QP a corto plazo QPll P. En el 530, se ajusta una velocidad en bits para codificar el uso de un ajuste basado en la estadística QP a largo plazo. Un ejemplo de dicho ajuste es el ajuste exponencial descrito antes en relación con la Ecuación 2. En la figura 3, se describió la velocidad en bits correspondiente modificada, en relación con la velocidad en bit ajustada B . En el 540, la velocidad en bit ajustada B2 se modifica adicionalmente a una velocidad en bit modificada Bte pt con base en la velocidad en bit objetivo Btgt - Esto dirige un ajuste o modificación de la velocidad en bit nuevamente a la velocidad en bit objetivo deseada Btgt para un rendimiento de velocidad en bit constante CBR sobre intervalos suficientemente amplios. Un ejemplo de dicha modificación se describió anteriormente en relación con la Ecuación 3. En un aspecto opcional, uno o ambas de las velocidades en bit ajustadas B2 o la velocidad en bit modificada Btem se ajusta con base en el contexto de la fecha de multimedia que se va a codificar. Por ejemplo, el contexto puede ser la complejidad de codificación, tal como, por ejemplo, complejidad visual.
La figura 6 es un diagrama de flujo que generalmente ilustra un método de procesamiento donde se reciben datos de multimedia. Aquellos expertos en la técnica apreciarán que el método ilustrado se puede modificar en una gran variedad de formas. Por ejemplo, en otra modalidad, se pueden combinar varias porciones del método ilustrado, se pueden re disponer en una secuencia alterna, se pueden eliminar y similares. El método comienza determinando un valor QP 610, que se va a utilizar para codificar un objeto, tal como un cuadro o un macro bloque. Inicialmente, un ancho de banda seleccionado para codificar, podrá ser provisto por ejemplo por medio de un multiplexor. El método entonces puede proceder para codificar 620 el objeto utilizando el valor determinado QP. El método entonces puede determinar 630 un ancho de banda temporal para utilizarlo con una codificación subsecuente. Este ancho de banda temporal se puede basar al menos en parte en el valor determinado QP, en valores previos QP, y similares. El procedimiento puede regresar para determinar 610 un nuevo valor QP que se va a utilizar para codificar un objeto posterior y se puede repetir como se decía para objetos adicionales. La figura 7 es un diagrama de sistema que ilustra un ejemplo de un aparato para procesar datos de multimedia recibidos. Aquellos expertos en la técnica apreciarán que el aparato ilustrado se puede modificar en una amplia variedad de formas. Por ejemplo, se pueden separar los componentes, se pueden combinar, se pueden desarrollar por medio de programación lógica ejecutada por un procesador de propósito general, o un procesador de señal digital o similar. El aparato incluye un determinador QP 710, un codificador 720, y un determinador de ancho de banda temporal 730. El determinador QP 710 determina un valor de QP que se va a utilizar para codificar y provee el valor QP al codificador 720 para codificar y al determinador de ancho de banda temporal 730 para la determinación de un ancho de banda temporal con base por lo menos en el valor QP. El ancho de banda temporal se prueba entonces por medio del determinador de ancho de banda temporal 730 al determinador QP 710 se utiliza para generar un valor posterior QP. La figura 8 es un diagrama de sistema que ilustra un ejemplo de un aparato para ajustar una velocidad de bit para un procedimiento de codificación de multimedia. Será apreciado por aquellos expertos en la técnica que el aparato ilustrado se puede modificar en una amplia variedad de formas. Por ejemplo, los componentes pueden ser separados, pueden ser combinados, pueden ser desarrollados por programación lógica, ejecutada por un procesador de propósito general, un procesador de señal digital, o similares. El aparato incluye un determinador estadístico a largo plazo 810, y un determinador de velocidad en bit modificada 820. El determinador estadístico a largo plazo 810 recibe un valor previo QP que ha sido utilizado por un codificador para la codificación de un objeto, tal como un un macro bloque o un cuadro. Por ejemplo, el determinador estadístico a largo plazo puede calcular un promedio de movilización exponencialmente ponderado de los valores previos QP. El valor previo QP y una estadística tal como promedio ponderado del determinador estadístico a largo plazo, se proveen al determinador de velocidad de bit modificado 820, que determina una velocidad de bit modificada que se va a utilizar en la codificación de un objeto posterior. Por ejemplo, la velocidad de bit se puede modificar desde una velocidad de bit provista para permitir suficiente variación en velocidad en bit para el rendimiento y codificación de calidad casi constante, y así mantener el control de codificación cercano a una velocidad de bit objetivo tal que en los datos de multimedia codificados son compatibles con sistemas constantes de velocidad de bit. Aquellos expertos en la técnica entenderán que se pueden representar tanto la información como las señales utilizando cualquiera de la variedad de las diferentes tecnologías y técnicas. Por ejemplo, datos, instrucciones, comandos, información, señales, bits, símbolos y circuitos integrados, que se pueden referenciar a lo largo de toda la descripción y se pueden representar por voltajes, corrientes, ondas electromagnéticas, campos o partículas magnéticas, campos ópticos o partículas como cualquier combinación de los mismos. Aquellos expertos en la técnica además apreciarán que los diversos bloques lógicos ilustrativos módulos y pasos de algoritmos descritos en relación con los ejemplos descritos en la presente se pueden desarrollar como hardware electrónico, programación lógica, software de cómputo, software personalizado, micro código o combinaciones de los mismos. Para ilustrar claramente esta intercambiabilidad de hardware y software, varios componentes ilustrativos, bloques, módulos, circuitos y pasos que se han descrito anteriormente generalmente en términos de funcionalidad. Ya sea que esa funcionalidad se desarrolle como hardware o software depende de la aplicación en particular y las limitaciones de diseño impuestas en el sistema en general. Aquellos expertos en la técnica pueden implementar la funcionalidad descrita en varias formas para cada aplicación en particular, pero dichas decisiones de implementación no deberán ser interpretadas apartándose del alcance de los métodos descritos. Los varios bloques, módulos y circuitos lógicos ilustrativos, descritos en relación a las modalidades que se describen en la presente invención, se pueden implementar o desarrollar con un procesador de propósito general, un procesador de señal digital (DSP), un circuito integrado específico de aplicación (ASIC) , una disposición de compuertas programables en campo (FPGA) , u otros dispositivos lógicos programables, compuertas discretas o lógicas transistoras, componentes de hardware discretos, o cualquier combinación de los mismos diseñada para desarrollar las funciones descritas en la presente invención. Un procesador de propósito general puede ser un microprocesador, pero en su alternativa, el procesador puede ser cualquier procesador convencional, controlador, micro controlador, o máquina de estado. También se puede desarrollar un procesador como una combinación de dispositivos de cálculo, por ejemplo, como una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en conjunto con un núcleo DSP, o cualquier otra dicha configuración. El método o algoritmo descrito en relación con las modalidades descritas en la presente invención, se pueden integrar directamente en un hardware, en un módulo de software ejecutado por un procesador, o una combinación de los dos. Un módulo de software, puede residir en una memoria RAM, en memoria instantánea, memoria ROM, memoria EPROM, memoria EEPROM, registros, disco duro, un disco removible, un CD-ROM, o cualquier otra forma de medio de almacenamiento conocido en la técnica. Un medio de almacenamiento ejemplo se acopla al procesador de tal forma que el procesador pueda leer información desde, y escribir información a, el medio de almacenamiento. En la alternativa, el medio de almacenamiento puede ser integral al procesador. El procesador y el medio de almacenamiento pueden residir en un ASIC. El ASIC puede residir en una terminal de usuario. En la alternativa, el procesador y el medio de almacenamiento pueden residir como componentes discretos en una terminal de usuario. La descripción previa de las modalidades descritas se provee para permitir que aquellos expertos en la técnica hagan uso de la presente invención. Varias modificaciones a estas modalidades serán realmente aparentes a aquellos expertos en la técnica, y los principios genéricos definidos en la presente invención, se pueden aplicar otros ejemplos y elementos adicionales que se puedan agregar. Por ejemplo, una o una combinación de los elementos del procesador 300 puede ser combinar y/o re disponer sin afectar las operaciones del procesador.
Una o una combinación del procesador 300, el codificador 310 y el almacenamiento de datos 320 también se puede combinar y/o redisponer en algunas modalidades. De manera similar, una o una combinación del determinador QP 710, con un codificador 720 y un determinador de ancho de banda temporal 730, se podrá combinar y/o redisponer. El determinador estadístico de largo plazo 810 y el determinador de velocidad de bits modificado 820 se pueden combinar o redisponer. Por lo tanto, no se intenta que la presente invención esté limitada a las modalidades que se muestran en la presente, pero si no se debe acordar el amplio alcance consistente con los principios y características novedosas descritas en la misma.

Claims (50)

NOVEDAD DE LA INVENCIÓN Habiendo descrito el presente invento, se considera como una novedad y, por lo tanto, se reclama como prioridad lo contenido en las siguientes: REIVINDICACIONES
1.- Un método para procesar datos de multimedia recibidos que comprende: determinar un primer valor del parámetro de cuantificación (QP) que se utilizará para codificar; codificar una primer porción de los datos de multimedia con el primer valor QP determinado; determinar un ancho de banda temporal basado en el primer valor QP; y re-determinar el primer valor QP que se utilizará para codificar una segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal, dicha segunda porción temporalmente recibida después de la primera porción.
2.- El método de conformidad con la reivindicación 1 que además comprende: determinar un segundo valor basado en el primer valor QP previamente utilizado y por lo menos un otro primer valor QP previamente utilizado.
3.- El método de conformidad con la reivindicación 2, caracterizado porque re-determinar el ancho de banda temporal comprende: determinar el ancho de banda temporal basado por lo menos parcialmente en el primer valor QP y el segundo valor .
4.- El método de conformidad con la reivindicación 2, caracterizado porque la re-determinación además comprende re-determinar el ancho de banda temporal basado por lo menos parcialmente en el valor QP, el segundo valor, y un ancho de banda objetivo.
5.- El método de conformidad con la reivindicación 2, que además comprende: incrementar el ancho de banda temporal si el primer valor QP es más alto que el segundo valor; y reducir el ancho de banda temporal si el primer valor QP es más bajo que el segundo valor.
6.- El método de conformidad con la reivindicación 1, caracterizado porque la primera y segunda porción de los datos de multimedia respectivamente corresponde al primero y segundo cuadro de video.
7.- El método de conformidad con la reivindicación 1, que además comprende recibir por lo menos un ancho de banda objetivo constante en segmentos y modificar el ancho de banda temporal basado por lo menos parcialmente en una complejidad de los datos de multimedia que se van a codificar.
8.- El método de conformidad con la reivindicación 1, que además comprende determinar el ancho de banda temporal por lo menos parcialmente basado en un contexto de los datos de multimedia que se van a codificar.
9.- El método de conformidad con la reivindicación 8, caracterizado porque el contexto comprende complejidad.
10.- Un aparato para procesar datos de multimedia recibidos, el aparato comprende: medios para determinar un primer valor de parámetro de cuantificación (QP) que se utilizará para codificar; medios para codificar una primer porción de los datos de multimedia con el primer valor QP determinado; medios para determinar un ancho de banda temporal basado en el primer valor QP; y medios para el re-determinar el primer valor QP que se utilizará para codificar una segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal, dicha segunda porción temporalmente recibida después de la primera porción.
11.- El aparato de conformidad con la reivindicación 10, que además comprende medios para determinar un segundo valor basado en el primer valor QP previamente utilizado y por lo menos otro primer valor QP previamente utilizado.
12.- El aparato de conformidad con la reivindicación 11, caracterizado porque los medios para re-determinar además se configuran para determinar el ancho de banda temporal basado por lo menos parcialmente en el primer valor QP y el segundo valor.
13.- El aparato de conformidad con la reivindicación 11, caracterizado porque los medios para re-determinar además se configura para determinar el ancho de banda temporal basado por lo menos parcialmente en el valor QP, el segundo valor, y el ancho de banda objetivo.
14. El aparato de conformidad con la reivindicación 11, que además comprende: medios para incrementar el ancho de banda temporal si el primer valor QP es más alto que el segundo valor; y medios para reducir el ancho de banda temporal si el primer valor QP es más bajo que el segundo valor.
15.- El aparato de conformidad con la reivindicación 10, caracterizado porque la primera y segunda porción de los datos de multimedia respectivamente corresponden al primer y segundo cuadros de video.
16.- Un aparato para procesar los datos de multimedia recibidos, el aparato comprende: un codificador configurado para determinar un primer valor de parámetro de cuantificación (QP) que se utilizará para codificar, donde el codificador además se configura para codificar una primera porción de los datos de multimedia con el primer valor QP determinado; y un procesador configurado para determinar un ancho de banda temporal basado en el primer valor QP; en donde el codificador se configura para re-determinar el primer valor QP que se utilizará para codificar una segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal, dicha segunda porción temporalmente recibida después de la primera porción.
17.- El aparato de conformidad con la reivindicación 16, caracterizado porque el procesador además se configura para determinar un segundo valor basado en el primer valor QP previamente utilizado y por lo menos un otro primer valor QP previamente utilizado.
18.- El aparato de conformidad con la reivindicación 17, caracterizado porque el procesador se además configura para determinar el ancho de banda temporal basado por lo menos parcialmente en el primer valor QP y el segundo valor.
19.- El aparato de conformidad con la reivindicación 17, caracterizado porque el procesador además se configura para determinar el ancho de banda temporal basado por lo menos parcialmente en el valor QP, el segundo valor, y un ancho de banda objetivo.
20.- El aparato de conformidad con la reivindicación 17, caracterizado porque el procesador además se configura para: incrementar el ancho de banda temporal si el primer valor QP es más alto que el segundo valor; y disminuir el ancho de banda temporal si el primer valor QP es más bajo que el segundo valor.
21.- El aparato de conformidad con la reivindicación 16, caracterizado porque la primera y segunda porción de los datos de multimedia respectivamente corresponden a un primer y segundo cuadros de video.
22.- El aparato de conformidad con la reivindicación 16, que además comprende recibir un ancho de banda objetivo desde un multiplexor.
23.- Un producto de programa de cómputo integrado en un medio tangible con instrucciones para procesar datos de multimedia recibidos, el producto de programa de cómputo comprende: un módulo con instrucciones para determinar un primer valor de parámetro de cuantificación (QP) que se utilizará para codificar; un módulo con instrucciones para codificar una primera porción de los datos de multimedia con el primer valor QP determinado; un módulo con instrucciones para determinar un ancho de banda temporal basado en el primer valor QP; y un módulo con instrucciones para re-determinar el primer valor QP que se utilizará para codificar una segunda porción de los datos de multimedia basados por lo menos en parte en el ancho de banda temporal, dicha segunda porción está temporalmente recibida después de la primera porción.
24.- El producto de programa de cómputo de conformidad con la reivindicación 23, que además comprende : un módulo con instrucciones para determinar un segundo valor basado en el primer valor QP previamente utilizado y por lo menos un otro primer valor QP previamente utilizado.
25.- El producto de programa de cómputo de conformidad con la reivindicación 24, caracterizado porque el módulo con instrucciones para re-determinar el ancho de banda temporal además comprende: un módulo con instrucciones para determinar el ancho de banda temporal basado por lo menos parcialmente en el primer valor QP y el segundo valor.
26.- El producto de programa de cómputo de conformidad con la reivindicación 24, caracterizado porque el módulo con instrucciones para re - determinar además comprende un módulo con instrucciones para re-determinar el ancho de banda temporal basado por lo menos parcialmente en el valor QP, el segundo valor, y un ancho de banda objetivo.
27.- El producto de programa de cómputo de conformidad con la reivindicación 24, que además comprende : un módulo con instrucciones para incrementar el ancho de banda temporal si el primer valor QP es más alto que el segundo valor; y un módulo con instrucciones para reducir el ancho de banda temporal si el primer valor QP es más bajo que el segundo valor.
28.- El producto de programa de cómputo de conformidad con la reivindicación 23, caracterizado porque la primera y segunda porción de los datos de multimedia respectivamente corresponden a un primer y segundo cuadros de video.
29.- Un método para ajustar una velocidad en bits para un procedimiento de codificación de multimedia, el método comprende: recibir un valor de parámetro de cuantificación (QP) previo que ha sido utilizado para codificar un objeto; determinar una estadística a largo plazo de valores QP previos; y determinar un velocidad en bits modificada para un objeto que se va a codificar por lo menos parcialmente basado en el valor QP previo y la estadística a largo plazo .
30.- El método de conformidad con la reivindicación 29, que además comprende exponencialmente ajustar la velocidad en bits modificada utilizando el valor QP previo y la estadística a largo plazo de manera.
31.- El método de conformidad con la reivindicación 29, que además comprende utilizar una velocidad en bits objetivo para ajustar la velocidad en bits modificada.
32.- El método de conformidad con la reivindicación 29, que además comprende calcular un promedio de movilización exponencialmente ponderado para la estadística a largo plazo.
33.- El método de conformidad con la reivindicación 29, que además comprende proveer la velocidad en bits modificada a un codificador como una velocidad en bits objetivo para un objeto que se va a codificar.
34.- El método de conformidad con la reivindicación 29, que además comprende determinar el ancho de banda temporal por lo menos parcialmente basado en un contexto de los datos de multimedia que se van a codificar.
35.- El método de conformidad con la reivindicación 34, caracterizado porque el contexto comprende complejidad.
36.- Un aparato para ajustar una velocidad de bits para un procedimiento de codificación de multimedia, el aparato comprende: medios para determinar una estadística a largo plazo de valores de parámetro de cuantificación (QP) previos; y medios para determinar un velocidad en bits modificada para un objeto que se va a codificar por lo menos parcialmente basado en un valor QP previo y la estadística a largo plazo, donde el valor QP previo ha sido utilizado para codificar un objeto.
37.- El aparato de conformidad con la reivindicación 36, que además comprende los medios para determinar la velocidad en bits modificada que se configuran para exponencialmente ajustare la velocidad en bits modificada utilizando el valor QP previo y la estadística a largo plazo.
38.- El aparato de conformidad con la reivindicación 36, que además comprende medios para utilizar una velocidad en bits objetivo para ajustar la velocidad en bits modificada.
39.- El aparato de conformidad con la reivindicación 36, caracterizado porque los medios para determinar la estadística a largo plazo se configuran para calcular un promedio de movilización exponencialmente ponderado para la estadística a largo plazo.
40.- El aparato de conformidad con la reivindicación 36, que además comprende medios para proveer la velocidad en bits modificada a un codificador como una velocidad en bits objetivo para un objeto que se va a codificar.
41.- Un aparato para ajustar una velocidad en bits para un procedimiento de codificación de multimedia, el aparato comprende: un generador de estadística configurado para determinar una estadística a largo plazo de valores QP previos; un circuito de ajuste configurado para recibir un valor de parámetro de cuantificación (QP) previo que ha sido utilizado para codificar un objeto, donde el circuito de ajuste se configura además para determinar un velocidad en bits modificada para un objeto que se va a codificar por lo menos parcialmente basado en el valor QP previo y la estadística a largo plazo.
42.- El aparato de conformidad con la reivindicación 41, caracterizado porque el circuito de ajuste se configura para exponencialmente ajustar la velocidad en bits modificada utilizando el valor QP previo y la estadística a largo plazo.
43.- El aparato de conformidad con la reivindicación 41, caracterizado porque el circuito de ajuste se configura además para ajustar la velocidad en bits modificada en vista de la velocidad en bits objetivo.
44.- El aparato de conformidad con la reivindicación 41, caracterizado porque el generador estadístico se configura además para calcular un promedio de movilización exponencialmente ponderado para la estadística a largo plazo.
45.- El aparato de conformidad con la reivindicación 41, que además comprende un multiplexor configurado para proveer una velocidad en bits objetivo al circuito de ajuste.
46.- Un producto de programa de cómputo integrado en un medio tangible con instrucciones para ajustar una velocidad en bits para un procedimiento de codificación de multimedia, el producto de programa de cómputo comprende: un módulo con instrucciones para recibir un valor de parámetro de cuantificación (QP) previo que ha sido utilizado para codificar un objeto; un módulo con instrucciones para determinar una estadística a largo plazo de valores QP previos; y un módulo con instrucciones para determinar una velocidad en bits modificada para un objeto que se va a codificar por lo menos parcialmente basado en el valor QP previo y la estadística a largo plazo.
47.- El producto de programa de cómputo de conformidad con la reivindicación 46, que además comprende un módulo con instrucciones para exponencialmente ajustar la velocidad en bits modificada utilizando el valor QP previo y la estadística a largo plazo.
48.- El producto de programa de cómputo de conformidad con la reivindicación 46, que además comprende un módulo con instrucciones para utilizar una velocidad en bits objetivo para ajustar la velocidad en bits modificada.
49.- El producto de programa de cómputo de conformidad con la reivindicación 46, que además comprende un módulo con instrucciones para calcular un promedio de movilización exponencialmente ponderado para la estadística a largo plazo.
50.- El producto de programa de cómputo de conformidad con la reivindicación 46, que además comprende un módulo con instrucciones para proveer la velocidad en bits modificada a un codificador como una velocidad en bits objetivo para un objeto que se va a codificar.
MX2007011100A 2005-03-10 2006-03-10 Ajuste de ancho de banda adaptable al contexto, en control de velocidad de video. MX2007011100A (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US66088105P 2005-03-10 2005-03-10
PCT/US2006/008488 WO2006099086A1 (en) 2005-03-10 2006-03-10 Context-adaptive bandwidth adjustment in video rate control

Publications (1)

Publication Number Publication Date
MX2007011100A true MX2007011100A (es) 2007-11-22

Family

ID=36613423

Family Applications (1)

Application Number Title Priority Date Filing Date
MX2007011100A MX2007011100A (es) 2005-03-10 2006-03-10 Ajuste de ancho de banda adaptable al contexto, en control de velocidad de video.

Country Status (15)

Country Link
US (1) US20060227870A1 (es)
EP (2) EP2096868A3 (es)
JP (1) JP2008533844A (es)
KR (1) KR100943875B1 (es)
CN (1) CN101171844A (es)
AR (1) AR052603A1 (es)
AU (1) AU2006223420A1 (es)
BR (1) BRPI0608229A2 (es)
CA (1) CA2600482A1 (es)
IL (1) IL185829A0 (es)
MX (1) MX2007011100A (es)
NO (1) NO20075123L (es)
RU (1) RU2349054C1 (es)
TW (1) TW200718213A (es)
WO (1) WO2006099086A1 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006061838A2 (en) 2004-12-08 2006-06-15 Imagine Communications Ltd. Distributed statistical multiplexing of multi-media
US7483388B2 (en) * 2005-06-23 2009-01-27 Cisco Technology, Inc. Method and system for sending a multimedia stream in an IP multicast network
WO2008042259A2 (en) * 2006-09-28 2008-04-10 Thomson Licensing Method for rho-domain frame level bit allocation for effective rate control and enhanced video coding quality
US8139487B2 (en) 2007-02-28 2012-03-20 Microsoft Corporation Strategies for selecting a format for data transmission based on measured bandwidth
US8259735B2 (en) * 2007-08-09 2012-09-04 Imagine Communications Ltd. Constant bit rate video stream
US8542730B2 (en) * 2008-02-22 2013-09-24 Qualcomm, Incorporated Fast macroblock delta QP decision
US8055785B2 (en) * 2008-09-17 2011-11-08 Futurewei Technologies, Inc. Rate control for stream switching
TWI397269B (zh) * 2010-10-14 2013-05-21 Univ Nat Taiwan 傳輸端電路
CN102395030B (zh) * 2011-11-18 2014-05-07 杭州海康威视数字技术股份有限公司 基于视频压缩码流的运动分析方法、码流转换方法及其装置
US9942580B2 (en) 2011-11-18 2018-04-10 At&T Intellecutal Property I, L.P. System and method for automatically selecting encoding/decoding for streaming media
WO2014055745A1 (en) * 2012-10-03 2014-04-10 Broadcom Corporation 2d block image encoding
US9451250B2 (en) 2012-10-03 2016-09-20 Broadcom Corporation Bounded rate compression with rate control for slices
US9883180B2 (en) 2012-10-03 2018-01-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Bounded rate near-lossless and lossless image compression
US9805442B2 (en) 2012-10-03 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Fine-grained bit-rate control
US9978156B2 (en) 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
US9813711B2 (en) 2012-10-03 2017-11-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Hybrid transform-based compression
US9363517B2 (en) 2013-02-28 2016-06-07 Broadcom Corporation Indexed color history in image coding
US9462306B2 (en) 2013-07-16 2016-10-04 The Hong Kong University Of Science And Technology Stream-switching in a content distribution system
US9788078B2 (en) * 2014-03-25 2017-10-10 Samsung Electronics Co., Ltd. Enhanced distortion signaling for MMT assets and ISOBMFF with improved MMT QoS descriptor having multiple QoE operating points
US9955191B2 (en) 2015-07-01 2018-04-24 At&T Intellectual Property I, L.P. Method and apparatus for managing bandwidth in providing communication services
GB2564644B (en) * 2017-07-12 2020-12-16 Canon Kk Method and system of encoding a data stream according to a variable bitrate mode
EP3742728B1 (en) * 2019-05-24 2022-09-21 Axis AB A method and bitrate controller for controlling output bitrate of a video encoder
CN112492349A (zh) * 2020-10-29 2021-03-12 广州视源电子科技股份有限公司 视频编码控制方法、装置、设备和存储介质
US20240089436A1 (en) * 2022-09-13 2024-03-14 Google Llc Dynamic Quantization Parameter for Encoding a Video Frame

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2882287B2 (ja) * 1994-08-22 1999-04-12 日本電気株式会社 動画像符号化装置
US5926569A (en) * 1995-09-28 1999-07-20 Intel Corporation Bitrate damper for selecting quantization levels for image encoding
GB2342525B (en) * 1995-10-30 2000-06-28 Sony Uk Ltd Image quantisation based on image activity
JP3934712B2 (ja) * 1996-09-27 2007-06-20 日本ビクター株式会社 映像信号符号化方法及び装置
JP3937248B2 (ja) * 1996-10-31 2007-06-27 ソニー株式会社 映像信号符号化方法及び映像信号符号化装置
JPH10164588A (ja) * 1996-11-26 1998-06-19 Sony Corp 映像信号符号化方法、映像信号符号化装置及び記録媒体
US6115420A (en) * 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US5852630A (en) * 1997-07-17 1998-12-22 Globespan Semiconductor, Inc. Method and apparatus for a RADSL transceiver warm start activation procedure with precoding
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
GB2346282B (en) * 1999-01-28 2003-02-19 Snell & Wilcox Ltd Bit rate control in compression encoding
US6895054B2 (en) 2001-09-28 2005-05-17 Divxnetworks, Inc. Dynamic bit rate control process
US7391809B2 (en) * 2003-12-30 2008-06-24 Microsoft Corporation Scalable video transcoding
US7697608B2 (en) * 2004-02-03 2010-04-13 Sony Corporation Scalable MPEG video/macro block rate control
US7751478B2 (en) * 2005-01-21 2010-07-06 Seiko Epson Corporation Prediction intra-mode selection in an encoder
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control

Also Published As

Publication number Publication date
TW200718213A (en) 2007-05-01
KR20070119677A (ko) 2007-12-20
EP2096868A2 (en) 2009-09-02
KR100943875B1 (ko) 2010-02-24
US20060227870A1 (en) 2006-10-12
RU2349054C1 (ru) 2009-03-10
EP2096868A3 (en) 2009-09-23
AR052603A1 (es) 2007-03-21
NO20075123L (no) 2007-10-23
WO2006099086A1 (en) 2006-09-21
CA2600482A1 (en) 2006-09-21
BRPI0608229A2 (pt) 2009-11-24
CN101171844A (zh) 2008-04-30
EP1875739A1 (en) 2008-01-09
AU2006223420A1 (en) 2006-09-21
JP2008533844A (ja) 2008-08-21
IL185829A0 (en) 2008-01-06

Similar Documents

Publication Publication Date Title
MX2007011100A (es) Ajuste de ancho de banda adaptable al contexto, en control de velocidad de video.
CN101658035B (zh) 用于质量受控编码的方法和系统
CN101185337B (zh) 具有预见的准恒定质量速率控制
US8792555B2 (en) Methods and systems for resizing multimedia content
US7400588B2 (en) Dynamic rate adaptation using neural networks for transmitting video data
WO2001058096A1 (en) Method and apparatus for distributing compressed bit stream to user device over network
KR20050084400A (ko) 디지털 다중매체 정보의 적응적 인코딩
US7440401B2 (en) Packet scheduling method for streaming multimedia data
US20150063445A1 (en) Method and apparatus for layered compression of multimedia signals for storage and transmission over heterogeneous networks
US20050089092A1 (en) Moving picture encoding apparatus
KR20010018573A (ko) 네트워크 대역폭에 적응적인 영상 압축 장치
Huang Source modelling for packet video
CN112004084B (zh) 一种利用量化参数排序的码率控制优化方法及系统
CN101984667A (zh) 码率控制方法及码率控制器
Sostawa et al. DSP-based transcoding of digital video signals with MPEG-2 format
JP2017028622A (ja) 画質制御装置、画質制御方法、画質制御システム及び画質制御用プログラム
Eminsoy et al. Transcoding-based error-resilient video adaptation for 3G wireless networks
Kobayashi et al. A real-time 4K HEVC multi-channel encoding system with content-aware bitrate control
Surati et al. Evaluate the Performance of Video Transmission Using H. 264 (SVC) Over Long Term Evolution (LTE)
EP1057344A1 (en) Adaptive buffer and quantizer regulation scheme for bandwidth scalability of video data
KR20000041143A (ko) 영상데이터의 비트열 제어방법
WO2021124387A1 (ja) 符号化データ生成方法、符号化データ生成装置、及びプログラム
Eminsoy et al. Real-time services for video communications
CN112004083A (zh) 一种利用帧间预测特性优化码率控制方法及系统
Yu et al. An adaptive streaming system for mpeg-4 scalable to lossless audio

Legal Events

Date Code Title Description
FA Abandonment or withdrawal