MXPA06010360A - Metodos y aparato para tomar decisiones en modo rapido en codecs de video. - Google Patents

Metodos y aparato para tomar decisiones en modo rapido en codecs de video.

Info

Publication number
MXPA06010360A
MXPA06010360A MXPA06010360A MXPA06010360A MXPA06010360A MX PA06010360 A MXPA06010360 A MX PA06010360A MX PA06010360 A MXPA06010360 A MX PA06010360A MX PA06010360 A MXPA06010360 A MX PA06010360A MX PA06010360 A MXPA06010360 A MX PA06010360A
Authority
MX
Mexico
Prior art keywords
coding
mode
selecting
macroblock
modes
Prior art date
Application number
MXPA06010360A
Other languages
English (en)
Inventor
Khaled Helmi El-Maleh
Yi Liang
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 MXPA06010360A publication Critical patent/MXPA06010360A/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/164Feedback from the receiver or from the transmission channel
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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

Landscapes

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

Abstract

Se muestran metodos y aparatos para reducir la complejidad computacional de las decisiones en modo de codificacion mediante la explotacion de las correlaciones a traves de decisiones en modo de codificacion espacial y/o temporalmente cercano; una decision de modo para un macrobloque actual se basa en las decisiones de modo de macrobloques espacial y/o temporalmente cercanos.

Description

(1TU) H.263, H.264, las cuales fueron promulgadas por la Organización Internacional para la Normalización (ISO) . Otra entidad de formación de normas es el Grupo de Trabajo de Normas de Codificación de Audio Video de China (AVS) . Para proveer dichos servicios de video, las imágenes originales deben ser comprimidas en una forma que no exceda la capacidad de datos de un canal de comunicación. Por ejemplo, en sistemas de telefonía de linea terrestre de circuito conmutado, el canal de comunicación está físicamente limitado a 64 kbits/segundo . Sin embargo, esta velocidad de bits es inadecuada para el propósito de transmitir una corriente de video en su formato sin procesar con calidad perceptiva aceptable. Sin embargo, la forma en que la compresión se realiza no debería sacrificar la calidad perceptiva de las imágenes en un receptor. Para equilibrar estos dos requerimientos competitivos, muchos codificadores de video utilizan una técnica de codificación de transformada combinada con una técnica de compensación de movimiento para comprimir la secuencia de video original. La técnica de codificación de transformada se utiliza para remover la redundancia espacial mientras que la técnica de compensación de movimiento se utiliza para remover la redundancia temporal. Es ampliamente reconocido por aquellos expertos en la técnica que la compresión de imágenes originales utilizando técnicas de codificación de transformada y compensación de movimiento es computacionalmente intensiva. El número de instrucciones necesarias para realizar la compresión, tal como se mide en MIPS (millones de instrucciones por segundo) , es sustancial y puede consumir recursos de hardware que, de otra forma, podrían ser asignados a otras aplicaciones. Debido a que la compresión con frecuencia se espera que sea ejecutada dentro de pequeños dispositivos electrónicos portátiles, los recursos de hardware para realizar estas técnicas de compresión pueden ser limitados. Por lo tanto, existe una necesidad presente de reducir los MIPS o requerimientos de hardware de codificadores de video sin degradar indebidamente la calidad percibida de la imagen de video.
SUMARIO DE LA INVENCION Aquí se presentan métodos y aparatos para corregir las necesidades antes mencionadas. En un aspecto, se presenta un método para tomar una decisión de modo de codificación para un macrobloque actual, el método comprende: evaluar una pluralidad de modos de codificación, cada uno asociado con un macrobloque vecino; y seleccionar el modo de codificación para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación. En otro aspecto, el aparato se presenta en un codee de video para realizar una decisión de modo para un macrobloque actual, el aparato comprende: por lo menos un elemento de memoria; y por lo menos un elemento de procesamiento comunicativamente acoplado por lo menos al elemento de memoria y configurado para ejecutar un conjunto de instrucciones almacenadas por lo menos en un elemento de memoria, el conjunto de instrucciones para: evaluar una pluralidad de modos de codificación, cada uno asociado con un macrobloque vecino; y seleccionar el modo para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación.
DESCRIPCION DETALLADA DE LAS FIGURAS Las figuras 1A y IB son diagramas de flujo de esquemas de compresión de video convencional tal como es utilizado por un codificador de video. La figura 2 es un diagrama en bloques de un codificador de video convencional. La figura 3 es un ejemplo de un algoritmo de decisión de codificación de modo posterior. La figura 4A es un diagrama en bloques de una modalidad de algoritmo de decisión de modo previo.
La figura 4B es un diagrama en bloques de un criterio de decisión que se puede ejecutar en una modalidad de algoritmo de decisión de modo previo. La figura 5? es un diagrama en bloques que ilustra una modalidad de algoritmo de decisión de modo híbrido . La figura 5B es un diagrama en bloques que ilustra un patrón de entrelazado que se puede ejecutar como un criterio de decisión en una modalidad de algoritmo de decisión de modo híbrido.
DESCRIPCION DETALLADA DE LA INVENCION La más nueva generación de normas de compresión de video explota un fenómeno de video para reducir la complejidad de codificación. El video es simplemente una serie de imágenes estáticas, denominadas cuadros, las cuales corren de manera rápida y sucesiva en tiempo. Se puede observar que algunos cuadros de video muestran similitud y correlación espacial mientras que algunos cuadros de video también muestran similitud temporal con cuadros vecinos. Por lo tanto, la mayoría de las normas de compresión de video ejecutan diferentes técnicas de codificación para "cuadros intra-codificados", los cuales son cuadros cuya redundancia espacial es explorada, y "cuadros inter-codificados", cuya redundancia temporal es explorada. Típicamente se utiliza la codificación predictiva para cuadros que contienen redundancia espacial o temporal. Para facilidad ilustrativa, los cuadros intra-codificados se denominarán aquí como I-cuadros, y los cuadros inter-codificados se denominarán aquí como P-cuadros. Para codificar I-cuadros y P-cuadros, un codee de video típico trabajará sobre macrobloques de un cuadro de imagen, en lugar del cuadro de imagen en su totalidad. Utilizando mediciones de tamaño estándar a partir de un Cuarto del Formato Intermedio Común (QCIF) , un bloque comprende un grupo de píxeles de 8x8 y un macrobloque comprende un grupo de píxeles de 16x16. Un cuadro QCIF de 176x144 píxeles tiene 99 macrobloques. Para facilidad ilustrativa, los macrobloques intra-codificados se denominarán aquí como "Intra- B" y los macrobloques codificados utilizando compensación de movimiento y predicción temporal se denominarán aquí como "Inter-MB". La figura 1A es un diagrama de flujo que ilustra intra-codificación . En el paso 100, los píxeles dentro de un Intra-MB experimentan una codificación de transformada. En el paso 110, los coeficientes de la transformada son entonces cuantificados . En el paso 120, los coeficientes cuantificados son entonces codificados sin pérdida para transmisión. Debido a que la técnica de codificación de transformada estandarizada en MPEG-4 es la Transformada del Coseno Discreto (DCT) , las modalidades se describen aquí utilizando la DCT. Sin embargo, aquellos expertos en la técnica podrían reconocer que las modalidades no se limitan a DCT, sino que se pueden utilizar en codificadores de video utilizando otras técnicas de codificación de transformada. La DCT con frecuencia se elige como el código de transformada para normas de codificación de video debido a que una elevada cantidad de energía se puede empacar en un número relativamente pequeño de coeficientes. La decodificación de Intra-MB involucra un proceso inverso del proceso de la figura 1A, ya que la información recibida es decodificada sin pérdida, descuantificada y después transformada utilizando una inversa de la transformada utilizada en el paso 100. El proceso de codificación para los Intra-MB es relativamente sencillo y no computacionalmente intensivo. La codificación de Intra-MB requiere un número grande de bits, lo cual requiere una cantidad grande de memoria de almacenamiento y ancho de banda de transmisión. Por lo tanto, este proceso de codificación consume memoria, en lugar de ciclos de procesador. Codificar toda la corriente de video de acuerdo con el método que se ilustra en la figura 1A resultaría ineficiente, debido a que el canal de transmisión no podría portar el número total de bits que se requiere para transmitir múltiples cuadros por segundo. En contraste con los I-cuadros, los P-cuadros además exploran y reducen la redundancia temporal de cuadro a cuadro, la cual se puede utilizar junto con reducción de redundancia espacial para reducir de manera predictiva el número de bits que necesita ser almacenado en memoria. En una grabación de video de baja actividad de movimiento, la diferencia en pixeles entre un cuadro y el siguiente es pequeña si el movimiento entre los dos cuadros se compensa. Debido a que existe poco o ningún movimiento después de la compensación de movimiento, es posible utilizar la información respecto a un cuadro previo y/o futuro para predecir lo que mostrará el cuadro actual. En lugar de codificar y transmitir todos los bits del cuadro actual, el residual de una predicción de lo que un cuadro actual puede contener es codificado y transmitido, lo que reduce el número de bits que necesitan ser almacenados o transmitidos. Sin embargo, la codificación de P-cuadros es computacionalmente costosa debido al número de cálculos de estimación que se tienen que realizar para estimar el movimiento . La figura IB es un diagrama de flujo que ilustra la codificación de Inter-MB. En el paso 140, el movimiento de translación entre bloques de pixeles dentro de un P-cuadro se determina utilizando técnicas de estimación de movimiento. Por lo general, el movimiento es representado por un vector de movimiento. Los Grupos de bloques, es decir, macrobloques , se pueden comparar para determinar una pluralidad de vectores de movimiento para cada P-cuadro. Se puede apreciar que la búsqueda de vectores en movimiento es computacionalmente costosa debido a que se realiza una búsqueda de un vector de movimiento óptimo para cada bloque. En el paso 150, los vectores de movimiento se utilizan para predecir un macrobloque de movimiento compensado. En el paso 160, el macrobloque de movimiento compensado es sustraído de un macrobloque actual para formar un macrobloque residual. En el paso 170, el macrobloque residual experimenta una transformación, se cuantifican los coeficientes del macrobloque residual transformado y después se codifican sin pérdidas. Debido a que el macrobloque residual porta menos información que los macrobloques del P-cuadro original, existe una reducción en la cantidad de bits que se necesita transmitir a una parte receptora . Típicamente, un codee de video seleccionará cada Navo cuadro para codificar como un I-cuadro y el resto para ser codificado como P-cuadros . Esta duración entre recuadros se denomina como un "Intra-periodo" . La presencia de un I-cuadro actúa como una referencia para actualizar los P-cuadros. Dentro de los P-cuadros designados, el codee de video ocasionalmente también seleccionará algunos macrobloques para que sean Intra-codificados, los cuales no son codificados utilizando predicción temporal. La figura 2 es un diagrama en bloques de la codificación ejecutada por un codee de video convencional en un dispositivo electrónico. La trayectoria de señal a través del codee depende del hecho si la señal de imagen de entrada es un I-cuadro o un P-cuadro, o alternativamente, si un macrobloque dentro de un P-cuadro es un Intra-MB o un Inter-MB. Para facilidad ilustrativa, la codificación de un P-cuadro será descrita en lo sucesivo utilizando la terminología Intra-MB e Inter-MB. Si la señal de imagen de entrada es un Intra-MB, entonces un conmutador 200 establece una trayectoria de señal a través del bloque DCT 202, el bloque cuantificador 204, y después el bloque de codificación sin pérdidas 206. La señal abandona el codee de video para procesamiento adicional dentro del dispositivo electrónico. Un ejemplo de procesamiento adicional es la codificación en el bloque de codificación de corriente de bits 208, el cual codifica la señal en un formato de transmisión apropiado para el medio de transmisión. Aunque la codificación lntra-?? finaliza en el bloque 204, el Intra-MB necesita ser utilizado como un MB de referencia para la codificación Inter-MB. Por lo tanto, los valores de cuantificación que salen del bloque cuantificador 204 también entran a una porción de decodificación 210 del codee de video. La porción de decodificación 210 comprende un bloque' descuantificador 212 y un bloque DCT-inversa 213. Los valores de cuantificación pasan a través del bloque descuantificador 212 y después al bloque DCT-inversa 213 para reconstruir el Intra- B, lo cual se utiliza para actualizar la memoria intermedia 222 a la que tiene acceso el bloque de compensación de movimiento 230 y el bloque de estimación de movimiento 232. La trayectoria a través del bloque DCT 202, el bloque cuantificador 204, y después el bloque de codificación sin pérdidas 206 también aplica para la codificación de los MB residuales generados por la codificación Inter-MB. Si la señal de imagen de entrada es un Inter-MB, entonces el conmutador 200 establece una nueva trayectoria de señal, la cual incluye el bloque de compensación de movimiento 230 y el bloque de estimación de movimiento 232. El bloque de estimación de movimiento 232 recibe el Inter-MB actual y un conjunto de MB de referencia almacenados proveniente de la memoria intermedia 222 y ejecuta una búsqueda a través de una pluralidad de vectores de movimiento para el vector de movimiento que mejor describe el movimiento entre el Inter-MB y el MB de referencia. Se puede apreciar que el MB de referencia son los pixeles reconstruidos almacenados de B previos o futuros que fueron emitidos desde la porción de decodificación 210 del codee de video. El vector de movimiento es entonces ingresado al bloque de compensación de movimiento 230. El bloque de compensación de movimiento 230 recibe el vector de movimiento proveniente del bloque de compensación de movimiento 230 y el MB de referencia proveniente de la memoria intermedia 222 para generar un nuevo MB predictivo a partir del MB de referencia, es decir, una versión predictiva del Inter-MB actual. Cuando se lleva a cabo la codificación Inter-MB, se deberia actualizar el MB de referencia. Por lo tanto, el conmutador 240 está "encendido", de manera que el MB se agrega a través del elemento de suma 220 al MB residual decodificado que es emitido desde la porción de decodificación 210. El resultado se almacena como un MB de referencia nuevo en la memoria intermedia 222. El MB predictivo proveniente del bloque de compensación de movimiento 230 es sustraído del Inter-MB actual a través del elemento de substracción 224 para formar un MB residual. El MB residual es entonces procesado tal como se describió anteriormente para codificación Intra-MB. El MB residual transformado cuantificado además se pasa a través de la porción de decodificación 210 de manera que el MB residual puede ser utilizado por el codee de video para actualizar el MB de referencia almacenado en la memoria intermedia 222, a la cual puede tener acceso el bloque de compensación de movimiento 230 y el bloque de estimación de movimiento 232 para codificar MB de cuadros futuros o pasados. Se puede apreciar que las técnicas de codificación predictiva pueden ser bi-direccionales, ya que información pasada puede ser empleada para predecir el cuadro actual, o información futura se puede utilizar para predecir el cuadro actual. La codificación de los Intra-MB también puede utilizar predicción espacial. La codificación de los Intra-MB emplea predicción temporal. El problema con el diseño de codee de video convencional de la figura 2 es que la codificación no predictiva consume demasiados recursos de memoria y la codificación predictiva consume demasiados recursos de procesamiento. Si un experto en la técnica decide que se necesita reducir el requerimiento MIPS para ejecutar otras tareas, entonces el incremento del número de I-cuadros o Intra-MB es una solución posible, la cual es ejecutada reduciendo el valor intra-periodo N. Sin embargo, esta solución es defectuosa debido a que la demanda de recursos de memoria aumentaría de forma correspondiente. Además, la velocidad de transmisión general de las imágenes de video en un canal de comunicación aumentaría debido a que se necesitan más bits para transmitir información espacial en comparación con información predictiva. Para aplicaciones inalámbricas, tal como video en corriente sobre teléfonos celulares, los bits de transmisión incrementados podrían producir como resultado una señal de imagen sintetizada degradada si el canal de comunicación inalámbrico o cableado no permite la velocidad de bits de transmisión incrementada. Por el contrario, si un experto en la técnica decide que los recursos de memoria fueron limitados, entonces una solución es realizar más codificación temporalmente predictiva, la cual se ejecuta aumentando el valor intra-periodo N. Sin embargo, la codificación temporalmente predictiva requiere más ciclos de los elementos de procesamiento los cuales, si se cargaron pasando un umbral máximo, hará a un lado las tareas de procesamiento de cuadros para tareas con prioridades superiores. Los cuadros caídos degradarían entonces la calidad de la imagen sintetizada. Además, la calidad de la señal sintetizada también se degradaría siempre que ocurrieran actividades a alta velocidad dentro de las imágenes debido a que el uso de demasiados cuadros predictivamente codificados podría ocasionar una falla en la habilidad de la estimación de movimiento del codee de video . Por lo tanto, una consideración importante en la operación de codees de video es el diseño para determinar si un MB de P-cuadros deberla ser codificado como un Intra-MB ó un Inter-MB, además de hacer una determinación del mejor modo de predicción entre las opciones de tamaño de macrobloque. En H.264, por ejemplo, existen nueve modos de codificación para el tamaño de bloque 4x4 y cuatro modos de codificación para el MB 16x16 para Intra-codificación. Para Inter-MB, una consideración importante en algunos codees avanzados, tal como H.264, es también hacer una mejor determinación del modo de predicción entre las opciones de tamaño de MB. H.264, por ejemplo, soporta cuatro tipos de codificación, incluyendo tamaños de bloque de 16x16, 16x8, 8x16, y 8x8 para Inter-MB. Tradicionalmente, los codees de video toman decisiones del modo de codificación con base en las mediciones que son ejecutadas en cada MB. La codificación predictiva que involucra estimación de movimiento y estimación espacial es computacionalmente muy intensa en codees de video debido a que emplean búsquedas exhaustivas a través de múltiples modos de codificación antes que un modo opcional sea seleccionado el cual logre la mejor eficiencia de compresión. La figura 3 es un ejemplo de un algoritmo de decisión de modo de codificación. En el paso 300, los cálculos extensivos se realizan para determinar una métrica de distorsión o medición de calidad para cada modo de codificación permisible para cada macro-bloque dentro de un • cuadro a través del motor de Estimación de Movimiento/Estimación Espacial (ME/SE) . En el paso 310 se selecciona el mejor modo de codificación para el MB con base en las métricas de distorsión/mediciones de calidad de los modos de codificación permisibles. Una medición de esa calidad es el valor de Suma de Diferencia Absoluta (SAD) , el cual es una métrica de distorsión basada en la diferencia absoluta entre un MB actual y un MB en un cuadro previo. Otra medición puede ser el número de bits gastados en los vectores de movimiento de codificación y residuales para encontrar el modo de codificación que produzca el costo mínimo. Si el MB es un Intra-MB, entonces el flujo de programa avanza al paso 320. En H.264, por ejemplo, existen nueve modos de codificación para un Intra-MB 4x4 y cuatro modos de codificación para un Intra-MB 16x16. Para un Intra-MB 4x4, los nueves modos de codificación son predicción vertical, predicción horizontal, predicción DC, predicción diagonal-hacia-izquierda, predicción diagonal- hacia-derecha, predicción vertical derecha, predicción horizontal hacia abajo, predicción vertical a izquierda, y predicción horizontal hacia arriba. Para un Intra-MB 16x16, los cuatro modos de codificación son predicción vertical, predicción horizontal, predicción DC, y predicción plana. Si en el paso 310 se determina que el MB es un Inter-MB, entonces el flujo de programa avanza al paso 330, en donde el Inter-MB es codificado de forma predictiva. En H.264, existen cuatro tipos de codificación asociados con los tamaños de bloque de 16x16, 16x8, 8x16 y 8x8. Después del paso 320 ó 330, el MB codificado es codificado sin pérdidas en un formato apropiado para transmisió . Se puede apreciar que en el paso 310, la decisión del modo de codificación se realiza después de las búsquedas de estimación de movimiento (ME) y/o la estimación espacial (SE) . Esta decisión del modo de codificación es ejecutada realizando una búsqueda a través de todos los modos de codificación posibles de manera exhaustiva, y se realiza una selección después de todas las búsquedas. Por este motivo, el algoritmo de decisión es categorizado como un algoritmo de decisión "post-modo". Debido a que el algoritmo de decisión post-modo requiere búsquedas ME y/o SE, existe una cantidad importante de recursos de hardware o Procesador de Señal Digital (DSP) que deben ser consumidos para ejecutar el algoritmo. Las modalidades que aqui se presentan son para reducir la complejidad computacional para realizar una decisión de modo de codificación reduciendo la dependencia de la decisión del modo de codificación en búsquedas exhaustivas SE y ME. En una modalidad, se presenta un método y aparato para determinar previamente los modos de predicción para una proporción de los MB. Esta modalidad se puede denominar como el algoritmo de decisión de modo previo. En un aspecto de esta modalidad, los modos de predicción actualmente disponibles y/o pasados se analizan para determinar un modo de predicción para un MB actual. En otra modalidad, el método y aparato para la determinación previa de los modos de predicción se combinan con una decisión post-modo para crear un algoritmo de decisión de modo híbrido. La base subyacente para la estimación espacial y la estimación de movimiento es la fuerte correlación espacial dentro de un cuadro particular y la fuerte correlación temporal y espacial entre cuadros sucesivos. Las modalidades de la presente invención se basan en la premisa de que el mejor modo de predicción para un MB actual, tal como lo determina el algoritmo de decisión de post-modo antes mencionado, también estará fuertemente correlacionado con los mejores modos de predicción de otros MB. Por ejemplo, un área relativamente plana en un cuadro puede ocasionar que un algoritmo de decisión de post-modo designe un grupo de MB como Inter-MB de dimensión 16x16, otro grupo de MB como Inter-MB de dimensión 8x8, y otro grupo de MB como Intra-MB de dimensión 4x4. Por lo tanto, un MB tiende a atraer la misma designación de modo de codificación como otros MB que están espacialmente/temporalmente cercanos . La figura 4? es un diagrama en bloques que ilustra una modalidad de un algoritmo de decisión de modo previo. En el paso 400, el codee de video evalúa los modos de codificación de una selección de MB espacialmente y/o temporalmente cercanos, es decir, MB vecinos, provenientes de un cuadro pasado y/o actual. En el paso 410, el codee utiliza un criterio de decisión para determinar el modo de codificación del MB actual. La figura 4B es un diagrama en bloques de un criterio de decisión simple que se puede ejecutar en una modalidad del algoritmo de decisión de modo previo. Las decisiones de modo ya formuladas 420a, 420b, ... 420n para MB vecinos, desde un cuadro pasado y/o actual, son ingresadas a una lógica que ejecuta una selección de voto mayoritario simple 430. La decisión del modo para el MB actual se basa en el resultado del voto mayoritario de las decisiones de modo ya formuladas 420a, 420b, ... 420n. En un aspecto de la modalidad, la selección de las decisiones de modo ya formuladas 420a, 420b, ... 420n se puede realizar utilizando un patrón entrelazado, de manera que las decisiones de modo provenientes de un cuadro pasado se pueden utilizar con decisiones de modo del cuadro actual como candidatas para la lógica de selección de voto mayoritario 430. En otras palabras, como un ejemplo ilustrativo, si el MB se ubica en la posición (x,y) en un cuadro T, entonces las decisiones de modo de MB en las posiciones (x-l,y), (x+l,y), (x,y-l) y (x,y+l) del cuadro T, y las decisiones de modo de los MB en las posiciones (x-1, y-1), (x+1, y-1), (x-1, y+D y (x+1, y+1) del cuadro T-l se podría seleccionar como entrada en la lógica de selección de voto mayoritario. En otro aspecto de la modalidad, se puede utilizar un patrón entrelazado adaptivo, en lugar de un patrón entrelazado fijo para seleccionar los MB candidatos. Además, se pueden utilizar diferentes patrones de entrelazado siempre que se cumpla con algunos criterios. Por ejemplo, solo los MB que cumplen con cierto nivel de confianza o exceden algunos umbrales se utilizan para la decisión de modo previo. Dichos MB no necesariamente se ubican en un patrón fijo. En otro aspecto, la lógica de selección de voto mayoritario puede tomar los modos de todos los MB candidatos como entrada y ponderar cada modo de acuerdo con un factor de ponderación. Por ejemplo, el inverso de la distancia espacial y/o temporal de un MB candidato del MB actual se puede utilizar como un factor de ponderación para ponderar un modo en la selección de voto mayoritario. La modalidad de decisión de modo previo descrita anteriormente se puede mejorar para evitar una decisión de modo erróneo a partir de la propagación. El algoritmo de decisión del modo previo se puede combinar con un algoritmo de decisión de post-modo para crear una modalidad de decisión de modo híbrido. La figura 5A es un diagrama en bloques que ilustra una modalidad de un algoritmo de decisión de modo híbrido. En el paso 500, se toma una decisión de modo previo para seleccionar MB. El proceso de decisión de modo previo se describió anteriormente para las figuras 4A y 4B. La metodología para seleccionar cuáles MB experimentan el proceso de decisión de modo previo se describe adicionalmente con relación a la figura 5B. En el paso 510, el motor ME/SE ejecuta búsquedas ME y SE exhaustivas de MB para los cuales no se tomaron decisiones de modo previo. En el paso 520, el mejor modo de codificación es seleccionado para los MB que experimentaron las búsquedas de estimación espacial y de movimiento. Si el MB es un Intra-MB, entonces el flujo de programa avanza al paso 530. Si se determina que el MB es un Inter-MB, entonces el flujo de programa avanza al paso 540, en donde el Inter-MB es codificado de forma predecible. Después de cualquiera de los pasos 530 ó 540, el MB codificado es codificado sin pérdidas en el paso 550 en un formato apropiado para transmisión. La figura 5B es un diagrama que muestra la forma en que se puede aplicar un patrón entrelazado a la modalidad de decisión de modo híbrido de la figura 5A para determinar si el modo de codificación de un MB será determinado utilizando un proceso de decisión de modo previo, o un proceso de decisión de post-modo. La figura 5B es un ejemplo de un patrón entrelazado en donde el MB actual (marcado con una X punteada) está en una posición donde se realizará un proceso de decisión de modo previo. La decisión de modo previo se basará en las decisiones de modo ya tomadas para los MB en las posiciones sombreadas. En este caso, la decisión de modo previo se basará en tres candidatos que fueron determinados utilizando el proceso de decisión de post-modo para el cuadro actual T y un cuadro previo T-l. Por lo tanto, los patrones entrelazados se pueden utilizar para determinar si se tomará una decisión de modo previo o de post-modo, y los patrones también se pueden utilizar para determinar cuáles candidatos utilizar en el proceso de decisión de modo previo. El patrón entrelazado específicamente ilustrado en la figura 5B es únicamente un ejemplo de los patrones entrelazados que se pueden utilizar en la modalidad de decisión del modo híbrido. Los patrones entrelazados que se analizan bajo la modalidad de decisión de modo previo se pueden aplicar para esta modalidad. Se puede utilizar un patrón entrelazado adaptivo o fijo para seleccionar los MB que experimentarán las decisiones de modo previo en lugar de las decisiones de post-modo. Además, los diferentes patrones de entrelazado se pueden utilizar siempre que se cumplan algunos criterios. Se puede apreciar que el uso de patrones entrelazados de cualquier tipo permite al codee controlar el número de decisiones de modo previo tomadas en oposición al número de decisiones de post-modo. Si los recursos de procesamientos son bajos, por ejemplo, cuando se están corriendo múltiples aplicaciones en el dispositivo electrónico que aloja el codee, el codee se puede configurar para reducir el número de decisiones de postmodo, lo cual reduce, de manera correspondiente, el número de búsquedas computacionales exhaustivas de los mejores modos de codificación. El uso de un patrón de entrelazado que requiere menos decisiones de post-modo sería útil en este caso. En otro aspecto de la modalidad de modo híbrido, la decisión respecto a si un MB experimenta una decisión de modo previo o post-modo se puede basar en la entrada proveniente de una Unidad de Extracción de Funciones (Bloque 560 de la figura 5A) o en la Retroalimentación de Red (Bloque 570 de la figura 5A) o en el Control de Velocidad (Bloque 555 de la figura 5A) . Por ejemplo, las modalidades se pueden ejecutar para permitir corrientes de video con diferentes tamaños de imagen, velocidades de bits y/o velocidades de cuadro. En otro aspecto todavía, las modalidades se pueden ejecutar para permitir canales de transmisión variable que son propensos a errores de canal. En otro aspecto todavía, las modalidades se pueden ejecutar para permitir una medición de calidad definida por el usuario. En otro aspecto todavía, las modalidades se pueden ejecutar para permitir una falta de recursos de hardware. Tal como se indica en la presente invención, las modalidades se pueden utilizar para permitir muchas necesidades diferentes que se pueden originar en diferentes porciones del dispositivo electrónico que aloja el codee de video. Las señales de configuración se pueden originar en cualquier porción del dispositivo electrónico o alternativamente, las señales de configuración se pueden originar en una red a la cual tiene acceso el dispositivo electrónico . Son posibles diferentes modalidades en donde la decisión de modo híbrido puede ocurrir a diferentes niveles del proceso de codificación. En particular, la decisión de modo previo se puede realizar en tres niveles diferentes. En una modalidad, la decisión de modo previo solo determina si un MB debería ser intra-codificado o inter-codificado, y después deja que la decisión de sub-modo realice búsquedas adicionales por parte del motor ME/SE y el proceso de decisión de post-modo. En H.264, un sub-modo puede hacer referencia a uno de los nueve modos de Intra-codificación 4x4, o de los cuatro modos de Intra-codificación 16x16, o de los modos de Inter-codificación 16x16, 16x8, 8x16, 8x8. En otra modalidad, la decisión de modo previo primero determina uno de los siguientes modos para el MB actual: intra-4x4, intra-16xl6, inter-16xl6, inter-16x8, inter-8x16, e inter-8x8, de manera que el proceso de decisión de post-modo únicamente se ejecuta con los sub-modos posibles del modo seleccionado. En otra modalidad, la primera decisión de modo previo determina un sub-modo particular, tal como, por ejemplo, predicción vertical intra-4x4, de manera que búsquedas adicionales de SE y ME solo necesitan ser realizadas para un modo particular que ya está predeterminado. Las modalidades que aquí se describen son para reducir la complejidad computacional del proceso de codificación para P-cuadros y/o I-cuadros y/o cuadros bidireccionales (B-cuadros) . La reducción del número de búsquedas exhaustivas SE y/o ME a través de la explotación de la correlación entre las decisiones del modo de codificación permitirá una reducción en los requerimientos de complejidad computacional (DSP MIPS ó energia de hardware) para la codificación de video sin degradar indebidamente la calidad percibida del video. El hardware, tal como un procesador de señal digital u otro elemento de procesamiento y elementos de memoria se pueden configurar para ejecutar instrucciones para ejecutar los pasos del método descritos anteriormente. Dicho hardware se puede ejecutar de manera sencilla en cualquiera de los codees de video actualmente existentes que cumplan con las normas de MPEG, ITU-T H.26x, ó AVS . Aquellos expertos en la técnica además apreciarán que los diversos bloques lógicos ilustrativos, módulos, circuitos, y pasos de algoritmo descritos en relación con las modalidades aqui mostradas se pueden ejecutar como hardware electrónico, software de cómputo, o combinaciones de ambos. Para ilustrar de manera clara esta capacidad de intercambio de hardware y software, varios componentes ilustrativos, bloques, módulos, circuitos, y pasos se han descrito anteriormente en general en términos de su funcionalidad. Si dicha funcionalidad se ejecuta como hardware o software depende de la aplicación particular y de las restricciones de diseño impuestas en el sistema global. Aquellos expertos en la técnica pueden ejecutar la funcionalidad descrita en varias formas para cada aplicación particular, pero dichas decisiones de ejecución no se deberían interpretar como una causa para apartarse del alcance de la presente invención. Los diversos bloques lógicos ilustrativos, módulos, y circuitos descritos en relación con las modalidades aquí mostradas se pueden ejecutar o realizar con un procesador de propósito general, un procesador de señal digital (DSP) , un circuito integrado de aplicación específica (ASIC) , un arreglo de puerta programable en campo (FPGA) u otro dispositivo de lógica programable, compuerta discreta o lógica de transistor, componentes de hardware discretos, o cualquier combinación de los mismos diseñada para realizar las funciones aquí descritas, ün procesador de propósito general puede ser un microprocesador, pero en la alternativa, el procesador puede ser cualquier procesador convencional, controlador, microcontrolador, o máquina de estado. ün procesador también se puede ejecutar como una combinación de dispositivos de cómputo, por ejemplo, una combinación de un DSP y un microprocesador, una pluralidad de microprocesadores, uno o más microprocesadores en conjunto con un DSP central, o cualquier otra configuración. Los pasos de un método o algoritmo descritos en relación con las modalidades aquí mostradas se pueden incorporar directamente en hardware, en un módulo de software ejecutado por un procesador, o en una combinación de los dos. Un módulo de software puede residir en memoria RAM, 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 ejemplar puede estar acoplado al procesador para que el procesador pueda leer información de, y escribir información en el medio de almacenamiento. En la alternativa, el medio de almacenamiento puede ser parte integral del 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 a aquellos expertos en la técnica hacer o utilizar la presente invención. Varias modificaciones a estas modalidades serán fácilmente aparentes a aquellos expertos en la técnica, y los principios genéricos aqui definidos se pueden aplicar a otras modalidades sin apartarse del espíritu o alcance de la invención. Por lo tanto, la presente invención no pretende quedar limitada a las modalidades que se muestran sino que se le acordará el alcance más amplio consistente con los principios y características novedosas aquí descritos .

Claims (27)

NOVEDAD DE LA INVENCION 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 tomar una decisión de modo de codificación para un macrobloque actual que comprende: evaluar una pluralidad de modos de codificación, cada uno asociado con un macrobloque vecino; y seleccionar el modo de codificación para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación.
2. - El método de conformidad con la reivindicación 1, caracterizado porque la evaluación de la pluralidad de modos de codificación comprende: seleccionar un patrón de posiciones de macrobloque; y seleccionar la pluralidad de modos de codificación de acuerdo con el patrón de las posiciones de macrobloque .
3.- El método de conformidad con la reivindicación 1, caracterizado porque la evaluación de la pluralidad de modos de codificación comprende: seleccionar la pluralidad de modos de codificación de acuerdo con una señal de configuración que se origina en un codee de video.
4. - El método de conformidad con la reivindicación 1, caracterizado porque la evaluación de la pluralidad de modos de codificación comprende: ¦ seleccionar la pluralidad de modos de codificación de acuerdo con una señal de configuración que se origina en un dispositivo electrónico que aloja un codee de video.
5. - El método de conformidad con la reivindicación 1, caracterizado porque la evaluación de la pluralidad de modos de codificación comprende: seleccionar la pluralidad de modos de codificación de acuerdo con una señal de configuración que se origina en un recurso de red.
6. - El método de conformidad con la reivindicación 2 , caracterizado porque la selección del • patrón de posiciones de macrobloque comprende: seleccionar posiciones de macrobloque en donde las decisiones del modo de codificación fueron tomadas utilizando un proceso de selección de post-modo.
7. - El método de conformidad con la reivindicación 2 , caracterizado porque la selección del patrón de posiciones de macrobloque comprende seleccionar un patrón entrelazado de posiciones de macrobloque.
8. - El método de conformidad con la reivindicación 2, caracterizado porque la selección del patrón de posiciones de macrobloque comprende seleccionar un patrón adaptivo de posiciones de macrobloque.
9. - El método de conformidad con la reivindicación 1, caracterizado porque la selección del modo de codificación para el macrobloque actual comprende: utilizar un criterio de selección de regla mayoritaria para seleccionar el modo de codificación para el macrobloque actual.
10. - El método de conformidad con la reivindicación 9, caracterizado porque el uso de un criterio de selección de regla mayoritaria para seleccionar el modo de codificación para el macrobloque actual comprende : utilizar ponderaciones con el criterio de selección de regla mayoritaria.
11. - El método de conformidad con la reivindicación 1, que además comprende: decidir si se toma la decisión del modo de acuerdo con un proceso de decisión de modo previo o un proceso de decisión de post-modo; si se selecciona el proceso de decisión de modo previo, entonces evaluar la pluralidad de modos de codificación y seleccionar el modo de codificación para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación; y si se selecciona el proceso de decisión de post-modo, entonces extraer una medición de calidad del macrobloque actual y seleccionar el modo de codificación con base en la medición de calidad.
12.- El método de conformidad con la reivindicación 1, que además comprende: extraer características de un cuadro de video; y seleccionar el modo de codificación para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación y las características del cuadro de video.
13.- Un aparato en un codee de video para realizar una decisión de modo de codificación para un macrobloque actual, que comprende: por lo menos un elemento de memoria; y por lo menos un elemento de procesamiento comunicativamente acoplado por lo menos al elemento de memoria y configurado para ejecutar un conjunto de instrucciones almacenadas por lo menos en un elemento de memoria, el conjunto de instrucciones para: evaluar una pluralidad de modos de codificación, cada uno asociado con un macrobloque vecino; y seleccionar el modo de codificación para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación.
14. - El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento comprende una lógica de votación para seleccionar el modo de codificación.
15. - El aparato de conformidad con la reivindicación 13, caracterizado porque el codee de video es un codee que cumple con MPEG.
16. - El aparato de conformidad con la reivindicación 13, caracterizado porque el codee de video es un codee que cumple con la serie ITU-T H.26x.
17. - El aparato de conformidad con la reivindicación 13, caracterizado porque el codee de video es un codee que cumple con AVS .
18. - El aparato de conformidad con la reivindicación 13, caracterizado porque el codee de video es un codee híbrido que utiliza predicción temporal y espacial y utiliza tanto intra-modos como inter-modos .
19. - El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: seleccionar un patrón entrelazado de posiciones de macrobloque; y seleccionar la pluralidad de modos de codificación de acuerdo con el patrón entrelazado de posiciones de macrobloque.
20.- El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: seleccionar un patrón adaptivo de posiciones de macrobloque; y seleccionar la pluralidad de modos de codificación de acuerdo con el patrón adaptivo de posiciones de macrobloque.
21. - El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: seleccionar la pluralidad de modos de codificación de acuerdo con una señal de configuración que se origina en un codee de video.
22. - El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: seleccionar la pluralidad de modos de codificación de acuerdo con una señal de configuración que se origina en el dispositivo electrónico que aloja un codee de video.
23. - El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: seleccionar la pluralidad de modos de codificación de acuerdo con una señal de configuración que se origina en un recurso de red.
24. - El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: seleccionar una pluralidad de modos de codificación asociados con las posiciones de macrobloque en donde las decisiones de modo pasado fueron tomadas utilizando un proceso de selección de post-modo, en donde la pluralidad seleccionada de los modos de codificación se utiliza para evaluación.
25. - El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: utilizar un criterio de selección de regla mayoritaria para seleccionar la decisión de modo para el macrobloque actual .
26.- El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento está configurado adicionalmente para ejecutar un conjunto de instrucciones para: decidir si se toma una decisión de modo de acuerdo con un proceso de decisión de modo previo o un proceso de decisión de post-modo; si se selecciona el proceso de decisión de modo previo, entonces evaluar la pluralidad de modos de codificación y seleccionar el modo de codificación para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación; y si se selecciona el proceso de decisión de postmodo, entonces extraer una medición de calidad del macrobloque actual y tomar la decisión del modo de codificación con base en la medición de calidad.
27.- El aparato de conformidad con la reivindicación 13, caracterizado porque por lo menos un elemento de procesamiento es configurado adicionalmente para ejecutar un conjunto de instrucciones para: extraer características de un cuadro de video; y seleccionar el modo de codificación para el macrobloque actual con base en la evaluación de la pluralidad de modos de codificación y las características del cuadro de video.
MXPA06010360A 2004-03-11 2005-03-09 Metodos y aparato para tomar decisiones en modo rapido en codecs de video. MXPA06010360A (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US55215604P 2004-03-11 2004-03-11
US10/957,512 US7881386B2 (en) 2004-03-11 2004-09-30 Methods and apparatus for performing fast mode decisions in video codecs
PCT/US2005/008044 WO2005088975A1 (en) 2004-03-11 2005-03-09 Methods and apparatus for performing fast mode decisions in video codecs

Publications (1)

Publication Number Publication Date
MXPA06010360A true MXPA06010360A (es) 2007-01-19

Family

ID=34922758

Family Applications (1)

Application Number Title Priority Date Filing Date
MXPA06010360A MXPA06010360A (es) 2004-03-11 2005-03-09 Metodos y aparato para tomar decisiones en modo rapido en codecs de video.

Country Status (4)

Country Link
US (1) US7881386B2 (es)
CN (1) CN101015215B (es)
MX (1) MXPA06010360A (es)
WO (1) WO2005088975A1 (es)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1605706A2 (en) * 2004-06-09 2005-12-14 Broadcom Corporation Advanced video coding (AVC) intra prediction scheme
US8199825B2 (en) * 2004-12-14 2012-06-12 Hewlett-Packard Development Company, L.P. Reducing the resolution of media data
US8948246B2 (en) * 2005-04-11 2015-02-03 Broadcom Corporation Method and system for spatial prediction in a video encoder
JP2007116351A (ja) * 2005-10-19 2007-05-10 Ntt Docomo Inc 画像予測符号化装置、画像予測復号装置、画像予測符号化方法、画像予測復号方法、画像予測符号化プログラム、及び画像予測復号プログラム
FR2897741B1 (fr) * 2006-02-17 2008-11-07 Canon Kk Procede et dispositif de generation de donnees representatives d'un degre d'importance de blocs de donnees et procede et dispositif de transmission d'une sequence video encodee
US7456760B2 (en) * 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
US20080126278A1 (en) * 2006-11-29 2008-05-29 Alexander Bronstein Parallel processing motion estimation for H.264 video codec
WO2008084817A1 (ja) * 2007-01-09 2008-07-17 Kabushiki Kaisha Toshiba 画像符号化と復号化の方法及び装置
KR101476138B1 (ko) * 2007-06-29 2014-12-26 삼성전자주식회사 코덱의 구성 설정 방법 및 이를 적용한 코덱
US20090274213A1 (en) * 2008-04-30 2009-11-05 Omnivision Technologies, Inc. Apparatus and method for computationally efficient intra prediction in a video coder
US20090274211A1 (en) * 2008-04-30 2009-11-05 Omnivision Technologies, Inc. Apparatus and method for high quality intra mode prediction in a video coder
KR100949917B1 (ko) * 2008-05-28 2010-03-30 한국산업기술대학교산학협력단 적응적 인트라 예측을 통한 고속 부호화 방법 및 시스템
US20090304086A1 (en) * 2008-06-06 2009-12-10 Apple Inc. Method and system for video coder and decoder joint optimization
US9479786B2 (en) * 2008-09-26 2016-10-25 Dolby Laboratories Licensing Corporation Complexity allocation for video and image coding applications
KR20100079037A (ko) * 2008-12-30 2010-07-08 삼성전자주식회사 비디오 영상 부호화 방법 및 장치
KR101702553B1 (ko) * 2009-07-04 2017-02-03 에스케이 텔레콤주식회사 영상 부호화/복호화 방법 및 장치
US9762898B2 (en) * 2010-02-01 2017-09-12 Kelly Y Kishore Method and system for parallelizing video compression
US8976856B2 (en) 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
US8755438B2 (en) * 2010-11-29 2014-06-17 Ecole De Technologie Superieure Method and system for selectively performing multiple video transcoding operations
US20120170653A1 (en) * 2010-12-30 2012-07-05 General Instrument Corporation Block based sampling coding systems
TWI487381B (zh) * 2011-05-19 2015-06-01 Nat Univ Chung Cheng Predictive Coding Method for Multimedia Image Texture
JP2013115583A (ja) * 2011-11-28 2013-06-10 Canon Inc 動画像符号化装置及びその制御方法並びにプログラム
JP6005865B2 (ja) * 2012-09-28 2016-10-12 インテル・コーポレーション スケーラブルビデオ符号化のためのエンハンスド参照領域の利用
CN103402084A (zh) * 2013-07-22 2013-11-20 张新安 基于avs的运动估计快速算法
US9286653B2 (en) 2014-08-06 2016-03-15 Google Inc. System and method for increasing the bit depth of images
US10142647B2 (en) * 2014-11-13 2018-11-27 Google Llc Alternating block constrained decision mode coding
US10735773B2 (en) * 2015-06-04 2020-08-04 Apple Inc. Video coding techniques for high quality coding of low motion content

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07131793A (ja) 1993-11-01 1995-05-19 Toshiba Corp 映像信号高能率符号化装置
US5731835A (en) * 1996-02-26 1998-03-24 David Sarnoff Research Center, Inc. Dynamic coding rate control in a block-based video coding system
US6697430B1 (en) * 1999-05-19 2004-02-24 Matsushita Electric Industrial Co., Ltd. MPEG encoder
JP3934568B2 (ja) * 2003-03-04 2007-06-20 松下電器産業株式会社 動画符号化方法および装置
MXPA05014211A (es) 2003-06-25 2006-05-31 Thomson Licensing Codificacion de decision en modo rapido para inter-estructuras.

Also Published As

Publication number Publication date
US20050201627A1 (en) 2005-09-15
CN101015215B (zh) 2011-01-12
WO2005088975A1 (en) 2005-09-22
US7881386B2 (en) 2011-02-01
CN101015215A (zh) 2007-08-08

Similar Documents

Publication Publication Date Title
MXPA06010360A (es) Metodos y aparato para tomar decisiones en modo rapido en codecs de video.
US8073048B2 (en) Method and apparatus for minimizing number of reference pictures used for inter-coding
EP1980115B1 (en) Method and apparatus for determining an encoding method based on a distortion value related to error concealment
JP5081305B2 (ja) フレーム間予測符号化の方法および装置
US9351013B2 (en) Selective and/or scalable complexity control for video codecs
KR100739714B1 (ko) 인트라 예측 모드 결정 방법 및 장치
US20070274385A1 (en) Method of increasing coding efficiency and reducing power consumption by on-line scene change detection while encoding inter-frame
US9584832B2 (en) High quality seamless playback for video decoder clients
JP5897218B2 (ja) 映像符号化方法、およびこの方法を用いる映像符号化装置
US20080310502A1 (en) Inter mode determination method for video encoder
US20130022124A1 (en) Image encoding device, image decoding device, image encoding method, and image decoding method
US20110150074A1 (en) Two-pass encoder
US20090016443A1 (en) Inter mode determination method for video encoding
KR20090095012A (ko) 연속적인 움직임 추정을 이용한 영상 부호화, 복호화 방법및 장치
EP2730086A1 (en) Rate -distortion optimized video encoding mode selection based on low complexity error propagation tracking
KR20110073263A (ko) 인트라 예측 부호화 방법 및 부호화 방법, 그리고 상기 방법을 수행하는 인트라 예측 부호화 장치 및 인트라 예측 복호화 장치
US20070133689A1 (en) Low-cost motion estimation apparatus and method thereof
CN103384327A (zh) 基于自适应阈值的avs快速模式选择算法
CN102946532A (zh) 视频编码
KR20070090494A (ko) 평균 움직임 벡터를 이용한 인터 프레임 에러 은닉 장치 및방법
CN108696750A (zh) 一种预测模式的判决方法及装置
KR20040093253A (ko) 16×16 인트라 휘도 예측 모드 결정방법 및 장치
Mamatha et al. BIT RATE REDUCTION FOR H. 264/AVC VIDEO BASED ON NOVEL HEXAGON SEARCH ALGORITHM.
Johar et al. Optimizing Macroblock Tree Algorithm for Real-Time Video Encoding in HW
KR100774300B1 (ko) 움직임 벡터 복호화 방법 및 그 장치

Legal Events

Date Code Title Description
FG Grant or registration
HH Correction or change in general