MX2014008778A - Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video. - Google Patents

Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.

Info

Publication number
MX2014008778A
MX2014008778A MX2014008778A MX2014008778A MX2014008778A MX 2014008778 A MX2014008778 A MX 2014008778A MX 2014008778 A MX2014008778 A MX 2014008778A MX 2014008778 A MX2014008778 A MX 2014008778A MX 2014008778 A MX2014008778 A MX 2014008778A
Authority
MX
Mexico
Prior art keywords
block
blocks
processing
parallel
prediction
Prior art date
Application number
MX2014008778A
Other languages
English (en)
Other versions
MX338369B (es
Inventor
Akira Nakagawa
Satoshi Shimada
Kimihiko Kazui
Junpei Koyama
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of MX2014008778A publication Critical patent/MX2014008778A/es
Publication of MX338369B publication Critical patent/MX338369B/es

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/182Methods 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 pixel

Landscapes

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

Abstract

Un decodificador de video que decodifica una corriente codificada incluye una parte de decodificación paralela de entropía para decodificar por entropía la corriente de bloques en líneas de bloques en paralelo, una parte de predicción paralela de QP para calcular valores de predicción de los bloques en las líneas de bloque en paralelo, y una parte de procesamiento de decodificación paralela para generar pixeles decodificados de los bloques en las líneas de bloques en paralelo, el pixel decodificado se obtiene utilizando los datos decodificados por la parte de decodificación paralela de entropía y el valor de predicción; al realizar el procesamiento de cálculo en paralelo por unidad de N líneas de bloque, el procesamiento es realizado en un bloque en procesamiento en una línea de bloques (K - 1)a que precede un bloque en procesamiento en una línea de bloques Ka por al menos un bloque en una posición horizontal para calcular el valor de predicción del bloque en procesamiento al referirse a un bloque ya procesado correspondiente al bloque en procesamiento.

Description

DECODIFICADOR DE VIDEO. CODIFICADOR DE VIDEO. MÉTODO DE DECODIFICACIÓN DE VIDEO. Y MÉTODO DE CODIFICACIÓN DE VIDEO CAMPO TÉCNICO Las modalidades discutidas en la presente se relacionan con un decodificador de video, un codificador de video, un método de decodificación de video, y un método de codificación de video.
ANTECEDENTES DE LA INVENCIÓN Una tecnología reciente de codificación de video implica dividir una imagen en bloques, prediciendo pixeles contenidos en cada uno de los bloques, y codificar los diferenciales de predicción para lograr una alta proporción de compresión. En esta tecnología, un modo de predicción para formar pixeles de predicción de los pixeles dentro de una imagen sujeta a codificación es denominada como de "intra-predicción", y un modo de predicción para formar pixeles de predicción de una imagen de referencia anteriormente codificada llamada "compensación de movimiento" es denominada como de "inter-predicción".
En el codificador de video, la inter-predicción expresa una región denominada como los pixeles predichos con un vector de movimiento compuesto de datos de coordenadas bidimensionales de coordenada incluyendo un componente horizontal y un componente vertical, y codifica datos diferenciales de predicción del vector de movimiento y los pixeles. Para suprimir una cantidad de codificación del vector de movimiento, se genera un vector de predicción de un vector de movimiento de un bloque adyacente al bloque sujeto a codificación, y el vector diferencial entre el vector de movimiento y el vector de predicción es codificado.
En el Grupo de Expertos de Imagen en Movimiento (MPEG, por sus siglas en inglés)-4 AVC/H.264 (en lo siguiente llamado también ?.264"), que es un estándar actual de codificación de provisión de video representado típicamente por la Codificación de Video de Alta Eficiencia (HEVC, por sus siglas en inglés), se asigna una dirección a cada uno de los bloques divididos en un orden de trama, y el orden de procesamiento de los bloques es cumplido con la orden de dirección.
En el procedimiento de codificación-decodificación de video, muchos pixeles son procesados generalmente por segundo. En particular, la compensación de movimiento o transformación ortogonal pueden requerir alto desempeño computacional, y de ahí, puede ser preferible que el procedimiento de codificación o decodificación de video implemente un procesamiento en paralelo. En la codificación del video, hay una relación de dependencia entre los bloques para calcular varios valores de predicción de un bloque periférico al bloque sometido a codificación en una manera semejante al cálculo de los vectores de predicción como se describió antes. De ahí, puede ser difícil realizar el procesamiento en paralelo en los bloques.
Un método para ¡mplementar el procesamiento en paralelo en los bloques sin afectar el orden de procesamiento o la relación de dependencia entre los bloques puede, por ejemplo, incluir realizar el procesamiento en paralelo cambiando una posición horizontal de cada uno de los bloques de procesamiento que corresponde a las líneas de bloque.
En la descripción siguiente, tal procesamiento en paralelo es llamado "el procesamiento paralelo de línea de bloque". Luego, se describe un caso donde el procesamiento en paralelo de la línea de bloque es realizado correspondiente a dos líneas de bloques.
Para realizar el procesamiento paralelo de la línea de bloques, un dispositivo de procesamiento de video incluye una unidad 1 y una unidad 2 cada una configurada para procesar independientemente las correspondientes líneas de bloques. Por ejemplo, la unidad 1 puede ser configurada para procesar las líneas de bloque numeradas impares, y la unidad 2 puede ser configurada para procesar las líneas de bloque numeradas pares.
La FIG. 1 es un diagrama que ilustra un ejemplo del procesamiento paralelo de línea de bloques. Como se ilustra en la figura 1 , una dirección horizontal de un bloque en una primera línea de bloques procesada por la unidad 1 es cambiada por dos o más bloques de una dirección horizontal de un bloque en una segunda línea de bloques procesada por la unidad 2.
Así, cuando se enfoca a un bloque en procesamiento X procesado por la unidad 2, un bloque A en el lado izquierdo del bloque en procesamiento X es un bloque procesado en el que el procesamiento ya ha sido realizado. Asimismo, un bloque B, un bloque C, y un bloque D procesados por la unidad 1 son bloques procesados. El bloque B está en el lado izquierdo superior del bloque de procesamiento X, el bloque C está encima del bloque de procesamiento X, y el bloque D está en el lado derecho superior del bloque en procesamiento X. El bloque X puede ser capaz de utilizar resultados codificados de estos bloques procesados.
Por ejemplo, el procesamiento en las líneas de bloque numeradas pares puede ser capaz de comenzar sin esperar al término del procesamiento en las líneas de bloque numeradas impares, y de ahí, el bloque en procesamiento X puede ser capaz de implementar el procesamiento en paralelo asociado con el procesamiento tal como predicción de movimiento o transformación ortogonal. En el ejemplo antes mencionado, se describe el procesamiento en paralelo de dos líneas de bloque; sin embargo, la implementación del procesamiento en paralelo no se limita al procesamiento en paralelo de las dos líneas de bloque. En un caso de procesamiento en paralelo de líneas de bloque N, las unidades N pueden ser asignadas a las líneas del bloque N en el dispositivo de procesamiento de video.
Note que cuando el procesamiento paralelo de línea de bloques es ejecutado como un programa, una unidad de procedimiento puede ser un hilo, o una unidad de procesamiento central (CPU, por sus siglas en inglés).
Según el H. 264, la codificación de la entropía puede ser llevada a cabo procesando una serie de bits de salida en el orden de los bloques de procesamiento basados en la especificación estándar. De ahí, el dispositivo de procesamiento de video almacena temporalmente los resultados del procesamiento paralelo de línea de bloques antes mencionado, y un codificador de entropía codifica los resultados almacenados en el orden de los bloques procesados con base en la especificación estándar.
En contraste, el HEVC revela una tecnología para el intercalado de una serie de sitios de salida entre las líneas de bloque. La FIG. 2 es un diagrama que ilustra un ejemplo del procesamiento paralelo de línea de bloques realizado por una parte de procesamiento de entropía en el HEVC. Como se ilustra en la figura 2, la codificación o decodificación de la entropía puede ser realizada por un procesamiento en paralelo entre las líneas de bloque.
DOCUMENTOS DE LA TECNICA RELACIONADA Documento No de Patente 1: ISO/IEC 14496-10 (MPEG-4 Parte 10) /UIT-T Rec.H.264 Documento No de Patente 2: Thomas Wiegand, Woo-Jin Han, Benjamín Bross, Jens-Rainer Ohm, Gary J. Sullivan, "Working Draft 5 of High-Efficiency Video Coding" JCTVC-G1103, JCT-VC 7th Meeting, December, 2011.
Documento No de Patente 3: software de referencia de HEVC, HM 5.0 https://hevc.hhi.fraunhofer.de/svn/svn HEVCSoftware/taas/HM-5.0/ Documento No de Patente 4: MPEG-2, Test Model 5 (TM 5), Doc. ISO/IEC JTC1/SC29 WG11/N0400, Test Model Editing Committee, April 1993.
En un sistema híbrido de codificación, que es una combinación de compensación de movimiento y transformación ortogonal (por ejemplo, transformada de coseno discreto (DCT, por sus siglas en inglés)) representado por H. 264 o HEVC, la compresión es implementada dividiendo una imagen en bloques, generando pixeles de predicción de los bloques, y realizando la transformación ortogonal tal como DCT en los pixeles diferenciales entre los pixeles originales y los pixeles de predicción al cuantificar coeficientes de salida de la transformación ortogonal.
En este sistema híbrido, se prepara un parámetro de cuantificación (QP) para regular la precisión de la cuantificación, y el valor de QP es codificado para cada uno de los bloques para controlar una cantidad de información.
Sin embargo, en un caso donde todos los coeficientes de transformada cuantificados en los bloques son 0, los resultados de la cuantificación inversa son todos 0. De ahí, el valor de QP puede no ser requerido para el procesamiento de decodificación. En tal caso, el valor de QP es invalidado, y como resultado no es codificado.
Se genera un valor de predicción del valor de QP (en lo siguiente llamado un "valor de predicción de QP") en cada uno de los bloques. De ahí, cuando los valores de QP de los bloques de procesamiento son invalidados, el valor de QP de cada uno de los bloques es establecido como el valor de predicción de QP. Como un método para determinar el valor de QP para cada uno de los bloques, el algoritmo utilizado en TM 5 revelado en el Documento no de Patente 4 puede ser conocido en la técnica.
Un método para codificar el valor de QP según H. 264 o HEVC incluye codificar el valor diferencial QP_DELTA entre el valor de QP y el valor de predicción de QP del bloque de procesamiento. Por ejemplo, el valor de predicción de QP puede ser un valor de QP QP_prev, que es el valor de QP de un bloque inmediatamente anterior del bloque de procesamiento en el orden de trama. El QP_DELTA puede ser calculado por la fórmula siguiente (1)- QP_DELTA = QP - QP_prev (1 ) El decodificador de video es configurado para decodificar la entropía QP_DELTA codificada por el codificador de video para restaurar el valor de QP por la fórmula siguiente (2).
QP = QP_DELTA + QP prev (2) Cuando no hay un bloque inmediatamente anterior al bloque en procesamiento tal como el primer bloque de la imagen en procesamiento imagen, el QP_prev puede ser un valor determinado por adelantado del procesamiento del primer bloque. Por ejemplo, según H. 264, el QP_prev del primer bloque de la imagen es asignado con un valor de Rodaja de QP descrito en la información de encabezado llamada "Rodaja".
Además, según el H. 264 o HEVC, el valor de QP de cada uno de los bloques puede ser utilizado para determinar la fuerza de filtro de un filtro de desbloqueo diferente de la cuantificación de la transformación ortogonal. El QP invalidado no es reportado al decodificador de video. De ahí, el valor de QP del bloque que tiene el QP invalidado puede ser procesado como el QP _prev.
Aquí, hay un enfoque a una línea de bloques (K - 1)a y una línea de bloques Ka en el procesamiento paralelo de línea de bloques. Cuando un primer bloque X en la línea de bloques Ka es procesado al mismo tiempo de empezar el procesamiento de la línea de bloques de Ka, aproximadamente dos bloques en la línea de bloques Xa han sido procesados por adelantado de la línea de bloques (K - 1)a. Un bloque que precede el primer bloque de la línea de bloques Ka corresponde a un último bloque de la línea de bloques (K - 1)a. Por consiguiente, el procesamiento del bloque Y será aún completado en el momento de empezar el procesamiento de la línea de bloques Ka.
De ahí, cuando el bloque X es procesado, no se determina un QP_prev. Ya que el QP_prev del bloque X no es determinado, no se determina un QP_prev de un bloque subsiguiente al bloque X.
Por consiguiente, los valores de predicción de QP no son calculados en paralelo entre las líneas de bloque sino que son calculados secuencialmente. Las Figuras 3A y 3B son diagramas de bloque, cada una ilustrando una configuración esquemática de un dispositivo de procesamiento de video de la técnica relacionada que realiza un procesamiento paralelo de la línea de bloques de la técnica relacionada.
Más específicamente, la figura 3A es un diagrama de bloques que ilustra una configuración esquemática de un codificador de la técnica relacionada que realiza un procesamiento paralelo de línea de bloques. La FIG. 3B es un diagrama de bloques que ilustra una configuración esquemática de un decodificador de la técnica relacionada que realiza un procesamiento paralelo de línea de bloques.
Como se ilustra en las figuras 3A y 3B, en el dispositivo de procesamiento de video de la técnica relacionada, una parte de predicción de QP configurada para calcular los valores de predicción de QP pueden ser un cuello de botella.
La FIG. 4A es un diagrama que ilustra un ejemplo del procesamiento paralelo de línea de bloques en el procesamiento de predicción de QP. En el ejemplo ilustrado en la figura 4A, la primera línea de bloques y la segunda línea de bloques son procesadas en paralelo. En este caso, cuando X representa el bloque en procesamiento de la segunda línea de bloques, el cálculo de un valor de predicción de QP del bloque X puede necesitar esperar hasta que el procesamiento del bloque Y sea completado. Es decir, el procesamiento de la segunda línea de bloques no se inicia a menos que el procesamiento de la primera línea de bloques sea completado.
La FIG. 4B es un diagrama que ilustra otro ejemplo del procesamiento paralelo de línea de bloques en el procesamiento de predicción de QP. Como se ilustra en la figura 4B, cuando el procesamiento del bloque Y ha sido completado, empieza el procesamiento de la segunda línea de bloques.
La FIG. 4C es un diagrama que ilustra todavía otro ejemplo del procesamiento paralelo de línea de bloques en el procesamiento de predicción de QP. En el ejemplo ilustrado en la figura 4C, la parte de predicción de QP que ha estado procesando la primera línea de bloques puede necesitar esperar hasta que el procesamiento de un bloque V sea completado para calcular un valor de QP de un bloque W en una tercera línea de bloques.
Es decir, el procesamiento de la tercera línea de bloques no inicia a menos que el procesamiento de la segunda línea de bloques sea completado.
Así, el procesamiento de la línea de bloques (K - 1)a puede necesitar ser completada para iniciar la línea de bloques Ka, y por consiguiente, los valores de QP pueden ser calculados en serie en la tecnología de la técnica relacionada.
Cuando se realiza el procesamiento de codificación en paralela, y las partes de predicción de QP son procesadas en serie, los puntos siguientes pueden necesitar ser considerados. Por ejemplo, ya que el QP_prev del bloque X no está determinado, el QP_DELTA no se calcula en el primer bloque de la línea de bloques Ka, y el procesamiento de entropía del bloque X no es iniciado hasta que el procesamiento del bloque Y sea completado.
Por consiguiente, ya que se demora el comienzo del procesamiento de la entropía, el tamaño de búfer para almacenar los resultados generados por la parte del procesamiento de codificación puede aumentar. Además, no empieza el procesamiento de un filtro de desbloqueo.
Asimismo, el procesamiento paralelo de la línea de bloques en un decodificador de video puede ser considerado bajo. Según el HEVC, el procesamiento de la entropía puede ser realizado en paralela entre las líneas de bloque. Semejante al primer ejemplo, hay enfoque en la línea de bloques (K - 1)a y la línea de bloques Ka, y se considera el procesamiento de restauración de QP del primer bloque X de la línea de bloques Ka. En este caso, el QP_DELTA del bloque Y aún será decodificado en el momento cuando el QP_DELTA del bloque X sea decodificado, y de ahí, el valor de QP del bloque Y no será restaurado.
Ya que el valor de predicción de QP QP_prev del bloque X corresponde al valor de QP del bloque Y, el QP_prev del bloque X no será calculado. Como resultado, el valor de QP del bloque X no será restaurado. Por consiguiente, los valores de predicción de QP de los respectivos bloques pueden ser realizados en serie, lo que puede tener como resultado el cuello de botella en el procesamiento en paralelo en una manera semejante al codificador de video.
BREVE DESCRIPCIÓN DE LA INVENCIÓN Por consiguiente, la tecnología revelada a continuación puede permitir el procesamiento computacional de los valores de predicción de QP para implementar el procesamiento en paralelo, lo que puede mejorar la eficiencia del procesamiento paralelo de línea de bloques.
Según un aspecto de las modalidades, se proporciona un decodificador de video para decodificar una corriente codificada con un sistema de codificación de video, en el que la corriente codificada es obtenida codificando una imagen de una pluralidad de bloques divididos. El decodificador de video incluye una parte de decodificación paralela de entropía configurada para decodificar por entropía la corriente de los bloques contenidos en las líneas de bloque, la corriente de los bloques en cada una de las líneas de bloque que es decodificada por entropía en paralelo con la corriente de los bloques en una correspondiente de las líneas de bloques, cada una de las líneas de bloque indica un arreglo de los bloques; una parte de predicción paralela de QP configurada para calcular valores de predicción de parámetros de cuantificación de los bloques contenidos en las líneas de bloque, los valores de predicción de los bloques en cada una de las líneas de bloque que se calcula en paralelo con los valores de predicción de los bloques en una correspondiente de las líneas de bloque; y una parte de procesamiento paralelo de decodificación configurada para generar pixeles decodificados con respecto a los bloques en las líneas de bloque, los pixeles decodificados con respecto a los bloques en cada una de las líneas de bloque que se genera en paralelo con los pixeles decodíficados con respecto a los bloques en una correspondiente de las líneas de bloque, cada uno de los pixeles decodíficados a ser decodificado utilizando los datos decodíficados por la parte de decodificación paralela de entropía y el valor de predicción calculado por la parte de predicción paralela de QP. En el decodificador de video, cuando la parte de predicción paralela de QP realiza el procesamiento del cálculo del valor de predicción en paralelo por unidad de N líneas de bloque donde la N es un valor de dos o más grande, la parte de predicción paralela de QP realiza el procesamiento del cálculo del valor de predicción en un bloque en procesamiento en una línea de bloques (K - 1)a, que precede un bloque en procesamiento en una línea de bloques Ka por lo menos por un bloque en una posición horizontal, para calcular el valor de predicción del bloque de procesamiento en la línea de bloques (K - 1)a por referencia a un bloque que ya ha sido procesado en la línea de bloques a que corresponde al bloque en procesamiento en la línea de bloques (K - 1)a en el procesamiento en paralelo.
Los objetivos y las ventajas de la invención podrán ser realizados y logrados por medio de los elementos y combinaciones que se indican especialmente en las reivindicaciones anexas.
Será comprendido que tanto la descripción general anterior como la siguiente descripción detallada son ejemplares y explicativas solamente y no son restrictivas de la presente invención.
Objetivos y ventajas adicionales de las modalidades se establecerán en parte en la siguiente descripción, y en parte será obvia de la descripción, o puede ser aprendida por la práctica de la invención.
BREVE DESCRIPCIÓN DE LOS DIBUJOS La FIG. 1 es un diagrama que ilustra un ejemplo de un procesamiento paralelo de línea de bloque; La FIG. 2 es un diagrama que ilustra un ejemplo del procesamiento paralelo de línea de bloques de una parte de procesamiento de entropía según el HEVC; La FIG. 3A es un diagrama de bloques que ilustra una configuración esquemática de un codificador de la técnica relacionada que realiza un procesamiento paralelo de línea de bloque; La FIG. 3B es un diagrama de bloques que ilustra una configuración esquemática de un decodificador de la técnica relacionada que realiza un procesamiento paralelo de línea de bloques.
La FIG. 4A es un diagrama que ilustra un ejemplo del procesamiento paralelo de línea de bloques en el procesamiento de predicción de QP.
La FIG. 4B es un diagrama que ilustra otro ejemplo del procesamiento paralelo de línea de bloques en el procesamiento de predicción de QP.
La FIG 4C es un diagrama que ilustra incluso otro ejemplo del procesamiento paralelo de línea de bloques en el procesamiento de predicción de QP.
La FIG. 5 es un diagrama de bloques que ilustra un ejemplo de configuración de un decodificador de video según una primera modalidad.
La FIG. 6 es un diagrama de bloques que ilustra ejemplos de configuración de respectivos componentes de una parte de decodificación paralela del decodificador de video según la primera modalidad; La FIG 7 es un diagrama de bloques que ilustra un ejemplo de configuración de una parte de procesamiento de decodificación del decodificador de video según la primera modalidad; La FIG 8 es un diagrama de bloques que ilustra un ejemplo de bloques disponibles en el procesamiento paralelo de predicción de QP en un caso donde N = 3; La FIG. 9 es un diagrama de bloques que ilustra un ejemplo de configuración de una parte de predicción de QP del decodificador de video según la primera modalidad; La FIG. 10A es un diagrama que ilustra un ejemplo del procesamiento de predicción de QP en el decodificador de video según la primera modalidad; La FIG 10B es un diagrama que ilustra otro ejemplo del procesamiento de predicción de QP en el decodificador de video según la primera modalidad; La FIG. 11 es un diagrama de flujo que ilustra un ejemplo del procesamiento de decodificación de bloque en el decodificador de video según la primera modalidad; La FIG. 12 es un diagrama de bloque que ilustra un ejemplo de configuración de un codificador de video según una segunda modalidad; La FIG. 13 es un diagrama de bloques que ilustra ejemplos de configuración de respectivos componentes de una parte de codificación paralela en el codificador de video según la segunda modalidad; La FIG. 14 es un diagrama de bloques que ilustra un ejemplo de configuración de una parte de procesamiento de codificación del codificador de video según la segunda modalidad; La FIG. 15 es un diagrama de bloques que ilustra un ejemplo de configuración de una parte de predicción de QP del codificador de video según la segunda modalidad; La FIG. 16 es un diagrama de flujo que ilustra un ejemplo de un procesamiento de codificación de bloque en el codificador de video según la segunda modalidad; y La FIG. 17 es un diagrama de bloques que ilustra un ejemplo de configuración de un dispositivo de procesamiento de video según una tercera modalidad.
DESCRIPCIÓN DETALLADA DE LA INVENCIÓN En lo siguiente, se describirán modalidades preferidas con referencia a los dibujos anexos. Note que una imagen (registro) contenida en un video puede ser cualquiera de un cuadro y un campo. El cuadro es una de imágenes fijas de los datos de video, y el campo es una imagen fija obtenida adquiriendo datos en las líneas numeradas impares o en las líneas numeradas pares del cuadro.
Además, el video sometido a procesamiento puede ser un video en color o un video monocromo.
Primera modalidad Configuración La FIG. 5 es un diagrama de bloques que ilustra un ejemplo de configuración de un decodificador de video según una primera modalidad. En el ejemplo ilustrado en la figura 5, un decodificador de video 10 incluye una parte de decodificación paralela 101 , y una parte de almacenamiento de pixeles decodificados 105. La parte de decodificación paralela 101 incluye una parte de decodificación paralela de entropía 102, una parte de predicción paralela de QP 103, y una parte de procesamiento de decodificación paralela 104.
Note que el decodificador de video 10 está configurado para procesar las líneas de bloque N en paralelo. Note también que las "líneas de bloque" indican arreglos de bloques en una dirección horizontal dentro de una imagen.
Los respectivos componentes de la parte de decodificación paralela 101 están configurados para realizar el procesamiento en un bloque idéntico para cada una de las líneas de bloque. Además, una posición horizontal de un bloque de procesamiento en la línea de bloques (K - 1)a está configurada para preceder a una posición horizontal de un bloque de procesamiento en la línea de bloques Ka por dos o más.
Esto puede ser porque la información decodificada en el bloque superior y el bloque derecho superior del bloque en procesamiento puede estar disponible (accesible) cambiando dos o más bloques entre las líneas de bloque aún cuando las líneas de bloque sean decodificadas en paralelo. Cuando sólo la información decodificada del bloque superior es accesada (utilizada), la cantidad de cambio de la posición horizontal entre las líneas de bloque puede ser un bloque. En lo siguiente, el "bloque superior" indica un bloque encima del bloque en procesamiento, el "bloque derecho superior" indica un bloque en un lado derecho inmediato del bloque encima del bloque en procesamiento.
La parte de decodificación paralela 101 está configurada para decodificar una corriente codificada obtenida codificando una imagen dividida en bloques plurales utilizando un sistema de codificación de video. La parte de decodificación paralela 101 puede decodificar la corriente codificada, por ejemplo, por unidad de líneas de bloque N en paralelo. Cada uno de los pixeles decodificados por bloque en cada una de las líneas de bloque es descargado a la parte de almacenamiento de pixel decodificado 105. Los pixeles que son decodificados son llamados "pixeles decodificados".
La parte de decodificación paralela de entropía 102 está configurada para dividir la corriente de entrada en las líneas de bloque, y los bloques de decodificación de entropía de la corriente contenida en las líneas de bloque en paralelo. La parte de decodificación paralela de entropía 102 descarga los datos decodificados de entropía a la parte de procesamiento de decodificación paralela 104.
La parte de predicción paralela de QP 103 está configurada para calcular el valor de predicción (valor de predicción de QP) del parámetro de cuantificación (QP) de cada uno de los bloques contenidos en la una correspondiente de las líneas de bloque mientras que realiza el procesamiento de cálculo en los bloques contenidos en las líneas de bloque en paralelo. Los valores calculados de la predicción de QP son descargados a la parte de procesamiento de decodificación paralela 104.
La parte de procesamiento de decodificación paralela 104 está configurada para generar el pixel decodificado que corresponde a cada uno de los bloques contenidos en la una correspondiente de las líneas de bloque mientras que genera los pixeles decodificados de las respectivas líneas de bloque en paralelo. Cada uno de los pixeles decodificados es decodificado utilizando los datos decodificados por la parte de decodificación paralela de entropía 102 y el valor de predicción de QP calculado por la parte de predicción paralela de QP 103. Los pixeles decodificados generados son descargados a la parte de almacenamiento de pixel decodificado 105.
La parte de almacenamiento de pixel decodificado 105 está configurada para almacenar los pixeles decodificados de los bloques descargados de la parte de decodificación paralela 101. Los pixeles decodificados agregados por unidad de imagen pueden formar una imagen (un registro). La parte de almacenamiento de pixel decodificado 105 almacena la descarga de la imagen decodificada cuando se completa el procesamiento de decodificación para una imagen.
Parte de Decodificación Paralela Enseguida se describe la parte de decodificación paralela 101. La FIG. 6 es un diagrama de bloques que ilustra ejemplos de configuración de respectivos componentes de la parte de decodificación paralela 110 en el decodificador de video según la primera modalidad; En el ejemplo ilustrado en la figura 6, la parte de decodificación paralela de entropía 102 incluye una primera parte de decodificación de entropía 221 , una segunda parte de decodificación de entropía 222, y una Enésima parte de decodificación de entropía 223.
En el ejemplo ilustrado en la figura 6, la parte de predicción paralela de QP 103 incluye una primera parte de predicción de QP 231 , una segunda parte de predicción de QP 232, y una Enésima parte de predicción de QP 233. En el ejemplo ilustrado en la figura 6, la parte de procesamiento de decodificación paralela 104 incluye una primera parte de procesamiento de decodificación 241 , una segunda parte de procesamiento de decodificación 242, una Enésima parte de procesamiento de decodificación 243, y una parte de almacenamiento de información de bloque 244.
Note que cuando L = 1 a N, la parte La de decodificación de entropía, la parte de predicción de La QP, y la parte de decodificación La están configuradas para realizar el procesamiento en la misma una de las líneas de bloque. En la descripción siguiente, la parte de decodificación de entropía La, la parte de predicción de La QP, y la parte de decodificación La son llamadas genéricamente una "parte de procesamiento de decodificación de línea de bloque". Por ejemplo, una parte de procesamiento de decodificación de línea de bloques 201 incluye una primera parte de decodificación de entropía 221 , una primera parte de predicción de QP 231 , y una primera parte de procesamiento de decodificación 241.
Cuando la parte de procesamiento de decodificación de línea de bloques 201 ha procesado la ka línea de bloques, la parte de procesamiento de decodificación de línea de bloques 201 procesa subsiguientemente la (K + N)a línea de bloques.
La parte de decodificación paralela de entropía 102 está configurada para dividir la corriente de entrada en líneas de bloque. Las partes de decodificación de entropía 221 a 223 decodifican la entropía de las líneas de bloque divididas de la corriente en paralelo por unidad de líneas de bloque N. Las partes que decodifican la entropía 221 a 223 están configuradas para realizar el procesamiento de decodificación de entropía que corresponden al procesamiento de codificación de entropía en un codificador de video.
Las partes de procesamiento de decodificación 241 a 243 están configuradas para realizar el procesamiento de decodificación en paralelo. La FIG. 7 es un diagrama de bloques que ilustra un ejemplo de la parte de procesamiento de decodificación en el decodificador de video según la primera modalidad. Ya que las partes de procesamiento de decodificación 241 a 243 están configuradas para realizar un procesamiento semejante, la parte de procesamiento de decodificación 241 es utilizada como un ejemplo de las partes de procesamiento de decodificación en la descripción siguiente.
La primera parte de procesamiento de decodificación 241 incluye una parte de restauración de valor de QP 301, una parte de cuantificación inversa 302, una parte de transformación ortogonal inversa 303, una parte de restauración de vector de movimiento 304, una parte de generación de pixel de predicción 305, y una parte de generación de pixel decodificado 306.
La parte de restauración del valor de QP 301 está configurada para restaurar el valor de QP utilizando una entrada de valor de predicción de QP de la primera parte de predicción QP mencionada al final 231 y una entrada de valor diferencial de QP de la primera parte entropía de decodificación de entropía 221 (por ejemplo, ve la fórmula antes mencionada (2)). El valor restaurado de QP es descargado a la parte de cuantificación inversa 302.
La parte de cuantificacion inversa 302 está configurada para realizar la cuantificacion inversa multiplicando el valor restaurado de QP por un coeficiente de transformación ortogonal. El coeficiente de transformación ortogonal cuantificado inverso es descargado a la parte de transformación ortogonal inversa 303.
La parte de transformación ortogonal inversa 303 está configurada para realizar la transformación ortogonal inversa en la entrada del coeficiente de transformación ortogonal de la parte de cuantificacion inversa 302 para generar un pixel de error de predicción. El pixel de error de predicción generado es descargado a la parte generadora de pixel decodificado 306.
La parte de restauración del vector de movimiento 304 está configurada para adquirir de la parte de almacenamiento de información de bloque 244 información de vector de movimiento en un bloque periférico al bloque en procesamiento para calcular un vector de predicción. La parte de restauración de vector de movimiento 304 está configurada para agregar el vector de predicción y la entrada del vector diferencial de la primera parte de decodificación de entropía 221 para restaurar el vector de movimiento. El vector de movimiento restaurado es descargado a la parte de generación de pixel de predicción 305.
La parte de generación de pixel de predicción 305 está configurada para adquirir datos de pixel de una imagen de referencia indicada por el vector de movimiento de la parte de almacenamiento de pixel decodificado 105 que almacena imágenes decodificadas previamente para generar un pixel de predicción. El pixel de predicción generado es descargado a la parte de generación de pixel decodificado 306.
La parte de generación de pixel decodificado 306 está configurada para agregar la entrada del pixel de predicción de la parte de generación de pixel de predicción 305 y la entrada de pixel de error de predicción de la parte de transformación ortogonal inversa 303 para generar un pixel decodificado. El pixel decodificado generado es almacenado en la parte de almacenamiento de pixel decodificado 105.
Enseguida se describe el procesamiento es realizado por cada una de las partes de predicción de QP. Inicialmente, se describen los bloques disponibles (accesibles) utilizados en el procesamiento de predicción realizado por cada una de las partes del procesamiento de QP. La FIG. 8 es un diagrama de bloques que ilustra un ejemplo de bloques disponibles utilizados en el procesamiento de predicción paralela de QP en un caso donde N = 3; En el ejemplo ilustrado en la figura 8, cuando N = 3 indican N líneas de bloque, el procesamiento de predicción de QP es realizado en las líneas de bloque N en paralelo mientras demoran el procesamiento por dos bloques en cada una de las líneas de bloque N.
En este caso, los bloques disponibles que corresponden al bloque en procesamiento X son bloques sombreados ilustrados en la FIG. 8. Los bloques sombreados en la figura 8 indican bloques ya procesados cuando el bloque en procesamiento X es sometido al procesamiento; es decir, los bloques sombreados en la figura 8 indican los bloques disponibles (accesibles). En la figura 8, el bloque indicado por un marco grueso representa un bloque sometido al procesamiento (en lo siguiente también llamado un "bloque de procesamiento"). Cada una de las partes de predicción de QP está configurada para calcular el valor de predicción de QP del bloque en procesamiento haciendo referencia a los bloques disponibles (bloques ya procesados). En lo siguiente, se describe a detalle el cálculo del valor de predicción de QP.
La FIG. 9 es un diagrama de bloques que ilustra un ejemplo de configuración de una parte de predicción de QP en el decodificador de video según la primera modalidad. Ya que las partes de predicción de QP 231 a 233 están configuradas para realizar un procesamiento semejante, la primera parte de predicción de QP 231 es utilizada como un ejemplo de las partes de predicción de QP en la descripción siguiente.
En la figura 9, la primera parte de predicción de QP 231 incluye una parte de almacenamiento de QP inmediatamente anterior 401 , una parte de selección de QP 402, y una parte de adquisición superior de QP 403.
La parte de almacenamiento inmediatamente anterior de QP 401 está configurada para recibir de la parte de restauración de valor de QP 301 el valor de QP del bloque que ha sido procesado inmediatamente antes del bloque de procesamiento actual, y almacena el valor recibido de QP. El valor de QP almacenado por la parte de almacenamiento de QP inmediatamente anterior 401 es inicializada en el momento de comenzar el procesamiento de la imagen.
Por ejemplo, el valor de QP almacenado por la parte de almacenamiento de QP inmediatamente anterior 401 es inicializada con un valor de Rodaja de QP codificada por información de encabezamiento de Rodaja en una manera semejante a H. 264. La Rodaja es una unidad de grupos divididos de bloques asociados con una imagen.
La parte de adquisición superior de QP 403 puede, por ejemplo, adquirir un valor de QP de un bloque situado encima del bloque en procesamiento de la parte de almacenamiento de información de bloque 244.
La parte de selección de QP 402 está configurada para seleccionar una de las descargas de valores de QP de la parte de almacenamiento de QP inmediatamente anterior 401 y la parte de adquisición superior de QP 403 para descargar el valor seleccionado de QP como el valor de predicción de la parte de restauración del valor de QP 301.
Por ejemplo, cuando el bloque en procesamiento es uno primero (un encabezamiento) de bloques en una línea de bloques, la parte de selección de QP 402 selecciona la descarga del valor de QP de la parte de adquisición superior de QP 403, mientras que cuando el bloque en procesamiento es cualquiera de los bloques diferentes del primer bloque en la línea de bloques, la parte de selección de QP 402 selecciona la descarga del valor de QP de la parte de almacenamiento de QP inmediatamente anterior 401. La parte de selección de QP 402 descarga el valor seleccionado de QP como el valor de predicción de QP a la parte de restauración del valor de QP 301.
Enseguida se describe el valor de predicción de QP (selección) en el ejemplo antes mencionado con referencia a los correspondientes dibujos. La FIG. 10A es un diagrama que ilustra un ejemplo del procesamiento de predicción de QP en el decodificador de video según la primera modalidad; En el ejemplo ¡lustrado en la figura 10A, cuando el bloque en procesamiento X representa un bloque sometido al procesamiento, y el bloque en procesamiento X es uno primero (un encabezamiento) de los bloques en la línea de bloques, la parte de selección de QP 402 selecciona un valor de QP de un bloque superior A.
La FIG. 10B es un diagrama que ilustra otro ejemplo del procesamiento de predicción de QP en el decodificador de video según la primera modalidad. Como se ilustra en la figura 10B, cuando el bloque en procesamiento X es uno de los bloques diferentes del primer bloque en la línea de bloques, la parte de selección de QP 402 selecciona un valor de QP de un bloque B que ha sido procesado inmediatamente antes del bloque en procesamiento X.
Note que el valor de QP del bloque cercano al bloque en procesamiento X es utilizado como el valor de predicción de QP en este caso. Por consiguiente, la eficiencia de predicción del valor de QP apenas disminuye en comparación a un caso en el que el valor de QP del bloque que ha sido procesado inmediatamente antes que el bloque en procesamiento X sea seleccionado (utilizado) en el orden de trama.
En el ejemplo antes mencionado, el valor de predicción de QP es generado utilizando el valor de QP del bloque que ha sido procesado inmediatamente antes que el bloque en procesamiento X cuando el bloque en procesamiento es diferente del primer bloque. Sin embargo, el valor de QP puede ser generado por otros métodos cuando el valor de QP es predicho de un bloque adyacente al bloque en procesamiento.
Además, el procesamiento de la parte de selección de QP 402 puede ser como sigue. Cuando la línea de bloques sometida al procesamiento es una segunda línea de bloques a la línea de bloques Na, los valores de QP almacenados por la parte de almacenamiento de QP inmediatamente anterior 401 son los valores de Rodaja de QP, cada uno de los cuales es determinado por una unidad de Rodaja. Por consiguiente, la eficiencia de predicción puede ser relativamente baja cuando el valor de Rodaja de QP es aplicado como el valor de predicción de QP de cada uno de los bloques.
Así, cuando el bloque en procesamiento es el primero de los bloques en la segunda línea de bloques a la línea de bloques Na, la parte de selección de QP 402 puede seleccionar el valor de QP adquirido por la parte de adquisición superior de QP 403, mientras que cuando el bloque en procesamiento es cualquiera de los bloques diferentes del primer bloque en la segunda línea de bloques a la línea de bloques Na, la parte de selección de QP 402 puede seleccionar el valor de QP retenido por la parte de almacenamiento de QP inmediatamente anterior 401.
Además, cuando el bloque en procesamiento es un primero de bloques en una línea de bloques subsiguiente a la línea de bloques (N + 1)a, la parte de selección de QP 402 puede seleccionar el valor de QP retenido por la parte de almacenamiento de QP inmediatamente anterior 401. En este caso, el valor de QP retenido por la parte de almacenamiento de QP inmediatamente anterior 401 corresponde al valor de QP del por último (el último bloque) de los bloques en la línea de bloques situada N bloques encima del bloque en procesamiento.
La línea de bloques Ka y la línea de bloques (K + N)a es procesada por la parte idéntica de procesamiento de decodificación, la parte idéntica de predicción de QP, y la parte idéntica de decodificación de entropía. Por lo tanto, el bloque que ha sido procesado inmediatamente antes que el bloque en procesamiento en la línea de bloques Ka corresponda al último bloque de la línea de bloques (K - N)a.
Además, cuando el bloque en procesamiento es el primero de los bloques en la línea de bloques, la parte de selección de QP 402 puede ser configurado para seleccionar constantemente el valor de QP almacenado en la parte de almacenamiento de QP inmediatamente anterior 401. Además, cuando el bloque en procesamiento es el primero de los bloques en una de la primera línea de bloques a la línea de bloques Na, la parte de selección de QP 402 puede ser configurada para seleccionar el valor de Rodaja de QP como el valor de predicción de QP.
En este caso, el valor de QP del último (el último bloque) de los bloques en la línea de bloques situada N bloques encima del bloque en procesamiento puede ser seleccionado como el valor de predicción de QP del primer bloque en la línea de bloques (N + 1)a.
Con la configuración antes mencionada, el procedimiento de calcular los valores de predicción de los parámetros de cuantificación que corresponde a las líneas de bloque puede ser realizado en paralelo.
Operación Enseguida se describen las operaciones del decodificador de video 10 según la primera modalidad. La FIG. 1 es un diagrama de flujo que ilustra un ejemplo del procesamiento de decodificación de bloque en la primera modalidad. Note que el procesamiento de decodificación de bloque ilustrado en la figura 11 corresponde al procesamiento de decodificación realizado en un bloque.
En el paso S101 , cada una de las partes de decodificación de entropía decodifica información codificada de manera que el vector de movimiento diferencial, el valor diferencial de QP, y el coeficiente de transformación ortogonal cuantificado de cada uno de los bloques. La información de decodificación de entropía es descargada a las partes de procesamiento de decodificación correspondientes a las partes procesadas de entropía.
En el paso S102, la parte de restauración del vector de movimiento 304 adquiere, de la parte de almacenamiento de información de bloque 244, información de vector de movimiento en un bloque periférico al bloque en procesamiento para calcular un vector de predicción.
En el paso S103, la parte de restauración de vector de movimiento 304 agrega el vector de movimiento diferencial y el vector de predicción para restaurar el vector de movimiento. La información del vector de movimiento restaurado es almacenada en la parte de almacenamiento de información de bloque 244.
En el paso S104, la parte de generación de pixel de predicción 305 adquiere datos de pixel de una imagen de referencia indicada por el vector de movimiento de la parte de almacenamiento de pixel decodificado 105 que almacena imágenes decodificadas previamente para generar un pixel de predicción.
En el paso S105, cada una de las partes de predicción de QP genera el valor de predicción de QP de un bloque correspondiente de los bloques para ingresar los valores de predicción de QP generados en la parte de restauración de valor de QP 301.
En el paso S106, la parte de restauración del valor de QP 301 restaura cada uno de los valores de QP con base en el correspondiente valor de predicción de entrada de QP y el valor diferencial. Los valores de QP son almacenados en la parte de almacenamiento de información de bloque 244 mientras es suministrado a la parte de cuantificación inversa 302. Cuando uno de los valores de QP del bloque encima del bloque en procesamiento y el valor de QP del bloque en procesamiento procesado por la parte de procesamiento de decodificación de línea de bloques 201 previamente, es aplicada al valor de predicción de QP, puede que no haya necesidad de sostener (demorar) la generación del valor de predicción de QP. Como resultado, puede mejorarse la eficiencia del procesamiento paralelo.
En el paso S107, la parte de cuantificación inversa 302 multiplica el coeficiente de transformación ortogonal cuantificado por el valor de QP.
En el paso S108, la parte de transformación ortogonal inversa 303 realiza la transformación ortogonal inversa en el coeficiente de transformación ortogonal cuantificado para generar un pixel de error de predicción.
En el paso S109, la parte de generación de pixel decodificado 306 agrega el pixel de error de predicción y el pixel de predicción para generar un pixel decodificado.
En el paso S 10, la parte de almacenamiento de pixel decodificado 105 almacena el pixel decodificado. El paso antes mencionado es el término del procesamiento de decodificación en el bloque (bloque en procesamiento), que inicia el siguiente procesamiento de decodificación en el bloque subsiguiente. Cuando el procesamiento de decodificación en todos los bloques contenidos en una imagen se termina, la imagen decodificada almacenada en la parte de almacenamiento de pixel decodificado 105 puede, por ejemplo, ser desplegado en una parte de despliegue tal como un despliegue.
Como fue descrito antes, en el decodificador de video según la primera modalidad, el cálculo de los valores de predicción de QP puede ser realizado en paralelo, lo que puede mejorar la eficiencia del procesamiento paralelo de la línea de bloques.
Segunda modalidad Enseguida se describe un codificador de video según una segunda modalidad. En el codificador de video según la segunda modalidad, el procesamiento de predicción de QP puede ser realizado en paralelo por una unidad de líneas de bloque, correspondiendo al decodificador de video según la primera modalidad.
Configuración La FIG. 12 es un diagrama de bloque que ilustra un ejemplo de configuración de un codificador de video 50 según la segunda modalidad. En el ejemplo ilustrado en la figura 12, el codificador de video 50 incluye un parte de codificación paralela 501 y una parte de almacenamiento de pixel decodificado 505. La parte de decodificación paralela 501 incluye una parte de procesamiento de codificación paralela 502, una parte de predicción paralela de QP 503, y una parte de codificación paralela de entropía 504. Note que el codificador de video 50 está configurado para procesar las líneas de bloque N en paralelo.
Los respectivos componentes de la parte de codificación paralela 501 están configurados para realizar el procesamiento en un bloque idéntico para cada una de las líneas de bloque. Además, una posición horizontal de un bloque en procesamiento de la línea de bloques (K - 1)a está configurada para preceder una posición horizontal de un bloque en procesamiento de la línea de bloques Ka por dos o más bloques.
Esto puede ser porque la información codificada en el bloque superior y el bloque derecho superior del bloque en procesamiento puede estar disponible (accesible) cambiando dos o más bloques entre las líneas de bloque aún cuando las líneas de bloque sean codificadas en paralelo. Cuando la información del bloque superior es accesada (utilizada), la cantidad de cambio de la posición horizontal entre las líneas de bloque puede ser un bloque.
La parte de codificación paralela 501 está configurada para dividir una imagen en bloques plurales, y codificar los bloques divididos utilizando un sistema de codificación de video en, por ejemplo, líneas de bloque N en paralelo. El pixel decodificado localmente decodificado por la parte de decodificación paralela 501 es almacenado en la parte de almacenamiento de pixel decodificado 505.
La parte de procesamiento de codificación paralela 502 está configurada para generar el coeficiente de transformación ortogonal cuantificado y la información de vector de movimiento diferencial para cada uno de bloques contenidos en las líneas de bloque mientras se procesan las líneas de bloque en paralelo. Los coeficientes de transformación ortogonal generados y la información del vector diferencial (también llamado "datos de codificación") son descargados a la parte de codificación paralela de entropía 504. El valor de QP utilizado para la cuantificación es descargado a la parte de predicción paralela de QP 503.
La parte de predicción paralela de QP 503 está configurada para calcular el valor de predicción (valor de predicción de QP) del parámetro de cuantificación (QP) de cada uno de los bloques contenidos en la línea de bloques correspondiente mientras realiza el procesamiento del cálculo en los bloques contenidos en las líneas de bloque en paralelo. Los valores calculados de predicción de QP son descargados a la parte de codificación paralela de entropía 504.
La parte de codificación paralela de entropía 504 codifica la entropía de cada uno de los bloques contenidos en la correspondiente línea de bloques utilizando el coeficiente de transformación ortogonal cuantificado, el valor diferencial de QP que es la diferencia entre el valor de QP y el valor de predicción de QP, la información de vector de movimiento diferencial y similares mientras realiza el procesamiento de codificación de entropía en los bloques contenidos en las líneas de bloque en paralelo. La corriente codificada por la parte de codificación paralela de entropía 504 es descargada al decodificador de video 10, y similares.
La parte de almacenamiento de pixel decodificado 505 está configurada para almacenar el pixel decodificado obtenido al decodificar localmente cada uno de los bloques descargados de la parte de codificación paralela 501. La decodificación localmente también puede ser llamada "decodificación local".
Parte de Codificación Paralela Enseguida se describe la parte de codificación paralela 501. La FIG. 13 es un diagrama de bloques que ilustra ejemplos de configuración de los respectivos componentes de la parte de codificación paralela 501 en el codificador de video según la segunda modalidad. En el ejemplo ilustrado en la figura 13, la parte de procesamiento de codificación paralela 502 incluye una primera parte de procesamiento de codificación 621 , una segunda parte de procesamiento de codificación 622, una Na parte de procesamiento de codificación 623, y una parte de almacenamiento de información de bloque 624.
En el ejemplo ilustrado en la figura 13, la parte de predicción paralela de QP 503 incluye una primera parte de predicción de QP 631 , una segunda parte de predicción de QP 632, y una Enésima parte de predicción de QP 633. En el ejemplo ilustrado en la figura 13, la parte de codificación paralela de entropía 504 incluye una primera parte de codificación de entropía 641 , una segunda parte de codificación de entropía 642, y una Na parte de codificación de entropía 643.
Note que cuando L = 1 a N, la parte La de codificación de entropía, la parte de predicción de La QP, y la parte de codificación de entropía La están configuradas para realizar el procesamiento en la misma una de las líneas de bloque. En la descripción siguiente, la parte de codificación La, la parte de predicción de La QP, y la parte de codificación de entropía La son llamadas genéricamente una "parte de procesamiento de codificación de línea de bloque".
Por ejemplo, una parte de procesamiento de codificación de línea de bloques 601 incluye una primera parte de codificación 621, una primera parte de predicción de QP 631, y una primera parte de procesamiento de codificación de entropía 641.
Cuando la parte de procesamiento de codificación de línea de bloques 601 ha realizado el procesamiento de codificación en la línea de bloques de Ka, la parte de procesamiento de codificación de línea de bloques 601 realiza subsiguientemente el procesamiento de codificación en la línea de bloques (K + N)a.
La parte de codificación paralela de entropía 502 está configurada para dividir una imagen de entrada en líneas de bloque plurales. Las partes de procesamiento de codificación 621 a 623 están configuradas para realizar el procesamiento de codificación en paralelo por unidad de las líneas de bloque divididas de la imagen (por ejemplo, las líneas de bloque N en este caso). El procesamiento de codificación puede ser el procesamiento de codificación tales como H. 264 o HEVC.
La FIG. 14 es un diagrama de bloques que ilustra un ejemplo de configuración de la parte de procesamiento de codificación (por ejemplo, la primera parte de procesamiento de codificación 621) en el codificador de video según la segunda modalidad. Ya que las partes de procesamiento de codificación 621 a 623 están configuradas para realizar un procesamiento semejante, la parte de procesamiento de codificación 621 es utilizado como un ejemplo de las partes de procesamiento de codificación en la siguiente descripción.
La primera parte de procesamiento de codificación 621 incluye una parte diferencial de predicción 701 , una parte de transformación ortogonal 702, una parte de cuantificación 703, una parte de determinación de QP 704, una parte de cuantificación inversa 705, una parte de transformación ortogonal inversa 706, una parte de generación de pixel decodificado 707, una parte de detección de movimiento 708, una parte de generación de señal de predicción 709, y una parte de generación de vector diferencial 710.
La parte de detección de movimiento 708 está configurada para adquirir datos de pixel de una imagen de referencia de la parte de almacenamiento de pixel decodificado 505 para detectar un vector de movimiento. La información detectada de vector del movimiento es almacenada en la parte de almacenamiento de información de bloque 624 a ser utilizada en la siguiente codificación.
La parte de generación de señal de predicción 709 está configurada para adquirir un pixel de referencia de la parte de almacenamiento de pixel decodificado 505 para generar una señal de pixel de predicción basada en la información regional de posición de la imagen de entrada de referencia. La señal generada de pixel de predicción es descargada de la parte de generación de vector diferencial 701.
La parte de generación de vector diferencial 110 está configurada para generar un vector de predicción. El vector de predicción puede ser obtenido como sigue. Los vectores de movimiento de los bloques situados en el lado izquierdo, arriba, y en el lado derecho superior del bloque en procesamiento son adquiridos de la parte de almacenamiento de información de bloque 624, y un valor mediano de los tres vectores de movimiento puede ser determinado como el vector de predicción.
Como se describe en el ejemplo antes mencionado, ya que el bloque en procesamiento de cada una de las líneas de bloque es cambiada por dos bloques en una dirección horizontal del bloque en procesamiento de la línea de bloques anterior, el procesamiento de codificación en el bloque situado encima del bloque en procesamiento y el bloque situado en el lado derecho superior del bloque en procesamiento ya ha sido completado. Así, la parte de generación del vector diferencial 710 puede ser capaz de adquirir los vectores de movimiento de los bloques periféricos.
La parte de generación de vector diferencial 710 está configurada para adquirir el vector de movimiento del bloque en procesamiento de la parte de detección de movimiento 708 para generar el vector diferencial entre el vector de movimiento y el vector de predicción. El vector diferencial generado es descargado a la primera parte de codificación de entropía 641.
La parte de diferencial de predicción 701 está configurada para calcular la diferencia entre la imagen original y las señales de pixel de predicción para generar las señales de error de predicción. Las señales de error de predicción generadas son descargadas a la parte de transformación ortogonal 702.
La parte de transformación ortogonal 702 está configurada para realizar el procesamiento de transformación ortogonal tal como la transformada de coseno discreto (DCT) en las señales de error de predicción. Los coeficientes de transformación ortogonal obtenidos son descargados de la parte de cuantificacion 703.
La parte de cuantificacion 703 está configurada para cuantificar los coeficientes de transformación ortogonal basados en el parámetro de cuantificación (QP). Un ejemplo del método de cuantificacion incluye dividir los coeficientes ortogonales por un valor determinado por el QP, y redondeando el resultado obtenido al entero más cercano. El coeficiente de transformación ortogonal cuantificado es multiplicado por el valor de QP para realizar la cuantificación inversa. El procesamiento de redondeo puede hacer irreversible la cuantificación de la transformación. Los coeficientes de transformación ortogonal cuantificados son descargados a la primera parte de codificación de entropía 641.
La parte de cuantificación 703 está configurada para generar información de bandera en cuanto a si los coeficientes de transformación ortogonal son todos "0" para descargar la información generada de bandera junto con los valores de QP utilizados para la cuantificación a la parte de determinación de QP 704. Los valores de QP son descargados a la parte de cuantificación inversa 705 y la primera parte de predicción de QP 631.
La primera parte de predicción de QP 631 está configurada para generar el valor de predicción de QP del bloque en procesamiento. El valor generado de predicción de QP es descargado a la parte de determinación de QP 704, y la primera parte de codificación de entropía 641.
Cuando uno del valor de QP del bloque encima del bloque en procesamiento y el valor de QP del bloque procesado, procesado por la línea de bloques que codifica la parte de procesamiento 601 asociado con la primera parte de predicción de QP 631 previamente es aplicado al valor de predicción de QP, puede no haber necesidad de sostener (demorar) la generación del valor de predicción de QP. Como resultado, puede mejorarse la eficiencia del procesamiento paralelo.
La determinación de la parte QP 704 está configurada para determinar el QP del bloque en procesamiento con base en la entrada del valor de QP de la parte de cuantificación 703 y el valor de predicción. Cuando los coeficientes de transformación ortogonal son todos "0", la información diferencial de QP no será codificada por entropía. Por lo tanto, los valores de QP utilizados por la parte de cuantificación 703 no serán reportados al lado del decodificador. Como resultado, tales valores de QP pueden ser invalidados.
Por ejemplo, la parte de determinación de QP 704 adquiere la información de bandera en cuanto a si los coeficientes de transformación ortogonal generados cuantificados por la parte de cuantificación 703 son todos "0". Cuando la parte de determinación de QP 704 adquiere la información de bandera que indica que los coeficientes de transformación ortogonal son todos "0", la parte de determinación de QP 704 establece el valor de predicción de QP como el valor de QP del bloque en procesamiento. Cuando la determinación de la parte QP 704 adquiere la información de bandera que indica que ninguno de los coeficientes de transformación ortogonal es "0", la determinación de la parte QP 704 establece el valor de QP utilizado por la parte de cuantificación 703 como el valor del bloque en procesamiento QP. El valor de QP determinado por la parte de determinación de QP 704 son almacenados en la parte de almacenamiento de información de bloque 624.
La parte de cuantificación inversa 705 está configurada para realizar el procesamiento de cuantificación inversa en los coeficientes de transformación ortogonal cuantificados. Los coeficientes ortogonales cuantificados inversamente son descargados a la parte de transformación ortogonal inversa 706.
La parte de transformación ortogonal inversa 706 está configurada para realizar la transformación ortogonal inversa en los coeficientes de transformación ortogonal cuantificada. Las señales procesadas de transformación ortogonal inversa son descargadas a la parte de generación de pixel decodificada 707.
La parte de generación de pixel decodificada 707 está configurada para agregar la señal de pixel de predicción adquirida de la parte de generación de señal de predicción 709 a la señal procesada de transformación ortogonal inversa para generar un pixel localmente decodificado. El pixel decodificado generado es almacenado en la parte de almacenamiento de pixel decodificado 505.
Enseguida se describe el procesamiento es realizado por cada una de las partes de predicción de QP. La FIG. 15 son un diagrama de bloques que ilustra un ejemplo de configuración de una parte de predicción de QP en el codificador de video según la segunda modalidad. Ya que las partes de predicción de QP 631 a 633 son configuradas para realizar un procesamiento semejante, la primera parte de predicción de QP 631 es utilizada como un ejemplo de las partes de predicción de QP en la descripción siguiente.
En la figura 15, la primera parte de predicción de QP 631 incluye una parte de almacenamiento de QP inmediatamente anterior 801 , una parte de selección de QP 802, y una parte de adquisición superior de QP 803.
La parte de almacenamiento inmediatamente anterior de QP 801 está configurada para recibir de la parte de determinación de QP 704 el valor de QP del bloque que ha sido procesado inmediatamente antes del bloque en procesamiento actual, y almacena el valor recibido de QP. Los valores de QP almacenados por la parte de almacenamiento inmediatamente anterior de QP 801 son inicializados en el momento de comenzar el procesamiento de la imagen.
Por ejemplo, el valor de QP almacenado por la parte de almacenamiento de QP inmediatamente anterior 401 es inicializada con un valor de Rodaja de QP codificada por información de encabezamiento de Rodaja en una manera semejante a H. 264. La Rodaja es una unidad de grupos divididos de bloques asociados con una imagen.
La parte de adquisición superior de QP 803 puede, por ejemplo, adquirir un valor de QP de un bloque situado encima del bloque en procesamiento de la parte de almacenamiento de información de bloque 624.
La parte de selección de QP 802 está configurada para seleccionar uno de los valores de QP descargados de la parte de almacenamiento inmediatamente anterior de QP 801 y la parte de adquisición de QP 803 para descargar el valor de QP seleccionado como el valor de predicción de QP a la parte de determinación de QP 704 o a la primera parte de codificación de entropía 641.
Por ejemplo, cuando el bloque en procesamiento es uno primero (un encabezamiento) de bloques en una línea de bloques, la parte de selección de QP 802 selecciona la descarga del valor de QP de la parte de adquisición superior de QP 803, mientras que cuando el bloque en procesamiento es cualquiera de los bloques en la línea de bloques diferente del primer bloque, la parte de selección de QP 802 selecciona la descarga del valor de QP de la parte de almacenamiento de QP inmediatamente anterior 801. La parte de selección de QP 802 descarga el valor seleccionado de QP como el valor de predicción de QP a la parte de determinación de QP 704 o a la primera parte de codificación de entropía 641.
La predicción (selección) del valor de QP en los ejemplos antes mencionados es ilustrada en las figuras 10A y 10B. En este caso, el valor de QP del bloque cercano al bloque en procesamiento X es utilizado como el valor de predicción de QP. Por consiguiente, la eficiencia de predicción del valor de QP apenas disminuye en comparación al caso que utiliza (selecciona) el valor de QP del bloque inmediatamente anterior del bloque en procesamiento X en la orden de trama.
En el ejemplo antes mencionado, el valor de predicción de QP es generado utilizando el valor de QP del bloque que ha sido procesado inmediatamente antes que el bloque en procesamiento X cuando el bloque en procesamiento es diferente del primer bloque. Sin embargo, el valor de QP puede ser generado por otros métodos cuando el valor de QP es predicho de un bloque adyacente al bloque en procesamiento.
Note que el procesamiento de la parte de selección de QP 802 en el codificador de video 50 según la segunda modalidad puede ser como sigue en una manera semejante al decodificador de video 10 según la primera modalidad. Cuando la línea de bloques sometida al procesamiento es la segunda línea de bloques a la línea de bloques Na, los valores almacenados de QP por la parte de almacenamiento inmediatamente anterior 801 son los valores de Rodaja de QP, cada uno de los cuales es determinado por una unidad de Rodaja. Por consiguiente, la eficiencia de predicción puede ser relativamente baja cuando el valor de Rodaja de QP es aplicado como el valor de predicción de QP de cada uno de los bloques.
Así, cuando el bloque en procesamiento es el primero de los bloques en la segunda línea de bloques a la línea de bloques Na, la parte de selección de QP 802 puede seleccionar el valor de QP adquirido por la parte de adquisición superior de QP 803, mientras que cuando el bloque en procesamiento es cualquiera de los bloques diferentes del primer bloque en la segunda línea de bloques a la línea de bloques Na, la parte de selección de QP 802 puede seleccionar el valor de QP retenido por la parte de almacenamiento de QP inmediatamente anterior 801.
Además, cuando el bloque en procesamiento es un primero de bloques en una línea de bloques subsiguiente a la línea de bloques (N + 1)a, la parte de selección de QP 802 puede seleccionar el valor de QP retenido por la parte de almacenamiento de QP inmediatamente anterior 801. En este caso, el valor de QP retenido por la parte de almacenamiento inmediatamente anterior de QP 801 corresponde a un valor de QP del último (el último bloque) de los bloques en la línea de bloques situada N bloques encima del bloque en procesamiento.
La línea de bloques Ka y la línea de bloques (K + N)a es procesada por la parte idéntica de procesamiento de decodificación, la parte idéntica de predicción de QP, y la parte idéntica de decodificación de entropía. Por lo tanto, el bloque que ha sido procesado inmediatamente antes que el bloque en procesamiento en la línea de bloques Ka corresponda al último bloque de la línea de bloques (K - N)a.
Además, cuando el bloque en procesamiento es uno primero (un encabezamiento) de bloques en una línea de bloques, la parte de selección de QP 802 puede ser configurada para seleccionar constantemente un valor de QP almacenado en la parte de almacenamiento inmediatamente anterior de QP 801. Además, cuando el bloque en procesamiento es el primero de los bloques en una de la primera línea de bloques a la línea de bloques Na, la parte de selección de QP 802 puede ser configurada para seleccionar el valor de Rodaja de QP como el valor de predicción de QP.
En este caso, el valor de QP del último (el último bloque) de los bloques en la línea de bloques situada N bloques encima del bloque en procesamiento puede ser seleccionado como el valor de predicción de QP del primer bloque en la línea de bloques (N + 1)a.
Cada una de las partes de codificación de entropía 641 a 643 codifica el vector de movimiento diferencial, el valor diferencial de QP, el coeficiente de transformación ortogonal cuantificado de cada uno de los bloques para uno correspondiente de las líneas de bloque.
Con la configuración antes mencionada, los valores de predicción de los parámetros de cuantificación que corresponden a las líneas de bloque pueden ser realizados en paralelo.
Operación Enseguida, se describen las operaciones del codificador de video 50 según la segunda modalidad. La FIG. 16 es un diagrama de flujo que ilustra un ejemplo del procesamiento de codificación de bloque en la segunda modalidad ilustrada. Note que el procesamiento de codificación de bloque ilustrado en la figura 16 corresponde al procesamiento de codificación realizado en un bloque.
En el paso S201 , un bloque sometido a procesamiento (es decir, un bloque en procesamiento) es ingresado en cada una de las partes de procesamiento de codificación 621 a 623. La parte de detección de movimiento 708 está configurada para adquirir datos de pixel de una imagen de referencia de la parte de almacenamiento de pixel decodificado 505 para detectar un vector de movimiento.
En el paso S202, la parte de generación de vector diferencial 710 genera un vector diferencial entre el vector de movimiento detectado y el vector de predicción generado.
En el paso S203, la parte de detección de movimiento 708 almacena el vector de movimiento detectado en la parte de almacenamiento de información de bloque 624.
En el paso S204, la parte de generación de señal de predicción 709 adquiere información de posición regional de la imagen de referencia referida por el vector del movimiento detectado por la parte de detección de movimiento 708 para generar una señal de pixel de predicción.
En el paso S205, la parte de generación de vector diferencial 701 adquiere la diferencia entre la señal de pixel de predicción generada por la parte de generación de señal de predicción 709 y el pixel original de entrada para generar una señal de error de predicción.
En el paso S206, la parte de transformación ortogonal 702 realiza la transformación ortogonal en la señal de error de predicción para generar un coeficiente de transformación ortogonal.
En el paso S207, la parte de cuantificación 703 cuantifica el coeficiente de transformación ortogonal con base en el parámetro de cuantificación (QP).
En el paso S208, cada una de las partes de predicción de QP 631 a 633 genera un valor de predicción de QP del bloque en procesamiento. El valor de predicción de QP puede ser, por ejemplo, un valor de QP de un bloque situado encima del bloque en procesamiento, o un valor de QP de un bloque procesado anteriormente por la parte de procesamiento de codificación de línea de bloques 601 asociada con la correspondiente parte de predicción de QP.
En el paso S209, la parte de determinación de QP 704 determina el valor de QP del bloque en procesamiento como uno del valor de QP adquirido de la parte de cuantificación 703 y el valor de predicción de QP adquirido de la parte de predicción de QP. El método de determinación del valor de QP del bloque en procesamiento ya se describió antes.
En el paso S210, cada una de las partes de codificación de entropía codifica el coeficiente de transformación ortogonal cuantificado, el valor diferencial de QP, y el vector diferencial.
En el paso S211 , la parte de cuantificación inversa 705 y la parte de transformación ortogonal inversa 706 respectivamente realizan el procesamiento de cuantificación inversa y el procesamiento de transformación ortogonal inversa se cuantifica en el coeficiente de transformación ortogonal cuantificado para generar una señal que corresponde a la señal de error de predicción.
En el paso S212, la parte de generación de pixel decodificado 707 agrega la señal de pixel de predicción adquirida de la parte de generación de señal de predicción 709 y la señal adquirida de la parte de transformación ortogonal inversa 706 para generar un pixel localmente decodificado.
En el paso S213, la parte de almacenamiento de pixel decodificado 505 almacena el pixel decodificado generado. El paso antes mencionado es el término del procesamiento de codificación en el bloque (bloque en procesamiento), que inicia el siguiente procesamiento de codificación en el bloque subsiguiente.
Como fue descrito antes, en el codificador de video según la segunda modalidad, el cálculo de los valores de predicción de QP puede ser realizado en paralelo, lo que puede mejorar la eficiencia del procesamiento paralelo de la línea de bloques.
Tercera modalidad La FIG. 17 es un diagrama de bloques que ilustra un ejemplo de configuración de un dispositivo de procesamiento de video según una tercera modalidad. Un dispositivo de procesamiento de video 90 según la tercera modalidad puede ser un ejemplo del codificador de video o el decodificador de video descrito en las modalidades antes mencionadas. Como se ilustra en la figura 17, el dispositivo de procesamiento de video 90 incluye un controlador 901 , una parte de almacenamiento principal 902, una parte de almacenamiento auxiliar 903, un dispositivo impulsor 904, una parte IF de red 906, una parte de entrada 907, y una parte de despliegue 908. Las partes antes mencionadas son conectadas mutuamente a través de un bus de manea que los datos son transmitidos y recibidos mutuamente entre estas partes.
El controlador 901 sirve como una CPU que realiza el control en cada uno de los dispositivos o realiza la operación o procesamiento de los datos dentro de una computadora. El controlador 901 también sirve como una unidad aritmética capaz de ejecutar un programa de cómputo almacenado en la parte de almacenamiento principal 902, para que el controlador 901 reciba los datos de la parte de entrada 907 o un dispositivo de almacenamiento, realicen la operación o procesamiento en los datos recibidos, y descarguen los datos resultantes a la parte de despliegue 908 o al dispositivo de almacenamiento.
La parte de almacenamiento principal 902 puede ser un dispositivo de almacenamiento tal como una memoria de sólo lectura (ROM) o una memoria de acceso aleatorio (RAM) que permanentemente o temporalmente almacena programas o datos tales como software básico de un sistema operativo (OS) o el software de aplicación, que es ejecutado por el controlador 901.
La parte de almacenamiento auxiliar 903 puede ser un dispositivo de almacenamiento tal como una unidad de disco duro (HDD), que almacena los datos asociados con el software de aplicación.
El dispositivo impulsor 904 está configurado para recuperar los programas de un medio de grabación 905 tal como un disco flexible o similar para instalar los programas recuperados en el dispositivo de almacenamiento.
Además, el medio de grabación 905 está configurado para almacenar programas predeterminados. Los programas almacenados en el medio de grabación 905 son instalados en el dispositivo de procesamiento de video 90 por medio del dispositivo impulsor 904. Así, los programas predeterminados instalados pueden ser fácilmente ejecutables por el dispositivo de procesamiento de video 90.
La sección IF de la red 906 es una interfaz entre el dispositivo de procesamiento de video 90 y los dispositivos periféricos que tienen funciones de comunicación conectadas a través de las redes tal como una red de área local (LAN, por sus siglas en inglés) y una red de área amplia (WAN, por sus siglas en inglés) compuesta de trayectorias de transmisión de datos tales como líneas cableadas y/o inalámbricas.
La parte de entrada 907 puede incluir un teclado que tiene una tecla de cursor, una almohadilla de teclas numéricas, y varias teclas funcionales, un ratón o una almohadilla de deslizamiento para seleccionar las teclas desplegadas en un monitor de la parte de despliegue 908. La parte de entrada 907 es una interfaz de usuario para que un usuario asigne instrucciones de operación o datos de entrada al controlador 901.
La parte de despliegue 908 incluyen una pantalla de cristal líquido (LCD) configurada para desplegar los datos de entrada correspondientes del controlador 901. Note que la parte de despliegue 908 puede ser proporcionada externamente, y el dispositivo de procesamiento de video 90 puede incluir un controlador de despliegue en tal caso.
Así, el codificador de video o decodificador de video ilustrado en las modalidades antes mencionadas puede ser implementado como programas (por ejemplo, programa de codificación de video o programa de decodificación de video) ejecutado por una computadora. Estos programas pueden ser instalados en la computadora a través de un servidor o similar para causar que la computadora ejecute los programas, que pueden implementar el codificador de video o decodificador de video antes mencionado.
Además, tal programa de codificación de video o programa de decodificación de video puede ser almacenado en el medio de grabación 905 para causar que una computadora o una terminal móvil recuperen estos programas almacenados en el medio de grabación 905 para implementar el procesamiento de codificación de video antes mencionado o el procesamiento de decodificación de video.
Note que el medio de grabación 905 puede ser varios tipos de un medio de grabación como un CD-ROM, un disco flexible y un disco magneto-óptico en el que la información es ópticamente, eléctricamente o magnéticamente grabada; o una memoria semiconductora tal como una ROM o una memoria rápida en la que la información es registrada eléctricamente. Note que el medio de grabación 905 no incluye ondas de portador.
Los programas ejecutados en el dispositivo de procesamiento de video 90 pueden tener configuraciones de módulo que incluyen las partes respectivas ilustradas en las modalidades antes mencionadas. En el hardware verdadero, el controlador 901 recupera los programas de la parte de almacenamiento auxiliar 903 y ejecutan los programas recuperados. Por consiguiente, una o más de las partes son cargados en la parte de almacenamiento principal 902 de manera que las partes cargadas puedan ser generadas en la parte de almacenamiento principal 902.
Además, el procesamiento de codificación de video o el procesamiento de decodificación de video ilustrado en las modalidades antes mencionadas puede ser implementado como uno o más circuitos integrados.
Según las tecnologías reveladas, el cálculo de los valores de predicción de QP puede ser realizado en paralelo, lo que puede mejorar la eficiencia del procesamiento paralelo de línea de bloques.
Las tecnologías reveladas son descritas según las modalidades y la modificación; sin embargo, las tecnologías reveladas no están limitadas a las modalidades reveladas. Varias modificaciones o alternativas pueden realizarse dentro del alcance de las invenciones descritas en las reivindicaciones. Además, pueden aplicarse combinaciones de todo o de parte de los componentes de las modalidades y modificaciones antes mencionadas.
Todos los ejemplos y lenguaje condicional recitado en la presente son pretendidos para propósitos pedagógicos para ayudar al lector a comprender la presente invención y los conceptos en los que contribuye el inventor para favorecer a la materia, y también serán considerados como sin limitación para dichos ejemplos y condiciones recitados de manera específica, ni la organización de dichos ejemplos en la especificación se refiere a una muestra de la superioridad e inferioridad de la presente invención. Aunque las modalidades de la presente invención se han descrito con detalle, se deberá comprender que los diversos cambios, sustituciones, y alteraciones pueden realizarse a la presente sin alejarse del espíritu y alcance de la presente invención.
Esta solicitud de patente se basa en, y reclama el beneficio de prioridad de la Solicitud de Patente Japonesa No. 2012-010465 presentada el 20 de enero de 2012, cuyo contenido completo es incorporado en la presente como referencia.

Claims (7)

NOVEDAD DE LA INVENCIÓN REIVINDICACIONES
1.- Un decodificador de video para decodificar una corriente codificada con un sistema de codificación de video, la corriente codificada es obtenida codificando una imagen de una pluralidad de bloques divididos, el decodificador de video comprende: una parte de decodificación paralela de entropía configurada para decodificar por entropía la corriente de los bloques contenidos en líneas de bloque, la corriente de los bloques en cada una de las líneas de bloque es decodificada en paralelo por entropía con la corriente de los bloques en una correspondiente de las líneas de bloque, cada una de las líneas de bloque indica un arreglo de los bloques; una parte de predicción paralela de QP configurada para calcular valores de predicción de parámetros de cuantificación de los bloques contenidos en las líneas de bloque, los valores de predicción de los bloques en cada una de las líneas de bloque son calculados en paralelo con los valores de predicción de los bloques en una correspondiente de las líneas de bloque; y una parte de procesamiento de decodificación paralela configurada para generar los pixeles decodificados con respecto a los bloques contenidos en las líneas de bloque, los pixeles decodificados con respecto a los bloques en cada una de las líneas de bloque que son generadas en paralelo a los pixeles decodificados con respecto a los bloques en una correspondiente de las líneas de bloque, cada uno de los pixeles decodificados es decodificado utilizando los datos decodificados por la parte de decodificación paralela de entropía y el valor de predicción calculado por la parte de predicción paralela de QP, en donde cuando la parte de predicción paralela de QP realiza el procesamiento de cálculo de valor de predicción en paralelo por unidad de N líneas de bloque en donde N es un valor de dos o más, la parte de predicción paralela de QP realiza el procesamiento de cálculo de valor de predicción en un bloque en procesamiento en una (K - 1)a línea de bloques, que precede un bloque en procesamiento en una línea de bloques Ka por al menos por un bloque en una posición horizontal, para calcular el valor de predicción del bloque en procesamiento en la línea de bloques (K - 1)a refiriéndose a un bloque que ya ha sido procesado en la línea de bloques Ka que corresponde al bloque en procesamiento en la línea de bloques (K - 1)a en el procesamiento en paralelo.
2.- El decodificador de video de conformidad con la reivindicación 1 , caracterizado además porque cuando la parte de predicción paralela de QP realiza el procesamiento de cálculo del valor de predicción en un primer bloque en una línea de bloques subsiguiente a una segunda línea de bloques de una línea de bloques superior de la imagen, la parte de predicción paralela de QP se refiere a un bloque un bloque encima del primero de los bloques en la línea de bloques.
3.- El decodificador de video de conformidad con la reivindicación 1 , caracterizado además porque cuando la parte de predicción paralela de QP realiza el procesamiento de cálculo del valor de predicción en un primer bloque en cada una de la segunda línea de bloques a una línea de bloques Na de una línea de bloques superior de la imagen, la parte de predicción paralela de QP se refiere a un bloque un bloque encima del primero de los bloques en la línea de bloques, y en donde cuando la parte de predicción paralela de QP realiza el procesamiento de cálculo del valor de predicción en un primer bloque en una línea de bloques subsiguiente a una línea de bloque (N + 1)a, la parte de predicción paralela de QP se refiere a un último de los bloques en una línea de bloques N bloques encima del primero de los bloques en la línea de bloques.
4.- El decodificador de video de conformidad con la reivindicación 1 , caracterizado además porque cuando la parte de predicción paralela de QP realiza el procesamiento de cálculo del valor de predicción en un primer bloque en cada una de una primera línea de bloques a una línea de bloques Na de una línea de bloques superior de la imagen, cada uno de los valores de predicción es determinado como un parámetro de cuantificación contenido en la información de encabezamiento de la imagen, y en donde cuando la parte de predicción paralela de QP realiza el procesamiento de cálculo del valor de predicción en un primer bloque en una línea de bloques subsiguiente a una línea de bloques (N + 1)a, el valor de predicción es determinado como un parámetro de cuantificación de por lo menos uno de los bloques en una línea de bloques N bloques encima del primero de los bloques en la línea de bloques.
5.- Un codificador de video para realizar el procesamiento de codificación de video en cada uno de una pluralidad de bloques divididos de una imagen, el codificador de video comprende: una parte de procesamiento de codificación paralela configurada para generar datos codificados incluyendo coeficientes de transformación ortogonal cuantificada de los bloques contenidos en líneas de bloques, los datos codificados de los bloques en cada una de las líneas de bloques que se generan en paralelo con los datos codificados de los bloques en una correspondiente de las líneas de bloques, cada una de las líneas de bloques indica un arreglo de los bloques; una parte de predicción paralela de QP configurada para calcular valores de predicción de parámetros de cuantificación de los bloques contenidos en las líneas de bloques, los valores de predicción de los bloques en cada una de las líneas de bloques son calculados en paralelo con los valores de predicción de los bloques en una correspondiente de las líneas de bloques; y una parte de procesamiento de codificación paralela de entropía configurada para codificar por entropía los bloques contenidos en las líneas de bloques utilizando los datos codificados y los valores de predicción, los bloques en cada una de las líneas de bloques son codificados por entropía en paralelo con los bloques en una correspondiente de las líneas de bloques, en donde cuando la parte de predicción paralela de QP realiza el procesamiento de cálculo de valor de predicción en paralelo por unidad de N lineas de bloque en donde N es un valor de dos o más, la parte de predicción paralela de QP realiza el procesamiento de cálculo de valor de predicción en un bloque en procesamiento en una línea de bloques (K - 1)a, que precede un bloque en procesamiento en una línea de bloques Ka por lo menos por un bloque en una posición horizontal, para calcular el valor de predicción del bloque en procesamiento en la línea de bloques (K - 1)a refiriéndose a un bloque que ya ha sido procesado en la línea de bloques Ka que corresponde al bloque en procesamiento en la línea de bloques (K - 1)a en el procesamiento en paralelo.
6.- Un método de decodificación de video ejecutado por un decodificador de video, el decodificador de video que decodifica una corriente codificada con un sistema de codificación de video, la corriente codificada es obtenida codificando una imagen de una pluralidad de bloques divididos, el método de decodificación de video comprende: decodificar por entropía la corriente de los bloques contenidos en líneas de bloques, la corriente de los bloques en cada una de las líneas de bloques es decodificada en paralelo por entropía con la corriente de los bloques en una correspondiente de las líneas de bloques, cada una de las líneas de bloques indica un arreglo de los bloques; calcular valores de predicción de parámetros de cuantificación de los bloques contenidos en las líneas de bloques, los valores de predicción de los bloques en cada una de las líneas de bloques es calculada en paralelo con los valores de predicción de los bloques en una correspondiente de las líneas de bloque; y generar pixeles decodificados con respecto a los bloques contenidos en las líneas de bloques, los pixeles decodificados con respecto a los bloques en cada una de las líneas de bloques que son generadas en paralelo a los pixeles decodificados con respecto a los bloques en una correspondiente de las líneas de bloques, cada uno de los pixeles decodificados es decodificado utilizando los datos decodificados en el procesamiento de decodificación paralela por entropía y el valor de predicción, en donde cuando el procesamiento de cálculo de valor de predicción es realizado en paralelo por unidad de N líneas de bloques donde N es un valor de dos o más, el procesamiento de cálculo del valor de predicción se realiza en un bloque en procesamiento en una (K - 1)a línea de bloques, que precede un bloque en procesamiento en una línea de bloques Ka por lo menos por un bloque en una posición horizontal, para calcular el valor de predicción del bloque en procesamiento en la línea de bloques (K - 1)a refiriéndose a un bloque que ya ha sido procesado en la línea de bloques Ka que corresponde al bloque en procesamiento en la línea de bloques (K - 1)a en el procesamiento en paralelo.
7.- Un método de codificación de video ejecutado por un codificador de video, el codificador de video realiza el procesamiento de codificación de video en cada uno de una pluralidad de bloques divididos de una imagen, el método de codificación de video comprende: generar datos codificados incluyendo coeficientes de transformación ortogonal cuantificada de los bloques contenidos en líneas de bloques, los datos codificados de los bloques en cada una de las líneas de bloques se generan en paralelo con los datos codificados de los bloques en una correspondiente de las líneas de bloques, cada una de las líneas de bloques indica un arreglo de los bloques; calcular valores de predicción de parámetros de cuantificación de los bloques contenidos en las líneas de bloques, los valores de predicción de los bloques en cada una de las líneas de bloques son generados en paralelo con los valores de predicción de los bloques en una correspondiente de las líneas de bloques; y la entropía que codifica los bloques contenidos en cada una de las líneas de bloques utilizando los datos codificados y los valores de predicción, los bloques en cada una de las líneas de bloques son codificados en paralelo por entropía con los bloques en una correspondiente de las líneas de bloque, en donde cuando el procesamiento de cálculo de valor de predicción es realizado en paralelo por unidad de N líneas de bloque donde N es un valor de dos o más, el procesamiento de cálculo del valor de predicción se realiza en un bloque en procesamiento en una (K - 1)a línea de bloques, que precede un bloque en procesamiento en una línea de bloques Ka por lo menos por un bloque en una posición horizontal, para calcular el valor de predicción del bloque en procesamiento en la línea de bloques (K - 1)a refiriéndose a un bloque que ya ha sido procesado en la línea de bloques Ka que corresponde al bloque en procesamiento en la línea de bloques (K - 1)a en el procesamiento en paralelo.
MX2014008778A 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video. MX338369B (es)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012010465A JP2013150215A (ja) 2012-01-20 2012-01-20 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム
PCT/JP2013/051225 WO2013108922A2 (en) 2012-01-20 2013-01-16 Video decoder, video encoder, video decoding method, and video encoding method

Publications (2)

Publication Number Publication Date
MX2014008778A true MX2014008778A (es) 2014-10-13
MX338369B MX338369B (es) 2016-04-12

Family

ID=47678961

Family Applications (5)

Application Number Title Priority Date Filing Date
MX2015017521A MX347419B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.
MX2015017522A MX347422B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.
MX2014008778A MX338369B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.
MX2015017519A MX347421B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.
MX2015017523A MX348224B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.

Family Applications Before (2)

Application Number Title Priority Date Filing Date
MX2015017521A MX347419B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.
MX2015017522A MX347422B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.

Family Applications After (2)

Application Number Title Priority Date Filing Date
MX2015017519A MX347421B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.
MX2015017523A MX348224B (es) 2012-01-20 2013-01-16 Decodificador de video, codificador de video, metodo de decodificacion de video, y metodo de codificacion de video.

Country Status (9)

Country Link
US (4) US9628825B2 (es)
EP (5) EP3661203A1 (es)
JP (1) JP2013150215A (es)
KR (4) KR101684208B1 (es)
CN (3) CN107318026B (es)
AU (5) AU2013210274B2 (es)
CA (4) CA2863170C (es)
MX (5) MX347419B (es)
WO (1) WO2013108922A2 (es)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
BR112014018115B1 (pt) * 2012-01-30 2021-10-26 Samsung Electronics Co., Ltd Método de decodificar um vídeo
US11109036B2 (en) 2013-10-14 2021-08-31 Microsoft Technology Licensing, Llc Encoder-side options for intra block copy prediction mode for video and image coding
RU2666635C2 (ru) 2013-10-14 2018-09-11 МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи Характеристики режима индексной карты основных цветов для кодирования и декодирования видео и изображения
MX2016004705A (es) 2013-10-14 2016-07-18 Microsoft Technology Licensing Llc Caracteristicas del modo de prediccion copia de bloque interno para codificacion y decodificacion de imagen y video.
US10110910B2 (en) * 2013-10-21 2018-10-23 Vid Scale, Inc. Parallel decoding method for layered video coding
US10390034B2 (en) 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
WO2015100726A1 (en) 2014-01-03 2015-07-09 Microsoft Corporation Block vector prediction in video and image coding/decoding
US11284103B2 (en) 2014-01-17 2022-03-22 Microsoft Technology Licensing, Llc Intra block copy prediction with asymmetric partitions and encoder-side search patterns, search ranges and approaches to partitioning
US10542274B2 (en) 2014-02-21 2020-01-21 Microsoft Technology Licensing, Llc Dictionary encoding and decoding of screen content
JP2017512026A (ja) 2014-03-04 2017-04-27 マイクロソフト テクノロジー ライセンシング,エルエルシー イントラブロックコピー予測におけるブロック反転及びスキップモード
JP2015185897A (ja) 2014-03-20 2015-10-22 パナソニックIpマネジメント株式会社 画像符号化方法及び画像符号化装置
CN105493505B (zh) 2014-06-19 2019-08-06 微软技术许可有限责任公司 统一的帧内块复制和帧间预测模式
JP6272194B2 (ja) * 2014-09-24 2018-01-31 株式会社日立情報通信エンジニアリング 動画像符号化装置、動画像復号装置、および動画像符号化・復号化方法
EP3202150B1 (en) 2014-09-30 2021-07-21 Microsoft Technology Licensing, LLC Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN104320667B (zh) * 2014-11-03 2017-11-03 浙江泰立媒科技有限公司 多过程最优化编转码系统及方法
US9591325B2 (en) 2015-01-27 2017-03-07 Microsoft Technology Licensing, Llc Special case handling for merged chroma blocks in intra block copy prediction mode
CN106664405B (zh) 2015-06-09 2020-06-09 微软技术许可有限责任公司 用调色板模式对经逸出编码的像素的稳健编码/解码
CN105592314B (zh) * 2015-12-17 2018-07-10 清华大学 并行解码方法和并行解码装置
CN105992008B (zh) * 2016-03-30 2019-08-30 南京邮电大学 一种在多核处理器平台上的多层次多任务并行解码方法
JP6769302B2 (ja) * 2016-12-28 2020-10-14 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化用コンピュータプログラム、動画像復号装置及び動画像復号方法ならびに動画像復号用コンピュータプログラム
CN109756733B (zh) * 2017-11-06 2022-04-12 华为技术有限公司 视频数据解码方法及装置
US10986349B2 (en) 2017-12-29 2021-04-20 Microsoft Technology Licensing, Llc Constraints on locations of reference blocks for intra block copy prediction
CN108111862B (zh) * 2018-01-12 2020-04-28 北京数码视讯软件技术发展有限公司 视频编码方法及装置
CN114424549A (zh) * 2019-10-31 2022-04-29 株式会社索思未来 运动图像编码方法、编码处理方法、运动图像编码装置及编码处理装置
CN113382238A (zh) * 2020-02-25 2021-09-10 北京君正集成电路股份有限公司 一种加快残差系数部分比特数计算速度的方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL110020A (en) 1994-06-15 1999-07-14 S D L Technologies Sol Ltd Apparatus and method for purifying waste water
US6386108B1 (en) 1998-09-24 2002-05-14 Schlumberger Technology Corp Initiation of explosive devices
JP4453518B2 (ja) * 2004-10-29 2010-04-21 ソニー株式会社 符号化及び復号装置並びに符号化及び復号方法
CN101189875B (zh) * 2005-04-13 2010-11-17 汤姆逊许可公司 利用公共预测器的亮度和色度编码
JP4784188B2 (ja) 2005-07-25 2011-10-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US8625914B2 (en) 2013-02-04 2014-01-07 Sony Corporation Image processing system, image processing method and program
JP4095664B2 (ja) * 2006-04-17 2008-06-04 俊宏 南 動画像符号化装置
JP5198844B2 (ja) * 2007-12-21 2013-05-15 アズビル株式会社 曇り検出装置および鏡面冷却式露点計
CN101779466B (zh) * 2008-06-10 2015-02-11 松下电器产业株式会社 图像解码装置及图像编码装置
CN101779468B (zh) * 2008-06-27 2012-07-04 索尼公司 图像处理装置和图像处理方法
JP5241622B2 (ja) * 2008-07-02 2013-07-17 キヤノン株式会社 符号化装置および符号化方法
CN101939994B (zh) * 2008-12-08 2013-07-17 松下电器产业株式会社 图像解码装置及图像解码方法
EP2249571A1 (en) * 2009-05-04 2010-11-10 Thomson Licensing SA Method and device for encoding an image frame comprising macroblocks
US8588297B2 (en) * 2009-12-23 2013-11-19 Oracle America, Inc. Quantization parameter prediction
EP2583457A4 (en) * 2010-06-21 2015-07-29 Thomson Licensing METHOD AND APPARATUS FOR ENCODING / DECODING IMAGE DATA
JP2012010465A (ja) 2010-06-23 2012-01-12 Jtekt Corp モータ制御装置及び車両用操舵装置
CN102148989B (zh) * 2011-04-22 2012-07-25 西安交通大学 一种h.264中全零块检测的方法
JP6080375B2 (ja) * 2011-11-07 2017-02-15 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム

Also Published As

Publication number Publication date
CA2863170C (en) 2017-01-03
CN107318026B (zh) 2019-12-24
MX347421B (es) 2017-04-26
AU2015213343A1 (en) 2015-09-03
US20170208329A1 (en) 2017-07-20
KR20140110958A (ko) 2014-09-17
EP3641314A1 (en) 2020-04-22
US9743088B2 (en) 2017-08-22
EP3641313A1 (en) 2020-04-22
CN104067619A (zh) 2014-09-24
CA2863170A1 (en) 2013-07-25
CA2935331C (en) 2018-08-28
US20180124405A1 (en) 2018-05-03
US20170048524A1 (en) 2017-02-16
CN107241605A (zh) 2017-10-10
CN104067619B (zh) 2017-08-18
EP2805499A2 (en) 2014-11-26
EP3644607A1 (en) 2020-04-29
WO2013108922A3 (en) 2014-07-10
US9973756B2 (en) 2018-05-15
EP3661203A1 (en) 2020-06-03
EP2805499B1 (en) 2020-09-02
CN107241605B (zh) 2020-03-06
AU2015213341A1 (en) 2015-09-03
AU2015213341B2 (en) 2016-06-30
US9628825B2 (en) 2017-04-18
KR101684038B1 (ko) 2016-12-07
JP2013150215A (ja) 2013-08-01
CA2935336A1 (en) 2013-07-25
AU2015213340A1 (en) 2015-09-03
CA2935336C (en) 2018-07-17
MX347422B (es) 2017-04-26
KR101684207B1 (ko) 2016-12-07
KR20150138421A (ko) 2015-12-09
BR112014017608A8 (pt) 2017-07-11
AU2013210274A1 (en) 2014-08-07
MX348224B (es) 2017-05-31
KR20150138422A (ko) 2015-12-09
WO2013108922A2 (en) 2013-07-25
CN107318026A (zh) 2017-11-03
KR20150139621A (ko) 2015-12-11
MX338369B (es) 2016-04-12
BR112014017608A2 (es) 2017-06-20
AU2015213342B2 (en) 2016-07-28
CA2935331A1 (en) 2013-07-25
CA2935332C (en) 2018-07-03
AU2013210274B2 (en) 2015-09-03
AU2015213342A1 (en) 2015-09-03
CA2935332A1 (en) 2013-07-25
AU2015213343B2 (en) 2016-07-14
US10051273B2 (en) 2018-08-14
MX347419B (es) 2017-04-26
US20150049804A1 (en) 2015-02-19
AU2015213340B2 (en) 2016-06-16
KR101684208B1 (ko) 2016-12-07
KR101684209B1 (ko) 2016-12-07

Similar Documents

Publication Publication Date Title
US10051273B2 (en) Video decoder and video decoding method
JP6317720B2 (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム
JP6065090B2 (ja) 動画像復号装置、動画像復号方法、動画像復号プログラム
JP6311821B2 (ja) 動画像処理装置及び動画像処理方法
JP2016054514A (ja) 動画像符号化装置、動画像符号化方法、動画像符号化プログラム

Legal Events

Date Code Title Description
FG Grant or registration