ES2751334T3 - Procedimiento para decodificar vectores de movimiento - Google Patents

Procedimiento para decodificar vectores de movimiento Download PDF

Info

Publication number
ES2751334T3
ES2751334T3 ES13185337T ES13185337T ES2751334T3 ES 2751334 T3 ES2751334 T3 ES 2751334T3 ES 13185337 T ES13185337 T ES 13185337T ES 13185337 T ES13185337 T ES 13185337T ES 2751334 T3 ES2751334 T3 ES 2751334T3
Authority
ES
Spain
Prior art keywords
motion vector
current block
unit
encoding
predictor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES13185337T
Other languages
English (en)
Inventor
Tammy Lee
Woo-Jin Han
Kyo-Hyuk Lee
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Application granted granted Critical
Publication of ES2751334T3 publication Critical patent/ES2751334T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • H04N19/865Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness with detection of the former encoding block subdivision in decompressed video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods 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 bits, e.g. of the compressed video stream

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un procedimiento de decodificación de un vector de movimiento para un bloque actual de una imagen codificada que forma parte de un flujo de bits, comprendiendo el procedimiento: decodificar un modo de predicción del bloque actual del flujo de bits (1510); cuando el modo de predicción del bloque actual es predicción inter y se determina un predictor de vector de movimiento del bloque actual basándose en una información del predictor de vector de movimiento que indica el predictor de vector de movimiento del bloque actual, recibir la información del predictor del vector de movimiento del flujo de bits, determinar los candidatos del predictor del vector de movimiento mediante el uso de vectores de movimiento de bloques previamente decodificados adyacentes al bloque actual y determinar el predictor del vector de movimiento del bloque actual, que es un vector de movimiento seleccionado entre los candidatos de predictores de vector de movimiento, basándose en la información (1530) del predictor del vector de movimiento; y obtener un vector de movimiento del bloque actual basándose en el predictor de vector de movimiento y un vector diferencial obtenido del flujo (1520, 1540) de bits, en el que los bloques previamente decodificados comprenden un primer bloque ubicado en un lado inferior izquierdo del bloque actual y ubicado fuera del bloque actual, es decir, directamente debajo de un bloque más bajo entre los bloques izquierdos adyacentes a un lado izquierdo del bloque actual, y un segundo bloque ubicado en un lado superior del primer bloque.

Description

DESCRIPCIÓN
Procedimiento para decodificar vectores de movimiento
Campo técnico
Los procedimientos consistentes con realizaciones ejemplares se refieren a un vector de movimiento para un bloque actual.
Técnica anterior
Un codificador-decodificador, tal como Grupo de expertos de Imagen en Movimiento (MPEG) -4 H.264/MPEG-4 Codificación de Vídeo Avanzada (AVC), utiliza vectores de movimiento de bloques previamente codificados adyacentes a un bloque actual para predecir un vector de movimiento del bloque actual. Es decir, se usa una mediana de vectores de movimiento de bloques codificados previamente adyacentes a los lados izquierdo, superior y superior derecho de un bloque actual como un predictor del vector de movimiento del bloque actual.
La publicación de patente US 2009/129472 describe un sistema y un procedimiento para realizar estimación de movimiento asociada con un codificador, por ejemplo, un codificador compatible con H.264/MPEG-4 AVC. Por ejemplo, el procedimiento selecciona un vector de movimiento centrado para un bloque actual en un área de búsqueda de al menos una imagen de referencia. El procedimiento calcula un coste de apareamiento para cada uno de la pluralidad de vectores de movimiento candidatos derivados del área de búsqueda, y genera al menos uno de la pluralidad de vectores de movimiento candidatos basándose en el coste de apareamiento asociado con cada uno de la pluralidad de vectores de movimiento a un bucle de codificación principal.
La publicación de revista LAROCHE G ET AL: "RD Optimized Coding for Motion Vector Predictor Selection", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 18, n.° 9, 1 de septiembre de 2008, páginas 1247-1257, describe el estándar de codificación de vídeo H.264/MPEG4-AVC. La reducción significativa de la tasa de bits se obtiene principalmente mediante herramientas de compensación de movimiento eficientes, como tamaños de bloque variables, múltiples tramas de referencia, modos de predicción de precisión de movimiento de la cámara y de predicción potente (por ejemplo, SKIP y DIRECT). Estas herramientas han contribuido a una mayor proporción de la información de movimiento en el flujo de bits total. Para alcanzar el rendimiento requerido por el futuro desafío ITU-T, a saber, para proporcionar un códec con una reducción de la tasa de bits del 50 % en comparación con e1H.264 actual, la reducción de este coste de información de movimiento es esencial. Este papel propone un marco competitivo para una mejor codificación de vector de movimiento y el modo SKIP. Los predictores para el modo SKIP y los predictores de vector de movimiento se seleccionan de manera óptima mediante un criterio de distorsión de tasa. Estos procedimientos se aprovechan del uso de las redundancias espacial y temporal en los campos del vector de movimiento, donde la mediana espacial simple generalmente falla. Una adaptación de los predictores temporales de acuerdo con las distancias temporales entre los campos de vector de movimiento también se describe para múltiples tramas de referencia y opciones de cortes B.
La presentación de normas JUNGYOUP YANG Y COL "Motion Vector Coding with Optimal Predictor", 87. MPEG MEETING; 2-2-2009 - 6-2-2009; LAUSANA; (MOTION PICTURE EXPERT GROUP OR ISO /IEC JTC1/SC29/WG11), n° M16209, 29 de enero de 2009) describe que para alcanzar una codificación de vídeo de alto rendimiento (HVC), la codificación eficiente de los datos de vector de movimiento es muy importante. El MPEG-4 Parte 10 AVC usa la técnica de codificación predictiva con la mediana de sus tres vecinos como MV como PMV (Vector de Movimiento de Predicción). Es obvio que la que la mediana del PMV no es siempre óptima. Si existe un PMV más eficaz que la mediana, existe una gran posibilidad de que se puedan guardar incluso más bits. Sin embargo, si la elección del PMV óptimo por el codificador debe señalarse al decodificador, el beneficio de usar un PMV óptimo puede no ser totalmente agradable. En esta propuesta, se propone el procedimiento MVOP (codificación de Vector de Movimiento con selección Óptima de p Mv ) que permite el uso de un PMV óptimo sin consumir bits adicionales para señalar la elección del decodificador PMV. Bajo las condiciones de prueba comunes de VCEG para el perfil de línea de base, los resultados de la simulación muestran que el procedimiento MVOP mejorado alcanza una ganancia de BDBR de aproximadamente 4,46 % de media (1,66 % para QCIF, 3,60 % para CIF y 6,84 % para secuencias HD) en comparación con el software KTA 2.0.
La publicación de patente EP 1784985 describe un procedimiento para la predicción de vector de movimiento para un bloque actual, teniendo el bloque actual un conjunto de bloques vecinos que incluye bloques que no tienen un vector de movimiento asociado, se desvela. El procedimiento incluye derivar un vector de movimiento candidato para cada bloque en el conjunto de bloques vecinos que no tiene un vector de movimiento asociado; y usar el vector de movimiento candidato para cada bloque en el conjunto de bloques vecinos que no tiene el vector de movimiento asociado para predecir un vector de movimiento actual para el bloque actual. También se desvela un aparato para realizar el procedimiento.
La publicación de patente CN 101415122 describe un procedimiento de codificación de predicción inter cuadro que comprende: un codificador determina un modo de codificación y realiza la codificación comparando el vector de movimiento de apareamiento de plantilla obtenido y el valor de predicción del vector de movimiento del bloque actual; un decodificador recibe el flujo de bits del codificador, y determina un modo de decodificación y realiza la decodificación comparando el vector de movimiento de apareamiento de plantilla obtenido y el valor de predicción del vector de movimiento del bloque actual. También se desvela el dispositivo de codificación de predicción inter cuadro y el dispositivo de decodificación. Con el procedimiento y el dispositivo, la tasa de código se puede guardar durante la predicción inter cuadro.
Divulgación
Solución técnica
Las realizaciones ejemplares proporcionan un procedimiento para decodificar un vector de movimiento.
Efectos ventajosos
De acuerdo con la presente solicitud, un vector de movimiento se descodifica de manera eficiente en base a un predictor del vector de movimiento.
Descripción de los dibujos
Los aspectos anteriores y otros se harán más evidentes describiendo en detalle ejemplos de realización con referencia a los dibujos adjuntos en los que:
La figura 1 es un diagrama de bloques de un aparato para codificar una imagen;
La figura 2 es un diagrama de bloques de un aparato para decodificar una imagen;
La figura 3 ilustra unidades de codificación jerárquica;
La figura 4 es un diagrama de bloques de un codificador de imagen basado en una unidad de codificación; La figura 5 es un diagrama de bloques de un decodificador de imagen basado en una unidad de codificación; La figura 6 ilustra una unidad de codificación máxima, una unidad de subcodificación y una unidad de predicción; La figura 7 ilustra una unidad de codificación y una unidad de transformación;
Las figuras 8A y 8B ilustran formas de división de una unidad de codificación, una unidad de predicción y una unidad de transformación;
La figura 9 es un diagrama de bloques de un aparato para codificar un vector de movimiento;
Las figuras 10A y 10B ilustran candidatos predictores del vector de movimiento de un modo explícito;
Las figuras 11A a 11C ilustran candidatos predictores del vector de movimiento de un modo explícito, de acuerdo con otro ejemplo;
La figura 12 ilustra un procedimiento para generar un predictor del vector de movimiento en un modo implícito; La figura 13 es un diagrama de bloques de un aparato para decodificar un vector de movimiento;
La figura 14 es un diagrama de flujo de un procedimiento para codificar un vector de movimiento; y
La figura 15 es un diagrama de flujo que ilustra un procedimiento para decodificar un vector de movimiento, de acuerdo con una realización ejemplar.
Mejor modo
Según un aspecto de una realización ejemplar, se proporciona un procedimiento según lo establecido en la reivindicación adjunta 1.
Modo de la invención
La siguiente descripción se hace con referencia a los dibujos adjuntos, en los que números de referencia iguales se refieren a elementos similares de principio a fin. Las expresiones como "al menos uno de", cuando preceden a una lista de elementos, modifican toda la lista de elementos y no modifican los elementos individuales de la lista. En la presente especificación, una "imagen" puede denotar una imagen fija para un vídeo o una imagen en movimiento, es decir, el vídeo en sí.
La figura 1 es un diagrama de bloques de un aparato 100 para codificar una imagen. Con referencia a la figura 1, el aparato 100 incluye un divisor 110 de unidad de codificación máxima, un determinante 120 de profundidad de codificación, un codificador 130 de datos de imagen y un codificador 140 de información de codificación.
El divisor 110 de unidad de codificación máxima puede dividir una imagen actual o porción basado en una unidad de codificación máxima que es una unidad de codificación de un tamaño más grande. Es decir, el divisor 110 de unidad de codificación máxima puede dividir la imagen o segmento actual para obtener al menos una unidad de codificación máxima.
Una unidad de codificación se puede representar utilizando una unidad de codificación máxima y una profundidad. Como se describió anteriormente, la unidad de codificación máxima indica una unidad de codificación que tiene el tamaño más grande entre las unidades de codificación de la imagen actual, y la profundidad indica el tamaño de una unidad de subcodificación obtenida disminuyendo jerárquicamente la unidad de codificación. A medida que aumenta la profundidad, la unidad de codificación puede disminuir de una unidad de codificación máxima a una unidad de codificación mínima, en el que una profundidad de la unidad de codificación máxima se define como una profundidad mínima y una profundidad de la unidad de codificación mínima se define como una profundidad máxima. Dado que el tamaño de la unidad de codificación disminuye desde la unidad de codificación máxima a medida que aumenta la profundidad, una unidad de subcodificación de una profundidad k puede incluir una pluralidad de unidades de subcodificación de una profundidad (k n)ésima (donde k y n son enteros igual o mayor que 1).
De acuerdo con un aumento del tamaño de una imagen a codificar, la codificación de una imagen en una unidad de codificación mayor puede causar una relación de compresión de imagen superior. Sin embargo, si se fija una unidad de codificación mayor, una imagen puede no codificarse de manera eficiente al reflejar las características de la imagen que cambian continuamente.
Por ejemplo, cuando se codifica un área lisa como el mar o en el cielo, a mayor sea una unidad de codificación, más puede aumentar una relación de compresión. Sin embargo, cuando se codifica un área compleja como personas o edificios, cuanto más pequeña es una unidad de codificación, más puede aumentar la relación de compresión. Por consiguiente, se establece una unidad de codificación de imagen máxima diferente y una profundidad máxima diferente para cada imagen o porción. Dado que una profundidad máxima indica el número máximo de veces por el cual una unidad de codificación puede disminuir, el tamaño de cada unidad de codificación mínima incluida en una unidad de codificación de imagen máxima puede establecerse de manera variable de acuerdo con una profundidad máxima.
El determinante 120 de profundidad de codificación determina una profundidad máxima. Por ejemplo, la profundidad máxima se puede determinar en función del cálculo del coste de la tasa de distorsión (R-D). Además, la profundidad máxima se puede determinar de manera diferente para cada imagen o porción o para cada unidad de codificación máxima. La profundidad máxima determinada se proporciona al codificador 140 de información de codificación, y los datos de imagen según las unidades de codificación máximas se proporcionan al codificador 130 de datos de imagen.
La profundidad máxima indica una unidad de codificación que tiene el tamaño más pequeño que puede ser incluido en una unidad de codificación máximo, es decir, una unidad mínima de codificación. En otras palabras, una unidad de codificación máxima se puede dividir en unidades de subcodificación que tienen diferentes tamaños según diferentes profundidades. Esto se describirá en detalle con referencia a las figuras 8A y 8B. Además, las unidades de subcodificación que tienen diferentes tamaños, que se incluyen en la unidad de codificación máxima, pueden predecirse o transformarse basándose en unidades de procesamiento que tienen diferentes tamaños. En otras palabras, el aparato 100 puede realizar una pluralidad de operaciones de procesamiento para la codificación de imágenes basadas en unidades de procesamiento que tienen varios tamaños y diversas formas. Para codificar datos de imagen, se realizan operaciones de procesamiento como predicción, transformación y codificación de entropía, en las que se pueden usar unidades de procesamiento que tengan el mismo tamaño para cada operación o unidades de procesamiento que tengan diferentes tamaños para cada operación.
Por ejemplo, el aparato 100 puede seleccionar una unidad de procesamiento que es diferente de una unidad de codificación para predecir la unidad de codificación. Cuando el tamaño de una unidad de codificación es 2N * 2N (donde N es un número entero positivo), las unidades de procesamiento para la predicción pueden ser 2N * 2N, 2N * N, N * 2N y N * N. En otras palabras, la predicción de movimiento se puede realizar basándose en una unidad de procesamiento que tiene una forma en la que al menos uno de la altura y el ancho de una unidad de codificación se divide por igual por dos. En lo sucesivo, una unidad de procesamiento, que es la base de la predicción, se denomina unidad de predicción.
A modo de predicción puede ser al menos uno de un modo intra, un modo inter, y un modo de salto, y un modo de predicción específica puede llevarse a cabo por solo una unidad de predicción que tiene un tamaño o forma específica. Por ejemplo, el modo intra puede realizarse solo para unidades de predicción que tienen tamaños de 2N * 2N y N * N, cuya forma es un cuadrado. Además, el modo de omisión puede realizarse solo para una unidad de predicción que tiene un tamaño de 2N * 2N. Si existe una pluralidad de unidades de predicción en una unidad de codificación, el modo de predicción con los menores errores de codificación puede seleccionarse después de realizar la predicción para cada unidad de predicción.
Alternativamente, el aparato 100 puede llevar a cabo una transformación de frecuencia en datos de imagen en base a una unidad de procesamiento que tiene un tamaño diferente de una unidad de codificación. Para la transformación de frecuencia en la unidad de codificación, la transformación de frecuencia puede realizarse basándose en una unidad de procesamiento que tiene un tamaño igual o menor que el de la unidad de codificación. En lo sucesivo, una unidad de procesamiento, que es la base de la transformación de frecuencia, se denomina unidad de transformación. La transformación de frecuencia puede ser una Transformación discreta de coseno (DCT) o una Transformación de Karhunen-Loeve (KLT).
El determinante 120 de profundidad de codificación puede determinar las unidades de subcodificación incluidas en una unidad máxima de codificación mediante la optimización R-D basado en un multiplicador de Lagrange. En otras palabras, el determinante 120 de profundidad de codificación puede determinar qué forma tiene una pluralidad de unidades de subcodificación divididas de la unidad de codificación máxima, en el que la pluralidad de unidades de subcodificación tienen diferentes tamaños según sus profundidades. El codificador 130 de datos de imagen emite una corriente de bits codificando la unidad de codificación máxima en base a las formas de división determinadas por el determinante 120 de profundidad de codificación.
El codificador 140 de información de codificación codifica la información acerca de un modo de codificación de la unidad máxima de codificación determinado por el determinante 120 de profundidad de codificación. En otras palabras, el codificador 140 de información de codificación emite una corriente de bits al codificar información sobre una forma de división de la unidad de codificación máxima, información sobre la profundidad máxima e información sobre un modo de codificación de una unidad de subcodificación para cada profundidad. La información sobre el modo de codificación de la unidad de subcodificación puede incluir al menos una información sobre una unidad de predicción de la unidad de subcodificación, información sobre un modo de predicción para cada unidad de predicción e información sobre una unidad de transformación de la unidad de subcodificación.
Dado que las unidades de subcodificación que tienen existen diferentes tamaños para cada unidad de codificación máximo e información de un modo de codificación se determinan para cada unidad de subcodificación, información sobre al menos un modo de codificación puede ser determinada por una unidad máxima de codificación.
El aparato 100 puede generar unidades de subcodificación dividiendo igualmente tanto la altura y la anchura de una unidad máxima de codificación por dos de acuerdo con un aumento de la profundidad. Es decir, cuando el tamaño de una unidad de codificación de una k-ésima profundidad es 2N * 2N, el tamaño de una unidad de codificación de una profundidad (k 1) puede ser N x N.
Por consiguiente, el aparato 100 puede determinar una forma de división óptima para cada unidad de codificación máxima basada en tamaños de unidades de codificación máximas y una profundidad máxima en consideración de las características de la imagen. Al ajustar de forma variable el tamaño de una unidad de codificación máxima en consideración de las características de la imagen y codificar una imagen a través de la división de una unidad de codificación máxima en unidades de subcodificación de diferentes profundidades, las imágenes que tienen varias resoluciones pueden codificarse de manera más eficiente.
La figura 2 es un diagrama de bloques de un aparato 200 para decodificar una imagen. Con referencia a la figura 2, el aparato 200 incluye una unidad 210 de adquisición de datos de imagen, un extractor 220 de información de codificación y un decodificador 230 de datos de imagen.
La unidad 210 de adquisición de datos de imagen adquiere datos de imagen de acuerdo a las unidades máximas de codificación mediante el análisis de una corriente de bits recibida por el aparato 200 y emite los datos de imagen al decodificador 230 de datos de imagen. La unidad 210 de adquisición de datos de imagen puede extraer información sobre una unidad de codificación máxima de una imagen o porción actual desde un encabezado de la imagen o porción actual. En otras palabras, la unidad 210 de adquisición de datos de imagen divide la corriente de bits en la unidad de codificación máxima para que el decodificador 230 de datos de imagen pueda decodificar los datos de imagen de acuerdo con las unidades de codificación máximas.
El extractor 220 de información de codificación extrae información acerca de una unidad máxima de codificación, una profundidad máxima, una forma de división de la unidad máxima de codificación, y un modo de codificación de unidades de subcodificación mediante el análisis de la corriente de bits recibido por el aparato 200. Por ejemplo, el extractor 220 de información de codificación puede extraer la información descrita anteriormente del encabezado de la imagen actual. La información sobre la forma de división y la información sobre el modo de codificación se proporcionan al decodificador 230 de datos de imagen.
La información sobre la forma división de la unidad máxima de codificación puede incluir información sobre unidades de subcodificación que tienen diferentes tamaños de acuerdo con profundidades incluidos en la unidad máxima de codificación, y la información sobre el modo de codificación puede incluir al menos una de información acerca de una unidad de predicción según la unidad de subcodificación, información sobre un modo de predicción e información sobre una unidad de transformación.
El decodificador 230 de datos de imagen restaura la imagen actual mediante la decodificación de datos de imagen de cada unidad máxima de codificación en base a la información extraída por el extractor 220 de información de codificación. El decodificador 230 de datos de imagen puede decodificar unidades de subcodificación incluidas en una unidad de codificación máxima basándose en la información sobre la forma de división de la unidad de codificación máxima. Un procedimiento de decodificación puede incluir al menos uno de un procedimiento de predicción que incluye predicción intra y compensación de movimiento y un procedimiento de transformación inversa.
Por otra parte, el decodificador 230 de datos de imagen puede realizar la predicción intra o predicción inter basada en la información sobre la unidad de predicción y la información sobre el modo de predicción a fin de predecir una unidad de predicción. El decodificador 230 de datos de imagen también puede realizar una transformación inversa para cada unidad de subcodificación basándose en la información sobre la unidad de transformación de una unidad de subcodificación.
La figura 3 ilustra unidades de codificación jerárquica. Con referencia a la figura 3, las unidades de codificación jerárquicas ejemplares incluyen unidades de codificación cuyos tamaños son 64 * 64, 32 * 32, 16 * 16, 8 * 8 y 4 * 4. Además, también pueden existir unidades de codificación cuyos tamaños son 64 * 32, 32 * 64, 32 * 16, 16 * 32, 16 * 8, 8 * 16, 8 * 4 y 4 * 8.
En la realización ilustrada en la figura 3, para los primeros datos 310 de imagen cuya resolución es 1920 * 1080, el tamaño de una unidad de codificación máxima se establece en 64 * 64, y la profundidad máxima se establece en 2. Para los datos de la segunda imagen 320 cuya resolución es 1920 * 1080, el tamaño de una unidad de codificación máxima se establece en 64 * 64, y la profundidad máxima se establece en 3. Para los datos de la tercera imagen 330 cuya resolución es 352 * 288, el tamaño de una unidad de codificación máxima se establece en 16 * 16, y la profundidad máxima se establece en 1.
Cuando la resolución es alta o la cantidad de datos es grande, un tamaño máximo de una unidad de codificación puede ser relativamente grande para aumentar una relación de compresión y reflejar exactamente características de la imagen. En consecuencia, para los datos 310 y 320 de imagen primero y segundo que tienen una resolución más alta que el tercer dato 330 de imagen, se puede seleccionar 64 * 64 como el tamaño de la unidad de codificación máxima.
Una profundidad máxima indica el número total de capas en las unidades de codificación jerárquica. Como la profundidad máxima de los primeros datos 310 de imagen es 2, una unidad 315 de codificación de los datos 310 de imagen puede incluir una unidad de codificación máxima cuyo tamaño de eje más largo es 64 y unidades de subcodificación cuyos tamaños de eje más largos son 32 y 16, de acuerdo con un aumento de una profundidad. Por otro lado, puesto que la profundidad máxima de los terceros datos 330 de imagen es 1, una unidad 335 de codificación de los datos 330 de imagen puede incluir una unidad de codificación de máxima cuyo eje más largo tamaño es 16 y las unidades de codificación cuyos tamaños eje más largo es 8, según un aumento de una profundidad.
Sin embargo, puesto que la profundidad máxima de los segundos datos 320 de imagen es 3, una unidad 325 de codificación de los datos 320 de imagen puede incluir una unidad de codificación de máxima cuyo eje más largo tamaño es 64 y las unidades de subcodificación cuyos tamaños eje más largo son 32, 16 y 8 según un aumento de una profundidad. Dado que una imagen se codifica en base a una unidad de subcodificación más pequeña a medida que aumenta la profundidad, las realizaciones ejemplares son adecuadas para codificar una imagen que incluye más escenas diminutas.
La figura 4 es un diagrama de bloques de un codificador 400 de imagen basado en una unidad de codificación. Con referencia a la figura 4, un predictor 410 intra realiza predicción intra en unidades de predicción del modo intra en un cuadro 405 actual, y un estimador 420 de movimiento y un compensador 425 de movimiento realizan predicción inter y compensación de movimiento en unidades de predicción del modo inter usando el cuadro 405 actual y un cuadro 495 de referencia.
Los valores residuales se generan basándose en la salida de unidades de predicción desde el predictor 410 intra, el estimador 420 de movimiento y el compensador 425 de movimiento. Los valores residuales generados se emiten como coeficientes de transformación cuantificados pasando a través de un transformador 430 y un cuantificador 440. Los coeficientes de transformación cuantificados se restauran a los valores residuales mediante el paso a través de un cuantificador 460 inverso y un transformador 470 inverso. Los valores residuales restaurados se procesan posteriormente pasando a través de una unidad 480 de desbloqueo y una unidad 490 de filtrado de bucle y se emiten como el cuadro 495 de referencia. Los coeficientes de transformación cuantificados pueden salir como un flujo 455 de bits pasando a través de un codificador 450 de entropía.
Para realizar la codificación basada en un procedimiento de codificación, los componentes del codificador 400 de imagen, es decir, el predictor 410 intra, el estimador 420 de movimiento, el compensador 425 de movimiento, el transformador 430, el cuantificador 440, el codificador 450 de entropía, el cuantificador 460 inverso, el transformador 470 inverso, la unidad 480 de desbloqueo y la unidad 490 de filtrado de bucle, realizan procedimientos de codificación de imagen basados en una unidad de codificación máxima, una unidad de subcodificación según las profundidades, una unidad de predicción, y una unidad de transformación.
La figura 5 es un diagrama de bloques de un decodificador 500 de imagen basado en una unidad de codificación, de acuerdo con una realización ejemplar. Con referencia a la figura 5, un flujo 505 de bits pasa a través de un analizador 510 de modo que se analizan los datos de imagen codificados para decodificar y se analiza la información de codificación utilizada para decodificar. Los datos de imagen codificados se emiten como datos cuantificados inversamente pasando a través de un decodificador 520 de entropía y un cuantificador 530 inverso y restaurados a valores residuales pasando a través de un transformador 540 inverso. Los valores residuales se restauran de acuerdo con las unidades de codificación mediante la adición a un resultado de predicción intra de un predictor 550 intra o un resultado de compensación de movimiento de un compensador 560 de movimiento. Las unidades de codificación restauradas se usan para predecir las siguientes unidades de codificación o una imagen siguiente pasando a través de una unidad 570 de desbloqueo y una unidad 580 de filtrado de bucle.
Para realizar la decodificación basado en un procedimiento de decodificación, los componentes del decodificador 500 de imagen, es decir, el analizador 510, el descodificador 520 de entropía, el cuantificador 530 inverso, el transformador 540 inverso, el predictor 550 intra, el compensador 560 de movimiento, la unidad 570 de desbloqueo y la unidad 580 de filtrado de bucle, realizan procedimientos de decodificación de imágenes basados en una unidad de codificación máxima, una unidad de subcodificación según las profundidades, una unidad de predicción y una unidad de transformación.
En particular, el predictor 550 intra y el compensador 560 de movimiento determina una unidad de predicción y un modo de predicción en una unidad de subcodificación considerando una unidad de codificación máxima y una profundidad, y el transformador 540 inverso realiza la transformación inversa considerando el tamaño de una unidad de transformación.
La figura 6 ilustra una unidad de codificación máxima, una unidad de subcodificación y una unidad de predicción, de acuerdo con una realización ejemplar.
Como se ha descrito anteriormente, el aparato 100 de codificación y el aparato 200 de decodificación utilizan unidades de codificación jerárquica para llevar a cabo la codificación y decodificación en consideración de las características de imagen. Una unidad de codificación máxima y una profundidad máxima se pueden configurar de forma adaptativa según las características de la imagen o se pueden configurar de acuerdo con los requisitos de un usuario.
Con referencia a la figura 6, una estructura 600 de unidad de codificación jerárquica ilustra una unidad 610 de codificación máxima cuya altura y anchura son 64 y la profundidad máxima es 4. Una profundidad aumenta a lo largo de un eje vertical de la estructura 600 de unidad de codificación jerárquica, y a medida que aumenta la profundidad, las alturas y anchuras de las unidades 620 a 650 de subcodificación disminuyen. Las unidades de predicción de la unidad 610 de codificación máxima y las unidades 620 a 650 de subcodificación se muestran a lo largo de un eje horizontal de la estructura 600 de unidad de codificación jerárquica.
La unidad 610 de codificación máxima tiene una profundidad de 0 y un tamaño, es decir, altura y anchura, de 64 * 64. La profundidad aumenta a lo largo del eje vertical, de modo que existe una unidad 620 de subcodificación cuyo tamaño es 32 * 32 y la profundidad es 1, una unidad 630 de subcodificación cuyo tamaño es 16 * 16 y la profundidad es 2, una unidad 640 de subcodificación cuyo el tamaño es 8 * 8 y la profundidad es 3, y una unidad 650 de subcodificación cuyo tamaño es 4 * 4 y la profundidad es 4. La unidad 650 de subcodificación cuyo tamaño es 4 * 4 y la profundidad es 4 es una unidad mínima de codificación. La unidad 650 de codificación mínima puede dividirse en unidades de predicción, cada una de las cuales es menor que la unidad de codificación mínima.
En la realización ilustrada en la figura 6, se muestran ejemplos de una unidad de predicción a lo largo del eje horizontal de acuerdo con cada profundidad. Es decir, una unidad de predicción de la unidad 610 de codificación máxima cuya profundidad es 0 puede ser una unidad de predicción cuyo tamaño es igual a la unidad 610 de codificación, es decir, 64 * 64, o una unidad 612 de predicción cuyo tamaño es 64 * 32, una unidad 614 de predicción cuyo tamaño es 32 * 64, o una unidad 616 de predicción cuyo tamaño es 32 * 32, que tiene un tamaño menor que la unidad 610 de codificación cuyo tamaño es 64 * 64.
Una unidad de predicción de la unidad 620 de codificación cuya profundidad es 1 y el tamaño es de 32 * 32 puede ser una unidad de predicción cuyo tamaño es igual a la unidad 620 de codificación, es decir, 32 x 32, o una unidad 622 de predicción cuyo tamaño es 32 * 16, una unidad 624 de predicción cuyo tamaño es 16 * 32, o una unidad 626 de predicción cuyo tamaño es 16 * 16, que tiene un tamaño menor que la unidad 620 de codificación cuyo tamaño es 32 * 32.
Una unidad de predicción de la unidad 630 de codificación cuya profundidad es 2 y el tamaño es de 16 * 16 puede ser una unidad de predicción cuyo tamaño es igual a la unidad 630 de codificación, es decir, 16 x 16, o una unidad 632 de predicción cuyo tamaño es 16 * 8, una unidad 634 de predicción cuyo tamaño es 8 * 16, o una unidad de predicción 636 cuyo tamaño es 8 * 8, que tiene un tamaño menor que la unidad 630 de codificación cuyo tamaño es 16 * 16.
Una unidad de predicción de la unidad 640 de codificación cuya profundidad es 3 y el tamaño es de 8 x 8 puede ser una unidad de predicción cuyo tamaño es igual a la unidad 640 de codificación, es decir, 8 x 8, o una unidad 642 de predicción, cuyo tamaño es de 8 * 4, una unidad 644 de predicción cuyo tamaño es 4 * 8, o una unidad 646 de predicción cuyo tamaño es 4 * 4, que tiene un tamaño menor que la unidad 640 de codificación cuyo tamaño es 8 * 8.
La unidad 650 de codificación cuya profundidad es 4 y el tamaño es de 4 * 4 es una unidad de codificación mínimo y una unidad de codificación de una profundidad máxima. Una unidad de predicción de la unidad 650 de codificación puede ser una unidad de predicción 650 cuyo tamaño es 4 * 4, una unidad 652 de predicción que tiene un tamaño de 4 * 2, una unidad 654 de predicción que tiene un tamaño de 2 * 4 o una unidad 656 de predicción que tiene un tamaño de 2 * 2.
La figura 7 ilustra una unidad de codificación y una unidad de transformación. El aparato 100 de codificación y el aparato 200 de decodificación, de acuerdo con una o más realizaciones ejemplares, realizan la codificación con una unidad de codificación máxima en sí misma o con unidades de subcodificación, que son iguales o menores que la unidad de codificación máxima y divididas de la unidad de codificación máxima.
En el procedimiento de codificación, el tamaño de una unidad de transformación para la transformación de frecuencia se selecciona para ser mayor que la de una unidad de codificación correspondiente. Por ejemplo, cuando una unidad 710 de codificación actual tiene un tamaño de 64 * 64, la transformación de frecuencia puede realizarse usando una unidad 720 de transformación que tiene un tamaño de 32 * 32.
Las figuras 8A y 8B ilustran formas de división de una unidad de codificación, una unidad de predicción y una unidad de transformación, de acuerdo con una realización ejemplar. La figura 8A ilustra una unidad de codificación y una unidad de predicción.
Un lado izquierdo de la figura 8A muestra una forma de división seleccionada por un aparato 100 de codificación para codificar una unidad 810 de codificación máxima. El aparato 100 divide la unidad 810 de codificación máxima en varias formas, realiza la codificación y selecciona una forma de división óptima comparando los resultados de codificación de varias formas de división entre sí en base al coste de R-D. Cuando es óptimo que la unidad 810 de codificación máxima esté codificada tal cual, la unidad 810 de codificación máxima puede codificarse sin dividir la unidad 810 de codificación máxima como se ilustra en las figuras 8Ay 8B.
Con referencia al lado izquierdo de la figura 8A, la unidad 810 de codificación máxima cuya profundidad es 0 se codifica dividiendo la unidad de codificación máxima en unidades de subcodificación cuyas profundidades son iguales o mayores que 1. Es decir, la unidad 810 de codificación máxima se divide en 4 unidades de subcodificación cuyas profundidades son 1, y todas o algunas de las unidades de subcodificación cuyas profundidades son 1 se dividen en unidades de subcodificación cuyas profundidades son 2.
Una unidad de subcodificación situada en un lado superior derecho y una unidad de subcodificación situada en un lado inferior izquierdo entre las unidades de subcodificación cuyas profundidades son 1 están divididos en unidades de subcodificación cuyas profundidades son igual o mayor que 2. Algunas de las unidades de subcodificación cuyas profundidades son iguales o superiores a 2 pueden dividirse en unidades de subcodificación cuyas profundidades son iguales o superiores a 3.
El lado derecho de la figura 8A muestra una forma de división de una unidad de predicción para la unidad 810 de codificación máxima. Con referencia al lado derecho de la figura 8A, una unidad 860 de predicción para la unidad 810 de codificación máxima puede dividirse de manera diferente de la unidad 810 de codificación máxima. En otras palabras, una unidad de predicción para cada una de las unidades de subcodificación puede ser más pequeña que una unidad de subcodificación correspondiente.
Por ejemplo, una unidad de predicción para una unidad 854 de subcodificación situada en un lado inferior derecho entre las unidades de subcodificación cuyas profundidades son de 1 puede ser menor que la unidad 854 de subcodificación. Además, las unidades de predicción para algunas unidades 814, 816, 850 y 852 de subcodificación de las unidades 814, 816, 818, 828, 850 y 852 de subcodificación cuyas profundidades son 2 pueden ser más pequeñas que las unidades 814, 816, 850 y 852 de subcodificación, respectivamente. Además, las unidades de predicción para las unidades 822, 832 y 848 de subcodificación cuyas profundidades son 3 pueden ser más pequeñas que las unidades 822, 832 y 848 de subcodificación, respectivamente. Las unidades de predicción pueden tener una forma en la que las respectivas unidades de subcodificación se dividan por igual en dos en una dirección de altura o anchura o pueden tener una forma en la que las unidades de subcodificación respectivas se dividan igualmente por cuatro en direcciones de altura y anchura.
La figura 8B ilustra una unidad de predicción y una unidad de transformación. Un lado izquierdo de la figura 8B muestra una forma de división de una unidad de predicción para la unidad 810 de codificación máxima mostrada en el lado derecho de la figura 8A, y un lado derecho de la figura 8B muestra una forma de división de una unidad de transformación de la unidad 810 de codificación máxima.
Con referencia al lado derecho de la figura 8B, una forma de división de una unidad 870 de transformación puede establecerse de manera diferente a la unidad 860 de predicción. Por ejemplo, aunque una unidad de predicción para la unidad 854 de codificación cuya profundidad es 1 se selecciona con una forma por la cual la altura de la unidad 854 de codificación se divide por igual entre dos, una unidad de transformación se puede seleccionar con el mismo tamaño que la unidad 854 de codificación. Del mismo modo, a pesar de que las unidades de predicción para las unidades 814 y 850 de codificación cuyas profundidades son 2 se seleccionan con una forma en la que la altura de cada una de las unidades 814 y 850 de codificación se divide por igual, se puede seleccionar una unidad de transformación con el mismo tamaño que El tamaño original de cada una de las unidades 814 y 850 de codificación. Una unidad de transformación se puede seleccionar con un tamaño más pequeño que una unidad de predicción. Por ejemplo, cuando una unidad de predicción para la unidad 852 de codificación cuya profundidad es 2 se selecciona con una forma por la cual el ancho de la unidad 852 de codificación se divide por igual por dos, se puede seleccionar una unidad de transformación con una forma por la cual la unidad 852 de codificación es igualmente dividida por cuatro en direcciones de altura y anchura, que tiene un tamaño menor que la forma de la unidad de predicción.
La figura 9 es un diagrama de bloques de un aparato 900 para codificar una imagen. El aparato 900 para codificar un vector de movimiento puede incluirse en el aparato 100 descrito anteriormente con referencia a la figura 1 o el codificador 400 de imagen descrito anteriormente con referencia a la figura 4. Con referencia a la figura 9, el aparato 900 de codificación del vector de movimiento incluye un predictor 910, un primer codificador 920 y un segundo codificador 930.
Con el fin de descodificar un bloque codificado usando predicción inter, es decir, la predicción entre imágenes, se utiliza la información sobre un vector de movimiento que indica una diferencia de posición entre un bloque actual y un bloque similar en una imagen de referencia. Por lo tanto, la información sobre los vectores de movimiento se codifica y se inserta en una corriente de bits en un procedimiento de codificación de imágenes. Sin embargo, si la información sobre los vectores de movimiento se codifica e inserta como está, aumenta la sobrecarga para codificar la información sobre los vectores de movimiento, disminuyendo así la relación de compresión de los datos de imagen.
Por lo tanto, en un procedimiento de codificación de imagen, la información sobre un vector de movimiento se comprime mediante la predicción de un vector de movimiento de un bloque actual, que codifica solamente un vector diferencial entre un predictor del vector de movimiento generado como resultado de la predicción y un vector de movimiento original, e insertando el vector diferencial codificado en una corriente de bits. La figura 9 ilustra un aparato 900 para codificar un vector de movimiento que usa dicho predictor del vector de movimiento.
Con referencia a la figura 9, el predictor 910 determina si un vector de movimiento de un bloque actual está codificado por predicción en base a un modo explícito o un modo implícito.
Como se describió anteriormente, un codificador-decodificador, tal como MPEG-4 H.264/MPEG-4 AVC utiliza vectores de movimiento de bloques previamente codificados adyacente a un bloque actual para predecir un vector de movimiento del bloque actual. Es decir, se utiliza una mediana de vectores de movimiento de bloques codificados previamente adyacentes a los lados izquierdo, superior y superior derecho del bloque actual como un predictor del vector de movimiento del bloque actual. Dado que los vectores de movimiento de todos los bloques codificados usando predicción inter se predicen usando el mismo procedimiento, la información sobre un predictor del vector de movimiento no tiene que codificarse por separado. Sin embargo, el aparato 100 o el decodificador 400 de imagen de acuerdo con una o más realizaciones ejemplares usa un modo en el que la información sobre un predictor del vector de movimiento no se codifica por separado y un modo en el que la información sobre un predictor del vector de movimiento se codifica para predecir más exactamente un vector de movimiento, que ahora se describirá en detalle. (1) Modo explícito
Uno de los procedimientos de codificación de un predictor del vector de movimiento, que puede ser seleccionado por el predictor 910, puede implementar un modo de codificar explícitamente la información sobre un predictor del vector de movimiento de un bloque actual. Este modo explícito es un modo de calcular al menos un candidato predictor del vector de movimiento y codificar por separado la información que indica qué predictor del vector de movimiento se utiliza para predecir un vector de movimiento de un bloque actual. Los candidatos predictores del vector de movimiento según una o más realizaciones ejemplares se describirán ahora con referencia a las figuras 10A, 10B y 11A a 11C.
Las figuras 10A y 10B ilustran candidatos predictores del vector de movimiento de un modo explícito, de acuerdo con una o más realizaciones ejemplares. Con referencia a la figura 10A, un procedimiento de predicción de vector de movimiento puede usar uno de los vectores de movimiento de bloques codificados previamente adyacentes a un bloque actual como un predictor del vector de movimiento del bloque actual. Un bloque a0 en el extremo izquierdo entre los bloques adyacentes a un lado superior del bloque actual, un bloque b0 en el extremo superior entre los bloques adyacentes a un lado izquierdo del mismo, un bloque c adyacente a un lado superior derecho del mismo, un bloque d adyacente a un lado superior izquierdo del mismo, y un bloque e adyacente a un lado inferior izquierdo del mismo puede usarse para predictores del vector de movimiento del bloque actual.
Con referencia a la figura 10B, los vectores de movimiento de todos los bloques adyacentes a un bloque actual pueden usarse como predictores del vector de movimiento del bloque actual. En otras palabras, los vectores de movimiento no solo de un bloque a0 en el extremo izquierdo entre los bloques adyacentes a un lado superior del bloque actual, sino que todos los bloques adyacentes al lado superior del mismo pueden usarse como predictores de vectores de movimiento del bloque actual. Además, los vectores de movimiento de no solo un bloque b0 en la parte superior entre los bloques adyacentes a un lado izquierdo del mismo, sino que todos los bloques adyacentes al lado izquierdo del mismo pueden usarse como predictores del vector de movimiento del bloque actual.
Como alternativa, se puede usar un valor medio de vectores de movimiento de bloques adyacentes como un predictor del vector de movimiento. Por ejemplo, la mediana (mv_ a0, mv_ b0, mv_c) puede usarse como un predictor del vector de movimiento del bloque actual, en el que mv_ a0 denota un vector de movimiento del bloque a0, mv_ b0 denota un vector de movimiento del bloque b0 y mv_c denota un vector de movimiento del bloque c. Las figuras 11A a 11C ilustran candidatos predictores del vector de movimiento de un modo explícito, de acuerdo con otra realización ejemplar. La figura 11A ilustra un procedimiento para calcular un predictor del vector de movimiento de una imagen predictiva bidireccional (denominada imagen B), de acuerdo con una realización ejemplar. Cuando una imagen actual que incluye un bloque actual es una imagen B en la que se realiza una predicción bidireccional, un vector de movimiento generado en base a una distancia temporal puede ser un predictor del vector de movimiento.
Con referencia a la figura 11A, se puede generar un predictor del vector de movimiento de un bloque 1100 actual de una imagen 1110 actual usando un vector de movimiento de un bloque 1120 en una posición de ubicación conjunta de una imagen 1112 temporalmente anterior. Por ejemplo, si se genera un vector de movimiento mv_colA del bloque 1120 en una posición de ubicación conjunta con el bloque 1100 actual para un bloque 1122 buscado de una imagen 1114 siguiente temporalmente de la imagen 1110 actual, los candidatos de predictores del vector de movimiento mv_L0Ay mv_L1Adel bloque 1100 actual se puede generar de acuerdo con las ecuaciones siguientes:
m v_L 1 A=(t1/t2 )x m v_colA
mv_L0A=mv_L1A-mv_colA
donde mv_L0A denota un predictor del vector de movimiento del bloque 1100 actual para la imagen 1112 precedente temporalmente, y mv_L1A denota un predictor del vector de movimiento del bloque 1100 actual para la imagen 1114 siguiente temporalmente.
La figura 11B ilustra un procedimiento para generar un predictor del vector de movimiento de una imagen B, de acuerdo con otra realización ejemplar. En comparación con el procedimiento ilustrado en la figura 11A, un bloque 1130 en una posición co-ubicada con el bloque 1100 actual existe en la imagen 1114 siguiente temporalmente en la figura 11B.
Con referencia a la figura 11B, se puede generar un predictor del vector de movimiento del bloque 1100 actual de la imagen 1110 actual usando un vector de movimiento de un bloque 1130 en una posición de ubicación conjunta de la imagen 1114 siguiente temporalmente. Por ejemplo, si se genera un vector de movimiento mv_colB del bloque 1130 en una posición de ubicación conjunta con el bloque 1100 actual para un bloque 1132 buscado de la imagen 1112 precedente temporalmente de la imagen 1110 actual, los candidatos de predictores del vector de movimiento mv_L0B y mv_L1B del bloque 1100 actual se puede generar de acuerdo con las ecuaciones siguientes:
mv_L0B=(t3/t4)xmv_colB
mv_L1 B=mv_LOB-mv_colB
donde mv_L0B denota un predictor del vector de movimiento del bloque 1100 actual para la imagen 1112 precedente temporalmente, y mv_L1B denota un predictor del vector de movimiento del bloque 1100 actual para la imagen 1114 siguiente temporalmente.
En la generación de un vector de movimiento del bloque 1100 actual de una imagen B, se puede usar al menos uno de los procedimientos ilustrados en las figuras 11Ay 11B. En otras palabras, dado que se genera un predictor del vector de movimiento usando un vector de movimiento y una distancia temporal del bloque 1120 o 1130 en una posición de ubicación conjunta con el bloque 1100 actual, se pueden generar predictores del vector de movimiento usando los procedimientos ilustrados en las figuras 11A y 11B si existen vectores de movimiento de los bloques 1120 y 1130 en la posición de ubicación conjunta. Por lo tanto, el predictor 910 puede generar un predictor del vector de movimiento del bloque 1100 actual usando solo un bloque que tiene un vector de movimiento entre los bloques 1120 y 1130 en la posición de ubicación conjunta.
Por ejemplo, cuando el bloque 1120 en una posición de ubicación conjunta de la imagen 1112 precedente temporalmente se codifica usando predicción intra en lugar de predicción inter, un vector de movimiento del bloque 1120 no existe, y por tanto un predictor del vector de movimiento del bloque 1100 actual no puede generarse usando el procedimiento de generar un predictor del vector de movimiento como se ilustra en la figura 11A.
La figura 11C ilustra un procedimiento para generar un predictor del vector de movimiento de una imagen B. Con referencia a la figura 11C, se puede generar un predictor del vector de movimiento del bloque 1100 actual de la imagen 1110 actual usando un vector de movimiento de un bloque 1140 en una posición de ubicación conjunta de la imagen 1112 temporalmente anterior. Por ejemplo, si se genera un vector de movimiento mv_coIC del bloque 1130 en una posición de ubicación conjunta con el bloque 1100 actual para un bloque 1142 buscado de otra imagen 1116 temporalmente anterior, se puede obtener un candidato predictor del vector de movimiento mv_L0C del bloque 1100 actual generado de acuerdo con la siguiente ecuación:
mv_L0C-(t6/t5)*mv_colC.
Puesto que la imagen 1110 actual es una imagen P, el número de predictores del vector de movimiento del bloque 1100 actual es 1, a diferencia de las figuras 11A y 11B.
En resumen, un conjunto C de candidatos de predicción de vectores de movimiento según las figuras 10A, 10B y 11A a 11C se pueden generar de acuerdo con la siguiente ecuación:
C = {median(mv_aO, mv_bO, mv_c), mv_aO, mv_a1..., mv_aN, mv_bO, mv_b1,... , mv_bN, mv_c, mv_d, mv_e, mvjemporal}.
Alternativamente, el conjunto C puede generarse reduciendo el número de candidatos predictores del vector de movimiento de acuerdo con la siguiente ecuación:
C = {median(mv_a', mv_b', mv_c'), mv_a', mv_b', mv_c', mvjemporal}.
Aquí, mv_x denota un vector de movimiento de un bloque x, mediana () denota un valor mediano, y mvjemporal denota candidatos predictores del vector de movimiento generados usando una distancia temporal descrita anteriormente en asociación con las figuras 11A a 11C.
Además, mv_a' representa un vector de movimiento primera válida entre mv_a0, mv_a1 ..., mv_aN. Por ejemplo, cuando un bloque a0 se codifica utilizando predicción intra, un vector de movimiento mv_a0 del bloque a0 no es válido, y por lo tanto mv_a' = mv_a1, y si un vector de movimiento de un bloque a1 tampoco es válido, mv_a' = mv_a2.
Del mismo modo, mv_b' denota un primer vector de movimiento válido entre mv_b0, mv_b1 ..., mv_bN, y mv_c' denota un primer vector de movimiento válido entre mv_c, mv_d, y mv_e.
El modo explícito es un modo de codificación de la información que indica que el vector de movimiento se ha utilizado para un predictor del vector de movimiento de un bloque actual. Por ejemplo, cuando un vector de movimiento se codifica en el modo explícito, se puede asignar un número binario a cada uno de los elementos del conjunto C, es decir, los candidatos predictores del vector de movimiento, y si uno de los candidatos se utiliza como un predictor del vector de movimiento de un bloque actual, se puede emitir un número binario correspondiente. Los expertos en la técnica entenderán fácilmente que se pueden usar otros candidatos predictores de vectores de movimiento además de los descritos anteriormente en asociación con el modo explícito.
(2) Modo implícito
Otro de los procedimientos de codificación de un predictor del vector de movimiento, que puede ser seleccionado por el predictor 910, implementa un modo de codificación de la información que indica que un predictor del vector de movimiento de un bloque actual se genera sobre la base de bloques o píxeles incluidos en un área previamente codificada adyacente al bloque actual. A diferencia del modo explícito, este modo es un modo de codificación de información que indica la generación de un predictor del vector de movimiento en el modo implícito sin codificar información para especificar un predictor del vector de movimiento.
Como se describió anteriormente, un codificador-decodificador, tal como MPEG-4 H.264/MPEG-4 AVC utiliza vectores de movimiento de bloques previamente codificados adyacente a un bloque actual para predecir un vector de movimiento del bloque actual. Es decir, se utiliza una mediana de vectores de movimiento de bloques codificados previamente adyacentes a los lados izquierdo, superior y superior derecho del bloque actual como un predictor del vector de movimiento del bloque actual. En este caso, a diferencia del modo explícito, la información para seleccionar uno de los candidatos predictores del vector de movimiento puede no estar codificada.
En otras palabras, si solo la información que indica que un predictor del vector de movimiento de un bloque actual ha sido codificada en el modo implícito se codifica en un procedimiento de codificación de imagen, un valor de la mediana de los vectores de movimiento de bloques previamente codificados adyacentes a izquierda, superior, y los lados superior derecho del bloque actual se pueden usar como un predictor del vector de movimiento del bloque actual en un procedimiento de decodificación de imágenes.
Además, un procedimiento de codificación de imágenes proporciona un nuevo modo implícito además del procedimiento de utilización de un valor de la mediana de los vectores de movimiento de bloques previamente codificados adyacentes a izquierda, superior, y los lados superiores derecho de un bloque actual como un predictor del vector de movimiento del bloque actual. Esto se describirá ahora en detalle con referencia a la figura 12.
La figura 12 ilustra un procedimiento para generar un predictor del vector de movimiento en un modo implícito. Con referencia a la figura 12, los píxeles 1222 incluidos en un área 1220 previamente codificada adyacente a un bloque 1200 actual de una imagen 1210 actual se usan para generar un predictor del vector de movimiento del bloque 1200 actual. Los píxeles 1224 correspondientes se determinan buscando una imagen 1212 de referencia usando los píxeles 1222 adyacentes. Los píxeles 1224 correspondientes se pueden determinar calculando una Suma de Diferencias Absolutas (SAD). Cuando se determinan los píxeles 1224 correspondientes, se genera un vector de movimiento mv_plantilla de los píxeles 1222 adyacentes, y el vector de movimiento mv_plantilla puede usarse como un predictor del vector de movimiento del bloque 1200 actual.
Si un modo de usar una mediana de vectores de movimiento de bloques adyacentes como un predictor del vector de movimiento se define como "modo implícito_1", y si un modo de generar un predictor del vector de movimiento usando píxeles adyacentes a un bloque actual se define como " modo implícito_2 ", se puede generar un predictor del vector de movimiento usando uno de los dos modos implícitos modo implícito_1 y modo implícito_2 codificando información sobre uno de los dos modos implícitos en un procedimiento de codificación de imagen y haciendo referencia a la información sobre un modo en una decodificación de imagen procedimiento.
(3) Selección de modo
Puede haber varios criterios para que el predictor 910 seleccione uno de los modos explícito e implícito descritos anteriormente.
Dado que uno de una pluralidad de candidatos de predictor del vector de movimiento se selecciona en el modo explícito, un predictor del vector de movimiento más similar a un vector de movimiento de un bloque actual puede ser seleccionado. Sin embargo, dado que la información que indica uno de una pluralidad de candidatos predictores del vector de movimiento está codificada, puede producirse una sobrecarga mayor que en los modos implícitos. Por lo tanto, para una unidad de codificación que tiene un gran tamaño, un vector de movimiento puede codificarse en el modo explícito porque la probabilidad de aumentar un error cuando un vector de movimiento se predice erróneamente es mayor para una unidad de codificación que tiene un gran tamaño que una unidad de codificación tener un tamaño pequeño y el número de tiempos de ocurrencia de sobrecarga disminuye para cada imagen.
Por ejemplo, cuando una imagen dividida en partes iguales en la codificación de m unidades que tienen un tamaño de 64 x 64 se codifica en el modo explícito, el número de veces de la ocurrencia de arriba es m. Sin embargo, cuando una imagen, que tiene el mismo tamaño, dividida equitativamente en unidades de codificación de 4 m con un tamaño de 32 x 32, se codifica en el modo explícito, el número de veces de sobrecarga es de 4 m.
Por consiguiente, el predictor 910 puede seleccionar uno del modo explícito y el modo implícito basado en el tamaño de una unidad de codificación cuando se codifica un vector de movimiento de un bloque actual.
Dado que el tamaño de una unidad de codificación en el procedimiento de codificación de imagen y el procedimiento de decodificación de imagen descritas anteriormente con referencia a las figuras 1 a 8 se representa usando una profundidad, el predictor 910 determina en base a la profundidad de un bloque actual si un vector de movimiento del bloque actual está codificado en el modo explícito o en el modo implícito. Por ejemplo, cuando las unidades de codificación cuyas profundidades son 0 y 1 se predicen entre sí, los vectores de movimiento de las unidades de codificación se codifican en el modo explícito, y cuando las unidades de codificación cuyas profundidades son iguales o mayores a 2 se predicen entre sí, los vectores de movimiento de las unidades de codificación están codificadas en el modo implícito.
El predictor 910 puede seleccionar el modo explícito o el modo implícito para cada imagen o unidad de porción. Dado que las características de la imagen son diferentes para cada imagen o unidad de porción, el modo explícito o el modo implícito se pueden seleccionar para cada imagen o unidad de porción considerando estas características de imagen. Los vectores de movimiento de las unidades de codificación incluidas en una imagen o segmento actual se pueden codificar mediante predicción seleccionando un modo óptimo entre el modo explícito y el modo implícito en consideración del coste de R-D.
Por ejemplo, si los vectores de movimiento de las unidades de codificación incluidos en una imagen o porción pueden predecirse exactamente sin usar el modo explícito, los vectores de movimiento de todas las unidades de codificación incluidas en la imagen o porción pueden codificarse con predicción en el modo implícito.
El predictor 910 puede seleccionar el modo explícito o el modo implícito en función de si un bloque actual se ha codificado en el modo de omisión. El modo de omisión es un modo de codificación en el que la información del indicador que indica que se ha codificado un bloque actual en el modo de omisión se codifica sin codificar un valor de píxel.
Además, el modo de omisión es un modo en el que el valor de píxel de un bloque actual no está codificado ya que un bloque de predicción generado al realizar la compensación de movimiento usando un predictor del vector de movimiento como un vector de movimiento del bloque actual es similar al bloque actual. Por lo tanto, como un predictor del vector de movimiento se genera de manera más similar a un vector de movimiento de un bloque actual, la probabilidad de codificar el bloque actual en el modo de omisión es mayor. En consecuencia, un bloque codificado en el modo de omisión puede codificarse en el modo explícito.
Con referencia de nuevo a la figura 9, cuando el predictor 910 selecciona uno del modo explícito y el modo implícito y determina un predictor del vector de movimiento de acuerdo con el modo seleccionado, el primer codificador 920 y el segundo codificador 930 codifican información sobre un modo de codificación y un vector de movimiento.
Específicamente, el primer codificador 920 codifica información sobre un predictor del vector de movimiento de un bloque actual. Con más detalle, cuando el predictor 910 determina que un vector de movimiento del bloque actual está codificado en modo explícito, el primer codificador 920 codifica información que indica que se ha generado un predictor del vector de movimiento en modo explícito e información que indica qué predictor del vector de movimiento candidato se ha utilizado como el predictor del vector de movimiento del bloque actual.
Por el contrario, cuando el predictor 910 selecciona que el vector de movimiento del bloque actual se codifica en el modo implícito, el primer codificador 920 codifica la información que indica que el predictor del vector de movimiento del bloque actual se ha generado en el modo implícito. En otras palabras, el primer codificador 920 codifica información que indica que el predictor del vector de movimiento del bloque actual se ha generado usando bloques o píxeles adyacentes al bloque actual. Si se usan dos o más modos implícitos, el primer codificador 920 puede codificar adicionalmente información que indica qué modo implícito se ha usado para generar el predictor del vector de movimiento del bloque actual.
El segundo codificador 930 codifica un vector de movimiento de un bloque actual basado en un predictor del vector de movimiento determinado por el predictor 910. Alternativamente, el segundo codificador 930 genera un vector de diferencia restando el predictor del vector de movimiento generado por el predictor 910 del vector de movimiento del bloque actual generado como resultado de la compensación de movimiento y codifica información sobre el vector de diferencia.
La figura 13 es un diagrama de bloques de un aparato 1300 para codificar una imagen, de acuerdo con una realización ejemplar. El aparato 1300 para decodificar el vector de movimiento puede incluirse en el aparato 200 de decodificación de imagen descrito anteriormente con referencia a la figura 2 o el decodificador 500 de imagen descrito anteriormente con referencia a la figura 5. Con referencia a la figura 13, un aparato 1300 de decodificación del vector de movimiento incluye un primer decodificador 1310, un segundo decodificador 1320, un predictor 1330 y un restaurador 1340 de vector de movimiento.
El primer decodificador 1310 decodifica la información sobre un predictor del vector de movimiento de un bloque actual, que se incluye en una corriente de bits. En detalle, el primer decodificador 1310 decodifica información que indica si el predictor del vector de movimiento del bloque actual se ha codificado en el modo explícito o en el modo implícito. Cuando el predictor del vector de movimiento del bloque actual se ha codificado en el modo explícito, el primer decodificador 1310 descodifica adicionalmente información que indica un predictor del vector de movimiento utilizado como predictor del vector de movimiento del bloque actual entre una pluralidad de predictores del vector de movimiento. Cuando el predictor del vector de movimiento del bloque actual se ha codificado en el modo implícito, el primer decodificador 1310 puede decodificar adicionalmente información que indica cuál de una pluralidad de modos implícitos se ha utilizado para codificar el predictor del vector de movimiento del bloque actual.
El segundo decodificador 1320 decodifica un vector de diferencia entre un vector de movimiento y el vector de movimiento de predicción del bloque actual incluido en la corriente de bits.
El predictor 1330 genera un predictor del vector de movimiento del bloque actual basado en la información sobre el predictor del vector de movimiento del bloque actual, que ha sido decodificado por el primer decodificador 1310. Cuando se decodifica la información sobre el predictor del vector de movimiento del bloque actual, que ha sido codificado en el modo explícito, el predictor 1330 genera un predictor del vector de movimiento entre los candidatos de predictores del vector de movimiento descritos anteriormente con referencia a las figuras 10A, 10B y 11A a 11C y utiliza el predictor del vector de movimiento generado como el predictor del vector de movimiento del bloque actual. Cuando se decodifica la información sobre el predictor del vector de movimiento del bloque actual, que ha sido codificado en el modo implícito, el predictor 1330 genera el predictor del vector de movimiento del bloque actual usando bloques o píxeles incluidos en un área previamente codificada adyacente al bloque actual. Con más detalle, el predictor 1330 genera un valor medio de vectores de movimiento de bloques adyacentes al bloque actual como el predictor del vector de movimiento del bloque actual o genera el predictor del vector de movimiento del bloque actual buscando una imagen de referencia usando píxeles adyacentes al bloque actual.
El vector de movimiento restaurador 1340 restaura un vector de movimiento del bloque actual sumando el predictor del vector de movimiento generado por el predictor 1330 y el vector de diferencia decodificado por el segundo decodificador 1320. El vector de movimiento restaurado se usa para la compensación de movimiento del bloque actual.
La figura 14 es un diagrama de flujo que ilustra un procedimiento para decodificar un vector de movimiento. Con referencia a la figura 14, un aparato 900 de codificación del vector de movimiento se selecciona uno de un modo explícito y un modo implícito como un modo de codificación de información sobre un predictor del vector de movimiento en la operación 1410.
El modo explícito es un modo de codificación de información que indica un candidato predictor del vector de movimiento entre al menos un candidato predictor del vector de movimiento como información sobre un predictor del vector de movimiento, y el modo implícito es un modo de codificación de información que indica que un predictor del vector de movimiento se ha generado en base a bloques o píxeles incluidos en un área previamente codificada adyacente a un bloque actual como información sobre el predictor del vector de movimiento. Se han dado descripciones detalladas de los mismos anteriormente con referencia a las figuras 10A, 10B, 11A a 11C y 12.
Se puede seleccionar un modo basado en el tamaño de un bloque actual, es decir, una profundidad del bloque actual, o se puede seleccionar en una unidad de una imagen o porción actual en el que se incluye el bloque actual. Alternativamente, se puede seleccionar un modo según si el bloque actual se ha codificado en un modo de omisión. En la operación 1420, el aparato 900 de codificación del vector de movimiento determina un predictor del vector de movimiento de acuerdo con el modo seleccionado en la operación 1410. En detalle, el aparato 900 de codificación del vector de movimiento determina un predictor del vector de movimiento del bloque actual en base al modo explícito o modo implícito seleccionado en la operación 1410. Con más detalle, el aparato 900 de codificación del vector de movimiento determina un candidato predictor del vector de movimiento entre al menos un candidato predictor del vector de movimiento como el predictor del vector de movimiento del bloque actual en el modo explícito o determina el predictor del vector de movimiento del bloque actual basado en bloques o píxeles adyacentes al bloque actual en el modo implícito.
En la operación 1430, el aparato 900 de codificación del vector de movimiento codifica información sobre el predictor del vector de movimiento determinado en la operación 1420. En el caso del modo explícito, el aparato 900 de codificación del vector de movimiento codifica información que indica un candidato predictor del vector de movimiento entre al menos un candidato predictor del vector de movimiento como el predictor del vector de movimiento del bloque actual y la información que indica esa información sobre el predictor del vector de movimiento del bloque actual ha sido codificado en el modo explícito. En el caso del modo implícito, el aparato 900 de codificación del vector de movimiento codifica información que indica que el predictor del vector de movimiento del bloque actual se ha generado en base a bloques o píxeles incluidos en un área previamente codificada adyacente al bloque actual. En el caso de una pluralidad de modos implícitos, el aparato 900 de codificación del vector de movimiento puede codificar adicionalmente información que indica uno de la pluralidad de modos implícitos.
En la operación 1440, el aparato 900 de codificación del vector de movimiento codifica un vector de diferencia generado al restar el predictor del vector de movimiento determinado en la operación 1420 de un vector de movimiento del bloque actual.
La figura 15 es un diagrama de flujo que ilustra un procedimiento para decodificar un vector de movimiento. Con referencia a la figura 15, un aparato 1300 de decodificación del vector de movimiento decodifica información sobre un predictor del vector de movimiento de un bloque actual, que está incluido en una corriente de bits, en la operación 1510. En detalle, el aparato 1300 de decodificación del vector de movimiento decodifica información sobre un modo usado para codificar el predictor del vector de movimiento del bloque actual entre un modo explícito y un modo implícito.
En el caso del modo explícito, el aparato 1300 de decodificación del vector de movimiento decodifica información que indica que el predictor del vector de movimiento del bloque actual se ha codificado en el modo explícito e información sobre un candidato predictor del vector de movimiento entre al menos un vector de movimiento candidato predictor. En el caso del modo implícito, el aparato 1300 de decodificación del vector de movimiento decodifica información que indica que el predictor del vector de movimiento del bloque actual se ha generado en base a bloques o píxeles incluidos en un área previamente decodificada adyacente al bloque actual. En el caso de una pluralidad de modos implícitos, el aparato 1300 de decodificación del vector de movimiento puede decodificar adicionalmente información que indica uno de la pluralidad de modos implícitos.
En la operación 1520, el aparato 1300 de decodificación del vector de movimiento decodifica información sobre un vector de diferencia. El vector de diferencia es un vector de diferencia entre el predictor del vector de movimiento del bloque actual y un vector de movimiento del bloque actual.
En la operación 1530, el aparato 1300 de decodificación del vector de movimiento genera el predictor del vector de movimiento del bloque actual en base a la información sobre el predictor del vector de movimiento, que se ha decodificado en la operación 1510. En detalle, el aparato 1300 de decodificación del vector de movimiento genera el predictor del vector de movimiento del bloque actual de acuerdo con el modo explícito o el modo implícito. Con más detalle, el aparato 1300 de decodificación del vector de movimiento genera el predictor del vector de movimiento del bloque actual seleccionando un candidato predictor del vector de movimiento entre al menos un candidato predictor del vector de movimiento o usando bloques o píxeles incluidos en un área previamente decodificada adyacente al bloque actual.
En la operación 1540, el aparato 1300 de decodificación del vector de movimiento restaura el vector de movimiento del bloque actual sumando el vector de diferencia decodificado en la operación 1520 y el predictor del vector de movimiento generado en la operación 1530.
Mientras que se han mostrado y descrito particularmente realizaciones ejemplares anteriormente, se entenderá por los expertos en la materia que se pueden realizar diversos cambios en forma y en detalles sin apartarse del alcance del presente concepto inventivo según lo definido en las siguientes reivindicaciones.
Además, un procedimiento de acuerdo con un ejemplo de realización se puede implementar utilizando un código legible por ordenador en un medio de grabación legible por ordenador. Por ejemplo, un aparato 200 para decodificar una imagen, un decodificador 500, y un aparato 1300 de decodificación del vector de movimiento, pueden incluir un bus acoplado a unidades de cada uno de los dispositivos mostrados en las figuras 1, 2, 4, 5, 9 y 13 y al menos un procesador conectado al bus. Además, una memoria acoplada a al menos un procesador para realizar comandos como se describió anteriormente puede incluirse y conectarse al bus para almacenar los comandos y los mensajes recibidos o mensajes generados.

Claims (1)

REIVINDICACIONES
1. Un procedimiento de decodificación de un vector de movimiento para un bloque actual de una imagen codificada que forma parte de un flujo de bits, comprendiendo el procedimiento:
decodificar un modo de predicción del bloque actual del flujo de bits (1510);
cuando el modo de predicción del bloque actual es predicción inter y se determina un predictor de vector de movimiento del bloque actual basándose en una información del predictor de vector de movimiento que indica el predictor de vector de movimiento del bloque actual, recibir la información del predictor del vector de movimiento del flujo de bits,
determinar los candidatos del predictor del vector de movimiento mediante el uso de vectores de movimiento de bloques previamente decodificados adyacentes al bloque actual y determinar el predictor del vector de movimiento del bloque actual, que es un vector de movimiento seleccionado entre los candidatos de predictores de vector de movimiento, basándose en la información (1530) del predictor del vector de movimiento; y obtener un vector de movimiento del bloque actual basándose en el predictor de vector de movimiento y un vector diferencial obtenido del flujo (1520, 1540) de bits,
en el que los bloques previamente decodificados comprenden un primer bloque ubicado en un lado inferior izquierdo del bloque actual y ubicado fuera del bloque actual, es decir, directamente debajo de un bloque más bajo entre los bloques izquierdos adyacentes a un lado izquierdo del bloque actual, y un segundo bloque ubicado en un lado superior del primer bloque.
ES13185337T 2009-08-13 2010-08-13 Procedimiento para decodificar vectores de movimiento Active ES2751334T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090074896A KR101452859B1 (ko) 2009-08-13 2009-08-13 움직임 벡터를 부호화 및 복호화하는 방법 및 장치

Publications (1)

Publication Number Publication Date
ES2751334T3 true ES2751334T3 (es) 2020-03-31

Family

ID=43586682

Family Applications (4)

Application Number Title Priority Date Filing Date
ES13185337T Active ES2751334T3 (es) 2009-08-13 2010-08-13 Procedimiento para decodificar vectores de movimiento
ES15168128T Active ES2751523T3 (es) 2009-08-13 2010-08-13 Aparato y procedimiento de decodificación de una imagen
ES13185335T Active ES2751356T3 (es) 2009-08-13 2010-08-13 Aparato de decodificación de vectores en movimiento
ES13185336T Active ES2751973T3 (es) 2009-08-13 2010-08-13 Procedimiento de decodificación de vectores de movimiento

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES15168128T Active ES2751523T3 (es) 2009-08-13 2010-08-13 Aparato y procedimiento de decodificación de una imagen
ES13185335T Active ES2751356T3 (es) 2009-08-13 2010-08-13 Aparato de decodificación de vectores en movimiento
ES13185336T Active ES2751973T3 (es) 2009-08-13 2010-08-13 Procedimiento de decodificación de vectores de movimiento

Country Status (22)

Country Link
US (10) US8537897B2 (es)
EP (5) EP2452500A4 (es)
JP (6) JP5756106B2 (es)
KR (1) KR101452859B1 (es)
CN (6) CN104506863B (es)
AU (1) AU2010283121B2 (es)
BR (5) BR122020006091B1 (es)
CA (6) CA2820553C (es)
CY (1) CY1123129T1 (es)
DK (4) DK2677753T3 (es)
ES (4) ES2751334T3 (es)
HR (1) HRP20191791T1 (es)
LT (1) LT2677749T (es)
MX (1) MX2011013557A (es)
MY (4) MY155891A (es)
PL (4) PL2677749T3 (es)
PT (1) PT2677749T (es)
RU (6) RU2559740C2 (es)
SI (1) SI2677749T1 (es)
TW (7) TWI547150B (es)
WO (1) WO2011019247A2 (es)
ZA (2) ZA201201158B (es)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101474756B1 (ko) 2009-08-13 2014-12-19 삼성전자주식회사 큰 크기의 변환 단위를 이용한 영상 부호화, 복호화 방법 및 장치
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
KR101456498B1 (ko) 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
KR20110017719A (ko) 2009-08-14 2011-02-22 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
AU2015201035B2 (en) * 2010-01-14 2016-04-28 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vector
KR101522850B1 (ko) 2010-01-14 2015-05-26 삼성전자주식회사 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9351017B2 (en) 2010-01-19 2016-05-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block
CN102823248B (zh) 2010-04-08 2015-06-24 株式会社东芝 图像编码方法以及图像编码装置
US9510009B2 (en) 2010-05-20 2016-11-29 Thomson Licensing Methods and apparatus for adaptive motion vector candidate ordering for video encoding and decoding
CN103081470B (zh) * 2010-09-02 2016-08-03 Lg电子株式会社 编码和解码视频的方法和使用该方法的装置
KR101579392B1 (ko) 2010-09-27 2015-12-21 엘지전자 주식회사 블록 분할 방법 및 복호화 장치
KR101825768B1 (ko) 2010-11-24 2018-02-05 벨로스 미디어 인터내셔널 리미티드 움직임 벡터 산출 방법, 화상 부호화 방법, 화상 복호 방법, 움직임 벡터 산출 장치 및 화상 부호화 복호 장치
US10397599B2 (en) 2010-12-17 2019-08-27 Electronics And Telecommunications Research Institute Method and apparatus for inter prediction using motion vector candidate based on temporal motion prediction
CN106878742B (zh) 2011-01-12 2020-01-07 太阳专利托管公司 动态图像编解码装置
KR20120090740A (ko) * 2011-02-07 2012-08-17 (주)휴맥스 정밀한 단위의 필터 선택을 적용한 영상 부호화/복호화 장치 및 방법
EP2675167B1 (en) 2011-02-10 2018-06-20 Sun Patent Trust Moving picture encoding method, moving picture encoding device, moving picture decoding method, moving picture decoding device, and moving picture encoding decoding device
WO2012114694A1 (ja) * 2011-02-22 2012-08-30 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号方法、および、動画像復号装置
MX2013009864A (es) 2011-03-03 2013-10-25 Panasonic Corp Metodo de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
EP4254956A3 (en) 2011-03-09 2023-12-20 Kabushiki Kaisha Toshiba Video image encoding method and video image decoding method
EP3937497B1 (en) * 2011-03-21 2023-02-22 LG Electronics, Inc. Motion vector predictor selection
US9648334B2 (en) * 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
PL2698999T3 (pl) 2011-04-12 2017-10-31 Sun Patent Trust Sposób kodowania ruchomych obrazów, urządzenie do kodowania ruchomych obrazów, sposób dekodowania ruchomych obrazów, urządzenie do dekodowania ruchomych obrazów, oraz urządzenie do kodowania/dekodowania ruchomych obrazów
KR20120118780A (ko) * 2011-04-19 2012-10-29 삼성전자주식회사 다시점 비디오의 움직임 벡터 부호화 방법 및 장치, 그 복호화 방법 및 장치
CA2833893C (en) 2011-05-24 2024-02-27 Panasonic Corporation Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
PL3614665T3 (pl) 2011-05-27 2022-07-04 Sun Patent Trust Sposób kodowania obrazów, urządzenie do kodowania obrazów, sposób dekodowania obrazów, urządzenie do dekodowania obrazów, i urządzenie do kodowania i dekodowania obrazów
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
CA2834191C (en) 2011-05-31 2019-04-09 Panasonic Corporation Video encoding method, video encoding device, video decoding method, video decoding device, and video encoding/decoding device
WO2012171477A1 (en) * 2011-06-15 2012-12-20 Mediatek Inc. Method and apparatus of texture image compression in 3d video coding
US9131239B2 (en) 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
JP6112418B2 (ja) * 2011-06-29 2017-04-12 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置
KR101900986B1 (ko) 2011-06-30 2018-09-20 선 페이턴트 트러스트 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치, 및, 화상 부호화 복호 장치
TW201306568A (zh) 2011-07-20 2013-02-01 Novatek Microelectronics Corp 移動估測方法
IN2014CN00729A (es) 2011-08-03 2015-04-03 Panasonic Corp
ES2705251B1 (es) * 2011-09-23 2020-01-29 Kt Corp Método para inducir un bloque candidato de fusión y dispositivo que usa el mismo
KR101711355B1 (ko) * 2011-09-28 2017-02-28 가부시키가이샤 제이브이씨 켄우드 동영상 디코딩 장치, 동영상 디코딩 방법 및 동영상 디코딩 프로그램을 저장한 기록매체
KR101999869B1 (ko) 2011-10-19 2019-07-12 선 페이턴트 트러스트 화상 부호화 방법, 화상 부호화 장치, 화상 복호 방법, 및, 화상 복호 장치
KR20130050149A (ko) * 2011-11-07 2013-05-15 오수미 인터 모드에서의 예측 블록 생성 방법
KR20130050405A (ko) * 2011-11-07 2013-05-16 오수미 인터 모드에서의 시간 후보자 결정방법
US20140307783A1 (en) 2011-11-08 2014-10-16 Samsung Electronics Co., Ltd. Method and apparatus for motion vector determination in video encoding or decoding
KR20130058584A (ko) * 2011-11-25 2013-06-04 삼성전자주식회사 복호화기의 버퍼 관리를 위한 영상 부호화 방법 및 장치, 그 영상 복호화 방법 및 장치
WO2013095322A1 (en) 2011-12-19 2013-06-27 Intel Corporation Exhaustive sub-macroblock shape candidate save and restore protocol for motion estimation
US9013549B2 (en) * 2012-05-24 2015-04-21 Silicon Integrated Systems Corp. Depth map generation for conversion of two-dimensional image data into three-dimensional image data
KR102088383B1 (ko) * 2013-03-15 2020-03-12 삼성전자주식회사 비디오의 부호화 방법 및 장치, 비디오의 복호화 방법 및 장치
US10015515B2 (en) * 2013-06-21 2018-07-03 Qualcomm Incorporated Intra prediction from a predictive block
KR101712110B1 (ko) 2013-07-12 2017-03-13 삼성전자 주식회사 변이 벡터 유도를 사용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
TWI536811B (zh) * 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
US9883197B2 (en) 2014-01-09 2018-01-30 Qualcomm Incorporated Intra prediction of chroma blocks using the same vector
KR102349788B1 (ko) * 2015-01-13 2022-01-11 인텔렉추얼디스커버리 주식회사 영상의 부호화/복호화 방법 및 장치
US10547847B2 (en) * 2015-09-24 2020-01-28 Lg Electronics Inc. AMVR-based image coding method and apparatus in image coding system
WO2017082443A1 (ko) * 2015-11-13 2017-05-18 엘지전자 주식회사 영상 코딩 시스템에서 임계값을 이용한 적응적 영상 예측 방법 및 장치
CN107046645B9 (zh) 2016-02-06 2020-08-14 华为技术有限公司 图像编解码方法及装置
JP2016106494A (ja) * 2016-02-12 2016-06-16 株式会社東芝 動画像符号化方法及び動画像復号化方法
US10575000B2 (en) * 2016-04-20 2020-02-25 Mediatek Inc. Method and apparatus for image compression using block prediction mode
KR102275420B1 (ko) * 2016-07-12 2021-07-09 한국전자통신연구원 영상 부호화/복호화 방법 및 이를 위한 기록 매체
US11240526B2 (en) 2017-01-02 2022-02-01 Industry-University Cooperation Foundation Hanyang University Method and apparatus for decoding image using interpicture prediction
US10595035B2 (en) * 2017-03-22 2020-03-17 Qualcomm Incorporated Constraining motion vector information derived by decoder-side motion vector derivation
JP6503014B2 (ja) * 2017-06-16 2019-04-17 株式会社東芝 動画像符号化方法及び動画像復号化方法
BR112020004381A2 (pt) * 2017-09-28 2020-09-08 Samsung Electronics Co., Ltd. método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
JP6510084B2 (ja) * 2018-01-05 2019-05-08 株式会社東芝 動画像復号化方法及び電子装置
US10904555B2 (en) * 2018-07-11 2021-01-26 Tencent America LLC Method and apparatus for video coding
CN116193141A (zh) 2018-09-10 2023-05-30 Lg电子株式会社 视频编码和解码设备、以及发送图像数据的设备
EP3893509A4 (en) * 2018-12-07 2022-10-26 Samsung Electronics Co., Ltd. VIDEO DECODING METHOD AND DEVICE AND VIDEO ENCODING METHOD AND DEVICE
JP6871442B2 (ja) * 2020-01-21 2021-05-12 株式会社東芝 動画像符号化方法及び動画像復号化方法
JP6871447B2 (ja) * 2020-02-03 2021-05-12 株式会社東芝 動画像符号化方法及び動画像復号化方法

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5400076A (en) * 1991-11-30 1995-03-21 Sony Corporation Compressed motion picture signal expander with error concealment
PT2375753E (pt) 1993-03-24 2013-10-21 Sony Corp Método para codificar e descodificar vetores de movimento e respetivo dispositivo e método para codificar e descodificar sinais de imagem e respetivo dispositivo
DE69719365T2 (de) 1996-12-18 2003-10-16 Thomson Consumer Electronics Effiziente kompression und dekompression von blocks fester länge
JPH10178639A (ja) 1996-12-19 1998-06-30 Matsushita Electric Ind Co Ltd 画像コーデック部および画像データ符号化方法
US6005980A (en) 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
KR100249223B1 (ko) * 1997-09-12 2000-03-15 구자홍 엠팩(mpeg)-4의움직임벡터코딩방법
JPH11146367A (ja) * 1997-11-06 1999-05-28 Matsushita Electric Ind Co Ltd モバイルビデオフォン
US6609501B2 (en) 2001-04-12 2003-08-26 Walbro Corporation Fuel pressure regulation system
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
ES2545213T3 (es) * 2001-11-21 2015-09-09 Google Technology Holdings LLC Codificación de cuadro/campo adaptativa de nivel de macrobloques para contenido de vídeo digital
GB0203071D0 (en) 2002-02-09 2002-03-27 Lucas Industries Ltd Control system
EP1408696A4 (en) 2002-07-02 2008-04-09 Matsushita Electric Ind Co Ltd METHOD FOR EVALUATING MOTION VECTORS, METHOD FOR CYCLING A DYNAMIC IMAGE, METHOD FOR DECODING A DYNAMIC IMAGE
JP4724351B2 (ja) 2002-07-15 2011-07-13 三菱電機株式会社 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
TWI287927B (en) 2002-07-30 2007-10-01 Sony Corp Memory device, signal processing device, image signal processing device and methods used thereof
US7023921B2 (en) 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
GB0228281D0 (en) 2002-12-04 2003-01-08 Imec Inter Uni Micro Electr Coding of motion vectors produced by wavelet-domain motion estimation
JP4536325B2 (ja) 2003-02-04 2010-09-01 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
HUP0301368A3 (en) 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7623574B2 (en) * 2003-09-07 2009-11-24 Microsoft Corporation Selecting between dominant and non-dominant motion vector predictor polarities
US7724827B2 (en) * 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
US8345754B2 (en) 2003-09-07 2013-01-01 Microsoft Corporation Signaling buffer fullness
US7599438B2 (en) * 2003-09-07 2009-10-06 Microsoft Corporation Motion vector block pattern coding and decoding
KR100846780B1 (ko) 2003-11-10 2008-07-16 삼성전자주식회사 움직임 벡터 추정 방법 및 장치
US7535515B2 (en) * 2003-12-23 2009-05-19 Ravi Ananthapur Bacche Motion detection in video signals
US7469070B2 (en) 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements
DE102004009792B3 (de) 2004-02-28 2005-09-22 Daimlerchrysler Ag Kraftstoffzuführeinrichtung zur Versorgung der Injektoren an Brennräumen einer Brennkraftmaschine mit Kraftstoff
DE102004013307B4 (de) 2004-03-17 2012-12-06 Robert Bosch Gmbh Kraftstoffhochdruckpumpe mit einem Druckbegrenzungsventil
CN100385957C (zh) * 2004-05-21 2008-04-30 中国科学院计算技术研究所 一种运动矢量预测的方法
WO2006012383A2 (en) * 2004-07-20 2006-02-02 Qualcomm Incorporated Method and apparatus for motion vector prediction in temporal video compression
JP2006174415A (ja) * 2004-11-19 2006-06-29 Ntt Docomo Inc 画像復号装置、画像復号プログラム、画像復号方法、画像符号化装置、画像符号化プログラム及び画像符号化方法
US7970219B2 (en) * 2004-12-30 2011-06-28 Samsung Electronics Co., Ltd. Color image encoding and decoding method and apparatus using a correlation between chrominance components
EP1867171A1 (en) * 2005-04-06 2007-12-19 Thomson Licensing Method and apparatus for encoding enhancement layer video data
KR20080006609A (ko) * 2005-04-13 2008-01-16 노키아 코포레이션 스케일링가능성 정보의 코딩, 저장, 및 시그널링
JP4519723B2 (ja) * 2005-06-27 2010-08-04 富士通セミコンダクター株式会社 動きベクトルを利用する動画像データの符号化または復号化装置
US8279918B2 (en) 2005-07-15 2012-10-02 Utc Fire & Security Americas Corporation, Inc. Method and apparatus for motion compensated temporal filtering using residual signal clipping
US20070033385A1 (en) * 2005-08-02 2007-02-08 Advanced Micro Devices, Inc. Call return stack way prediction repair
JP2007081474A (ja) 2005-09-09 2007-03-29 Toshiba Corp 画像符号化装置及び方法
KR101441269B1 (ko) 2005-09-26 2014-09-18 미쓰비시덴키 가부시키가이샤 동화상 복호 장치 및 동화상 복호 방법
US20070179854A1 (en) * 2006-01-30 2007-08-02 M-Systems Media predictive consignment
TW200743371A (en) * 2006-05-12 2007-11-16 Matsushita Electric Ind Co Ltd Image processing apparatus, method and integrated circuit
JP4760552B2 (ja) * 2006-06-06 2011-08-31 ソニー株式会社 動きベクトル復号化方法および復号化装置
JP2007329258A (ja) 2006-06-07 2007-12-20 Fujitsu Ltd 半導体装置の製造方法
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
BRPI0715770B1 (pt) * 2006-08-25 2020-03-10 Interdigital Vc Holdings, Inc. Método, aparelho e mídia de armazenamento para particionamento com menor resolução
US20080082058A1 (en) 2006-10-02 2008-04-03 Wallach Gary S Debriding Callus Foot Tissue
CN101601305B (zh) * 2006-10-20 2013-01-23 诺基亚公司 用于可伸缩多媒体的自适应路径的通用指示
KR101365567B1 (ko) 2007-01-04 2014-02-20 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
KR101383540B1 (ko) * 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR100846802B1 (ko) 2007-02-14 2008-07-16 삼성전자주식회사 동영상 프레임의 디코딩 방법 및 인코딩 방법
US20080240242A1 (en) * 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
MX2009009947A (es) * 2007-04-16 2009-09-24 Toshiba Kk Metodo y dispositivo de codificacion de imagenes y de descodificacion de imagenes.
JP2008283490A (ja) 2007-05-10 2008-11-20 Ntt Docomo Inc 動画像符号化装置、方法及びプログラム、並びに動画像復号化装置、方法及びプログラム
JP2008311781A (ja) 2007-06-12 2008-12-25 Ntt Docomo Inc 動画像符号化装置、動画像復号化装置、動画像符号化方法、動画像復号化方法、動画像符号化プログラム及び動画像復号化プログラム
KR101360279B1 (ko) 2007-06-28 2014-02-13 광주과학기술원 매크로블록 단위의 변이 예측을 이용한 움직임 정보 공유방법 및 장치 및 그리고 이를 이용한 다시점 비디오 영상부호화/복호화 방법 및 장치
JP2010287917A (ja) 2007-09-26 2010-12-24 Toshiba Corp 画像符号化/画像復号化装置及び方法
CN101415122B (zh) * 2007-10-15 2011-11-16 华为技术有限公司 一种帧间预测编解码方法及装置
EP2061004A1 (en) 2007-11-14 2009-05-20 Sony Corporation Object boundary accurate motion detection using hierarchical block splitting and motion segmentation
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
JPWO2010007777A1 (ja) * 2008-07-16 2012-01-05 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、記録媒体および集積回路
US8503527B2 (en) 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
KR101452859B1 (ko) 2009-08-13 2014-10-23 삼성전자주식회사 움직임 벡터를 부호화 및 복호화하는 방법 및 장치
US9237355B2 (en) * 2010-02-19 2016-01-12 Qualcomm Incorporated Adaptive motion resolution for video coding
KR101772459B1 (ko) * 2010-05-17 2017-08-30 엘지전자 주식회사 신규한 인트라 예측 모드
JP5833429B2 (ja) * 2011-12-20 2015-12-16 スタンレー電気株式会社 半導体製造装置
JP5852187B2 (ja) * 2014-07-16 2016-02-03 興和株式会社 視野計
JP2014195741A (ja) * 2014-07-16 2014-10-16 パナソニック株式会社 ドラム式洗濯機

Also Published As

Publication number Publication date
MY168324A (en) 2018-10-30
PL2677749T3 (pl) 2020-01-31
AU2010283121A1 (en) 2012-01-12
ZA201201158B (en) 2015-08-26
CA2820905A1 (en) 2011-02-17
RU2608264C2 (ru) 2017-01-17
CA2820901C (en) 2016-05-10
US20130279594A1 (en) 2013-10-24
US8792558B2 (en) 2014-07-29
RU2559738C2 (ru) 2015-08-10
CA2820901A1 (en) 2011-02-17
DK2677752T3 (da) 2019-10-21
US20170085882A1 (en) 2017-03-23
CN103260031A (zh) 2013-08-21
US8311118B2 (en) 2012-11-13
JP2013219825A (ja) 2013-10-24
TWI468019B (zh) 2015-01-01
JP5856267B2 (ja) 2016-02-09
CN103260029A (zh) 2013-08-21
TW201114264A (en) 2011-04-16
BR112012001514B1 (pt) 2022-02-01
CA2768182A1 (en) 2011-02-17
JP2013219824A (ja) 2013-10-24
US8811488B2 (en) 2014-08-19
ZA201503389B (en) 2017-11-29
EP2677753A2 (en) 2013-12-25
EP2928186B1 (en) 2019-10-02
TW201334554A (zh) 2013-08-16
MY152395A (en) 2014-09-15
CA2877229C (en) 2016-05-10
EP2452500A4 (en) 2014-03-12
SI2677749T1 (sl) 2019-11-29
CA2877202A1 (en) 2011-02-17
EP2677752A3 (en) 2014-03-12
EP2677753B1 (en) 2019-10-02
CA2820553C (en) 2015-10-13
EP2677753A3 (en) 2014-03-12
TW201406165A (zh) 2014-02-01
RU2559740C2 (ru) 2015-08-10
US20130058415A1 (en) 2013-03-07
US8537897B2 (en) 2013-09-17
RU2015120764A (ru) 2016-12-20
US9883186B2 (en) 2018-01-30
CN103260029B (zh) 2017-04-12
LT2677749T (lt) 2019-10-25
ES2751523T3 (es) 2020-03-31
US20110038420A1 (en) 2011-02-17
RU2488972C1 (ru) 2013-07-27
PL2677753T3 (pl) 2020-01-31
RU2013112367A (ru) 2014-10-20
CN102474610A (zh) 2012-05-23
BR112012001514A2 (pt) 2016-03-15
TWI526048B (zh) 2016-03-11
BR122013019017A2 (pt) 2016-04-05
ES2751356T3 (es) 2020-03-31
CA2877229A1 (en) 2011-02-17
BR122013019018A2 (pt) 2016-04-05
CA2877202C (en) 2017-06-20
JP2015019420A (ja) 2015-01-29
TW201334556A (zh) 2013-08-16
MY154795A (en) 2015-07-31
US9544588B2 (en) 2017-01-10
RU2013112250A (ru) 2014-10-20
JP5756106B2 (ja) 2015-07-29
CN104506863B (zh) 2016-11-02
PT2677749T (pt) 2019-12-17
DK2677749T3 (da) 2019-10-14
PL2677752T3 (pl) 2020-01-31
CA2820553A1 (en) 2013-10-17
JP5856268B2 (ja) 2016-02-09
DK2928186T3 (da) 2019-10-14
TWI547150B (zh) 2016-08-21
JP5624179B2 (ja) 2014-11-12
TWI432033B (zh) 2014-03-21
JP2013502141A (ja) 2013-01-17
US8787463B2 (en) 2014-07-22
TWI462593B (zh) 2014-11-21
TW201334555A (zh) 2013-08-16
TW201349875A (zh) 2013-12-01
CN104539952B (zh) 2017-07-21
PL2928186T3 (pl) 2020-01-31
US20120281764A1 (en) 2012-11-08
BR122013019016A2 (pt) 2016-04-05
CN102474610B (zh) 2016-01-20
BR122013019017B1 (pt) 2021-06-01
BR122020006091B1 (pt) 2022-01-18
TWI413417B (zh) 2013-10-21
BR122013019018B1 (pt) 2022-01-18
TW201349876A (zh) 2013-12-01
JP5571827B2 (ja) 2014-08-13
MX2011013557A (es) 2012-02-21
MY155891A (en) 2015-12-15
CN104539952A (zh) 2015-04-22
US8472525B2 (en) 2013-06-25
HRP20191791T1 (hr) 2019-12-27
US20180139448A1 (en) 2018-05-17
KR101452859B1 (ko) 2014-10-23
CN103313052A (zh) 2013-09-18
AU2010283121B2 (en) 2013-10-17
US8369410B2 (en) 2013-02-05
EP2677752B1 (en) 2019-10-09
RU2559737C2 (ru) 2015-08-10
JP2013219826A (ja) 2013-10-24
CN103313052B (zh) 2017-05-10
RU2013112365A (ru) 2014-10-20
EP2452500A2 (en) 2012-05-16
JP2015029335A (ja) 2015-02-12
CA2820905C (en) 2018-09-25
CN103260031B (zh) 2017-03-01
JP5624178B2 (ja) 2014-11-12
US20140016705A1 (en) 2014-01-16
BR122013019016B1 (pt) 2022-01-18
EP2677749A3 (en) 2014-03-12
CY1123129T1 (el) 2021-10-29
CN104506863A (zh) 2015-04-08
EP2677752A2 (en) 2013-12-25
CA2768182C (en) 2016-12-13
US20120147966A1 (en) 2012-06-14
US20130279593A1 (en) 2013-10-24
EP2928186A2 (en) 2015-10-07
KR20110017301A (ko) 2011-02-21
TWI424749B (zh) 2014-01-21
US20140334550A1 (en) 2014-11-13
ES2751973T3 (es) 2020-04-02
WO2011019247A3 (en) 2011-04-21
EP2677749A2 (en) 2013-12-25
EP2677749B1 (en) 2019-10-02
DK2677753T3 (da) 2019-10-14
WO2011019247A2 (en) 2011-02-17
RU2597521C1 (ru) 2016-09-10
US10110902B2 (en) 2018-10-23
EP2928186A3 (en) 2016-01-13

Similar Documents

Publication Publication Date Title
ES2751334T3 (es) Procedimiento para decodificar vectores de movimiento
US9131237B2 (en) Method and apparatus for encoding and decoding motion vector by predicting motion vector according to mode