ES2954657T3 - Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes - Google Patents

Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes Download PDF

Info

Publication number
ES2954657T3
ES2954657T3 ES21183815T ES21183815T ES2954657T3 ES 2954657 T3 ES2954657 T3 ES 2954657T3 ES 21183815 T ES21183815 T ES 21183815T ES 21183815 T ES21183815 T ES 21183815T ES 2954657 T3 ES2954657 T3 ES 2954657T3
Authority
ES
Spain
Prior art keywords
motion prediction
motion
block
mode
prediction
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
ES21183815T
Other languages
English (en)
Inventor
Shunichi Sekiguchi
Kazuo Sugimoto
Yusuke Itani
Akira Minezawa
Yoshiaki Kato
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=43222450&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2954657(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of ES2954657T3 publication Critical patent/ES2954657T3/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • 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/55Motion estimation with spatial constraints, e.g. at image or region borders
    • 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/567Motion estimation based on 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/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/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
    • H04N19/619Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding the transform being operated outside the prediction loop
    • 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/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • 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/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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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

Abstract

Se divulga un dispositivo de codificación de imágenes que incluye una unidad de predicción 4 para determinar de forma adaptativa el tamaño de cada bloque de unidades de predicción de movimiento según señales de componentes de color, y para dividir cada bloque de unidades de predicción de movimiento en regiones de asignación de vectores de movimiento para buscar un vector de movimiento, y un unidad de codificación de longitud variable 8 para, cuando se asigna un vector de movimiento a la totalidad de cada bloque de unidad de predicción de movimiento, realizar la codificación en modo mc_skip si el vector de movimiento es igual a un vector estimado y no existe una señal de error de predicción 5, y para , cuando cada región de asignación de vector de movimiento tiene un tamaño igual o mayor que un tamaño predeterminado y se asigna un vector de movimiento a la totalidad de cada región de asignación de vector de movimiento, realizar la codificación en modo sub_mc_skip si el vector de movimiento es igual a un vector estimado y no existe una señal de error de predicción 5. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes
Campo de la invención
La presente invención se refiere a un dispositivo de codificación de imágenes, un dispositivo de decodificación de imágenes, un método de codificación de imágenes y un método de decodificación de imágenes que se usan para una técnica de codificación por compresión de imágenes, una técnica de transmisión de datos de imagen comprimida, etc.
Antecedentes de la invención
Convencionalmente, en los métodos de codificación de vídeo habituales internacionales, tales como MPEG e ITU-T H.26x, cada fotograma de vídeo de entrada se somete a un procedimiento de compresión, dividiéndose el fotograma de vídeo en macrobloques, cada uno de los cuales consiste en bloques de 16x16 píxeles.
Por otro lado, en los últimos años, se ha deseado una técnica de codificación por compresión de un vídeo de alta definición de alta calidad que tiene un formato de vídeo, tal como un formato de vídeo de 4Kx2K píxeles que tiene una resolución de espacio que es cuatro veces más alta que la de HDTV (televisión de alta definición, 1920x1080 píxeles), un formato de vídeo de 8Kx4K píxeles que tiene una resolución de espacio que se incrementa adicionalmente hasta cuatro veces más alta que la del formato de vídeo de 4Kx2K píxeles o un formato de señal de vídeo 4:4:4 para aumentar el número de señales de crominancia muestreadas, mejorando de este modo la naturaleza de reproducción del color. Cuando se codifica por compresión un vídeo de alta calidad de alta definición de este tipo, es imposible realizar un procedimiento de codificación usando una correlación de señal de imagen en un macrobloque de 16 x 16 píxeles en un grado suficiente y, por tanto, es difícil proporcionar una relación de compresión alta. Con el fin de enfrentarse a este problema, por ejemplo, se ha propuesto una técnica para extender el tamaño de cada macrobloque de 16 x 16 píxeles convencional a un bloque de 32 x 32 píxeles, tal como se da a conocer en la referencia de no patente 1, y aumentar la unidad a la que se asigna un vector de movimiento, reduciendo de este modo la cantidad de parámetros codificados requeridos para la predicción, o una técnica para aumentar el tamaño de bloque para la codificación de conversión de una señal de error de predicción, eliminando de este modo una correlación entre los píxeles de la señal de error de predicción de manera eficaz.
La figura 21 es un diagrama de bloques que muestra la estructura de un dispositivo de codificación dado a conocer en la referencia de no patente 1. En la codificación dada a conocer en la referencia de no patente 1, una unidad de división de bloques 1002 divide una señal de vídeo introducida 1001 que es un objetivo que va a codificarse en macrobloques (bloques rectangulares que tienen cada uno una señal de luminancia de 32 píxeles x 32 líneas) y se introduce en una unidad de predicción 1004 como una señal de vídeo codificada 1003.
La unidad de predicción 1004 predice una señal de imagen de cada componente de color en cada macrobloque dentro de cada fotograma y entre fotogramas para adquirir una señal de error de predicción 1005. Especialmente, cuando se realiza una predicción con compensación de movimiento entre fotogramas, la unidad de predicción busca un vector de movimiento para cada macrobloque en sí mismo o cada uno de los subbloques en los que se divide adicionalmente cada macrobloque, crea una imagen de predicción con compensación de movimiento según el vector de movimiento y adquiere una la señal de error de predicción 1005 calculando la diferencia entre la imagen de predicción con compensación de movimiento y la señal de vídeo codificada 1003.
Después de realizar un proceso de DCT (transformada de coseno discreta) en la señal de error de predicción 1005 para eliminar una correlación de señal de la señal de error de predicción 1005 mientras se cambia el tamaño de bloque según el tamaño de un área unitaria a la que se asigna el vector de movimiento, una unidad de compresión 1006 cuantifica la señal de error de predicción para adquirir datos comprimidos 1007. Mientras los datos comprimidos 1007 se codifican por entropía y se emiten como un flujo de bits 1009 por una unidad de codificación de longitud variable 1008, los datos comprimidos también se envían a una unidad de decodificación local 1010 y esta unidad de decodificación local adquiere una señal de error de predicción decodificada 1011.
Esta señal de error de predicción decodificada 1011 se añade a una señal de predicción 1012 que se usa para crear la señal de error de predicción 1005 para crear una señal decodificada 1013 y esta señal decodificada se introduce en un filtro de bucle 1014. La señal decodificada 1013 se almacena en una memoria 1016 como una señal de imagen de referencia 1015 para crear una señal de predicción posterior 1012 después de que la señal decodificada se someta a un procedimiento de eliminación de distorsión de bloques mediante el filtro de bucle 1014. Un parámetro 1017 usado para la creación de la señal de predicción, que se determina por la unidad de predicción 1004 con el fin de adquirir la señal de predicción 1012, se envía a la unidad de codificación de longitud variable 1008 y se multiplexa en un flujo de bits 1009 y este flujo de bits se emite. La información, tal como la información del modo de intrapredicción que muestra cómo realizar una predicción de espacio dentro de cada fotograma, y un vector de movimiento que muestra una cantidad de movimiento entre fotogramas, se incluye en el parámetro 1017 usado para la creación de la señal de predicción, por ejemplo.
Mientras que un método de codificación de vídeo habitual internacional convencional, tal como MPEG o ITU-T H.26x, usa 16 x 16 píxeles como el tamaño de macrobloque, el dispositivo de codificación dado a conocer en la referencia de no patente 1 usa 32 x 32 píxeles como el tamaño de macrobloque (supermacrobloque: SMB) . La figura 22 muestra las formas de regiones divididas a cada una de las cuales se asigna un vector de movimiento en el momento de realizar una predicción con compensación de movimiento para cada macrobloque de MxM píxeles y la figura 22(a) muestra cada SMB dado a conocer en la referencia de no patente 1 y la figura 22(b) muestra cada macrobloque basado en MPEG-4 AVC/H.264 convencional (remítase a la referencia de no patente 2) . Aunque cada SMB tiene un área grande para cada región de predicción de movimiento que está cubierta por un único vector de movimiento con el número de píxeles M=32, cada macrobloque convencional usa el número de píxeles M/2=16. Como resultado, dado que en el caso de los SMB la cantidad de información del vector de movimiento que se necesita para toda la pantalla disminuye en comparación con el caso de macrobloques convencionales que tienen el número de píxeles M/2=16, la cantidad de código de vector de movimiento que debería transmitirse como flujo de bits puede reducirse.
Documento de la técnica relacionada
Referencia de no patente
Referencia de no patente 1: Siwei Ma y C.-C. Jay Kuo, “High-definition Video Coding with Supermacroblocks”, Proc. SPIE, vol. 6508, 650816 (2007)
Referencia de no patente 2: Normas MPEG-4 AVC (ISO/IEC 14496-10)/H. ITU-T 264
Sumario de la invención
En los métodos convencionales dados a conocer en las referencias de no patente 1 y 2, se dispone un modo especial denominado modo de omisión en el que cualquier dato que deba codificarse para un vector de movimiento y una señal de error de predicción no se produce en absoluto como resultado de la predicción de movimiento mencionada anteriormente. Por ejemplo, en la referencia de no patente 2, un caso en el que “el vector de movimiento coincide con su valor predicho y todos los coeficientes de transformada de la señal de error de predicción son cero” se define como un modo de omisión. Además, el modo de omisión puede seleccionarse solo cuando la región a la que se asigna el vector de movimiento tiene el mismo tamaño que un macrobloque. Por tanto, cuando el tamaño del macrobloque se amplía tal como se muestra en la referencia de no patente 1, el modo de omisión se establece solo en un bloque de predicción de movimiento que tiene un tamaño máximo. Por tanto, un problema es que el modo de omisión no se aplica a ningún bloque de predicción de movimiento que tenga un tamaño más pequeño que el tamaño máximo y, por tanto, es difícil mejorar la eficacia de la codificación.
El artículo “context based adaptive binary arithmetic coding in the H.264/AVC video compression standard” de D. Marpe et al., publicado en IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, Vol. 13, n.° 7, 1 de julio de 2003 en las páginas 620-636 combina una técnica de codificación aritmética binaria adaptativa con modelado de contexto con el fin de lograr un alto grado de adaptación y reducción de redundancia. El método propuesto comprende tres bloques de construcción funcionales, binarización, modelado de contexto y codificación aritmética binaria. En este caso, para la binarización de un macrobloque y un submacrobloque, se usan diferentes árboles binarios. Cuando se codifica un tipo de macrobloque o submacrobloque, en primer lugar, se determina si se omite el macrobloque actual y, si no se omite, se especifica el tipo de macrobloque elegido. Para codificar la omisión, se aprovechan las dependencias estadísticas entre los valores próximos para la omisión, ya que para un macrobloque C dado, los modelos de contexto relacionados implican la información de omisión de los macrobloques próximos a la izquierda y encima de C. Por tanto, se determina según los macrobloques próximos si el macrobloque en cuestión se omite o no.
El documento WO 2008/133455 A1 describe un método de decodificación de una señal de vídeo. Dicho método incluye buscar un bloque de referencia usando información secundaria, derivar información de movimiento de un bloque actual a partir del bloque de referencia, decodificar el bloque actual usando la información de movimiento del bloque actual, en el que la información secundaria incluye información de desvío que indica una diferencia de posición entre el bloque de referencia y el bloque correspondiente, y en el que el bloque correspondiente es un bloque indicado por un vector de movimiento global que indica una diferencia de disparidad entre la vista del bloque actual y la vista del bloque de referencia.
La presente invención se realiza con el fin de resolver el problema mencionado anteriormente y, por tanto, un objeto de la presente invención es proporcionar un dispositivo de codificación de imágenes que implemente un método de codificación de vídeo que tenga un buen equilibrio de carga, para eliminar una correlación de señal de manera más eficaz según las propiedades estadísticas y locales de una señal de vídeo que es un objetivo que va a codificarse y realizar una compresión de información eficaz, mejorando de este modo la optimalidad para la codificación de una señal de vídeo de ultra alta definición, y un método para implementar el dispositivo de codificación de imágenes y un dispositivo de decodificación de imágenes y un método de decodificación de imágenes.
Según la presente invención, se proporciona un dispositivo de decodificación de imágenes tal como se expone en la reivindicación 1, se proporciona un método de decodificación de imágenes tal como se expone en la reivindicación 2, se proporciona un dispositivo de codificación de imágenes tal como se expone en la reivindicación 3 y se proporciona un método de codificación de imágenes tal como se expone en la reivindicación 4. La descripción divulga solo una única realización de la invención que se denomina realización 1 y que está cubierta por cualquiera de las reivindicaciones.
Según la presente invención, dado que el primer modo de omisión y el segundo modo de omisión están configurados para cada bloque de unidad de predicción de movimiento y sus regiones de asignación de vector de movimiento, respectivamente, el dispositivo de codificación de imágenes y el dispositivo de decodificación de imágenes pueden construirse de tal manera que puedan expresar una jerarquía de modos de omisión cuando se codifica y decodifica una señal de vídeo que tiene el formato 4:4:4 y adaptarse a las características de un cambio temporal de cada señal de componente de color con flexibilidad. Por tanto, el dispositivo de codificación de imágenes puede realizar un procedimiento de codificación óptimo en la señal de vídeo que tiene el formato 4:4:4.
Breve descripción de las figuras
[Figura 1] La figura 1 es una vista que muestra el formato 4:4:4 que es un objetivo que va a procesarse por un dispositivo de codificación de imágenes y un dispositivo de decodificación de imágenes según la realización 1;
[Figura 2] La figura 2 es un diagrama de bloques que muestra la estructura del dispositivo de codificación de imágenes según la realización 1;
[Figura 3] La figura 3 es un dibujo explicativo que muestra un bloque de referencia que crea una unidad de división de bloques mostrada en la figura 2;
[Figura 4] La figura 4 es un dibujo explicativo que muestra ejemplos de formas en las que una unidad de predicción mostrada en la figura 2 divide un conjunto de bloques de unidad de predicción de movimiento, consistiendo cada una de las formas en uno o más bloques básicos;
[Figura 5] La figura 5 es un diagrama de flujo que muestra el funcionamiento de la unidad de predicción mostrada en la figura 2;
[Figura 6] La figura 6 es una vista para explicar un método de cálculo de un coste J que se ejecuta por la unidad de predicción;
[Figura 7] La figura 7 es una vista que muestra un ejemplo de determinación de un vector estimado PMV en cada uno de los modos de predicción de movimiento mc_mode1 a mc_mode4 que se lleva a cabo por la unidad de predicción;
[Figura 8] La figura 8 es una vista para explicar un modo de omisión;
[Figura 9] La figura 9 es una vista para explicar un método de codificación por entropía que usa una unidad de codificación de longitud variable;
[Figura 10] La figura 10 es un diagrama de bloques que muestra la estructura interna de la unidad de codificación de longitud variable mostrada en la figura 2;
[Figura 11] La figura 11 es un diagrama de flujo que muestra el funcionamiento de la unidad de codificación de longitud variable mostrada en la figura 2;
[Figura 12] La figura 12 es un dibujo explicativo que muestra el concepto detrás de un modelo de contexto (ctx);
[Figura 13] La figura 13 es un dibujo explicativo que muestra un ejemplo de un modelo de contexto (ctx) relacionado con un vector de movimiento;
[Figura 14] La figura 14 es una vista que explica una diferencia en la correlación en un modo de predicción de movimiento y las figuras 14(a) y 14(b) muestran dos estados del modo de predicción de movimiento que se seleccionan para los bloques básicos Ba y Bb, respectivamente;
[Figura 15] La figura 15 es una vista que muestra un resultado de binarización del modo de predicción de movimiento que se lleva a cabo mediante una unidad de binarización mostrada en la figura 10;
[Figura 16A] La figura 16A es una vista que explica la binarización del modo de predicción de movimiento llevada a cabo por la unidad de binarización mostrada en la figura 10 y muestra un método de selección de un modelo de contexto para bin0;
[Figura 16B] La figura 16B es una vista que explica la binarización del modo de predicción de movimiento llevada a cabo por la unidad de binarización mostrada en la figura 10 y muestra un método de selección de un modelo de contexto para bin1;
[Figura 16C] La figura 16C es una vista que explica la binarización del modo de predicción de movimiento llevada a cabo por la unidad de binarización mostrada en la figura 10 y muestra un método de selección de un modelo de contexto para bin2;
[Figura 16D] La figura 16D es una vista que explica la binarización del modo de predicción de movimiento llevada a cabo por la unidad de binarización mostrada en la figura 10 y muestra un método de selección de un modelo de contexto para bin4;
[Figura 16E] La figura 16E es una vista que explica la binarización del modo de predicción de movimiento llevada a cabo por la unidad de binarización mostrada en la figura 10 y muestra un método de selección de un modelo de contexto para bin5;
[Figura 17] La figura 17 es un dibujo explicativo que muestra la disposición de datos de un flujo de bits;
[Figura 18] La figura 18 es un diagrama de bloques que muestra la estructura de un dispositivo de decodificación de imágenes según la realización 1;
[Figura 19] La figura 19 es un diagrama de bloques que muestra la estructura interna de una unidad de decodificación de longitud variable mostrada en la figura 18;
[Figura 20] La figura 20 es un diagrama de flujo que muestra el funcionamiento de la unidad de decodificación de longitud variable mostrada en la figura 18;
[Figura 21] La figura 21 es un diagrama de bloques que muestra la estructura de un dispositivo de codificación dado a conocer por la referencia de no patente 1; y
[Figura 22] La figura 22 es una vista que muestra la aparición de formas divididas de una región de asignación de vectores de movimiento en el momento de realizar una predicción con compensación de movimiento para cada macrobloque en el dispositivo de codificación dado a conocer por la referencia de no patente 1.
Realizaciones de la invención
Realización 1.
A continuación en el presente documento, las realizaciones preferidas de la presente invención se explicarán en detalle con referencia a los dibujos.
En esta realización, se describirá un dispositivo de codificación de imágenes que realiza la compresión de una señal de vídeo digital que tiene un formato 4:4:4 introducido en la misma y que se adapta para el estado de una señal de cada componente de color para realizar un procedimiento de predicción de compensación de movimiento y un dispositivo de decodificación de imágenes que realiza la extensión de una señal de vídeo digital que tiene un formato 4:4:4 y que se adapta para el estado de una señal de cada componente de color para realizar un procedimiento de predicción de compensación de movimiento.
La figura 1 muestra el formato 4:4:4 que el dispositivo de codificación de imágenes y el dispositivo de decodificación de imágenes según la realización 1 usan como el formato de una entrada. El formato 4:4:4 indica un formato en el que, tal como se muestra en la figura 1(a), los números de píxeles de tres componentes de señal C0, C1 y C2 que construyen una imagen en movimiento en color son los mismos entre sí. El espacio de color de las tres componentes de señal puede ser RGB o XYZ o puede ser una diferencia de brillo y color (YUV, YCbCr o YPbPr). En contraste con el formato 4:4:4, un formato 4:2:0 tal como se muestra en la figura 1(b) indica un formato en el que el espacio de color es YUV, YCbCr o YPbPr, y cada uno de los elementos de señal de diferencia de color (por ejemplo, Cb y Cr en el caso de YCbCr) tiene píxeles en cada una de una dirección horizontal W y una dirección vertical H cuyo número es la mitad del brillo Y en cada una de la dirección horizontal y la dirección vertical.
El dispositivo de codificación de imágenes y el dispositivo de decodificación de imágenes se explicarán a continuación en el presente documento limitándose especialmente a un ejemplo de uso de un método de realización de procedimientos asumiendo que el espacio de color del formato 4:4:4 es YUV, YCbCr o YPbPr, y cada componente de color es equivalente a una componente de brillo. Sin embargo, no es necesario decir que las operaciones que se explicarán a continuación en el presente documento pueden aplicarse directamente a la señal de brillo incluso cuando el dispositivo de codificación de imágenes y el dispositivo de decodificación de imágenes se enfrentan a una señal de vídeo que tiene el formato 4:2:0.
Dispositivo de codificación de imágenes
La figura 2 es un diagrama de bloques que muestra la estructura del dispositivo de codificación de imágenes según la realización 1. El dispositivo de codificación de imágenes mostrado en la figura 2 está construido de tal manera que divide cada fotograma de vídeo introducido que tiene el formato 4:4:4 en bloques, teniendo cada uno un tamaño predeterminado, es decir, bloques que tienen cada uno píxeles MmáxxMmáx (cada bloque se denomina “bloque de referencia” de aquí en adelante), y realiza una predicción de movimiento en cada uno de los bloques de referencia para codificar por compresión una señal de error de predicción.
En primer lugar, una señal de vídeo introducida 1 que es el objetivo que va a codificarse se divide en bloques de referencia mediante una unidad de división de bloques 2 y estos bloques se introducen en una unidad de predicción 4 como una señal codificada 3. Cada bloque de referencia creado por la unidad de división de bloques 2 se muestra en la figura 3. Tal como se muestra en la figura 3, cada bloque de referencia se construye como datos de bloques de referencia que son una unidad en la que se recopilan bloques rectangulares que consisten en MmáxxMmáx píxeles. Aunque se menciona más adelante en detalle, el tamaño de bloque de referencia Mmáx se determina y codifica en un nivel de datos de capa superior, tal como un fotograma, una secuencia o un GOP (grupo de imágenes). El tamaño del bloque de referencia Mmáx puede cambiarse dentro de cada fotograma. En este caso, el tamaño de bloque de referencia Mmáx se especifica para cada fragmento o similares en el que se recopila una pluralidad de macrobloques.
Cada dato de bloque de referencia se divide adicionalmente en uno o más “bloques de unidad de predicción de movimiento”, que son bloques de píxeles de LixMi (i: identificador de componente de color), y la predicción de movimiento y la codificación se realizan definiendo cada bloque de unidad de predicción de movimiento como una base. Un patrón de bloques de unidad de predicción de movimiento mostrado en la figura 3(a) tiene L0=Mmáx/2 y M0=Mmáx/2 y un patrón de bloques de unidad de predicción de movimiento mostrado en la figura 3(b) tiene L0=Mmáx/2 y M0=Mmáx. En ambas figuras 3(a) y 3(b), L1=M1=L2=M2=Mmáx. En la siguiente explicación, se asume que los bloques de referencia de cada componente de color que tiene el formato 4:4:4 tienen el mismo tamaño entre los tres componentes de color C0, C1 y C2, y, cuando se cambia el tamaño del bloque de referencia Mmáx, el tamaño del bloque de referencia se cambia a un tamaño idéntico para los tres componentes de color. Además, cada uno de los tamaños Li y Mi de los bloques de unidad de predicción de movimiento puede determinarse de manera seleccionable para cada una de las componentes de color C0, C1 y C2, y puede cambiarse en unidades de una secuencia, un GOP, un fotograma, un bloque de referencia o similares. Usando esta estructura, los tamaños de bloque de unidad de predicción de movimiento Li y Mi pueden determinarse con flexibilidad según una diferencia en las propiedades de la señal de cada componente de color sin tener que cambiar el tamaño de bloque de referencia Mmáx. Puede establecerse una implementación eficaz teniendo en cuenta la paralelización y la canalización de los procedimientos de codificación y decodificación llevados a cabo en unidades de un bloque de referencia.
La unidad de predicción 4 lleva a cabo una predicción con compensación de movimiento de la señal de imagen de cada componente de color en cada bloque de referencia para adquirir una señal de error de predicción 5 (señal de error de predicción de movimiento). Debido a que el funcionamiento de la unidad de predicción 4 es una característica del dispositivo de codificación de imágenes según esta realización 1, el funcionamiento de la unidad de predicción se mencionará más adelante en detalle. Después de realizar un procedimiento de transformación, tal como un procedimiento de DCT, sobre la señal de error de predicción 5 para eliminar una correlación de señal de esta señal de error de predicción, una unidad de compresión 6 cuantifica la señal de error de predicción para adquirir datos comprimidos de error de predicción 7. En este momento, la unidad de compresión 6 realiza una transformación ortogonal y una cuantificación, tal como DCT, sobre la señal de error de predicción 5 y emite los datos comprimidos de error de predicción 7 a una unidad de codificación de longitud variable 8 (unidad de codificación) y a una unidad de decodificación local 10.
La unidad de codificación de longitud variable 8 codifica por entropía los datos comprimidos de error de predicción 7 y emite los datos comprimidos de error de predicción codificados por entropía como un flujo de bits 9. La unidad de decodificación local 10 adquiere una señal de error de predicción decodificada 11 a partir de los datos comprimidos de error de predicción 7. Esta señal de error de predicción decodificada 11 se añade a una señal de predicción 12 (imagen de predicción) que se usa para la creación de la señal de error de predicción 5 por una unidad de sumado, de modo que se crea una señal decodificada 13 y se introduce en un filtro de bucle 14. Los parámetros 17 para la creación de señales de predicción, que se determinan por la unidad de predicción 4 con el fin de adquirir la señal de predicción 12, se envían a la unidad de codificación de longitud variable 8 y se emiten como el flujo de bits 9. Las descripciones de los parámetros 17 para la creación de señales de predicción se explicarán con mayor detalle a continuación en el presente documento junto con una explicación de la unidad de predicción 4. Además, dado que un método de codificación de los parámetros 17 para la creación de señales de predicción que usa la unidad de codificación de longitud variable 8 es una característica de esta realización 1, el método de codificación se explicará más adelante en detalle.
El filtro de bucle 14 realiza un procedimiento de filtrado de rechazo de distorsión de bloques sobre la señal decodificada 13, en el que una distorsión de bloque que se produce como resultado de la cuantificación del coeficiente de transformada por la unidad de compresión 6 se realiza en cascada usando ambos parámetros 17 para la creación de la señal de predicción y la cuantificación de parámetros 19. La señal decodificada 13 se almacena en una memoria 16 como una señal de imagen de referencia 15 para crear una señal de predicción posterior 12 después de que la señal decodificada se someta a un procedimiento de eliminación del ruido de codificación mediante el filtro de bucle 14.
En los métodos de codificación de vídeo dados a conocer en las referencias de no patente 1 y 2, cuando cada bloque de referencia se define como un macrobloque, habitualmente se usa un método de codificación de cada fotograma mientras se selecciona la codificación intrafotogramas o la codificación predictiva interfotogramas para cada macrobloque. Esto se debe a que cuando la predicción de movimiento interfotogramas no es suficiente, el uso de una correlación entre fotogramas puede mejorar adicionalmente la eficacia de la codificación. A continuación en el presente documento, en el dispositivo de codificación de imágenes según esta realización 1, aunque cualquier descripción sobre la codificación intrafotogramas y el uso selectivo de la codificación intrafotogramas no se indica expresamente en esta memoria descriptiva cuando se explica el objetivo de la presente invención, el dispositivo de codificación de imágenes puede construirse de tal manera que sea capaz de usar selectivamente la codificación intrafotogramas para cada bloque de referencia, excepto cuando se indique específicamente. En el dispositivo de codificación de imágenes según esta realización 1, aunque cada bloque de referencia puede definirse como un macrobloque, el término bloque de referencia se usará a continuación en el presente documento para explicar una predicción de movimiento.
A continuación en el presente documento, se explicará en detalle el funcionamiento de la unidad de predicción 4, que es una característica de esta realización 1. La unidad de predicción 4 según esta realización 1 tiene las siguientes tres características.
(1) Adaptación del tamaño de bloque de referencia y del tamaño de bloque de unidad de predicción de movimiento en relación con la adaptación de la forma de cada región dividida usada para la predicción de movimiento
(2) Determinación de un modo de predicción de movimiento y un vector de movimiento según las propiedades de cada componente de color
(3) Selección del modo de omisión adaptativo basándose en el tamaño del bloque de referencia y el tamaño del bloque de unidad de predicción de movimiento
En cuanto al apartado (1) mencionado anteriormente, la unidad de predicción 4 divide cada bloque de referencia en uno o más bloques de unidad de predicción de movimiento, teniendo cada uno de los cuales píxeles LixMi según las propiedades de la señal de cada componente de color, y divide además cada bloque de unidad de predicción de movimiento en una pluralidad de formas, cada una de las cuales consiste en una combinación de uno o más bloques, teniendo cada uno de los cuales lixmi píxeles. La unidad de predicción 4 realiza entonces una predicción asignando un vector de movimiento específico a cada región dividida, selecciona la pluralidad de formas que proporcionan la mayor eficacia predictiva como el modo de predicción de movimiento y, a continuación, realiza una predicción de movimiento en cada región dividida usando el vector de movimiento adquirido como resultado de la selección para adquirir una señal de error de predicción 5. Cada una de las formas divididas en cada bloque de unidad de predicción de movimiento puede construirse a partir de una combinación de uno o más “bloques básicos”, cada uno de los cuales consiste en lixmi píxeles. En el dispositivo de codificación de imágenes según esta realización 1, las siguientes restricciones: “mi=Mi/2” y “li=Li/2” se proporcionan entre Mi y mi y entre Li y li, respectivamente.” Las formas divididas, consistiendo cada una de las cuales en uno o más bloques básicos que se determinan según estos requisitos, se muestran en la figura 4. La figura 4 es un dibujo explicativo que muestra ejemplos de las formas en las que la unidad de predicción 4 divide cada bloque de unidad de predicción de movimiento en unidades, cada una de las cuales consiste en uno o más bloques básicos. A continuación en el presente documento, en el dispositivo de codificación de imágenes de esta realización 1, se asume que los patrones (patrones de división) mc_mode0 a mc_mode7 de formas divididas mostrados en la figura 4 son comunes entre las tres componentes de color. Como alternativa, los patrones de división mc_mode0 a mc_mode7 pueden determinarse de manera independiente para cada una de las tres componentes de color. A continuación en el presente documento, estos patrones de división mc_mode0 a mc_mode7 se denominan “modos de predicción de movimiento”.
En los métodos de codificación de vídeo dados a conocer en las referencias de no patente 1 y 2, la forma de cada región de aplicación de predicción de movimiento se limita a un rectángulo, y no puede usarse una división diagonal de este tipo tal como se muestra en la figura 4 de cada bloque de referencia en regiones que incluyen una región distinta de una región rectangular. En contraste con esto, según esta realización 1, debido a que la forma de cada región dividida, tal como se muestra en la figura 4, a la que se aplica una predicción de movimiento se diversifica, cuando un movimiento complicado, tal como el contorno de un objeto en movimiento, se incluye en un bloque de referencia, puede llevarse a cabo una predicción de movimiento con un número menor de vectores de movimiento que el usado en el caso de una división rectangular.
Además, “S. Kondo y H. Sasai, “A Motion Compensation Technique using Sliced Blocks and its Application to Hybrid Video Coding”, VCIP 2005, julio de 2005, da a conocer un método para diversificar las formas de las regiones en las que se divide un macrobloque convencional, y a cada una de las cuales se aplica una predicción de movimiento. En esta referencia, las formas divididas se expresan mediante posiciones de intersección, estando cada una entre un segmento de línea usado para la división de macrobloques y un borde de bloque. Sin embargo, dado que este método aumenta el número de patrones de división en cada bloque de referencia mientras fija el número de píxeles M, surgen los siguientes problemas.
Problema 1:
La cantidad de código para describir los patrones de división de cada bloque de referencia aumenta. Cuando se permite una reunión arbitraria de Mmáx mod mi=0, el número de patrones de división en cada bloque de referencia aumenta y se hace necesario codificar información para especificar cada uno de los patrones de división como información de sobrecarga. Debido a que la probabilidad de que se produzca cada patrón de división específico determinado se dispersa a medida que aumenta el número de patrones de división, la codificación por entropía de los patrones de división se vuelve ineficaz y se convierte en una sobrecarga como una cantidad de código, y la capacidad de codificación total alcanza su límite.
Problema 2:
A medida que aumenta el número de patrones de división, aumenta la cantidad de operación aritmética requerida para seleccionar una división óptima en el momento de la codificación. Debido a que la predicción de movimiento es un procedimiento de carga pesada que ocupa un gran porcentaje de la carga de procesamiento de codificación, el dispositivo de codificación de imágenes convencional no tiene otra opción que diseñarse de tal manera que verifique y use solo un patrón de división específico entre la pluralidad de patrones de división si el dispositivo de codificación de imágenes convencional usa un algoritmo que aumenta el número de patrones de división a ciegas. Por tanto, existe un caso en el que el dispositivo de codificación de imágenes convencional no puede hacer un uso completo de la capacidad original que tiene el algoritmo.
En contraste con esto, el enfoque mostrado en la figura 4 del dispositivo de codificación de imágenes de esta realización 1 resuelve los problemas mencionados anteriormente usando los tres métodos siguientes: el primer método (1) de permitir un cambio del valor de Mmáx en un nivel superior, tal como un fotograma, según los requisitos de la codificación, y la resolución y las propiedades de la señal de vídeo; el segundo método (2) de habilitar una división de cada bloque de píxeles MmáxxMmáx en uno o más bloques básicos de píxeles UxMi según las características de cada componente de color Ci; y el tercer método (3) de garantizar variaciones de división mientras se limitan los requisitos de la división en bloques básicos a una división que tiene formas divididas que satisfacen las siguientes restricciones: “mi=Mi/2” y “ li=Li/2”. El valor del tamaño Mmáx de los bloques básicos no se cambia localmente dentro de cada fotograma o cada fragmento y solo puede cambiarse en un nivel de estructura de datos de orden superior, tal como un nivel de fotograma o una secuencia de fotograma (una secuencia o un GOP). Este mecanismo permite la adaptación a una diferencia en el significado del patrón de señal de imagen incluido en cada bloque de referencia. Por ejemplo, en un vídeo que tiene una resolución pequeña (matriz de gráficas de vídeo: VGA, o similares) y un vídeo que tiene una gran resolución (HDTV o similares), sus patrones de señal en cada bloque de píxeles MmáxxMmáx que tienen el mismo tamaño expresan diferentes significados. Cuando se predice un objeto idéntico que va a dispararse, mientras que un patrón de señal próximo a la estructura del objeto que va a dispararse se capta en un vídeo que tiene una resolución pequeña, un patrón de señal de una parte local más alejada del objeto que va a dispararse simplemente se capta en un vídeo que tiene una gran resolución incluso si se usa el mismo tamaño de bloque que en el caso del vídeo que tiene una resolución pequeña. Por tanto, cuando el tamaño de bloque de referencia no cambia en función de la resolución, el patrón de señal dentro de cada bloque de referencia tiene una componente de ruido mayor a medida que aumenta la resolución y, por tanto, resulta imposible mejorar la capacidad de predicción de movimiento como una tecnología de adaptación de patrones.
Por tanto, al permitir un cambio del valor del tamaño del bloque de referencia Mmáx solo en un nivel de estructura de datos de orden superior, mientras que la cantidad de código requerida para la señalización del valor del tamaño de bloque de referencia Mmáx puede reducirse, el patrón de señal incluido en cada bloque de referencia puede optimizarse según condiciones, tales como los cambios de resolución y escena del vídeo y los cambios de actividad de toda la pantalla desde el punto de vista de la predicción de movimiento. Además de este mecanismo, al permitir un cambio del patrón de división dentro de cada bloque de unidad de predicción de movimiento para cada componente de color, tal como se muestra en la figura 3, la unidad que va a procesarse para la predicción de movimiento puede optimizarse según las características de señal de cada componente de color. Además, al proporcionar flexibilidad restringida de los patrones de división a cada bloque de unidad de predicción de movimiento, tal como se muestra en la figura 4, mientras que la cantidad de código requerida para expresar los patrones de división dentro de cada bloque de unidad de predicción de movimiento se reduce, puede mejorarse la eficacia total de la predicción de movimiento. Además, al llevar a cabo el procedimiento de determinación del valor del tamaño de bloque de referencia Mmáx a un nivel de fotograma con eficacia, las variaciones del patrón de división que deben verificarse dentro de cada bloque de referencia después de eso pueden reducirse en comparación con las tecnologías convencionales, y la carga en el procedimiento de codificación puede reducirse.
Como método para determinar el valor del tamaño de bloque de referencia Mmáx, por ejemplo, existen los siguientes métodos.
El primer método (1) de determinación del valor del tamaño de bloque de referencia Mmáx según la resolución del vídeo que va a codificarse. En el caso del mismo valor Mmáx, un vídeo que tiene una gran resolución representa que un patrón de señal de imagen en cada bloque de referencia tiene una componente de ruido más significativa, y resulta difícil que un vector de movimiento capte el patrón de señal de imagen. En un caso de este tipo, el valor de Mmáx aumenta para permitir que un vector de movimiento capte el patrón de señal de imagen.
El segundo método (2) de asumir si la diferencia entre fotogramas es grande o no es una actividad y, cuando la actividad es grande, se realiza la predicción de movimiento con un valor de Mmáx pequeño, mientras que cuando la actividad es pequeña, se realiza la predicción de movimiento con un valor de Mmáx grande. Además, el control de tamaño en este momento se determina según la velocidad de fotograma del vídeo que va a codificarse. Dado que como aumenta la velocidad de fotogramas, una correlación interfotograma se hace grande, se reduce el intervalo dinámico del propio vector de movimiento y, por tanto, la cantidad de código se vuelve pequeña, puede tenerse en consideración, por ejemplo, un método para establecer el valor de Mmáx en un valor grande de tal manera que este valor no se vuelva excesivo incluso si la actividad es algo pequeña para que sea posible predecir hasta un movimiento fino.
El tercer método (3) de combinación de los métodos (1) y (2) ponderando estos métodos para determinar el valor del tamaño de bloque de referencia Mmáx.
Después de determinar el valor del tamaño de bloque de referencia Mmáx, se determinan los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento para cada componente de color. Por ejemplo, en el caso en el que la señal de vídeo introducida 1 se defina en el espacio de color de YUV (o YCbCr o similares), la componente U/V que es una señal de crominancia tiene una banda de señal estrecha en comparación con la componente Y de la señal de brillo. Por tanto, una varianza dentro de los bloques se hace pequeña en comparación con la del brillo. Puede tenerse en consideración un ejemplo de un criterio de determinación mediante el cual se determinan los tamaños Li y Mi de la componente U/V de tal manera que sean mayores que los tamaños Li y Mi de la componente Y de la señal de brillo basándose en el hecho de que una varianza dentro de los bloques se hace pequeña en comparación con la del brillo (remítase a la figura 3).
Los valores de los tamaños de bloque Mmáx, Li y Mi adquiridos como resultado de haber realizado estas determinaciones se notifican a la unidad de división de bloques 2, la unidad de predicción 4 y la unidad de codificación de longitud variable 8 como información de tamaño de bloque de referencia 18. Simplemente estableciendo Li y Mi como valores derivables con respecto a Mmáx a través de operaciones aritméticas sencillas, tal como se muestra en la figura 3, lo que es necesario es simplemente codificar los identificadores de las expresiones de cálculo en lugar de codificar Li y Mi como valores independientes. Por tanto, puede reducirse la cantidad de código requerida para la información de tamaño de bloque de referencia 18.
Aunque no se ilustra particularmente en la figura 2, el dispositivo de codificación de imágenes puede construirse de tal manera que incluya una unidad de determinación de tamaño de bloque de referencia para determinar los valores de Mmáx, Li y Mi, y notificar estos valores a cada unidad, y determinar la información de tamaño de bloque de referencia 18.
La unidad de predicción 4 realiza un procedimiento de detección de movimiento usando los patrones de división mostrados en las figuras 3 y 4 según los tamaños de bloque de la unidad de predicción de movimiento Li y Mi que se derivan de la información de tamaño de bloque de referencia 18. La figura 5 es un diagrama de flujo que muestra el funcionamiento de la unidad de predicción 4. La unidad de predicción 4 lleva a cabo una predicción de movimiento de la componente Ci del fotograma en unidades de un bloque de unidad de predicción de movimiento que tiene píxeles LixMi. Fundamentalmente, en este procedimiento, la unidad de predicción detecta un vector de movimiento óptimo en cada región dividida dentro de un intervalo de búsqueda de movimiento especificado para cada uno de los patrones de división mc_mode0 a mc_mode7 mostrados en la figura 4, y finalmente determina cuál de los patrones de división mc_mode0 a mc_mode7 debería usarse para que el bloque de unidad de predicción de movimiento en cuestión proporcione la mayor eficacia predictiva.
La eficacia predictiva se define por el siguiente coste J, que se deriva tanto de la cantidad de código total R de vectores de movimiento dentro del bloque de unidad de predicción de movimiento, como de la cantidad D de error de predicción entre la señal de predicción 12, que se crea a partir de la imagen de referencia almacenada en la memoria 16 mediante una aplicación de los vectores de movimiento anteriormente mencionados, y la señal de vídeo introducida 1. La unidad de predicción 4 está construida de tal manera que emite el modo de predicción de movimiento y el vector de movimiento que minimizan este coste J.
Figure imgf000010_0001
Por tanto, la unidad de predicción 4 calcula primero el coste Jk para cada modo de predicción de movimiento mc_modek (etapa ST1). Con referencia a la figura 6, se explicará un método de cálculo del coste J tomando el caso de mc_mode5 como ejemplo. En este momento, el bloque de unidad de predicción de movimiento que es un objetivo que va a predecirse en el fotograma F(t) consiste en dos regiones divididas B0 y B1. Además, se asume que dos imágenes de referencia F’ (t-1) y F’ (t-2) que ya se han codificado y decodificado localmente se almacenan en la memoria 16, y la unidad de predicción puede llevar a cabo una predicción de movimiento usando las dos imágenes de referencia F’ (t-1) y F’ (t-2) para las regiones divididas B0 y B1. En el ejemplo de la figura 6, la unidad de predicción detecta un vector de movimiento MVt-2 (B0) usando la imagen de referencia F’ (t-2) para la región dividida B0 y también detecta un vector de movimiento MVt-1 (B1) usando la imagen de referencia F’ (t-1) para la región dividida B1. Cuando cada región dividida se expresa como B, el valor de píxel en la posición x=(i, j) en la pantalla del enésimo fotograma se expresa como Sn(x), y el vector de movimiento se expresa como v, la cantidad D de error de predicción de la región dividida B puede calcularse usando la suma de diferencias absolutas (SAD) según una ecuación (2) que se muestra a continuación.
Figure imgf000010_0002
A partir de las cantidades D0 y D1 de error de predicción correspondientes a las regiones divididas B0 y B1, cada una de las cuales se adquiere como resultado del cálculo usando la ecuación (2) mencionada anteriormente, la cantidad D de error de predicción se determina como D=D0+D1.
Por otro lado, en cuanto a una cantidad de código total R, la unidad de predicción usa los vectores estimados PMV (B0) y PMV (B1) para adquirir las diferencias de predicción de vectores de movimiento MVD(B0) y MVD(B1) según una ecuación (3) que se muestra a continuación y, entonces, lleva a cabo la conversión de cantidad de código de estos valores para adquirir las cantidades de código R0 y R1 y determinar la cantidad de código total R=R0+R1.
Figure imgf000010_0003
Como resultado, se determina el coste J. La unidad de predicción 4 calcula el coste J de cada uno de todos los vectores de movimiento que son objetivos que van a examinarse en el intervalo de búsqueda y determina la solución que proporcione el coste más pequeño J como el patrón de división de mc_mode5. En la figura 7 se muestra un ejemplo de la determinación de los vectores estimados PMV en mc_mode1 a mc_mode4. En la figura 7, cada flecha significa un vector de movimiento MV en una región circundante o adyacente que se usa para la derivación del vector estimado, y una mediana de tres vectores de movimiento MV encerrados por o se define como el vector estimado PMV de la región dividida indicada por la mediana.
Cuando se selecciona k=7, es decir, mc_mode7, para cada bloque de píxeles de LixMi, cada uno de los modos de predicción de movimiento correspondientes a los modos de mc_mode0 a mc_mode7 se selecciona para cada uno de los bloques de píxeles de lixmi. Los modos en este momento se denominan sub_mc_mode0 a sub_mc_mode7, respectivamente, por motivos de conveniencia. Un procedimiento de determinación de sub_mc_mode para cada uno de los bloques de píxeles lixmi se lleva a cabo según el flujo de proceso de la figura 5, y el coste J 7 en mc_mode7 en el bloque de píxeles LxMi correspondiente es la suma total de los costes adquiridos usando sub_mc_mode determinado para cada uno de los bloques de píxeles lixmi.
A continuación, la unidad de predicción 4 verifica si el coste Jk en mc_modek que la unidad de predicción ha determinado de esta manera es menor que el coste en mc_modek que ha verificado hasta ahora (etapa ST2) y, cuando el coste Jk en mc_modek es menor que el coste en mc_modek que ha verificado hasta ahora (si es “Sí” en la etapa ST2), mantiene mc_modek como el modo de predicción de movimiento que se asume que es óptimo hasta ese momento, y también mantiene el vector de movimiento y la señal de error de predicción determinada en ese momento (etapa ST3) . Después de terminar de verificar todos los modos de predicción de movimiento (si es “Sí” en la etapa ST4), la unidad de predicción 4 emite el modo de predicción de movimiento, el vector de movimiento y la señal de error de predicción 5 que la unidad de predicción ha estado manteniendo hasta ahora como solución final (etapa ST5) . De lo contrario (si es “No” en la etapa ST2 o si es “No” en la etapa ST4), la unidad de predicción, en la etapa ST6, incrementa la variable k y, entonces, vuelve a la etapa ST1 y verifica el siguiente modo de predicción de movimiento.
En cada uno de un modo de predicción de movimiento correspondiente a mc_mode0 y los modos de predicción de movimiento correspondientes a sub_mc_mode0, un caso en el que el vector de movimiento coincide con el vector estimado (la diferencia de predicción que va a codificarse es cero) y todos los coeficientes de la señal de error de predicción transformada y cuantificada son cero se define como un modo de omisión especial. A continuación en el presente documento, el modo de omisión correspondiente a mc_mode0 se denomina modo de mc_skip (un primer modo de omisión), y el modo de omisión correspondiente a sub_mc_mode0 se denomina modo de sub_mc_skip (un segundo modo de omisión). La figura 8 es una vista para explicar los modos de omisión y la figura 8(a) muestra un ejemplo en el que cada rectángulo encerrado como una línea continua indica un bloque de unidad de predicción de movimiento y su vector de movimiento se indica mediante MV. En este momento, la unidad de predicción calcula un vector estimado PMV en un bloque de unidad de predicción de movimiento usando, por ejemplo, los vectores de movimiento en bloques de unidades de predicción de movimiento circundantes o adyacentes, tal como se muestra en la figura 8. Debido a que la codificación del vector de movimiento se realiza codificando el valor de diferencia de predicción entre el vector de movimiento y el vector estimado, se asume que este bloque de unidad de predicción de movimiento se encuentra en el modo mc_skip en caso de que la diferencia de predicción sea cero (MV==PMV) y la señal de error de predicción 5 no presente coeficientes distintos a cero que van a codificarse. Además, la figura 8(b) es una visualización ampliada de una parte de la figura 8(a) con el bloque básico sombreado mostrado en la figura 8(a) centrado en la figura ampliada, y un fotograma de línea gruesa muestra una región de bloque de unidad de predicción de movimiento. En este caso, sub_mc_mode del bloque básico objetivo es sub_mc_mode0. Cuando el vector de movimiento en este momento se expresa como MV y el vector estimado en este momento se expresa como PMV, se asume que el modo de predicción de movimiento que se aplica a este bloque básico es el modo sub_mc_skip en caso de que la diferencia de predicción sea cero (MV==PMV) y la señal de error de predicción 5 no tenga coeficientes distintos a cero que van a codificarse, tal como en el caso de la determinación de mc_skip.
En los métodos de codificación convencionales dados a conocer, por ejemplo, en las referencias de no patente 1 y 2, mc_mode0, es decir, el modo de omisión correspondiente solo al bloque de unidad de predicción de movimiento más grande (en las referencias de no patente 1 y 2, un bloque de referencia tal como se muestra en esta realización 1 tiene el mismo tamaño que un bloque de unidad de predicción de movimiento tal como se muestra en esta realización 1, y el bloque de unidad de predicción de movimiento más grande corresponde a un macrobloque) se proporciona habitualmente y, en el modo de omisión, está diseñado para no codificar ninguna información sobre macrobloques en absoluto. Por el contrario, esta realización 1 se caracteriza porque este modo de omisión también se define adicionalmente en la capa jerárquica de sub_mc_mode. En los métodos de codificación convencionales dados a conocer, por ejemplo, en las referencias de no patente 1 y 2, debido a que una señal de vídeo que se manipula tiene una velocidad de muestreo relativamente baja que es del orden de hasta la resolución de HDTv , un bloque de unidad de predicción de movimiento que tiene un macrobloque más pequeño que un macrobloque simplemente significa que el movimiento se complica y, por tanto, es difícil llevar a cabo la codificación con eficacia incluso si se tiene en cuenta el modo de omisión. Por otro lado, cuando se codifica una señal de vídeo que tiene una velocidad de muestreo alta, tal como un vídeo de ultra alta definición que tiene una velocidad de muestreo superior a la de HDTV, o una señal de vídeo que tiene el formato 4:4:4, simplemente disponer un modo de omisión teniendo en cuenta solo el tamaño de cada bloque de unidad de predicción de movimiento que consiste en un bloque de píxeles de UxMi no puede utilizar los requisitos de omisión de manera eficaz cuando se elige un bloque básico (o una región de asignación de vectores de movimiento que se determina mediante una combinación de bloques básicos) más pequeño que cada bloque de unidad de predicción de movimiento y, por tanto, un vector de movimiento que tiene un valor cero y valores de coeficientes cero se codifican explícitamente en todo momento y la eficacia de codificación es mala. Por tanto, el dispositivo de codificación de imágenes según esta realización 1 se construye de tal manera que, no solo cada bloque de unidad de predicción de movimiento que consiste en un bloque de píxeles de UxMi, que es una unidad para la asignación mc_mode tenga un tamaño mayor que un tamaño constante, sino también para que cada bloque básico que consiste en un bloque de píxeles lixmi que es una unidad para la asignación de sub_mc_mode tenga un tamaño mayor que un tamaño constante (li>lt, mi>mt), pueda seleccionar y usar un modo sub_mc_skip para cada bloque básico. Los umbrales lt y mt pueden determinarse de manera única a partir de los valores de Mi y Li (por ejemplo, lt=Li/2 y mt=Mi/2). Como alternativa, los umbrales pueden transmitirse multiplexándose en el flujo de bits a un nivel tal como un fotograma o una secuencia.
A través del procedimiento mencionado anteriormente por la unidad de predicción 4, se emiten la señal de error de predicción 5 y los parámetros 17 (el modo de predicción de movimiento y el vector de movimiento) para la creación de la señal de predicción, y estos se codifican por entropía por la unidad de codificación de longitud variable 8. A continuación en el presente documento, se describirá un método de codificación por entropía para codificar por entropía los parámetros 17 para la creación de señales de predicción que es una característica del dispositivo de codificación de imágenes según esta realización 1.
En la codificación del parámetro 17 para la creación de señales de predicción que se explicará a continuación en el presente documento, los dos tipos de parámetros que incluyen el vector de movimiento y el modo de predicción de movimiento son el objetivo de la explicación. La figura 9 es una vista para explicar el método de codificación por entropía que usa la unidad de codificación de longitud variable 8. En el dispositivo de codificación de imágenes según esta realización 1, tal como se muestra en la figura 9, cuando se codifica el modo de predicción de movimiento m(Bx) de un bloque básico Bx que es un objetivo para la codificación predictiva, la unidad de codificación de longitud variable realiza la codificación por entropía haciendo referencia selectivamente al estado del modo de predicción m (Ba) del bloque básico Ba a la izquierda del bloque básico objetivo en el mismo fotograma F(t), el estado del modo de predicción m(Bb) del bloque básico Bb justo por encima del bloque básico objetivo en el mismo fotograma F(t) y el estado del modo de predicción de movimiento m(Bc) del bloque básico Bc en la misma posición que el bloque básico Bx en el fotograma adyacente inmediatamente anterior F' (t-1).
La figura 10 muestra la estructura interna de la unidad de codificación de longitud variable 8, y la figura 11 muestra un flujo del funcionamiento de la unidad de codificación de longitud variable. La unidad de codificación de longitud variable 8 según esta realización 1 comprende una unidad de determinación de modelo de contexto 21 para determinar un modelo de contexto (que se mencionará más adelante) definido para cada uno de los tipos de datos que incluyen el modo de predicción de movimiento y el vector de movimiento que son datos que van a codificarse, una unidad de binarización 22 para convertir datos de múltiples valores en datos binarios según una regla de binarización determinada para cada tipo de datos que van a codificarse, una unidad de creación de probabilidad de aparición 23 para proporcionar la probabilidad de aparición de cada valor (0/1) de cada elemento binario binarizado, una unidad de codificación 24 para realizar codificación aritmética según la probabilidad de aparición creada, y una memoria de almacenamiento de información de probabilidad de aparición 25 para almacenar información de probabilidad de aparición. A continuación en el presente documento, se realizará una explicación limitando la entrada a la unidad de determinación de modelo de contexto 21 al modo de predicción de movimiento y al vector de movimiento entre los parámetros 17 para la creación de imágenes de predicción.
(A) Procedimiento de determinación de modelo de contexto (etapa ST11 en la figura 11)
Un modelo de contexto modela una relación de dependencia con otra información, lo que da como resultado una variación de la probabilidad de aparición de un símbolo de fuente de información, y se vuelve capaz de realizar una codificación que se adapta según la probabilidad de aparición real de un símbolo cambiando el estado de la probabilidad de aparición en función de esta relación de dependencia. El concepto detrás del modelo de contexto ctx se muestra en la figura 12. En esta figura, aunque un símbolo de fuente de información es binario, alternativamente, puede presentar múltiples valores. Sin embargo, en esta realización 1, solo se hace uso de codificación aritmética binaria.
Las elecciones 0 a 2 del modelo de contexto ctx mostrado en la figura 12 se definen en el supuesto de que el estado de la probabilidad de aparición del símbolo de fuente de información que usa este modelo de contexto ctx variaría según condiciones. Al aplicar esta definición al dispositivo de codificación de imágenes según esta realización 1, el valor del modelo de contexto ctx se cambia según la relación de dependencia entre los datos codificados en un determinado bloque de referencia y los datos codificados en otro bloque de referencia adyacente al bloque de referencia.
Por ejemplo, la figura 13 muestra un ejemplo de un modelo de contexto sobre un vector de movimiento que se da a conocer por D. Marpe et. al., “Video Compression Using Context-Based Adaptive Arithmetic Coding”, Conferencia Internacional sobre Procesamiento de Imágenes 2001. En el ejemplo de la figura 13, un vector de movimiento de un bloque C es un objetivo que va a codificarse (precisamente, se codifica un valor de diferencia de predicción mvdk(C) que se predice para el vector de movimiento del bloque C a partir de bloques adyacentes) . Además, ctx_mvd(C, k) muestra un modelo de contexto aplicado al vector de movimiento del bloque C. mvdk(A) muestra una diferencia de predicción de vector de movimiento en un bloque A y mvdk(B) muestra una diferencia de predicción de vector de movimiento en un bloque B. Estos valores se usan para la definición de un valor evaluado ek(C) para cambiar el modelo de contexto. El valor evaluado ek(C) muestra variaciones en los vectores de movimiento adyacentes. En general, cuando estas variaciones son pequeñas, el valor de diferencia de predicción de vector de movimiento mvdk(C) es pequeño, mientras que cuando el valor evaluado ek(C) es grande, el valor de diferencia de predicción del vector de movimiento (C) tiende a ser grande. Por tanto, es deseable que la probabilidad de aparición de símbolos de la diferencia de predicción de vector de movimiento mvdk(C) se adapte según el valor evaluado ek(C). Un conjunto de variaciones de esta probabilidad de aparición son modelos de contexto y, en este caso, puede decirse que existen tres tipos de variaciones de probabilidad de aparición.
Por tanto, se definen modelos de contexto para cada dato que va a codificarse de antemano, y se comparten entre el dispositivo de codificación de imágenes y el dispositivo de decodificación de imágenes. La unidad de determinación de modelo de contexto 21 lleva a cabo un procedimiento de selección de uno de los modelos predeterminados según el tipo de tales datos que van a codificarse. La variación de probabilidad de aparición seleccionada en el modelo de contexto corresponde a un procedimiento de creación de probabilidad de aparición (C) que se mostrará a continuación.
En la figura 10, la unidad de codificación de longitud variable 8 se caracteriza porque prepara dos o más candidatos para un modelo de contexto 26 que va a asignarse al modo de predicción de movimiento y al vector de movimiento, y entonces conmuta entre los dos o más candidatos para el modelo de contexto 26 que usa la unidad de codificación de longitud variable según la información de selección de modelo de contexto 27. Tal como se muestra en la figura 9, dado que puede considerarse que el modo de predicción de movimiento m(Bx) del bloque básico Bx, que es el objetivo para la predicción y la codificación, tiene una alta correlación con el estado de una región de imagen que es adyacente espacialmente dentro del mismo fotograma si la correlación acerca del estado del movimiento entre fotogramas es baja (más específicamente, el valor del modo de predicción de movimiento m(Bx) está fuertemente influenciado por las formas divididas en los modos de predicción de movimiento m(Ba) y m(Bb)), tanto el modo de predicción de movimiento m(Ba) del bloque básico Bb a la izquierda del bloque básico objetivo dentro del mismo fotograma como el modo de predicción de movimiento m(Bb) del bloque básico Ba justo por encima del bloque básico objetivo dentro del mismo fotograma se usan para la determinación del modelo de contexto 26. En la figura 14 se muestra un ejemplo que constituye la base para este concepto. La figura 14 muestra una comparación entre dos estados de los modos de predicción de movimiento seleccionados para los bloques básicos Ba y Bb en el caso del modo de predicción de movimiento m(Bx)=mc_mode3. En el estado mostrado en la figura 14(a), las interrupciones de división de cada uno de los bloques básicos Ba y Bb están conectadas de manera natural a las formas divididas en el modo de predicción de movimiento m(Bx), respectivamente. Por el contrario, en el estado mostrado en la figura 14(b), las interrupciones de división de cada uno de los bloques básicos Ba y Bb no están conectadas de manera natural a las formas divididas. En general, dado que estas formas divididas en cada bloque de referencia muestran la existencia de una pluralidad de regiones de movimiento diferentes existentes en el bloque de referencia, estas reflejan fácilmente la estructura del vídeo. Por tanto, puede considerarse que el estado mostrado en la figura 14(a) es un “estado que se produce fácilmente” en lugar del estado mostrado en la figura 14(b) . Más específicamente, la probabilidad de aparición del modo de predicción de movimiento m(Bx) se ve afectada por los estados de los modos de predicción de movimiento m(Ba) y m(Bb).
De manera similar, dado que puede considerarse que el modo de predicción de movimiento m(Bx) del bloque básico Bx tiene una alta correlación con el estado de una región de imagen que es adyacente con respecto al tiempo si la correlación acerca del estado de movimiento entre fotogramas es alta (más específicamente, la probabilidad de que el modo de predicción de movimiento m(Bx) pueda tener variaciones en función de las formas divididas en el modo de predicción de movimiento m(Bc)), la unidad de codificación de longitud variable 8 usa tanto el modo de predicción de movimiento m(Bc) del bloque básico Bc en la misma posición que el bloque básico Bx en el fotograma adyacente inmediatamente anterior para la determinación del modelo de contexto 26.
De manera similar, cuando se determina el modelo de contexto 26 para el vector de movimiento, si la correlación acerca del estado de movimiento entre fotogramas es baja, la unidad de codificación de longitud variable 8 usa tanto el vector de movimiento del bloque Ba a la izquierda del bloque básico objetivo dentro del mismo fotograma, como el vector de movimiento del bloque Bb justo por encima del bloque básico objetivo para la determinación del modelo de contexto 26. Por el contrario, si la correlación acerca del estado de movimiento entre fotogramas es alta, la unidad de codificación de longitud variable 8 usa el vector de movimiento del bloque Bc en la misma posición que el bloque Bx en el fotograma adyacente inmediatamente anterior para la determinación del modelo de contexto 26. Como en el caso de determinar el modelo de contexto para el modo de predicción de movimiento, la unidad de codificación de longitud variable también puede usar una correlación entre las componentes de color para la determinación del modelo de contexto 26 para el vector de movimiento.
El dispositivo de codificación de imágenes puede detectar si la correlación acerca del estado de movimiento entre fotogramas es alta o baja usando un método predeterminado y puede multiplexar explícitamente el valor de la información de selección de modelo de contexto 27 con el flujo de bits 9 para transmitir este valor de la info rmación de selección de modelo de contexto al dispositivo de decodificación de imágenes. Tanto el dispositivo de codificación de imágenes como el dispositivo de decodificación de imágenes pueden construirse de tal manera que determinen el valor de la información de selección de modelo de contexto 27 según la información detectable. Debido a que la señal de vídeo es inestable, la eficacia de la codificación aritmética puede mejorarse haciendo posible llevar a cabo tal control adaptativo.
(B) Procedimiento de binarización (etapa ST12 mostrada en la figura 11)
La unidad de binarización 22 forma cada dato que va a codificarse para dar una secuencia binaria y determina un modelo de contexto según cada elemento binario (posición binaria) de la secuencia binaria. La regla de binarización sigue una distribución aproximada de valores que puede tener cada dato codificado, y la unidad de binarización realiza la conversión de cada dato que va a codificarse para dar una secuencia binaria de longitud variable. Debido a que, en la binarización, los datos que van a codificarse que pueden originalmente presentar múltiples valores se codifican por elemento binario en lugar de codificarse aritméticamente tal como están, la binarización tiene el mérito de poder reducir el número de divisiones de una recta numérica de probabilidad y, por tanto, de simplificar la operación aritmética, y de estrechar el modelo de contexto, por ejemplo.
Por ejemplo, cuando se lleva a cabo la codificación con Li=Mi=32 y li=m¡=16, la unidad de binarización 22 realiza la binarización del modo de predicción de movimiento, tal como se muestra en las figuras 15(a) y 15(b).
Los modelos de contexto tal como se muestran en las figuras 16A a 16E se aplican a BinO, Bin1, Bin2, Bin4 y Bin5, respectivamente. Tal como se muestra en la figura 16A, BinO tiene un criterio mediante el cual conmutar entre las probabilidades de aparición según si los estados del bloque de unidad de predicción de movimiento en la posición superior (bloque A) y el bloque de unidad de predicción de movimiento en la posición izquierda (bloque B) con respecto a los datos que van a codificarse (bloque C) son “modo de omisión”. Tal como se muestra en la figura 16B, Bin1 tiene un criterio mediante el cual conmutar entre las probabilidades de aparición según si los estados del bloque de unidad de predicción de movimiento en la posición superior (bloque A) y el bloque de unidad de predicción de movimiento en la posición izquierda (bloque B) son “si hay o no división de bloques de predicción de movimiento”. Tal como se muestra en la figura 16C, Bin2 tiene un criterio mediante el cual conmutar entre las probabilidades de aparición según si los estados del bloque de unidad de predicción de movimiento en la posición superior (bloque A) y el bloque de unidad de predicción de movimiento en la posición izquierda (bloque B) son “si el estado es un modo de predicción de movimiento complicado o no”. Para Bin3, se define modelo de no contexto y la probabilidad de aparición se fija en una probabilidad de aparición predeterminada. Tal como se muestra en la figura 16D, Bin4 tiene un criterio mediante el cual conmutar entre las probabilidades de aparición según si el estado del bloque de unidad de predicción de movimiento en la posición izquierda (bloque B) es “si la división de forma de predicción de movimiento es una división horizontal o no”. Tal como se muestra en la figura 16E, Bin5 tiene un criterio mediante el cual conmutar entre las probabilidades de aparición según si el estado del bloque de unidad de predicción de movimiento en la posición superior (bloque A) es “si la división de forma de predicción de movimiento es una división vertical o no”. Al determinar el modelo de contexto 26 según la forma de la región de predicción de movimiento de esta manera, la selección de la probabilidad de aparición relacionada con la información de modo de predicción de movimiento puede realizarse de manera adaptativa en función de las propiedades de la señal de vídeo local, y la eficacia de codificación de la codificación aritmética puede mejorarse. El dispositivo de codificación de imágenes se construye de tal manera que, cuando se toma la decisión de no usar sub_mc_skip en li=mi=16 (el umbral lt>=16 y el umbral mt>=16), no se codifica Bin0 mostrado en la figura 15(b).
(C) Procedimiento de creación de probabilidad de aparición (etapa ST13 mostrada en la figura 11)
En los procedimientos (etapas ST11 y ST12) de (A) y (B) mencionados anteriormente, se completan la binarización de cada dato de múltiples valores que va a codificarse y la configuración del modelo de contexto que se aplica a cada elemento binario, y se completa la preparación para la codificación. La unidad de creación de probabilidades de aparición 23 lleva a cabo entonces un procedimiento de creación de creación de información de probabilidad de aparición usada para la codificación aritmética. Debido a que las variaciones de la probabilidad de aparición correspondientes a cada uno de los valores 0 y 1 se incluyen en cada modelo de contexto, la unidad de creación de probabilidad de aparición lleva a cabo el procedimiento con referencia al modelo de contexto 26 determinado en la etapa ST11. La unidad de creación de probabilidad de aparición 23 determina un valor evaluado para la selección de una probabilidad de aparición, tal como un valor evaluado ek(C) mostrado en la figura 13, y determina qué variación de probabilidad de aparición usará la unidad de creación de probabilidad de aparición para la codificación actual según este valor evaluado de entre las elecciones del modelo de contexto al que se refiere la unidad de creación de probabilidad de aparición.
Además, la unidad de codificación de longitud variable 8 según esta realización 1 está dotada de una memoria de almacenamiento de información de probabilidad de aparición 25 y tiene un mecanismo para almacenar la información de probabilidad de aparición 28 que se actualiza a su vez a través del procedimiento de codificación, almacenándose las partes de información de probabilidad de aparición como resultado de la actualización correspondiente a las variaciones del modelo de contexto usado. La unidad de creación de probabilidad de aparición 23 determina la información de probabilidad de aparición 28 que se usa para la codificación actual según el valor del modelo de contexto 26.
(D) Procedimiento de codificación (etapa ST14 mostrada en la figura 11)
En el procedimiento mencionado anteriormente (C) (etapa ST13), debido a que se adquiere la probabilidad de aparición de cada uno de los valores 0 y 1 en la línea numérica de probabilidad requerida para el procedimiento de codificación aritmética, la unidad de codificación 24 realiza la codificación aritmética según el procedimiento mencionado como un ejemplo convencional (etapa ST14) .
Además, el valor codificado real (0/1) 29 se retroalimenta a la unidad de creación de probabilidad de aparición 23, la unidad de creación de probabilidad de aparición cuenta la frecuencia de aparición de cada uno de los valores 0 y 1 con el fin de actualizar la información de probabilidad de aparición 28 usada (etapa ST15) . Por ejemplo, se asume que cuando el procedimiento de codificación de codificación de 100 elemento(s) binario(s) se lleva a cabo usando una determinada información de probabilidad de aparición 28, las probabilidades de aparición de 0 y 1 en la variación de probabilidad de aparición son 0,25 y 0,75, respectivamente. En este caso, cuando “1” se codifica usando la misma variación de probabilidad de aparición, se actualiza la frecuencia de aparición de “1” y las probabilidades de aparición de 0 y 1 varían a 0,247 y 0,752, respectivamente. Usando este mecanismo, la unidad de codificación puede realizar una codificación eficaz que se adapta a la probabilidad de aparición real.
Después de completar el procedimiento de codificación en todos los elementos binarios, un resultado de codificación aritmética 30 que la unidad de codificación 24 ha creado se convierte en una salida desde la unidad de codificación de longitud variable 8, y se emite desde el dispositivo de codificación de imágenes como el flujo de bits 9 (etapa ST16) .
Estructura del flujo de bits codificado
La señal de vídeo introducida 1 se codifica por el dispositivo de codificación de imágenes de la figura 2 según los procedimientos mencionados anteriormente y la señal de vídeo codificada se emite desde el dispositivo de codificación de imágenes como el flujo de bits 9 en unidades, cada una de las cuales es un paquete que consiste en una pluralidad de bloques de referencia (de aquí en adelante se hace referencia a cada unidad como fragmento). La disposición de datos del flujo de bits 9 se muestra en la figura 17. El flujo de bits 9 se construye como aquel en el que un número de datos codificados cuyo número es igual al número de bloques de referencia incluidos en cada fotograma se recogen en cada fotograma, y los bloques de referencia se unifican en cada fragmento. Se prepara una cabecera de nivel de imagen a la que los bloques de referencia que pertenecen al mismo fotograma se refieren como un parámetro común, y la información de tamaño de bloque de referencia 18 se almacena en esta cabecera de nivel de imagen. Si el tamaño de bloque de referencia Mmáx se fija por secuencia en un nivel más alto que el nivel de imagen, la información de tamaño de bloque de referencia 18 puede formarse para multiplexarse en la cabecera de nivel de secuencia.
Cada fragmento comienza desde su cabecera de fragmento, y los datos codificados de cada bloque de referencia en el fragmento se disponen de manera continuada después de la cabecera de fragmento. El ejemplo de la figura 17 muestra que los K bloques de referencia se incluyen en el segundo fragmento. Cada dato de bloque de referencia está comprendido por una cabecera de bloque de referencia y datos comprimidos de error de predicción. En la cabecera de bloque de referencia, se disponen los modos de predicción de movimiento mc_mode y los vectores de movimiento de los bloques de unidad de predicción de movimiento en el bloque de referencia correspondiente (corresponden a los parámetros 17 para la creación de señal de predicción), los parámetros de cuantificación 19 usados para la creación de los datos comprimidos de error de predicción 7, etc.
La información del tipo de modo, tal como el modo de predicción de movimiento mc_mode, que indica mc_skip o uno de mc_mode0 a mc_mode7 se codifica primero y, cuando el modo de predicción de movimiento mc_mode es mc_skip, no se transmite ninguna parte posterior de información de codificación de macrobloques. Cuando el modo de predicción de movimiento mc_mode es uno de mc_mode0 a mc_mode6, se codifican las partes de información del vector de movimiento de las regiones de asignación de vector de movimiento especificadas por el modo de predicción de movimiento. Cuando el modo de predicción de movimiento mc_mode es mc_mode7, si se incluye o no sub_mc_skip en el código de sub_mc_mode se determina según la información de tamaño de bloque de referencia 18. A continuación en el presente documento, se asume que los umbrales usados para determinar si sub_mc_skip se incluyen o no en el código de sub_mc_mode se definen como lt=Li/2 y mt=Mi/2 a partir de los tamaños de bloque de referencia Mi y Li. Además, cuando se cumplen los requisitos de “li>lt y mi>mt”, la codificación de sub_mc_mode que incluye sub_mc_skip se realiza según la regla de binarización mostrada en la figura 15(b). Por el contrario, cuando no se cumplen los requisitos de “li>lt y mi>mt”, solo la codificación de BinO se excluye de la regla de binarización mostrada en la figura 15(b). Además, la información de selección de modelo de contexto 27 que muestra una guía para seleccionar un modelo de contexto en la codificación aritmética del modo de predicción de movimiento y el vector de movimiento se incluye en la cabecera de bloque de referencia.
Aunque no se ilustra, la unidad de determinación de tamaño de bloque de referencia puede construirse de tal manera que seleccione los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento que se usan dentro de cada bloque de referencia para cada bloque de referencia, y multiplexe los tamaños Li y Mi del bloque de unidad de predicción de movimiento que se usan dentro de cada bloque de referencia en cada cabecera de bloque de referencia, en lugar de multiplexar los tamaños Li y Mi en la secuencia o la cabecera de nivel de imagen. Como resultado, aunque el dispositivo de codificación de imágenes necesita codificar los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento para cada bloque de referencia, el dispositivo de codificación de imágenes puede cambiar los tamaños de cada bloque de unidad de predicción de movimiento según las propiedades de la señal de imagen local, y puede realizar la predicción de movimiento con un mayor grado de adaptabilidad. La información que indica si multiplexar los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento en cada cabecera de bloque de referencia o multiplexarlos de manera fija en una cabecera en un nivel superior, tal como una secuencia, un GOP, una imagen o un fragmento puede multiplexarse, como información de identificación, en la cabecera en un nivel superior, tal como una secuencia, un GOP, una imagen o un fragmento. Como resultado, cuando la influencia ejercida sobre la capacidad de predicción de movimiento es pequeña, incluso si los tamaños de cada bloque de unidad de predicción de movimiento se multiplexan de manera fija en una cabecera de nivel superior, el dispositivo de codificación de imágenes puede reducir la sobrecarga requerida para codificar los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento para cada bloque de referencia y, por tanto, realizar la codificación con eficacia.
Dispositivo de decodificación de imágenes
La figura 18 es un diagrama de bloques que muestra la estructura del dispositivo de decodificación de imágenes según esta realización 1. Después de recibir el flujo de bits 9 mostrado en la figura 17 y a continuación decodificar la cabecera de nivel de secuencia, una unidad de decodificación de longitud variable (unidad de decodificación) 100 decodifica la cabecera de nivel de imagen y también decodifica la información que muestra el tamaño de bloque de referencia. Como resultado, la unidad de decodificación de longitud variable reconoce el tamaño Mmáx de cada bloque de referencia y los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento que se usan para la imagen, y notifica esta información de tamaño de bloque de referencia 18 a una unidad de decodificación de errores de predicción 101 y a una unidad de predicción 102. La unidad de decodificación de longitud variable 100 se construye de tal manera que, cuando el flujo de bits tiene una estructura en la que los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento pueden multiplexarse en cada cabecera de bloque de referencia, decodifique la información de identificación que muestra si los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento se multiplexan en cada cabecera de bloque de referencia, y reconoce los tamaños Li y Mi de cada bloque de unidad de predicción de movimiento decodificando cada cabecera de bloque de referencia según la información de identificación.
La unidad de decodificación de longitud variable comienza a decodificar cada uno de los datos de bloque de referencia a partir de la decodificación de la cabecera de bloque de referencia primero. En este procedimiento, la unidad de decodificación de longitud variable 100 decodifica la información de selección de modelo de contexto 27. A continuación, según la información de selección de modelo de contexto decodificada 27, la unidad de decodificación de longitud variable decodifica el modo de predicción de movimiento que se aplica a cada bloque de unidad de predicción de movimiento para cada componente de color. Cuando se decodifica el modo de predicción de movimiento, la unidad de decodificación de longitud variable decodifica mc_mode para cada bloque de unidad de predicción de movimiento primero y, cuando mc_mode muestra mc_skip, determina un vector estimado a partir de vectores de movimiento adyacentes según los requisitos mostrados en la figura 8 y asigna el vector estimado al vector de movimiento actual. Cuando mc_mode muestra mc_mode7, la unidad de decodificación de longitud variable decodifica sub_mc_mode para cada bloque básico según los requisitos mostrados en la figura 8. En este momento, basándose en la información de tamaño de bloque de referencia 18, la unidad de decodificación de longitud variable determina si usar o no sub_mc_skip según el mismo criterio de determinación que el que usa el dispositivo de codificación de imágenes y, a continuación, realiza un procedimiento de decodificación de sub_mc_mode según esta determinación. Cuando se usa sub_mc_skip, si sub_mc_mode==sub_mc_skip, la unidad de decodificación de longitud variable omite la decodificación de los datos codificados del bloque básico en cuestión, y asigna un vector estimado que la unidad de decodificación de longitud variable determina usando el método mostrado en la figura 8 al vector de movimiento actual. Cuando mc_mode muestra otro modo, la unidad de decodificación de longitud variable decodifica el vector de movimiento en cada una de las regiones de asignación de vectores de movimiento según la información de selección de modelo de contexto 27, y decodifica adicionalmente la parte de información sobre los parámetros de cuantificación 19, los datos comprimidos de error de predicción 7, etc. a su vez para cada bloque de referencia.
Los datos comprimidos de error de predicción 7 y los parámetros de cuantificación 19 se introducen en la unidad de decodificación de errores de predicción 101 y se descomprimen en una señal de error de predicción decodificada 11. Esta unidad de decodificación de errores de predicción 101 lleva a cabo un procedimiento equivalente al llevado a cabo por la unidad de decodificación local 10 en el dispositivo de codificación de imágenes mostrado en la figura 2.
La unidad de predicción 102 crea una señal de predicción 12 a partir de los parámetros 17 para la creación de señales de predicción decodificadas por la unidad de decodificación de longitud variable 100, y una señal de imagen de referencia 15 almacenada en una memoria 103. Aunque la unidad de predicción 102 lleva a cabo un procedimiento equivalente al llevado a cabo por la unidad de predicción 4 en el dispositivo de codificación de imágenes, este procedimiento no incluye ninguna operación de detección de vectores de movimiento. El modo de predicción de movimiento es mc_mode0 a mc_mode7 mostrados en la figura 4, y la unidad de predicción 102 crea una imagen de predicción 12 usando el vector de movimiento asignado a cada bloque básico según las formas divididas.
La señal de error de predicción decodificada 11 y la señal de predicción 12 se añaden mediante una unidad de suma y se introducen en un filtro de bucle 104 como una señal decodificada 13. Esta señal decodificada 13 se almacena en la memoria 103 como la señal de imagen de referencia 15 para crear una señal de predicción posterior 12 después de que la señal decodificada se someta a un procedimiento de eliminación de ruido de codificación en el filtro de bucle 104. Aunque no se ilustra en la figura 18, el filtro de bucle 104 lleva a cabo un procedimiento equivalente al llevado a cabo por el filtro de bucle 14 en el dispositivo de codificación de imágenes usando la información de coeficiente de filtro 20 además de los parámetros 17 para la creación de señales de predicción y los parámetros de cuantificación 19 que se adquieren a través de la decodificación por la unidad de decodificación de longitud variable 100, para crear la señal de imagen de referencia 15. Una diferencia entre el filtro de bucle 14 del dispositivo de codificación de imágenes y el filtro de bucle 104 del dispositivo de decodificación de imágenes es que, mientras que el primero crea la información de coeficiente de filtro 20 con referencia a la señal codificada 3, que es la señal de imagen original, el último lleva a cabo el procedimiento de filtrado con referencia a la información de coeficiente de filtro 20 adquirida decodificando el flujo de bits 9.
A continuación en el presente documento, se describirá el procedimiento de decodificación del modo de predicción de movimiento y el vector de movimiento de cada bloque de referencia que se lleva a cabo por la unidad de decodificación de longitud variable 100.
La figura 19 muestra una estructura interna asociada con el procedimiento de decodificación aritmética llevado a cabo por la unidad de decodificación de longitud variable 100 y la figura 20 muestra un flujo de operación del procedimiento de decodificación aritmética.
La unidad de decodificación de longitud variable 100 según esta realización 1 comprende una unidad de determinación de modelo de contexto 21 para determinar el tipo de cada uno de los datos que van a decodificarse, incluidos los parámetros 17 para la creación de señales de predicción, que incluyen el modo de predicción de movimiento, el vector de movimiento, etc., los datos comprimidos de error de predicción 7, y los parámetros de cuantificación 19 para determinar un modelo de contexto que se define en común con el dispositivo de codificación de imágenes para cada dato objetivo que va a decodificarse, una unidad de binarización 22 para crear una regla de binarización que se define según el tipo de cada dato que va a decodificarse, una unidad de creación de probabilidad de aparición 23 para proporcionar la probabilidad de aparición de cada elemento binario (0 o 1) según la regla de binarización y el modelo de contexto, una unidad de decodificación 105 para llevar a cabo la decodificación aritmética según la probabilidad de aparición creada, y decodificar los datos codificados basándose en una secuencia binaria adquirida como resultado de la decodificación aritmética y de la regla de binarización mencionada anteriormente, y una memoria de almacenamiento de información de probabilidad de aparición 25 para almacenar información de probabilidad de aparición 28. Cada unidad que se designa con el mismo número de referencia que el que indica un componente interno de la unidad de codificación de longitud variable 8 mostrada en la figura 10, entre las unidades mostradas en la figura 19, realiza la misma operación que la realizada por el componente interno.
(E) Procedimiento de determinación de modelo de contexto, procedimiento de binarización y procedimiento de creación de probabilidad de aparición (etapas ST11 a ST13 mostradas en la figura 20)
Debido a que estos procedimientos (etapas ST11 a ST13) son similares a los procedimientos (A) a (C) (etapas ST11 a s T13 mostradas en la figura 11) llevados a cabo por el dispositivo de codificación de imágenes, la explicación de las etapas se omitirá a continuación en el presente documento. Para la determinación de un modelo de contexto que se usa para decodificar el modo de predicción de movimiento y el vector de movimiento, se hace referencia a la información de selección del modelo de contexto decodificada 27 mencionada anteriormente.
(F) Procedimiento de decodificación aritmética (etapas ST21, ST15 y ST22 mostradas en la figura 20)
Debido a que la probabilidad de aparición del elemento binario que la unidad de decodificación 105 va a decodificar a partir de ahora se decide en el procedimiento (E) mencionado anteriormente, la unidad de decodificación 105 reconstruye el valor del elemento binario según el procedimiento de decodificación aritmética predeterminado (etapa ST21). El valor reconstruido 40 (figura 19) del elemento binario se retroalimenta a la unidad de creación de probabilidad de aparición 23 y la frecuencia de aparición de cada uno de 0 y 1 se cuenta para una actualización de la información de probabilidad de aparición 28 usada (etapa ST15). Cada vez que se decide el valor reconstruido de cada elemento binario, la unidad de decodificación 105 comprueba si el valor reconstruido coincide con un patrón de secuencia binaria determinado según la regla de binarización, y emite el valor de dato indicado por el patrón con el que el valor reconstruido coincide como un valor de dato decodificado 106 (etapa ST22) . A menos que se decida cualquier dato decodificado, la unidad de decodificación vuelve a la etapa ST11 y continúa el procedimiento de decodificación.
Aunque la información de selección de modelo de contexto 27 se multiplexa en unidades de una unidad de bloque de referencia en la explicación mencionada anteriormente, la información de selección de modelo de contexto puede multiplexarse alternativamente en unidades de un fragmento, una imagen o similares. En un caso en el que la información de selección de modelo de contexto se multiplexa como un indicador colocado en una capa de datos más alta, tal como un fragmento, una imagen o una secuencia, y puede garantizarse un grado adecuado de eficacia de codificación conmutando entre capas superiores más altas que un fragmento, los bits de sobrecarga pueden reducirse sin multiplexar la información de selección de modelo de contexto 27 uno por uno a nivel de bloque de referencia.
Además, la información de selección de modelo de contexto 27 puede ser información que se determina dentro del dispositivo de decodificación de imágenes según información relacionada diferente de la información de selección de modelo de contexto e incluida en el flujo de bits. Además, aunque en la explicación mencionada anteriormente, se explica que la unidad de codificación de longitud variable 8 y la unidad de decodificación de longitud variable 100 llevan a cabo el procedimiento de codificación aritmética y el procedimiento de decodificación aritmética, estos procedimientos pueden ser un procedimiento de codificación de Huffman y un procedimiento de decodificación de Huffman y la información de selección de modelo de contexto 27 puede usarse como un medio para cambiar una tabla de codificación de longitud variable de manera adaptativa.
Los dispositivos de codificación y decodificación de imágenes que se construyen como anteriormente pueden expresar una jerarquía de modos de omisión y pueden codificar información que incluye un modo de predicción de movimiento y un vector de movimiento de manera adaptativa según el estado interno de cada bloque de referencia que va a codificarse y, por tanto, pueden llevar a cabo la codificación con eficacia.
Tal como se mencionó anteriormente, el dispositivo de codificación de imágenes según la realización 1 está construido de tal manera que incluye la unidad de predicción 4 para determinar de manera adaptativa el tamaño de cada bloque de unidad de predicción de movimiento según señales de componente de color, y para dividir cada bloque de unidad de predicción de movimiento en regiones de asignación de vector de movimiento para buscar un vector de movimiento; y la unidad de codificación de longitud variable 8 para, cuando un vector de movimiento se asigna a la totalidad de cada bloque de unidad de predicción de movimiento, realizar la codificación para crear un flujo de bits 9 estableciendo el modo de predicción de movimiento en el modo mc_skip si el vector de movimiento es igual a un vector estimado que se determina a partir de los vectores de movimiento en bloques de unidad de predicción de movimiento circundantes y datos que van a codificarse como una señal de error de predicción 5 no existe, y para, cuando cada una de las regiones de asignación de vector de movimiento tiene un tamaño igual o mayor que un tamaño predeterminado y un vector de movimiento se asigna a la totalidad de cada una de las regiones de asignación de vector de movimiento, realizar codificación para crear un flujo de bits 9 estableciendo el modo de predicción de movimiento en el modo sub_mc_skip si el vector de movimiento es igual a un vector estimado que se determina a partir de vectores de movimiento en regiones de asignación de vectores de movimiento circundantes y datos que van a codificarse como una señal de error de predicción 5 no existe. Por tanto, con el fin de codificar una señal de vídeo en color que tiene el formato 4:4:4 con eficacia, el dispositivo de codificación de imágenes puede expresar una jerarquía de modos de omisión y puede codificar la información que incluye el modo de predicción de movimiento y el vector de movimiento de manera adaptativa según el estado interno de cada bloque de referencia que va a codificarse. Como resultado, cuando se lleva a cabo la codificación a una velocidad de bits baja que proporciona una relación de compresión alta, el dispositivo de codificación de imágenes puede llevar a cabo la codificación mientras se reduce la cantidad de código del vector de movimiento de manera eficaz.
Además, el dispositivo de decodificación de imágenes según la realización 1 está construido de tal manera que incluye la unidad de decodificación de longitud variable 100 para decodificar un flujo de bits 9 introducido en la misma para adquirir parámetros 17 para la creación de señales de predicción que muestran el tamaño de cada bloque de unidad de predicción de movimiento, un modo de predicción de movimiento para especificar la forma de cada una de las regiones de asignación de vector de movimiento en las que se divide cada bloque de unidad de predicción de movimiento, y un vector de movimiento correspondiente a cada región de asignación de vector de movimiento, y para determinar si cada bloque de unidad de predicción de movimiento está o no en el modo mc_skip y si una de las regiones de asignación de vector de movimiento está en el modo sub_mc_skip o no a partir del modo de predicción de movimiento mencionado anteriormente, y la unidad de predicción 102 para, cuando un bloque de unidad de predicción de movimiento está en modo mc_skip o una de las regiones de asignación de vector de movimiento está en el modo sub_mc_skip, determinar un vector estimado de los vectores de movimiento circundantes, y establecer este vector estimado como un vector de movimiento y también establecer todas las señales de error de predicción decodificadas 11 en cero para crear una señal de predicción 12, y para, cuando el bloque de unidad de predicción de movimiento no está en el modo mc_skip y las regiones de asignación de vector de movimiento del bloque de unidad de predicción de movimiento no están en el modo sub_mc_skip, crear una señal de predicción 12 basándose en el modo de predicción de movimiento y el vector de movimiento que adquiere la unidad de decodificación de longitud variable 100 decodificando el flujo de bits. Por consiguiente, el dispositivo de decodificación de vídeo puede construirse de tal manera que se corresponda con el dispositivo de codificación de imágenes mencionado anteriormente.
Aunque en esta realización 1 se explica el ejemplo en el que se codifica y decodifica una señal de vídeo 4:4:4, no es necesario decir que los procedimientos de codificación y decodificación según la presente invención pueden aplicarse a un caso en el que la codificación y la decodificación se llevan a cabo en unidades de un bloque de referencia, tal como un macrobloque, en codificación de vídeo destinada a codificar un vídeo que tiene un formato 4: 2: 0 o 4:2:2 en el que se realiza una operación de reducción de color en un formato de componente de diferencia de color de brillo convencional, tal como se mencionó anteriormente.
Aplicabilidad industrial
Debido a que el dispositivo de codificación de imágenes, el dispositivo de decodificación de imágenes, el método de codificación de imágenes y el método de decodificación de imágenes según la presente invención hacen posible realizar un procedimiento de codificación óptimo en una señal de vídeo que tiene el formato 4:4:4, son adecuados para su uso en una técnica de codificación por compresión de imágenes, una técnica de transmisión de datos de imagen comprimida, etc.
La presente invención puede realizarse según los siguientes aspectos [1] a [4].
[1] Un dispositivo de codificación de imágenes divide cada fotograma de una señal de imagen en movimiento en bloques que tienen cada uno un tamaño predeterminado y lleva a cabo una predicción de movimiento para cada uno de los bloques para crear un flujo de bits codificado de manera predictiva, comprendiendo dicho dispositivo de codificación de imágenes:
una unidad de predicción que determina de manera adaptativa un tamaño de un bloque de unidades de predicción de movimiento en cada uno de dichos bloques según una condición predeterminada y para dividir dicho bloque de unidades de predicción de movimiento en regiones de asignación de vectores de movimiento para buscar un vector de movimiento; y
una unidad de codificación para, cuando se asigne un vector de movimiento a la totalidad de dicho bloque de unidades de predicción de movimiento, llevar a cabo la codificación en un primer modo de omisión si dicho vector de movimiento es igual a un vector estimado que se determina a partir de vectores de movimiento en bloques de unidades de predicción de movimiento circundantes y datos a decodificar cuando una señal de error de predicción de movimiento no exista, y para, cuando cada una de las regiones de asignación de vectores de movimiento tenga un tamaño igual a o mayor que un tamaño predeterminado y un vector de movimiento se asigne a la totalidad de cada una de las dichas regiones de asignación de vectores de movimiento, llevar a cabo la codificación en un segundo modo de omisión si dicho vector de movimiento es igual a un vector estimado que se determina a partir de vectores de movimiento en regiones de asignación de vectores de movimiento circundantes y datos a codificar cuando una señal de error de predicción de movimiento no exista.
[2] Un dispositivo de decodificación de imágenes que acepta un flujo de bits codificados de manera predictiva que se crea dividiendo cada fotograma de una señal de imágenes en movimiento en bloques que tienen cada uno un tamaño predeterminado y llevando a cabo una predicción de movimiento para cada uno de los bloques, y que decodifica dicho flujo de bits para adquirir dicha señal de imágenes en movimiento, comprendiendo dicho dispositivo de decodificación de imágenes:
una unidad de decodificación para decodificar dicho flujo de bits para adquirir datos que muestren un tamaño de un bloque de unidades de predicción de movimiento en cada uno de dichos bloques, un modo de predicción de movimiento para especificar una forma de cada una de dichas regiones de asignación de vectores de movimiento en las que se divide dicho bloque de unidades de predicción de movimiento, y un vector de movimiento que corresponde a cada dicha región de asignación de vectores de movimiento, y para determinar si dicho bloque de unidades de predicción de movimiento está o no en un primer modo de omisión y si una de dichas regiones de asignación de vectores de movimiento está o no en un segundo modo de omisión a partir de dicho modo de predicción de movimiento; y
una unidad de predicción para, cuando dicho bloque de unidades de predicción de movimiento esté en el primer modo de omisión o una de dichas regiones de asignación de vectores de movimiento esté en el segundo modo de omisión, determinar un vector estimado a partir de vectores de movimiento circundantes, y establecer este vector estimado como un vector de movimiento y también establecer todas las señales de error de predicción de movimiento a cero para crear una imagen de predicción, y para, cuando el bloque de unidades de predicción de movimiento no esté en el primer modo de omisión y las regiones de asignación de vectores de movimiento de dicho bloque de unidades de predicción de movimiento no estén en el segundo modo de omisión, crear una imagen de predicción en base al modo de predicción de movimiento y el vector de movimiento que la unidad de decodificación adquiere decodificando el flujo de bits.
[3] Un método de codificación de imágenes para dividir cada fotograma de una señal de imágenes en movimiento en bloques que tengan cada uno un tamaño predeterminado y llevar a cabo una predicción de movimiento para cada uno de los bloques para crear un flujo de bits codificado de manera predictiva, comprendiendo dicho método de codificación de imágenes:
una etapa de predicción de determinar de manera adaptativa un tamaño de bloque de unidades de predicción de movimiento en cada uno de dichos bloques según una condición predeterminada, y dividir dicho bloque de unidades de predicción de movimiento en regiones de asignación de vectores de movimiento para buscar un vector de movimiento; y
una etapa de codificación de, cuando un vector de movimiento se asigne a una totalidad de dicho bloque de unidades de predicción de movimiento, llevar a cabo la codificación en un primer modo de omisión si dicho vector de movimiento es igual a un vector estimado que está determinado a partir de vectores de movimiento en bloques de unidades de predicción de movimiento circundantes y datos a codificar cuando una señal de error de predicción de movimiento no exista, y de, cuando cada una de dichas regiones de asignación de vectores de movimiento tenga un tamaño igual o mayor que un tamaño predeterminado y un vector de movimiento se asigne a una totalidad de cada una de dichas regiones de asignación de vectores de movimiento, llevar a cabo la codificación en un segundo modo de omisión si dicho vector de movimiento es igual a un vector estimado que se determina a partir de vectores de movimiento en regiones de asignación de vectores de movimiento circundantes y datos a codificar cuando una señal de error de predicción de movimiento no exista.
[4] Un método de decodificación de imágenes de aceptar un flujo de bits codificado de manera predictiva que se crea dividiendo cada fotograma de una señal de imagen en movimiento en bloques que tengan cada uno un tamaño predeterminado y llevando a cabo una predicción de movimiento para cada uno de los bloques, y decodificar dicho flujo de bits para adquirir dicha señal de imagen de movimiento, comprendiendo dicho método de decodificación de imágenes:
una etapa de decodificación para decodificar dicho flujo de bits para adquirir datos que muestren un tamaño de bloque de unidades de predicción de movimiento en cada uno de dichos bloques, un modo de predicción de movimiento para especificar una forma de cada una de dichas regiones de asignación de vectores de movimiento en las que se divide dicho bloque de unidades de predicción de movimiento, y un vector de movimiento correspondiente a dicha región de asignación de vectores de movimiento, para determinar si dicho bloque de unidades de predicción de movimiento está o no en un primer modo de omisión y si una de dichas regiones de asignación de vectores de movimiento está o no en un segundo modo de omisión a partir de dicho modo de predicción de movimiento;
una etapa de predicción de modo de omisión de, cuando dicho bloque de unidades de predicción de movimiento esté en el primer modo de omisión o una de dichas regiones de asignación de vectores de movimiento esté en el segundo modo de omisión, determinar un vector estimado a partir de vectores de movimiento circundantes, y establecer este vector estimado como un vector de movimiento y establecer también todas las señales de error de predicción de movimiento a cero para crear una imagen de predicción; y
una etapa de predicción de, cuando dicho bloque de unidades de predicción de movimiento no esté en el primer modo de omisión y las regiones de asignación de vector de movimiento de dicho bloque de predicción de movimiento no estén en el segundo modo de omisión, decodificar el flujo de bits para adquirir datos que muestren el vector de movimiento correspondiente a dicha región de asignación de vectores de movimiento para crear una imagen de predicción en base a dicho vector de movimiento y el modo de predicción de movimiento que se adquiere decodificando el flujo de bits en dicha etapa de decodificación.
La invención se expone en las reivindicaciones adjuntas.

Claims (4)

REIVINDICACIONES
1. Dispositivo de decodificación de imágenes que decodifica un flujo de bits codificado de manera predictiva para adquirir una señal de imagen en movimiento, generándose el flujo de bits dividiendo un fotograma de la señal de imagen en movimiento en bloques (Ba, Bb, Bx), comprendiendo el dispositivo de decodificación de imágenes:
una unidad de predicción (102) para dividir cada bloque en una o más regiones de predicción según un patrón de división de bloques (mc_mode0 - mc_mode7) correspondiente a un modo de división de bloques de predicción de movimiento y realizar la predicción de movimiento de un bloque objetivo (Bx) asignando un vector de movimiento a cada región dividida según el modo de división de bloques de predicción de movimiento;
una unidad de decodificación de longitud variable (100) para decodificar el modo de división en bloque de predicción de movimiento basándose en un modelo de contexto (26);
en el que
la unidad de decodificación de longitud variable está configurada para usar tanto el modo de división de bloques de predicción de movimiento (m(Ba)) del bloque (Ba) a la izquierda del bloque objetivo (Bx) dentro del mismo fotograma como el modo de división de bloques de predicción de movimiento (m(Bb)) del bloque (Bb) por encima del bloque objetivo (Bx) dentro del mismo fotograma para la determinación del modelo de contexto (26); y
el dispositivo de decodificación de imágenes comprende, además;
un decodificador para decodificar el flujo de bits
para adquirir un primer modo de predicción de movimiento para una primera región de predicción de movimiento correspondiente al bloque (Bx), y
para adquirir un segundo modo de predicción de movimiento para una segunda región de predicción de movimiento, obteniéndose la segunda región de predicción de movimiento dividiendo la primera región de predicción de movimiento cuando la primera región de predicción de movimiento se divide jerárquicamente; y
un predictor para
determinar un vector estimado a partir de un vector de movimiento adyacente y establecer el vector estimado como un vector de movimiento para que la primera región de predicción de movimiento cree una imagen de predicción cuando el primer modo de predicción de movimiento sea un modo de omisión, y
determinar un vector estimado a partir de un vector de movimiento adyacente y establecer el vector estimado como un vector de movimiento para que la segunda región de predicción de movimiento cree una imagen de predicción cuando el segundo modo de predicción de movimiento sea un modo de omisión.
2. Método de decodificación de imágenes para decodificar un flujo de bits codificado de manera predictiva para adquirir una señal de imagen en movimiento, generándose el flujo de bits dividiendo un fotograma de la señal de imagen en movimiento en bloques (Ba, Bb, Bx), comprendiendo el método de decodificación de imágenes:
dividir cada bloque en una o más regiones de predicción según un patrón de división de bloques (mc_mode0 - mc_mode7) correspondiente a un modo de división de bloques de predicción de movimiento y realizar la predicción de movimiento de un bloque objetivo (Bx) asignando un vector de movimiento a cada región dividida según el modo de división de bloques de predicción de movimiento;
decodificar el modo de división de bloques de predicción de movimiento basándose en un modelo de contexto (26);
usar tanto el modo de división de bloques de predicción de movimiento (m(Ba)) del bloque (Ba) a la izquierda del bloque objetivo (Bx) dentro del mismo fotograma como el modo de división de bloques de predicción de movimiento (m(Bb)) del bloque (Bb) por encima del bloque objetivo (Bx) dentro del mismo fotograma para la determinación del modelo de contexto (26); y
en el que el método de decodificación de imágenes comprende, además:
decodificar el flujo de bits
para adquirir un primer modo de predicción de movimiento para una primera región de predicción de movimiento correspondiente al bloque (Bx), y
adquirir un segundo modo de predicción de movimiento para una segunda región de predicción de movimiento, obteniéndose la segunda región de predicción de movimiento dividiendo la primera región de predicción de movimiento cuando la primera región de predicción de movimiento se divide jerárquicamente;
crear una imagen de predicción determinando un vector estimado a partir de un vector de movimiento adyacente y estableciendo el vector estimado como un vector de movimiento para la primera región de predicción de movimiento cuando el primer modo de predicción de movimiento sea un modo de omisión; y
crear una imagen de predicción determinando un vector estimado a partir de un vector de movimiento adyacente y estableciendo el vector estimado como un vector de movimiento para la segunda región de predicción de movimiento cuando el segundo modo de predicción de movimiento sea un modo de omisión.
3. Dispositivo de codificación de imágenes que genera un flujo de bits codificado de manera predictiva dividiendo un fotograma de una señal de imagen en movimiento en bloques (Ba, Bb, Bx), comprendiendo el dispositivo de codificación de imágenes:
una unidad de predicción (4) para dividir cada bloque en una o más regiones de predicción según un patrón de división de bloques (mc_mode0 - mc_mode7) correspondiente a un modo de división de bloques de predicción de movimiento y realizar la predicción de movimiento de un bloque objetivo (Bx) asignando un vector de movimiento a cada región dividida según el modo de división de bloques de predicción de movimiento;
una unidad de codificación de longitud variable (8) para codificar el modo de división de bloques de predicción de movimiento basándose en un modelo de contexto (26);
en el que
la unidad de codificación de longitud variable está configurada para usar tanto el modo de división de bloques de predicción de movimiento (m(Ba)) del bloque (Ba) a la izquierda del bloque objetivo (Bx) dentro del mismo fotograma como el modo de división de bloques de predicción de movimiento (m(Bb)) del bloque (Bb) por encima del bloque objetivo (Bx) dentro del mismo fotograma para la determinación del modelo de contexto (26); y
el dispositivo de codificación de imágenes comprende, además:
un codificador para codificar, dentro de un flujo de bits,
un primer modo de predicción de movimiento para una primera región de predicción de movimiento correspondiente al bloque (Bx), y
un segundo modo de predicción de movimiento para una segunda región de predicción de movimiento, obteniéndose la segunda región de predicción de movimiento dividiendo la primera región de predicción de movimiento cuando la primera región de predicción de movimiento se divide jerárquicamente; y
un predictor para
determinar un vector estimado a partir de un vector de movimiento adyacente y establecer el vector estimado como un vector de movimiento para que la primera región de predicción de movimiento cree una imagen de predicción cuando el primer modo de predicción de movimiento sea un modo de omisión, y
determinar un vector estimado a partir de un vector de movimiento adyacente y establecer el vector estimado como un vector de movimiento para que la segunda región de predicción de movimiento cree una imagen de predicción cuando el segundo modo de predicción de movimiento sea un modo de omisión.
4. Método de codificación de imágenes para generar un flujo de bits codificado de manera predictiva dividiendo un fotograma de una señal de imagen en movimiento en bloques (Ba, Bb, Bx), comprendiendo el método de codificación de imágenes:
dividir cada bloque en una o más regiones de predicción según un patrón de división de bloques (mc_mode0 - mc_mode7) correspondiente a un modo de división de bloques de predicción de movimiento y realizar la predicción de movimiento de un bloque objetivo (Bx) asignando un vector de movimiento a cada región dividida según el modo de división de bloques de predicción de movimiento;
codificar el modo de predicción de movimiento basándose en un modelo de contexto (26);
usar tanto el modo de división de bloques de predicción de movimiento (m(Ba)) del bloque (Ba) a la izquierda del bloque objetivo (Bx) dentro del mismo fotograma como el modo de división de bloques de predicción de movimiento (m(Bb)) del bloque (Bb) por encima del bloque objetivo (Bx) dentro del mismo fotograma para la determinación del modelo de contexto (26); y
en el que el método de codificación de imágenes comprende, además:
codificar, dentro del flujo de bits,
un primer modo de predicción de movimiento para una primera región de predicción de movimiento correspondiente al bloque (Bx), y
un segundo modo de predicción de movimiento para una segunda región de predicción de movimiento, obteniéndose la segunda región de predicción de movimiento dividiendo la primera región de predicción de movimiento cuando la primera región de predicción de movimiento se divide jerárquicamente;
crear una imagen de predicción determinando un vector estimado a partir de un vector de movimiento adyacente y estableciendo el vector estimado como un vector de movimiento para la primera región de predicción de movimiento cuando el primer modo de predicción de movimiento sea un modo de omisión; y
crear una imagen de predicción determinando un vector estimado a partir de un vector de movimiento adyacente y estableciendo el vector estimado como un vector de movimiento para la segunda región de predicción de movimiento cuando el segundo modo de predicción de movimiento sea un modo de omisión.
ES21183815T 2009-05-29 2010-05-27 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes Active ES2954657T3 (es)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009130433 2009-05-29

Publications (1)

Publication Number Publication Date
ES2954657T3 true ES2954657T3 (es) 2023-11-23

Family

ID=43222450

Family Applications (3)

Application Number Title Priority Date Filing Date
ES21183819T Active ES2958265T3 (es) 2009-05-29 2010-05-27 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes
ES17178390T Active ES2902160T3 (es) 2009-05-29 2010-05-27 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes
ES21183815T Active ES2954657T3 (es) 2009-05-29 2010-05-27 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes

Family Applications Before (2)

Application Number Title Priority Date Filing Date
ES21183819T Active ES2958265T3 (es) 2009-05-29 2010-05-27 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes
ES17178390T Active ES2902160T3 (es) 2009-05-29 2010-05-27 Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes

Country Status (14)

Country Link
US (5) US8934548B2 (es)
EP (4) EP2437500A4 (es)
JP (6) JP5215462B2 (es)
KR (5) KR101514191B1 (es)
CN (5) CN104270636B (es)
BR (4) BR122015017699B1 (es)
CA (4) CA3160155A1 (es)
ES (3) ES2958265T3 (es)
HK (5) HK1203112A1 (es)
MX (1) MX2011012672A (es)
RU (7) RU2509438C2 (es)
SG (2) SG176160A1 (es)
WO (1) WO2010137324A1 (es)
ZA (5) ZA201109121B (es)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2437500A4 (en) * 2009-05-29 2013-04-17 Mitsubishi Electric Corp IMAGE ENCRYPTION DEVICE, IMAGE KEYING DEVICE, IMAGE ENCRYPTION METHOD AND IMAGE KEYING PROCESS
JP2013526199A (ja) * 2010-04-26 2013-06-20 パナソニック株式会社 予測誤差から導出されるブロック形状を用いた予測符号化
JP2013034037A (ja) * 2011-03-09 2013-02-14 Canon Inc 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
EP2685718B1 (en) * 2011-03-10 2018-08-29 Sharp Kabushiki Kaisha Image decoding apparatus
EP3716621B1 (en) * 2012-04-12 2021-12-01 JVCKENWOOD Corporation Moving picture coding device, moving picture coding method, moving picture coding program, and moving picture decoding device, moving picture decoding method, moving picture decoding program
US11317101B2 (en) * 2012-06-12 2022-04-26 Google Inc. Inter frame candidate selection for a video encoder
US20150334389A1 (en) * 2012-09-06 2015-11-19 Sony Corporation Image processing device and image processing method
US9813711B2 (en) * 2012-10-03 2017-11-07 Avago Technologies General Ip (Singapore) Pte. Ltd. Hybrid transform-based compression
JP6239838B2 (ja) * 2013-03-15 2017-11-29 キヤノン株式会社 動画像符号化装置、その制御方法、及び撮像装置
WO2014209296A1 (en) * 2013-06-26 2014-12-31 Intel Corporation Power efficient encoder architecture during static frame or sub-frame detection
JP6312312B2 (ja) * 2014-04-15 2018-04-18 日本放送協会 コンテキストモデル生成装置、符号化装置、および復号装置
US9456075B2 (en) * 2014-10-13 2016-09-27 Avaya Inc. Codec sequence detection
EP3468198A1 (en) 2017-10-05 2019-04-10 Thomson Licensing Method and apparatus for video encoding and decoding based on illumination compensation
CN110060195B (zh) * 2018-01-19 2021-05-04 华为技术有限公司 一种数据处理的方法及装置
WO2019174567A1 (zh) * 2018-03-16 2019-09-19 华为技术有限公司 划分标志位的上下文建模方法及装置
US10516812B2 (en) 2018-04-02 2019-12-24 Intel Corporation Devices and methods for selective display frame fetch
US10887594B2 (en) 2018-07-05 2021-01-05 Mediatek Inc. Entropy coding of coding units in image and video data
US11025969B1 (en) * 2018-11-06 2021-06-01 Amazon Technologies, Inc. Video packaging system using source encoding
WO2020171046A1 (en) * 2019-02-20 2020-08-27 Panasonic Intellectual Property Corporation Of America Image encoder and image decoder
CN110087077A (zh) * 2019-06-05 2019-08-02 广州酷狗计算机科技有限公司 视频编码方法及装置、存储介质
WO2021060834A1 (ko) 2019-09-24 2021-04-01 엘지전자 주식회사 서브픽처 기반 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법

Family Cites Families (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2156889C (en) * 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
JPH09135358A (ja) * 1995-11-08 1997-05-20 Nec Corp 算術符号を用いた画像符号化装置
JP2798035B2 (ja) * 1996-01-17 1998-09-17 日本電気株式会社 適応動きベクトル補間による動き補償フレーム間予測方法
ES2237081T3 (es) * 1998-03-18 2005-07-16 Koninklijke Philips Electronics N.V. Prediccion de datos en un sistema de transmision.
KR100504641B1 (ko) * 2000-06-28 2005-08-01 미쓰비시덴키 가부시키가이샤 화상 부호화 장치 및 화상 부호화 방법
EP1404133A4 (en) * 2001-06-29 2010-04-21 Ntt Docomo Inc IMAGE ENCODER, IMAGE DECODER, IMAGE ENCODING METHOD, AND IMAGE DECODING METHOD
CN101409838B (zh) * 2001-09-14 2011-01-12 株式会社Ntt都科摩 编码方法、译码方法、编码装置、译码装置、图象处理系统
JP3764457B2 (ja) * 2001-11-16 2006-04-05 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム
US7336711B2 (en) * 2001-11-16 2008-02-26 Ntt Docomo, Inc. Image encoding method, image decoding method, image encoder, image decode, program, computer data signal, and image transmission system
KR100931915B1 (ko) * 2002-01-23 2009-12-15 노키아 코포레이션 비디오 코딩시 이미지 프레임들의 그루핑
JP2003259377A (ja) * 2002-03-06 2003-09-12 Matsushita Electric Ind Co Ltd 動画像符号化方法、動画像復号化方法および符号列フォーマット
EP2202989B1 (en) * 2002-04-26 2014-04-16 NTT DoCoMo, Inc. Image encoding apparatus, image decoding apparatus, image encoding method, image decoding method, image encoding program, and image decoding program
KR100865034B1 (ko) * 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
CN100536571C (zh) * 2003-01-08 2009-09-02 苹果公司 用于改进的编码模式选择的方法和装置
EP1704723A1 (en) * 2003-12-02 2006-09-27 Sungkyunkwan University Method and apparatus for video encoding
KR20050061762A (ko) * 2003-12-18 2005-06-23 학교법인 대양학원 부호화 모드 결정방법, 움직임 추정방법 및 부호화 장치
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
JP2005348093A (ja) * 2004-06-03 2005-12-15 Sony Corp 画像処理装置、そのプログラムおよびその方法
KR100813958B1 (ko) * 2004-06-07 2008-03-14 세종대학교산학협력단 동영상의 무손실 인코딩 및 디코딩 방법, 그 장치
US8111752B2 (en) * 2004-06-27 2012-02-07 Apple Inc. Encoding mode pruning during video encoding
US20050286777A1 (en) * 2004-06-27 2005-12-29 Roger Kumar Encoding and decoding images
KR100627329B1 (ko) * 2004-08-19 2006-09-25 전자부품연구원 H.264 비디오 코덱을 위한 적응형 움직임 예측 및 모드결정 장치 및 그 방법
US8649436B2 (en) * 2004-08-20 2014-02-11 Sigma Designs Inc. Methods for efficient implementation of skip/direct modes in digital video compression algorithms
CN100345450C (zh) * 2005-01-31 2007-10-24 浙江大学 视频或图像去块滤波的方法和装置
JP4047879B2 (ja) * 2005-08-23 2008-02-13 松下電器産業株式会社 動きベクトル検出装置および動きベクトル検出方法
CN103118252B (zh) * 2005-09-26 2016-12-07 三菱电机株式会社 运动图像编码装置以及运动图像译码装置
US8446954B2 (en) * 2005-09-27 2013-05-21 Qualcomm Incorporated Mode selection techniques for multimedia coding
KR100781524B1 (ko) * 2006-04-04 2007-12-03 삼성전자주식회사 확장 매크로블록 스킵 모드를 이용한 인코딩/디코딩 방법및 장치
KR101228109B1 (ko) * 2006-07-24 2013-01-31 삼성전자주식회사 움직임 예측장치 및 방법과 이를 채용하는 영상 부호화장치및 방법
JP4787100B2 (ja) * 2006-07-27 2011-10-05 パナソニック株式会社 画像符号化装置
BRPI0714859A2 (pt) * 2006-08-02 2013-05-21 Thomson Licensing mÉtodo e aparelho para particionamento geomÉtrico adaptativo para codificaÇço de vÍdeo e estrutura de sinal de vÍdeo para codificaÇço de vÍdeo
JP4763549B2 (ja) * 2006-08-18 2011-08-31 富士通セミコンダクター株式会社 フレーム間予測処理装置、画像符号化装置、及び画像復号化装置
US7756348B2 (en) * 2006-10-30 2010-07-13 Hewlett-Packard Development Company, L.P. Method for decomposing a video sequence frame
US8804829B2 (en) * 2006-12-20 2014-08-12 Microsoft Corporation Offline motion description for video generation
KR101364532B1 (ko) * 2007-01-03 2014-02-18 삼성전자주식회사 인접 파티션의 크기를 고려한 움직임 벡터 예측 방법,장치, 인코더, 디코더 및 복호화 방법
BRPI0720806B1 (pt) * 2007-01-18 2023-03-28 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Corrente de dados de vídeo de qualidade escalonável
US8259793B2 (en) * 2007-03-19 2012-09-04 Sony Corporation System and method of fast MPEG-4/AVC quantization
CA2895856C (en) * 2007-03-20 2018-09-11 Fujitsu Limited Video encoding and decoding apparatus and method using quantization in sub-blocks
KR101366241B1 (ko) * 2007-03-28 2014-02-21 삼성전자주식회사 영상 부호화, 복호화 방법 및 장치
US8160150B2 (en) * 2007-04-10 2012-04-17 Texas Instruments Incorporated Method and system for rate distortion optimization
BRPI0809512A2 (pt) * 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
WO2008133455A1 (en) * 2007-04-25 2008-11-06 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
US9357233B2 (en) * 2008-02-26 2016-05-31 Qualcomm Incorporated Video decoder error handling
JP4990927B2 (ja) 2008-03-28 2012-08-01 三星電子株式会社 動きベクトル情報の符号化/復号化方法及び装置
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
US8213503B2 (en) * 2008-09-05 2012-07-03 Microsoft Corporation Skip modes for inter-layer residual video coding and decoding
WO2010041856A2 (en) * 2008-10-06 2010-04-15 Lg Electronics Inc. A method and an apparatus for processing a video signal
KR101233627B1 (ko) * 2008-12-23 2013-02-14 한국전자통신연구원 스케일러블 부호화 장치 및 방법
US8644389B2 (en) * 2009-05-15 2014-02-04 Texas Instruments Incorporated Real-time video image processing
EP2437500A4 (en) * 2009-05-29 2013-04-17 Mitsubishi Electric Corp IMAGE ENCRYPTION DEVICE, IMAGE KEYING DEVICE, IMAGE ENCRYPTION METHOD AND IMAGE KEYING PROCESS
CN102439978A (zh) * 2010-03-12 2012-05-02 联发科技(新加坡)私人有限公司 运动预测方法
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection

Also Published As

Publication number Publication date
US9924190B2 (en) 2018-03-20
CN104270635B (zh) 2018-12-11
US20120082213A1 (en) 2012-04-05
BR122015017699A2 (pt) 2016-05-10
BR122015017700B1 (pt) 2021-06-01
RU2673107C1 (ru) 2018-11-22
KR101312213B1 (ko) 2013-09-27
US20150229946A1 (en) 2015-08-13
US20150085937A1 (en) 2015-03-26
KR101490646B1 (ko) 2015-02-06
JP5478748B2 (ja) 2014-04-23
US20150229949A1 (en) 2015-08-13
CN104159111A (zh) 2014-11-19
JP5840286B2 (ja) 2016-01-06
RU2509438C2 (ru) 2014-03-10
KR20120046119A (ko) 2012-05-09
SG10201402451XA (en) 2014-07-30
US9930355B2 (en) 2018-03-27
EP2437500A1 (en) 2012-04-04
JP2015084574A (ja) 2015-04-30
CA2904730C (en) 2023-11-21
BRPI1015415B1 (pt) 2021-06-01
KR101455579B1 (ko) 2014-10-29
RU2011154147A (ru) 2013-07-10
ES2958265T3 (es) 2024-02-06
BR122015017699B1 (pt) 2021-06-01
BRPI1015415A2 (pt) 2016-04-19
ZA201405602B (en) 2017-06-28
CN104270637A (zh) 2015-01-07
CA2763211C (en) 2015-12-08
RU2013152317A (ru) 2015-01-20
CN104270635A (zh) 2015-01-07
RU2619891C1 (ru) 2017-05-19
JP2013138500A (ja) 2013-07-11
CA3160155A1 (en) 2010-12-02
ZA201708216B (en) 2019-05-29
EP3261346B1 (en) 2021-12-01
KR20130076894A (ko) 2013-07-08
EP2437500A4 (en) 2013-04-17
MX2011012672A (es) 2011-12-16
CN104159111B (zh) 2018-11-06
US9930356B2 (en) 2018-03-27
JP5215462B2 (ja) 2013-06-19
RU2546325C2 (ru) 2015-04-10
BR122015017701A2 (pt) 2016-05-10
EP3261346A1 (en) 2017-12-27
JP2017118573A (ja) 2017-06-29
RU2693651C1 (ru) 2019-07-03
CA3159686C (en) 2023-09-05
ES2902160T3 (es) 2022-03-25
KR101376018B1 (ko) 2014-03-27
CN104270637B (zh) 2018-07-27
RU2647655C1 (ru) 2018-03-16
JP5674971B2 (ja) 2015-02-25
CN104270636A (zh) 2015-01-07
CA2763211A1 (en) 2010-12-02
HK1167966A1 (en) 2012-12-14
KR20130121987A (ko) 2013-11-06
JP2016036176A (ja) 2016-03-17
CA3159686A1 (en) 2010-12-02
ZA201109121B (en) 2013-02-27
US8934548B2 (en) 2015-01-13
HK1203113A1 (en) 2015-10-16
JP2014132765A (ja) 2014-07-17
US20150304677A1 (en) 2015-10-22
JP6347860B2 (ja) 2018-06-27
RU2571596C1 (ru) 2015-12-20
CN102450017B (zh) 2014-09-10
HK1202197A1 (en) 2015-09-18
BR122015017700A2 (pt) 2016-05-10
ZA201506372B (en) 2016-12-21
JPWO2010137324A1 (ja) 2012-11-12
EP3998775A1 (en) 2022-05-18
WO2010137324A1 (ja) 2010-12-02
US9036713B2 (en) 2015-05-19
BR122015017701B1 (pt) 2021-06-01
ZA201209367B (en) 2015-02-25
EP3998776A1 (en) 2022-05-18
KR101514191B1 (ko) 2015-04-21
CN102450017A (zh) 2012-05-09
KR20140074401A (ko) 2014-06-17
SG176160A1 (en) 2011-12-29
HK1203114A1 (en) 2015-10-16
EP3998775B1 (en) 2023-08-02
KR20140026649A (ko) 2014-03-05
CA2904730A1 (en) 2010-12-02
CN104270636B (zh) 2018-11-09
JP6091585B2 (ja) 2017-03-08
EP3998776B1 (en) 2023-08-30
HK1203112A1 (en) 2015-10-16

Similar Documents

Publication Publication Date Title
ES2954657T3 (es) Dispositivo de codificación de imágenes, dispositivo de decodificación de imágenes, método de codificación de imágenes y método de decodificación de imágenes
ES2954447T3 (es) Predicción de vectores de movimiento
JP5289440B2 (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法