ES3040586T3 - Block size determination method, video encoding device, and program - Google Patents
Block size determination method, video encoding device, and programInfo
- Publication number
- ES3040586T3 ES3040586T3 ES23196969T ES23196969T ES3040586T3 ES 3040586 T3 ES3040586 T3 ES 3040586T3 ES 23196969 T ES23196969 T ES 23196969T ES 23196969 T ES23196969 T ES 23196969T ES 3040586 T3 ES3040586 T3 ES 3040586T3
- Authority
- ES
- Spain
- Prior art keywords
- block
- block size
- target block
- target
- encoding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/187—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/198—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods 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/96—Tree coding, e.g. quad-tree coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
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
La complejidad computacional al determinar la configuración de bloques en una región objetivo de codificación se reduce, a la vez que se minimiza la degradación de la eficiencia de codificación. Un aparato de codificación de vídeo incluye una unidad de selección de bloques que selecciona cada uno de los bloques obtenidos al dividir recursivamente un bloque objetivo de codificación en bloques objetivo en una secuencia predeterminada; una unidad de adquisición de tamaño de bloque que adquiere el tamaño de bloque más pequeño en un bloque adyacente al bloque objetivo seleccionado; una unidad de cálculo del valor de evaluación que calcula un valor de evaluación del bloque objetivo si su tamaño coincide con alguno de los tamaños de bloque adquirido, un nivel superior o un nivel inferior al tamaño de bloque adquirido; y una unidad de determinación de la configuración de bloques que determina una combinación de los bloques que constituyen la región dentro del bloque objetivo de codificación, basándose en el valor de evaluación. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Método de determinación del tamaño de bloque, dispositivo y programa de codificación de vídeo
Campo técnico
La presente invención se refiere a un método de determinación del tamaño de bloque, un aparato de codificación de vídeo y un programa.
Técnica antecedente
Como tecnología para codificar datos de imágenes en movimiento, se conocen esquemas de codificación denominados MPEG-4 y H.264/AVC (en adelante denominado H.264). En los últimos años, se encuentra en progreso el trabajo de estandarización de un esquema de codificación llamado codificación de vídeo de alta eficiencia (HEVC) como el estándar de próxima generación. El HEVC requiere una complejidad computacional mayor que el H.264 convencional, pero se conoce que el HEVC logra una mayor eficiencia de codificación. En este esquema de codificación, la configuración de bloques dentro de una trama tiene una estructura jerárquica que tiene un mayor grado de libertad que el H.264 convencional o similar y aumenta el número de candidatos para los tamaños de bloques. En lo sucesivo, se describirá un procedimiento de un proceso de determinación de la configuración de bloques en el software de referencia de HEVC.
En el software de referencia HEVC, una región de imagen de un objetivo de codificación se divide en unidades de bloques cuadrados denominadas unidades de codificación más grandes (LCU) de un tamaño de 64 píxeles x 64 píxeles (en adelante, 64*64) que tienen una configuración de bloques jerárquicos y se realiza la codificación para cada LCU. En la codificación, es posible establecer una región más pequeña como objetivo de codificación mediante la iteración de un proceso de dividir recursivamente la LCU en cuatro partes iguales, hasta un máximo de tres veces. Cuando la LCU es de 64*64, es posible dividir una región de 64*64 en regiones de 32*32, 16*16 y 8*8 de una estructura de árbol cuaternario obtenida al dividir recursivamente la región en cuatro partes. Es decir, la LCU de este caso incluye regiones de cuatro capas. Cada uno de los bloques en los que se divide la LCU se denomina unidad de codificación (CU), y la lCu puede configurarse mediante la combinación de CU de diferentes tamaños de bloques o CU del mismo tamaño de bloque.
La Figura 15 es un diagrama que ilustra un ejemplo en el que la LCU está constituida por una combinación de una pluralidad de CU. En el ejemplo ilustrado en la Figura 15, la LCU está constituida por una combinación de dos CU de 32*32, siete CU de 16*16 y cuatro CU de 8*8. Cuando los datos de imágenes en movimiento se codifican, es posible realizar la intrapredicción o la interpredicción y determinar un modo de predicción para cada unidad de predicción (PU) obtenida al dividir además cada una de las CU que constituyen la LCU. En la determinación del modo de predicción de la división de bloques, generalmente se usa un valor de evaluación llamado costo RD expresado por la siguiente Fórmula (1).
(Valor de evaluación) = D+AR ...(1)
En la Fórmula (1), D es un error entre una señal restaurada y una señal original en un modo de predicción, R es una cantidad de información, y A es un parámetro lagrangiano. Un modo de predicción y una combinación de CU con las que se minimiza el valor de evaluación calculado en la Fórmula (1) se determina como una configuración de bloque final de la LCU en la codificación. Cuando el modo de predicción se determina sin un proceso de determinación de la configuración de bloques de la LCU optimizada, el modo de predicción se determina para cada una de las combinaciones de CU dentro de la LCU. En este caso, debido a que el cálculo aumenta en el proceso de determinar la configuración de bloques de la LCU, la carga de este proceso aumenta significativamente en todo el proceso de codificación y se impone una carga pesada. En consecuencia, reducir la carga necesaria para el proceso de determinación de la configuración de bloques de la LCU mientras se suprime la degradación de la eficiencia de codificación es importante desde el punto de vista de que la complejidad computacional de todo el proceso de codificación se reduce y se desea tal técnica.
Para este fin, se ha propuesto un método para reducir la carga limitando los candidatos para los tamaños de bloques que sirven como objetivos de selección cuando se determina la configuración del bloque de una LCU (por ejemplo, el Documento no patentado 1). Por ejemplo, existe un método para designar tamaños de bloques desde el tamaño de bloque un nivel inferior al tamaño de bloque más pequeño de un bloque adyacente (PU) hasta el tamaño de bloque un nivel mayor que el tamaño de bloque más grande del bloque adyacente como candidatos cuando se determina la configuración de bloque de la LCU.
Las Figuras 16A y 16B son diagramas que ilustran ejemplos en los que la configuración de bloque en un bloque objetivo de codificación se determina en base a la configuración de bloque en un bloque adyacente. La Figura 16A ilustra el caso en el que la configuración de bloques del bloque adyacente incluye tres bloques de 32*32, tres bloques de 16*16 y cuatro bloques de 8*8. En este caso, los candidatos para los tamaños de bloques cuando se determina la configuración de bloques del bloque objetivo de codificación se convierten en 64x64 a 8x8 como se ilustra en la Figura 16A. La Figura 16B ilustra el caso en el que la configuración de bloques del bloque adyacente incluye cuatro bloques de 32x32. En este caso, los candidatos para los tamaños de bloques cuando se determina la configuración de bloques del bloque de destino de codificación se convierten en 64x64 a 16x16 como se ilustra en la Figura 16B.
Documento de la técnica
Documento no patentado
Documento no patentado 1: "Adaptive CU Depth Range", Equipo conjunto de colaboración sobre codificación de vídeo (JCT-VC) de ITU-T SG16 WP3 e ISO/IEC JTC1/SC29/WG11, documento JCTVC-E090, 5ta reunión. Ginebra, Suiza, 16-23 de marzo de 2011
Documento de patente
La solicitud de patente australiana núm. AU 2011 280 629 A1 describe un dispositivo de codificación de predicción de imágenes, un método de codificación de predicción de imágenes, un programa de codificación de predicción de imágenes, un dispositivo de decodificación de predicción de imágenes, un método de decodificación de predicción de imágenes y un programa de decodificación de predicción de imágenes en donde un área de codificación dentro de una imagen se divide en una pluralidad de regiones de predicción. Los candidatos para la información de movimiento que se usará en la generación de señales de predicción para una región de predicción objetivo que es la siguiente región de predicción se seleccionan de la información de movimiento codificada para la región adyacente a la región de predicción objetivo, en base a la información de predicción para una región adyacente que es adyacente a la región objetivo, el número de regiones de predicción codificadas dentro de la región objetivo, y la información de predicción codificada para la región objetivo.
Resumen de la invención
Problemas a resolver por la invención
Sin embargo, en el método descrito anteriormente, los valores de evaluación para todas las capas (tamaños de bloque) se calculan en consecuencia cuando un vídeo objetivo de codificación es un vídeo que es complejo y tiene un movimiento intenso en todo el cuadro o un vídeo mostrado en regiones de textura fina en todo el cuadro y varios tamaños de bloque para un bloque adyacente están presentes en el vídeo objetivo de codificación. Es decir, incluso si los candidatos para los tamaños de bloques están limitados cuando la configuración del bloque se determina mediante el uso del método descrito anteriormente, hay un problema en que es imposible reducir la complejidad computacional y la carga porque sustancialmente se realiza el mismo cálculo que la búsqueda completa.
En vista de las circunstancias descritas anteriormente, un objeto de la presente invención es proporcionar un método de determinación del tamaño de bloque, un aparato de codificación de vídeo y un programa capaz de reducir la complejidad computacional cuando se determina una configuración de bloque en una región objetivo de codificación mientras se suprime la degradación de la eficiencia de codificación.
Medios para resolver los problemas
Un aspecto de la presente invención es un aparato de codificación de vídeo que determina los tamaños de los bloques que constituyen una región dentro de un bloque objetivo de codificación para codificar bloques objetivo en los que se divide una región de imagen en la codificación de vídeo, el aparato de codificación de vídeo incluye: una unidad de selección de bloques que selecciona cada uno de los bloques obtenidos al dividir recursivamente el bloque objetivo de codificación como un bloque objetivo en una secuencia predeterminada; una unidad de adquisición de tamaño de bloque que adquiere el tamaño de bloque más pequeño en un bloque adyacente para el bloque objetivo seleccionado; una unidad de cálculo de valor de evaluación que calcula un valor de evaluación del bloque objetivo si un tamaño de bloque del bloque objetivo coincide con cualquiera de los tamaños de bloque adquiridos, el tamaño de bloque un nivel superior al tamaño de bloque adquirido, y el tamaño de bloque un nivel inferior al tamaño de bloque adquirido; y una unidad de determinación de configuración de bloques que determina una combinación de los bloques que constituyen la región dentro del bloque objetivo de codificación en base al valor de evaluación.
Además, preferentemente, en el aparato de codificación de vídeo, la secuencia es una secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación, y el aparato de codificación de vídeo incluye además: una unidad de cálculo de suma que calcula los valores de evaluación de los bloques en los que se divide el bloque objetivo y calcula una suma de los valores de evaluación calculados; y una unidad de objetivo de cálculo excluyente que excluye los bloques obtenidos mediante la división del bloque objetivo de los objetivos de cálculo de los valores de evaluación si el valor de evaluación del bloque objetivo es menor que la suma.
Además, preferentemente, en el aparato de codificación de vídeo, la secuencia es una secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación, y el aparato de codificación de vídeo incluye además: una unidad de determinación de combinaciones que determina una combinación de bloques que constituyen una región dentro del bloque objetivo en base al valor de evaluación; y una unidad de exclusión de la unidad objetivo de cálculo que excluye un bloque que incluye el bloque objetivo y está presente en una capa superior a la del bloque objetivo de una unidad objetivo de cálculo del valor de evaluación si la combinación determinada de los bloques dentro del bloque objetivo es una combinación de una pluralidad de bloques en los que se divide el bloque objetivo.
Además, preferentemente, en el aparato de codificación de vídeo, la secuencia es una primera secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación o una segunda secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación, y la unidad de selección de bloques determina cuál de la primera secuencia y la segunda secuencia se usará para seleccionar el bloque objetivo en base al tamaño de bloque más pequeño en un bloque adyacente al bloque objetivo de codificación.
Además, preferentemente, en el aparato de codificación de vídeo, la secuencia es una primera secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación o una segunda secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación, y la unidad de selección de bloques determina cuál de la primera secuencia y la segunda secuencia se usará para seleccionar el bloque objetivo en base a un tipo de imagen del bloque objetivo de codificación.
Además, un aspecto de la presente invención es un método de determinación del tamaño de bloque para determinar los tamaños de los bloques que constituyen una región dentro de un bloque objetivo de codificación para codificar bloques objetivo en los que se divide una región de imagen en la codificación de vídeo, el método de determinación del tamaño de bloque incluye: una etapa de selección de cada uno de los bloques obtenidos al dividir recursivamente el bloque objetivo de codificación como un bloque objetivo en una secuencia predeterminada; una etapa de adquisición del tamaño de bloque más pequeño en un bloque adyacente para el bloque objetivo seleccionado; una etapa de cálculo de un valor de evaluación del bloque objetivo si un tamaño de bloque del bloque objetivo coincide con uno cualquiera del tamaño de bloque adquirido, el tamaño de bloque un nivel superior al tamaño de bloque adquirido, y el tamaño de bloque un nivel inferior al tamaño de bloque adquirido; y una etapa de determinación de una combinación de los bloques que constituyen la región dentro del bloque objetivo de codificación en base al valor de evaluación.
Además, un aspecto de la presente invención es un programa para hacer que un ordenador ejecute el método de determinación del tamaño de bloque.
Efectos ventajosos de la invención
De acuerdo con la presente invención, es posible reducir el número de bloques para los cuales se van a calcular los valores de evaluación al seleccionar los bloques para los cuales se calculan los valores de evaluación en base al tamaño de bloque más pequeño en un bloque adyacente a un bloque objetivo. En este momento, debido a que los bloques para los cuales se van a calcular los valores de evaluación se seleccionan de acuerdo con el tamaño de bloque adyacente, es posible reducir la complejidad computacional cuando se determina una configuración de bloque en una región de destino de codificación mientras se suprime la degradación de la eficiencia de codificación.
Breve descripción de las figuras
La Figura 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de vídeo 100 en una primera modalidad.
La Figura 2 es un diagrama que ilustra la prioridad (secuencia) de procesamiento para cada bloque dentro de una LCU en la primera modalidad.
La Figura 3 es un diagrama de flujo de un proceso de determinación del tamaño de bloque a realizar por una unidad de determinación del tamaño de bloque 110 en la primera modalidad.
La Figura 4 es un diagrama de flujo que ilustra un proceso de determinación del tamaño de bloque en un ejemplo comparativo.
La Figura 5 es un diagrama que ilustra la prioridad (secuencia) de procesamiento para cada bloque dentro de una LCU en una segunda modalidad.
La Figura 6 es un diagrama de flujo de un proceso de determinación del tamaño de bloque a realizar por una unidad de determinación del tamaño de bloque 110 en la segunda modalidad.
La Figura 7 es un diagrama de flujo de un proceso de determinación del tamaño de bloque a realizar por una unidad de determinación del tamaño de bloque 110 en una tercera modalidad.
La Figura 8 es un primer diagrama de flujo de un proceso de determinación del tamaño de bloque a realizar por una unidad de determinación del tamaño de bloque 110 en una cuarta modalidad.
La Figura 9 es un segundo diagrama de flujo del proceso de determinación del tamaño de bloque a realizar por la unidad de determinación del tamaño de bloque 110 en la cuarta modalidad.
La Figura 10 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de vídeo 200 en una quinta modalidad.
La Figura 11 es un diagrama de flujo que ilustra un proceso de selección a realizar por una unidad de conmutación del proceso de determinación del tamaño de bloque 211 en la quinta modalidad.
La Figura 12 es un diagrama de flujo que ilustra un proceso de selección a realizar por una unidad de conmutación del proceso de determinación del tamaño de bloque 211 en una sexta modalidad.
La Figura 13 es un diagrama que describe un efecto del proceso de determinación del tamaño de bloque en cada modalidad.
La Figura 14 es un diagrama que describe los efectos de los procesos de determinación del tamaño de bloque en la tercera y cuarta modalidades.
La Figura 15 es un diagrama que ilustra un ejemplo en el que una LCU se configura mediante la combinación de una pluralidad de CU.
La Figura 16A es un diagrama que ilustra un ejemplo en el que una configuración de bloque en un bloque objetivo de codificación se determina en base a una configuración de bloque en un bloque adyacente. La Figura 16B es un diagrama que ilustra un ejemplo en el que una configuración de bloque en un bloque objetivo de codificación se determina en base a una configuración de bloque en un bloque adyacente.
Modos para llevar a cabo la invención
En lo sucesivo, se describirán un método de determinación del tamaño de bloque, un aparato de codificación de vídeo y un programa en modalidades de la presente invención con referencia a las figuras. Cabe señalar que, aunque se describirá un ejemplo de HEVC, la presente invención puede aplicarse a la codificación de vídeo distinta de la HEVC. Es decir, es posible aplicar la presente invención a todos los esquemas de codificación de división de una región de vídeo o imagen de un objetivo de codificación en base a una configuración de bloque jerárquico como en la HEVC.
Aquí se describirá una descripción general de un proceso en cada modalidad. El siguiente procesamiento se realiza secuencialmente en una CU que es cada bloque objetivo incluido en una LCU que es un bloque objetivo de codificación. Se adquiere el tamaño de bloque más pequeño en un bloque (en adelante denominado bloque adyacente) adyacente a un bloque objetivo. Los tamaños de bloque para los cuales se calculan los valores de evaluación en el bloque objetivo se limitan a un máximo de tres tamaños de bloque que incluyen: un tamaño de bloque que es el mismo que el tamaño de bloque más pequeño adquirido en el bloque adyacente; un tamaño de bloque un nivel más alto que el tamaño de bloque más pequeño; y un tamaño de bloque un nivel más bajo que el tamaño de bloque más pequeño. Cabe señalar que se supone aquí que la presente invención se aplica al HEVC y, por lo tanto, se seleccionan un máximo de tres tamaños de bloque entre 64*64, 32*32, 16*16 y 8*8 como los tamaños de bloque. Los tamaños de bloque seleccionados en base al tamaño de bloque más pequeño en el bloque adyacente sirven como candidatos iniciales.
El cálculo y la comparación de los valores de evaluación para una o dos capas entre los candidatos iniciales se realizan, y los candidatos para los tamaños de bloques para los cuales se calculan los valores de evaluación se limitan además de acuerdo con el resultado de la comparación. Además, un método para limitar los candidatos para los tamaños de bloque se conmutan y aplican de acuerdo con un atributo o similar del bloque adyacente y/o el bloque objetivo. Cabe señalar que el bloque adyacente se refiere a cualquiera o a todos de un bloque adyacente a un lado superior del bloque de destino de codificación (en adelante, también denominado bloque de destino), un bloque adyacente a un lado izquierdo del mismo, y una pluralidad de bloques periféricos adyacentes. Cabe señalar que los bloques que sirven como bloques adyacentes pueden conmutarse apropiadamente.
<Primera modalidad>
La Figura 1 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de vídeo 100 en la primera modalidad. El aparato de codificación de vídeo 100 introduce una señal de vídeo que indica imágenes (vídeo de destino de codificación), divide una región de imagen de cada trama de la señal de vídeo de entrada en una pluralidad de bloques, realiza la codificación para cada bloque y emite un flujo de bits de un resultado de codificación como datos codificados. Cabe señalar que el video incluye una imagen fija y una imagen en movimiento.
El aparato de codificación de vídeo 100 incluye una unidad de predicción intra 101, una unidad de predicción inter 102, un conmutador de intra/interselección 103, una unidad generadora de señales residuales de predicción 104, una unidad de transformación/cuantificación ortogonal 105, una unidad de cuantificación inversa/transformación ortogonal inversa 106, una unidad generadora de señales restauradas 107, una unidad de filtro de bucle 108, una memoria de imágenes decodificadas 109, una unidad de determinación del tamaño de bloque 110 y una unidad de codificación de longitud variable 111.
La unidad de intrapredicción 101 recibe una señal restaurada de la unidad generadora de señal restaurada 107 y genera una señal predicha a partir de la señal restaurada recibida. La señal restaurada es una señal que representa una imagen obtenida mediante la codificación de una imagen para el bloque objetivo de codificación y después realizar la decodificación de la imagen codificada.
La unidad de interpredicción 102 lee una imagen almacenada en la memoria de imágenes decodificadas 109 y genera una señal predicha a partir de la imagen leída.
El conmutador de intra/interselección 103 selecciona cualquiera de la señal predicha generada por la unidad de predicción interna 101 y la señal predicha generada por la unidad de predicción intermedia 102 en base al control de la unidad de determinación del tamaño de bloque 110. El conmutador de intra/interselección 103 envía la señal predicha seleccionada a la unidad generadora de señales residuales de predicción 104.
La unidad generadora de señales residuales de predicción 104 resta la salida de señal predicha del conmutador de intra/interselección 103 de la entrada de señal de vídeo al aparato de codificación de vídeo 100 para calcular una señal residual de predicción, que es una diferencia para una imagen predicha. La unidad generadora de señales residuales de predicción 104 calcula señales residuales de predicción en unidades de PU para un bloque de destino de codificación LCU de la imagen de entrada. La unidad generadora de señales residuales de predicción 104 emite una señal residual de predicción calculada a la unidad de cuantificación/transformación ortogonal 105.
La unidad de cuantificación/transformación ortogonal 105 emite una señal obtenida mediante la modalidad de una transformación ortogonal y cuantificación en la señal residual de predicción que se genera a partir de la unidad generadora de señales residuales de predicción 104, es decir, la diferencia en cada PU, a la unidad de cuantificación inversa/transformación ortogonal inversa 106 y la unidad de codificación de longitud variable 111.
La unidad de transformada ortogonal/inversa de cuantificación 106 realiza una cuantificación inversa y una transformada ortogonal inversa en la señal de salida de la unidad de transformada ortogonal/cuantificación 105 para transformar de esta manera la señal en una señal residual de predicción que incluye un error. La unidad de transformada ortogonal inversa/cuantificación inversa 106 emite la señal residual de predicción obtenida mediante la transformada inversa a la unidad generadora de señal restaurada 107.
La unidad generadora de señal restaurada 107 calcula una señal restaurada correspondiente al bloque objetivo de codificación mediante la adición de la señal residual de predicción emitida por la unidad de cuantificación inversa/transformada ortogonal inversa 106 a la señal predicha seleccionada por el conmutador de intra/interselección 103. La unidad generadora de señal restaurada 107 envía la señal restaurada calculada a la unidad de predicción intra 101 y a la unidad de filtro de bucle 108.
Cuando la señal restaurada emitida por la unidad generadora de señales restauradas 107 para una trama, es decir, una imagen restaurada del bloque objetivo de codificación, se introduce, la unidad de filtro de bucle 108 realiza el filtrado de bucle en esta imagen. La unidad de filtro de bucle 108 emite una imagen obtenida mediante la modalidad del filtrado de bucle a la memoria de imagen decodificada 109 para hacer que la imagen obtenida se almacene. En la memoria de imágenes decodificadas 109, se almacena la salida de imagen de la unidad de filtro de bucle 108.
La unidad de determinación del tamaño de bloque 110 determina la configuración de bloque del bloque objetivo de codificación en base a la señal predicha generada por la unidad de predicción intra 101, la señal predicha generada por la unidad de predicción intermedia 102, la señal residual de predicción emitida por la unidad generadora de señal residual de predicción 104, la señal emitida por la unidad de cuantificación/transformación ortogonal 105, y la entrada de datos codificados de la unidad de codificación de longitud variable 111. Además, la unidad de determinación del tamaño de bloque 110 controla el conmutador de intra/interselección 103 para cada bloque en base a la configuración de bloque determinada y hace que la señal predicha generada por la unidad de predicción intra 101 o la señal predicha generada por la unidad de predicción inter 102 se emita a la unidad generadora de señales residuales de predicción 104. La unidad de determinación del tamaño de bloque 110 determina qué señal predicha se seleccionará de acuerdo con el modo de predicción del bloque objetivo de codificación.
La unidad de determinación del tamaño de bloque 110 controla el conmutador de intra/interselección 103, de modo que la configuración de bloque determinada se refleja en la predicción de un bloque y una imagen subsecuentes a través de la unidad de transformada/cuantificación ortogonal 105, la unidad de cuantificación inversa/transformada ortogonal inversa 106, la unidad generadora de señal restaurada 107, y similares.
La unidad de codificación de longitud variable 111 convierte la señal de salida de la unidad de transformada/cuantificación ortogonal 105 en datos codificados para emitir externamente los datos codificados.
En lo sucesivo, se describirá un proceso de determinación del tamaño de bloque a realizar por la unidad de determinación del tamaño de bloque 110 en la presente modalidad. La Figura 2 es un diagrama que ilustra la prioridad (secuencia) de procesamiento para cada bloque dentro de una LCU en la presente modalidad. En la Figura 2, un número asignado a cada bloque indica la prioridad en la que cada bloque se convierte en un objetivo de procesamiento. Cabe señalar que en la Figura 2 se omite la ilustración de las prioridades 18 a 84. En la presente modalidad, el procesamiento del bloque más grande (bloque de 64*64) dentro de la LCU se realiza primero y el procesamiento de cada bloque se realiza secuencialmente a lo largo de una estructura de árbol cuaternario obtenida al dividir recursivamente la LCU en cuatro partes iguales. Realizar el proceso secuencialmente a lo largo de la estructura de árbol cuaternario significa realizar el proceso en el orden en el que se busca cada nodo de un árbol cuaternario cuando cada nodo del árbol cuaternario se asocia con un bloque. La secuencia de procesamiento ilustrada en la Figura 2 corresponde a "recorrido en orden previo" en el algoritmo de búsqueda. Además, debido a que el proceso se realiza a lo largo de la estructura de árbol cuaternario en el proceso de determinación del tamaño de bloque, la secuencia de procesamiento de bloques en la misma capa está en orden de escaneo Z. Cabe señalar que el orden de barrido Z para bloques divididos se refiere al orden de barrido de trama. Cuando el bloque se divide en cuatro partes, el proceso se realiza en una secuencia en forma de "Z".
La Figura 3 es un diagrama de flujo de un proceso de determinación del tamaño de bloque a realizar por la unidad de determinación del tamaño de bloque 110 en la presente modalidad. En la presente modalidad, después de que el bloque de 64*64, que es el tamaño de bloque más grande en la LCU, se establezca como un bloque objetivo inicial, comienza el proceso de determinación del tamaño de bloque. Cuando se inicia el proceso de determinación del tamaño de bloque, la unidad de determinación del tamaño de bloque 110 determina si el proceso ha terminado para el bloque objetivo (etapa S101).
Si el proceso para el bloque objetivo no ha terminado (etapa S101: NO), la unidad de determinación del tamaño de bloque 110 determina si hay un bloque adyacente para el bloque objetivo (etapa S102).
Si no hay un bloque adyacente (etapa S102: NO), la unidad de determinación del tamaño de bloque 110 mueve el proceso a la etapa S106.
Si hay un bloque adyacente (etapa S102: SÍ), la unidad de determinación del tamaño de bloque 110 detecta un bloque que tiene el tamaño de bloque más pequeño entre los bloques adyacentes al bloque objetivo y adquiere el tamaño de bloque del bloque detectado (etapa S103).
La unidad de determinación del tamaño de bloque 110 determina si una relación entre el tamaño de bloque del bloque objetivo y el tamaño de bloque adquirido en la etapa S103 satisface la siguiente condición 1 (etapa S104).
[Condición 1]: El tamaño de bloque del bloque objetivo coincide con cualquiera de los candidatos iniciales, incluido el tamaño de bloque adquirido en la etapa S103, el tamaño de bloque un nivel superior al tamaño de bloque adquirido y el tamaño de bloque un nivel inferior al tamaño de bloque adquirido.
La unidad de determinación del tamaño de bloque 110 determina si el resultado de la determinación ha satisfecho la condición 1 (etapa S105), mueve el proceso a la etapa S107 si la condición 1 no se ha satisfecho (etapa S105: NO), y calcula un valor de evaluación del bloque objetivo (etapa S106) si la condición 1 se ha satisfecho (etapa s 105: SÍ).
En la secuencia de procesamiento ilustrada en la Figura 2, la unidad de determinación del tamaño de bloque 110 establece el siguiente bloque después del bloque objetivo actual como el bloque objetivo y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa S107).
Si el procesamiento del bloque objetivo ha terminado en la etapa S101 (etapa S101: SÍ), la unidad de determinación del tamaño de bloque 110 determina una combinación de CU en la que el valor de evaluación se minimiza en el bloque objetivo como la configuración del bloque en el bloque objetivo (etapa S108) y termina el proceso de determinación del tamaño de bloque. Cabe señalar que cuando se determina la configuración del bloque, un bloque para el cual no se calcula un valor de evaluación se excluye de la diana de las combinaciones de CU. Además, cuando el proceso de determinación del tamaño de bloque hasta el final es un proceso de determinación del tamaño de bloque llamado recursivamente, el proceso regresa a la etapa S107 del proceso de determinación del tamaño de bloque para el bloque inmediatamente anterior en la secuencia de procesamiento ilustrada en la Figura 2.
La Figura 4 es un diagrama de flujo que ilustra un proceso de determinación del tamaño de bloque como un ejemplo comparativo del proceso de determinación del tamaño de bloque de la presente modalidad. El proceso de determinación del tamaño de bloque del ejemplo comparativo es un proceso cuando los tamaños de bloque para los cuales se calcularán los valores de evaluación se limitan como se ilustra en las Figuras. 16A y 16B. En el proceso de determinación del tamaño de bloque ilustrado en la Figura 4, el procesamiento en las etapas S203 y S204 es diferente del proceso de determinación del tamaño de bloque en la presente modalidad ilustrada en la Figura 3. En la etapa S203, se adquieren todos los tamaños de bloques adyacentes al bloque objetivo. En la etapa S204, se determina si el tamaño de bloque del bloque objetivo satisface la condición 1 en base a los tamaños de bloque adquiridos. Debido a que todos los tamaños de bloque de los bloques adyacentes se adquieren en la etapa S203, existe la posibilidad de que el número de bloques para los cuales se van a calcular los valores de evaluación no pueda reducirse.
Por el contrario, debido a que se adquiere el tamaño de bloque más pequeño entre los bloques adyacentes y se calcula el valor de evaluación para el tamaño de bloque en el que se satisface la condición 1 en el proceso de determinación del tamaño de bloque (Figura 3) de la presente modalidad, es posible reducir el número de bloques para los cuales se calcularán los valores de evaluación y reducir la complejidad computacional y la carga en el proceso de determinación del tamaño de bloque.
<Segunda modalidad>
La segunda modalidad es diferente de la primera modalidad en términos de la prioridad de procesamiento para cada bloque dentro de la LCU. Si bien el proceso comienza desde el bloque de 64*64 en la primera modalidad, el proceso en la modalidad actual comienza desde un bloque de 8*8. Cabe señalar que debido a que un aparato de codificación de vídeo en la presente modalidad tiene la misma configuración que el aparato de codificación de vídeo 100 en la primera modalidad, se omitirá una descripción de este.
La Figura 5 es un diagrama que ilustra la prioridad (secuencia) de procesamiento para cada bloque dentro de una LCU en la segunda modalidad. En la Figura 5, un número asignado a cada bloque indica la prioridad en la que cada bloque se convierte en un objetivo de procesamiento. Cabe señalar que en la Figura 5 se omite la ilustración de las prioridades 16 a 20 y 22 a 84. En la presente modalidad, el procesamiento para el bloque más pequeño (bloque de 8*8) dentro de la LCU se realiza primero y el procesamiento para cada bloque se realiza secuencialmente a lo largo de la estructura de árbol cuaternario en la LCU. La secuencia de procesamiento ilustrada en la Figura 5 corresponde a "recorrido posterior" en el algoritmo de búsqueda para un árbol cuaternario.
Específicamente, cuando el proceso termina para todos los bloques que se incluyen en la misma capa y se incluyen en el mismo bloque (bloque padre) un nivel más alto que los bloques, el bloque un nivel más alto que los bloques se establece como el bloque objetivo. Por ejemplo, cuando se procesa para los extremos de bloques 8*8 "1", "2", "3" y "4" (cuando se procesa para los bloques 8*8 "1" a "4" incluidos en los extremos de bloques 16*16) en la Figura 5, el bloque 16*16 "5" se establece como el bloque objetivo.
Si hay un bloque en el que el procesamiento no termina entre los bloques incluidos en el mismo bloque padre, este bloque se establece como el bloque objetivo. Además, si hay un bloque para el cual el procesamiento no termina entre los bloques en los que se ha dividido el bloque objetivo en el bloque objetivo, el bloque dividido se procesa primero. Por ejemplo, aunque un bloque "10" adyacente al bloque "5" se debe establecer como el bloque objetivo cuando termina el procesamiento del bloque "5", el procesamiento de los bloques 8*8 "6" a "9" se realiza primero porque el procesamiento de los bloques 8*8 "6" a "9" en los que se divide el bloque "5" no termina.
La Figura 6 es un diagrama de flujo de un proceso de determinación del tamaño de bloque a realizar por la unidad de determinación del tamaño de bloque 110 en la presente modalidad. En la presente modalidad, un bloque del tamaño de bloque mínimo de 8*8 en la LCU se establece como el bloque objetivo inicial, y después se inicia el proceso de determinación del tamaño de bloque. Cuando se inicia el proceso de determinación del tamaño de bloque, la unidad de determinación del tamaño de bloque 110 determina si se ha completado el cálculo de un valor de evaluación para el bloque objetivo (etapa S301).
Si el cálculo del valor de evaluación para el bloque objetivo no ha terminado (etapa S301: NO), la unidad de determinación del tamaño de bloque 110 determina si hay un bloque adyacente para el bloque objetivo (etapa S302).
Si no hay un bloque adyacente (etapa S302: NO), la unidad de determinación del tamaño de bloque 110 mueve el proceso a la etapa S306.
Si hay un bloque adyacente (etapa S302: SÍ), la unidad de determinación del tamaño de bloque 110 detecta un bloque que tiene el tamaño de bloque más pequeño entre los bloques adyacentes al bloque objetivo y adquiere el tamaño de bloque del bloque detectado (etapa S303).
La unidad de determinación del tamaño de bloque 110 determina si una relación entre el tamaño de bloque del bloque objetivo y el tamaño de bloque adquirido en la etapa S303 satisface la condición 1 mostrada en la primera modalidad (etapa S304).
La unidad de determinación del tamaño de bloque 110 determina si el resultado de la determinación satisface la condición 1 (etapa S305), y calcula el valor de evaluación del bloque objetivo (etapa S306) si se satisface la condición 1 (etapa S305: SÍ).
La unidad de determinación del tamaño de bloque 110 establece el siguiente bloque después del bloque objetivo actual en la secuencia de procesamiento ilustrada en la Figura 5 como el bloque objetivo y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa S307).
Si el resultado de la determinación en la etapa S304 indica que la condición 1 no se satisface en la etapa S305 (etapa S305: NO), la unidad de determinación del tamaño de bloque 110 mueve la secuencia de procesamiento hasta el tamaño de bloque un nivel más alto que el tamaño de bloque del bloque objetivo actual en la secuencia de procesamiento ilustrada en la Figura 5, establece un bloque de esta secuencia de procesamiento como el bloque objetivo, y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa S308). El procesamiento en la etapa S308 es un proceso de omitir el procesamiento para el bloque objetivo actual y los bloques que tienen el mismo bloque padre que el bloque objetivo actual si la condición 1 no se satisface, es decir, si el tamaño de bloque más pequeño de los bloques adyacentes es un tamaño de bloque dos o más niveles superior al del bloque objetivo actual.
Si el procesamiento para el bloque objetivo termina en la etapa S301 (etapa S301: SÍ), la unidad de determinación del tamaño de bloque 110 determina una combinación de CU en la que se minimiza un valor de evaluación en el bloque objetivo como la configuración del bloque en el bloque objetivo (etapa S309) y termina el proceso de determinación del tamaño de bloque. Cabe señalar que cuando se determina la configuración del bloque, el bloque en el que no se calcula el valor de evaluación se excluye de la diana de las combinaciones de CU como en la primera modalidad. Además, si el proceso de determinación del tamaño de bloque hasta el final es un proceso de determinación de bloques llamado recursivamente, el proceso regresa a la etapa S307 o S308 desde la cual se llama al proceso. En la presente modalidad, la combinación de CU en la que se minimiza el valor de evaluación se determina como la configuración de bloques mediante el uso del valor de evaluación del bloque objetivo y los valores de evaluación de bloques de una capa inferior o igual a la del bloque objetivo.
Debido a que los valores de evaluación se calculan mientras se procesa el bloque en el que no se satisface la condición 1, se omiten cuando el procesamiento se realiza secuencialmente a partir de los bloques del tamaño de bloque más pequeño (8*8) hasta el bloque del tamaño de bloque más grande (64*64) a lo largo de la estructura de árbol cuaternario, es posible reducir el número de bloques para los cuales se van a calcular los valores de evaluación y reducir la complejidad computacional y la carga en el proceso de determinación del tamaño de bloque.
<Tercera modalidad>
El proceso de determinación del tamaño de bloque en la tercera modalidad es un proceso en el que se modifica el proceso de determinación del tamaño de bloque en la primera modalidad. Cabe señalar que debido a que el aparato de codificación de vídeo en la presente modalidad tiene la misma configuración que el aparato de codificación de vídeo 100 en la primera modalidad, se omitirá una descripción de este. Además, la prioridad (secuencia) de procesamiento para cada bloque en la presente modalidad también es la misma que la de la primera modalidad y es la prioridad ilustrada en la Figura 2.
La Figura 7 es un diagrama de flujo de un proceso de determinación del tamaño de bloque a realizar por la unidad de determinación del tamaño de bloque 110 en la tercera modalidad. El bloque de 64*64 que tiene el tamaño de bloque más grande en la LCU se establece como un bloque objetivo inicial, y después se inicia el proceso de determinación del tamaño de bloque. Cuando se inicia el proceso de determinación del tamaño de bloque, la unidad de determinación del tamaño de bloque 110 determina si el procesamiento para el bloque objetivo ha terminado (etapa S401).
Si el procesamiento del bloque objetivo no ha terminado (etapa S401: NO), la unidad de determinación del tamaño de bloque 110 determina si hay un bloque adyacente para el bloque objetivo (etapa S402).
Si no hay un bloque adyacente (etapa S402: NO), la unidad de determinación del tamaño de bloque 110 calcula un valor de evaluación del bloque objetivo (etapa S403) y establece el siguiente bloque después del bloque objetivo actual en la secuencia de procesamiento ilustrada en la Figura 2 como el bloque objetivo y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa S404).
Por el contrario, si hay un bloque adyacente (etapa S402: SÍ), la unidad de determinación del tamaño de bloque 110 detecta un bloque que tiene el tamaño de bloque más pequeño entre los bloques adyacentes al bloque objetivo y adquiere el tamaño de bloque del bloque detectado (etapa S405).
La unidad de determinación del tamaño de bloque 110 determina si una relación entre el tamaño de bloque del bloque objetivo y el tamaño de bloque adquirido en la etapa S405 satisface la condición 1 mostrada en la primera modalidad y la siguiente condición 2 (etapa S406).
[Condición 2]: El tamaño de bloque de un nivel inferior al tamaño de bloque del bloque objetivo coincide con uno cualquiera de los candidatos iniciales, incluido el tamaño de bloque adquirido en la etapa S405, el tamaño de bloque de un nivel superior al tamaño de bloque adquirido y el tamaño de bloque de un nivel inferior al tamaño de bloque adquirido.
La unidad de determinación del tamaño de bloque 110 determina si el resultado de la determinación ha satisfecho la condición 1 (etapa S407), mueve el proceso a la etapa S404 si la condición 1 no se ha satisfecho (etapa S407: NO), y calcula un valor de evaluación del bloque objetivo (etapa S408) si la condición 1 se ha satisfecho (etapa s 407: SÍ).
La unidad de determinación del tamaño de bloque 110 determina si se satisface la condición 2 (etapa S409), mueve el proceso a la etapa S412 si no se satisface la condición 2 (etapa S409: NO), y calcula el valor de evaluación cuando el bloque objetivo se divide en cuatro partes (etapa S410) si se satisface la condición 2 (etapa S409: SÍ).
Cabe señalar que el valor de evaluación cuando el bloque objetivo se divide en cuatro partes es una suma obtenida al añadir los valores de evaluación de cuatro bloques divididos obtenidos al dividir el bloque objetivo en las cuatro partes.
La unidad de determinación del tamaño de bloque 110 determina si el valor de evaluación (valor de evaluación A) calculado en la etapa S408 es menor que el valor de evaluación (valor de evaluación B) calculado en la etapa S410 (etapa S411).
Si el valor de evaluación A no es menor que el valor de evaluación B (etapa S411: NO), la unidad de determinación del tamaño de bloque 110 mueve el proceso a la etapa S404.
Por el contrario, si el valor de evaluación A es menor que el valor de evaluación B (etapa S411: SÍ), la unidad de determinación del tamaño de bloque 110 omite un proceso para bloques en los que se divide el bloque objetivo actual, establece el siguiente bloque después del bloque objetivo actual en la secuencia de procesamiento ilustrada en la Figura 2 como el objetivo de procesamiento, y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa<s>412). Cabe señalar que el siguiente bloque en la etapa S412 es un bloque distinto de los bloques obtenidos al dividir el bloque objetivo actual y tiene la secuencia de procesamiento mínima entre los bloques que tienen la secuencia de procesamiento posterior a la del bloque objetivo actual.
Si el procesamiento del bloque objetivo ha terminado en la etapa S401 (etapa S401: SÍ), la unidad de determinación del tamaño de bloque 110 determina una combinación de CU en la que el valor de evaluación se minimiza en el bloque objetivo como la configuración del bloque en el bloque objetivo (etapa S413) y termina el proceso de determinación del tamaño de bloque. Cabe señalar que cuando se determina la configuración del bloque, un bloque para el cual no se calcula un valor de evaluación se excluye de la diana de las combinaciones de CU como en la primera modalidad. Además, cuando el proceso de determinación del tamaño de bloque hasta el final es un proceso de determinación del tamaño de bloque llamado recursivamente, el proceso regresa a la etapa S404 o S412 desde la cual se llama al proceso.
El proceso de determinación del tamaño de bloque en la presente modalidad es diferente del proceso de determinación del tamaño de bloque en la primera modalidad en que se añaden la determinación (etapa S409) de si se satisface la condición 2 y la comparación (etapa S411) de los valores de evaluación cuando se satisface la condición 1.
En la presente modalidad, en el procesamiento en la etapa S409, se determina si los bloques en los que se divide el bloque objetivo actual satisfacen la condición 1 de antemano y se omite el procesamiento de los bloques de capa inferior si no se satisface la condición 1. De esta manera, es posible reducir aún más la complejidad computacional y la carga que en el proceso de determinación del tamaño de bloque en la primera modalidad.
Además, en el procesamiento en la etapa S411, el valor de evaluación (valor de evaluación A) del bloque objetivo actual se compara con el valor de evaluación (valor de evaluación B) cuando los bloques objetivo se configuran con bloques en los que se divide el bloque objetivo y se determina si se obtiene un valor de evaluación más pequeño en una combinación de bloques de capa inferior. Si se determina que no se obtiene un valor de evaluación más pequeño incluso en la combinación de los bloques de la capa inferior, se omite el procesamiento de los bloques en los que se divide el bloque objetivo actual. De esta manera, es posible reducir aún más la complejidad computacional y la carga que en el proceso de determinación del tamaño de bloque en la primera modalidad.
<Cuarta modalidad>
El proceso de determinación del tamaño de bloque en la cuarta modalidad es un proceso en el que se modifica el proceso de determinación del tamaño de bloque en la segunda modalidad. Cabe señalar que debido a que el aparato de codificación de vídeo en la presente modalidad tiene la misma configuración que el aparato de codificación de vídeo 100 en la primera modalidad, se omitirá una descripción de este. Además, la prioridad (secuencia) de procesamiento para cada bloque en la presente modalidad también es la misma que la de la segunda modalidad y es la prioridad ilustrada en la Figura 5.
Las Figuras 8 y 9 son diagramas de flujo del proceso de determinación del tamaño de bloque a realizar por la unidad de determinación del tamaño de bloque 110 en la cuarta modalidad. Un bloque de 8*8 que tiene el tamaño de bloque más pequeño en la LCU se establece como un bloque objetivo inicial y después se inicia el proceso de determinación del tamaño de bloque. Cuando se inicia el proceso de determinación del tamaño de bloque, la unidad de determinación del tamaño de bloque 110 determina si el procesamiento para el bloque objetivo ha terminado (etapa S501).
Si el procesamiento del bloque objetivo no ha terminado (etapa S501: NO), la unidad de determinación del tamaño de bloque 110 determina si hay un bloque adyacente para el bloque objetivo (etapa S502).
Si no hay un bloque adyacente (etapa S502: NO), la unidad de determinación del tamaño de bloque 110 calcula un valor de evaluación del bloque objetivo (etapa S503) y establece el siguiente bloque después del bloque objetivo actual en la secuencia de procesamiento ilustrada en la Figura 5 como el bloque objetivo y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa S504).
Por el contrario, si hay un bloque adyacente (etapa S502: SÍ), la unidad de determinación del tamaño de bloque 110 detecta un bloque que tiene el tamaño de bloque más pequeño entre los bloques adyacentes al bloque objetivo y adquiere el tamaño de bloque del bloque detectado (etapa S505).
La unidad de determinación del tamaño de bloque 110 determina si una relación entre el tamaño de bloque del bloque objetivo y el tamaño de bloque adquirido en la etapa S505 satisface la condición 1 mostrada en la primera modalidad y la siguiente condición 3 (etapa S506).
[Condición 3]: El tamaño de bloque de un nivel superior al tamaño de bloque del bloque objetivo coincide con uno cualquiera de los candidatos iniciales, incluido el tamaño de bloque adquirido en la etapa S505, el tamaño de bloque de un nivel superior al tamaño de bloque adquirido y el tamaño de bloque de un nivel inferior al tamaño de bloque adquirido.
La unidad de determinación del tamaño de bloque 110 determina si la condición 1 se ha satisfecho (etapa S507), mueve la secuencia de procesamiento hasta el bloque uno de nivel superior al bloque objetivo actual y establece el bloque como el bloque objetivo si la condición 1 no se ha satisfecho (etapa S507: NO), y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa S508).
Por el contrario, si se ha satisfecho la condición 1 (etapa S507: SÍ), la unidad de determinación del tamaño de bloque 110 calcula el valor de evaluación del bloque objetivo (etapa S509).
La unidad de determinación del tamaño de bloque 110 determina si se ha satisfecho la condición 3 (etapa S510) y mueve el proceso a la etapa S504 si no se ha satisfecho la condición 3 (etapa S510: NO).
Por el contrario, si se ha satisfecho la condición 3 (etapa S510: SÍ), la unidad de determinación del tamaño de bloque 110 itera el proceso de determinación del tamaño de bloque hasta que el bloque objetivo se convierte en el bloque de un nivel superior que el bloque objetivo actual (etapa S511).
La unidad de determinación del tamaño de bloque 110 detecta una combinación de CU en la que un valor de evaluación se minimiza cuando el bloque objetivo se convierte en el bloque un nivel más alto que el bloque objetivo actual (etapa S512)
La unidad de determinación del tamaño de bloque 110 determina si la combinación de CU detectadas en la etapa S512 es el bloque objetivo actual (etapa S513), y mueve el proceso a la etapa S504 si la combinación de CU detectadas es el bloque objetivo actual (etapa s 513: SÍ).
Por el contrario, si la combinación detectada de CU no es el bloque objetivo actual (etapa S513: NO), la unidad de determinación del tamaño de bloque 110 omite el procesamiento de un bloque que incluye el bloque objetivo actual y tiene un tamaño de bloque mayor que el bloque objetivo actual, establece el siguiente bloque en la secuencia de procesamiento como el bloque objetivo, y ejecuta recursivamente el proceso de determinación del tamaño de bloque (etapa S514). Cabe señalar que el siguiente bloque en la etapa S514 es un bloque distinto de un bloque de capa superior que incluye el bloque objetivo actual y tiene la secuencia de procesamiento mínima entre los bloques que tienen secuencias de procesamiento posteriores a la del bloque objetivo actual.
Cuando el procesamiento del bloque objetivo ha terminado en la etapa S501 (etapa S501: SÍ), la unidad de determinación del tamaño de bloque 110 determina una combinación de CU en la que el valor de evaluación se minimiza en el bloque objetivo como la configuración del bloque en el bloque objetivo (etapa S515) y termina el proceso de determinación del tamaño de bloque. Cabe señalar que cuando se determina la configuración del bloque, un bloque para el cual no se calcula un valor de evaluación se excluye de la diana de las combinaciones de CU como en la primera modalidad. Además, cuando el proceso de determinación del tamaño de bloque hasta el final es un proceso de determinación del tamaño de bloque llamado recursivamente, el proceso regresa a la etapa S504, S508, S511 o S514 desde la cual se llama al proceso.
El proceso de determinación del tamaño de bloque en la presente modalidad es diferente del proceso de determinación del tamaño de bloque en la segunda modalidad en que la determinación (etapa S510) de si la condición 3 se ha satisfecho y la determinación (etapa S513) de si una combinación en la que el valor de evaluación se minimiza cuando el proceso ha procedido al bloque un nivel más alto que el bloque objetivo actual es el bloque un nivel más alto que el bloque objetivo actual en el caso en el que la condición 1 se ha satisfecho se añaden.
En la presente modalidad, en el procesamiento en la etapa S513, se determina si la combinación en la que se minimiza el valor de evaluación está constituida por un bloque objetivo cuando el proceso ha procedido al bloque de un nivel superior al bloque objetivo actual, y un bloque que incluye el bloque objetivo y está presente en una capa grande se excluye de la etapa de procesamiento y el procesamiento de un bloque de capa superior se omite si la combinación en la que se minimiza el valor de evaluación no está constituida por el bloque objetivo (etapa S513: NO). De esta manera, es posible reducir aún más la complejidad computacional y la carga que en el proceso de determinación del tamaño de bloque en la segunda modalidad.
En otras palabras, en el proceso de determinación del tamaño de bloque en la presente modalidad, los valores de evaluación se calculan a partir de un bloque del tamaño de bloque más pequeño (8*8) de acuerdo con la secuencia de procesamiento ilustrada en la Figura 5 a lo largo de una estructura jerárquica de regiones representadas por un árbol cuaternario obtenido al dividir recursivamente una región LCU en cuatro partes iguales. En este momento, si se han calculado los valores de evaluación para los bloques en los que se divide el bloque objetivo y que se incluyen en el bloque objetivo, se calcula temporalmente una configuración de bloque en la que el valor de evaluación se minimiza en el bloque objetivo. En este momento, si la configuración de bloques para el bloque objetivo está constituida por los bloques en los que se divide el bloque objetivo, es posible reducir la complejidad computacional y la carga al omitir el procesamiento de un bloque que está presente en una capa superior que el bloque objetivo y que incluye el bloque objetivo y el cálculo del valor de evaluación.
<Quinta modalidad>
La Figura 10 es un diagrama de bloques que ilustra una configuración de un aparato de codificación de vídeo 200 en la quinta modalidad. De manera similar al aparato de codificación de vídeo 100 (Figura 1) en la primera modalidad, el aparato de codificación de vídeo 200 introduce una señal de vídeo que representa una imagen (vídeo de destino de codificación), divide cada trama de la señal de vídeo de entrada en una pluralidad de bloques, realiza la codificación para cada bloque, y emite un flujo de bits de un resultado de codificación como datos codificados. Cabe señalar que el video incluye una imagen fija y una imagen en movimiento. En lo sucesivo, las mismas unidades funcionales que las del aparato de codificación de vídeo 100 se asignan los mismos signos de referencia y se omitirá una descripción de las mismas.
El aparato de codificación de vídeo 200 incluye una unidad de intrapredicción 101, una unidad de interpredicción 102, un conmutador de intra/interselección 103, una unidad generadora de señales residuales de predicción 104, una unidad de transformación/cuantificación ortogonal 105, una unidad de cuantificación inversa/transformación ortogonal inversa 106, una unidad generadora de señales restauradas 107, una unidad de filtro de bucle 108, una memoria de imágenes decodificadas 109, una unidad de determinación del tamaño de bloque 210, una unidad de codificación de longitud variable 111, y una unidad de conmutación de procesos de determinación del tamaño de bloque 211. El aparato de codificación de vídeo 200 es diferente del aparato de codificación de vídeo 100 en que se proporciona además la unidad de conmutación del proceso de determinación del tamaño de bloque 211 y la unidad de determinación del tamaño de bloque 210 se proporciona en lugar de la unidad de determinación del tamaño de bloque 110.
De manera similar a la unidad de determinación del tamaño de bloque 110, la unidad de determinación del tamaño de bloque 210 determina una configuración de bloque del bloque objetivo de codificación. Cabe señalar que la unidad de determinación del tamaño de bloque 210 puede ejecutar dos tipos de procesos de determinación del tamaño de bloque y determina una configuración de bloque para la LCU al ejecutar cualquiera de los dos tipos de procesos de determinación del tamaño de bloque de acuerdo con el control de la unidad de conmutación del proceso de determinación del tamaño de bloque 211. Una combinación de los dos tipos de procesos de determinación del tamaño de bloque capaces de ejecutarse por la unidad de determinación del tamaño de bloque 210 es una de una combinación de los procesos de determinación del tamaño de bloque en la primera y segunda modalidades, una combinación de los procesos de determinación del tamaño de bloque en la primera y cuarta modalidades, una combinación de los procesos de determinación del tamaño de bloque en la tercera y segunda modalidades, y una combinación de los procesos de determinación del tamaño de bloque en la tercera y cuarta modalidades. Además, similar a la unidad de determinación del tamaño de bloque 110, la unidad de determinación del tamaño de bloque 210 controla el conmutador de intra/interselección 103 para cada bloque.
La unidad de conmutación del proceso de determinación del tamaño de bloque 211 controla la conmutación del proceso de determinación del tamaño de bloque que se ejecutará por la unidad de determinación del tamaño de bloque 210, en base a un tipo de imagen (modo de predicción) de una imagen de entrada al aparato de codificación de vídeo 200. La Figura 11 es un diagrama de flujo que ilustra un proceso de selección a realizar por la unidad de conmutación del proceso de determinación del tamaño de bloque 211 en la presente modalidad.
Cuando comienza el proceso de selección, la unidad de conmutación del proceso de determinación del tamaño de bloque 211 determina si el tipo de imagen de la imagen de entrada al aparato de codificación de vídeo 200 es una imagen intermedia (etapa S601), hace que la unidad de determinación del tamaño de bloque 210 ejecute el proceso de determinación del tamaño de bloque en la primera o tercera modalidad (etapa S602) si el tipo de imagen es la imagen intermedia (etapa S601: SÍ), y hace que el proceso de selección finalice.
Por el contrario, si el tipo de imagen no es la interimagen (etapa S601: NO), la unidad de conmutación del proceso de determinación del tamaño de bloque 211 hace que la unidad de determinación del tamaño de bloque 210 ejecute el proceso de determinación del tamaño de bloque en la segunda o cuarta modalidad (etapa S603), y hace que el proceso de selección finalice.
<Sexta modalidad>
La sexta modalidad es diferente de la quinta modalidad en un proceso de selección. En la quinta modalidad, el proceso de determinación del tamaño de bloque se conmutará de acuerdo con un tipo de imagen de una imagen de entrada. Por el contrario, en la sexta modalidad, el proceso de determinación del tamaño de bloque se cambia de acuerdo con la presencia/ausencia de un bloque adyacente y el tamaño de bloque del bloque adyacente cuando un bloque objetivo tiene, por ejemplo, un tamaño de bloque de 64*64. Cabe señalar que debido a que un aparato de codificación de vídeo en la presente modalidad tiene la misma configuración que el aparato de codificación de vídeo 200 en la quinta modalidad, se omitirá una descripción de este.
La Figura 12 es un diagrama de flujo que ilustra un proceso de selección a realizar por la unidad de conmutación del proceso de determinación del tamaño de bloque 211 en la sexta modalidad.
Cuando comienza el proceso de selección, la unidad de conmutación del proceso de determinación del tamaño de bloque 211 establece el bloque objetivo al tamaño de bloque de 64*64 (tamaño de bloque de la LCU), determina si hay un bloque adyacente para el bloque objetivo (etapa S701), hace que la unidad de determinación del tamaño de bloque 210 ejecute el proceso de determinación del tamaño de bloque en la primera o tercera modalidad (etapa S702) si no hay un bloque adyacente (etapa S701: NO), y hace que el proceso de selección finalice.
Por el contrario, si hay un bloque adyacente (etapa S701: SÍ), la unidad de conmutación del proceso de determinación del tamaño de bloque 211 hace que la unidad de determinación del tamaño de bloque 210 detecte un bloque del tamaño de bloque más pequeño entre los bloques adyacentes al bloque objetivo y adquiera el tamaño de bloque del bloque detectado (etapa S703). A continuación, la unidad de conmutación del proceso de determinación del tamaño de bloque 211 determina si el tamaño de bloque más pequeño en los bloques adyacentes al bloque objetivo es un tamaño de bloque de 64*64 o 32*32 (etapa S704).
Si el tamaño de bloque más pequeño es el tamaño de bloque de 64*64 o 32*32 (etapa S704: SÍ), la unidad de conmutación del proceso de determinación del tamaño de bloque 211 mueve el proceso a la etapa S702.
Si el tamaño de bloque más pequeño no es el tamaño de bloque de 64*64 y 32*32 (etapa S704: NO), la unidad de conmutación del proceso de determinación del tamaño de bloque 211 hace que la unidad de determinación del tamaño de bloque 210 ejecute el proceso de determinación del tamaño de bloque en la segunda o cuarta modalidad (etapa S705) y hace que el proceso de selección finalice.
De esta manera, el proceso de determinación del tamaño de bloque a ejecutar por la unidad de determinación del tamaño de bloque 210 se conmutará de acuerdo con la presencia/ausencia del bloque adyacente y el tamaño de bloque del bloque adyacente, y por lo tanto es posible conmutar un bloque objetivo establecido inicialmente en el proceso de determinación del tamaño de bloque y reducir aún más la complejidad computacional y la carga.
Cabe señalar que aunque se ha descrito la configuración en la que el tamaño de bloque objetivo se establece en un tamaño de bloque de 64*64 cuando comienza el proceso de selección, el tamaño de bloque objetivo puede establecerse en el tamaño de bloque de la LCU cuando comienza el proceso de selección si el tamaño de bloque de la LCU es un tamaño distinto del tamaño de bloque de 64*64.
Como se describió anteriormente, en el proceso de determinación del tamaño de bloque en cada modalidad, un proceso de determinación de si calcular el valor de evaluación de cada bloque y si realizar el proceso de cálculo del valor de evaluación se conmutan en base al tamaño de bloque más pequeño de los bloques adyacentes. Además, dos candidatos entre una pluralidad de candidatos se comparan primero entre sí y se determina si realizar el procesamiento de un tercer candidato de acuerdo con un resultado de comparación. Además, el proceso de determinación del tamaño de bloque se conmutará de acuerdo con el bloque adyacente y/o el tipo de imagen. De esta manera, es posible reducir la complejidad computacional cuando se determina la configuración de bloques en la región de destino de codificación.
Por ejemplo, si un bloque que tiene un tamaño de bloque pequeño se incluye en un bloque codificado adyacente como se ilustra en la Figura 13, es probable que una región de textura esté presente en su región en el caso de la intrapredicción. En este caso, es probable que el tamaño de bloque pequeño se seleccione incluso en el bloque adyacente. Igualmente, incluso en el caso de la interpredicción, es probable que esté presente una región en la que se varía el movimiento, y por lo tanto es probable que se seleccione el bloque pequeño. Por el contrario, si hay un bloque que tiene un tamaño de bloque grande, la influencia sobre la eficiencia de codificación es pequeña incluso cuando un tamaño de bloque excesivamente pequeño se excluye de los candidatos para una configuración de bloque porque es probable que una región plana esté presente en la región en el caso de la intrapredicción. Igualmente, incluso en el caso de la interpredicción, la influencia sobre la eficiencia de codificación es pequeña incluso cuando se excluye el tamaño de bloque excesivamente pequeño de los candidatos para la configuración de bloque porque es probable que esté presente una región de movimiento uniforme. En consecuencia, incluso cuando se excluye un tamaño de bloque que tiene una diferencia de dos o más niveles con respecto al del bloque más pequeño entre los bloques adyacentes de los candidatos para la configuración de bloques en base al tamaño de bloque más pequeño en los bloques adyacentes, es posible reducir la complejidad computacional y la carga sin degradar la eficiencia de codificación. Además, cuando el número de capas en la configuración de bloque del objetivo de codificación es de cuatro o más, es posible la reducción de la complejidad computacional de al menos una capa.
Además, cuando el número de capas que sirven como candidatas para el procesamiento es tres o más como se ilustra en la Figura 14 y el valor de evaluación se minimiza en la configuración de bloques del tamaño de bloque más pequeño (III) entre los candidatos, es probable que esté presente una región de textura si el tipo de imagen es una imagen intra y es probable que esté presente una región en la que se varía el movimiento si el tipo de imagen es una imagen inter. En tales casos, el valor de evaluación del tamaño de bloque (II) con el que el movimiento puede expresarse finamente es más probable que sea menor que el del tamaño de bloque más grande (I) con el que solo puede expresarse una predicción o movimiento para la región de codificación. Por lo tanto, después de evaluar los valores para dos capas, en lugar de realizar el procesamiento o calcular los valores de evaluación para las tres capas, se determina si realizar el procesamiento y calcular el valor de evaluación para la capa restante en base a un resultado de comparación de los valores de evaluación. De esta manera, es posible reducir la complejidad y la carga computacionales sin degradar la eficiencia de la codificación.
Además, cuando el tamaño de bloque más pequeño de los bloques adyacentes al bloque objetivo es 64*64 o 32*32, el proceso de determinación del tamaño de bloque se inicia después de establecer el bloque objetivo inicial en un bloque de 64*64. De esta manera, es posible reducir el cálculo tal como un proceso de determinación en el proceso de determinación del tamaño de bloque y reducir aún más la complejidad y la carga computacional. Además, cuando el tamaño de bloque más pequeño de los bloques adyacentes al bloque objetivo no es 64*64 y 32*32, el proceso de determinación del tamaño de bloque se inicia después de establecer el bloque objetivo inicial en un bloque de 8*8. De esta manera, es posible reducir el cálculo tal como el proceso de determinación en el proceso de determinación del tamaño de bloque y reducir aún más la complejidad y la carga computacional.
Además, debido a que la predicción es precisa en una región en la que el movimiento entre cuadros no es complejo, incluso se usa un tamaño de bloque grande cuando el tipo de imagen es la imagen entre cuadros, es probable que se seleccione el tamaño de bloque grande y es posible reducir el número de procesos de bucle realizando de manera similar la evaluación en orden a partir de un tamaño de bloque más grande. Además, debido a que la determinación de la interrupción del procesamiento de los bloques se añade al proceso de determinación del tamaño de bloque que se muestra en la tercera modalidad, es posible reducir aún más la complejidad computacional y la carga y lograr un aumento de la velocidad. Además, debido a que normalmente es probable que se seleccione un tamaño de bloque pequeño cuando el tipo de imagen es la imagen intra, es posible reducir la complejidad computacional y la carga al realizar el procesamiento en orden a partir de un tamaño de bloque más pequeño como en el caso de la imagen intermedia.
El proceso de determinación del tamaño de bloque en las modalidades descritas anteriormente puede implementarse mediante un ordenador. En este caso, el proceso de determinación del tamaño de bloque puede realizarse mediante el registro de un programa para lograr las funciones del mismo en un medio de grabación legible por ordenador y hacer que un sistema informático lea y ejecute el programa grabado en el medio de grabación. Cabe señalar que se supone que el "sistema informático" usado aquí incluye un sistema operativo (SO) y hardware tal como dispositivos periféricos. Además, el "medio de grabación legible por ordenador" se refiere a un medio portátil tal como un disco flexible, un disco magnetoóptico, una memoria de solo lectura (ROM), o un disco compacto (CD)-ROM, y un aparato de almacenamiento tal como un disco duro integrado en el sistema informático. Además, se supone que el "medio de grabación legible por ordenador" incluye un medio de grabación legible por ordenador para contener dinámicamente un programa durante un corto período de tiempo como en una línea de comunicación cuando el programa se transmite a través de una red tal como Internet o un circuito de comunicación tal como un circuito telefónico y un medio de grabación legible por ordenador para contener el programa durante un tiempo predeterminado como en una memoria volátil dentro del sistema informático que sirve como servidor o cliente. Además, el programa anterior puede realizar parte de las funciones descritas anteriormente, puede implementar las funciones descritas anteriormente en combinación con un programa ya grabado en el sistema informático, o las funciones descritas anteriormente pueden implementarse mediante el uso de hardware tal como un dispositivo lógico programable (PLD) o una matriz de puertas programable en campo (FPGA).
Aunque las modalidades de la presente invención se han descrito en detalle con referencia a las figuras, las configuraciones específicas no se limitan a las modalidades y diseños. Por ejemplo, debido a que se ha dado una descripción del caso en el que la presente invención se aplica a HEVC, se ha descrito un proceso de expresión de la configuración de bloques del bloque objetivo de codificación mediante el uso de una combinación de bloques de 64*64 a 8*8. Sin embargo, puede usarse un tamaño de bloque de cinco o más capas en lugar de un tamaño de bloque de cuatro capas como objetivo de procesamiento. Además, aunque se ha dado una descripción del caso en el que el bloque objetivo de codificación se divide recursivamente en cuatro partes iguales, puede usarse una estructura jerárquica en la que el bloque objetivo de codificación se divide recursivamente en n bloques cuadrados como objetivo de procesamiento.
Aplicabilidad industrial
La presente invención es aplicable, por ejemplo, a un proceso para determinar una configuración de bloque para un bloque objetivo de codificación que tiene una estructura jerárquica en la que una región se divide recursivamente.
Descripción de los signos de referencia
100, 200 Aparato de codificación de vídeo
101 Unidad de intrapredicción
102 Unidad de interpredicción
103 Conmutador de intra/interselección
104 Unidad generadora de señales residuales de predicción
105 Unidad de cuantificación/transformación ortogonal
106 Unidad de transformada ortogonal inversa/cuantificación inversa
107 Unidad generadora de señal restaurada
108 Unidad de filtro de bucle
109 Memoria de imágenes decodificadas
110, 210 Unidad de determinación del tamaño de bloque
111 Unidad de codificación de longitud variable
211 Unidad de conmutación del proceso de determinación del tamaño de bloque
Claims (1)
- REIVINDICACIONESUn aparato de codificación de vídeo que determina los tamaños de los bloques cuadrados que constituyen un bloque objetivo de codificación para codificar bloques objetivo en los que se divide una región de imagen en la codificación de vídeo, cada bloque objetivo de codificación es cuadrado y tiene un primer tamaño de bloque, el aparato de codificación de vídeo que comprendeuna unidad de determinación del tamaño de bloque (110, 210) que determina los tamaños de los bloques cuadrados que constituyen el bloque objetivo de codificación,en donde los bloques cuadrados que constituyen el bloque objetivo de codificación son unidades de codificación, y los tamaños determinados por la unidad de determinación del tamaño de bloque (110, 210) son tamaños de las unidades de codificación dentro del bloque objetivo de codificación, y la unidad de determinación del tamaño de bloque (110, 210):selecciona, como un bloque objetivo en una secuencia predeterminada, cada uno de los bloques cuadrados obtenidos mediante la modalidad de la división recursiva del bloque objetivo de codificación, la división recursiva construye una estructura jerárquica de tamaños de bloques en la que el tamaño de bloque del bloque objetivo de codificación es el nivel más alto, cada división en la división recursiva se divide en bloques cuadrados que tienen el mismo tamaño de bloque, el bloque objetivo es un cuadrado;determina si existe o no al menos un bloque adyacente que tiene el mismo tamaño de primer bloque que el del bloque objetivo de codificación y es adyacente al bloque objetivo de codificación, y, si existe al menos un bloque adyacente, adquiere el tamaño de bloque más pequeño entre los tamaños de bloque de bloques cuadrados que constituyen el al menos un bloque adyacente;calcula, para cada bloque objetivo seleccionado, un valor de evaluación en base a un error entre una señal restaurada y una señal original en la codificación del bloque objetivo seleccionado, si se cumple una condición, en la que el tamaño de bloque del bloque objetivo seleccionado coincide con uno cualquiera del tamaño de bloque más pequeño adquirido, el tamaño de bloque un nivel superior al tamaño de bloque más pequeño adquirido, y el tamaño de bloque un nivel inferior al tamaño de bloque más pequeño adquirido, y omite el cálculo del valor de evaluación del bloque objetivo seleccionado si la condición no se cumple, mientras selecciona repetidamente el bloque objetivo en la secuencia predeterminada entre los bloques cuadrados con la estructura jerárquica en la que se divide recursivamente el bloque objetivo de codificación; y determina, en base a los valores de evaluación calculados, los tamaños de los bloques cuadrados que constituyen el bloque objetivo de codificación correspondiente a una combinación de los bloques cuadrados para los cuales se calculan los valores de evaluación y los valores de evaluación son mínimos.El aparato de codificación de vídeo de acuerdo con la reivindicación 1,en donde la secuencia es una secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación, yla unidad de determinación del tamaño de bloque (110, 210):calcula los valores de evaluación de bloques cuadrados que tienen el mismo tamaño de bloque en el que se divide cada bloque objetivo seleccionado y calcula una suma de los valores de evaluación calculados; yomite el cálculo de los valores de evaluación para bloques cuadrados que tienen el mismo tamaño de bloque obtenido al dividir cada bloque objetivo seleccionado si el valor de evaluación de cada bloque objetivo seleccionado es menor que la suma.El aparato de codificación de vídeo de acuerdo con la reivindicación 1,en donde la secuencia es una secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación, yla unidad de determinación del tamaño de bloque (110, 210):determina una combinación de bloques cuadrados que constituyen una región dentro de cada bloque objetivo seleccionado en base a los valores de evaluación; yomite el cálculo de un valor de evaluación para un bloque cuadrado que incluye cada bloque objetivo seleccionado y está presente en una capa superior a la de cada bloque objetivo seleccionado si la combinación determinada de los bloques cuadrados dentro de cada bloque objetivo seleccionado es una combinación de una pluralidad de bloques cuadrados en los que se divide cada bloque objetivo seleccionado.El aparato de codificación de vídeo de acuerdo con la reivindicación 1,en donde la secuencia es una primera secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación o una segunda secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación, yla unidad de determinación del tamaño de bloque (110, 210) determina cuál de la primera secuencia y la segunda secuencia se usará para seleccionar el bloque objetivo en base al tamaño de bloque más pequeño en un bloque cuadrado adyacente al bloque objetivo de codificación.El aparato de codificación de vídeo de acuerdo con la reivindicación 1,en donde la secuencia es una primera secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación o una segunda secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación,la unidad de determinación del tamaño de bloque (110, 210):en un caso donde la secuencia es la secuencia que comienza desde el tamaño de bloque más grande,calcula los valores de evaluación de bloques cuadrados que tienen el mismo tamaño de bloque en el que se divide cada bloque objetivo seleccionado y calcula una suma de los valores de evaluación calculados, yomite el cálculo de los valores de evaluación para bloques cuadrados que tienen el mismo tamaño de bloque obtenido al dividir cada bloque objetivo seleccionado si el valor de evaluación de cada bloque objetivo seleccionado es menor que la suma;en un caso donde la secuencia es la secuencia que comienza desde el tamaño de bloque más pequeño,determina una combinación de bloques cuadrados que constituyen una región dentro de cada bloque objetivo seleccionado en base a los valores de evaluación, yomite el cálculo de un valor de evaluación para un bloque cuadrado que incluye cada bloque objetivo seleccionado y está presente en una capa superior a la de cada bloque objetivo seleccionado si la combinación determinada de los bloques cuadrados dentro de cada bloque objetivo seleccionado es una combinación de una pluralidad de bloques cuadrados en los que se divide cada bloque objetivo seleccionado; ydetermina cuál de la primera secuencia y la segunda secuencia se usará para seleccionar el bloque objetivo en base al tamaño de bloque más pequeño en un bloque cuadrado adyacente al bloque objetivo de codificación.El aparato de codificación de vídeo de acuerdo con la reivindicación 1,en donde la secuencia es una primera secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación o una segunda secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación, yla unidad de determinación del tamaño de bloque (110, 210) determina cuál de la primera secuencia y la segunda secuencia se usará para seleccionar el bloque objetivo en base a un tipo de imagen del bloque objetivo de codificación.El aparato de codificación de vídeo de acuerdo con la reivindicación 1,en donde la secuencia es una primera secuencia que comienza desde el tamaño de bloque más grande en el bloque objetivo de codificación o una segunda secuencia que comienza desde el tamaño de bloque más pequeño en el bloque objetivo de codificación,la unidad de determinación del tamaño de bloque (110, 210):en un caso donde la secuencia es la secuencia que comienza desde el tamaño de bloque más grande,calcula los valores de evaluación de bloques cuadrados que tienen el mismo tamaño de bloque en el que se divide cada bloque objetivo seleccionado y calcula una suma de los valores de evaluación calculados, yomite el cálculo de los valores de evaluación para bloques cuadrados que tienen el mismo tamaño de bloque obtenido al dividir cada bloque objetivo seleccionado si el valor de evaluación de cada bloque objetivo seleccionado es menor que la suma;en un caso donde la secuencia es la secuencia que comienza desde el tamaño de bloque más pequeño,determina una combinación de bloques cuadrados que constituyen una región dentro de cada bloque objetivo seleccionado en base a los valores de evaluación, yomite el cálculo de un valor de evaluación para un bloque cuadrado que incluye cada bloque objetivo seleccionado y está presente en una capa superior a la de cada bloque objetivo seleccionado si la combinación determinada de los bloques cuadrados dentro de cada bloque objetivo seleccionado es una combinación de una pluralidad de bloques cuadrados en los que se divide cada bloque objetivo seleccionado; ydetermina cuál de la primera secuencia y la segunda secuencia se usará para seleccionar el bloque objetivo en base a un tipo de imagen del bloque objetivo de codificación.8. El aparato de codificación de vídeo de acuerdo con la reivindicación 1,en donde la unidad de determinación del tamaño de bloque (110, 210) determina, como los tamaños de los bloques cuadrados que constituyen el bloque objetivo de codificación, una combinación de los bloques cuadrados que minimiza los valores de evaluación entre una pluralidad de combinaciones de los bloques cuadrados, que excluye un bloque cuadrado para el cual el valor de evaluación no se calcula, que constituye el bloque objetivo de codificación.9. Un método de determinación del tamaño de bloque para determinar los tamaños de los bloques cuadrados que constituyen un bloque objetivo de codificación para codificar bloques objetivo en los que se divide una región de imagen en la codificación de vídeo, cada bloque objetivo de codificación es un cuadrado y tiene un primer tamaño de bloque, el método de determinación del tamaño de bloque que comprendeuna etapa (S101, S107) de selección, como un bloque objetivo en una secuencia predeterminada, cada uno de los bloques cuadrados obtenidos mediante la modalidad de la división recursiva del bloque objetivo de codificación, la división recursiva que construye una estructura jerárquica de tamaños de bloques en la que el tamaño de bloque del bloque objetivo de codificación es el nivel más alto, cada división en la división recursiva se divide en bloques cuadrados que tienen el mismo tamaño de bloque, el bloque objetivo es un cuadrado,el método de determinación del tamaño de bloque se caracteriza por comprender:una etapa (S103) de determinar si existe al menos un bloque adyacente que tiene el mismo tamaño de primer bloque que el del bloque objetivo de codificación y es adyacente al bloque objetivo de codificación, y, si existe al menos un bloque adyacente, adquirir el tamaño de bloque más pequeño entre los tamaños de bloque de bloques cuadrados que constituyen el al menos un bloque adyacente;una etapa (S104-S106) de calcular, para cada bloque objetivo seleccionado, un valor de evaluación en base a un error entre una señal restaurada y una señal original en la codificación del bloque objetivo seleccionado, si se cumple una condición, en la que el tamaño de bloque del bloque objetivo seleccionado coincide con cualquiera de los tamaños de bloque más pequeño adquiridos, el tamaño de bloque un nivel más alto que el tamaño de bloque más pequeño adquirido, y el tamaño de bloque un nivel más bajo que el tamaño de bloque más pequeño adquirido, y omitir el cálculo del valor de evaluación del bloque objetivo seleccionado si la condición no se cumple, mientras se selecciona repetidamente el bloque objetivo en la secuencia predeterminada entre los bloques cuadrados con la estructura jerárquica en la que se divide recursivamente el bloque objetivo de codificación; yuna etapa de determinación (S108) de determinar, en base a los valores de evaluación calculados, los tamaños de los bloques cuadrados que constituyen el bloque objetivo de codificación correspondiente a una combinación de los bloques cuadrados para los cuales se calculan los valores de evaluación y los valores de evaluación son mínimos,en donde los bloques cuadrados que constituyen el bloque objetivo de codificación son unidades de codificación, y los tamaños determinados en la etapa de determinación son tamaños de las unidades de codificación dentro del bloque objetivo de codificación.10. Un programa informático que comprende instrucciones que, cuando el programa es ejecutado por un ordenador, hace que elordenador ejecute el método de determinación del tamaño de bloque de acuerdo con la reivindicación 9.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013077258A JP5719401B2 (ja) | 2013-04-02 | 2013-04-02 | ブロックサイズ決定方法、映像符号化装置、及びプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3040586T3 true ES3040586T3 (en) | 2025-11-03 |
Family
ID=51658171
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES23196969T Active ES3040586T3 (en) | 2013-04-02 | 2014-03-18 | Block size determination method, video encoding device, and program |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US10327003B2 (es) |
| EP (2) | EP2963925A4 (es) |
| JP (1) | JP5719401B2 (es) |
| ES (1) | ES3040586T3 (es) |
| WO (1) | WO2014162871A1 (es) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015059876A1 (ja) * | 2013-10-22 | 2015-04-30 | 日本電気株式会社 | ブロック構造決定回路およびブロック構造決定方法 |
| US20160373744A1 (en) * | 2014-04-23 | 2016-12-22 | Sony Corporation | Image processing apparatus and image processing method |
| CN104363452B (zh) * | 2014-10-17 | 2018-02-09 | 深圳市云宙多媒体技术有限公司 | 一种视频块划分方法及系统 |
| US9654782B2 (en) * | 2014-11-07 | 2017-05-16 | Qualcomm Incorporated | Low complexity coding based on dynamic mode decision branching |
| WO2016140090A1 (ja) * | 2015-03-04 | 2016-09-09 | ソニー株式会社 | 画像符号化装置および方法 |
| JP6543517B2 (ja) * | 2015-06-15 | 2019-07-10 | ハンファテクウィン株式会社 | 画像処理方法、画像処理装置及びプログラム |
| JP6510902B2 (ja) * | 2015-06-15 | 2019-05-08 | 日本放送協会 | 符号化装置、復号装置及びプログラム |
| JP6665611B2 (ja) | 2016-03-18 | 2020-03-13 | 富士通株式会社 | 符号化処理プログラム、符号化処理方法及び符号化処理装置 |
| JP6616242B2 (ja) * | 2016-05-20 | 2019-12-04 | 日本電信電話株式会社 | 映像符号化装置、ブロック構造決定方法及びコンピュータプログラム |
| EP3468186A4 (en) * | 2016-06-08 | 2019-09-18 | Sony Corporation | IMAGE PROCESSING APPARATUS AND METHOD |
| CN118945344A (zh) | 2016-10-04 | 2024-11-12 | 有限公司B1影像技术研究所 | 图像编码/解码方法、介质和传输比特流的方法 |
| CN120980221A (zh) * | 2016-10-04 | 2025-11-18 | 有限公司B1影像技术研究所 | 图像编码/解码方法和计算机可读记录介质 |
| EP3306928A1 (en) * | 2016-10-07 | 2018-04-11 | Thomson Licensing | Method and apparatus for encoding a video |
| WO2018088425A1 (ja) * | 2016-11-10 | 2018-05-17 | 日本電信電話株式会社 | 画像評価装置、画像評価方法及び画像評価プログラム |
| CN110169067B (zh) * | 2016-12-16 | 2021-12-31 | 夏普株式会社 | 图像解码装置以及图像编码装置 |
| AU2018332398B2 (en) * | 2017-09-12 | 2022-11-24 | Samsung Electronics Co., Ltd. | Method for encoding and decoding motion information and device for encoding and decoding motion information |
| CN113242429B (zh) * | 2021-05-11 | 2023-12-05 | 杭州网易智企科技有限公司 | 视频编码模式决策方法、装置、设备及存储介质 |
| CN117440157B (zh) * | 2023-09-26 | 2024-05-28 | 书行科技(北京)有限公司 | 视频编码方法、装置、设备及存储介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106303523B (zh) * | 2010-04-13 | 2020-09-11 | Ge视频压缩有限责任公司 | 解码器及方法、编码方法 |
| BR122020007922B1 (pt) | 2010-04-13 | 2021-08-31 | Ge Video Compression, Llc | Predição interplano |
| JP5661114B2 (ja) | 2010-07-20 | 2015-01-28 | 株式会社Nttドコモ | 画像予測符号化装置、画像予測符号化方法、画像予測符号化プログラム、画像予測復号装置、画像予測復号方法、及び、画像予測復号プログラム |
| JP5881361B2 (ja) | 2011-09-30 | 2016-03-09 | セコム株式会社 | 警備システム |
| US10863184B2 (en) * | 2012-08-15 | 2020-12-08 | Texas Instruments Incorporated | Fast intra-prediction mode selection in video coding |
-
2013
- 2013-04-02 JP JP2013077258A patent/JP5719401B2/ja active Active
-
2014
- 2014-03-18 WO PCT/JP2014/057372 patent/WO2014162871A1/ja not_active Ceased
- 2014-03-18 EP EP14779132.1A patent/EP2963925A4/en not_active Ceased
- 2014-03-18 US US14/781,255 patent/US10327003B2/en active Active
- 2014-03-18 ES ES23196969T patent/ES3040586T3/es active Active
- 2014-03-18 EP EP23196969.2A patent/EP4270951B1/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| US10327003B2 (en) | 2019-06-18 |
| EP4270951A2 (en) | 2023-11-01 |
| JP5719401B2 (ja) | 2015-05-20 |
| EP4270951B1 (en) | 2025-07-30 |
| EP2963925A4 (en) | 2016-07-27 |
| EP4270951A3 (en) | 2024-01-03 |
| WO2014162871A1 (ja) | 2014-10-09 |
| US20160057433A1 (en) | 2016-02-25 |
| EP2963925A1 (en) | 2016-01-06 |
| JP2014204207A (ja) | 2014-10-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3040586T3 (en) | Block size determination method, video encoding device, and program | |
| ES2784552T3 (es) | Procedimiento de decodificación de imagen, aparato de decodificación de imagen | |
| ES3009058T3 (en) | Multiple history based non-adjacent mvps for wavefront processing of video coding | |
| ES2908152T3 (es) | Procedimiento de decodificación de imágenes | |
| ES2699749B2 (es) | Método y aparato para procesar una señal de vídeo | |
| ES2755726T3 (es) | Procedimiento de codificación y aparato de codificación | |
| ES2884375T3 (es) | Intra predicción de croma de modelo lineal para codificación de vídeo | |
| ES2967198T3 (es) | Predicción intra utilizando píxeles de referencia de líneas adicionales | |
| ES2830053B2 (es) | Metodo y aparato para procesar senal de video | |
| ES2991675T3 (es) | Dispositivo de decodificación de imágenes, dispositivo de codificación de imágenes | |
| KR102303515B1 (ko) | 비디오 신호의 처리 방법 및 장치 | |
| ES2805313T3 (es) | Procedimiento de codificación de imágenes, procedimiento de descodificación de imágenes, aparato de codificación de imágenes, aparato de descodificación de imágenes y aparato de codificación / descodificación de imágenes | |
| ES2950029T3 (es) | Método de codificación de imágenes, dispositivo de codificación de imágenes, método de decodificación de imágenes, dispositivo de decodificación de imágenes y dispositivo de codificación/decodificación de imágenes | |
| ES2691743T3 (es) | Método de codificación de imágenes, método de decodificación de imágenes, dispositivo de codificación de imágenes y dispositivo de decodificación de imágenes | |
| ES2911670T3 (es) | Aparato, procedimiento y programa para decodificar imágenes en movimiento | |
| JP5616984B2 (ja) | 画像復号化装置 | |
| BR122022013246B1 (pt) | Aparelho de decodificação para decodificar um parâmetro de controle para controlar decodificação de uma imagem, e aparelho de codificação para codificar um parâmetro de controle para controlar codificação de uma imagem | |
| BR112013003437B1 (pt) | Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem | |
| US20160156911A1 (en) | Image encoding apparatus and method, and image encoding program | |
| ES2980558T3 (es) | Dispositivo de descodificación de imágenes, procedimiento de descodificación de imágenes y programa de descodificación de imágenes | |
| JP6331972B2 (ja) | 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム |