ES2337612T3 - Codificacion y descodificacion de patrones de bloques codificados con prediccion espacial. - Google Patents
Codificacion y descodificacion de patrones de bloques codificados con prediccion espacial. Download PDFInfo
- Publication number
- ES2337612T3 ES2337612T3 ES07014945T ES07014945T ES2337612T3 ES 2337612 T3 ES2337612 T3 ES 2337612T3 ES 07014945 T ES07014945 T ES 07014945T ES 07014945 T ES07014945 T ES 07014945T ES 2337612 T3 ES2337612 T3 ES 2337612T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- macroblock
- plural
- predictor
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 claims abstract description 75
- 230000009466 transformation Effects 0.000 claims description 11
- FPPNZSSZRUTDAP-UWFZAAFLSA-N carbenicillin Chemical compound N([C@H]1[C@H]2SC([C@@H](N2C1=O)C(O)=O)(C)C)C(=O)C(C(O)=O)C1=CC=CC=C1 FPPNZSSZRUTDAP-UWFZAAFLSA-N 0.000 claims description 8
- 101000888552 Xenopus laevis CLIP-associating protein 1-B Proteins 0.000 claims 1
- 230000033001 locomotion Effects 0.000 description 57
- 230000006835 compression Effects 0.000 description 17
- 238000007906 compression Methods 0.000 description 17
- 230000008901 benefit Effects 0.000 description 12
- 239000013598 vector Substances 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 3
- 230000001174 ascending effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/186—Methods 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 a colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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/197—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
- H04N19/463—Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
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)
- Color Television Systems (AREA)
- Dc Digital Transmission (AREA)
- Holo Graphy (AREA)
- Medicines Containing Material From Animals Or Micro-Organisms (AREA)
- Error Detection And Correction (AREA)
Abstract
Un procedimiento de reconstruir, en un descodificador de vídeo, una o más imágenes de vídeo en una secuencia de vídeo, comprendiendo el procedimiento: para cada macrobloque de macrobloques plurales, descodificar (64, 66, 74) un patrón de bloque codificado, en donde el patrón de bloque codificado, CBP, indica cuáles de los bloques plurales de luminancia y los bloques plurales de crominancia del macrobloque tienen datos correspondientes de coeficientes de transformación en un flujo de datos, y en donde la descodificación comprende, para cada macrobloque de los macrobloques plurales: recibir un código de longitud variable, en donde el código de longitud variable recibido para el patrón de bloque codificado indica una entrada de tabla de códigos en una tabla de códigos, especificando la entrada de la tabla de códigos un parámetro combinado que representa primera información para los bloques plurales de luminancia del macrobloque, y segunda información para los bloques plurales de crominancia del macrobloque, indicando la segunda información los bits plurales del patrón del bloque codificado para la crominancia, CBPC, del patrón de bloque codificado; descodificar el código de longitud variable recibido para obtener la primera información y la segunda información para el patrón de bloque codificado, en donde la primera información incluye bits plurales, y en donde los bits plurales incluyen bits plurales de ajuste de pronosticador; calcular un predictor por pronóstico espacial, en donde el predictor incluye bits plurales de predictor; y determinar el patrón de bloque codificado, que incluye utilizar los bits plurales de ajuste de predictor y los bits plurales del predictor para determinar los bits plurales del patrón de bloque codificado para la luminancia, CBPY, del patrón de bloque codificado; y utilizar los patrones de bloque codificados para los macrobloques plurales en la reconstrucción.
Description
Codificación y descodificación de patrones de
bloques codificados con predicción espacial.
La invención se refiere a codificación de vídeo,
y específicamente, a un procedimiento mejorado para codificar
parámetros de bloque utilizados en formatos de codificación de vídeo
basados en cuadros y basados en objetos.
Las presentaciones de vídeo de movimiento
completo, basadas en señales analógicas de vídeo, han estado
disponibles mucho tiempo en forma de televisión. Con los avances
recientes en las capacidades y accesibilidad del procesamiento por
ordenador, las presentaciones de vídeo de movimiento completo
basadas en señales de vídeo digital están disponibles cada vez de
forma más extensa. Los sistemas de vídeo digital pueden proporcionar
mejoras significativas respecto a los sistemas convencionales de
vídeo analógico en cuanto a la creación, modificación, transmisión,
almacenamiento y reproducción de secuencias de vídeo de movimiento
completo.
Las presentaciones de vídeo digital incluyen
grandes números de cuadros de imagen que son reproducidos o
representados sucesivamente a frecuencias de entre 30 y 75 Hz. Cada
cuadro de imagen es una imagen fija formada a partir de un conjunto
de píxeles en base a la resolución de presentación de un sistema
particular. Como ejemplos, los sistemas basados en VHS tienen
resoluciones de presentación de 320 x 480 píxeles, los sistemas
basados en NTSC tienen resoluciones de presentación de 720 x 486
píxeles, y los sistemas de televisión de alta definición (HDTV) en
desarrollo, tienen resoluciones de presentación de 1360 x 1024
píxeles.
Las cantidades de información digital bruta
incluida en las secuencias de vídeo son enormes. El almacenamiento
y la transmisión de estas cantidades de información de vídeo son
impracticables con el equipamiento de ordenador personal
convencional. Considérese, por ejemplo, una forma digitalizada de un
formato de imagen de VHS de resolución relativamente baja, que
tiene una resolución de 320 x 480 píxeles. Una película
cinematográfica de una longitud total de dos horas de duración, con
esta resolución, corresponde a 100 gigabytes de información de
vídeo digital. Por comparación, los discos ópticos compactos
convencionales tienen capacidades de alrededor de 0,6 gigabytes,
los discos duros magnéticos tienen capacidades de
1-2 gigabytes, y los discos ópticos compactos
actualmente en desarrollo tienen capacidades de hasta 8
gigabytes.
Para abordar las limitaciones en cuanto al
almacenamiento o la transmisión de tales enormes cantidades de
información de vídeo digital, se han establecido varios procesos o
estándares de compresión de vídeo, incluyendo el
MPEG-1, el MPEG-2 y el H.26X. Estas
técnicas de compresión de vídeo utilizan semejanzas entre cuadros de
imagen sucesivos, que se conocen como correlación temporal o
inter-cuadro, para proporcionar una compresión
inter-cuadro en la que se utilizan datos de
movimiento y señales de error para codificar los cambios entre
cuadros.
Adicionalmente, las técnicas de compresión de
vídeo convencionales utilizan semejanzas dentro de los cuadros de
imagen, conocidas como correlación espacial o
intra-cuadro, para proporcionar la compresión
intra-cuadro, en la que se comprimen las muestras
de imagen en el interior de un cuadro de imagen. La compresión
intra-cuadro se basa en los procedimientos
convencionales para comprimir imágenes fijas, tal como la
codificación de transformada coseno discreta (DCT). Este tipo de
codificación se menciona a veces como codificación de "textura"
o de "transformación". Una "textura" se refiere en
general a un conjunto de dos dimensiones de valores de muestras de
imagen, tal como un conjunto de valores de crominancia y de
luminancia, o un conjunto de valores alfa (opacidad). El término
"transformación" se refiere en este contexto a cómo son
transformadas las muestras de imagen en componentes de frecuencia
espaciales durante el procedimiento de codificación. Esta
utilización del término "transformación" debe ser diferenciada
de una transformación geométrica utilizada para estimar los cambios
de escena en algunos métodos de compresión
inter-cuadro.
La compresión inter-cuadro
utiliza típicamente estimación de movimiento y compensación para
codificar cambios de escena entre cuadros. La estimación de
movimiento consiste en un proceso para estimar el movimiento de
muestras de imagen (por ejemplo, píxeles) entre cuadros. Con la
utilización de estimación de movimiento, el codificador trata de
emparejar bloques de píxeles de un cuadro con los píxeles
correspondientes de otro cuadro. Después de que se ha encontrado el
bloque más similar en un área de búsqueda dada, se aproxima y se
representa el cambio de posición de las posiciones de píxel de los
píxeles correspondientes, como datos de movimiento, tal como un
vector de movimiento. La compensación de movimiento es un proceso
para la determinación de una imagen pronosticada, y para el cálculo
del error entre la imagen pronosticada y la imagen original. Con la
utilización de la compensación de movimiento, el codificador aplica
los datos de movimiento a una imagen, y calcula una imagen
pronosticada. La diferencia entre la imagen pronosticada y la imagen
de entrada, se denomina señal de error. Puesto que la señal de
error consiste justamente en un conjunto de valores que presentan la
diferencia entre los valores de muestras de imagen, puede ser
comprimida utilizando el mismo procedimiento de codificación de
textura que el utilizado para la codificación
intra-cuadro de las muestras de imagen.
\newpage
Aunque difieren en sus implementaciones
específicas, los estándares de compresión de vídeo
MPEG-1, MPEG-2 y H.26X son similares
en un cierto número de aspectos. La descripción que sigue del
estándar de compresión de vídeo MPEG-2 es aplicable
en general a los otros.
El MPEG-2 proporciona compresión
inter-cuadro y compresión
intra-cuadro, basadas en bloques cuadrados de
conjuntos de píxeles en las imágenes de vídeo. Una imagen de vídeo
se divide en bloques de muestras de imagen denominados
macrobloques, que tienen dimensiones de 16 x 16 píxeles. En el
MPEG-2, un macrobloque comprende cuatro bloques de
luminancia (cada bloque es de 8 x 8 muestras de luminancia (Y)) y
dos bloques de crominancia (un bloque de 8 x 8 muestras para Cb y
Cr).
En el MPEG-2, la codificación
inter-cuadro se realiza sobre macrobloques. Un
codificador MPEG-2 realiza estimación y
compensación de movimiento para calcular vectores de movimiento y
señales de error de bloque. Para cada bloque M_{N} en un cuadro N
de imagen, se realiza una búsqueda por la imagen de un cuadro N+1 de
vídeo sucesivo siguiente, o de un cuadro N-1 de
imagen inmediatamente precedente (es decir, bidireccionalmente),
para identificar los bloques M_{N+1} o M_{N-1}
respectivos más similares. La posición del bloque más similar con
relación al bloque M_{N}, se codifica con un vector de movimiento
(DX, DY). El vector de movimiento se utiliza a continuación para
calcular un bloque de valores de muestra pronosticados. Estos
valores de muestra pronosticados se comparan con el bloque M_{N}
para determinar la señal de error de bloque. La señal de bloque se
comprime utilizando un procedimiento de codificación de textura tal
como codificación de transformada coseno discreta (DCT).
Se han propuesto técnicas de codificación de
vídeo basadas en objetos, como un perfeccionamiento respecto a los
estándares de codificación convencionales basados en cuadros. En la
codificación basada en objetos, las características de imagen de
forma arbitraria se separan de los cuadros en la secuencia de vídeo
utilizando un procedimiento denominado "segmentación". Los
objetos de vídeo o "segmentos" son codificados de forma
independiente. La codificación basada en objetos puede mejorar la
tasa de compresión debido a que incrementa la correlación
inter-cuadro entre objetos de vídeo en cuadros
sucesivos. También resulta ventajosa para una diversidad de
aplicaciones que requieren acceso a, y rastreo de, objetos en una
secuencia de vídeo.
En los procedimientos de codificación de vídeo
basados en objetos propuestos para el estándar
MPEG-4, la forma, el movimiento y la textura de los
objetos de vídeo son codificados de forma independiente. La forma de
un objeto está representada por una máscara binaria o alfanumérica
que define el contorno del objeto de forma arbitraria en un cuadro
de vídeo. El movimiento de un objeto es similar a los datos de
movimiento del MPEG-2, salvo en que se aplica a una
imagen de configuración arbitraria del objeto que ha sido segmentado
a partir de un cuadro rectangular. La estimación y compensación de
movimiento se realiza sobre bloques de un "plano de objeto de
vídeo" en vez del cuadro completo. El plano de objeto de vídeo es
el nombre que se da a la imagen conformada de un objeto en un solo
cuadro.
La textura de un objeto de vídeo consiste en la
información de muestras de imagen en un plano de objeto de vídeo
que cae dentro de la forma del objeto. La codificación de textura de
las muestras de imagen de un objeto y de las señales de error se
realiza utilizando procedimientos de codificación de textura
similares a los de la codificación basada en cuadros. Por ejemplo,
una imagen segmentada puede ser acomodada en un rectángulo
delimitador formado con macrobloques. La imagen rectangular formada
por el rectángulo delimitador puede ser comprimida igual que un
cuadro rectangular, salvo en que los macrobloques transparentes no
necesitan ser codificados. Los bloques parcialmente transparentes
son codificados tras el relleno de las porciones del bloque que caen
fuera del contorno de la forma del objeto con valores de muestra
según una técnica conocida como "padding" ("relleno").
Las técnicas de codificación basadas en cuadros,
tales como la MPEG-2 y la H26X, y las técnicas de
codificación basadas en objetos propuestas para la
MPEG-4 son similares en cuanto a que realizan la
codificación intra-cuadro e
inter-cuadro sobre macrobloques. Cada monobloque
incluye una serie de parámetros de sobregasto que proporcionan
información acerca del macrobloque. Como ejemplo, la Fig. 1 muestra
parámetros de macrobloque utilizados en el encabezamiento de un
macrobloque de inter-cuadro. El parámetro (10) COD
es un único bit que indica si el macrobloque de
inter-cuadro está o no codificado. En particular,
este bit indica si el macrobloque codificado incluye o no datos de
movimiento y datos de error codificados de textura. En casos en los
que los datos de movimiento y de señal de error son cero, el bit
COD reduce la información necesaria para codificar el macrobloque
debido a que solamente se envía un único bit en vez de bits
adicionales indicadores de que el vector de movimiento y los datos
de textura no están codificados.
Adicionalmente al bit COD, la sintaxis de
codificación para los macrobloques incluye parámetros de bloque
codificados (CBP) que indican si se han transmitido o no los
coeficientes de transformación codificados para crominancia y
luminancia para el macrobloque. Si los coeficientes de
transformación son todos cero para un bloque, entonces no hay
necesidad de enviar datos de textura para el bloque. Los Parámetros
de Bloque Codificados para Crominancia (CBPC) son dos bits que
indican si se transmiten o no datos de textura codificados para cada
uno de los dos bloques de crominancia.
Los bits CBPC se codifican junto con otro
indicador que proporciona información acerca del tipo de
cuantización para el macrobloque. Estos indicadores se combinan
para formar un parámetro denominado MCBPC (12), y el MCBPC se
codificada por entropía utilizando un procedimiento de codificación
de entropía tal como la codificación de Huffman o aritmética.
El parámetro denominado AC_Pred_flag (14) es un
indicador que indica si se ha utilizado predicción de AC en el
macrobloque.
El Patrón de Bloque Codificado para luminancia
(CBPY) (16) comprende cuatro bits que indican si se transmiten o no
datos de textura codificados para cada uno de los cuatro bloques de
luminancia. Al igual que el parámetro MCBPC, los indicadores CBPY
son también codificados por entropía, utilizando bien la
codificación de Huffman o la aritmética.
A continuación del parámetro CBPY, el
macrobloque incluye datos de vector de movimiento codificado
(mostrado como elemento 18 en la Fig. 1). A continuación de los
datos de vector de movimiento, los "datos de bloque"
representan los datos de textura codificados para el macrobloque
(mostrados como datos de bloque 20 en la Fig. 1).
Un inconveniente del enfoque de codificación
ilustrado en la Fig. 1 consiste en que codifica indicadores CBPC y
CBPY por separado y, por lo tanto, no aprovecha la correlación entre
estos parámetros para reducir el sobregasto del macrobloque. Además,
no se aprovecha de la dependencia espacial de los parámetros de
bloque codificados.
El documento EP 0 830 029 describe la
codificación de patrones de CBPY para macrobloques. La Publicación
de Solicitud de Patente Japonesa N° 06 276 511 describe la
codificación y descodificación de información de CBP para
macrobloques. La Patente estadounidense N° 5.400.075 describe un
sistema de codificación/descodificación de longitud variable para
su empleo con un formato de señal en capas. El documento EP 0 540
350 describe un sistema para la codificación de longitud
variable.
El objeto de la invención consiste en
proporcionar un procedimiento y un sistema mejorados de codificación
en una aplicación de codificación de vídeo.
Este objeto ha sido resuelto por la invención
según se reivindica en las reivindicaciones independientes.
Las realizaciones preferidas están definidas por
las reivindicaciones subordinadas.
La invención proporciona un procedimiento
mejorado de codificación de los parámetros de encabezamiento de
macrobloque en aplicaciones de codificación de vídeo. Un aspecto de
la invención consiste en un procedimiento de codificación que
aprovecha la correlación entre parámetros de bloque codificados
mediante la codificación conjunta de todos los parámetros de bloque
codificados con un único código de longitud variable. Otro aspecto
de la invención consiste en un procedimiento de codificación que se
aprovecha de la dependencia espacial entre los patrones de bloque
codificados de bloques contiguos.
En una implementación de la invención, los
parámetros de bloque codificados para la luminancia y crominancia
en un macrobloque, se agrupan en un parámetro único, combinado, para
el macrobloque. Se asigna un código de longitud variable al
parámetro combinado a partir de una tabla de codificación de
longitud variable. La tabla de codificación es ejercitada en base a
una velocidad de bit deseada (por ejemplo, aplicaciones de Internet
de baja velocidad de bits) y a una clase deseada de contenido de
vídeo (por ejemplo, vídeo de cabezal parlante). Codificando
conjuntamente los valores de luminancia y de crominancia, el
codificador aprovecha la correlación entre estos parámetros en el
macrobloque.
Para mejorar aún más la eficacia de la
codificación, la implementación utiliza predicción para aprovecharse
de la dependencia espacial de los parámetros de bloque codificados
de bloques contiguos. Antes de asignar el código de longitud
variable al parámetro combinado, se pronostican algunos de los
parámetros de bloque codificados a partir de bloques contiguos.
Para macrobloques intra-cuadro, por ejemplo, el
codificador calcula un valor pronosticado espacialmente para cada
parámetro de bloque codificado para luminancia. Este parámetro
pronosticado espacialmente forma parte del parámetro combinado para
el macrobloque.
Las características y ventajas adicionales de la
invención resultarán más evidentes a partir de la descripción
detallada que sigue y de los dibujos adjuntos de una implementación
de la invención.
La Fig. 1 es un diagrama que ilustra un ejemplo
de encabezamiento de macrobloque utilizado en un proceso de
codificación de vídeo estándar;
la Fig. 2 es un diagrama de bloques de un
codificador de vídeo;
la Fig. 3 es un diagrama de bloques de un
descodificador de vídeo;
la Fig. 4 es un diagrama que ilustra un ejemplo
de encabezamiento de bloque mejorado en el que los parámetros de
bloque codificados para crominancia y luminancia son codificados
conjuntamente con un único código de longitud variable;
la Fig. 5 es un diagrama de flujo que ilustra la
forma en que una implementación de la invención calcula un código
único de longitud variable para los parámetros de bloque codificados
de los macrobloques de cuadro I y P;
la Fig. 6 es un diagrama que ilustra cuatro
macrobloques, y sus correspondientes bloques de luminancia (Y);
la Fig. 7 es un diagrama que muestra un ejemplo
de los gradientes horizontal y vertical de valores de parámetro de
bloque codificado para los bloques de luminancia seleccionados en la
Fig. 6;
la Fig. 8 es un diagrama de flujo que ilustra un
procedimiento para calcular un predictor para los parámetros de
bloque codificados, y
la Fig. 9 es un diagrama de un sistema de
ordenador que sirve como entorno operativo para una implementación
en software de la invención.
\vskip1.000000\baselineskip
La primera sección que sigue proporciona una
descripción de un codificador y un descodificador de vídeo. Las
secciones siguientes describen cómo mejorar la codificación de
parámetros de encabezamiento de macrobloque mediante el
aprovechamiento de la correlación entre parámetros CBPC y CBPY, y
aprovechando la dependencia espacial de parámetros de bloque
codificados de bloques contiguos.
Útil para la codificación de vídeo tanto en base
a cuadros como en base a objetos, la invención mejora la
codificación de parámetros de macrobloque, ya sea en caso de que los
macrobloques sean componentes de objetos de vídeo arbitrarios
segmentados a partir de una secuencia de cuadros, como en el caso de
que sean cuadros de imagen de forma rectangular. La codificación
basada en objetos utiliza módulos de codificación de movimiento y
textura similares a los utilizados en la codificación basada en
cuadros. Adicionalmente, los codificadores basados en objetos
incluyen también módulos de codificación de forma. La sintaxis de
bloque relevante para la invención es similar tanto en codificación
basada en cuadros como en la codificación basada en objetos. Si
bien el codificador y el descodificador descritos en la sección que
sigue están basados en objetos, los mismos proporcionan una base
suficiente para explicar cómo implementar la invención en ambos
esquemas de codificación en base a cuadros y en base a objetos.
La Fig. 2 es un diagrama de bloques que ilustra
una implementación de un codificador de vídeo basado en objetos. La
entrada 30 al codificador incluye una serie de objetos, información
de su forma, y rectángulos delimitadores. La información de forma
está disponible, por lo tanto, antes de que el codificador realice
la codificación de los datos de textura o de movimiento. La
codificación basada en cuadros difiere en que se codifica el cuadro
completo sin información de forma.
El módulo 32 de codificación de forma recibe la
definición de un objeto, incluyendo su rectángulo delimitador, y
extiende su rectángulo delimitador a múltiplos enteros de
macrobloques. La información de forma para un objeto comprende una
máscara o "plano alfa". El módulo 32 de codificación de forma
lee esta máscara y la comprime utilizando, por ejemplo, un
procedimiento convencional de codificación en cadena para codificar
el contorno del objeto.
El módulo 34 de estimación de movimiento lee un
objeto incluyendo su rectángulo delimitador y una imagen 36
previamente reconstruida, y calcula datos de estimación de
movimiento utilizados para pronosticar el movimiento del objeto de
un cuadro a otro. Tras la identificación de los macrobloques en la
imagen de objeto actual, el módulo 34 de estimación de movimiento
busca el macrobloque más similar en la imagen reconstruida para cada
macrobloque de la imagen objeto actual, para calcular los datos de
movimiento para cada macrobloque. El formato específico de los
datos de movimiento a partir del módulo 34 de estimación de
movimiento puede variar según el método de estimación de movimiento
utilizado. La implementación descrita en lo que sigue calcula un
vector de movimiento para cada macrobloque, lo que es conforme con
los formatos MPEG y H26X actuales.
El módulo 38 de compensación de movimiento lee
los vectores de movimiento calculados por el módulo de estimación
de movimiento y la imagen 36 previamente reconstruida, y calcula una
imagen pronosticada para el cuadro actual. El codificador encuentra
la diferencia entre los valores de muestra de imagen en el bloque de
imagen de entrada según se especifica en la entrada 30, y los
valores de muestra correspondientes en el bloque de imagen
pronosticada según se calcula en el módulo 38 de compensación de
movimiento, para determinar la señal de error para el
macrobloque.
El módulo 40 de codificación de textura comprime
esta señal de error para objetos codificados
inter-cuadro, y comprime valores de muestra de
imagen para el objeto a partir del flujo 30 de datos de entrada para
los objetos codificados intra-cuadro. La
trayectoria 42 de realimentación procedente del módulo 40 de
codificación de textura representa la señal de error descodificada.
El codificador utiliza los macrobloques de señal de error junto con
los macrobloques de imagen pronosticada, procedentes del módulo de
compensación de movimiento, para calcular la imagen 36 previamente
reconstruida.
El módulo 40 de codificación de textura codifica
bloques de datos intra-cuadro y de señal de error
para un objeto, utilizando cualquiera entre una diversidad de
técnicas de compresión de imagen fija. Los ejemplos de técnicas de
compresión incluyen técnicas basadas en transformación tales como la
codificación DCT y de ondículas, así como otros procedimientos
convencionales de compresión de imagen tales como codificación de
Pirámide Laplaciana.
El flujo de bits de la secuencia de vídeo
comprimida incluye información codificada de forma, de movimiento y
de textura, procedente de los módulos de codificación de forma, de
estimación de movimiento y de codificación de textura. El
multiplexor 44 combina y formatea estos datos con la sintaxis
apropiada, y los emite a la memoria temporal 46.
Mientras que el codificador puede ser
implementado en hardware o en software, lo más probable es que sea
implementado en software. En una implementación de software, los
módulos en el codificador representan instrucciones de software
almacenadas en la memoria de un ordenador y ejecutadas en el
procesador, y datos de vídeo almacenados en memoria. Un codificador
de software puede ser almacenado y distribuido en una diversidad de
medios convencionales legibles por ordenador. En implementaciones
de hardware, los módulos codificadores se implementan en lógica
digital, preferentemente en un circuito integrado. Algunas de las
funciones del codificador pueden ser optimizadas en dispositivos
lógicos digitales de propósito específico, en un periférico de
ordenador, para aliviar la carga de procesamiento de un ordenador
anfitrión.
La Figura 3 es un diagrama de bloques que
ilustra un descodificador para un procedimiento de codificación de
vídeo basado en objetos. Un demultiplexor 60 recibe un flujo 62 de
datos que representa una secuencia de vídeo comprimida, y separa
los datos codificados de formas, de movimiento y de textura objeto
por objeto. El módulo 64 de descodificación de forma descodifica la
forma o el contorno para el objeto actual que está siendo
procesado. Para realizar esto, emplea un descodificador de forma que
implementa la inversa del procedimiento de codificación de forma
que se ha utilizado en el codificador de la Fig. 2. Los datos de
forma resultantes consisten en una máscara, tal como un plano alfa
binario o un plano alfa de escala de grises que representa la forma
del objeto.
El módulo 66 de descodificación de movimiento
descodifica la información de movimiento en el flujo de datos. La
información de movimiento descodificada incluye datos de movimiento
tal como vectores de movimiento para macrobloques, bloques o
coeficientes de transformación geométrica, según el tipo de
procedimiento de estimación utilizado en el codificador. El módulo
66 de descodificación de movimiento suministra esta información de
movimiento al módulo 68 de compensación de movimiento, y el módulo
68 de compensación de movimiento aplica los datos de movimiento a
los datos 70 de objetos previamente reconstruidos.
El módulo 74 de descodificación de textura
descodifica señales de error para datos de textura codificados
inter-cuadro, y un conjunto de valores de color para
datos de textura intra-cuadro, y pasa esta
información a un módulo 72 para el cálculo y acumulación de la
imagen reconstruida. Para objetos codificados
inter-cuadro, este módulo 72 aplica los datos de
señal de error a la salida de imagen pronosticada procedente del
módulo de compensación de movimiento, para calcular el objeto
reconstruido para el cuadro actual. Para objetos codificados
intra-cuadro, el módulo 74 de descodificación de
textura descodifica los valores de muestra de imagen para el
objeto, y sitúa el objeto reconstruido en el módulo 72 de objetos
reconstruidos. Los objetos reconstruidos previamente son almacenados
temporalmente en la memoria 70 de objetos, y se utilizan para
construir el objeto para otros cuadros.
Al igual que el codificador, el descodificador
puede ser implementado en hardware, software, o mediante una
combinación de ambos. En implementaciones de software, los módulos
en el descodificador son instrucciones de software almacenadas en
la memoria de un ordenador y ejecutadas por el procesador, y datos
de vídeo almacenados en memoria. Un descodificador de software
puede estar almacenado y distribuido en una diversidad de medios
convencionales legibles por ordenador. En implementaciones de
hardware, los módulos descodificadores se implementan en lógica
digital, preferentemente en un circuito integrado. Algunas de las
funciones descodificadoras pueden ser optimizadas en dispositivos
lógicos digitales de propósito específico en un periférico de
ordenador, para aliviar la carga de procesamiento de un ordenador
anfitrión.
La invención incluye innovaciones que mejoran la
codificación de parámetros de encabezamiento de macrobloque. Una
innovación consiste en un procedimiento para la codificación de los
parámetros de bloque codificados a fin de aprovechar la correlación
entre CBPC y CBPY. La innovación se implementa codificando
conjuntamente un parámetro combinado de CBPC y CBPY con un único
código de longitud variable. Otra innovación mejora aún más la
eficiencia de codificación de los parámetros de encabezamiento
mediante el aprovechamiento de la dependencia espacial de los
parámetros de bloque codificados. En particular, los parámetros de
bloque codificados son comprimidos más eficazmente pronosticándolos
a partir del parámetro de los bloques contiguos.
La Figura 4 es un diagrama que ilustra
parámetros de bloque de encabezamiento calculados por una
implementación de la invención. Al igual que la información de
encabezamiento mostrada en la Fig. 1, este bloque de encabezamiento
incluye un parámetro COD 80, uno AC_Pred_flag 82, datos de vector de
movimiento (MV 84), y datos 86 de bloque. A diferencia del
encabezamiento en la Fig. 1, los parámetros MCBPC y CBPY son
codificados conjuntamente con un único código de longitud variable,
denominado MBCBCPY 88. Este código combina los parámetros de bloque
codificados para crominancia y luminancia, así como el indicador
para el tipo de macrobloque.
La Figura 5 es un diagrama de flujo que ilustra
cómo la implementación genera un código de longitud variable para
cuadros Intra (I) y cuadros pronosticados (P). En esta
implementación particular, los bloques de encabezamiento para
cuadros I y P son codificados de manera diferente. Para los cuadros
I, el codificador realiza la etapa adicional de predecir los
parámetros de bloque codificados para luminancia antes de
seleccionar el código de longitud variable. También es posible usar
predicción para los cuadros P. Sin embargo, la predicción no mejora
la eficacia de codificación significativamente en los cuadros P y,
en algunos casos, puede incluso reducir la eficacia de
codificación.
El objetivo de usar predicción para parámetros
de bloque codificados consiste en producir tantos valores cero para
estos parámetros como sea posible. Haciendo cero la mayor parte de
los valores, el codificador reduce la varianza de los parámetros de
bloque codificados. El proceso de ejercitación de la tabla de
codificación de longitud variable puede favorecer entonces el valor
cero, lo que mejora la eficacia de codificación. En cuadros P,
especialmente en aplicaciones de baja velocidad de bits, los
parámetros de bloque codificados son cero en su mayor parte antes
de la predicción. Como tal, la predicción no tiende a incrementar el
número de valores cero y, a veces, incluso reduce el número de
valores cero. Por lo tanto, la implementación mostrada en la Fig. 5
no utiliza predicción para los cuadros P.
Para cuadros P, el codificador empieza
encontrando los parámetros de bloque codificados para luminancia y
crominancia según se muestra en la etapa 100. Estos parámetros de
bloque son, cada uno de ellos, un sólo bit que indica si un bloque
correspondiente está codificado en textura. Los parámetros de bloque
codificados son calculados en el módulo de codificación de textura
(40 en la Fig. 2), lo que establece un indicador de bloque
codificado para cada bloque que tenga valores de textura codificados
que no sean cero. A la inversa, el valor del parámetro de bloque
codificado para un bloque en el que los valores de textura son todos
cero (o tan próximos a cero como para ser despreciables), es
cero.
Puesto que existen dos bloques para crominancia
(uno para cada uno de los bloques U y V de 8 por 8 píxeles) y
cuatro bloques para luminancia (uno para cada uno de los cuatro
bloques de 8 por 8) en el macrobloque, el parámetro combinado para
el patrón de bloque codificado consiste en un total de seis bits.
Combinando este número de 6 bits con el bit único para el tipo de
macrobloque, el codificador forma un número de 7 bits, como se
muestra en la etapa 102. El tipo de macrobloque indica si el
macrobloque es para un cuadro I o para uno P.
Una vez que se ha formado el MBCBPCY combinado,
el parámetro combinado se busca en una tabla de codificación de
longitud variable, para encontrar un código de longitud variable
correspondiente asociado al parámetro, como se muestra en la etapa
104. El codificador asigna un código único de longitud variable al
parámetro MBCPCY combinado.
La tabla de codificación en la tabla de
implementación es una tabla de codificación de Huffman. La tabla se
ejercita preferentemente en base a la velocidad deseada y al
escenario deseado. La tabla 1 que sigue es una tabla de
Codificación de Longitud Variable (VLC) obtenida para un escenario
de "cabezal parlante" de baja velocidad de bits. Para cada
macrobloque en un cuadro P, la información MBCBPCY combinada es
codificada utilizando la palabra de código para la entrada
correspondiente en esta tabla.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página
siguiente)
\vskip1.000000\baselineskip
En la implementación mostrada en la Fig. 5, los
cuadros I son codificados de una manera diferente a los cuadros P,
en cuanto a que el codificador utiliza predicción para aprovechar la
dependencia espacial de los parámetros de bloque codificados. Para
cada macrobloque, el codificador empieza por obtener los parámetros
de bloque codificados para crominancia y luminancia, como se
muestra en la etapa 106.
A continuación, el codificador calcula el
predictor de los parámetros de bloque codificados para luminancia.
En esta implementación particular, el codificador utiliza solamente
predicción para los parámetros CBPY. Sin embargo, podría utilizarse
también el mismo procedimiento de predicción para pronosticar los
parámetros de bloque codificados para crominancia. En el caso de la
crominancia, la predicción se calcula en base a bloques de
crominancia de 8 por 8 píxeles en macrobloques contiguos, en vez de
en los bloques de luminancia contiguos de 8 por 8 píxeles, que
pueden estar en el mismo macrobloque o en un macrobloque contiguo.
Puesto que cada macrobloque tiene cuatro bloques de luminancia, los
bloques contiguos para un bloque de luminancia dado pueden proceder
del mismo macrobloque o de uno contiguo. Para una predicción que
incluya bloques de crominancia, los bloques contiguos proceden de
macrobloques
contiguos.
contiguos.
\newpage
El codificador realiza predicción espacial sobre
parámetros de bloque codificados. En primer lugar busca en los
parámetros de bloque codificados para bloques contiguos, con el fin
de determinar si es probable que el valor del parámetro de bloque
cambie entre un bloque contiguo y el bloque actual de interés. Si se
puede identificar la posición de un bloque que representa el cambio
más pequeño en el parámetro de bloque codificado (es decir, el
gradiente espacial más bajo en los parámetros de bloque
codificados), entonces el parámetro de bloque codificado para el
bloque en esta posición se utiliza como predictor. En otro caso, no
importa qué bloque contiguo se elija como predictor, y se puede
seleccionar simplemente uno. Un ejemplo específico de selección del
predictor se describe e ilustra con mayor detalle con referencia a
las Figs. 6-8 más adelante.
En la siguiente etapa 110, el codificador
calcula un valor pronosticado para los parámetros de bloque
codificados. El valor pronosticado representa el cambio en el
parámetro de bloque codificado respecto al bloque predictor y al
bloque actual. Para calcular el valor pronosticado, el codificador
realiza una operación lógica OR exclusiva (XOR) bit a bit, sobre el
valor pronosticado y el valor de bloque actual. Al vector
resultante, denominado CBPCY_XOR, se le asigna a continuación un
código de longitud variable a partir de una tabla de Huffman. El
codificador busca la entrada para CPCY_XOR en la tabla y halla el
correspondiente código de longitud variable. La tabla 2 que sigue
muestra la tabla VLC utilizada para codificar valores CBPCY
pronosticados para cuadros I en la implementación.
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
\vskip1.000000\baselineskip
(Tabla pasa a página
siguiente)
Las Figs. 6-8 ilustran la
predicción espacial realizada en el codificador, con mayor detalle.
La Fig. 6 es un diagrama que muestra cuatro macrobloques contiguos
(parte superior izquierda - 120, parte superior derecha - 122,
parte inferior izquierda - 124, y parte inferior derecha - 126). El
ejemplo que sigue está enfocado al bloque inferior derecho, el cual
está enmarcado. Cada uno de los macrobloques incluye cuatro bloques
de 8 por 8 píxeles para luminancia, etiquetados como Y1, Y2, Y3 e
Y4.
Como ejemplo, considérese el bloque Y1 de
luminancia de la parte superior izquierda para el macrobloque 126
Los bloques utilizados para calcular el predictor están enmarcados
por una línea 128 de puntos. El bloque de interés es Y1 (etiquetado
como bloque 130a), y los bloques utilizados para calcular el
predictor son los bloques contiguos etiquetados como 132a, 134a, y
136a.
Para dar un ejemplo específico, la Figura 7
muestra valores de los parámetros de patrones de bloque codificados
para cada uno de los bloques del interior de la línea punteada de la
Figura 6. Los números de referencia 130b, 132b, 134b y 136b
corresponden a los bloques 130a, 132a, 134a y 136a de la Fig. 6,
respectivamente. Los gradientes espaciales de los parámetros
codificados de bloques contiguos se utilizan para seleccionar el
predictor. En particular, el gradiente vertical se calcula a partir
de los parámetros de bloque codificados de los bloques contiguos
superior izquierdo e izquierdo (136a, 132a, que se muestran
enmarcados con 140 en la Figura 7). El gradiente horizontal se
calcula a partir de los parámetros de bloque codificados de los
bloques superior izquierdo y superior (136a, 130a, que se muestran
enmarcados con 142 en la Figura 7).
La Fig. 8 es un diagrama de flujo que ilustra
las etapas para hallar el predictor. En primer lugar, el codificador
encuentra los gradientes vertical y horizontal. Cada uno de ellos
se calcula como la operación lógica OR exclusivo de los parámetros
de bloque codificados que se muestran enmarcados en la Fig. 7 (140
es el gradiente vertical y 142 es el gradiente horizontal). A
continuación, el codificador compara los valores de gradiente. Si
los gradientes no son iguales, el codificador elige el predictor
como el valor asignado al bloque en la dirección del gradiente
inferior. En el ejemplo mostrado en la Figura 7, el gradiente
vertical es cero, mientras que el gradiente horizontal es uno. De
ese modo, la dirección del gradiente inferior es ascendente. De tal
modo, el valor del parámetro de bloque codificado para el bloque
134a se utiliza como predictor debido a que está situado en la
dirección "ascendente" con relación al bloque de interés.
Ya sea que se utilice o no predicción para
modificar los parámetros de bloque codificados, el resultado final
es un código único de longitud variable que representa todos los
parámetros de bloque codificados para el macrobloque. Puesto que
los cuadros I y P están codificados de manera diferente en la
implementación, el descodificador trata los macrobloques respecto a
estos cuadros de una manera diferente. Para los cuadros P, el
descodificador usa la tabla VLC 1 para buscar el código único de
longitud variable y encontrar la entrada correspondiente que
almacena el parámetro combinado que representa los parámetros de
bloque codificados para luminancia y crominancia. Para los cuadros
I, el descodificador usa la tabla VLC 2 para buscar el código único
de longitud variable y encontrar la entrada correspondiente que
almacena el parámetro combinado que representa los parámetros de
bloque codificados para luminancia y crominancia. En ambos cuadros I
y P, el módulo de descodificación de textura (bloque 74 en la Fig.
3) utiliza los parámetros de bloque codificados para determinar si
los datos de textura para el bloque correspondiente necesitan o no
ser descodificados. El descodificador omite descodificar la textura
para bloques que tengan un parámetro de bloque codificado que sea
cero.
En casos en los que los parámetros de bloque
codificados son también pronosticados, el descodificador utiliza
los parámetros de bloques descodificados previamente a partir de los
bloques contiguos, para calcular el parámetro de bloque codificado
para el bloque actual de interés. En primer lugar, el descodificador
calcula la posición del bloque predictor en base a los gradientes
espaciales de la misma manera que en el codificador. A continuación
calcula el valor del parámetro de bloque codificado para el bloque
actual, calculando la operación lógica OR exclusivo del valor
descodificado y el parámetro de bloque codificado del bloque
predictor (el operador OR exclusivo tiene la siguiente propiedad:
X XOR Y = Z; Z XOR X = Y).
Después de esta etapa de predicción inversa, el descodificador de
textura utiliza entonces el parámetro de bloque codificado para
determinar si omite o no la descodificación de textura para el
bloque.
La Figura 9 y la exposición que sigue, han sido
previstas a efectos de proporcionar una descripción breve y general
de un entorno de computación adecuado en el que puede ser
implementada la invención. Aunque la invención o los aspectos de la
misma pueden ser implementados en un dispositivo de hardware, el
codificador y el descodificador descritos en lo que antecede se
implementan en instrucciones ejecutables por ordenador, organizadas
en módulos de programa. Los módulos de programa incluyen las
rutinas, los programas, los objetos, los componentes y las
estructuras de datos que realizan las tareas, e implementan los
tipos de datos descritos en lo que antecede.
Mientras que la Fig. 9 muestra una configuración
típica de un ordenador de sobremesa, la invención pueden ser
implementada en otras configuraciones de sistemas de ordenador,
incluyendo los dispositivos portátiles, los sistemas de
multiprocesadores, los dispositivos electrónicos de consumo basados
en microprocesadores o programables, los miniordenadores, los
ordenadores principales, y similares. La invención puede ser
utilizada también en entornos de cálculo distribuido en los que las
tareas se realizan mediante dispositivos de procesamiento remoto
que están enlazados a través de una red de comunicaciones. En un
entorno de cálculo distribuido, los módulos de programa pueden
estar situados en dispositivos de almacenamiento de memoria tanto
locales como remotos.
La Fig. 9 ilustra un ejemplo de un sistema de
ordenador que sirve como entorno operativo para la invención. El
sistema de ordenador incluye un ordenador 920 personal, que incluye
una unidad 921 de procesamiento, una memoria 922 de sistema, y un
bus 923 de sistema que interconecta diversos componentes de sistema,
incluyendo la memoria de sistema, con la unidad 921 de
procesamiento. El bus de sistema puede comprender cualquiera entre
diversos tipos de estructuras de bus incluyendo un bus de memoria o
controlador de memoria, un bus periférico, y un bus local que
utiliza una arquitectura de bus tal como PCI, VESA, Microchannel
(MCA), ISA y EISA, por nombrar unos pocos. La memoria de sistema
incluye la memoria 924 de sólo lectura (ROM) y la memoria 925 de
acceso aleatorio (RAM). Un sistema 926 básico de entrada/ salida
(BIOS), que contiene las rutinas básicas que ayudan a transferir
información entre elementos dentro del ordenador 920 personal, tal
como durante el arranque, se encuentra almacenado en la ROM 924. El
ordenador 920 personal incluye además una unidad 927 de disco duro,
una unidad 928 de disco magnético, por ejemplo, para leer desde o
escribir en un disco 929 extraíble, y una unidad 930 de disco
óptico, por ejemplo, para la lectura de un disco 931
CD-ROM o para leer desde o escribir en otro medio
óptico. La unidad 927 de disco duro, la unidad 928 de disco
magnético, y la unidad 930 de disco óptico están conectadas al bus
923 de sistema por medio de una interfaz 932 de unidad de disco
duro, una interfaz 933 de unidad de disco magnético, y una interfaz
934 de unidad de disco óptico, respectivamente. Las unidades y sus
medios asociados legibles por ordenador proporcionan un
almacenamiento no volátil de datos, de estructuras de datos, de
instrucciones ejecutables por ordenador (un código de programa tal
como bibliotecas de enlace dinámico, y archivos ejecutables), etc.,
para el ordenador 920 personal. Aunque la descripción de medios
legibles por ordenador que antecede se refiere a un disco duro, un
disco magnético y un CD extraíbles, también pueden incluir otros
tipos de medios que sean legibles por un ordenador, tal como casetes
magnéticos, tarjetas de memoria flash, discos de vídeo digital,
cartuchos de Bernoulli, y similares.
Puede almacenarse un cierto número de módulos de
programa en las unidades y en la RAM 925, incluyendo un sistema
operativo 935, uno o más programas 936 de aplicación, otros módulos
937 de programa, y datos 938 de programa. Un usuario puede
introducir comandos e información en el ordenador 920 personal a
través de un teclado 940 y de un dispositivo puntero tal como un
ratón 942. Otros dispositivos de entrada (no representados) pueden
incluir un micrófono, una palanca de juegos, un panel de juegos, una
antena parabólica, o similares. Estos y otros dispositivos de
entrada se encuentran con frecuencia conectados a la unidad 921 de
procesamiento a través de una interfaz 946 de puerto serie que está
acoplada al bus de sistema, pero pueden estar conectados por medio
de otras interfaces, tal como un puerto paralelo, un puerto para
juegos o un bus en serie universal (USB). Un monitor 947 u otro
tipo de dispositivo de visualización, se encuentra también conectado
al bus 923 de sistema por medio de una interfaz, tal como un
controlador de visor o un adaptador 948 de vídeo. Además del
monitor, los ordenadores personales incluyen típicamente otros
dispositivos de salida periféricos (no representados), tales como
altavoces e impresoras.
El ordenador 920 personal puede funcionar en un
entorno de red que utiliza conexiones lógicas con uno o más
ordenadores remotos, tal como un ordenador 949 remoto. El ordenador
949 remoto puede ser un servidor, un encaminador, un dispositivo
afín u otro nodo de red común, y típicamente incluye muchos de, o
todos, los elementos descritos en relación con el ordenador 920
personal, aunque en la Fig. 9 solamente se ha ilustrado un
dispositivo 950 de almacenamiento en memoria. Las conexiones
lógicas representadas en la Figura 9 incluyen una red 951 de área
local (LAN) y una red 952 de área amplia (WAN). Tales entornos de
red son comunes en oficinas, redes de ordenadores de empresa,
intranets e Internet.
Cuando se usa en un entorno de red LAN, el
ordenador 920 personal se conecta a la red 951 local a través de
una interfaz o adaptador 953 de red. Cuando se utiliza en un entorno
de red WAN, el ordenador 920 personal incluye típicamente un módem
954 u otro medio para establecer comunicaciones por la red 952 de
área amplia, tal como Internet. El módem 954, que puede ser interno
o externo, se conecta al bus 923 de sistema a través de la interfaz
946 de puerto serie. En un entorno de red, los módulos de programa
representados en relación con el ordenador 920 personal, o
porciones de los mismos, pueden estar almacenados en el dispositivo
remoto de almacenamiento en memoria. Las conexiones de red
mostradas son simplemente ejemplos, y se pueden utilizar otros
medios de establecimiento de un enlace de comunicaciones entre los
ordenadores.
Si bien la invención ha sido ilustrada
utilizando una implementación específica como ejemplo, el ámbito de
la invención no se limita a la implementación específica. Por
ejemplo, es posible usar predicción espacial para ambos bloques de
crominancia y luminancia utilizando técnicas similares. Además, se
puede usar predicción espacial para codificar los parámetros de
bloque codificados para ambos cuadros, intra y pronosticados. La
implementación utiliza tablas de Huffman para generar códigos de
longitud variable. De hecho, se puede utilizar una diversidad de
procedimientos de codificación de entropía para generar un código de
longitud variable para cada parámetro de bloque codificado
combinado. Por ejemplo, se pueden usar diversas formas de
codificación aritmética y/o de longitud de secuencia. Cada uno de
estos procedimientos de codificación asigna códigos más largos a
las señales de entrada que se generan menos frecuentemente, mientras
que asigna códigos más cortos a las señales de entrada más
frecuentes. Según se ha indicado anteriormente, se pueden aplicar
los procedimientos de codificación para mejorar la eficacia de los
encabezamientos de macrobloque en los procedimientos de codificación
basados en cuadros y basados en
objetos.
objetos.
\vskip1.000000\baselineskip
La siguiente es una lista de realizaciones
preferidas adicionales de la invención:
Realización 1: En un codificador de vídeo para
codificar imágenes de vídeo en un formato en bloques, un
procedimiento para mejorar la compresión de las imágenes de vídeo,
que comprende:
para un macrobloque en un cuadro de vídeo,
determinar si los valores de textura para los valores de color del
macrobloque están codificados, y establecer los parámetros de bloque
codificados correspondientes a los colores, para indicar si los
valores de textura están o no codificados;
formar un parámetro combinado que representa
todos los parámetros de bloque codificados para el macrobloque;
determinar un único código de longitud variable
para el parámetro combinado del macrobloque; y
repetir las etapas anteriores para los
macrobloques en la imagen de vídeo.
\vskip1.000000\baselineskip
Realización 2: El procedimiento de la
realización 1, en el cual:
los valores de textura son valores de
crominancia U y V, y valores de luminancia Y,
el macrobloque incluye un bloque para U, un
bloque para V y cuatro bloques para Y;
y los parámetros de bloque codificados incluyen
un bit para U y otro para V, que indican si los correspondientes
bloques U y V están codificados, y cuatro bits para Y, que indican
si los cuatro bloques Y correspondientes están codificados.
\vskip1.000000\baselineskip
Realización 3: El procedimiento de la
realización 1, en el cual la etapa de formación influye formar un
parámetro combinado que representa todos los parámetros de bloque
codificados y un parámetro que representa el tipo de macrobloque
para el macrobloque.
\vskip1.000000\baselineskip
Realización 4: El procedimiento de la
realización 1, que incluye adicionalmente:
seleccionar un predictor para los parámetros de
bloque codificados; y
calcular una operación lógica OR exclusivo entre
el predictor y los parámetros de bloque codificados, a fin de
calcular parámetros de bloque codificados pronosticados, formando
los parámetros de bloque codificados pronosticados al menos una
parte del parámetro combinado de bloque codificado para el
macrobloque;
en el cual la etapa de determinar el código
único de longitud variable incluye buscar el parámetro combinado de
bloque codificado en una tabla de codificación de longitud variable,
para hallar el código único de longitud variable para el parámetro
combinado de bloque codificado.
\vskip1.000000\baselineskip
Realización 5: El procedimiento de la
realización 4, en el cual
los valores de textura son valores U y V de
crominancia, y valores Y de luminancia,
el macrobloque incluye un bloque para U, un
bloque para V y cuatro bloques para Y;
\newpage
y los parámetros de bloque codificados incluyen
un bit para U y otro para V, que indican si los correspondientes
bloques U y V están codificados, y cuatro bits para Y que indican si
los cuatro bloques Y correspondientes están codificados; y
la etapa de seleccionar un predictor incluye
calcular un bloque predictor para cada uno de los cuatro bloques
Y.
\vskip1.000000\baselineskip
Realización 6: El procedimiento de la
realización 4, en el cual
los valores de textura son valores U y V de
crominancia, y valores Y de luminancia,
el macrobloque incluye un bloque para U, un
bloque para V y cuatro bloques para Y;
y los parámetros de bloque codificados incluyen
un bit para U y uno para V, que indican si los correspondientes
bloques U y V están codificados, y cuatro bits para Y que indican si
los cuatro bloques Y correspondientes están codificados; y
la etapa de seleccionar un predictor incluye
calcular un bloque predictor para los bloques U y V.
\vskip1.000000\baselineskip
Realización 7: El procedimiento de la
realización 4, en el cual la etapa de seleccionar un predictor
incluye:
calcular un gradiente horizontal de parámetros
de bloque codificados para bloques contiguos, situados adyacentes
entre sí en una dirección horizontal;
calcular un gradiente vertical de parámetros de
bloque codificados para bloques contiguos, situados adyacentes entre
sí en una dirección vertical;
determinar si el gradiente es más pequeño en la
dirección vertical o en la horizontal; y
seleccionar el bloque contiguo en la dirección
del gradiente más pequeño como el predictor para el bloque.
\vskip1.000000\baselineskip
Realización 8: El procedimiento de la
realización 1, que comprende adicionalmente:
seleccionar un predictor para al menos un primer
parámetro de bloque codificado; y
calcular un valor pronosticado que representa un
cambio en el valor entre el predictor y el primer parámetro de
bloque codificado, en donde el parámetro combinado incluye el valor
pronosticado.
\vskip1.000000\baselineskip
Realización 9: El procedimiento de la
realización 1, en el cual la imagen de vídeo comprende dos o más
planos de objeto de vídeo, estando cada uno dividido en
macrobloques, y las etapas de la realización 1 se repiten para los
macrobloques de cada uno de los planos de objeto de vídeo.
\vskip1.000000\baselineskip
Realización 10: Un medio legible por ordenador
en el cual están almacenadas instrucciones para llevar a cabo las
etapas de la realización 1.
\vskip1.000000\baselineskip
Realización 11: En un descodificador de vídeo,
un procedimiento para descodificar un macrobloque, que
comprende:
recibir un código de longitud variable que
representa un parámetro combinado de bloque codificado para el
macrobloque que representa a todos los parámetros de bloque
codificados para el macrobloque;
buscar el código de longitud variable en una
tabla de codificación de longitud variable para hallar una
correspondiente entrada para el código de longitud variable que
representa al parámetro combinado de bloque codificado; y
utilizar los indicadores codificados en el
parámetro combinado de bloque codificado para determinar si la
textura está codificada para los bloques correspondientes a cada
indicador.
\vskip1.000000\baselineskip
Realización 12: El procedimiento de la
realización 11, en el que se utiliza una primera tabla de
codificación de longitud variable para los macrobloques en
intra-cuadros en una secuencia de imagen, y se
utiliza una segunda tabla de codificación de longitud variable para
los macrobloques en los cuadros de imagen pronosticados.
Realización 13: El procedimiento de la
realización 12, en el cual la primera tabla de codificación de
longitud variable almacena entradas para códigos de longitud
variable, representando cada una un parámetro combinado de
macrobloque que incluye patrones de bloque codificado para
crominancia y luminancia; y
en el cual la segunda tabla de codificación de
longitud variable almacena entradas para códigos de longitud
variable, representando cada una un parámetro combinado de
macrobloque que incluye patrones de bloque codificado para
crominancia y luminancia.
\vskip1.000000\baselineskip
Realización 14: El procedimiento de la
realización 13, en el cual los parámetros combinados de macrobloque
en la primera tabla también incluyen un parámetro que representa el
tipo de macrobloque.
\vskip1.000000\baselineskip
Realización 15: El procedimiento de la
realización 11, en el cual al menos uno de los parámetros de bloque
codificados en los parámetros combinados de bloques codificados es
un parámetro de bloque codificado espacialmente pronosticado; y que
incluye adicionalmente:
después de buscar el código de longitud variable
en la tabla de codificación de longitud variable,
calcular un bloque predictor entre los bloques
contiguos de un bloque correspondiente al parámetro de bloque
codificado espacialmente pronosticado, y
calcular un valor de parámetro de bloque
codificado para el bloque a partir del parámetro de bloque
codificado espacialmente pronosticado, y un parámetro de bloque
codificado para el bloque predictor.
\vskip1.000000\baselineskip
Realización 16: El procedimiento de la
realización 15, en el cual la etapa de calcular el bloque predictor
incluye:
calcular gradientes espaciales del parámetro de
bloque codificado entre pares de bloques contiguos; y
seleccionar un bloque en una dirección de un
mínimo gradiente espacial como el bloque predictor.
\vskip1.000000\baselineskip
Realización 17: El procedimiento de la
realización 16, en el cual el cálculo del parámetro de bloque
codificado para el bloque incluye:
calcular la operación lógica OR exclusivo del
parámetro de bloque codificado espacialmente pronosticado y el
parámetro de bloque codificado para el bloque predictor.
\vskip1.000000\baselineskip
Realización 18: El procedimiento de la
realización 11, en el cual el parámetro combinado de bloque
codificado representa parámetros de bloque codificados para cada
bloque de luminancia y cada bloque de crominancia en el
macrobloque.
\vskip1.000000\baselineskip
Realización 19: Un medio legible por ordenador
en el cual se almacenan instrucciones para llevar a cabo el
procedimiento de la realización 11.
\vskip1.000000\baselineskip
Realización 20: Un medio legible por ordenador
en el cual está almacenada una secuencia de cuadros de vídeo
codificados que comprende:
macrobloques intra-cuadro,
incluyendo cada macrobloque codificado con
intra-cuadros un código de longitud variable que
representa un parámetro combinado que incluye un parámetro de bloque
codificado para cada bloque de luminancia y cada bloque de
crominancia en el macrobloque;
macrobloques de cuadro pronosticado, incluyendo
cada macrobloque codificado de cuadro pronosticado un código de
longitud variable que representa un parámetro combinado que incluye
un parámetro de bloque codificado para cada bloque de luminancia y
cada bloque de crominancia en el macrobloque;
en el cual al menos uno de los parámetros de
bloque codificados está espacialmente pronosticado a partir de un
bloque contiguo antes de integrarse en el parámetro combinado de
bloque codificado para un correspondiente macrobloque.
Claims (12)
1. Un procedimiento de reconstruir, en un
descodificador de vídeo, una o más imágenes de vídeo en una
secuencia de vídeo, comprendiendo el procedimiento:
para cada macrobloque de macrobloques plurales,
descodificar (64, 66, 74) un patrón de bloque codificado, en donde
el patrón de bloque codificado, CBP, indica cuáles de los bloques
plurales de luminancia y los bloques plurales de crominancia del
macrobloque tienen datos correspondientes de coeficientes de
transformación en un flujo de datos, y en donde la descodificación
comprende, para cada macrobloque de los macrobloques plurales:
recibir un código de longitud variable, en donde
el código de longitud variable recibido para el patrón de bloque
codificado indica una entrada de tabla de códigos en una tabla de
códigos, especificando la entrada de la tabla de códigos un
parámetro combinado que representa primera información para los
bloques plurales de luminancia del macrobloque, y segunda
información para los bloques plurales de crominancia del
macrobloque, indicando la segunda información los bits plurales del
patrón del bloque codificado para la crominancia, CBPC, del patrón
de bloque codificado;
descodificar el código de longitud variable
recibido para obtener la primera información y la segunda
información para el patrón de bloque codificado, en donde la primera
información incluye bits plurales, y en donde los bits plurales
incluyen bits plurales de ajuste de pronosticador; calcular un
predictor por pronóstico espacial, en donde el predictor incluye
bits plurales de predictor; y
determinar el patrón de bloque codificado, que
incluye utilizar los bits plurales de ajuste de predictor y los bits
plurales del predictor para determinar los bits plurales del patrón
de bloque codificado para la luminancia, CBPY, del patrón de bloque
codificado; y
utilizar los patrones de bloque codificados para
los macrobloques plurales en la reconstrucción.
2. El procedimiento de la reivindicación 1, en
el cual el empleo de los bits plurales de ajuste del predictor y los
bits plurales del predictor comprende calcular una operación lógica
XOR bit a bit entre los bits plurales de ajuste del predictor y los
bits plurales del predictor.
3. El procedimiento de cualquiera de las
reivindicaciones 1 a 2, en el cual el descodificador de vídeo
realiza la predicción espacial para macrobloques de tipo
intra-cuadro, pero no otros tipos de
macrobloques.
4. El procedimiento de cualquiera de las
reivindicaciones 1 a 3, en el cual al menos alguno de los
pronósticos espaciales se basa en patrones de bloque codificados
previamente descodificados.
5. Un procedimiento de codificar, en un
codificador de vídeo, una o más imágenes de vídeo en una secuencia
de vídeo, comprendiendo el procedimiento:
para cada macrobloque de macrobloques plurales,
codificar un patrón de bloque codificado, CBP, en donde el patrón de
bloque codificado indica cuáles de los bloques plurales de
luminancia y los bloques plurales de crominancia del macrobloque
tienen datos correspondientes de coeficientes de transformación en
un flujo de datos, y en donde la codificación comprende, para cada
macrobloque de los macrobloques plurales:
calcular (108) un predictor por predicción
espacial, en donde el predictor incluye bits plurales del
predictor;
para los bloques plurales de luminancia del
macrobloque, determinar (110) una primera información utilizando los
bits plurales del patrón de bloque codificado para la luminancia,
CBPY, del patrón de bloque codificado y los bits plurales del
predictor, en donde la primera información incluye bits plurales de
ajuste del predictor;
codificar (112) un código de longitud variable,
en donde el código de longitud variable indica una entrada de una
tabla de códigos en una tabla de códigos, especificando la entrada
de la tabla de códigos un parámetro combinado que representa la
primera información y la segunda información, indicando la segunda
información bits plurales del patrón de bloque codificado para la
crominancia, CBPC, del patrón de bloque codificado; y
emitir el código de longitud variable.
6. El procedimiento de la reivindicación 5, en
el cual la determinación comprende calcular una operación lógica XOR
bit a bit entre los bits plurales del CBPY del patrón de bloque
codificado y los bits plurales del predictor.
7. El procedimiento de cualquiera de las
reivindicaciones 5 a 6, en el cual el codificador de vídeo lleva a
cabo la predicción espacial para macrobloques de tipo
intra-cuadro, pero no otros tipos de
macrobloques.
8. El procedimiento de cualquiera de las
reivindicaciones 5 a 7, en el cual al menos alguna de las
predicciones espaciales se basa en patrones de bloque codificado
previamente codificados.
9. El procedimiento de cualquiera de las
reivindicaciones 1 a 8, en el cual la predicción espacial se basa,
al menos en parte, en una comparación que involucra a un bloque
adyacente superior izquierdo y un bloque adyacente superior con
respecto a un bloque dado.
10. El procedimiento de la reivindicación 9, en
el cual al menos uno entre el bloque adyacente superior izquierdo y
el bloque adyacente superior está dentro de un macrobloque distinto
al bloque dado.
11. El procedimiento de cualquiera de las
reivindicaciones 1 a 10, en el cual, para cada macrobloque de los
macrobloques plurales, el macrobloque consiste en cuatro bloques de
luminancia de 8x8 y dos bloques de crominancia de 8x8, y el patrón
de bloque codificado consiste en seis bits de cada, indicando cada
uno si un correspondiente bloque de los cuatro bloques de
luminancia y dos bloques de crominancia tiene datos de coeficientes
de transformación en el flujo de bits.
12. Un medio legible por ordenador que tenga
almacenadas en el mismo, instrucciones ejecutables por ordenador
para causar que un sistema de ordenador programado por las mismas
lleve a cabo el procedimiento de cualquiera de las reivindicaciones
1 a 11.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201272 | 1980-11-04 | ||
| US09/201,272 US6563953B2 (en) | 1998-11-30 | 1998-11-30 | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2337612T3 true ES2337612T3 (es) | 2010-04-27 |
Family
ID=22745185
Family Applications (3)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES07014891T Expired - Lifetime ES2337611T3 (es) | 1998-11-30 | 1999-11-30 | Descodificacion de informacion de tipo de macrobloque e informacion de patron de bloque codificado. |
| ES07014945T Expired - Lifetime ES2337612T3 (es) | 1998-11-30 | 1999-11-30 | Codificacion y descodificacion de patrones de bloques codificados con prediccion espacial. |
| ES99965061T Expired - Lifetime ES2296415T3 (es) | 1998-11-30 | 1999-11-30 | Codificacion eficaz de cabecero de macrobloque para video compresion. |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES07014891T Expired - Lifetime ES2337611T3 (es) | 1998-11-30 | 1999-11-30 | Descodificacion de informacion de tipo de macrobloque e informacion de patron de bloque codificado. |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES99965061T Expired - Lifetime ES2296415T3 (es) | 1998-11-30 | 1999-11-30 | Codificacion eficaz de cabecero de macrobloque para video compresion. |
Country Status (9)
| Country | Link |
|---|---|
| US (7) | US6563953B2 (es) |
| EP (3) | EP1863295B1 (es) |
| JP (4) | JP3778798B2 (es) |
| AT (3) | ATE456254T1 (es) |
| DE (3) | DE69937462T2 (es) |
| DK (3) | DK1863295T3 (es) |
| ES (3) | ES2337611T3 (es) |
| PT (3) | PT1863295E (es) |
| WO (1) | WO2000033583A1 (es) |
Families Citing this family (140)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6571016B1 (en) * | 1997-05-05 | 2003-05-27 | Microsoft Corporation | Intra compression of pixel blocks using predicted mean |
| US6215910B1 (en) | 1996-03-28 | 2001-04-10 | Microsoft Corporation | Table-based compression with embedded coding |
| US6983018B1 (en) | 1998-11-30 | 2006-01-03 | Microsoft Corporation | Efficient motion vector coding for video compression |
| US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
| US6499060B1 (en) * | 1999-03-12 | 2002-12-24 | Microsoft Corporation | Media coding for loss recovery with remotely predicted data units |
| FI116819B (fi) * | 2000-01-21 | 2006-02-28 | Nokia Corp | Menetelmä kuvien lähettämiseksi ja kuvakooderi |
| GB2359209A (en) * | 2000-02-09 | 2001-08-15 | Motorola Ltd | Apparatus and methods for video distribution via networks |
| US20020191698A1 (en) * | 2001-06-15 | 2002-12-19 | Solidstreaming, Inc. | Video data CODEC system with low computational complexity |
| JP3920849B2 (ja) * | 2001-06-29 | 2007-05-30 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、画像復号装置、画像符号化方法、及び画像復号方法 |
| EP1415479A1 (en) * | 2001-08-02 | 2004-05-06 | Koninklijke Philips Electronics N.V. | Video coding method |
| CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
| WO2003053066A1 (en) * | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
| US7003035B2 (en) * | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
| AU2003214181A1 (en) * | 2002-03-22 | 2003-10-13 | Realnetworks, Inc. | Context-adaptive macroblock type encoding/decoding methods and apparatuses |
| JP4130780B2 (ja) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | 画像符号化方法および画像復号化方法 |
| TW560179B (en) * | 2002-04-16 | 2003-11-01 | Pixart Imaging Inc | Moving correction and compensation method |
| US20030205538A1 (en) | 2002-05-03 | 2003-11-06 | Randel Dorian | Methods and apparatus for isolating platelets from blood |
| US7832566B2 (en) | 2002-05-24 | 2010-11-16 | Biomet Biologics, Llc | Method and apparatus for separating and concentrating a component from a multi-component material including macroparticles |
| US20060278588A1 (en) | 2002-05-24 | 2006-12-14 | Woodell-May Jennifer E | Apparatus and method for separating and concentrating fluids containing multiple components |
| US7845499B2 (en) | 2002-05-24 | 2010-12-07 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
| EP2860979A1 (en) * | 2002-05-28 | 2015-04-15 | Sharp Kabushiki Kaisha | Method and systems for image intra-prediction mode estimation, communication, and organization |
| CN101489136B (zh) * | 2002-05-28 | 2014-07-16 | 夏普株式会社 | 图像内预测模式估计、通信和组织的方法和系统 |
| US7236524B2 (en) | 2002-05-28 | 2007-06-26 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode communication |
| US7386048B2 (en) | 2002-05-28 | 2008-06-10 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode organization |
| US7289672B2 (en) | 2002-05-28 | 2007-10-30 | Sharp Laboratories Of America, Inc. | Methods and systems for image intra-prediction mode estimation |
| US20040001546A1 (en) | 2002-06-03 | 2004-01-01 | Alexandros Tourapis | Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation |
| US7280700B2 (en) * | 2002-07-05 | 2007-10-09 | Microsoft Corporation | Optimization techniques for data compression |
| KR100994295B1 (ko) * | 2002-07-19 | 2010-11-12 | 소니 주식회사 | 정보 신호 처리 장치, 정보 신호 처리 방법, 보정 데이터의 생성 장치 및 생성 방법, 계수 데이터의 생성 장치 및 생성 방법, 및 각 방법을 실행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 매체 |
| US7154952B2 (en) | 2002-07-19 | 2006-12-26 | Microsoft Corporation | Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures |
| US20040120404A1 (en) * | 2002-11-27 | 2004-06-24 | Takayuki Sugahara | Variable length data encoding method, variable length data encoding apparatus, variable length encoded data decoding method, and variable length encoded data decoding apparatus |
| US7130350B1 (en) * | 2003-02-28 | 2006-10-31 | Vixs Systems, Inc. | Method and system for encoding and decoding data in a video stream |
| US7424493B2 (en) * | 2003-04-21 | 2008-09-09 | Microsoft Corporation | Replication-based propagation mechanism for pipelines |
| US7499495B2 (en) * | 2003-07-18 | 2009-03-03 | Microsoft Corporation | Extended range motion vectors |
| US7502415B2 (en) * | 2003-07-18 | 2009-03-10 | Microsoft Corporation | Range reduction |
| US10554985B2 (en) | 2003-07-18 | 2020-02-04 | Microsoft Technology Licensing, Llc | DC coefficient signaling at small quantization step sizes |
| US7738554B2 (en) * | 2003-07-18 | 2010-06-15 | Microsoft Corporation | DC coefficient signaling at small quantization step sizes |
| US7609763B2 (en) | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
| US7830963B2 (en) | 2003-07-18 | 2010-11-09 | Microsoft Corporation | Decoding jointly coded transform type and subblock pattern information |
| US20050013498A1 (en) | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
| US7426308B2 (en) * | 2003-07-18 | 2008-09-16 | Microsoft Corporation | Intraframe and interframe interlace coding and decoding |
| US7269288B2 (en) * | 2003-07-30 | 2007-09-11 | Mediatek Inc. | Apparatus for parallel calculation of prediction bits in a spatially predicted coded block pattern and method thereof |
| US7577200B2 (en) | 2003-09-07 | 2009-08-18 | Microsoft Corporation | Extended range variable length coding/decoding of differential motion vector information |
| US7623574B2 (en) | 2003-09-07 | 2009-11-24 | Microsoft Corporation | Selecting between dominant and non-dominant motion vector predictor polarities |
| US7317839B2 (en) * | 2003-09-07 | 2008-01-08 | Microsoft Corporation | Chroma motion vector derivation for interlaced forward-predicted fields |
| US7092576B2 (en) * | 2003-09-07 | 2006-08-15 | Microsoft Corporation | Bitplane coding for macroblock field/frame coding type information |
| US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
| US7616692B2 (en) | 2003-09-07 | 2009-11-10 | Microsoft Corporation | Hybrid motion vector prediction for interlaced forward-predicted fields |
| US7567617B2 (en) * | 2003-09-07 | 2009-07-28 | Microsoft Corporation | Predicting motion vectors for fields of forward-predicted interlaced video frames |
| US7599438B2 (en) * | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
| US7606308B2 (en) * | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
| US7620106B2 (en) | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
| US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
| US8014450B2 (en) * | 2003-09-07 | 2011-09-06 | Microsoft Corporation | Flexible range reduction |
| US7912291B2 (en) * | 2003-11-10 | 2011-03-22 | Ricoh Co., Ltd | Features for retrieval and similarity matching of documents from the JPEG 2000-compressed domain |
| US7580461B2 (en) * | 2004-02-27 | 2009-08-25 | Microsoft Corporation | Barbell lifting for wavelet coding |
| US7627037B2 (en) * | 2004-02-27 | 2009-12-01 | Microsoft Corporation | Barbell lifting for multi-layer wavelet coding |
| US7649539B2 (en) * | 2004-03-10 | 2010-01-19 | Microsoft Corporation | Image formats for video capture, processing and display |
| US7586647B2 (en) * | 2004-07-29 | 2009-09-08 | Canon Kabushiki Kaisha | Halftone detection and removal |
| CN100359953C (zh) * | 2004-09-08 | 2008-01-02 | 华为技术有限公司 | 基于帧内编码的图像色度预测方法 |
| CN100461867C (zh) * | 2004-12-02 | 2009-02-11 | 中国科学院计算技术研究所 | 一种帧内图像预测编码方法 |
| US8634413B2 (en) | 2004-12-30 | 2014-01-21 | Microsoft Corporation | Use of frame caching to improve packet loss recovery |
| KR100682912B1 (ko) * | 2005-01-05 | 2007-02-15 | 삼성전자주식회사 | 화상 데이터 부호화 및 복호화 방법 및 장치 |
| US7866485B2 (en) | 2005-02-07 | 2011-01-11 | Hanuman, Llc | Apparatus and method for preparing platelet rich plasma and concentrates thereof |
| US7708152B2 (en) | 2005-02-07 | 2010-05-04 | Hanuman Llc | Method and apparatus for preparing platelet rich plasma and concentrates thereof |
| EP1848472B1 (en) | 2005-02-07 | 2015-04-01 | Hanuman LLC | Platelet rich plasma concentrate apparatus and method |
| JP4683374B2 (ja) * | 2005-03-14 | 2011-05-18 | 富士ゼロックス株式会社 | 符号化装置、符号化方法及びプログラム |
| JP4301193B2 (ja) * | 2005-03-31 | 2009-07-22 | ソニー株式会社 | 画像比較装置及び方法、画像検索装置及び方法、並びにプログラム及び記録媒体 |
| US8619860B2 (en) * | 2005-05-03 | 2013-12-31 | Qualcomm Incorporated | System and method for scalable encoding and decoding of multimedia data using multiple layers |
| WO2007027011A1 (en) | 2005-07-15 | 2007-03-08 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding image |
| US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
| US7860327B2 (en) * | 2005-10-06 | 2010-12-28 | Sony Corporation | Systems and methods for enhanced coding gain |
| KR100763196B1 (ko) * | 2005-10-19 | 2007-10-04 | 삼성전자주식회사 | 어떤 계층의 플래그를 계층간의 연관성을 이용하여부호화하는 방법, 상기 부호화된 플래그를 복호화하는방법, 및 장치 |
| TW200727598A (en) * | 2005-11-18 | 2007-07-16 | Sony Corp | Encoding/decoding device/method and the transmission system |
| KR100791295B1 (ko) * | 2006-01-12 | 2008-01-04 | 삼성전자주식회사 | 플래그 부호화 방법, 플래그 복호화 방법, 및 상기 방법을이용한 장치 |
| US8848789B2 (en) * | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
| KR100745765B1 (ko) * | 2006-04-13 | 2007-08-02 | 삼성전자주식회사 | 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법 |
| US8880571B2 (en) * | 2006-05-05 | 2014-11-04 | Microsoft Corporation | High dynamic range data format conversions for digital media |
| US8567609B2 (en) | 2006-05-25 | 2013-10-29 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
| KR100809298B1 (ko) * | 2006-06-22 | 2008-03-04 | 삼성전자주식회사 | 플래그 인코딩 방법, 플래그 디코딩 방법, 및 상기 방법을이용한 장치 |
| CN101523923B (zh) | 2006-10-10 | 2013-10-30 | 日本电信电话株式会社 | 影像编码方法和解码方法及其装置 |
| US8054886B2 (en) * | 2007-02-21 | 2011-11-08 | Microsoft Corporation | Signaling and use of chroma sample positioning information |
| US8189676B2 (en) * | 2007-04-05 | 2012-05-29 | Hong Kong University Of Science & Technology | Advance macro-block entropy coding for advanced video standards |
| EP2146794B1 (en) | 2007-04-12 | 2016-10-19 | Biomet Biologics, LLC | Buoy suspension fractionation system |
| US8328024B2 (en) | 2007-04-12 | 2012-12-11 | Hanuman, Llc | Buoy suspension fractionation system |
| US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
| NO326724B1 (no) * | 2007-09-03 | 2009-02-02 | Tandberg Telecom As | Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer |
| NO328295B1 (no) * | 2007-12-20 | 2010-01-25 | Tandberg Telecom As | VLC-fremgangsmate og -innretning |
| EP2620139B1 (en) | 2008-02-27 | 2016-07-20 | Biomet Biologics, LLC | Interleukin-1 receptor antagonist rich solutions |
| US8337711B2 (en) | 2008-02-29 | 2012-12-25 | Biomet Biologics, Llc | System and process for separating a material |
| US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
| US8012077B2 (en) | 2008-05-23 | 2011-09-06 | Biomet Biologics, Llc | Blood separating device |
| US8879637B2 (en) * | 2008-10-06 | 2014-11-04 | Lg Electronics Inc. | Method and an apparatus for processing a video signal by which coding efficiency of a video signal can be raised by using a mixed prediction mode in predicting different macroblock sizes |
| CN101742329B (zh) * | 2008-11-24 | 2013-02-13 | 北京中星微电子有限公司 | 一种图像编码方法及装置 |
| CN101742301B (zh) * | 2008-11-24 | 2017-04-19 | 北京中星微电子有限公司 | 一种块模式编码方法及装置 |
| FR2940736B1 (fr) * | 2008-12-30 | 2011-04-08 | Sagem Comm | Systeme et procede de codage video |
| US8189666B2 (en) | 2009-02-02 | 2012-05-29 | Microsoft Corporation | Local picture identifier and computation of co-located information |
| US8187475B2 (en) | 2009-03-06 | 2012-05-29 | Biomet Biologics, Llc | Method and apparatus for producing autologous thrombin |
| US8313954B2 (en) | 2009-04-03 | 2012-11-20 | Biomet Biologics, Llc | All-in-one means of separating blood components |
| US9113168B2 (en) | 2009-05-12 | 2015-08-18 | Lg Electronics Inc. | Method and apparatus of processing a video signal |
| US9011800B2 (en) | 2009-07-16 | 2015-04-21 | Biomet Biologics, Llc | Method and apparatus for separating biological materials |
| US8591391B2 (en) | 2010-04-12 | 2013-11-26 | Biomet Biologics, Llc | Method and apparatus for separating a material |
| EP2375751A1 (en) | 2010-04-12 | 2011-10-12 | Panasonic Corporation | Complexity reduction of edge-detection based spatial interpolation |
| US8942282B2 (en) * | 2010-04-12 | 2015-01-27 | Qualcomm Incorporated | Variable length coding of coded block pattern (CBP) in video compression |
| CN105915918B (zh) * | 2010-04-13 | 2019-09-06 | Ge视频压缩有限责任公司 | 跨平面预测的方法和装置 |
| WO2011127966A1 (en) | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Inter-plane prediction |
| KR101792967B1 (ko) | 2010-04-13 | 2017-11-02 | 지이 비디오 컴프레션, 엘엘씨 | 샘플 배열 멀티트리 세부분할에서 계승 |
| CN106231325B (zh) | 2010-04-13 | 2020-02-04 | Ge视频压缩有限责任公司 | 解码器、解码方法、编码器以及编码方法 |
| FI3703369T3 (fi) | 2010-04-13 | 2024-10-29 | Ge Video Compression Llc | Näytealueen liitäntä |
| KR101813189B1 (ko) * | 2010-04-16 | 2018-01-31 | 에스케이 텔레콤주식회사 | 영상 부호화/복호화 장치 및 방법 |
| US9319880B2 (en) | 2010-09-15 | 2016-04-19 | Intel Corporation | Reformatting data to decrease bandwidth between a video encoder and a buffer |
| US8344917B2 (en) * | 2010-09-30 | 2013-01-01 | Sharp Laboratories Of America, Inc. | Methods and systems for context initialization in video coding and decoding |
| US9313514B2 (en) | 2010-10-01 | 2016-04-12 | Sharp Kabushiki Kaisha | Methods and systems for entropy coder initialization |
| US9172963B2 (en) | 2010-11-01 | 2015-10-27 | Qualcomm Incorporated | Joint coding of syntax elements for video coding |
| JP5878295B2 (ja) * | 2011-01-13 | 2016-03-08 | ソニー株式会社 | 画像処理装置、画像処理方法およびプログラム |
| CN103782596A (zh) | 2011-06-28 | 2014-05-07 | 三星电子株式会社 | 使用图像的亮度分量的对图像的色度分量的预测方法和设备 |
| KR101889101B1 (ko) * | 2011-09-14 | 2018-08-17 | 세종대학교산학협력단 | 메모리 복사를 이용하여 영상을 복원하는 방법 및 장치 |
| WO2013039363A2 (ko) * | 2011-09-16 | 2013-03-21 | 한국전자통신연구원 | 영상 부호화/복호화 방법 및 그 장치 |
| CN107257456B (zh) | 2011-10-19 | 2020-03-06 | 株式会社Kt | 解码视频信号的方法 |
| US8615138B2 (en) | 2011-11-03 | 2013-12-24 | Google Inc. | Image compression using sub-resolution images |
| CN109905710B (zh) * | 2012-06-12 | 2021-12-21 | 太阳专利托管公司 | 动态图像编码方法及装置、动态图像解码方法及装置 |
| US9642956B2 (en) | 2012-08-27 | 2017-05-09 | Biomet Biologics, Llc | Apparatus and method for separating and concentrating fluids containing multiple components |
| CN103096090B (zh) * | 2013-02-20 | 2015-12-02 | 广州柯维新数码科技有限公司 | 一种用于视频压缩中的编码块划分的方法 |
| US9895418B2 (en) | 2013-03-15 | 2018-02-20 | Biomet Biologics, Llc | Treatment of peripheral vascular disease using protein solutions |
| US10208095B2 (en) | 2013-03-15 | 2019-02-19 | Biomet Manufacturing, Llc | Methods for making cytokine compositions from tissues using non-centrifugal methods |
| US20140271589A1 (en) | 2013-03-15 | 2014-09-18 | Biomet Biologics, Llc | Treatment of collagen defects using protein solutions |
| US10143725B2 (en) | 2013-03-15 | 2018-12-04 | Biomet Biologics, Llc | Treatment of pain using protein solutions |
| US9950035B2 (en) | 2013-03-15 | 2018-04-24 | Biomet Biologics, Llc | Methods and non-immunogenic compositions for treating inflammatory disorders |
| JP2015095733A (ja) * | 2013-11-11 | 2015-05-18 | キヤノン株式会社 | 画像伝送装置、画像伝送方法、及びプログラム |
| US10067951B2 (en) * | 2014-02-19 | 2018-09-04 | Samsung Electronics Co, Ltd | Method for creating binary code and electronic device thereof |
| KR102269590B1 (ko) * | 2014-02-19 | 2021-06-24 | 삼성전자주식회사 | 바이너리 생성 방법 및 그 전자 장치 |
| US9713810B2 (en) | 2015-03-30 | 2017-07-25 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
| US9757721B2 (en) | 2015-05-11 | 2017-09-12 | Biomet Biologics, Llc | Cell washing plunger using centrifugal force |
| US10091506B2 (en) * | 2015-06-11 | 2018-10-02 | Sony Corporation | Data-charge phase data compression architecture |
| US10027968B2 (en) * | 2015-06-12 | 2018-07-17 | Sony Corporation | Data-charge phase data compression tool |
| US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
| WO2017107074A1 (en) * | 2015-12-22 | 2017-06-29 | Realnetworks, Inc. | Residual transformation and inverse transformation in video coding systems and methods |
| CN109788290A (zh) * | 2017-11-13 | 2019-05-21 | 慧荣科技股份有限公司 | 影像处理装置及利用帧内预测的无损影像压缩方法 |
| CN111010572A (zh) * | 2018-12-04 | 2020-04-14 | 北京达佳互联信息技术有限公司 | 一种视频编码方法和装置及设备 |
| CN115176476A (zh) * | 2019-12-11 | 2022-10-11 | 索尼集团公司 | 图像处理装置、比特流生成方法、系数数据生成方法以及量化系数生成方法 |
| CN115280769A (zh) * | 2020-03-12 | 2022-11-01 | 交互数字Vc控股法国公司 | 用于视频编码和解码的方法和设备 |
Family Cites Families (149)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS56128070A (en) * | 1980-03-13 | 1981-10-07 | Fuji Photo Film Co Ltd | Band compressing equipment of variable density picture |
| JPS61205086A (ja) | 1985-03-08 | 1986-09-11 | Mitsubishi Electric Corp | 画像符号化復号化装置 |
| EP0207774B1 (en) * | 1985-07-02 | 1992-03-04 | Matsushita Electric Industrial Co., Ltd. | Block encoder |
| FR2599577B1 (fr) * | 1986-05-29 | 1988-08-05 | Guichard Jacques | Procede de codage par transformation pour la transmission de signaux d'image. |
| US4800432A (en) * | 1986-10-24 | 1989-01-24 | The Grass Valley Group, Inc. | Video Difference key generator |
| DE3704777C1 (de) | 1987-02-16 | 1988-04-07 | Ant Nachrichtentech | Verfahren zum UEbertragen und zum Wiedergeben von Fernsehbildsequenzen |
| NL8700565A (nl) * | 1987-03-10 | 1988-10-03 | Philips Nv | Televisiesysteem waarin aan een transformatiekodering onderworpen gedigitaliseerde beeldsignalen worden overgebracht van een kodeerstation naar een dekodeerstation. |
| DE3855114D1 (de) * | 1987-05-06 | 1996-04-25 | Philips Patentverwaltung | System zur Übertragung von Videobildern |
| FR2648254B2 (fr) * | 1988-09-23 | 1991-08-30 | Thomson Csf | Procede et dispositif d'estimation de mouvement dans une sequence d'images animees |
| US5379351A (en) * | 1992-02-19 | 1995-01-03 | Integrated Information Technology, Inc. | Video compression/decompression processing and processors |
| JPH07109990B2 (ja) * | 1989-04-27 | 1995-11-22 | 日本ビクター株式会社 | 適応型フレーム間予測符号化方法及び復号方法 |
| JP2562499B2 (ja) | 1989-05-29 | 1996-12-11 | 日本電信電話株式会社 | 高能率画像符号化装置およびその復号化装置 |
| JPH0822064B2 (ja) | 1990-02-15 | 1996-03-04 | 三菱電機株式会社 | 変換符号化方式 |
| EP0715469B1 (en) * | 1989-10-14 | 2001-09-12 | Sony Corporation | Video signal coding/decoding method and apparatus |
| JPH082107B2 (ja) | 1990-03-02 | 1996-01-10 | 国際電信電話株式会社 | 動画像のハイブリッド符号化方法及びその装置 |
| JPH03265290A (ja) * | 1990-03-14 | 1991-11-26 | Toshiba Corp | テレビジョン信号走査線変換器 |
| US5091782A (en) * | 1990-04-09 | 1992-02-25 | General Instrument Corporation | Apparatus and method for adaptively compressing successive blocks of digital video |
| US4999705A (en) | 1990-05-03 | 1991-03-12 | At&T Bell Laboratories | Three dimensional motion compensated video coding |
| US5155594A (en) | 1990-05-11 | 1992-10-13 | Picturetel Corporation | Hierarchical encoding method and apparatus employing background references for efficiently communicating image sequences |
| US5068724A (en) * | 1990-06-15 | 1991-11-26 | General Instrument Corporation | Adaptive motion compensation for digital television |
| JP3037383B2 (ja) | 1990-09-03 | 2000-04-24 | キヤノン株式会社 | 画像処理システム及びその方法 |
| US5193004A (en) | 1990-12-03 | 1993-03-09 | The Trustees Of Columbia University In The City Of New York | Systems and methods for coding even fields of interlaced video sequences |
| US5111292A (en) | 1991-02-27 | 1992-05-05 | General Electric Company | Priority selection apparatus as for a video signal processor |
| JPH0630280A (ja) * | 1991-03-19 | 1994-02-04 | Nec Eng Ltd | 2値画像データのブロック別選択型符号化前処理方式 |
| DE4113505A1 (de) * | 1991-04-25 | 1992-10-29 | Thomson Brandt Gmbh | Verfahren zur bildsignalcodierung |
| JPH04334188A (ja) | 1991-05-08 | 1992-11-20 | Nec Corp | 動画像信号の符号化方式 |
| CA2087946A1 (en) | 1991-05-24 | 1992-11-25 | Michael Burl | Video image processing |
| US5317397A (en) | 1991-05-31 | 1994-05-31 | Kabushiki Kaisha Toshiba | Predictive coding using spatial-temporal filtering and plural motion vectors |
| JP2977104B2 (ja) | 1991-07-26 | 1999-11-10 | ソニー株式会社 | 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置 |
| US5539466A (en) * | 1991-07-30 | 1996-07-23 | Sony Corporation | Efficient coding apparatus for picture signal and decoding apparatus therefor |
| JP3001688B2 (ja) | 1991-08-05 | 2000-01-24 | 株式会社大一商会 | パチンコ球の循環制御装置 |
| JP2991833B2 (ja) | 1991-10-11 | 1999-12-20 | 松下電器産業株式会社 | インターレス走査ディジタルビデオ信号の符号化装置及びその方法 |
| JP3134424B2 (ja) | 1991-10-31 | 2001-02-13 | ソニー株式会社 | 可変長符号化方法及び装置 |
| JP2962012B2 (ja) * | 1991-11-08 | 1999-10-12 | 日本ビクター株式会社 | 動画像符号化装置及びその復号装置 |
| US5227878A (en) | 1991-11-15 | 1993-07-13 | At&T Bell Laboratories | Adaptive coding and decoding of frames and fields of video |
| US5510840A (en) * | 1991-12-27 | 1996-04-23 | Sony Corporation | Methods and devices for encoding and decoding frame signals and recording medium therefor |
| US5287420A (en) | 1992-04-08 | 1994-02-15 | Supermac Technology | Method for image compression on a personal computer |
| KR0166716B1 (ko) * | 1992-06-18 | 1999-03-20 | 강진구 | 블럭 dpcm을 이용한 부호화/복호화방법 및 장치 |
| US6226327B1 (en) * | 1992-06-29 | 2001-05-01 | Sony Corporation | Video coding method and apparatus which select between frame-based and field-based predictive modes |
| US5666461A (en) * | 1992-06-29 | 1997-09-09 | Sony Corporation | High efficiency encoding and decoding of picture signals and recording medium containing same |
| US5412435A (en) | 1992-07-03 | 1995-05-02 | Kokusai Denshin Denwa Kabushiki Kaisha | Interlaced video signal motion compensation prediction system |
| JP2510456B2 (ja) | 1992-08-27 | 1996-06-26 | 三菱電機株式会社 | 画像符号化装置 |
| JPH06153180A (ja) | 1992-09-16 | 1994-05-31 | Fujitsu Ltd | 画像データ符号化方法及び装置 |
| JPH06113287A (ja) | 1992-09-30 | 1994-04-22 | Matsushita Electric Ind Co Ltd | 画像符号化装置と画像復号化装置 |
| JPH06225279A (ja) | 1992-10-26 | 1994-08-12 | Sony Corp | 符号化方法、復号化方法、符号化装置及び復号化装置 |
| US5982437A (en) * | 1992-10-26 | 1999-11-09 | Sony Corporation | Coding method and system, and decoding method and system |
| KR0166722B1 (ko) * | 1992-11-30 | 1999-03-20 | 윤종용 | 부호화 및 복호화방법 및 그 장치 |
| US5400075A (en) | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
| US5491516A (en) | 1993-01-14 | 1996-02-13 | Rca Thomson Licensing Corporation | Field elimination apparatus for a video compression/decompression system |
| US5544286A (en) * | 1993-01-29 | 1996-08-06 | Microsoft Corporation | Digital video data compression technique |
| US5592228A (en) | 1993-03-04 | 1997-01-07 | Kabushiki Kaisha Toshiba | Video encoder using global motion estimation and polygonal patch motion estimation |
| US5376968A (en) | 1993-03-11 | 1994-12-27 | General Instrument Corporation | Adaptive compression of digital video data using different modes such as PCM and DPCM |
| JP3312417B2 (ja) * | 1993-03-18 | 2002-08-05 | ソニー株式会社 | 画像信号符号化装置及び画像信号復号化装置 |
| JPH06276481A (ja) | 1993-03-18 | 1994-09-30 | Sony Corp | 画像信号符号化及び復号化方法、並びに記録媒体 |
| EP2334083B1 (en) * | 1993-03-24 | 2013-08-28 | Sony Corporation | Method of coding and decoding motion vector and apparatus thereof, and method of coding and decoding picture signal and apparatus thereof |
| EP0625853B1 (en) | 1993-05-21 | 1999-03-03 | Nippon Telegraph And Telephone Corporation | Moving image encoder and decoder |
| US5448297A (en) | 1993-06-16 | 1995-09-05 | Intel Corporation | Method and system for encoding images using skip blocks |
| US5517327A (en) | 1993-06-30 | 1996-05-14 | Minolta Camera Kabushiki Kaisha | Data processor for image data using orthogonal transformation |
| US5477272A (en) | 1993-07-22 | 1995-12-19 | Gte Laboratories Incorporated | Variable-block size multi-resolution motion estimation scheme for pyramid coding |
| US5453799A (en) | 1993-11-05 | 1995-09-26 | Comsat Corporation | Unified motion estimation architecture |
| JPH07135660A (ja) | 1993-11-12 | 1995-05-23 | Matsushita Electric Ind Co Ltd | 動きベクトル符号化装置 |
| US5465118A (en) | 1993-12-17 | 1995-11-07 | International Business Machines Corporation | Luminance transition coding method for software motion video compression/decompression |
| EP0675652B1 (fr) | 1994-03-30 | 2009-05-13 | Nxp B.V. | Procédé et circuit d'estimation de mouvement entre images à deux trames entrelacées, et dispositif de codage de signaux numériques comprenant un tel circuit |
| US5550541A (en) | 1994-04-01 | 1996-08-27 | Dolby Laboratories Licensing Corporation | Compact source coding tables for encoder/decoder system |
| US5767898A (en) | 1994-06-23 | 1998-06-16 | Sanyo Electric Co., Ltd. | Three-dimensional image coding by merger of left and right images |
| US5594504A (en) | 1994-07-06 | 1997-01-14 | Lucent Technologies Inc. | Predictive video coding using a motion vector updating routine |
| JP3474005B2 (ja) * | 1994-10-13 | 2003-12-08 | 沖電気工業株式会社 | 動画像符号化方法及び動画像復号方法 |
| US5552832A (en) | 1994-10-26 | 1996-09-03 | Intel Corporation | Run-length encoding sequence for video signals |
| JPH08140099A (ja) | 1994-11-11 | 1996-05-31 | Canon Inc | 符号化装置及び方法 |
| KR0164411B1 (ko) * | 1994-12-28 | 1999-01-15 | 윤종용 | 원격안전 관리시스템의 유지보수를 위한 경보처리방법 및 장치 |
| JP2951861B2 (ja) | 1994-12-28 | 1999-09-20 | シャープ株式会社 | 画像符号化装置及び画像復号装置 |
| US5619281A (en) | 1994-12-30 | 1997-04-08 | Daewoo Electronics Co., Ltd | Method and apparatus for detecting motion vectors in a frame decimating video encoder |
| EP0721287A1 (en) | 1995-01-09 | 1996-07-10 | Daewoo Electronics Co., Ltd | Method and apparatus for encoding a video signal |
| JP3732867B2 (ja) | 1995-03-09 | 2006-01-11 | 株式会社ルネサステクノロジ | 画像伸張装置 |
| EP0731614B1 (en) | 1995-03-10 | 2002-02-06 | Kabushiki Kaisha Toshiba | Video coding/decoding apparatus |
| KR0171143B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 육각그리드에서의 삼각구조 형성 장치 |
| KR0171118B1 (ko) | 1995-03-20 | 1999-03-20 | 배순훈 | 비디오신호 부호화 장치 |
| KR0181027B1 (ko) | 1995-03-20 | 1999-05-01 | 배순훈 | 화소 단위 움직임 추정을 이용하는 영상처리 시스템 |
| KR0181063B1 (ko) | 1995-04-29 | 1999-05-01 | 배순훈 | 특징점을 이용한 움직임 보상에서의 그리드 형성방법 및 장치 |
| US5654771A (en) | 1995-05-23 | 1997-08-05 | The University Of Rochester | Video compression system using a dense motion vector field and a triangular patch mesh overlay model |
| JP3903496B2 (ja) * | 1995-06-05 | 2007-04-11 | ソニー株式会社 | 画像符号化方法、符号化装置、復号方法および復号装置 |
| US5835149A (en) * | 1995-06-06 | 1998-11-10 | Intel Corporation | Bit allocation in a coded video sequence |
| US6208761B1 (en) * | 1995-07-11 | 2001-03-27 | Telefonaktiebolaget Lm Ericsson (Publ) | Video coding |
| US5687097A (en) | 1995-07-13 | 1997-11-11 | Zapex Technologies, Inc. | Method and apparatus for efficiently determining a frame motion vector in a video encoder |
| US5668608A (en) | 1995-07-26 | 1997-09-16 | Daewoo Electronics Co., Ltd. | Motion vector estimation method and apparatus for use in an image signal encoding system |
| US5825830A (en) | 1995-08-17 | 1998-10-20 | Kopf; David A. | Method and apparatus for the compression of audio, video or other data |
| US6307967B1 (en) * | 1995-09-29 | 2001-10-23 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus |
| US5883678A (en) * | 1995-09-29 | 1999-03-16 | Kabushiki Kaisha Toshiba | Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio |
| US5825929A (en) | 1995-10-05 | 1998-10-20 | Microsoft Corporation | Transformation block optimization method |
| KR100211917B1 (ko) | 1995-10-26 | 1999-08-02 | 김영환 | 물체 모양정보 부호화 방법 |
| US5692063A (en) | 1996-01-19 | 1997-11-25 | Microsoft Corporation | Method and system for unrestricted motion estimation for video |
| US5831559A (en) | 1996-01-24 | 1998-11-03 | Intel Corporation | Encoding/decoding video signals using multiple run-val mapping tables |
| US5982438A (en) | 1996-03-22 | 1999-11-09 | Microsoft Corporation | Overlapped motion compensation for object coding |
| JP3371191B2 (ja) | 1996-03-22 | 2003-01-27 | ソニー株式会社 | 画像信号の符号化方法及び復号方法、並びに、符号化装置及び復号装置 |
| KR100324609B1 (ko) | 1996-05-28 | 2002-02-27 | 모리시타 요이찌 | 화상예측 복호화장치 및 방법 |
| DE19637522A1 (de) | 1996-09-13 | 1998-03-19 | Bosch Gmbh Robert | Verfahren zur Reduzierung von Daten in Videosignalen |
| EP0831658A3 (en) * | 1996-09-24 | 1999-09-15 | Hyundai Electronics Industries Co., Ltd. | Encoder/decoder for coding/decoding gray scale shape data and method thereof |
| KR100303685B1 (ko) * | 1996-09-30 | 2001-09-24 | 송문섭 | 영상 예측부호화 장치 및 그 방법 |
| US5748789A (en) * | 1996-10-31 | 1998-05-05 | Microsoft Corporation | Transparent block skipping in object-based video coding systems |
| JP4034380B2 (ja) | 1996-10-31 | 2008-01-16 | 株式会社東芝 | 画像符号化/復号化方法及び装置 |
| JPH10145779A (ja) | 1996-11-06 | 1998-05-29 | Sony Corp | フィールド検出装置およびフィールド検出方法、画像符号化装置および画像符号化方法、並びに記録媒体および記録方法 |
| EP0786907A3 (en) | 1997-01-24 | 2001-06-13 | Texas Instruments Incorporated | Video encoder |
| EP0961499B1 (en) * | 1997-02-14 | 2007-10-31 | Nippon Telegraph and Telephone Corporation | Predictive coding method and decoding method for dynamic image |
| US6005980A (en) * | 1997-03-07 | 1999-12-21 | General Instrument Corporation | Motion estimation and compensation of video object planes for interlaced digital video |
| US5991447A (en) | 1997-03-07 | 1999-11-23 | General Instrument Corporation | Prediction and coding of bi-directionally predicted video object planes for interlaced digital video |
| US6404813B1 (en) | 1997-03-27 | 2002-06-11 | At&T Corp. | Bidirectionally predicted pictures or video object planes for efficient and flexible video coding |
| JP4001969B2 (ja) * | 1997-03-31 | 2007-10-31 | ソニー株式会社 | 符号化装置および方法、並びに復号装置および方法 |
| US6064771A (en) * | 1997-06-23 | 2000-05-16 | Real-Time Geometry Corp. | System and method for asynchronous, adaptive moving picture compression, and decompression |
| US6351563B1 (en) | 1997-07-09 | 2002-02-26 | Hyundai Electronics Ind. Co., Ltd. | Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers |
| US6148033A (en) * | 1997-11-20 | 2000-11-14 | Hitachi America, Ltd. | Methods and apparatus for improving picture quality in reduced resolution video decoders |
| EP0921683B1 (en) * | 1997-12-02 | 2010-09-08 | Daewoo Electronics Corporation | Method and apparatus for encoding mode signals for use in a binary shape coder |
| US5973743A (en) * | 1997-12-02 | 1999-10-26 | Daewoo Electronics Co., Ltd. | Mode coding method and apparatus for use in an interlaced shape coder |
| JP3740813B2 (ja) | 1997-12-12 | 2006-02-01 | ソニー株式会社 | 画像符号化方法および画像符号化装置 |
| US5946043A (en) | 1997-12-31 | 1999-08-31 | Microsoft Corporation | Video coding using adaptive coding of block parameters for coded/uncoded blocks |
| KR100281462B1 (ko) * | 1998-03-30 | 2001-02-01 | 전주범 | 격행 부호화에서 이진 형상 신호의 움직임 벡터 부호화 방법 |
| US6408029B1 (en) | 1998-04-02 | 2002-06-18 | Intel Corporation | Method and apparatus for simplifying real-time data encoding |
| JP3888597B2 (ja) * | 1998-06-24 | 2007-03-07 | 日本ビクター株式会社 | 動き補償符号化装置、及び動き補償符号化復号化方法 |
| EP0969656B1 (en) | 1998-06-29 | 2007-01-24 | Xerox Corporation | Compression for image boundaries |
| US6275531B1 (en) * | 1998-07-23 | 2001-08-14 | Optivision, Inc. | Scalable video coding method and apparatus |
| US6573905B1 (en) | 1999-11-09 | 2003-06-03 | Broadcom Corporation | Video and graphics system with parallel processing of graphics windows |
| US6563953B2 (en) * | 1998-11-30 | 2003-05-13 | Microsoft Corporation | Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock |
| WO2000046989A1 (en) | 1999-02-05 | 2000-08-10 | Sony Corporation | Encoding device, encoding method, decoding device, decoding method, coding system and coding method |
| JP3778721B2 (ja) | 1999-03-18 | 2006-05-24 | 富士通株式会社 | 動画像符号化方法および装置 |
| JP2001036908A (ja) | 1999-07-15 | 2001-02-09 | Oki Electric Ind Co Ltd | 動画像圧縮装置 |
| FR2802048B1 (fr) | 1999-12-01 | 2002-01-18 | France Telecom | Procede de diffusion de television numerique, signal numerique et equipement associes |
| KR100739281B1 (ko) | 2000-02-21 | 2007-07-12 | 주식회사 팬택앤큐리텔 | 움직임 추정 방법 및 장치 |
| CN1322759C (zh) * | 2000-04-27 | 2007-06-20 | 三菱电机株式会社 | 编码装置和编码方法 |
| KR100341063B1 (ko) | 2000-06-28 | 2002-06-20 | 송문섭 | 실시간 영상 통신을 위한 율제어 장치 및 그 방법 |
| US6920175B2 (en) * | 2001-01-03 | 2005-07-19 | Nokia Corporation | Video coding architecture and methods for using same |
| US6765963B2 (en) * | 2001-01-03 | 2004-07-20 | Nokia Corporation | Video decoder architecture and method for using same |
| EP1374429A4 (en) * | 2001-03-05 | 2009-11-11 | Intervideo Inc | SYSTEMS AND METHOD FOR CODING AND DECODING REDUNDANT MOTION VECTORS IN COMPRESSED VIDEO BITSTRAMS |
| US6677868B2 (en) | 2001-03-16 | 2004-01-13 | Sharp Laboratories Of America, Inc. | Entropy coding with adaptive syntax to replace high probability symbols with lower probabilities symbols |
| US7336711B2 (en) | 2001-11-16 | 2008-02-26 | Ntt Docomo, Inc. | Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system |
| CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
| WO2003053066A1 (en) | 2001-12-17 | 2003-06-26 | Microsoft Corporation | Skip macroblock coding |
| US6870578B2 (en) | 2001-12-19 | 2005-03-22 | Thomson Licensing Sa. | Apparatus and method for sharing signal control lines |
| EP1347649A1 (en) | 2002-03-18 | 2003-09-24 | Lg Electronics Inc. | B picture mode determining method and apparatus in video coding system |
| US7099387B2 (en) | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
| JP4151374B2 (ja) | 2002-03-29 | 2008-09-17 | セイコーエプソン株式会社 | 動画像符号化装置および動画像符号化方法 |
| AU2003241696A1 (en) | 2002-07-26 | 2004-02-16 | Matsushita Electric Industrial Co., Ltd. | Moving picture encoding method, moving picture decoding method, and recording medium |
| US6795584B2 (en) * | 2002-10-03 | 2004-09-21 | Nokia Corporation | Context-based adaptive variable length coding for adaptive block transforms |
| AU2003290536A1 (en) * | 2002-10-23 | 2004-05-13 | Divxnetworks, Inc. | Method and system for supercompression of compressed digital video |
| US20060257000A1 (en) | 2003-06-25 | 2006-11-16 | Boyce Jill M | Decoding method an apparatus for detection of watermarks in a compressed video bitsream |
| US20050013498A1 (en) * | 2003-07-18 | 2005-01-20 | Microsoft Corporation | Coding of motion vector information |
| US8107531B2 (en) | 2003-09-07 | 2012-01-31 | Microsoft Corporation | Signaling and repeat padding for skip frames |
| US7620106B2 (en) | 2003-09-07 | 2009-11-17 | Microsoft Corporation | Joint coding and decoding of a reference field selection and differential motion vector information |
| US7724827B2 (en) | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
| KR20050061762A (ko) * | 2003-12-18 | 2005-06-23 | 학교법인 대양학원 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
| US7599435B2 (en) | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
-
1998
- 1998-11-30 US US09/201,272 patent/US6563953B2/en not_active Expired - Lifetime
-
1999
- 1999-11-30 ES ES07014891T patent/ES2337611T3/es not_active Expired - Lifetime
- 1999-11-30 EP EP07014945A patent/EP1863295B1/en not_active Expired - Lifetime
- 1999-11-30 AT AT07014891T patent/ATE456254T1/de active
- 1999-11-30 PT PT07014945T patent/PT1863295E/pt unknown
- 1999-11-30 DE DE69937462T patent/DE69937462T2/de not_active Expired - Lifetime
- 1999-11-30 DE DE69941965T patent/DE69941965D1/de not_active Expired - Lifetime
- 1999-11-30 DK DK07014945.5T patent/DK1863295T3/da active
- 1999-11-30 JP JP2000586108A patent/JP3778798B2/ja not_active Expired - Lifetime
- 1999-11-30 PT PT07014891T patent/PT1853069E/pt unknown
- 1999-11-30 AT AT99965061T patent/ATE377327T1/de active
- 1999-11-30 ES ES07014945T patent/ES2337612T3/es not_active Expired - Lifetime
- 1999-11-30 ES ES99965061T patent/ES2296415T3/es not_active Expired - Lifetime
- 1999-11-30 EP EP07014891A patent/EP1853069B1/en not_active Expired - Lifetime
- 1999-11-30 DK DK07014891.1T patent/DK1853069T3/da active
- 1999-11-30 WO PCT/US1999/028276 patent/WO2000033583A1/en not_active Ceased
- 1999-11-30 EP EP99965061A patent/EP1135934B1/en not_active Expired - Lifetime
- 1999-11-30 DE DE69941964T patent/DE69941964D1/de not_active Expired - Lifetime
- 1999-11-30 DK DK99965061T patent/DK1135934T3/da active
- 1999-11-30 PT PT99965061T patent/PT1135934E/pt unknown
- 1999-11-30 AT AT07014945T patent/ATE456255T1/de active
-
2003
- 2003-03-19 US US10/393,458 patent/US6735345B2/en not_active Expired - Lifetime
- 2003-12-11 US US10/733,223 patent/US7054494B2/en not_active Expired - Lifetime
-
2005
- 2005-12-30 US US11/323,034 patent/US7127114B2/en not_active Expired - Lifetime
-
2006
- 2006-01-23 JP JP2006014153A patent/JP4625411B2/ja not_active Expired - Lifetime
- 2006-01-23 JP JP2006014154A patent/JP4673758B2/ja not_active Expired - Lifetime
- 2006-07-27 US US11/495,355 patent/US7289673B2/en not_active Expired - Fee Related
-
2007
- 2007-09-20 US US11/903,222 patent/US8290288B2/en not_active Expired - Fee Related
-
2008
- 2008-12-01 JP JP2008306851A patent/JP4558827B2/ja not_active Expired - Lifetime
-
2012
- 2012-10-15 US US13/652,405 patent/US8582903B2/en not_active Expired - Fee Related
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES2337611T3 (es) | Descodificacion de informacion de tipo de macrobloque e informacion de patron de bloque codificado. | |
| ES2299787T3 (es) | Codificacion de video mejorada usando codificacion adaptativa de parametros de bloque para bloques codificados/sin codificar. | |
| US7408990B2 (en) | Efficient motion vector coding for video compression | |
| JP2004129260A (ja) | 色相の空間予測符号化を利用した映像の符号化及び復号化方法及び装置 | |
| JP2024534051A (ja) | 成分間サンプル適応オフセットにおけるコーディングの強化 | |
| JP5677576B2 (ja) | 動画像復号化方法及び動画像符号化方法 | |
| JP5957513B2 (ja) | 動画像復号化方法 | |
| JP2024533145A (ja) | 成分間サンプル適応オフセットにおけるコーディングの強化 | |
| CN121359457A (zh) | 基于帧内预测的图像编码/解码方法和设备以及用于存储比特流的记录介质 | |
| HK1115256B (en) | Decoding macroblock type and coded block pattern information | |
| HK1115966B (en) | Coded block pattern encoding/decoding with spatial prediction |