ES2343410T3 - Codificacion intertramas con decision rapida de modo. - Google Patents
Codificacion intertramas con decision rapida de modo. Download PDFInfo
- Publication number
- ES2343410T3 ES2343410T3 ES04755613T ES04755613T ES2343410T3 ES 2343410 T3 ES2343410 T3 ES 2343410T3 ES 04755613 T ES04755613 T ES 04755613T ES 04755613 T ES04755613 T ES 04755613T ES 2343410 T3 ES2343410 T3 ES 2343410T3
- Authority
- ES
- Spain
- Prior art keywords
- mode
- modes
- macroblock
- true
- checking
- 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 32
- 238000012795 verification Methods 0.000 claims abstract 2
- 238000005192 partition Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 5
- 238000011002 quantification Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 abstract description 2
- 238000013139 quantization Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 45
- 239000013598 vector Substances 0.000 description 24
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 12
- 230000004044 response Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004883 computer application Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000007704 transition Effects 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/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
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/11—Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- 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/136—Incoming video signal characteristics or properties
- H04N19/14—Coding unit complexity, e.g. amount of activity or edge presence estimation
-
- 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- 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/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/19—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 using optimisation based on Lagrange multipliers
-
- 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/192—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 the adaptation method, adaptation tool or adaptation type being iterative or recursive
- H04N19/194—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 the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Método para seleccionar el modo de un macrobloque actual de una trama inter-codificada según una codificación de vídeo H.264/MPEG AVC, en el que los modos de macrobloque son los siguientes: Trama - P: MODO ε {INTRA4X4, INTRA16X16, SALTO, 16X16, 16, 8, 8X16, 8X8, 8X4, 4X8, 4X4} Trama - B: MODO ε {INTRA4X4, INTRA16X16, BI-DIRECTO, DIRECTO, FWD16X16, FWD16X8, FWD8X16, FWD8X8, FWD8X4, FWD4X8, FWD4X4, BAK16X16, BAK16X8, BAK8X16, BAK8X8, BAK8X4, BAK4X8, BAK4X4} y el modo INTRA4x4 contiene los modos: MODO ε {vertical, horizontal, DC, diagonal-abajo-izquierda, diagonal-abajo-derecha, vertical-izquierda, horizontal-abajo, vertical-derecha, horizontal-arriba} e INTRA16x16 contiene los modos: MODO ε {vertical, horizontal, DC, plano} comprendiendo dicho método: - comprobación (420, 422), con un parámetro de cuantificación dado QP, para los modos SALTO y 16x16, si un valor J de dicho modo SALTO es menor que el valor J de dicho modo 16x16 y si dicho modo 16x16 carece de resto de predicción, donde J es un valor de suma correspondiente a la suma de las diferencias de cuadrados entre la señal original y la señal reconstruida, y del producto del multiplicador de Lagrange λMODO, por el número R de bits requeridos asociados al modo actual, comprendiendo los bits del encabezado del macrobloque, los coeficientes de movimiento y todos los coeficientes DCT; - de no ser cierta la premisa anterior, continuar la comprobación (426) del modo 8x8, y de ser cierta, se comprueba (424) si dicho modo SALTO tiene la misma información de movimiento que dicho modo 16x16, si no fuese cierto, se continúa con dicha comprobación (426) del modo 8x8, si fuese cierto, se continúa con la comprobación (438) de los modos intra; - comprobación (426) de dicho modo 8x8 y determinación (428) de si dicho modo 8x8 tiene la misma información de movimiento que dicho modo 16x16; - si fuese cierto, se continúa con la comprobación (432) del modo 4x4, y si no lo fuese, se comprueba (430) el modo 16x8 y el modo 8x16, y si dichos modos tuviesen la misma información de movimiento que dicho modo 16x16, se continúa comprobando (432) el modo 4x4; - comprobación (432) de dicho modo 4x4 y determinación (434) de si dicho modo 4x4 tiene la misma información de movimiento que dicho modo 8x8; - si fuese cierto, se continúa con la comprobación (438) de los modos intra, y si no lo fuese, se comprueban (436) los modos 8x4 y 4x8, y si estos modos tuviesen la misma información de movimiento que dicho modo 8x8, se continúa con la comprobación (438) de los modos intra, - en el que para cada modo de macrobloque específico se dispone de un umbral ajustable de coste de codificación y se selecciona el modo actualmente comprobado (440) para dicho macrobloque actual si se alcanza el correspondiente umbral del coste de codificación de dicho modo, deteniéndose la comprobación de los modos no comprobados restantes.
Description
Codificación intertramas con decisión rápida de
modo.
La presente invención se refiere a codificadores
y descodificadores de vídeo, y más concretamente, a codificadores
para toma de decisiones de modo de intertrama.
En la norma de compresión de vídeo JVT, se puede
utilizar inter- e intra-codificación para intertramas.
El codificador necesita adoptar una decisión relativa al modo para
cada macrobloque, en función de diversas consideraciones relativas
a la eficiencia de codificación y a la calidad subjetiva. Una
decisión de modo inter se asocia con la estimación de
movimiento, diferentes tamaños de bloque y selección de múltiples
imágenes de referencia. Una decisión de modo intra se asocia
a diferentes tipos de bloque y múltiples selecciones de predicción
espacial. De esta manera, las decisiones de modo para intertramas
plantean una pesada carga para el codificador. Por ello, lo que se
precisa es un nuevo método que reduzca la complejidad a la hora de
adoptar decisiones relativas a la codificación, manteniendo al mismo
tiempo la eficiencia de dicha codificación.
En "Fast Intra-prediction modo
selection for 4x4 blocks in H.264", 2003 IEEE Internacional
Conferencie on Acoustics, Speech and Signal Processing Proceedings
(ICASSP), Nueva York, NY, Vol. 3, 6 de abril de 2003, pp.
III389-III391, revela una selección de modo de
predicción intra para macrobloques en la codificación de
vídeo.
El documento
US-A-2003/0099292 describe una
codificación de trama de campo H.264 adaptable.
Este y otos inconvenientes y desventajas de la
técnica anterior son abordados por un dispositivo y un método para
la codificación de intertramas basada en tomas de decisión de modo
rápidas.
Se proporciona un codificador de vídeo y los
métodos correspondientes para seleccionar el modo de un macrobloque
actual de una trama inter-codificada, comprendiendo uno o más
primeros modos de comprobación para un subconjunto de modos de
macrobloque, comprobando selectivamente otros modos en respuesta a
la información sobre el vector de movimiento de los primeros
bloques verificados, y la selección del modo correspondiente al
macrobloque actual en respuesta a los modos comprobados;
comprobación del modo de macrobloque de al menos un macrobloque
próximo, y selección del modo del macrobloque actual en respuesta al
modo del macrobloque de al menos un macrobloque próximo comprobado;
comprobación del coste de un subconjunto de modos de macrobloque,
comprobando adicionalmente tan sólo los modos con codificación
intra si el coste comprobado satisface un criterio
preestablecido, y selección del modo correspondiente al macrobloque
actual en respuesta a los modos comprobados, y selección del modo
del actual macrobloque en respuesta a los modos de macrobloque
comprobados si se cumple el umbral de detención temprana
ajustado.
Estos y otros aspectos, características y
ventajas de la presente invención serán evidentes mediante la
siguiente descripción de los ejemplos de realización, que deberán
verse en relación con las figuras adjuntas. La invención se recoge
en las reivindicaciones adjuntas.
La presente invención se comprenderá mejor
haciendo referencia a las siguientes figuras de ejemplo, en las
cuales:
La figura 1 muestra un organigrama de un
codificador de vídeo para decisión de modo de codificación rápida,
de acuerdo con una realización de la presente invención;
La figura 2 muestra un diagrama de bloques de un
codificador de vídeo.
La figura 3 muestra un organigrama de un ejemplo
de proceso de decisión de codificación de vector de movimiento de
acuerdo con una realización de la presente invención; y
La figura 4 muestra un organigrama de un ejemplo
de proceso mixto de decisión de codificación intra e
inter, de acuerdo con una realización de la presente
invención.
Los métodos de codificación inter e
intra se utilizan para codificación intertramas de acuerdo
con las normas de compresión de vídeo. Por lo general, un
codificador toma una decisión de codificación inter o
intra para cada macrobloque, en función de la eficiencia de
codificación y de consideraciones subjetivas de calidad. En la
norma de compresión de vídeo JVT, la codificación inter
permite diversas particiones de bloque en un macrobloque de 16x16
(concretamente, 16x16, 16x8, 8x16, 8x8 en el caso de un macrobloque,
y 8x8,8x4, 4x8,4x4 en el caso de un submacrobloque de 8x8), así
como múltiples imágenes de referencia. Además, JVT también soporta
los modos SALTO (SKIP) e intra. Los modos intra
incluyen dos tipos: INTRA4x4 e INTRA16x16, en los que INTRA4x4
soporta 9 modos e INTRA16x16 soporta 4 modos. Todas estas opciones
implican decisiones de modo muy complicadas. Las realizaciones de la
presente invención simplifican las decisiones de modo reduciendo el
número de posibles modos candidatos a examinar.
Las codificaciones inter e intra
se utilizan para las intertramas (tramas P y B) en JVT (que también
se conocen como H. 264 y MPEG AVC). Cada macrobloque individual se
codifica como intra, utilizando solamente la correlación
espacial, o se codifica como inter, utilizando la correlación
temporal a partir de tramas anteriormente codificados. Por lo
general, un codificador toma una decisión de codificación
inter/intra para cada macrobloque, en función de la
eficiencia de codificación y de consideraciones de calidad
subjetivas. La intercodificación suele utilizarse para macrobloques
que se han predicho bien a partir de las imágenes anteriores, y la
intracodificación suele utilizarse para los macrobloques que no
están bien predichos a partir de las imágenes anteriores, o para
macrobloques con baja actividad espacial.
La norma JVT utiliza particiones de macrobloque
jerárquicas con estructura arbórea. Los macrobloques
intercodificados de 16x16 píxeles pueden descomponerse en
particiones de macrobloque con unos tamaños de 16x8, 8x16, u 8x8
píxeles. Las particiones de macrobloques de 8x8 píxeles también se
conocen como sub-macrobloques. Los submacrobloques
pueden seguir descomponiéndose en particiones de submacrobloques con
unos tamaños de 8x4,4x8, y 4x4 píxeles. Un codificador puede
seleccionar cómo dividir el macrobloque en particiones y en
particiones de submacrobloques, en función de las características
de un macrobloque específico, a fin de maximizar la eficiencia de
compresión y la calidad subjetiva.
Pueden utilizarse múltiples imágenes de
referencia para la interpredicción, tal como un índice de imágenes
de referencia codificado para indicar cuál de las múltiples imágenes
de referencia se ha utilizado. En las imágenes P (o segmentos P)
tan sólo se utiliza la predicción monodireccional, y las imágenes de
referencia válidas se gestionan en la lista 0. En las imágenes B (o
segmentos B) se gestionan dos listas de imágenes de referencia, la
lista 0 y la lista 1, pudiendo efectuarse una doble predicción
utilizando la lista 0 y la lista 1. Cuando se utiliza la doble
predicción, los predictores de la lista 0 y la lista 1 se promedian
para constituir un predictor final.
Cada partición de macrobloque puede tener un
índice de imágenes de referencia independiente, un tipo de
predicción (lista 0, lista 1, predicción doble) y un vector de
movimiento independiente. Cada partición del submacrobloque puede
tener vectores de movimiento independientes, pero todas las
particiones del submacrobloque correspondientes al mismo
submacrobloque utilizan el mismo índice de imágenes de referencia y
tipo de predicción.
En el caso de macrobloques con codificación
inter, las tramas P también soportan el modo SALTO (SKIP),
mientras que las tramas B soportan tanto los modos SALTO (SKIP) y
DIRECTO (DIRECT). En el modo SALTO (SKIP), no se codifica ningún
movimiento ni información residual. La información de movimiento
correspondiente a un macrobloque SALTO (SKIP) es la misma que un
predictor de vector de movimiento especificado por el tipo de
imagen/ segmento (P o B) y otras informaciones, como los parámetros
relativos al nivel de secuencia y segmento. La información de
movimiento está también relacionada con otros macrobloques
contiguos, temporal o espacialmente, y su propia posición de
macrobloque dentro del segmento. En el modo DIRECTO (DIRECT), por
otra parte, no se codifica información de movimiento, sino el
residuo de la predicción. Tanto los macrobloques como los
submacrobloques soportan el modo DIRECTO (DIRECT).
En el caso de macrobloques con codificación
intra, se soportan dos tipos de bloque: 4x4 y 16x16. INTRA4x4
soporta 9 modos de predicción: predicción vertical, horizontal, DC,
diagonal descendente izquierda, diagonal descendente derecha,
vertical izquierda, horizontal descendente, vertical derecha y
horizontal ascendente. INTRA16x16 soporta 4 modos de predicción:
predicción vertical, horizontal, DC y plano.
En cuanto a las decisiones de modo, las imágenes
inter han de soportar los modos inter e intra.
Los modos intra incluyen INTRA4x4 e INTRA16x16. En el caso
de imágenes P, los modos inter incluyen SALTO (SKIP) y 16x16,
16x8, 8x16 y particiones de sub-macrobloque de 8x8.
8x8 soporta adicionalmente particiones 8x8, 8x4, 4x8 y 4x4. En lo
que respecta a imágenes B, se tienen en cuanta la lista 0 y la lista
1, así como el modo DIRECTO (DIRECT) para los macrobloques y los
submacrobloques.
En el software de referencia JVT, se utiliza una
trama de Optimización de la Distorsión de Velocidad de Trama (RDO)
para las decisiones de modo. En el caso de los modos inter,
la estimación de movimiento se tiene en cuenta aisladamente de las
decisiones de modo. La estimación de movimiento se efectúa en primer
lugar para todos los tipos de bloque de los modos inter, y a
continuación la decisión de modo se efectúa comparando el coste de
cada modo inter y de cada modo intra. El mejor modo
será el modo que presente el coste mínimo.
El procedimiento de codificación para codificar
un macrobloque s en una imagen P- o B- se resume como sigue:
teniendo en cuenta las últimas imágenes descodificadas, el
multiplicador de Lagrange \lambda_{MODO}, \lambda_{MOVIMIENTO},
y el cuantificador de macrobloques QP;
\newpage
Etapa 1: Efectuar la estimación de movimiento y
la selección de la imagen de referencia minimizando:
(ec:1)J(REF,m(REF)
\
\lambda_{MOVIMIENTO})=SA(T)D(s,c(REF,m(REF)))+\lambda_{MOVIMIENTO}(R(m(REF)
-
p(REF))+(R(REF)
para cada imagen de referencia y
vector de movimiento de un posible modo de macrobloque. En la
ecuación, s es la señal de vídeo original y c es la señal de vídeo
codificada, m es el vector de movimiento que está considerándose
actualmente, REF denota la imagen de referencia, p es el vector de
movimiento utilizado para la predicción durante la codificación del
vector de movimiento, R(m-p) representa los
bits utilizados para codificar el vector de movimiento y
R(REF) son los bits de codificación de la imagen de
referencia. SA(T)D es la suma de las diferencias
absolutas (transformada) entre la señal original y la señal de
referencia predicha por el vector de
movimiento.
Etapa 2: Seleccionar el modo de predicción del
macrobloque minimizando:
(ecuación: 2)J
\ (s, \ c, \ MODO \ | \ QP, \ \lambda_{MODO}) = SSD \ (s, \ c, \
MODO \ | \ QP) + \lambda_{MODO} \cdot \ R \ (s, \ c, \ MODO \
| \
QP)
Dados QP y \lambda_{MODO} cuando se cambia
MODO. SSD denota Suma de las Diferencias de los Cuadrados entre la
señal original y la señal reconstruida. R (s, c, MODO) es el número
de bits asociado a la selección de MODO, comprendiendo los bits del
encabezado del macrobloque, el coeficiente de movimiento y todos los
coeficientes DCT. MODO indica un modo perteneciente al conjunto de
posibles modos de macrobloque:
Trama - P: MODO \epsilon {INTRA4X4,
INTRA16X16, SALTO, 16X16, 16, 8, 8X16, 8X8, 8X4, 4X8, 4X4}
Trama - B: MODO \epsilon {INTRA4X4,
INTRA16X16, BI-DIRECTO, DIRECTO, FWD16X16,
FWD16X8,
FWD8X16, FWD8X8, FWD8X4, FWD4X8, FWD4X4, BAK16X16, BAK16X8, BAK8X16, BAK8X8, BAK8X4, BAK4X8, BAK4X4}
FWD8X16, FWD8X8, FWD8X4, FWD4X8, FWD4X4, BAK16X16, BAK16X8, BAK8X16, BAK8X8, BAK8X4, BAK4X8, BAK4X4}
El INTRA4x4 contiene los modos:
MODO \epsilon {vertical, horizontal, DC,
diagonal-abajo-izquierda,
diagonal-abajo-derecha,
vertical-izquierda,
horizontal-abajo, vertical-derecha,
horizontal-arriba}
y el INTRA16x16 contiene los modos: MODO
\epsilon {vertical, horizontal, DC, plano}
Esta descripción ilustra los principios de la
invención.
Todos los ejemplos y lenguaje condicional
descritos en el presente documento tienen una finalidad pedagógica,
a fin de ayudar a que el lector comprenda los principios de la
invención y los conceptos aportados por el inventor a la expansión
de la técnica, y deben interpretarse de forma que no limiten dichos
ejemplos y condiciones específicamente indicados.
Además, todas las manifestaciones del presente
documento que incluyan principios, aspectos y realizaciones de la
invención, así como ejemplos específicos de las mismas, tratan de
incluir sus equivalentes funcionales y estructurales.
Adicionalmente, se pretende que dichos equivalentes incluyan los
equivalentes actualmente conocidos, así como los equivalentes que
se desarrollen en el futuro, es decir, cualesquiera elementos
desarrollados que realicen la misma función, independientemente de
su estructura.
De este modo, por ejemplo, las personas versadas
en la materia apreciaran que los organigramas que se presentan en
este documento representan ilustraciones conceptuales de circuitos
ilustrativos que incorporan los principios de la invención.
Igualmente, se observará que cualesquiera organigramas, esquemas,
diagramas de transición de estados, pseudo-códigos
y similares representan diversos procesos que pueden representarse
sustancialmente en medios legibles a través de ordenador, siendo
ejecutados por un ordenador o procesador, independientemente de que
se muestre explícitamente o no dicho ordenador o procesador.
Las funciones de los diversos elementos
mostrados en las figuras pueden proporcionarse mediante utilización
un hardware especializado, así como un hardware capaz de ejecutar el
software en asociación con el software apropiado. Cuando son
proporcionadas por un procesador, las funciones pueden ser
realizadas por un único procesador dedicado, por un único
procesador compartido o por una pluralidad de procesadores
individuales, algunos de los cuales pueden ser compartidos. Además,
la utilización explícita del término "procesador" o
"controlador" no debe interpretarse de forma que se refiera
exclusivamente a un hardware capaz de ejecutar software, y puede
incluir implícitamente, sin limitación, un hardware procesador de
señales digitales ("DSP"), una memoria de sólo lectura
("ROM") para el alma-
cenamiento del software, una memoria de acceso aleatorio ("RAM") y unos medios de almacenamiento no volátiles.
cenamiento del software, una memoria de acceso aleatorio ("RAM") y unos medios de almacenamiento no volátiles.
Pueden incluirse otros tipos de hardware,
convencional y/o personalizado. Igualmente, los conmutadores que se
muestran en las figuras son únicamente conceptuales. Su función
puede ser efectuada a través de la operación de la lógica de
programa, de una lógica dedicada, de la interacción del control del
programa y de la lógica dedicada, o incluso manualmente, pudiendo
seleccionar la técnica específica la persona que la ejecuta, como se
comprenderá más específicamente a partir del contexto.
En las reivindicaciones del presente documento,
cualquier elemento que se exprese como un medio de realización de
una función específica trata de incluir cualquier medio para la
realización de dicha función, comprendiendo, por ejemplo, a) una
combinación de elementos del circuito que ejecuta una función, o b)
cualquier tipo de software, comprendiendo firmware,
micro-código o similares, combinado con los
circuitos adecuados para la ejecución del software que realiza la
función. La invención, según se define en dichas reivindicaciones,
reside en el hecho de que las funciones aportadas por los diversos
medios indicados se combinan y aúnan en la forma que requieren las
reivindicaciones. De este modo, el solicitante considera cualquier
medio que pueda aportar dichas funcionalidades y sea equivalente a
los mostrados en este documento.
Como se muestra en la figura 1, un codificador
de vídeo suele estar indicado mediante la referencia 100. Una
entrada del codificador 100 se conecta en comunicación de señal con
una entrada no inversora una unión de adición 110. La salida de la
unión de adición 110 se conecta en comunicación de señal con una
función de transformada de bloque 120. La transformada 120 se
conecta en comunicación de señal con un cuantificador 130. La salida
del cuantificador 130 se conecta en comunicación de señal con un
codificador de longitud variable ("VLC") 140, en el que la
salida del VLC 1409 es una salida del codificador 100 disponible
externamente.
La salida del cuantificador 130 se conecta en
comunicación de señal con un cuantificador inverso 150. El
cuantificador inverso 150 se conecta en comunicación de señal con
un transformador de bloques inversos 160, el cual, a su vez, se
conecta en comunicación de señal con un dispositivo de
almacenamiento de imágenes de referencia 170. Una primera salida
del dispositivo de almacenamiento de imágenes de referencia 170 está
conectada en comunicación de señal con una primera entrada de un
estimador de movimiento 180. La entrada del codificador 100 está
también conectada en comunicación de señal con una segunda entrada
del estimador de movimiento 180. La salida del estimador de
movimiento 180 está conectada en comunicación de señal con una
primera entrada de un compensador de movimiento 190. Una segunda
salida del dispositivo de almacenamiento de imágenes de referencia
170 está conectada en comunicación de señal con una segunda entrada
del compensador de movimiento 190. La salida del compensador de
movimiento 190 está conectada en comunicación de señal con una
entrada de inversión de la unión de adición 110.
Volviendo a la figura 2, un decodificador de
vídeo se indica en general mediante la referencia numérica 200. El
decodificador de vídeo 200 incluye un decodificador de longitud
variable ("VLD") 210 conectado en comunicación de señal con un
cuantificador inverso 220. El cuantificador inverso se conecta con
una transformada inversa 230. La transformada inversa se conecta en
comunicación de señal con un primer terminal de entrada de un
sumador o unión de adición 240, en el que la salida de la unión de
adición 240 proporciona la salida del decodificador de vídeo 200.
La salida de la unión de adición 240 se conecta en comunicación de
señal con un dispositivo de almacenamiento de imágenes de
referencia 250. El dispositivo de almacenamiento de imágenes de
referencia 250 está conectado en comunicación de señal con un
compensador de movimiento 260, que está conectado en comunicación de
señal con un segundo terminal de entrada de la unión de adición
240.
Como se muestra en la figura 3, un ejemplo de
proceso de decisión de codificación de vector de movimiento para un
macrobloque de la imagen P suele indicarse en general mediante la
referencia 400. Puede aplicarse un proceso similar a las imágenes
B. El proceso incluye un bloque de inicio 410 que transfiere el
control a un bloque de función 420. El bloque de función 420
comprueba la existencia de los modos SALTO (SKIP) y 16x16, y
transfiere el control a un bloque de decisión 422. El bloque de
decisión 422 determina si se dan las condiciones de que una función
J como la de la (ecuación 2) del modo SALTO (SKIP) es menor que una
función J del modo 16x16 y que el modo 16x16 no tiene residuos, y
de lo contrario, transfiere el control al bloque de función 426. En
este caso, el bloque 424 transfiere el control a un bloque de
función 438, por lo que se salta la comprobación de otros modos
inter.
El bloque de función 426 realiza una
comprobación del modo 8x8 y transfiere el control a un bloque de
decisión 428, que comprueba si un modo 8x8 tiene la misma
información de movimiento que el modo 16x16, y en ese caso,
transfiere el control a un bloque de función 432. De lo contrario,
el bloque 428 transfiere el control a un bloque de función 430, que
comprueba los modos 18x8 y 8x16, y transfiere el control al bloque
de función 432. A su vez, el bloque de control 432 comprueba un
modo 4x4, y transfiere el control a un bloque de decisión 434. El
bloque de decisión 434 determina si el modo 4x4 tiene la misma
información de movimiento que un modo 8x8, y en ese caso,
transfiere el control a un bloque de función 438. De lo contrario,
el bloque de función 434 transfiere el control a un bloque de
función 436, que comprueba los modos 8x4 y 4x8, y transfiere el
control al bloque de función 438. El bloque de función 438
comprueba los modos intra y transfiere el control a un
bloque de función 440, que selecciona el modo más adecuado. El
bloque de función 440 transfiere el control a un bloque final
450.
Volviendo a la figura 4, un ejemplo de proceso
de una combinación de decisiones de codificación inter e
intra de un macrobloque se indica en general mediante el
número de referencia 500. El proceso incluye un bloque de inicio
510 que transfiere el control a un bloque de función 520. El bloque
de función 520 comprueba la existencia de los modos SALTO (SKIP) y
16x16, y transfiere el control a un bloque de decisión 560. El
bloque de decisión comprueba si MC2, que es el valor mínimo entre
la función J evaluada para el modo SALTO (SKIP) y la función J
evaluada para el modo 16x16 supera un umbral T1. En este caso, el
control se transfiere a un bloque de función 570, pero de lo
contrario, el control se transferirá a un bloque de decisión
562.
El bloque 562 comprueba si el valor M2 del
bloque 560 supera el umbral T2 para realizar la comparación. De lo
contrario, el bloque 562 transfiere el control a un bloque de
función 568, pero en ese caso, transfiere el control a un bloque de
función 564. El bloque de función 564 comprueba el modo intra
4x4 DC, y transfiere el control a un bloque de decisión 566. El
bloque de decisión 566 determina si la función J evaluada para el
modo intra 4x4 DC es inferior a un valor a multiplicado por
el valor MC2 más un valor b, y de lo contrario, transfiere el
control al bloque de función 568, pero en caso afirmativo transfiere
el control al bloque de función 570. El bloque de función 568
comprueba otros modos inter y transfiere el control al bloque
de función 570. El bloque de función 570, a su vez, comprueba otros
modos intra y transfiere el control a un bloque de función
572, que selecciona el modo más adecuado y transfiere el control a
un bloque final 580.
De este modo, en las realizaciones preferidas de
la presente invención, se facilita un nuevo algoritmo para reducir
la complejidad de las decisiones de modo correspondientes a las
intertramas, reduciendo el número de posibles modos. Los modos se
dividen en dos categorías: modos inter y modos intra,
donde los modos inter incluyen los modos SALTO (SKIP) y
DIRECTO (DIRECT) para las imágenes B) y diferentes tipos de bloques
(concretamente, 16x16, 16x8, 8x16, 8x8,8x4, 4x8, 4x4), y los modos
intra incluyen INTRA4x4 e INTRA16x16. Las imágenes P se
utilizan para la descripción. La misma idea se puede aplicar a las
imágenes B. En el caso de las imágenes B, en este algoritmo de un
ejemplo de realización, el modo SALTO (SKIP) y el modo DIRECTO
(DIRECT) se procesan de la misma forma, y en las particiones de
submacrobloques, el modo DIRECTO (DIRECT) también se tiene en cuenta
para seleccionar el modo más adecuado para el
sub-macrobloque.
Las realizaciones incluyen cuatro categorías
técnicas, que pueden aplicarse conjunta o independientemente.
Una categoría se refiere a las decisiones
relativas a los vectores de movimiento. En esta categoría,
comprobaremos e primer lugar los modos cuadráticos: SALTO (SKIP),
16x16, 8x8,4x4. Es decir, los "modos cuadráticos" constituyen
un subconjunto específico de los modos a comprobar, que son estos 4
modos: SALTO (SKIP), 16x16, 8x8, y 4x4. La necesidad de comprobar
otros modos no cuadráticos se basa en la información relativa al
vector de movimiento (comprendiendo el propio movimiento, el
predictor del vector de movimiento y la referencia) de los modos
cuadráticos. La decisión de esta categoría se basa en la asunción
de que resulta más eficaz seleccionar el mayor tamaño de bloque que
contenga un objeto que un tamaño menor de bloque que divida un
objeto. En primer lugar comprobaremos los modos SALTO (SKIP) y
16x16 modo, y si J(SALTO (SKIP)) < J(16x16) (por
simplicidad, escribiremos J(MODO) para indicar la función J,
como ya se hizo en la ecuación 2 evaluada para MODO) y 16x16 carece
de resto, comprobaremos si SALTO (SKIP) tiene la misma información
del vector de movimiento que 16x16. En este caso, se selecciona
SALTO (SKIP), y no es necesario comprobar otros modos inter.
De lo contrario, comprobaremos 16x16 y 8x8. Si tienen la misma
información de vector de movimiento, es decir, si 4 vectores de
movimiento 8x8 tienen la misma información que uno de 16x16, no
comprobaremos 16x8, 8x16, y de lo contrario, realizaremos en primer
lugar la selección del vector de movimiento y de la referencia,
como se ha descrito anteriormente en (ecuación 1) para 16x8 y 8x16
respectivamente. Si el 16x8 tiene la misma información de movimiento
que 16x16, no será necesario efectuar el cálculo RDO, ya que se cree
que J(16x8) es mayor que J(16x16).
También podemos considerar, aunque no sea
necesario, los predictores de los vectores de movimiento subyacentes
a dicha decisión, ya que en caso de ser iguales será cierto que J
(16x16) sería inferior. El mismo procedimiento se puede llevar a
cabo para 8x16. A continuación comprobamos 4x4. Para cada
subpartición en un bloque 8x8, si cada uno de los cuatro vectores
de movimiento del bloque 4x4 tiene los mismos valores que el bloque
8x8, no será necesario comprobar 4x8 y 8x4. De lo contrario, en
primer lugar llevaremos a cabo una selección del vector de
movimiento y la referencia para 4x8 y 8x4 respectivamente. Si ambos
bloques 8x4 tienen los mismos valores de movimiento que el bloque
8x8, no se requerirá el cálculo de RDO, ya que se cree que
J(8x4) es mayor que J(8x8). Puede realizarse el mismo
procedimiento para 4x8. La figura 3 muestra un ejemplo de la
decisión sobre el vector de movimiento. Este proceso también podría
realizarse inmediatamente después de la estimación de movimiento
íntegra. Si los vectores de movimiento íntegros de los modos
anteriormente mencionados fuesen los mismos, podríamos evitar por
completo la realización del refinado de sub-píxeles,
reduciendo de este modo aún más la complejidad.
Otra categoría corresponde a las decisiones
adyacentes. H.264 utiliza una estructura de codificación de bloques
y con frecuencia, el objeto tiende a atravesar el límite de los
bloques. En esta categoría, utilizaremos la información adyacente
para tomar las decisiones con mayor rapidez.
Si el modo del macrobloque superior es 16x16, y
del macrobloque restante es 16x8, el modo del macrobloque actual
contará entonces con una elevada probabilidad de ser 16x8. Esto
podrá mejorarse aún más en caso necesario, si se tienen en
consideración los modos de los otros macrobloques adyacentes, como
el situado en la parte superior derecha o incluso el macrobloque
que comparte ubicación en la imagen anterior o de referencia. En
este caso sólo han de comprobarse los modos SALTO (SKIP), 16x16 y
16x8, aunque otros modos inter pueden ignorarse por
completo. Puede llevarse a cabo una consideración similar para el
caso del 8x16, especialmente si el modo del macrobloque izquierdo
es 16x16 y el del macrobloque superior es 8x16, debiendo entonces
comprobarse solamente SALTO (SKIP), 16x16 y 8x16. Puede utilizarse
el mismo criterio para la decisión relativa al modo del macrobloque.
Es decir, si el modo del bloque superior 8x8 es 8x8, y el del
izquierdo es 8x4, sólo deberá comprobarse 8x4; si el modo del
superior 8x8 es 4x8 y el del izquierdo es 8x8, sólo deberá
comprobarse 4x8. Si el modo el macrobloque superior y del
macrobloque izquierdo es intra, entonces sólo deberán
comprobarse los modos SALTO (SKIP), 16x16 e intra.
\newpage
También podría aplicarse una decisión
relativamente similar utilizando unos macrobloques temporalmente
adyacentes (es decir, el macrobloque que se encuentra en la misma
posición). Concretamente, después de examinar un modo específico
(por ejemplo, 16x16), si el mejor modo y la información de
movimiento asociada son idénticos a la de este macrobloque
temporalmente adyacente, podemos finalizar inmediatamente el modo de
decisiones y evitar el examen de cualquier otro modo. Este proceso
podría mejorarse mediante la consideración de la distorsión
asociada (por ejemplo, si la distorsión del actual macrobloque es
inferior a la del situado en la misma posición, o de una
combinación lineal/no lineal de otras distorsiones de macrobloques
temporal y/o incluso espacialmente adyacentes, existe una
probabilidad incluso mayor de que la finalización sea correcta).
Otra categoría adicional se refiere a las
decisiones de modo intra e inter. En esta categoría,
introduciremos una técnica para combinar el orden de comprobación
de los modos inter e intra. Se fijan dos umbrales (T1
y T2, donde T1>T2). En primer lugar comprobamos SALTO (SKIP) y
16x16. Si el coste mínimo de estos dos, indicado como MC2, es mayor
que el de T1, continuaremos comprobando los modos intra, sin
que se comprueben otros modos inter. Si MC2 es mayor que T2,
comprobaremos en primer lugar el modo INTRA4x4 DC. Si el coste es
inferior a axMC2+b, donde pueden asignarse a a y a b unos
parámetros de ponderación/compensación, tan sólo se comprueban los
modos intra; de lo contrario, se verificarán los modos
inter e intra. La figura 4 muestra un ejemplo de
decisión de modo mixto inter-intra.
Una categoría adicional corresponde a una
decisión detenida en una fase temprana. En lugar de verificar
exhaustivamente todos los modos posibles, en nuestras realizaciones
preferidas de la presente invención utilizamos criterios de
detención en fase temprana para llegar a un modo de decisión rápido.
Estos criterios de detención se basan en un mecanismo de umbral
adaptable. Si se alcanza un umbral correspondiente a un modo
específico, dejamos de comprobar los modos restantes. Un ejemplo de
cómo seleccionar un umbral T para un modo T(modo) se describe
en esta invención mediante la ecuación (4). En la ecuación,
\alpha(modo) y \beta(modo) son los escalares de un
modo. COST puede ser J, SAD o SSQ en (ecuación 1)(ecuación 2). COST
designa el coste correspondiente al i-ésimo bloque adyacente.
(ecuación
4)T(modo) =
\alpha(modo)xT_{n} +
\beta(modo),
donde
T_{n} =
MAX(COST_{\text{límiteinferior}},
MIN(COST_{\text{límitesuperior}}, COST_{1}, COST_{2},
COST_{N},))
Estas y otras características y ventajas de la
presente invención pueden ser rápidamente comprendidas por
cualquier persona versada en la materia, en base a la técnica
descrita en este documento. Debe entenderse que los principios de
la presente invención pueden implementarse mediante diversas formas
de hardware, software, firmware, procesadores especiales o
combinaciones de los mismos.
Más preferiblemente, los principios de la
presente invención se implementan como una combinación de hardware
y software. Además, el software se implementa preferiblemente como
una aplicación informática incorporada de forma tangible en una
unidad de almacenamiento de programas. La aplicación informática
puede ser descargada y ejecutada por una máquina que comprende
cualquier arquitectura adecuada. Preferiblemente, la máquina se
implementa en una plataforma informática cuyo hardware consiste en
una o más unidades centrales de procesamiento ("UCP"), una
memoria de acceso aleatorio ("RAM") e interfaces de
entrada/salida ("I/O"). La plataforma informática puede
incluir igualmente un sistema operativo y un código de
microinstrucciones. Los diversos procesos y funciones que se
describen en el presente documento pueden formar parte del código de
macroinstrucciones o formar parte de la aplicación informática o de
cualquier combinación de ambos, que pueda ser ejecutada por una UCP.
Además, pueden conectarse otras unidades periféricas a la plataforma
informática, como una unidad adicional de almacenamiento de datos y
una unidad impresora.
Debe entenderse que, teniendo en cuenta algunos
de los componentes y métodos del sistema constituyente y que se
describen en las figuras adjuntas se implementan preferiblemente
mediante software, pudiendo diferir las conexiones reales entre los
componentes del sistema o los bloques de función del proceso, en
función de la manera en que se programe la presente invención.
Teniendo en cuenta lo descrito en el presente documento, cualquier
persona versada en la materia podrá contemplar estas y otras
similares implementaciones o configuraciones de la presente
invención.
Aunque los ejemplos de realización se han
descrito en este documento haciendo referencia a las figuras
adjuntas, debe entenderse que la presente invención no se limita a
dichas realizaciones precisas, pudiendo introducir en ella cualquier
persona versada en la materia diversos cambios y modificaciones.
\vskip1.000000\baselineskip
La lista de referencias citada por el
solicitante lo es solamente para utilidad del lector, no formando
parte de los documentos de patente europeos. Aún cuando las
referencias han sido cuidadosamente recopiladas, no pueden excluirse
errores u omisiones y la OEP rechaza toda responsabilidad a este
respecto.
\bullet US 20030099292 A [0003]
\bullet Fast intra-prediction mode
selection for 4x4 blocks in H.264. 2003 IEEE International
Conference on Acoustics, Speech, and Signal Processing Proceedings
(ICASSP), 06 April 2003, vol. 3, III389-III391
[0003]
Claims (4)
1. Método para seleccionar el modo de un
macrobloque actual de una trama inter-codificada según una
codificación de vídeo H.264/MPEG AVC, en el que los modos de
macrobloque son los siguientes:
Trama - P: MODO \epsilon {INTRA4X4,
INTRA16X16, SALTO, 16X16, 16, 8, 8X16, 8X8, 8X4, 4X8, 4X4}
Trama - B: MODO \epsilon {INTRA4X4,
INTRA16X16, BI-DIRECTO, DIRECTO, FWD16X16,
FWD16X8,
FWD8X16, FWD8X8, FWD8X4, FWD4X8, FWD4X4, BAK16X16, BAK16X8, BAK8X16, BAK8X8, BAK8X4, BAK4X8, BAK4X4}
FWD8X16, FWD8X8, FWD8X4, FWD4X8, FWD4X4, BAK16X16, BAK16X8, BAK8X16, BAK8X8, BAK8X4, BAK4X8, BAK4X4}
y el modo INTRA4x4 contiene los modos:
MODO \epsilon {vertical, horizontal, DC,
diagonal-abajo-izquierda,
diagonal-abajo-derecha,
vertical-izquierda,
horizontal-abajo, vertical-derecha,
horizontal-arriba}
e INTRA16x16 contiene los modos: MODO \epsilon
{vertical, horizontal, DC, plano}
comprendiendo dicho método:
- comprobación (420, 422), con un parámetro de
cuantificación dado QP, para los modos SALTO y 16x16, si un valor J
de dicho modo SALTO es menor que el valor J de dicho modo 16x16 y si
dicho modo 16x16 carece de resto de predicción, donde J es un valor
de suma correspondiente a la suma de las diferencias de cuadrados
entre la señal original y la señal reconstruida, y del producto del
multiplicador de Lagrange \lambda_{MODO}, por el número R de
bits requeridos asociados al modo actual, comprendiendo los bits del
encabezado del macrobloque, los coeficientes de movimiento y todos
los coeficientes DCT;
- de no ser cierta la premisa anterior,
continuar la comprobación (426) del modo 8x8, y de ser cierta, se
comprueba (424) si dicho modo SALTO tiene la misma información de
movimiento que dicho modo 16x16,
si no fuese cierto, se continúa con dicha
comprobación (426) del modo 8x8,
si fuese cierto, se continúa con la comprobación
(438) de los modos intra;
- comprobación (426) de dicho modo 8x8 y
determinación (428) de si dicho modo 8x8 tiene la misma información
de movimiento que dicho modo 16x16;
- si fuese cierto, se continúa con la
comprobación (432) del modo 4x4, y si no lo fuese, se comprueba
(430) el modo 16x8 y el modo 8x16, y si dichos modos tuviesen la
misma información de movimiento que dicho modo 16x16, se continúa
comprobando (432) el modo 4x4;
- comprobación (432) de dicho modo 4x4 y
determinación (434) de si dicho modo 4x4 tiene la misma información
de movimiento que dicho modo 8x8;
- si fuese cierto, se continúa con la
comprobación (438) de los modos intra, y si no lo fuese, se
comprueban (436) los modos 8x4 y 4x8, y si estos modos tuviesen la
misma información de movimiento que dicho modo 8x8, se continúa con
la comprobación (438) de los modos intra,
- en el que para cada modo de macrobloque
específico se dispone de un umbral ajustable de coste de
codificación y se selecciona el modo actualmente comprobado (440)
para dicho macrobloque actual si se alcanza el correspondiente
umbral del coste de codificación de dicho modo, deteniéndose la
comprobación de los modos no comprobados restantes.
2. Método de acuerdo con la reivindicación 1, en
el que los umbrales de coste de codificación T(modo) se
calculan de la forma siguiente:
T(modo)
= \alpha(modo)x T_{n} +
\beta(modo)
T_{n} =
MAX(COST_{\text{límiteinferior}},
MIN(COST_{\text{límitesuperior}}, COST_{1}, COST_{2},
COST_{N},))
Donde \alpha(modo) y
\beta(modo) son escalares de un modo, y COST_{i} denota
el coste de codificación del i-ésimo bloque adyacente.
3. Método de acuerdo con la reivindicación 1, en
el que la información de los bloques adyacentes espacial y/o
temporalmente y de las particiones de bloques, se utiliza a fin de
decidir los modos a comprobar.
4. Método de acuerdo con la reivindicación 1, en
el que el procesamiento de la selección de modo finaliza cuando los
macrobloques adyacentes temporal y/o espacialmente tienen una
relación específica con la información de movimiento del macrobloque
actual, tras el examen de un modo específico.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US48233103P | 2003-06-25 | 2003-06-25 | |
| US482331P | 2003-06-25 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES2343410T3 true ES2343410T3 (es) | 2010-07-30 |
Family
ID=33563851
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES04755613T Expired - Lifetime ES2343410T3 (es) | 2003-06-25 | 2004-06-17 | Codificacion intertramas con decision rapida de modo. |
Country Status (10)
| Country | Link |
|---|---|
| US (1) | US9210441B2 (es) |
| EP (1) | EP1639827B1 (es) |
| JP (1) | JP4968726B2 (es) |
| CN (1) | CN100594730C (es) |
| BR (1) | BRPI0411765A (es) |
| DE (1) | DE602004026580D1 (es) |
| ES (1) | ES2343410T3 (es) |
| MX (1) | MXPA05014211A (es) |
| MY (1) | MY143420A (es) |
| WO (1) | WO2005004491A1 (es) |
Families Citing this family (84)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| 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 |
| US7609763B2 (en) | 2003-07-18 | 2009-10-27 | Microsoft Corporation | Advanced bi-directional predictive coding of video frames |
| US7606308B2 (en) | 2003-09-07 | 2009-10-20 | Microsoft Corporation | Signaling macroblock mode information for macroblocks of interlaced forward-predicted fields |
| US7599438B2 (en) | 2003-09-07 | 2009-10-06 | Microsoft Corporation | Motion vector block pattern coding and decoding |
| US8064520B2 (en) | 2003-09-07 | 2011-11-22 | Microsoft Corporation | Advanced bi-directional predictive coding of interlaced video |
| 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 | 학교법인 대양학원 | 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치 |
| US7881386B2 (en) | 2004-03-11 | 2011-02-01 | Qualcomm Incorporated | Methods and apparatus for performing fast mode decisions in video codecs |
| JP4031455B2 (ja) * | 2004-03-29 | 2008-01-09 | 株式会社東芝 | 画像符号化装置 |
| JP2005348093A (ja) * | 2004-06-03 | 2005-12-15 | Sony Corp | 画像処理装置、そのプログラムおよびその方法 |
| KR100654436B1 (ko) * | 2004-07-07 | 2006-12-06 | 삼성전자주식회사 | 비디오 코딩 방법과 디코딩 방법, 및 비디오 인코더와디코더 |
| US8649436B2 (en) * | 2004-08-20 | 2014-02-11 | Sigma Designs Inc. | Methods for efficient implementation of skip/direct modes in digital video compression algorithms |
| JP4501676B2 (ja) * | 2004-12-22 | 2010-07-14 | 日本電気株式会社 | 動画像圧縮符号化方法と動画像圧縮符号化装置並びにプログラム |
| CN100338957C (zh) * | 2005-06-20 | 2007-09-19 | 浙江大学 | 一种复杂度可分级的模式选择方法 |
| US9077960B2 (en) | 2005-08-12 | 2015-07-07 | Microsoft Corporation | Non-zero coefficient block pattern coding |
| CN100397906C (zh) * | 2005-08-24 | 2008-06-25 | 天津大学 | 一种视频信息的快速帧间模式选择方法 |
| US7916796B2 (en) | 2005-10-19 | 2011-03-29 | Freescale Semiconductor, Inc. | Region clustering based error concealment for video data |
| US8155189B2 (en) | 2005-10-19 | 2012-04-10 | Freescale Semiconductor, Inc. | System and method of coding mode decision for video encoding |
| US9479794B2 (en) | 2005-11-10 | 2016-10-25 | Freescale Semiconductor, Inc. | Resource efficient video processing via prediction error computational adjustments |
| US8788933B2 (en) | 2005-12-01 | 2014-07-22 | Nokia Corporation | Time-shifted presentation of media streams |
| US8170102B2 (en) * | 2005-12-19 | 2012-05-01 | Seiko Epson Corporation | Macroblock homogeneity analysis and inter mode prediction |
| US7693219B2 (en) | 2006-01-04 | 2010-04-06 | Freescale Semiconductor, Inc. | System and method for fast motion estimation |
| JP2007251923A (ja) * | 2006-02-15 | 2007-09-27 | Mitsubishi Electric Corp | 画像符号化装置および画像符号化方法 |
| US8306118B1 (en) * | 2006-03-01 | 2012-11-06 | Maxim Integrated, Inc. | High quality low bitrate video coding by enabling and disabling a non-residual mode |
| US7889789B2 (en) | 2006-04-07 | 2011-02-15 | Microsoft Corporation | Making interlace frame level coding mode decisions |
| US20080002770A1 (en) * | 2006-06-30 | 2008-01-03 | Nokia Corporation | Methods, apparatus, and a computer program product for providing a fast inter mode decision for video encoding in resource constrained devices |
| KR100773761B1 (ko) | 2006-09-14 | 2007-11-09 | 한국전자통신연구원 | 동영상 부호화 장치 및 방법 |
| GB0619570D0 (en) * | 2006-10-04 | 2006-11-15 | Univ Bristol | Complexity scalable video transcoder and encoder |
| US9883202B2 (en) | 2006-10-06 | 2018-01-30 | Nxp Usa, Inc. | Scaling video processing complexity based on power savings factor |
| US8467448B2 (en) | 2006-11-15 | 2013-06-18 | Motorola Mobility Llc | Apparatus and method for fast intra/inter macro-block mode decision for video encoding |
| US8311120B2 (en) * | 2006-12-22 | 2012-11-13 | Qualcomm Incorporated | Coding mode selection using information of other coding modes |
| US8594187B2 (en) | 2007-03-02 | 2013-11-26 | Qualcomm Incorporated | Efficient video block mode changes in second pass video coding |
| CN100558169C (zh) * | 2007-03-23 | 2009-11-04 | 武汉大学 | 视频转码中帧间模式的快速选择方法 |
| EP2140684B1 (en) | 2007-04-12 | 2018-08-15 | Thomson Licensing DTV | Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding |
| CN101731012B (zh) * | 2007-04-12 | 2013-10-16 | 汤姆森特许公司 | 用于视频编码器中的快速几何模式判定的方法和设备 |
| US20080260029A1 (en) * | 2007-04-17 | 2008-10-23 | Bo Zhang | Statistical methods for prediction weights estimation in video coding |
| WO2008141389A1 (en) * | 2007-05-24 | 2008-11-27 | Carmelo Joseph Licciardi Di Stefano | A connector |
| FR2916931A1 (fr) * | 2007-05-29 | 2008-12-05 | Thomson Licensing Sas | Procede de selection d'une donnee de codage et dispositif de codage implementant ledit procede |
| WO2008148272A1 (en) * | 2007-06-04 | 2008-12-11 | France Telecom Research & Development Beijing Company Limited | Method and apparatus for sub-pixel motion-compensated video coding |
| BRPI0810517A2 (pt) | 2007-06-12 | 2014-10-21 | Thomson Licensing | Métodos e aparelho suportando estrutura de sintaxe de vídeo de multipasso para dados de seção |
| US8254455B2 (en) | 2007-06-30 | 2012-08-28 | Microsoft Corporation | Computing collocated macroblock information for direct mode macroblocks |
| KR101555327B1 (ko) * | 2007-10-12 | 2015-09-23 | 톰슨 라이센싱 | 기하학적으로 분할된 쌍방 예측 모드 분할들을 비디오 인코딩 및 디코딩하기 위한 방법 및 장치 |
| US8295342B2 (en) * | 2007-11-14 | 2012-10-23 | International Business Machines Corporation | Method and system for efficient video compression with low-complexity encoder |
| CN100594732C (zh) * | 2007-11-16 | 2010-03-17 | 中国科学院计算技术研究所 | 一种帧间模式选择方法 |
| FR2925819A1 (fr) * | 2007-12-21 | 2009-06-26 | Thomson Licensing Sas | Procede de codage double passe par macrobloc |
| KR20090095316A (ko) * | 2008-03-05 | 2009-09-09 | 삼성전자주식회사 | 영상 인트라 예측 방법 및 장치 |
| WO2009113787A2 (en) * | 2008-03-09 | 2009-09-17 | Lg Electronics Inc. | A method and an apparatus for encoding or decoding a video signal |
| US8982951B2 (en) * | 2008-03-10 | 2015-03-17 | Mediatek Inc. | Adaptive motion estimation coding |
| JP4990927B2 (ja) * | 2008-03-28 | 2012-08-01 | 三星電子株式会社 | 動きベクトル情報の符号化/復号化方法及び装置 |
| JP2009272969A (ja) * | 2008-05-09 | 2009-11-19 | Hitachi Ltd | 画像符号化装置及び画像符号化方法、画像復号化装置及び画像復号化方法 |
| CN101867818B (zh) * | 2008-06-06 | 2012-08-29 | 浙江大学 | 宏块模式的选择方法和装置 |
| US8503527B2 (en) | 2008-10-03 | 2013-08-06 | Qualcomm Incorporated | Video coding with large macroblocks |
| US8619856B2 (en) * | 2008-10-03 | 2013-12-31 | Qualcomm Incorporated | Video coding with large macroblocks |
| US8634456B2 (en) | 2008-10-03 | 2014-01-21 | Qualcomm Incorporated | Video coding with large macroblocks |
| US8483285B2 (en) | 2008-10-03 | 2013-07-09 | Qualcomm Incorporated | Video coding using transforms bigger than 4×4 and 8×8 |
| WO2010044757A1 (en) * | 2008-10-17 | 2010-04-22 | Agency For Science, Technology And Research | Method for encoding a digital picture, encoder, and computer program element |
| KR101173560B1 (ko) * | 2008-12-15 | 2012-08-13 | 한국전자통신연구원 | 고속 모드 결정 장치 및 방법 |
| US9288494B2 (en) | 2009-02-06 | 2016-03-15 | Thomson Licensing | Methods and apparatus for implicit and semi-implicit intra mode signaling for video encoders and decoders |
| HUE061153T2 (hu) | 2009-03-23 | 2023-05-28 | Ntt Docomo Inc | Kép prediktív dekódolási eljárás |
| US8498330B2 (en) * | 2009-06-29 | 2013-07-30 | Hong Kong Applied Science and Technology Research Institute Company Limited | Method and apparatus for coding mode selection |
| JP5216710B2 (ja) * | 2009-07-24 | 2013-06-19 | 日立コンシューマエレクトロニクス株式会社 | 復号化処理方法 |
| JP2013503534A (ja) * | 2009-08-28 | 2013-01-31 | トムソン ライセンシング | 画像シーケンスを符号化するための方法 |
| MY198978A (en) * | 2010-04-13 | 2023-10-05 | Samsung Electronics Co Ltd | Video encoding method and video encoding apparatus and video decoding method and video decoding apparatus, which perform deblocking filtering based on tree-structure encoding units |
| US8837592B2 (en) | 2010-04-14 | 2014-09-16 | Mediatek Inc. | Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus |
| KR101791078B1 (ko) * | 2010-04-16 | 2017-10-30 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 장치 및 방법 |
| CN101848394B (zh) * | 2010-05-25 | 2012-01-18 | 宁波中科集成电路设计中心有限公司 | 一种无线视频传感器的avs编码功耗模型优化方法 |
| DK3070945T3 (da) | 2010-07-20 | 2020-04-06 | Ntt Docomo Inc | Indretning til prædikativ billedafkodning, billedforudsigelsesafkodningsfremgangsmåde |
| US8902982B2 (en) * | 2011-01-17 | 2014-12-02 | Samsung Electronics Co., Ltd. | Depth map coding and decoding apparatus and method |
| CN102129682B (zh) * | 2011-03-09 | 2015-10-07 | 深圳市云宙多媒体技术有限公司 | 一种前景背景区域划分方法、系统 |
| US9282338B2 (en) | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
| US20140002594A1 (en) * | 2012-06-29 | 2014-01-02 | Hong Kong Applied Science and Technology Research Institute Company Limited | Hybrid skip mode for depth map coding and decoding |
| WO2014005924A1 (en) * | 2012-07-05 | 2014-01-09 | Thomson Licensing | Video coding and decoding method with adaptation of coding modes |
| US9374592B2 (en) * | 2012-09-08 | 2016-06-21 | Texas Instruments Incorporated | Mode estimation in pipelined architectures |
| CN102932642B (zh) * | 2012-11-13 | 2015-06-24 | 北京大学 | 一种帧间编码快速模式选择方法 |
| US10085027B2 (en) * | 2015-03-06 | 2018-09-25 | Qualcomm Incorporated | Adaptive mode checking order for video encoding |
| US10652570B2 (en) | 2016-01-15 | 2020-05-12 | Nec Corporation | Moving image encoding device, moving image encoding method, and recording medium for recording moving image encoding program |
| CN108810531B (zh) * | 2017-05-03 | 2019-11-19 | 腾讯科技(深圳)有限公司 | 视频编码处理方法、装置及电子设备 |
| KR102618692B1 (ko) | 2018-06-15 | 2024-01-02 | 삼성전자주식회사 | 노이즈 또는 디서의 영향을 감소시키기 위한 디스플레이 구동 회로 및 방법 |
| CN110149512B (zh) * | 2018-09-14 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 帧间预测加速方法、装置、计算机存储介质及设备 |
| CN112637592B (zh) | 2020-12-11 | 2024-07-05 | 百果园技术(新加坡)有限公司 | 一种视频预测编码的方法及装置 |
| CN115484461B (zh) * | 2022-08-03 | 2025-09-30 | 阿里巴巴(中国)有限公司 | 视频编码方法和装置 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2787944B2 (ja) * | 1988-01-11 | 1998-08-20 | 富士通株式会社 | 動き補償動ベクトル探索方法 |
| US5737019A (en) * | 1996-01-29 | 1998-04-07 | Matsushita Electric Corporation Of America | Method and apparatus for changing resolution by direct DCT mapping |
| WO1998037701A1 (en) * | 1997-02-12 | 1998-08-27 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
| JP3570863B2 (ja) * | 1997-08-05 | 2004-09-29 | 三菱電機株式会社 | 動画像復号化装置および動画像復号化方法 |
| JPH1179584A (ja) | 1997-09-09 | 1999-03-23 | Mitsubishi Electric Corp | エレベータ用ホールランタン |
| JPH11243551A (ja) * | 1997-12-25 | 1999-09-07 | Mitsubishi Electric Corp | 動き補償装置と動画像符号化装置及び方法 |
| EP1092322A1 (en) * | 1999-04-30 | 2001-04-18 | Koninklijke Philips Electronics N.V. | Low bit rate video coding method and system |
| EP1092321A1 (en) * | 1999-04-30 | 2001-04-18 | Koninklijke Philips Electronics N.V. | Video encoding method with selection of b-frame encoding mode |
| EP1263239A3 (en) * | 2001-05-30 | 2005-02-09 | Nippon Telegraph and Telephone Corporation | Image compression system |
| US20020196854A1 (en) * | 2001-06-15 | 2002-12-26 | Jongil Kim | Fast video encoder using adaptive hierarchical video processing in a down-sampled domain |
| JP3732760B2 (ja) * | 2001-06-29 | 2006-01-11 | 株式会社東芝 | 物体認識装置及び物体認識方法 |
| US6980596B2 (en) * | 2001-11-27 | 2005-12-27 | General Instrument Corporation | Macroblock level adaptive frame/field coding for digital video content |
| PT1449385E (pt) * | 2001-11-21 | 2015-10-15 | Google Technology Holdings LLC | Codificação adaptativa de quadro/campo ao nível dos macroblocos para o conteúdo de vídeo digital |
| WO2003047270A1 (fr) * | 2001-11-30 | 2003-06-05 | Ntt Docomo, Inc. | Appareil de codage d'images mobiles, appareil de decodage d'images mobiles, procede de codage d'images mobiles, procede de decodage d'images mobiles, programme et support lisible par ordinateur contenant le programme |
| AU2002351417A1 (en) * | 2001-12-21 | 2003-07-30 | Polycom, Inc. | Motion wake identification and control mechanism |
| JP4130783B2 (ja) * | 2002-04-23 | 2008-08-06 | 松下電器産業株式会社 | 動きベクトル符号化方法および動きベクトル復号化方法 |
-
2004
- 2004-06-17 ES ES04755613T patent/ES2343410T3/es not_active Expired - Lifetime
- 2004-06-17 EP EP04755613A patent/EP1639827B1/en not_active Expired - Lifetime
- 2004-06-17 JP JP2006517399A patent/JP4968726B2/ja not_active Expired - Lifetime
- 2004-06-17 WO PCT/US2004/019527 patent/WO2005004491A1/en not_active Ceased
- 2004-06-17 MX MXPA05014211A patent/MXPA05014211A/es active IP Right Grant
- 2004-06-17 BR BRPI0411765-4A patent/BRPI0411765A/pt not_active Application Discontinuation
- 2004-06-17 US US10/560,567 patent/US9210441B2/en active Active
- 2004-06-17 CN CN200480017335A patent/CN100594730C/zh not_active Expired - Lifetime
- 2004-06-17 DE DE602004026580T patent/DE602004026580D1/de not_active Expired - Lifetime
- 2004-06-24 MY MYPI20042468A patent/MY143420A/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| WO2005004491A1 (en) | 2005-01-13 |
| JP4968726B2 (ja) | 2012-07-04 |
| EP1639827A1 (en) | 2006-03-29 |
| KR20060027813A (ko) | 2006-03-28 |
| MY143420A (en) | 2011-05-31 |
| BRPI0411765A (pt) | 2006-08-08 |
| EP1639827B1 (en) | 2010-04-14 |
| JP2007524279A (ja) | 2007-08-23 |
| MXPA05014211A (es) | 2006-05-31 |
| CN100594730C (zh) | 2010-03-17 |
| US9210441B2 (en) | 2015-12-08 |
| US20060193385A1 (en) | 2006-08-31 |
| DE602004026580D1 (de) | 2010-05-27 |
| CN1810037A (zh) | 2006-07-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2740783C1 (ru) | Кодирование и декодирование видео | |
| US9210441B2 (en) | Fast mode-decision encoding for interframes | |
| KR101678409B1 (ko) | 적응적인 영상 부호화 방법 및 장치 | |
| US8155191B2 (en) | Method and apparatus for fast mode decision of B-frames in a video encoder | |
| US20080240245A1 (en) | Image encoding/decoding method and apparatus | |
| JP5074924B2 (ja) | インタフレームのための高速モード決定方法及び装置 | |
| WO2013060471A1 (en) | Method and device for determining parameters for encoding or decoding of an image of a video sequence | |
| BRPI0619193A2 (pt) | método de codificação de imagem / decodificação de imagem, aparelho de codificação de imagem / decodificação de imagem | |
| US20120250767A1 (en) | Method and apparatus for bi-directional prediction within p-slices | |
| KR101083399B1 (ko) | 인터 프레임을 위한 고속 모드 결정 인코딩 | |
| KR101895389B1 (ko) | 영상 부호화 방법 및 장치 |