ES3055413T3 - Video decoding method and device, and video encoding method and device - Google Patents
Video decoding method and device, and video encoding method and deviceInfo
- Publication number
- ES3055413T3 ES3055413T3 ES19893600T ES19893600T ES3055413T3 ES 3055413 T3 ES3055413 T3 ES 3055413T3 ES 19893600 T ES19893600 T ES 19893600T ES 19893600 T ES19893600 T ES 19893600T ES 3055413 T3 ES3055413 T3 ES 3055413T3
- Authority
- ES
- Spain
- Prior art keywords
- encoding unit
- encoding
- luminance
- decoding device
- units
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/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/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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/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/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/186—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 colour or a chrominance component
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Se propone un método y un dispositivo para decodificar un vídeo, en donde un proceso de codificación y decodificación de vídeo comprende: determinar si un modo de predicción del bloque actual es un modo afín; dividir un bloque luma del bloque actual en una pluralidad de bloques sub-luma de forma cuadrada sobre la base de un tamaño de subbloque predeterminado si el modo de predicción del bloque actual es el modo afín; usar un vector de movimiento del bloque sub-luma superior izquierdo y un vector de movimiento del bloque sub-luma inferior derecho entre cuatro bloques sub-luma mutuamente adyacentes entre la pluralidad de bloques sub-luma para determinar un vector de movimiento luma promedio para los cuatro bloques sub-luma adyacentes; determinar el vector de movimiento luma promedio como el vector de movimiento del bloque sub-croma actual correspondiente a los cuatro bloques sub-luma; y predecir el bloque sub-croma actual mediante el vector de movimiento determinado. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Procedimiento y dispositivo de decodificación de vídeo, y procedimiento y dispositivo de codificación de vídeoCampo técnico
[0003] La descripción se refiere a un procedimiento de decodificación de vídeo y un dispositivo de decodificación de vídeo, y más particularmente, a un procedimiento y dispositivo de codificación de imágenes y un procedimiento y dispositivo de decodificación de imágenes, para determinar si un modo de predicción de un bloque actual es un modo afín, dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basándose en un tamaño de subbloque predefinido, determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia, determinar el vector de movimiento de luminancia medio para que sea un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia, y realizar predicción en el subbloque de crominancia actual usando el determinado vector de movimiento.
[0004] Antecedentes de la técnica
[0005] Los datos de imagen se codifican a través de un códec según un estándar de compresión de datos predefinido, por ejemplo, un estándar de grupo de expertos en imágenes en movimiento (Moving Picture Expert Group, MPEG), y a continuación se almacenan en forma de un flujo de bits en un medio de grabación o se transmiten a través de un canal de comunicación.
[0006] Con el desarrollo y la propagación de hardware capaz de reproducir y almacenar contenido de imagen de alta resolución o definición, aumenta la necesidad de un códec para codificar o decodificar de manera efectiva el contenido de imagen de alta resolución o definición. Los datos de imagen codificados pueden ser decodificados y reproducidos. Recientemente, se realizan procedimientos para comprimir eficazmente dicho contenido de imagen de alta resolución o definición. Por ejemplo, se propone que la tecnología de compresión de imágenes se implemente de manera efectiva a través de un proceso de segmentación de una imagen que se codificará a través de un procedimiento arbitrario o datos de representación.
[0007] Como una de las técnicas para representar datos, generalmente se usa un procedimiento para realizar predicción de crominancia basado en un modo de intrapredicción de un bloque de luminancia correspondiente a un bloque de crominancia en la predicción de crominancia.
[0008] En el documento de Chen J y col. “Algorithm Description for Versatile Video Coding and Test Model 3 (VTM 3)”.
[0009] 124. Reunión de MPEG; 20181008-20181012 y en el documento de Yang H y col. “Description of Core Experiment 4 (CE4): Interprediction and motion vector coding”. 10. Reunión de JVET; 10-4-18-20-4-2018 son descripciones relevantes para la presente invención.
[0010] Descripción de las realizaciones
[0011] Solución al problema
[0012] La invención se expone en el conjunto de reivindicaciones adjuntas.
[0013] Efectos ventajosos de la descripción
[0014] Al determinar si un modo de predicción de un bloque actual es un modo afín; dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basada en un tamaño de subbloque predefinido; determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia, usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia; determinar que el vector de movimiento de luminancia medio es un vector de movimiento de un subbloque de luminancia actual correspondiente a los cuatro subbloques de luminancia; y realizar predicción en el subbloque de luminancia actual usando el vector de movimiento determinado, en un proceso de codificación y decodificación de vídeo, predicción de un bloque de crominancia correspondiente a un bloque de luminancia de un bloque actual al que se aplica el modo afín puede mejorarse de manera eficiente.
[0015] Breve descripción de los dibujos
[0016] La FIG.1 ilustra un diagrama de bloques esquemático de un dispositivo de decodificación de imágenes según una realización.
[0017] La FIG. 2 ilustra un diagrama de flujo de un procedimiento de decodificación de imágenes según una realización.
[0018] La FIG. 3 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar al menos una unidad de codificación dividiendo una unidad de codificación actual, según una realización.
[0019] La FIG. 4 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar al menos una unidad de codificación dividiendo una unidad de codificación no cuadrada, según una realización. La FIG.5 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, de dividir una unidad de codificación basándose en al menos una de información de forma de bloque e información de modo de forma dividida, según una realización.
[0020] La FIG.6 ilustra un procedimiento, realizado por un dispositivo de decodificación de imágenes, para determinar una unidad de codificación preestablecida de entre un número impar de unidades de codificación, según una realización.
[0021] La FIG. 7 ilustra un orden de procesamiento de una pluralidad de unidades de codificación cuando un dispositivo de decodificación de imágenes determina la pluralidad de unidades de codificación dividiendo una unidad de codificación actual, según una realización.
[0022] La FIG.8 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar que una unidad de codificación actual debe dividirse en un número impar de unidades de codificación, cuando las unidades de codificación no son procesables en un orden preestablecido, según una realización.
[0023] La FIG. 9 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar al menos una unidad de codificación dividiendo una primera unidad de codificación, según una realización. La FIG.10 ilustra que una forma donde una segunda unidad de codificación es divisible está restringida cuando la segunda unidad de codificación que tiene una forma no cuadrada, que se determina cuando un dispositivo de decodificación de imágenes divide una primera unidad de codificación, satisface una condición preestablecida, según una realización.
[0024] La FIG.11 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, de dividir una unidad de codificación cuadrada cuando la información de modo de forma dividida indica que la unidad de codificación cuadrada no debe dividirse en unidades de codificación cuadradas, según una realización.
[0025] La FIG. 12 ilustra que un orden de procesamiento entre una pluralidad de unidades de codificación puede cambiarse dependiendo de un proceso de división de una unidad de codificación, según una realización. La FIG.13 ilustra un proceso para determinar una profundidad de una unidad de codificación como una forma y tamaño del cambio de unidad de codificación, cuando la unidad de codificación se divide recursivamente de modo que se determina una pluralidad de unidades de codificación, según una realización.
[0026] La FIG. 14 ilustra profundidades que son determinables según las formas y tamaños de las unidades de codificación, y los índices de parte (Part Indexes, PID) que son para distinguir las unidades de codificación, según una realización.
[0027] La FIG. 15 ilustra que una pluralidad de unidades de codificación se determina según una pluralidad de unidades de datos preestablecidas incluidas en una imagen, según una realización.
[0028] La FIG. 16 ilustra un bloque de procesamiento que sirve como una unidad para determinar un orden de determinación de unidades de codificación de referencia incluidas en una imagen, según una realización. La FIG.17 ilustra un diagrama de bloques de un dispositivo de codificación de vídeo según una realización. La FIG.18 ilustra un diagrama de flujo de un procedimiento de codificación de vídeo según una realización. La FIG.19 ilustra un diagrama de bloques de un dispositivo de decodificación de vídeo según una realización. La FIG.20 ilustra un diagrama de flujo de un procedimiento de decodificación de vídeo según una realización.
[0029] La FIG. 21A es una vista para ilustrar píxeles de luminancia y píxeles de crominancia cuando un formato de color es 4:2:0, la FIG. 21B es una vista para describir un procedimiento para realizar la predicción en un subbloque de crominancia correspondiente a cuatro subbloques de luminancia a través del uso de vectores de movimiento de los cuatro subbloques de luminancia, la FIG.21C es una vista para describir un procedimiento para realizar la predicción en un subbloque de crominancia correspondiente a cuatro subbloques de luminancia a través del uso de vectores de movimiento de subbloques de luminancia superior izquierdo e inferior derecho de los cuatro subbloques de luminancia, y la FIG.21D es una vista para describir un procedimiento para realizar predicción en un subbloque de crominancia correspondiente a cuatro subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia.
[0030] La FIG. 22 es una vista para describir detalladamente un procedimiento de derivación de un vector de movimiento que se aplicará a una muestra de un bloque actual en un modo afín.
[0031] La FIG.23 es una vista para describir un procedimiento de derivación de parámetros de un modo afín en una unidad de codificación que limita con un límite superior de una unidad de codificación más grande.
[0032] La FIG. 24 es una vista para describir un procedimiento para derivar parámetros de un modo afín a partir de bloques vecinos.
[0033] La FIG. 25 ilustra un proceso de determinación de candidatos de vectores de movimiento temporales para unidades de subbloque.
[0034] La FIG.26A es una vista para describir candidatos heredados afines en una lista de candidatos de fusión afines, y la FIG.26B es una vista para describir candidatos construidos afines en la lista de candidatos de fusión afines. La FIG. 27 es una vista para describir un procedimiento de determinación de resoluciones para tres vectores de movimiento de punto de control (Control Point Motion Vector, CPMV) de un modo afín.
[0035] La FIG.28 es una vista para describir un procedimiento para limitar un área de referencia para una reducción de ancho de banda de memoria en un modo afín.
[0036] La FIG. 29 describe un procedimiento de determinación de un procedimiento de determinación de vector de movimiento para un bloque actual en un modo afín.
[0037] Mejor modo
[0038] La invención se expone en el conjunto de reivindicaciones adjuntas.
[0039] Modo de descripción
[0040] Las ventajas y características de las realizaciones descritas y un procedimiento para lograrlas se pondrán de manifiesto con referencia a los dibujos adjuntos, donde se muestran las realizaciones. Sin embargo, la descripción puede materializarse en muchas formas diferentes y no debe interpretarse como limitada a las realizaciones establecidas en esta invención; más bien, estas realizaciones se proporcionan para que la presente descripción sea exhaustiva y completa, y transmita plenamente el concepto de la descripción a aquellos con conocimientos ordinarios en la técnica.
[0041] Los términos usados en esta memoria descriptiva se describirán brevemente y las realizaciones descritas se describirán en detalle.
[0042] Aunque los términos generales que se usan ampliamente en esta memoria descriptiva se seleccionaron como la terminología usada en la descripción mientras se consideran las funciones de la descripción, pueden variar según las intenciones de un experto en la técnica, los precedentes judiciales, el advenimiento de nuevas tecnologías y similares. Los términos seleccionados arbitrariamente por el solicitante de la descripción también pueden usarse en un caso específico. En este caso, sus significados se describirán en detalle en la descripción detallada de la descripción. Por lo tanto, los términos deben definirse según los significados de los términos y el contenido de toda la memoria descriptiva, no simplemente indicando los términos en sí.
[0043] Se entiende que las formas singulares "un", "una" y "el/la" incluyen referentes plurales a menos que el contexto indique claramente lo contrario.
[0044] Además, se entenderá que cuando una determinada parte "incluye" un determinado componente, la parte no excluye otro componente, sino que puede incluir además otro componente, a menos que el contexto indique claramente lo contrario.
[0045] Como se usan en esta invención, los términos "parte", "módulo" o "unidad" se refieren a un componente de software o hardware que realiza funciones predeterminadas. Sin embargo, el término "parte", "módulo" o "unidad" no se limita a software o hardware. La "parte", "módulo" o "unidad" puede configurarse en un medio de almacenamiento accesible, o puede configurarse para ejecutarse en al menos un procesador. Por lo tanto, por poner un ejemplo, el término "parte", "módulo" o "unidad" incluye: componentes tales como componentes de software, componentes de software orientados a objetos, componentes de clase y componentes de tarea; procesadores, funciones, atributos, procedimientos, subrutinas, segmentos de códigos de programa, controladores, firmware, microcódigos, circuitos, datos, bases de datos, estructuras de datos, tablas, matrices y variables. Las funciones proporcionadas en los componentes y "partes", "módulos" o "unidades" pueden combinarse en un número menor de componentes y "partes", "módulos" y "unidades", o subdividirse en componentes y "partes", "módulos" o "unidades" adicionales.
[0047] En una realización de la descripción, la "parte", "módulo" o "unidad" puede implementarse como un procesador y una memoria. El término "procesador" debe interpretarse en un sentido amplio para incluir un procesador de propósito general, una unidad central de procesamiento (Central Processing Unit, CPU), un microprocesador, un procesador de señales digitales (Digital Signal Processor, DSP), un controlador, un microcontrolador, una máquina de estado, etc. En algunas realizaciones, el "procesador" puede indicar un circuito integrado de aplicación específica (Application-Specific Integrated Circuit, ASIC), un dispositivo lógico programable (Programmable Logic Device, PLD), una matriz de compuertas programables de campo (Field Programmable Gate Array, FPGA), etc. El término "procesador" puede indicar una combinación de dispositivos de procesamiento, tales como, por ejemplo, una combinación de un DSP y un microprocesador, una combinación de una pluralidad de microprocesadores, una combinación de uno o más microprocesadores acoplados a un núcleo DSP o una combinación de otros componentes similares arbitrarios.
[0049] El término "memoria" debe interpretarse en un sentido amplio para incluir un componente electrónico arbitrario capaz de almacenar información electrónica. El término "memoria" puede indicar varios tipos de medios legibles por procesador, tales como memoria de acceso aleatorio (Random Access Memory, RAM), memoria de solo lectura (Read Only Memory, Rom), RAM no volátil (Non-volatile RAM, NVRAM), Rom programable (Programmable ROM, PROM), Rom programable y borrable (Erasable Programmable ROM, EPROM), PROM borrable eléctricamente (Electrically Erasable Prom, EEPROM), memoria flash, un dispositivo de almacenamiento de datos magnético u óptico, registros, etc. Cuando un procesador puede leer información de una memoria y/o escribir información en la memoria, puede considerarse que la memoria se comunica electrónicamente con el procesador. Una memoria integrada en un proceso se comunica electrónicamente con el procesador.
[0051] En lo sucesivo, una "imagen" puede indicar una imagen fija de un vídeo o puede indicar una imagen dinámica tal como una imagen en movimiento, es decir, el propio vídeo.
[0053] En lo sucesivo, una "muestra" denota datos asignados a una ubicación de muestreo de una imagen, es decir, datos a procesar. Por ejemplo, los valores de píxeles de una imagen en un dominio espacial y los coeficientes de transformada en una región de transformación pueden ser muestras. Una unidad incluyendo al menos una de dichas muestras puede definirse como un bloque.
[0055] Además, en la presente memoria descriptiva, un "bloque actual" puede denotar un bloque de una unidad de codificación más grande, una unidad de codificación, una unidad de predicción o una unidad de transformada de una imagen actual que se va a codificar o decodificar.
[0057] La descripción se describirá ahora más completamente con referencia a los dibujos adjuntos para que un experto en la técnica pueda realizar la descripción sin ninguna dificultad. Además, las partes irrelevantes para las descripciones de la descripción se omitirán en los dibujos para descripciones claras de la descripción.
[0058] A continuación, un dispositivo de codificación de imágenes, un dispositivo de decodificación de imágenes, un procedimiento de codificación de imágenes y un procedimiento de decodificación de imágenes, según una realización, se describirán con referencia a las FIGS.1 a 16. Un procedimiento para determinar una unidad de datos de una imagen, según una realización, se describirá con referencia a las FIGS.3 a 16, un procedimiento de codificación/decodificación de vídeo para determinar si un modo de predicción de un bloque actual es un modo afín, dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basándose en un tamaño de subbloque predefinido, determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia, determinar el vector de movimiento de luminancia medio para que sea un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia y realizar la predicción en el subbloque de crominancia actual usando el vector de movimiento determinado, según una realización, se describirá con referencia a las FIGS. 17 a 21, se describirá un procedimiento para derivar un vector de
movimiento que se aplicará a una muestra de un bloque actual en un modo afín con referencia a las FIGS.22 a 29, se describirá un procedimiento para derivar parámetros de un modo afín en una unidad de codificación que limita con un límite superior de una unidad de codificación más grande con referencia a la FIG. 23, se describirá un procedimiento para derivar parámetros de un modo afín a partir de bloques vecinos con referencia a la FIG.24, se describirá un procedimiento para determinar candidatos de vector de movimiento temporal para unidades de subbloque con referencia a la FIG. 25, los candidatos heredados afines y los candidatos construidos afines en una lista de candidatos de fusión afines se describirán con referencia a las FIGS.26A y 26B, se describirá un procedimiento de determinación de resoluciones para tres vectores de movimiento del punto de control (Control Point Motion Vector, CPMV) de un modo afín con referencia a la FIG. 27, y un procedimiento para limitar un área de referencia para una reducción del ancho de banda de memoria en un modo afín se describirá con referencia a la FIG.28.
[0059] A continuación, se describirá un procedimiento y dispositivo para seleccionar adaptativamente un modelo de contexto, según diversas formas de unidades de codificación, según una realización de la descripción, con referencia a las FIGS.1 y 2.
[0060] La FIG.1 ilustra un diagrama de bloques esquemático de un dispositivo de decodificación de imágenes según una realización.
[0061] El dispositivo 100 de decodificación de imágenes puede incluir un receptor 110 y un decodificador 120. El receptor 110 y el decodificador 120 pueden incluir al menos un procesador. Además, el receptor 110 y el decodificador 120 pueden incluir una memoria que almacena instrucciones a ser realizadas por el al menos un procesador.
[0062] El receptor 110 puede recibir un flujo de bits. El flujo de bits incluye información de una imagen codificada por un dispositivo 2200 de codificación de imágenes descrito a continuación. Además, el flujo de bits puede transmitirse desde el dispositivo 2200 de codificación de imágenes. El dispositivo 2200 de codificación de imágenes y el dispositivo 100 de decodificación de imágenes pueden estar conectados por cable o de forma inalámbrica, y el receptor 110 puede recibir el flujo de bits por cable o de forma inalámbrica. El receptor 110 puede recibir el flujo de bits de un medio de almacenamiento, tal como un medio óptico o un disco duro. El decodificador 120 puede reconstruir una imagen según la información obtenida del flujo de bits recibido. El decodificador 120 puede obtener, a partir del flujo de bits, un elemento de sintaxis para reconstruir la imagen. El decodificador 120 puede reconstruir la imagen según el elemento de sintaxis.
[0063] Las operaciones del dispositivo 100 de decodificación de imágenes se describirán en detalle con referencia a la FIG.2.
[0064] La FIG. 2 ilustra un diagrama de flujo de un procedimiento de decodificación de imágenes según una realización.
[0065] Según una realización de la descripción, el receptor 110 recibe un flujo de bits.
[0066] El dispositivo 100 de decodificación de imágenes obtiene, a partir de un flujo de bits, una cadena de bin correspondiente a un modo de forma dividida de una unidad de codificación (operación 210). El dispositivo 100 de decodificación de imágenes determina una regla de división de unidades de codificación (operación 220). Además, el dispositivo 100 de decodificación de imágenes divide la unidad de codificación en una pluralidad de unidades de codificación, según al menos una de la cadena de bin correspondiente al modo de forma dividida y la regla de división (operación 230). El dispositivo 100 de decodificación de imágenes puede determinar un primer intervalo permisible de un tamaño de la unidad de codificación, según una relación del ancho y la altura de la unidad de codificación, para determinar la regla de división. El dispositivo 100 de decodificación de imágenes puede determinar un segundo intervalo permisible del tamaño de la unidad de codificación, según el modo de forma dividida de la unidad de codificación, para determinar la regla de división. En lo sucesivo, la división de una unidad de codificación se describirá en detalle según una realización de la descripción.
[0067] En primer lugar, una imagen puede dividirse en uno o más fragmentos o uno o más mosaicos. Un fragmento o un mosaico puede ser una secuencia de una o más unidades de codificación más grandes (unidades de árbol de codificación (Coding Tree Units, CTU)). Hay un bloque de codificación más grande (bloque de árbol de codificación (Coding Tree Block, CTB)) conceptualmente en comparación con una unidad de codificación más grande (Largest Coding Unit, CTU).
[0068] El bloque de codificación más grande (Coding Tree Block, CTB) denota un bloque NxN incluyendo NxN muestras (donde N es un número entero). Cada componente de color puede dividirse en uno o más bloques de codificación más grandes.
[0069] Cuando una imagen tiene tres matrices de muestras (matrices de muestras para componentes Y, Cr y Cb), una unidad de codificación más grande (Largest Coding Unit, CTU) incluye un bloque de codificación más grande de una muestra de luminancia, dos bloques de codificación correspondientes más grandes de muestras de crominancia y estructuras de sintaxis usadas para codificar la muestra de luminancia y las muestras de crominancia. Cuando una imagen es una imagen monocromática, una unidad de codificación más grande incluye un bloque de codificación más grande de una muestra monocromática y estructuras de sintaxis usadas para codificar las muestras monocromáticas. Cuando una imagen es una imagen codificada en planos de color separados según los componentes de color, una unidad de codificación más grande incluye estructuras de sintaxis usadas para codificar la imagen y muestras de la imagen.
[0070] Un bloque de codificación más grande (Coding Tree Block, CTB) puede dividirse en MxN bloques de codificación incluyendo MxN muestras (M y N son números enteros).
[0071] Cuando una imagen tiene matrices de muestras para componentes Y, Cr y Cb, una unidad de codificación (Coding Unit, CU) incluye un bloque de codificación de una muestra de luminancia, dos bloques de codificación correspondientes de muestras de crominancia y estructuras de sintaxis usadas para codificar la muestra de luminancia y las muestras de crominancia. Cuando una imagen es una imagen monocromática, una unidad de codificación incluye un bloque de codificación de una muestra monocromática y estructuras de sintaxis usadas para codificar las muestras monocromáticas. Cuando una imagen es una imagen codificada en planos de color separados según los componentes de color, una unidad de codificación incluye estructuras de sintaxis usadas para codificar la imagen y muestras de la imagen.
[0072] Como se describió anteriormente, un bloque de codificación más grande y una unidad de codificación más grande se distinguen conceptualmente entre sí, y un bloque de codificación y una unidad de codificación se distinguen conceptualmente entre sí. Es decir, una unidad de codificación (más grande) se refiere a una estructura de datos incluyendo un bloque de codificación (más grande) incluyendo una muestra correspondiente y una estructura de sintaxis correspondiente al bloque de codificación (más grande). Sin embargo, debido a que un experto en la técnica entiende que una unidad de codificación (más grande) o un bloque de codificación (más grande) se refiere a un bloque de un tamaño preestablecido incluyendo un número preestablecido de muestras, un bloque de codificación más grande y una unidad de codificación más grande, o un bloque de codificación y una unidad de codificación se mencionan en la siguiente memoria descriptiva sin distinguirse a menos que se describa lo contrario.
[0073] Una imagen puede dividirse en unidades de codificación más grandes (Largest Coding Units, CTU). Un tamaño de cada unidad de codificación más grande puede determinarse según la información obtenida de un flujo de bits. Una forma de cada unidad de codificación más grande puede ser una forma cuadrada del mismo tamaño. Sin embargo, la realización no se limita a esto.
[0074] Por ejemplo, la información sobre un tamaño máximo de un bloque de codificación de luminancia puede obtenerse de un flujo de bits. Por ejemplo, el tamaño máximo del bloque de codificación de luminancia indicado por la información sobre el tamaño máximo del bloque de codificación de luminancia puede ser uno de 4x4, 8x8, 16x16, 32x32, 64x64, 128x128 y 256x256.
[0075] Por ejemplo, la información sobre una diferencia de tamaño de bloque de luminancia y un tamaño máximo de un bloque de codificación de luminancia que puede dividirse en dos puede obtenerse de un flujo de bits. La información sobre la diferencia de tamaño del bloque de luminancia puede referirse a una diferencia de tamaño entre una unidad de codificación más grande de luminancia y un bloque de codificación de luminancia más grande que puede dividirse en dos. Por consiguiente, cuando la información sobre el tamaño máximo del bloque de codificación de luminancia que puede dividirse en dos y la información sobre la diferencia de tamaño del bloque de luminancia obtenida del flujo de bits se combinan entre sí, puede determinarse un tamaño de la unidad de codificación más grande de luminancia. El tamaño de una unidad de codificación más grande de crominancia puede determinarse usando el tamaño de la unidad de codificación más grande de luminancia. Por ejemplo, cuando una relación Y: Cb: Cr es 4:2:0 según un formato de color, un tamaño de un bloque de crominancia puede ser la mitad del tamaño de un bloque de luminancia, y un tamaño de una unidad de codificación más grande de crominancia puede ser la mitad del tamaño de una unidad de codificación más grande de luminancia.
[0076] Según una realización, debido a que la información sobre un tamaño máximo de un bloque de codificación de luminancia que es divisible en binario se obtiene a partir de un flujo de bits, el tamaño máximo del bloque de codificación de luminancia que es divisible en binario puede determinarse de manera variable. Por el contrario, un tamaño máximo de un bloque de codificación de luminancia que es divisible ternario puede ser fijo. Por ejemplo, el tamaño máximo del bloque de codificación de luminancia que es divisible ternariamente en una imagen l puede ser 32x32, y el tamaño máximo del bloque de codificación de luminancia que es divisible ternariamente en una imagen P o una imagen B puede ser 64x64.
[0077] Además, una unidad de codificación más grande puede dividirse jerárquicamente en unidades de codificación
según la información de modo de forma dividida obtenida de un flujo de bits. Al menos una de la información que indica si se realiza la división cuádruple, la información que indica si se realiza la división múltiple, la información de dirección de división y la información de tipo de división pueden obtenerse como la información de modo de forma dividida del flujo de bits.
[0078] Por ejemplo, la información que indica si se realiza división cuádruple puede indicar si una unidad de codificación actual es división cuádruple (QUAD_SPLIT) o no.
[0079] Cuando la unidad de codificación actual no tiene división cuádruple, la información que indica si se realiza división múltiple puede indicar si la unidad de codificación actual ya no está dividida (NO_SPLIT) o división binaria/ternaria.
[0080] Cuando la unidad de codificación actual es una división binaria o una división ternaria, la información de dirección de división indica que la unidad de codificación actual se divide en una de una dirección horizontal y una dirección vertical.
[0081] Cuando la unidad de codificación actual se divide en la dirección horizontal o la dirección vertical, la información de tipo de división indica que la unidad de codificación actual es una división binaria o una división ternaria. Un modo de división de la unidad de codificación actual puede determinarse según la información de dirección de división y la información de tipo de división. Puede determinarse que un modo de división cuando la unidad de codificación actual se divide en binario en la dirección horizontal es un modo de división horizontal binario (SPLIT_BT_HOR), puede determinarse que un modo de división cuando la unidad de codificación actual se divide en ternario en la dirección horizontal es un modo de división horizontal ternario (SPLIT_TT_HOR), puede determinarse que un modo de división cuando la unidad de codificación actual se divide en binario en la dirección vertical es un modo de división vertical binario (SPLIT_BT_VER), y puede determinarse que un modo de división cuando la unidad de codificación actual se divide en ternario en la dirección vertical es un modo de división vertical ternario (SPLIT_TT_VER).
[0082] El dispositivo 100 de decodificación de imágenes puede obtener, a partir del flujo de bits, la información de modo de forma dividida a partir de una cadena de bin. Una forma del flujo de bits recibido por el dispositivo 100 de decodificación de imágenes puede incluir código binario de longitud fija, código unario, código unario truncado, código binario predeterminado o similares. La cadena de bin es información en un número binario. La cadena de bins puede incluir al menos un bit. El dispositivo 100 de decodificación de imágenes puede obtener la información de modo de forma dividida correspondiente a la cadena de bins, basado en la regla de división. El dispositivo 100 de decodificación de imágenes puede determinar si dividir en cuatro una unidad de codificación, si no dividir una unidad de codificación, una dirección de división y un tipo de división, según una cadena de bin.
[0083] La unidad de codificación puede ser menor o igual que la unidad de codificación más grande. Por ejemplo, debido a que una unidad de codificación más grande es una unidad de codificación que tiene un tamaño máximo, la unidad de codificación más grande es una de las unidades de codificación. Cuando la información de modo de forma dividida sobre una unidad de codificación más grande indica que no se realiza la división, una unidad de codificación determinada en la unidad de codificación más grande tiene el mismo tamaño que el de la unidad de codificación más grande. Cuando la información de modo de forma dividida sobre una unidad de codificación más grande indica que se realiza la división, la unidad de codificación más grande puede dividirse en unidades de codificación. Además, cuando la información de modo de forma dividida sobre una unidad de codificación indica que se realiza la división, la unidad de codificación puede dividirse en unidades de codificación más pequeñas. Sin embargo, la división de la imagen no está limitada a esto, y la unidad de codificación más grande y la unidad de codificación pueden no distinguirse. La división de la unidad de codificación se describirá en detalle con referencia a las FIGS.3 a 16.
[0084] Además, uno o más bloques de predicción para la predicción pueden determinarse a partir de una unidad de codificación. El bloque de predicción puede ser igual o menor que la unidad de codificación. Además, uno o más bloques de transformada para la transformación pueden determinarse a partir de una unidad de codificación. El bloque de transformada puede ser igual o más pequeño que la unidad de codificación.
[0085] Las formas y tamaños del bloque de transformada y el bloque de predicción pueden no estar relacionados entre sí.
[0086] En otra realización, la predicción puede realizarse a través del uso de una unidad de codificación como una unidad de predicción. Asimismo, la transformación puede realizarse a través del uso de una unidad de codificación como un bloque de transformada.
[0087] La división de la unidad de codificación se describirá en detalle con referencia a las FIGS. 3 a 16. Un bloque actual y un bloque vecino de la descripción pueden indicar una de la unidad de codificación más grande, la
unidad de codificación, el bloque de predicción y el bloque de transformada. Además, el bloque actual de la unidad de codificación actual es un bloque que se está decodificando o codificando actualmente o un bloque que se está dividiendo actualmente. El bloque vecino puede ser un bloque reconstruido antes del bloque actual. El bloque vecino puede ser adyacente al bloque actual espacial o temporalmente. El bloque vecino puede estar ubicado en uno de los bloques inferior izquierdo, izquierdo, superior izquierdo, superior, superior derecho, derecho, inferior derecho del bloque actual.
[0089] La FIG. 3 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar al menos una unidad de codificación dividiendo una unidad de codificación actual, según una realización.
[0091] Una forma de bloque puede incluir 4Nx4N, 4Nx2N, 2Nx4N, 4NxN, Nx4N, 32NxN, Nx32N, 16NxN, Nx16N, 8NxN o Nx8N. Aquí, N puede ser un entero positivo. La información de forma de bloque es información que indica al menos una de una forma, una dirección, una relación de ancho y altura o el tamaño de una unidad de codificación.
[0093] La forma de la unidad de codificación puede incluir un cuadrado y un no cuadrado. Cuando las longitudes del ancho y la altura de la unidad de codificación son las mismas (es decir, cuando la forma de bloque de la unidad de codificación es 4Nx4N), el dispositivo 100 de decodificación de imágenes puede determinar la información de forma de bloque de la unidad de codificación como un cuadrado. El dispositivo 100 de decodificación de imágenes puede determinar que la forma de la unidad de codificación no sea cuadrada.
[0095] Cuando el ancho y la altura de la unidad de codificación son diferentes entre sí (es decir, cuando la forma de bloque de la unidad de codificación es 4Nx2N, 2Nx4N, 4NxN, Nx4N, 32NxN, Nx32N, 16NxN, Nx16N, 8NxN o Nx8N), el dispositivo 100 de decodificación de imágenes puede determinar la información de forma de bloque de la unidad de codificación como una forma no cuadrada. Cuando la forma de la unidad de codificación no es cuadrada, el dispositivo 100 de decodificación de imágenes puede determinar la relación del ancho y la altura entre la información de forma de bloque de la unidad de codificación para que sea al menos una de 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 1:32 y 32:1. Además, el dispositivo 100 de decodificación de imágenes puede determinar si la unidad de codificación está en una dirección horizontal o en una dirección vertical, según la longitud del ancho y la longitud de la altura de la unidad de codificación. Además, el dispositivo 100 de decodificación de imágenes puede determinar el tamaño de la unidad de codificación, basado en al menos uno de la longitud del ancho, la longitud de la altura o el área de la unidad de codificación.
[0097] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar la forma de la unidad de codificación usando la información de forma de bloque, y puede determinar un procedimiento de división de la unidad de codificación usando la información de modo de forma dividida. Es decir, un procedimiento de división de unidad de codificación indicado por la información de modo de forma dividida puede determinarse basándose en una forma de bloque indicada por la información de forma de bloque usada por el dispositivo 100 de decodificación de imágenes.
[0099] El dispositivo 100 de decodificación de imágenes puede obtener la información de modo de forma dividida de un flujo de bits. Sin embargo, una realización no se limita a esto, y el dispositivo 100 de decodificación de imágenes y el dispositivo 2200 de codificación de imágenes pueden determinar información de modo de forma dividida previamente acordada, según la información de forma de bloque. El dispositivo 100 de decodificación de imágenes puede determinar la información de modo de forma dividida acordada previamente con respecto a una unidad de codificación más grande o una unidad de codificación más pequeña. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar que la información de modo de forma dividida con respecto a la unidad de codificación más grande es una división cuádruple. Además, el dispositivo 100 de decodificación de imágenes puede determinar que la información de modo de forma dividida con respecto a la unidad de codificación más pequeña "no debe realizar la división". En particular, el dispositivo 100 de decodificación de imágenes puede determinar que el tamaño de la unidad de codificación más grande sea 256x256. El dispositivo 100 de decodificación de imágenes puede determinar que la información de modo de forma dividida acordada previamente sea una división cuádruple. La división cuádruple es un modo de forma dividida donde el ancho y la altura de la unidad de codificación se dividen. El dispositivo 100 de decodificación de imágenes puede obtener una unidad de codificación de un tamaño de 128x128 a partir de la unidad de codificación más grande de un tamaño de 256x256, basándose en la información de modo de forma dividida. Además, el dispositivo 100 de decodificación de imágenes puede determinar que el tamaño de la unidad de codificación más pequeña sea 4x4. El dispositivo 100 de decodificación de imágenes puede obtener información de modo de forma dividida que indica "no realizar división" con respecto a la unidad de codificación más pequeña.
[0101] Según una realización, el dispositivo 100 de decodificación de imágenes puede usar la información de forma de bloque que indica que la unidad de codificación actual tiene una forma cuadrada. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar si no dividir una unidad de codificación cuadrada, si dividir verticalmente la unidad de codificación cuadrada, si dividir horizontalmente la unidad de codificación cuadrada o si dividir la unidad de codificación cuadrada en cuatro unidades de codificación, basado en la información de
modo de forma dividida. Con referencia a la FIG. 3, cuando la información de forma de bloque de una unidad 300 de codificación actual indica una forma cuadrada, el decodificador 120 puede no dividir una unidad 310a de codificación que tenga el mismo tamaño que la unidad 300 de codificación actual, según la información de modo de forma dividida que indica que no se debe realizar la división, o puede determinar la división de las unidades 310b, 310c, 310d, 310e o 310f de codificación según la información de modo de forma dividida que indica un procedimiento de división preestablecido.
[0102] Con referencia a la FIG. 3, según una realización, el dispositivo 100 de decodificación de imágenes puede determinar dos unidades 310b de codificación obtenidas dividiendo la unidad 300 de codificación actual en una dirección vertical, según la información de modo de forma dividida que indica realizar la división en una dirección vertical. El dispositivo 100 de decodificación de imágenes puede determinar dos unidades 310c de codificación obtenidas dividiendo la unidad 300 de codificación actual en una dirección horizontal, según la información de modo de forma dividida que indica realizar la división en una dirección horizontal. El dispositivo 100 de decodificación de imágenes puede determinar cuatro unidades 310d de codificación obtenidas dividiendo la unidad 300 de codificación actual en direcciones vertical y horizontal, basándose en la información de modo de forma dividida que indica realizar la división en direcciones vertical y horizontal. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar tres unidades 310e de codificación obtenidas dividiendo la unidad 300 de codificación actual en una dirección vertical, basándose en la información de modo de forma dividida que indica realizar la división ternaria en una dirección vertical. El dispositivo 100 de decodificación de imágenes puede determinar tres unidades 310f de codificación obtenidas dividiendo la unidad 300 de codificación actual en una dirección horizontal, según la información de modo de forma dividida que indica realizar la división ternaria en una dirección horizontal. Sin embargo, los procedimientos de división de la unidad de codificación cuadrada no se limitan a los procedimientos descritos anteriormente, y la información de modo de forma dividida puede indicar varios procedimientos. Los procedimientos de división preestablecidos para dividir la unidad de codificación cuadrada se describirán en detalle a continuación en relación con varias realizaciones.
[0103] La FIG. 4 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar al menos una unidad de codificación dividiendo una unidad de codificación no cuadrada, según una realización. Según una realización, el dispositivo 100 de decodificación de imágenes puede usar información de forma de bloque que indica que una unidad de codificación actual tiene una forma no cuadrada. El dispositivo 100 de decodificación de imágenes puede determinar si no dividir la unidad de codificación actual no cuadrada o si dividir la unidad de codificación actual no cuadrada a través del uso de un procedimiento de división preestablecido, según la información de modo de forma dividida. Con referencia a la FIG. 4, cuando la información de forma de bloque de una unidad 400 o 450 de codificación actual indica una forma no cuadrada, el dispositivo 100 de decodificación de imágenes puede determinar una unidad 410 o 460 de codificación que tiene el mismo tamaño que la unidad 400 o 450 de codificación actual, basándose en la información de modo de forma dividida que indica no realizar la división, o puede determinar las unidades 420a y 420b, 430a a 430c, 470a y 470b, o 480a a 480c de codificación divididas basándose en la información de modo de forma dividida que indica un procedimiento de división preestablecido. Los procedimientos de división preestablecidos para dividir una unidad de codificación no cuadrada se describirán en detalle a continuación en relación con diversas realizaciones.
[0104] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar un procedimiento de división de una unidad de codificación usando la información de modo de forma dividida y, en este caso, la información de modo de forma dividida puede indicar el número de una o más unidades de codificación generadas dividiendo una unidad de codificación. Con referencia a la FIG. 4, cuando la información de modo de forma dividida indica dividir la unidad 400 o 450 de codificación actual en dos unidades de codificación, el dispositivo 100 de decodificación de imágenes puede determinar dos unidades 420a y 420b, o 470a y 470b de codificación incluidas en la unidad 400 o 450 de codificación actual, dividiendo la unidad 400 o 450 de codificación actual según la información de modo de forma dividida.
[0105] Según una realización, cuando el dispositivo 100 de decodificación de imágenes divide la unidad 400 o 450 de codificación actual no cuadrada basándose en la información de modo de forma dividida, el dispositivo 100 de decodificación de imágenes puede considerar la ubicación de un lado largo de la unidad 400 o 450 de codificación actual no cuadrada para dividir una unidad de codificación actual. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar una pluralidad de unidades de codificación dividiendo la unidad 400 o 450 de codificación actual en una dirección de división de un lado largo de la unidad 400 o 450 de codificación actual, en consideración de la forma de la unidad 400 o 450 de codificación actual.
[0106] Según una realización, cuando la información de modo de forma dividida indica dividir (división ternaria) una unidad de codificación en un número impar de bloques, el dispositivo 100 de decodificación de imágenes puede determinar un número impar de unidades de codificación incluidas en la unidad 400 o 450 de codificación actual. Por ejemplo, cuando la información de modo de forma dividida indica dividir la unidad 400 o 450 de codificación actual en tres unidades de codificación, el dispositivo 100 de decodificación de imágenes puede
dividir la unidad 400 o 450 de codificación actual en tres unidades 430a, 430b y 430c, o 480a, 480b y 480c de codificación.
[0108] Según una realización, una relación del ancho y la altura de la unidad 400 o 450 de codificación actual puede ser 4:1 o 1:4. Cuando la relación del ancho y la altura es de 4:1, la información de la forma del bloque puede indicar una dirección horizontal porque la longitud del ancho es más larga que la longitud de la altura. Cuando la relación del ancho y la altura es 1:4, la información de la forma del bloque puede indicar una dirección vertical porque la longitud del ancho es más corta que la longitud de la altura. El dispositivo 100 de decodificación de imágenes puede determinar dividir una unidad de codificación actual en el número impar de bloques, según la información de modo de forma dividida. Además, el dispositivo 100 de decodificación de imágenes puede determinar una dirección de división de la unidad 400 o 450 de codificación actual, según la información de forma de bloque de la unidad 400 o 450 de codificación actual. Por ejemplo, cuando la unidad 400 de codificación actual está en la dirección vertical, el dispositivo 100 de decodificación de imágenes puede determinar las unidades 430a a 430c de codificación dividiendo la unidad 400 de codificación actual en la dirección horizontal. Además, cuando la unidad 450 de codificación actual está en la dirección horizontal, el dispositivo 100 de decodificación de imágenes puede determinar las unidades 480a a 480c de codificación dividiendo la unidad 450 de codificación actual en la dirección vertical.
[0110] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar el número impar de unidades de codificación incluidas en la unidad 400 o 450 de codificación actual, y no todas las unidades de codificación determinadas pueden tener el mismo tamaño. Por ejemplo, una unidad 430b o 480b de codificación preestablecida de entre el número impar determinado de unidades 430a, 430b y 430c, o 480a, 480b y 480c de codificación puede tener un tamaño diferente del tamaño de las otras unidades 430a y 430c, o 480a y 480c de codificación. Es decir, las unidades de codificación que pueden determinarse dividiendo la unidad 400 o 450 de codificación actual pueden tener múltiples tamaños y, en algunos casos, todo el número impar de unidades 430a, 430b y 430c, o 480a, 480b y 480c de codificación pueden tener diferentes tamaños.
[0112] Según una realización, cuando la información de modo de forma dividida indica dividir una unidad de codificación en el número impar de bloques, el dispositivo 100 de decodificación de imágenes puede determinar el número impar de unidades de codificación incluidas en la unidad 400 o 450 de codificación actual, y además, puede poner una restricción preestablecida en al menos una unidad de codificación de entre el número impar de unidades de codificación generadas dividiendo la unidad 400 o 450 de codificación actual. Con referencia a la FIG.4, el dispositivo 100 de decodificación de imágenes puede establecer un proceso de decodificación con respecto a la unidad 430b o 480b de codificación ubicada en el centro entre las tres unidades 430a, 430b y 430c, o 480a, 480b y 480c de codificación generada a medida que la unidad 400 o 450 de codificación actual se divide para que sea diferente de la de las otras unidades 430a y 430c, o 480a y 480c de codificación. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede restringir la unidad 430b o 480b de codificación en la ubicación central para que ya no se divida o se divida solo un número preestablecido de veces, a diferencia de las otras unidades 430a y 430c, o 480a y 480c de codificación.
[0114] La FIG.5 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, de dividir una unidad de codificación basándose en al menos una de información de forma de bloque e información de modo de forma dividida, según una realización.
[0116] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar dividir o no dividir una primera unidad 500 de codificación cuadrada en unidades de codificación, según al menos una de la información de forma de bloque y la información de modo de forma dividida. Según una realización, cuando la información de modo de forma dividida indica dividir la primera unidad 500 de codificación en una dirección horizontal, el dispositivo 100 de decodificación de imágenes puede determinar una segunda unidad 510 de codificación dividiendo la primera unidad 500 de codificación en una dirección horizontal. Una primera unidad de codificación, una segunda unidad de codificación y una tercera unidad de codificación usadas según una realización son términos usados para comprender una relación antes y después de dividir una unidad de codificación. Por ejemplo, una segunda unidad de codificación puede determinarse dividiendo una primera unidad de codificación, y una tercera unidad de codificación puede determinarse dividiendo la segunda unidad de codificación. Se entenderá que la relación de la primera unidad de codificación, la segunda unidad de codificación y la tercera unidad de codificación sigue las descripciones anteriores.
[0118] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar dividir o no dividir la segunda unidad 510 de codificación determinada en unidades de codificación, según la información de modo de forma dividida. Con referencia a la FIG.5, el dispositivo 100 de decodificación de imágenes puede dividir la segunda unidad 510 de codificación no cuadrada, que se determina dividiendo la primera unidad 500 de codificación, en una o más terceras unidades 520a, 520b, 520c y 520d de codificación según al menos una de la información de modo de forma dividida y la información de modo de forma dividida, o puede no dividir la segunda unidad 510 de codificación no cuadrada. El dispositivo 100 de decodificación de imágenes puede obtener la información de modo de forma dividida, y puede obtener una pluralidad de segundas unidades de codificación de varias formas (por ejemplo, 510) dividiendo la primera unidad 500 de codificación, según la
información de modo de forma dividida obtenida, y la segunda unidad 510 de codificación puede dividirse usando un procedimiento de división de la primera unidad 500 de codificación según la información de modo de forma dividida. Según una realización, cuando la primera unidad 500 de codificación se divide en las segundas unidades 510 de codificación según la información de modo de forma dividida de la primera unidad 500 de codificación, la segunda unidad 510 de codificación también puede dividirse en las terceras unidades de codificación (por ejemplo, 520a, o 520b, 520c, y 520d) según la información de modo de forma dividida de la segunda unidad 510 de codificación. Es decir, una unidad de codificación puede dividirse recursivamente según la información de modo de forma dividida de cada unidad de codificación. Por lo tanto, una unidad de codificación cuadrada puede determinarse dividiendo una unidad de codificación no cuadrada, y una unidad de codificación no cuadrada puede determinarse dividiendo recursivamente la unidad de codificación cuadrada.
[0119] Con referencia a la FIG.5, una unidad de codificación preestablecida (por ejemplo, una unidad de codificación ubicada en una ubicación central, o una unidad de codificación cuadrada) de entre un número impar de terceras unidades 520b, 520c y 520d de codificación determinadas dividiendo la segunda unidad 510 de codificación no cuadrada puede dividirse recursivamente. Según una realización, la tercera unidad 520c de codificación cuadrada de entre el número impar de terceras unidades 520b, 520c y 520d de codificación puede dividirse en una dirección horizontal en una pluralidad de cuartas unidades de codificación. Una cuarta unidad 530b o 530d de codificación no cuadrada de entre la pluralidad de cuartas unidades 530a, 530b, 530c y 530d de codificación puede volverse a dividir en una pluralidad de unidades de codificación. Por ejemplo, la cuarta unidad 530b o 530d de codificación no cuadrada puede volverse a dividir en un número impar de unidades de codificación. A continuación, se describirá un procedimiento que puede usarse para dividir recursivamente una unidad de codificación en relación con diversas realizaciones.
[0121] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir cada una de las terceras unidades 520a, o 520b, 520c, y 520d de codificación en unidades de codificación, según la información de modo de forma dividida. Además, el dispositivo 100 de decodificación de imágenes puede determinar no dividir la segunda unidad 510 de codificación según la información de modo de forma dividida. Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir la segunda unidad 510 de codificación no cuadrada en el número impar de terceras unidades 520b, 520c y 520d de codificación. El dispositivo 100 de decodificación de imágenes puede poner una restricción preestablecida en una tercera unidad de codificación preestablecida de entre el número impar de terceras unidades 520b, 520c y 520d de codificación. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede restringir la tercera unidad 520c de codificación en una ubicación central de entre el número impar de terceras unidades 520b, 520c y 520d de codificación para que ya no se divida o se divida un número de veces configurable.
[0123] Con referencia a la FIG.5, el dispositivo 100 de decodificación de imágenes puede restringir la tercera unidad 520c de codificación, que está en la ubicación central de entre el número impar de terceras unidades 520b, 520c y 520d de codificación incluidas en la segunda unidad 510 de codificación no cuadrada, para que ya no se divida, para que se divida a través del uso de un procedimiento de división preestablecido (por ejemplo, se divida en solo cuatro unidades de codificación o se divida a través del uso de un procedimiento de división de la segunda unidad 510 de codificación), o para que se divida solo un número preestablecido de veces (por ejemplo, se divida solo n veces (donde n>0)). Sin embargo, las restricciones en la tercera unidad 520c de codificación en la ubicación central no se limitan a los ejemplos descritos anteriormente, y pueden incluir diversas restricciones para decodificar la tercera unidad 520c de codificación en la ubicación central de manera diferente a las otras terceras unidades 520b y 520d de codificación.
[0125] Según una realización, el dispositivo 100 de decodificación de imágenes puede obtener la información de modo de forma dividida, que se usa para dividir una unidad de codificación actual, a partir de una ubicación preestablecida en la unidad de codificación actual.
[0127] La FIG.6 ilustra un procedimiento, realizado por un dispositivo de decodificación de imágenes, para determinar una unidad de codificación preestablecida de entre un número impar de unidades de codificación, según una realización.
[0129] Con referencia a la FIG.6, la información de modo de forma dividida de una unidad 600 o 650 de codificación actual puede obtenerse a partir de una muestra de una ubicación preestablecida (por ejemplo, una muestra 640 o 690 de una ubicación central) de entre una pluralidad de muestras incluidas en la unidad 600 o 650 de codificación actual. Sin embargo, la ubicación preestablecida en la unidad 600 de codificación actual, a partir de la cual puede obtenerse al menos una parte de la información de modo de forma dividida, no se limita a la ubicación central en la FIG. 6, y puede incluir varias ubicaciones incluidas en la unidad 600 de codificación actual (por ejemplo, ubicaciones superior, inferior, izquierda, derecha, superior izquierda, inferior izquierda, superior derecha, inferior derecha o similares). El dispositivo 100 de decodificación de imágenes puede obtener la información de modo de forma dividida de la ubicación preestablecida y puede determinar dividir o no dividir la unidad de codificación actual en unidades de codificación de varias formas y variadas.
[0131] Según una realización, cuando la unidad de codificación actual se divide en un número preestablecido de
unidades de codificación, el dispositivo 100 de decodificación de imágenes puede seleccionar una de las unidades de codificación. Pueden usarse varios procedimientos para seleccionar una de una pluralidad de unidades de codificación, como se describirá a continuación en relación con varias realizaciones.
[0133] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir la unidad de codificación actual en una pluralidad de unidades de codificación, y puede determinar una unidad de codificación en una ubicación preestablecida.
[0135] Según una realización, el dispositivo 100 de decodificación de imágenes puede usar información que indica ubicaciones del número impar de unidades de codificación, para determinar una unidad de codificación en una ubicación central de entre el número impar de unidades de codificación. Con referencia a la FIG.6, el dispositivo 100 de decodificación de imágenes puede determinar el número impar de unidades 620a, 620b y 620c de codificación o el número impar de unidades 660a, 660b y 660c de codificación dividiendo la unidad 600 de codificación actual o la unidad 650 de codificación actual. El dispositivo 100 de decodificación de imágenes puede determinar la unidad 620b de codificación media o la unidad 660b de codificación media usando información sobre las ubicaciones del número impar de unidades 620a, 620b y 620c de codificación o el número impar de unidades 660a, 660b y 660c de codificación. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar la unidad 620b de codificación de la ubicación central determinando las ubicaciones de las unidades 620a, 620b y 620c de codificación según la información que indica las ubicaciones de las muestras preestablecidas incluidas en las unidades 620a, 620b y 620c de codificación. En detalle, el dispositivo 100 de decodificación de imágenes puede determinar la unidad 620b de codificación en la ubicación central determinando las ubicaciones de las unidades 620a, 620b y 620c de codificación según la información que indica las ubicaciones de las muestras 630a, 630b y 630c superiores izquierdas de las unidades 620a, 620b y 620c de codificación.
[0137] Según una realización, la información que indica las ubicaciones de las muestras 630a, 630b y 630c superiores izquierdas, que están incluidas en las unidades 620a, 620b y 620c de codificación, respectivamente, puede incluir información sobre ubicaciones o coordenadas de las unidades 620a, 620b y 620c de codificación en una imagen. Según una realización, la información que indica las ubicaciones de las muestras 630a, 630b y 630c superiores izquierdas, que están incluidas en las unidades 620a, 620b y 620c de codificación, respectivamente, puede incluir información que indica anchos o alturas de las unidades 620a, 620b y 620c de codificación incluidas en la unidad 600 de codificación actual, y los anchos o alturas pueden corresponder a información que indica diferencias entre las coordenadas de las unidades 620a, 620b y 620c de codificación en la imagen. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar la unidad 620b de codificación en la ubicación central usando directamente la información sobre las ubicaciones o coordenadas de las unidades 620a, 620b y 620c de codificación en la imagen, o usando la información sobre los anchos o alturas de las unidades de codificación, que corresponden a los valores de diferencia entre las coordenadas.
[0139] Según una realización, la información que indica la ubicación de la muestra 630a superior izquierda de la unidad 620a de codificación superior puede incluir coordenadas (xa, ya), la información que indica la ubicación de la muestra 630b superior izquierda de la unidad 620b de codificación media puede incluir coordenadas (xb, yb), y la información que indica la ubicación de la muestra 630c superior izquierda de la unidad 620c de codificación inferior puede incluir coordenadas (xc, yc). El dispositivo 100 de decodificación de imágenes puede determinar la unidad 620b de codificación media usando las coordenadas de las muestras 630a, 630b y 630c superior izquierda que están incluidas en las unidades 620a, 620b y 620c de codificación, respectivamente. Por ejemplo, cuando las coordenadas de las muestras 630a, 630b y 630c superiores izquierdas se ordenan en un orden ascendente o descendente, la unidad 620b de codificación incluyendo las coordenadas (xb, yb) de la muestra 630b en una ubicación central puede determinarse como una unidad de codificación en una ubicación central de entre las unidades 620a, 620b y 620c de codificación determinadas dividiendo la unidad 600 de codificación actual. Sin embargo, las coordenadas que indican las ubicaciones de las muestras 630a, 630b y 630c superiores izquierdas pueden incluir coordenadas que indican ubicaciones absolutas en la imagen, o pueden usar coordenadas (dxb, dyb) que indican una ubicación relativa de la muestra 630b superior izquierda de la unidad 620b de codificación media y coordenadas (dxc, dyc) que indican una ubicación relativa de la muestra 630c superior izquierda de la unidad 620c de codificación inferior con referencia a la ubicación de la muestra 630a superior izquierda de la unidad 620a de codificación superior. Un procedimiento para determinar una unidad de codificación en una ubicación preestablecida a través del uso de coordenadas de una muestra incluida en la unidad de codificación, como información que indica una ubicación de la muestra, no se limita al procedimiento descrito anteriormente, y puede incluir varios procedimientos aritméticos capaces de usar las coordenadas de la muestra.
[0141] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir la unidad 600 de codificación actual en una pluralidad de unidades 620a, 620b y 620c de codificación, y puede seleccionar una de las unidades 620a, 620b y 620c de codificación según un criterio preestablecido. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede seleccionar la unidad 620b de codificación, que tiene un tamaño diferente al de las otras, de entre las unidades 620a, 620b y 620c de codificación.
[0142] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar el ancho o la altura de cada una de las unidades 620a, 620b y 620c de codificación a través del uso de las coordenadas (xa, ya) que es la información que indica la ubicación de la muestra 630a superior izquierda de la unidad 620a de codificación superior, las coordenadas (xb, yb) que es la información que indica la ubicación de la muestra 630b superior izquierda de la unidad 620b de codificación media, y las coordenadas (xc, yc) que es la información que indica la ubicación de la muestra 630c superior izquierda de la unidad 620c de codificación inferior. El dispositivo 100 de decodificación de imágenes puede determinar los tamaños respectivos de las unidades 620a, 620b y 620c de codificación usando las coordenadas (xa, ya), (xb, yb) y (xc, yc) que indican las ubicaciones de las unidades 620a, 620b y 620c de codificación. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar que el ancho de la unidad 620a de codificación superior es el ancho de la unidad 600 de codificación actual. El dispositivo 100 de decodificación de imágenes puede determinar la altura de la unidad 620a de codificación superior para que sea yb-ya. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar que el ancho de la unidad 620b de codificación central es el ancho de la unidad 600 de codificación actual. El dispositivo 100 de decodificación de imágenes puede determinar la altura de la unidad 620b de codificación media para que sea yc-yb. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar el ancho o la altura de la unidad 620c de codificación inferior usando el ancho o la altura de la unidad 600 de codificación actual o los anchos o las alturas de las unidades 620a y 620b de codificación superior y media. El dispositivo 100 de decodificación de imágenes puede determinar una unidad de codificación, que tiene un tamaño diferente al de las otras, según los anchos y alturas determinadas de las unidades 620a a 620c de codificación. Con referencia a la FIG. 6, el dispositivo 100 de decodificación de imágenes puede determinar la unidad 620b de codificación media, que tiene un tamaño diferente del tamaño de las unidades 620a y 620c de codificación superior e inferior, como la unidad de codificación de la ubicación preestablecida. Sin embargo, el procedimiento descrito anteriormente, realizado por el dispositivo 100 de decodificación de imágenes, para determinar una unidad de codificación que tiene un tamaño diferente del tamaño de las otras unidades de codificación simplemente corresponde a un ejemplo de determinación de una unidad de codificación en una ubicación preestablecida usando los tamaños de las unidades de codificación, que se determinan según las coordenadas de las muestras y, por lo tanto, pueden usarse diversos procedimientos para determinar una unidad de codificación en una ubicación preestablecida comparando los tamaños de las unidades de codificación, que se determinan según las coordenadas de las muestras preestablecidas.
[0144] El dispositivo 100 de decodificación de imágenes puede determinar el ancho o la altura de cada una de las unidades 660a, 660b y 660c de codificación a través del uso de las coordenadas (xd, yd) que es información que indica la ubicación de una muestra 670a superior izquierda de la unidad 660a de codificación izquierda, las coordenadas (xe, ye) que es información que indica la ubicación de una muestra 670b superior izquierda de la unidad 660b de codificación media, y las coordenadas (xf, yf) que es información que indica una ubicación de la muestra 670c superior izquierda de la unidad 660c de codificación derecha. El dispositivo 100 de decodificación de imágenes puede determinar los tamaños respectivos de las unidades 660a, 660b y 660c de codificación usando las coordenadas (xd, yd), (xe, ye) y (xf, yf) que indican las ubicaciones de las unidades 660a, 660b y 660c de codificación.
[0146] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar que el ancho de la unidad 660a de codificación izquierda sea xe-xd. El dispositivo 100 de decodificación de imágenes puede determinar que la altura de la unidad 660a de codificación izquierda es la altura de la unidad 650 de codificación actual. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar que el ancho de la unidad 660b de codificación media sea xf-xe. El dispositivo 100 de decodificación de imágenes puede determinar que la altura de la unidad 660b de codificación media es la altura de la unidad 650 de codificación actual. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar el ancho o la altura de la unidad 660c de codificación derecha usando el ancho o la altura de la unidad 650 de codificación actual o los anchos o las alturas de las unidades 660a y 660b de codificación izquierda y media. El dispositivo 100 de decodificación de imágenes puede determinar una unidad de codificación, que tiene un tamaño diferente al de las otras, según los anchos y alturas determinadas de las unidades 660a a 660c de codificación. Con referencia a la FIG. 6, el dispositivo 100 de decodificación de imágenes puede determinar la unidad 660b de codificación intermedia, que tiene un tamaño diferente de los tamaños de las unidades 660a y 660c de codificación izquierda y derecha, como la unidad de codificación de la ubicación preestablecida. Sin embargo, el procedimiento descrito anteriormente, realizado por el dispositivo 100 de decodificación de imágenes, para determinar una unidad de codificación que tiene un tamaño diferente del tamaño de las otras unidades de codificación simplemente corresponde a un ejemplo de determinación de una unidad de codificación en una ubicación preestablecida usando los tamaños de las unidades de codificación, que se determinan según las coordenadas de las muestras y, por lo tanto, pueden usarse varios procedimientos para determinar una unidad de codificación en una ubicación preestablecida comparando los tamaños de las unidades de codificación, que se determinan según las coordenadas de las muestras preestablecidas.
[0148] Sin embargo, las ubicaciones de las muestras consideradas para determinar las ubicaciones de las unidades de codificación no se limitan a las ubicaciones superiores izquierdas descritas anteriormente, y puede usarse información sobre ubicaciones arbitrarias de muestras incluidas en las unidades de codificación.
[0149] Según una realización, el dispositivo 100 de decodificación de imágenes puede seleccionar una unidad de codificación en una ubicación preestablecida de entre un número impar de unidades de codificación determinadas dividiendo la unidad de codificación actual, considerando la forma de la unidad de codificación actual. Por ejemplo, cuando la unidad de codificación actual tiene una forma no cuadrada, cuyo ancho es más largo que una altura, el dispositivo 100 de decodificación de imágenes puede determinar la unidad de codificación en la ubicación preestablecida en una dirección horizontal. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar una de las unidades de codificación en diferentes ubicaciones en una dirección horizontal y poner una restricción en la unidad de codificación. Cuando la unidad de codificación actual tiene una forma no cuadrada, una altura de la cual es más larga que un ancho, el dispositivo 100 de decodificación de imágenes puede determinar la unidad de codificación en la ubicación preestablecida en una dirección vertical. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar una de las unidades de codificación en diferentes ubicaciones en una dirección vertical y puede poner una restricción en la unidad de codificación.
[0151] Según una realización, el dispositivo 100 de decodificación de imágenes puede usar información que indica ubicaciones respectivas de un número par de unidades de codificación, para determinar la unidad de codificación en la ubicación preestablecida de entre el número par de unidades de codificación. El dispositivo 100 de decodificación de imágenes puede determinar un número par de unidades de codificación dividiendo (división binaria) la unidad de codificación actual, y puede determinar la unidad de codificación en la ubicación preestablecida usando la información sobre las ubicaciones del número par de unidades de codificación. Una operación relacionada con esta puede corresponder a la operación de determinar una unidad de codificación en una ubicación preestablecida (por ejemplo, una ubicación central) de entre un número impar de unidades de codificación, que se ha descrito en detalle anteriormente en relación con la FIG. 6, y por lo tanto las descripciones detalladas de estos no se proporcionan aquí.
[0153] Según una realización, cuando una unidad de codificación actual no cuadrada se divide en una pluralidad de unidades de codificación, la información preestablecida sobre una unidad de codificación en una ubicación preestablecida puede usarse en una operación de división para determinar la unidad de codificación en la ubicación preestablecida de entre la pluralidad de unidades de codificación. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede usar al menos una de información de forma de bloque e información de modo de forma dividida, que se almacena en una muestra incluida en una unidad de codificación intermedia, en una operación de división para determinar una unidad de codificación en una ubicación central de entre la pluralidad de unidades de codificación determinadas dividiendo la unidad de codificación actual.
[0155] Con referencia a la FIG. 6, el dispositivo 100 de decodificación de imágenes puede dividir la unidad 600 de codificación actual en la pluralidad de unidades 620a, 620b y 620c de codificación según la información de modo de forma dividida, y puede determinar la unidad 620b de codificación en una ubicación central de entre la pluralidad de las unidades 620a, 620b y 620c de codificación. Además, el dispositivo 100 de decodificación de imágenes puede determinar la unidad 620b de codificación en la ubicación central, en consideración de una ubicación a partir de la cual se obtiene la información de modo de forma dividida. Es decir, la información de modo de forma dividida de la unidad 600 de codificación actual puede obtenerse de la muestra 640 en una ubicación central de la unidad 600 de codificación actual y, cuando la unidad 600 de codificación actual se divide en la pluralidad de unidades 620a, 620b y 620c de codificación según la información de modo de forma dividida, la unidad 620b de codificación incluyendo la muestra 640 puede determinarse como la unidad de codificación en la ubicación central. Sin embargo, la información usada para determinar la unidad de codificación en la ubicación central no se limita a la información de modo de forma dividida, y pueden usarse diversos tipos de información para determinar la unidad de codificación en la ubicación central.
[0157] Según una realización, la información preestablecida para identificar la unidad de codificación en la ubicación preestablecida puede obtenerse a partir de una muestra preestablecida incluida en una unidad de codificación a determinar. Con referencia a la FIG. 6, el dispositivo 100 de decodificación de imágenes puede usar la información de modo de forma dividida, que se obtiene de una muestra en una ubicación preestablecida en la unidad 600 de codificación actual (por ejemplo, una muestra en una ubicación central de la unidad 600 de codificación actual) para determinar una unidad de codificación en una ubicación preestablecida de entre la pluralidad de las unidades 620a, 620b y 620c de codificación determinadas dividiendo la unidad 600 de codificación actual (por ejemplo, una unidad de codificación en una ubicación central de entre una pluralidad de unidades de codificación divididas). Es decir, el dispositivo 100 de decodificación de imágenes puede determinar la muestra en la ubicación preestablecida considerando una forma de bloque de la unidad 600 de codificación actual, determinar la unidad 620b de codificación incluyendo una muestra, a partir de la cual puede obtenerse información preestablecida (por ejemplo, la información de modo de forma dividida), de entre la pluralidad de unidades 620a, 620b y 620c de codificación determinadas dividiendo la unidad 600 de codificación actual, y puede poner una restricción preestablecida en la unidad 620b de codificación. Con referencia a la FIG.
[0158] 6, según una realización, el dispositivo 100 de decodificación de imágenes puede determinar la muestra 640 en la ubicación central de la unidad 600 de codificación actual como la muestra a partir de la cual puede obtenerse la información preestablecida, y puede poner una restricción preestablecida en la unidad 620b de codificación incluyendo la muestra 640, en una operación de decodificación. Sin embargo, la ubicación de la
muestra a partir de la cual puede obtenerse la información preestablecida no se limita a la ubicación descrita anteriormente, y puede incluir ubicaciones arbitrarias de muestras incluidas en la unidad 620b de codificación que se determinarán para una restricción.
[0160] Según una realización, la ubicación de la muestra a partir de la cual puede obtenerse la información preestablecida puede determinarse según la forma de la unidad 600 de codificación actual. Según una realización, la información de forma de bloque puede indicar si la unidad de codificación actual tiene una forma cuadrada o no cuadrada, y la ubicación de la muestra a partir de la cual puede obtenerse la información preestablecida puede determinarse según la forma. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar una muestra ubicada en un límite para dividir al menos uno de un ancho y alto de la unidad de codificación actual por la mitad, como la muestra a partir de la cual puede obtenerse la información preestablecida, a través del uso de al menos uno de información sobre el ancho de la unidad de codificación actual e información sobre el alto de la unidad de codificación actual. Como otro ejemplo, cuando la información de forma de bloque de la unidad de codificación actual indica una forma no cuadrada, el dispositivo 100 de decodificación de imágenes puede determinar una de las muestras adyacentes a un límite para dividir un lado largo de la unidad de codificación actual por la mitad, como la muestra a partir de la cual puede obtenerse la información preestablecida.
[0162] Según una realización, cuando la unidad de codificación actual se divide en una pluralidad de unidades de codificación, el dispositivo 100 de decodificación de imágenes puede usar la información de modo de forma dividida para determinar una unidad de codificación en una ubicación preestablecida de entre la pluralidad de unidades de codificación. Según una realización, el dispositivo 100 de decodificación de imágenes puede obtener la información de modo de forma dividida de una muestra en una ubicación preestablecida en una unidad de codificación, y dividir la pluralidad de unidades de codificación, que se generan dividiendo la unidad de codificación actual, a través del uso de la información de modo de forma dividida, que se obtiene de la muestra de la ubicación preestablecida en cada una de la pluralidad de unidades de codificación. Es decir, una unidad de codificación puede dividirse recursivamente según la información de modo de forma dividida, que se obtiene de la muestra en la ubicación preestablecida en cada unidad de codificación. Anteriormente se ha descrito una operación de división recursiva de una unidad de codificación en relación con la FIG. 5, y por lo tanto las descripciones detalladas de los mismos no se proporcionarán aquí.
[0164] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una o más unidades de codificación dividiendo la unidad de codificación actual, y puede determinar un orden de decodificación de la una o más unidades de codificación, basándose en un bloque preestablecido (por ejemplo, la unidad de codificación actual).
[0166] La FIG. 7 ilustra un orden de procesamiento de una pluralidad de unidades de codificación cuando un dispositivo de decodificación de imágenes determina la pluralidad de unidades de codificación dividiendo una unidad de codificación actual, según una realización.
[0168] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar segundas unidades 710a y 710b de codificación dividiendo una primera unidad 700 de codificación en una dirección vertical, puede determinar segundas unidades 730a y 730b de codificación dividiendo la primera unidad 700 de codificación en una dirección horizontal, o puede determinar segundas unidades 750a, 750b, 750c y 750d de codificación dividiendo la primera unidad 700 de codificación en direcciones vertical y horizontal, basándose en información de modo de forma dividida.
[0170] Con referencia a la FIG. 7, el dispositivo 100 de decodificación de imágenes puede determinar procesar las segundas unidades 710a y 710b de codificación, que se determinan dividiendo la primera unidad 700 de codificación en una dirección vertical, en un orden 710c de dirección horizontal. El dispositivo 100 de decodificación de imágenes puede determinar procesar las segundas unidades 730a y 730b de codificación, que se determinan dividiendo la primera unidad 700 de codificación en una dirección horizontal, en un orden 730c de dirección vertical. El dispositivo 100 de decodificación de imágenes puede determinar las segundas unidades 750a, 750b, 750c y 750d de codificación, que se determinan dividiendo la primera unidad 700 de codificación en direcciones vertical y horizontal, según un orden preestablecido (por ejemplo, un orden de escaneo de trama o un orden 750e de escaneo Z) a través del cual se procesan las unidades de codificación en una fila y a continuación se procesan las unidades de codificación en una fila siguiente.
[0172] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir recursivamente las unidades de codificación. Con referencia a la FIG. 7, el dispositivo 100 de decodificación de imágenes puede determinar la pluralidad de unidades 710a y 710b, 730a y 730b, o 750a, 750b, 750c y 750d de codificación dividiendo la primera unidad 700 de codificación y dividiendo recursivamente cada una de la pluralidad determinada de unidades 710a, 710b, 730a, 730b, 750a, 750b, 750c y 750d de codificación. Un procedimiento de división de la pluralidad de unidades 710a y 710b, 730a y 730b, o 750a, 750b, 750c y 750d de codificación puede corresponder a un procedimiento de división de la primera unidad 700 de codificación. Como tal, cada una de la pluralidad de unidades 710a y 710b, 730a y 730b, o 750a, 750b, 750c y 750d de codificación puede
dividirse independientemente en una pluralidad de unidades de codificación. Con referencia a la FIG. 7, el dispositivo 100 de decodificación de imágenes puede determinar las segundas unidades 710a y 710b de codificación dividiendo la primera unidad 700 de codificación en una dirección vertical, y puede determinar dividir o no independientemente cada una de las segundas unidades 710a y 710b de codificación.
[0174] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 720a y 720b de codificación dividiendo la segunda unidad 710a de codificación izquierda en una dirección horizontal, y no puede dividir la segunda unidad 710b de codificación derecha.
[0176] Según una realización, un orden de procesamiento de unidades de codificación puede determinarse basándose en una operación de división de una unidad de codificación. En otras palabras, un orden de procesamiento de unidades de codificación divididas puede determinarse según un orden de procesamiento de unidades de codificación inmediatamente antes de dividirse. El dispositivo 100 de decodificación de imágenes puede determinar un orden de procesamiento de las terceras unidades 720a y 720b de codificación determinado dividiendo la segunda unidad 710a de codificación izquierda, independientemente de la segunda unidad 710b de codificación derecha. Debido a que las terceras unidades 720a y 720b de codificación se determinan dividiendo la segunda unidad 710a de codificación izquierda en una dirección horizontal, las terceras unidades 720a y 720b de codificación pueden procesarse en un orden 720c de dirección vertical. Además, debido a que las segundas unidades 710a y 710b de codificación izquierda y derecha se procesan en el orden 710c de dirección horizontal, la segunda unidad 710b de codificación derecha puede procesarse después de que las terceras unidades 720a y 720b de codificación incluidas en la segunda unidad 710a de codificación izquierda se procesen en el orden 720c de dirección vertical. Una operación de determinación de un orden de procesamiento de unidades de codificación según una unidad de codificación antes de dividirse no se limita al ejemplo descrito anteriormente, y pueden usarse varios procedimientos para procesar independientemente unidades de codificación, que se dividen y determinan en varias formas, en un orden preestablecido.
[0178] La FIG. 8 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar que una unidad de codificación actual debe dividirse en un número impar de unidades de codificación, cuando las unidades de codificación no son procesables en un orden preestablecido, según una realización.
[0180] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar que la unidad de codificación actual se divide en un número impar de unidades de codificación, según la información de modo de forma dividida obtenida. Con referencia a la FIG.8, una primera unidad 800 de codificación cuadrada puede dividirse en segundas unidades 810a y 810b de codificación no cuadradas, y las segundas unidades 810a y 810b de codificación pueden dividirse independientemente en terceras unidades 820a y 820b, y 820c a 820e de codificación. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar la pluralidad de terceras unidades 820a y 820b de codificación dividiendo la segunda unidad 810a de codificación izquierda en una dirección horizontal, y puede dividir la segunda unidad 810b de codificación derecha en el número impar de terceras unidades 820c a 820e de codificación.
[0182] Según una realización, el dispositivo 100 de decodificación de vídeo puede determinar si alguna unidad de codificación se divide en un número impar de unidades de codificación, determinando si las terceras unidades 820a y 820b, y 820c a 820e de codificación son procesables en un orden preestablecido. Con referencia a la FIG.8, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 820a y 820b, y 820c a 820e de codificación dividiendo recursivamente la primera unidad 800 de codificación. El dispositivo 100 de decodificación de imágenes puede determinar si cualquiera de la primera unidad 800 de codificación, las segundas unidades 810a y 810b de codificación, o las terceras unidades 820a y 820b, y 820c a 820e de codificación se dividen en un número impar de unidades de codificación, basado en al menos una de la información de forma de bloque y la información de modo de forma dividida. Por ejemplo, una unidad de codificación ubicada a la derecha de entre las segundas unidades 810a y 810b de codificación puede dividirse en un número impar de terceras unidades 820c, 820d y 820e de codificación. Un orden de procesamiento de una pluralidad de unidades de codificación incluidas en la primera unidad 800 de codificación puede ser un orden preestablecido (por ejemplo, un orden 830 de escaneo Z), y el dispositivo 100 de decodificación de imágenes puede determinar si las terceras unidades 820c, 820d y 820e de codificación, que se determinan dividiendo la segunda unidad 810b de codificación derecha en un número impar de unidades de codificación, satisfacen una condición para el procesamiento en el orden preestablecido.
[0184] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar si las terceras unidades 820a y 820b, y 820c a 820e de codificación incluidas en la primera unidad 800 de codificación satisfacen la condición para el procesamiento en el orden preestablecido, y la condición se refiere a si al menos una de un ancho y altura de las segundas unidades 810a y 810b de codificación se debe dividir por la mitad a lo largo de un límite de las terceras unidades 820a y 820b, y 820c a 820e de codificación. Por ejemplo, las terceras unidades 820a y 820b de codificación determinadas cuando la altura de la segunda unidad 810a de codificación izquierda de la forma no cuadrada se divide por la mitad pueden satisfacer la condición. Puede determinarse que las terceras unidades 820c a 820e de codificación no satisfacen la condición porque los límites de las terceras unidades 820c a 820e de codificación determinados cuando la segunda unidad 810b de
codificación derecha se divide en tres unidades de codificación no pueden dividir el ancho o la altura de la segunda unidad 810b de codificación derecha por la mitad. Cuando la condición no se cumple como se describió anteriormente, el dispositivo 100 de decodificación de imágenes puede determinar la desconexión de un orden de escaneo, y puede determinar que la segunda unidad 810b de codificación derecha se dividirá en un número impar de unidades de codificación, según un resultado de la determinación. Según una realización, cuando una unidad de codificación se divide en un número impar de unidades de codificación, el dispositivo 100 de decodificación de imágenes puede poner una restricción preestablecida en una unidad de codificación en una ubicación preestablecida de entre las unidades de codificación divididas. La restricción o la ubicación preestablecida se han descrito anteriormente en relación con varias realizaciones y, por lo tanto, no se proporcionarán descripciones detalladas de estas en esta invención.
[0186] La FIG. 9 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, para determinar al menos una unidad de codificación dividiendo una primera unidad de codificación, según una realización.
[0187] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir la primera unidad 900 de codificación, según la información de modo de forma dividida, que se obtiene a través del receptor 110. La primera unidad 900 de codificación cuadrada puede dividirse en unidades de codificación cuadradas, o puede dividirse en una pluralidad de unidades de codificación no cuadradas. Por ejemplo, con referencia a la FIG. 9, cuando la primera unidad 900 de codificación tiene una forma cuadrada y la información de modo de forma dividida indica dividir la primera unidad 900 de codificación en unidades de codificación no cuadradas, el dispositivo 100 de decodificación de imágenes puede dividir la primera unidad 900 de codificación en una pluralidad de unidades de codificación no cuadradas. En detalle, cuando la información de modo de forma dividida indica determinar un número impar de unidades de codificación dividiendo la primera unidad 900 de codificación en una dirección horizontal o una dirección vertical, el dispositivo 100 de decodificación de imágenes puede dividir la primera unidad 900 de codificación cuadrada en un número impar de unidades de codificación, por ejemplo, las segundas unidades 910a, 910b y 910c de codificación determinadas dividiendo la primera unidad 900 de codificación cuadrada en una dirección vertical o las segundas unidades 920a, 920b y 920c de codificación determinadas dividiendo la primera unidad 900 de codificación cuadrada en una dirección horizontal.
[0189] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar si las segundas unidades 910a, 910b, 910c, 920a, 920b y 920c de codificación incluidas en la primera unidad 900 de codificación satisfacen una condición para el procesamiento en un orden preestablecido, y la condición se refiere a si al menos una de un ancho y altura de la primera unidad 900 de codificación se va a dividir por la mitad a lo largo de un límite de las segundas unidades 910a, 910b, 910c, 920a, 920b y 920c de codificación. Con referencia a la FIG.9, debido a que los límites de las segundas unidades 910a, 910b y 910c de codificación determinados dividiendo la primera unidad 900 de codificación cuadrada en una dirección vertical no dividen el ancho de la primera unidad 900 de codificación por la mitad, puede determinarse que la primera unidad 900 de codificación no satisface la condición para el procesamiento en el orden preestablecido. Además, debido a que los límites de las segundas unidades 920a, 920b y 920c de codificación determinados dividiendo la primera unidad 900 de codificación cuadrada en una dirección horizontal no dividen la altura de la primera unidad 900 de codificación por la mitad, puede determinarse que la primera unidad 900 de codificación no satisface la condición para el procesamiento en el orden preestablecido. Cuando la condición no se cumple como se describió anteriormente, el dispositivo 100 de decodificación de imágenes puede decidir la desconexión de un orden de escaneo, y puede determinar que la primera unidad 900 de codificación se dividirá en un número impar de unidades de codificación, según un resultado de la decisión. Según una realización, cuando una unidad de codificación se divide en un número impar de unidades de codificación, el dispositivo 100 de decodificación de imágenes puede poner una restricción preestablecida en una unidad de codificación en una ubicación preestablecida de entre las unidades de codificación divididas. La restricción o la ubicación preestablecida se han descrito anteriormente en relación con varias realizaciones y, por lo tanto, no se proporcionarán descripciones detalladas de estas en esta invención.
[0191] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar unidades de codificación de diversas formas dividiendo una primera unidad de codificación.
[0193] Con referencia a la FIG. 9, el dispositivo 100 de decodificación de imágenes puede dividir la primera unidad 900 de codificación cuadrada o una primera unidad 930 o 950 de codificación no cuadrada en unidades de codificación de diversas formas.
[0195] La FIG.10 ilustra que una forma donde una segunda unidad de codificación es divisible está restringida cuando la segunda unidad de codificación que tiene una forma no cuadrada, que se determina cuando un dispositivo de decodificación de imágenes divide una primera unidad de codificación, satisface una condición preestablecida, según una realización.
[0197] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar dividir la primera unidad 1000 de codificación cuadrada en segundas unidades 1010a, y 1010b o 1020a y 1020b de codificación no cuadradas, según la información de modo de forma dividida, que obtiene el receptor 110. Las segundas
unidades 1010a y 1010b, o 1020a y 1020b de codificación pueden dividirse independientemente. Como tal, el dispositivo 100 de decodificación de imágenes puede determinar dividir o no dividir cada una de las segundas unidades 1010a y 1010b, o 1020a y 1020b de codificación en una pluralidad de unidades de codificación, basándose en la información de modo de forma dividida de cada una de las segundas unidades 1010a y 1010b, o 1020a y 1020b de codificación. según una realización, el dispositivo 100 de decodificación de imágenes puede determinar terceras unidades 1012a y 1012b de codificación dividiendo la segunda unidad 1010a de codificación izquierda no cuadrada, que se determina dividiendo la primera unidad 1000 de codificación en una dirección vertical, en una dirección horizontal. Sin embargo, cuando la segunda unidad 1010a de codificación izquierda se divide en una dirección horizontal, el dispositivo 100 de decodificación de imágenes puede restringir que la segunda unidad 1010b de codificación derecha no se divida en una dirección horizontal donde se divide la segunda unidad 1010a de codificación izquierda. Cuando las terceras unidades 1014a y 1014b de codificación se determinan dividiendo la segunda unidad 1010b de codificación derecha en una misma dirección, debido a que las segundas unidades 1010a y 1010b de codificación izquierda y derecha se dividen independientemente en una dirección horizontal, pueden determinarse las terceras unidades 1012a y 1012b, o 1014a y 1014b de codificación. Sin embargo, este caso sirve igualmente como un caso donde el dispositivo 100 de decodificación de imágenes divide la primera unidad 1000 de codificación en cuatro segundas unidades 1030a, 1030b, 1030c y 1030d de codificación cuadradas, según la información de modo de forma dividida, y puede ser ineficiente en términos de decodificación de imágenes.
[0199] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 1022a y 1022b, o 1024a y 1024b de codificación dividiendo la segunda unidad 1020a o 1020b de codificación no cuadrada, que se determina dividiendo la primera unidad 1000 de codificación en una dirección horizontal, en una dirección vertical. Sin embargo, cuando una segunda unidad de codificación (por ejemplo, la segunda unidad 1020a de codificación superior) se divide en una dirección vertical, por la razón descrita anteriormente, el dispositivo 100 de decodificación de imágenes puede restringir que la otra segunda unidad de codificación (por ejemplo, la segunda unidad 1020b de codificación inferior) no se divida en una dirección vertical donde se divide la segunda unidad 1020a de codificación superior.
[0201] La FIG.11 ilustra un proceso, realizado por un dispositivo de decodificación de imágenes, de dividir una unidad de codificación cuadrada cuando la información de modo de forma dividida indica que la unidad de codificación cuadrada no debe dividirse en unidades de codificación cuadradas, según una realización.
[0203] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar segundas unidades 1110a y 1110b, o 1120a y 1120b de codificación, etc. dividiendo una primera unidad 1100 de codificación, según la información de modo de forma dividida. La información de modo de forma dividida puede incluir información sobre diversos procedimientos de división de una unidad de codificación, pero la información sobre diversos procedimientos de división puede no incluir información para dividir una unidad de codificación en cuatro unidades de codificación cuadradas. Según dicha información de modo de forma dividida, el dispositivo 100 de decodificación de imágenes puede no dividir la primera unidad 1100 de codificación cuadrada en cuatro segundas unidades 1130a, 1130b, 1130c y 1130d de codificación cuadradas. El dispositivo 100 de decodificación de imágenes puede determinar las segundas unidades 1110a y 1110b, o 1120a y 1120b de codificación no cuadradas, etc., según la información de modo de forma dividida.
[0205] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir independientemente las segundas unidades 1110a y 1110b, o 1120a y 1120b de codificación no cuadradas, etc. Cada una de las segundas unidades 1110a y 1110b, o 1120a y 1120b de codificación, etc. puede dividirse recursivamente en un orden preestablecido, y este procedimiento de división puede corresponder a un procedimiento de división de la primera unidad 1100 de codificación, basado en la información de modo de forma dividida.
[0207] Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar terceras unidades 1112a y 1112b de codificación cuadradas dividiendo la segunda unidad 1110a de codificación izquierda en una dirección horizontal, y puede determinar terceras unidades 1114a y 1114b de codificación cuadradas dividiendo la segunda unidad 1110b de codificación derecha en una dirección horizontal. Además, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 1116a, 1116b, 1116c y 1116d de codificación cuadradas dividiendo las segundas unidades 1110a y 1110b de codificación izquierda y derecha en una dirección horizontal. En este caso, pueden determinarse las unidades de codificación que tienen la misma forma que las segundas unidades 1130a, 1130b, 1130c y 1130d de codificación cuadradas divididas de la primera unidad 1100 de codificación.
[0209] Como otro ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar terceras unidades 1122a y 1122b de codificación cuadradas dividiendo la segunda unidad 1120a de codificación superior en una dirección vertical, y puede determinar terceras unidades 1124a y 1124b de codificación cuadradas dividiendo la segunda unidad 1120b de codificación inferior en una dirección vertical. Además, el dispositivo 100 de decodificación de imágenes puede determinar terceras unidades 1126a, 1126b, 1126c y 1126d de codificación cuadradas dividiendo ambas segundas unidades 1120a y 1120b de codificación superior e inferior en una dirección vertical. En este caso, pueden determinarse las unidades de codificación que tienen la misma forma
que las cuatro segundas unidades 1130a, 1130b, 1130c y 1130d de codificación cuadradas divididas de la primera unidad 1100 de codificación.
[0211] La FIG. 12 ilustra que un orden de procesamiento entre una pluralidad de unidades de codificación puede cambiarse dependiendo de un proceso de división de una unidad de codificación, según una realización.
[0212] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir una primera unidad 1200 de codificación, según la información de modo de forma dividida. Cuando una forma de bloque indica una forma cuadrada y la información de modo de forma dividida indica dividir la primera unidad 1200 de codificación en al menos una de las direcciones horizontal y vertical, el dispositivo 100 de decodificación de imágenes puede determinar las segundas unidades 1210a y 1210b, o 1220a y 1220b de codificación, etc. dividiendo la primera unidad 1200 de codificación. Con referencia a la FIG. 12, las segundas unidades 1210a y 1210b, o 1220a y 1220b de codificación no cuadradas determinadas dividiendo la primera unidad 1200 de codificación solo en una dirección horizontal o dirección vertical pueden dividirse independientemente según la información de modo de forma dividida de cada unidad de codificación. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 1216a, 1216b, 1216c y 1216d de codificación dividiendo las segundas unidades 1210a y 1210b de codificación, que se generan dividiendo la primera unidad 1200 de codificación en una dirección vertical, en una dirección horizontal, y puede determinar las terceras unidades 1226a, 1226b, 1226c y 1226d de codificación dividiendo las segundas unidades 1220a y 1220b de codificación, que se generan dividiendo la primera unidad 1200 de codificación en una dirección horizontal, en una dirección vertical. Una operación de división de las segundas unidades 1210a y 1210b, o 1220a y 1220b de codificación se ha descrito anteriormente en relación con la FIG. 11, y por lo tanto las descripciones detalladas de estos no se proporcionarán en esta invención.
[0214] Según una realización, el dispositivo 100 de decodificación de imágenes puede procesar unidades de codificación en un orden preestablecido. Anteriormente se ha descrito una operación de procesamiento de unidades de codificación en un orden preestablecido en relación con la FIG.7, y por lo tanto las descripciones detalladas de estos no se proporcionarán en esta invención. Con referencia a la FIG.12, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 1216a, 1216b, 1216c y 1216d, y 1226a, 1226b, 1226c y 1226d de codificación cuadradas dividiendo la primera unidad 1200 de codificación cuadrada. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar los órdenes de procesamiento de las terceras unidades 1216a, 1216b, 1216c y 1216d, y 1226a, 1226b, 1226c y 1226d de codificación basándose en una forma dividida por la que se divide la primera unidad 1200 de codificación.
[0215] según una realización, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 1216a, 1216b, 1216c y 1216d de codificación dividiendo las segundas unidades 1210a y 1210b de codificación generadas dividiendo la primera unidad 1200 de codificación en una dirección vertical, en una dirección horizontal, y puede procesar las terceras unidades 1216a, 1216b, 1216c y 1216d de codificación en un orden 1217 de procesamiento para procesar inicialmente las terceras unidades 1216a y 1216c de codificación, que están incluidas en la segunda unidad 1210a de codificación izquierda, en una dirección vertical y a continuación procesar la tercera unidad 1216b y 1216d de codificación, que están incluidas en la segunda unidad 1210b de codificación derecha, en una dirección vertical.
[0217] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar las terceras unidades 1226a, 1226b, 1226c y 1226d de codificación dividiendo las segundas unidades 1220a y 1220b de codificación generadas dividiendo la primera unidad 1200 de codificación en una dirección horizontal, en una dirección vertical, y puede procesar las terceras unidades 1226a, 1226b, 1226c y 1226d de codificación en un orden 1227 de procesamiento para procesar inicialmente las terceras unidades 1226a y 1226b de codificación, que se incluyen en la segunda unidad 1220a de codificación superior, en una dirección horizontal y a continuación procesar la tercera unidad 1226c y 1226d de codificación, que se incluyen en la segunda unidad 1220b de codificación inferior, en una dirección horizontal.
[0219] Con referencia a la FIG. 12, las terceras unidades 1216a, 1216b, 1216c y 1216d, y 1226a, 1226b, 1226c y 1226d de codificación cuadradas pueden determinarse dividiendo las segundas unidades 1210a y 1210b, y 1220a y 1220b de codificación, respectivamente. Aunque las segundas unidades 1210a y 1210b de codificación se determinan dividiendo la primera unidad 1200 de codificación en una dirección vertical de manera diferente a las segundas unidades 1220a y 1220b de codificación que se determinan dividiendo la primera unidad 1200 de codificación en una dirección horizontal, las terceras unidades 1216a, 1216b, 1216c y 1216d, y 1226a, 1226b, 1226c y 1226d de codificación divididas de las mismas muestran eventualmente unidades de codificación con la misma forma divididas de la primera unidad 1200 de codificación. Como tal, al dividir recursivamente una unidad de codificación de diferentes maneras según la información de modo de forma dividida, el dispositivo 100 de decodificación de imágenes puede procesar una pluralidad de unidades de codificación en diferentes órdenes incluso cuando finalmente se determina que las unidades de codificación tienen la misma forma.
[0221] La FIG.13 ilustra un proceso para determinar una profundidad de una unidad de codificación como una forma
y tamaño del cambio de unidad de codificación, cuando la unidad de codificación se divide recursivamente de modo que se determina una pluralidad de unidades de codificación, según una realización.
[0222] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar la profundidad de la unidad de codificación, según un criterio preestablecido. Por ejemplo, el criterio preestablecido puede ser la longitud de un lado largo de la unidad de codificación. Cuando la longitud de un lado largo de una unidad de codificación antes de dividirse es 2n veces (n>0) la longitud de un lado largo de una unidad de codificación actual dividida, el dispositivo 100 de decodificación de imágenes puede determinar que una profundidad de la unidad de codificación actual aumenta desde una profundidad de la unidad de codificación antes de dividirse, en n. En la siguiente descripción, una unidad de codificación que tiene una mayor profundidad se expresa como una unidad de codificación de una menor profundidad.
[0223] Con referencia a la FIG. 13, según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una segunda unidad 1302 de codificación y una tercera unidad 1304 de codificación de profundidades inferiores dividiendo una primera unidad 1300 de codificación cuadrada según la información de forma de bloque que indica una forma cuadrada (por ejemplo, la información de forma de bloque puede expresarse como '0: CUADRADA'). Suponiendo que el tamaño de la primera unidad 1300 de codificación cuadrada es 2Nx2N, la segunda unidad 1302 de codificación determinada dividiendo un ancho y un alto de la primera unidad 1300 de codificación en 1/2 puede tener un tamaño de NxN. Además, la tercera unidad 1304 de codificación determinada dividiendo un ancho y una altura de la segunda unidad 1302 de codificación en 1/2 puede tener un tamaño de N/2xN/2. En este caso, un ancho y un alto de la tercera unidad 1304 de codificación son 1/4 veces los de la primera unidad 1300 de codificación. Cuando una profundidad de la primera unidad 1300 de codificación es D, una profundidad de la segunda unidad 1302 de codificación, cuyo ancho y altura son 1/2 veces los de la primera unidad 1300 de codificación, puede ser D+1, y una profundidad de la tercera unidad 1304 de codificación, cuyo ancho y altura son 1/4 veces los de la primera unidad 1300 de codificación, puede ser D+2.
[0224] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una segunda unidad 1312 o 1322 de codificación y una tercera unidad 1314 o 1324 de codificación de profundidades más bajas dividiendo una primera unidad 1310 o 1320 de codificación no cuadrada según la información de forma de bloque que indica una forma no cuadrada (por ejemplo, la información de forma de bloque puede expresarse como '1: NS_VER' que indica una forma no cuadrada, cuya altura es más larga que un ancho, o como '2: NS_HOR' que indica una forma no cuadrada, cuyo ancho es más largo que una altura).
[0225] El dispositivo 100 de decodificación de imágenes puede determinar una segunda unidad 1302, 1312 o 1322 de codificación dividiendo al menos uno de un ancho y un alto de la primera unidad 1310 de codificación que tiene un tamaño de Nx2N. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar la segunda unidad 1302 de codificación que tiene un tamaño de NxN o la segunda unidad 1322 de codificación que tiene un tamaño de NxN/2 dividiendo la primera unidad 1310 de codificación en una dirección horizontal, o puede determinar la segunda unidad 1312 de codificación que tiene un tamaño de N/2xN dividiendo la primera unidad 1310 de codificación en direcciones horizontal y vertical.
[0226] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar la segunda unidad 1302, 1312 o 1322 de codificación dividiendo al menos uno de un ancho y un alto de la primera unidad 1320 de codificación que tiene un tamaño de 2NxN. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar la segunda unidad 1302 de codificación que tiene un tamaño de NxN o la segunda unidad 1312 de codificación que tiene un tamaño de N/2xN dividiendo la primera unidad 1320 de codificación en una dirección vertical, o puede determinar la segunda unidad 1322 de codificación que tiene un tamaño de NxN/2 dividiendo la primera unidad 1320 de codificación en direcciones horizontal y vertical.
[0227] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una tercera unidad 1304, 1314 o 1324 de codificación dividiendo al menos uno de un ancho y un alto de la segunda unidad 1302 de codificación que tiene un tamaño de NxN. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar la tercera unidad 1304 de codificación que tiene un tamaño de N/2xN/2, la tercera unidad 1314 de codificación que tiene un tamaño de N/4xN/2, o la tercera unidad 1324 de codificación que tiene un tamaño de N/2xN/4 dividiendo la segunda unidad 1302 de codificación en direcciones vertical y horizontal.
[0228] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar la tercera unidad 1304, 1314 o 1324 de codificación dividiendo al menos uno de un ancho y un alto de la segunda unidad 1312 de codificación que tiene un tamaño de N/2xN. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar la tercera unidad 1304 de codificación que tiene un tamaño de N/2xN/2 o la tercera unidad 1324 de codificación que tiene un tamaño de N/2xN/4 dividiendo la segunda unidad 1312 de codificación en una dirección horizontal, o puede determinar la tercera unidad 1314 de codificación que tiene un tamaño de N/4xN/2 dividiendo la segunda unidad 1312 de codificación en direcciones vertical y horizontal.
[0229] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar la tercera unidad
1304, 1314 o 1324 de codificación dividiendo al menos uno de un ancho y un alto de la segunda unidad 1322 de codificación que tiene un tamaño de NxN/2. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar la tercera unidad 1304 de codificación que tiene un tamaño de N/2xN/2 o la tercera unidad 1314 de codificación que tiene un tamaño de N/4xN/2 dividiendo la segunda unidad 1322 de codificación en una dirección vertical, o puede determinar la tercera unidad 1324 de codificación que tiene un tamaño de N/2xN/4 dividiendo la segunda unidad 1322 de codificación en direcciones vertical y horizontal.
[0231] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir la unidad 1300, 1302 o 1304 de codificación cuadrada en una dirección horizontal o vertical. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar la primera unidad 1310 de codificación que tiene un tamaño de Nx2N dividiendo la primera unidad 1300 de codificación que tiene un tamaño de 2Nx2N en una dirección vertical, o puede determinar la primera unidad 1320 de codificación que tiene un tamaño de 2NxN dividiendo la primera unidad 1300 de codificación en una dirección horizontal. Según una realización, cuando se determina una profundidad según la longitud del lado más largo de una unidad de codificación, una profundidad de una unidad de codificación determinada dividiendo la primera unidad 1300 de codificación que tiene un tamaño de 2Nx2N en una dirección horizontal o vertical puede ser la misma que la profundidad de la primera unidad 1300 de codificación.
[0233] Según una realización, un ancho y una altura de la tercera unidad 1314 o 1324 de codificación pueden ser 1/4 veces los de la primera unidad 1310 o 1320 de codificación. Cuando una profundidad de la primera unidad 1310 o 1320 de codificación es D, una profundidad de la segunda unidad 1312 o 1322 de codificación, cuyo ancho y altura son 1/2 veces los de la primera unidad 1310 o 1320 de codificación, puede ser D+1, y una profundidad de la tercera unidad 1314 o 1324 de codificación, cuyo ancho y altura son 1/4 veces los de la primera unidad 1310 o 1320 de codificación, puede ser D+2.
[0235] La FIG. 14 ilustra profundidades que son determinables según las formas y tamaños de las unidades de codificación, y los índices de parte (Part Indexes, PID) que son para distinguir las unidades de codificación, según una realización.
[0237] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar segundas unidades de codificación de varias formas dividiendo una primera unidad 1400 de codificación cuadrada. Con referencia a la FIG.14, el dispositivo 100 de decodificación de imágenes puede determinar las segundas unidades 1402a y 1402b, 1404a y 1404b, y 1406a, 1406b, 1406c y 1406d de codificación dividiendo la primera unidad 1400 de codificación en al menos una de las direcciones vertical y horizontal según la información de modo de forma dividida. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar las segundas unidades 1402a y 1402b, 1404a y 1404b, y 1406a, 1406b, 1406c y 1406d de codificación, según la información de modo de forma dividida de la primera unidad 1400 de codificación.
[0239] Según una realización, las profundidades de las segundas unidades 1402a y 1402b, 1404a y 1404b, y 1406a, 1406b, 1406c y 1406d de codificación que se determinan según la información de modo de forma dividida de la primera unidad 1400 de codificación cuadrada pueden determinarse según la longitud de un lado largo de esta. Por ejemplo, debido a que la longitud de un lado de la primera unidad 1400 de codificación cuadrada es igual a la longitud de un lado largo de las segundas unidades 1402a y 1402b, y 1404a y 1404b de codificación no cuadradas, la primera unidad 1400 de codificación y las segundas unidades 1402a y 1402b, y 1404a y 1404b de codificación no cuadradas pueden tener la misma profundidad, por ejemplo, D. Sin embargo, cuando el dispositivo 100 de decodificación de imágenes divide la primera unidad 1400 de codificación en las segundas unidades 1406a, 1406b, 1406c y 1406d de codificación cuadradas según la información de modo de forma dividida, debido a que la longitud de un lado de las segundas unidades 1406a, 1406b, 1406c y 1406d de codificación cuadradas es 1/2 veces la longitud de un lado de la primera unidad 1400 de codificación, una profundidad de las segundas unidades 1406a, 1406b, 1406c y 1406d de codificación puede ser D+1 que es más profunda que la profundidad D de la primera unidad 1400 de codificación en 1.
[0241] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una pluralidad de segundas unidades 1412a y 1412b, y 1414a, 1414b y 1414c de codificación dividiendo una primera unidad 1410 de codificación, cuya altura es más larga que un ancho, en una dirección horizontal basada en la información de modo de forma dividida. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una pluralidad de segundas unidades 1422a y 1422b, y 1424a, 1424b y 1424c de codificación dividiendo una primera unidad 1420 de codificación, cuyo ancho es más largo que una altura, en una dirección vertical basada en la información de modo de forma dividida.
[0243] Según una realización, una profundidad de las segundas unidades 1412a y 1412b, y 1414a, 1414b y 1414c, o 1422a y 1422b, y 1424a, 1424b y 1424c de codificación, que se determinan según la información de modo de forma dividida de la primera unidad 1410 o 1420 de codificación no cuadrada, puede determinarse según la longitud de un lado largo de esta. Por ejemplo, debido a que la longitud de un lado de las segundas unidades 1412a y 1412b de codificación cuadradas es 1/2 veces la longitud de un lado largo de la primera unidad 1410 de codificación que tiene una forma no cuadrada, cuya altura es más larga que un ancho, una profundidad de
las segundas unidades 1412a y 1412b de codificación cuadradas es D+1 que es más profunda que la profundidad D de la primera unidad 1410 de codificación no cuadrada en 1.
[0245] Además, el dispositivo 100 de decodificación de imágenes puede dividir la primera unidad 1410 de codificación no cuadrada en un número impar de segundas unidades 1414a, 1414b y 1414c de codificación según la información de modo de forma dividida. El número impar de segundas unidades 1414a, 1414b y 1414c de codificación puede incluir las segundas unidades 1414a y 1414c de codificación no cuadradas y la segunda unidad 1414b de codificación cuadrada. En este caso, debido a que la longitud de un lado largo de las segundas unidades 1414a y 1414c de codificación no cuadradas y la longitud de un lado de la segunda unidad 1414b de codificación cuadrada son 1/2 veces la longitud de un lado largo de la primera unidad 1410 de codificación, una profundidad de las segundas unidades 1414a, 1414b y 1414c de codificación puede ser D+1 que es más profunda que la profundidad D de la primera unidad 1410 de codificación no cuadrada en 1. El dispositivo 100 de decodificación de imágenes puede determinar profundidades de unidades de codificación divididas desde la primera unidad 1420 de codificación que tiene una forma no cuadrada, cuyo ancho es más largo que una altura, usando el procedimiento descrito anteriormente para determinar profundidades de unidades de codificación divididas desde la primera unidad 1410 de codificación.
[0247] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar PID para identificar unidades de codificación divididas, basándose en una relación de tamaño entre las unidades de codificación cuando un número impar de unidades de codificación divididas no tiene tamaños iguales. Con referencia a la FIG.14, una unidad 1414b de codificación de una ubicación central entre un número impar de unidades 1414a, 1414b y 1414c de codificación divididas puede tener un ancho igual al de las otras unidades 1414a y 1414c de codificación y una altura que es dos veces la de las otras unidades 1414a y 1414c de codificación. Es decir, en este caso, la unidad 1414b de codificación en la ubicación central puede incluir dos de las otras unidades 1414a o 1414c de codificación. Por lo tanto, cuando un PID de la unidad 1414b de codificación en la ubicación central es 1 según un orden de escaneo, un PID de la unidad 1414c de codificación ubicada junto a la unidad 1414b de codificación puede aumentarse en 2 y, por lo tanto, puede ser 3. Es decir, puede estar presente una discontinuidad en los valores de PID. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar si un número impar de unidades de codificación divididas no tienen tamaños iguales, según si hay discontinuidad en los PID para identificar las unidades de codificación divididas.
[0249] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar si usar un procedimiento de división específico, según los valores de PID para identificar una pluralidad de unidades de codificación determinadas dividiendo una unidad de codificación actual. Con referencia a la FIG. 14, el dispositivo 100 de decodificación de imágenes puede determinar un número par de unidades 1412a y 1412b de codificación o un número impar de unidades 1414a, 1414b y 1414c de codificación dividiendo la primera unidad 1410 de codificación que tiene una forma rectangular, una altura de la cual es más larga que un ancho. El dispositivo 100 de decodificación de imágenes puede usar PID que indican unidades de codificación respectivas para identificar las unidades de codificación respectivas. Según una realización, el PID puede obtenerse a partir de una muestra en una ubicación preestablecida de cada unidad de codificación (por ejemplo, una muestra superior izquierda).
[0251] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una unidad de codificación en una ubicación preestablecida de entre las unidades de codificación divididas, usando los PID para distinguir las unidades de codificación. Según una realización, cuando la información de modo de forma dividida de la primera unidad 1410 de codificación que tiene una forma rectangular, una altura de la cual es más larga que un ancho, indica dividir una unidad de codificación en tres unidades de codificación, el dispositivo 100 de decodificación de imágenes puede dividir la primera unidad 1410 de codificación en tres unidades 1414a, 1414b y 1414c de codificación. El dispositivo 100 de decodificación de imágenes puede asignar un PID a cada una de las tres unidades 1414a, 1414b y 1414c de codificación. El dispositivo 100 de decodificación de imágenes puede comparar los PID de un número impar de unidades de codificación divididas para determinar una unidad de codificación en una ubicación central de entre las unidades de codificación. El dispositivo 100 de decodificación de imágenes puede determinar la unidad 1414b de codificación que tiene un PID correspondiente a un valor medio entre los PID de las unidades de codificación, como la unidad de codificación en la ubicación central de entre las unidades de codificación determinadas dividiendo la primera unidad 1410 de codificación. Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar PID para distinguir unidades de codificación divididas, basándose en una relación de tamaño entre las unidades de codificación cuando las unidades de codificación divididas no tienen tamaños iguales. Con referencia a la FIG.
[0252] 14, la unidad 1414b de codificación generada al dividir la primera unidad 1410 de codificación puede tener un ancho igual al de las otras unidades 1414a y 1414c de codificación y una altura que es dos veces la de las otras unidades 1414a y 1414c de codificación. En este caso, cuando el PID de la unidad 1414b de codificación en la ubicación central es 1, el PID de la unidad 1414c de codificación ubicada junto a la unidad 1414b de codificación puede aumentarse en 2 y, por lo tanto, puede ser 3. Cuando el PID no aumenta uniformemente como se describió anteriormente, el dispositivo 100 de decodificación de imágenes puede determinar que una unidad de codificación se divide en una pluralidad de unidades de codificación incluyendo una unidad de codificación que tiene un tamaño diferente del de las otras unidades de codificación. Según una realización,
cuando la información de modo de forma dividida indica dividir una unidad de codificación en un número impar de unidades de codificación, el dispositivo 100 de decodificación de imágenes puede dividir una unidad de codificación actual de tal manera que una unidad de codificación de una ubicación preestablecida entre un número impar de unidades de codificación (por ejemplo, una unidad de codificación de una ubicación central) tiene un tamaño diferente del de las otras unidades de codificación. En este caso, el dispositivo 100 de decodificación de imágenes puede determinar la unidad de codificación de la ubicación central, que tiene un tamaño diferente, usando los PID de las unidades de codificación. Sin embargo, los PID y el tamaño o la ubicación de la unidad de codificación de la ubicación preestablecida no se limitan a los ejemplos descritos anteriormente, y pueden usarse varios PID y varias ubicaciones y tamaños de unidades de codificación. Según una realización, el dispositivo 100 de decodificación de imágenes puede usar una unidad de datos preestablecida donde una unidad de codificación comienza a dividirse recursivamente.
[0253] La FIG. 15 ilustra que una pluralidad de unidades de codificación se determina según una pluralidad de unidades de datos preestablecidas incluidas en una imagen, según una realización.
[0254] Según una realización, una unidad de datos preestablecida puede definirse como una unidad de datos donde una unidad de codificación comienza a dividirse recursivamente usando información de modo de forma dividida. Es decir, la unidad de datos preestablecida puede corresponder a una unidad de codificación de una profundidad superior, que se usa para determinar una pluralidad de unidades de codificación divididas a partir de una imagen actual. En las siguientes descripciones, para facilitar la explicación, la unidad de datos preestablecida se denomina unidad de datos de referencia.
[0255] Según una realización, la unidad de datos de referencia puede tener un tamaño y una forma preestablecidos. Según una realización, una unidad de codificación de referencia puede incluir muestras MxN. En la presente, M y N pueden ser iguales entre sí, y pueden ser números enteros expresados como potencias de 2. Es decir, la unidad de datos de referencia puede tener una forma cuadrada o no cuadrada, y puede dividirse en un número entero de unidades de codificación.
[0256] Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir la imagen actual en una pluralidad de unidades de datos de referencia. Según una realización, el dispositivo 100 de decodificación de imágenes puede dividir la pluralidad de unidades de datos de referencia, que se dividen de la imagen actual, usando la información de modo de forma dividida de cada unidad de datos de referencia. La operación de dividir la unidad de datos de referencia puede corresponder a una operación de división usando una estructura de árbol cuádruple.
[0257] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar previamente el tamaño mínimo permitido para las unidades de datos de referencia incluidas en la imagen actual. Por consiguiente, el dispositivo 100 de decodificación de imágenes puede determinar varias unidades de datos de referencia que tienen tamaños iguales o superiores al tamaño mínimo, y puede determinar una o más unidades de codificación usando la información de modo de forma dividida con referencia a la unidad de datos de referencia determinada.
[0258] Con referencia a la FIG.15, el dispositivo 100 de decodificación de imágenes puede usar una unidad 1500 de codificación de referencia cuadrada o una unidad 1502 de codificación de referencia no cuadrada. Según una realización, la forma y el tamaño de las unidades de codificación de referencia pueden determinarse según varias unidades de datos capaces de incluir una o más unidades de codificación de referencia (por ejemplo, secuencias, imágenes, cortes, segmentos de corte, mosaicos, grupos de mosaicos, unidades de codificación más grandes o similares).
[0259] Según una realización, el receptor 110 del dispositivo 100 de decodificación de imágenes puede obtener, a partir de un flujo de bits, al menos uno de información de forma de unidad de codificación de referencia e información de tamaño de unidad de codificación de referencia con respecto a cada una de las diversas unidades de datos. Una operación de división de la unidad 1500 de codificación de referencia cuadrada en una o más unidades de codificación se ha descrito anteriormente en relación con la operación de división de la unidad 300 de codificación actual de la FIG. 3, y una operación de división de la unidad 1502 de codificación de referencia no cuadrada en una o más unidades de codificación se ha descrito anteriormente en relación con la operación de división de la unidad 400 o 450 de codificación actual de la FIG. 4. Por lo tanto, no se proporcionarán en la presente descripciones detalladas de estos.
[0260] Según una realización, el dispositivo 100 de decodificación de imágenes puede usar un PID para identificar el tamaño y la forma de las unidades de codificación de referencia, para determinar el tamaño y la forma de las unidades de codificación de referencia según algunas unidades de datos previamente determinadas según una condición preestablecida. Es decir, el receptor 110 puede obtener, a partir del flujo de bits, solo el PID para identificar el tamaño y la forma de las unidades de codificación de referencia con respecto a cada fragmento, segmento de fragmento, mosaico, grupo de mosaicos o unidad de codificación más grande que es una unidad
de datos que satisface una condición preestablecida (por ejemplo, una unidad de datos que tiene un tamaño igual o menor que un fragmento) entre las diversas unidades de datos (por ejemplo, secuencias, imágenes, fragmentos, segmentos de fragmentos, mosaicos, grupos de mosaicos, unidades de codificación más grandes o similares). El dispositivo 100 de decodificación de imágenes puede determinar el tamaño y la forma de las unidades de datos de referencia con respecto a cada unidad de datos, que satisface la condición preestablecida, a través del uso del PID. Cuando la información de forma de la unidad de codificación de referencia y la información de tamaño de la unidad de codificación de referencia se obtienen y usan a partir del flujo de bits según cada unidad de datos que tiene un tamaño relativamente pequeño, la eficiencia de uso del flujo de bits puede no ser alta y, por lo tanto, solo puede obtenerse y usar el PID en lugar de obtener directamente la información de forma de la unidad de codificación de referencia y la información de tamaño de la unidad de codificación de referencia. En este caso, puede determinarse previamente al menos uno del tamaño y la forma de las unidades de codificación de referencia correspondientes al PID para identificar el tamaño y la forma de las unidades de codificación de referencia. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar al menos uno del tamaño y la forma de las unidades de codificación de referencia incluidas en una unidad de datos que sirve como una unidad para obtener el PID, seleccionando el al menos uno previamente determinado del tamaño y la forma de las unidades de codificación de referencia basadas en el PID.
[0262] Según una realización, el dispositivo 100 de decodificación de imágenes puede usar una o más unidades de codificación de referencia incluidas en una unidad de codificación más grande. Es decir, una unidad de codificación más grande dividida de una imagen puede incluir una o más unidades de codificación de referencia, y las unidades de codificación pueden determinarse dividiendo recursivamente cada unidad de codificación de referencia. Según una realización, al menos uno de un ancho y un alto de la unidad de codificación más grande puede ser un número entero por al menos uno del ancho y el alto de las unidades de codificación de referencia. Según una realización, el tamaño de las unidades de codificación de referencia puede obtenerse dividiendo la unidad de codificación más grande n veces según una estructura de árbol cuaternario. Es decir, el dispositivo 100 de decodificación de imágenes puede determinar las unidades de codificación de referencia dividiendo la unidad de codificación más grande n veces según una estructura de árbol cuaternario, y puede dividir la unidad de codificación de referencia según al menos una de la información de forma de bloque y la información de modo de forma dividida según diversas realizaciones.
[0264] La FIG. 16 ilustra un bloque de procesamiento que sirve como una unidad para determinar un orden de determinación de unidades de codificación de referencia incluidas en una imagen, según una realización.
[0265] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar uno o más bloques de procesamiento divididos a partir de una imagen. El bloque de procesamiento es una unidad de datos incluyendo una o más unidades de codificación de referencia divididas a partir de una imagen, y la una o más unidades de codificación de referencia incluidas en el bloque de procesamiento pueden determinarse según un orden específico. Es decir, un orden de determinación de una o más unidades de codificación de referencia determinado en cada bloque de procesamiento puede corresponder a uno de varios tipos de órdenes para determinar unidades de codificación de referencia, y puede variar dependiendo del bloque de procesamiento. El orden de determinación de las unidades de codificación de referencia, que se determina con respecto a cada bloque de procesamiento, puede ser uno de varios órdenes, por ejemplo, orden de escaneo de trama, escaneo Z, escaneo N, escaneo diagonal hacia arriba y hacia la derecha, escaneo horizontal y escaneo vertical, pero no se limita a los órdenes de escaneo mencionados anteriormente.
[0267] Según una realización, el dispositivo 100 de decodificación de imágenes puede obtener información de tamaño de bloque de procesamiento y puede determinar el tamaño de uno o más bloques de procesamiento incluidos en la imagen. El dispositivo 100 de decodificación de imágenes puede obtener la información de tamaño de bloque de procesamiento a partir de un flujo de bits y puede determinar el tamaño de uno o más bloques de procesamiento incluidos en la imagen. El tamaño de los bloques de procesamiento puede ser un tamaño preestablecido de unidades de datos, que se indica por la información de tamaño de bloque de procesamiento.
[0268] Según una realización, el receptor 110 del dispositivo 100 de decodificación de imágenes puede obtener la información de tamaño de bloque de procesamiento a partir del flujo de bits según cada unidad de datos específica. Por ejemplo, la información de tamaño de bloque de procesamiento puede obtenerse a partir del flujo de bits en una unidad de datos tal como una imagen, secuencia, imagen, corte, segmento de corte, mosaico o grupo de mosaicos. Es decir, el receptor 110 puede obtener la información de tamaño de bloque de procesamiento a partir del flujo de bits según cada una de las diversas unidades de datos, y el dispositivo 100 de decodificación de imágenes puede determinar el tamaño de uno o más bloques de procesamiento, que se dividen a partir de la imagen, a través del uso de la información de tamaño de bloque de procesamiento obtenida. El tamaño de los bloques de procesamiento puede ser entero veces el de las unidades de codificación de referencia.
[0270] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar el tamaño de los bloques 1602 y 1612 de procesamiento incluidos en la imagen 1600. Por ejemplo, el dispositivo 100 de
decodificación de imágenes puede determinar el tamaño de los bloques de procesamiento según la información del tamaño del bloque de procesamiento obtenida a partir del flujo de bits. Con referencia a la FIG.16, según una realización, el dispositivo 100 de decodificación de imágenes puede determinar que un ancho de los bloques 1602 y 1612 de procesamiento es cuatro veces el ancho de las unidades de codificación de referencia, y puede determinar que una altura de los bloques 1602 y 1612 de procesamiento es cuatro veces la altura de las unidades de codificación de referencia. El dispositivo 100 de decodificación de imágenes puede determinar un orden de determinación de una o más unidades de codificación de referencia en uno o más bloques de procesamiento.
[0272] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar los bloques 1602 y 1612 de procesamiento, que están incluidos en la imagen 1600, según el tamaño de los bloques de procesamiento, y puede determinar un orden de determinación de una o más unidades de codificación de referencia en los bloques 1602 y 1612 de procesamiento. Según una realización, la determinación de unidades de codificación de referencia puede incluir la determinación del tamaño de las unidades de codificación de referencia.
[0274] Según una realización, el dispositivo 100 de decodificación de imágenes puede obtener, a partir del flujo de bits, información de orden de determinación de una o más unidades de codificación de referencia incluidas en uno o más bloques de procesamiento, y puede determinar un orden de determinación con respecto a una o más unidades de codificación de referencia basándose en la información de orden de determinación obtenida. La información de orden de determinación puede definirse como un orden o dirección para determinar las unidades de codificación de referencia en el bloque de procesamiento. Es decir, el orden de determinación de las unidades de codificación de referencia puede determinarse independientemente con respecto a cada bloque de procesamiento.
[0276] Según una realización, el dispositivo 100 de decodificación de imágenes puede obtener, a partir del flujo de bits, la información de orden de determinación de unidades de codificación de referencia según cada unidad de datos específica. Por ejemplo, el receptor 110 puede obtener la información de orden de determinación de unidades de codificación de referencia del flujo de bits según cada unidad de datos tal como una imagen, secuencia, imagen, corte, segmento de corte, mosaico, grupo de mosaicos o bloque de procesamiento. Debido a que la información de orden de determinación de las unidades de codificación de referencia indica un orden para determinar las unidades de codificación de referencia en un bloque de procesamiento, la información de orden de determinación puede obtenerse con respecto a cada unidad de datos específica incluyendo un número entero de bloques de procesamiento.
[0278] Según una realización, el dispositivo 100 de decodificación de imágenes puede determinar una o más unidades de codificación de referencia según el orden de determinación determinado.
[0280] Según una realización, el receptor 110 puede obtener la información de orden de determinación de unidades de codificación de referencia del flujo de bits como información relacionada con los bloques 1602 y 1612 de procesamiento, y el dispositivo 100 de decodificación de imágenes puede determinar un orden de determinación de una o más unidades de codificación de referencia incluidas en los bloques 1602 y 1612 de procesamiento y determinar una o más unidades de codificación de referencia, que se incluyen en la imagen 1600, basado en el orden de determinación. Con referencia a la FIG. 16, el dispositivo 100 de decodificación de imágenes puede determinar los órdenes 1604 y 1614 de determinación de una o más unidades de codificación de referencia en los bloques 1602 y 1612 de procesamiento, respectivamente. Por ejemplo, cuando la información de orden de determinación de las unidades de codificación de referencia se obtiene con respecto a cada bloque de procesamiento, pueden obtenerse diferentes tipos de la información de orden de determinación de las unidades de codificación de referencia para los bloques 1602 y 1612 de procesamiento. Cuando el orden 1604 de determinación de las unidades de codificación de referencia en el bloque 1602 de procesamiento es un orden de escaneo ráster, las unidades de codificación de referencia incluidas en el bloque 1602 de procesamiento pueden determinarse según un orden de escaneo ráster. Por el contrario, cuando el orden 1614 de determinación de las unidades de codificación de referencia en el otro bloque 1612 de procesamiento es un orden de exploración de trama hacia atrás, las unidades de codificación de referencia incluidas en el bloque 1612 de procesamiento pueden determinarse según el orden de exploración de trama hacia atrás.
[0282] Según una realización, el dispositivo 100 de decodificación de imágenes puede decodificar la una o más unidades de codificación de referencia determinadas. El dispositivo 100 de decodificación de imágenes puede decodificar una imagen, según las unidades de codificación de referencia determinadas como se describió anteriormente. Un procedimiento para decodificar las unidades de codificación de referencia puede incluir diversos procedimientos de decodificación de imágenes.
[0284] Según una realización, el dispositivo 100 de decodificación de imágenes puede obtener información de forma de bloque que indica la forma de una unidad de codificación actual o información de modo de forma dividida que indica un procedimiento de división de la unidad de codificación actual, a partir del flujo de bits, y puede
usar la información obtenida. La información de modo de forma dividida puede incluirse en el flujo de bits relacionado con varias unidades de datos. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede usar la información de modo de forma dividida incluida en un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, un conjunto de parámetros de vídeo, una cabecera de fragmento, una cabecera de segmento de fragmento, una cabecera de mosaico o una cabecera de grupo de mosaicos. Además, el dispositivo 100 de decodificación de imágenes puede obtener, a partir del flujo de bits, un elemento de sintaxis correspondiente a la información de forma de bloque o la información de modo de forma dividida según cada unidad de codificación más grande, cada unidad de codificación de referencia o cada bloque de procesamiento, y puede usar el elemento de sintaxis obtenido.
[0285] A continuación, se describirá en detalle un procedimiento para determinar una regla dividida, según una realización de la presente descripción.
[0286] El dispositivo 100 de decodificación de imágenes puede determinar una regla de división de una imagen. La regla de división puede predeterminarse entre el dispositivo 100 de decodificación de imágenes y el dispositivo 2200 de codificación de imágenes. El dispositivo 100 de decodificación de imágenes puede determinar la regla de división de la imagen, según la información obtenida de un flujo de bits. El dispositivo 100 de decodificación de imágenes puede determinar la regla de división según la información obtenida de al menos uno de un conjunto de parámetros de secuencia, un conjunto de parámetros de imagen, un conjunto de parámetros de vídeo, una cabecera de fragmento, una cabecera de segmento de fragmento, una cabecera de mosaico y una cabecera de grupo de mosaicos. El dispositivo 100 de decodificación de imágenes puede determinar la regla de división de manera diferente según fotogramas, cortes, mosaicos, capas temporales, unidades de codificación más grandes o unidades de codificación.
[0287] El dispositivo 100 de decodificación de imágenes puede determinar la regla de división según una forma de bloque de una unidad de codificación. La forma del bloque puede incluir un tamaño, una forma, una relación de ancho y alto, y una dirección de la unidad de codificación. El dispositivo 2200 de codificación de imágenes y el dispositivo 100 de decodificación de imágenes pueden predeterminarse para determinar la regla de división según la forma de bloque de la unidad de codificación. Sin embargo, la realización no se limita a esto. El dispositivo 100 de decodificación de imágenes puede determinar la regla de división según la información obtenida del flujo de bits recibido del dispositivo 2200 de codificación de imágenes.
[0288] La forma de la unidad de codificación puede incluir un cuadrado y un no cuadrado. Cuando las longitudes del ancho y la altura de la unidad de codificación son las mismas, el dispositivo 100 de decodificación de imágenes puede determinar que la forma de la unidad de codificación es un cuadrado. Además, cuando las longitudes del ancho y la altura de la unidad de codificación no son las mismas, el dispositivo 100 de decodificación de imágenes puede determinar que la forma de la unidad de codificación no es cuadrada.
[0289] El tamaño de la unidad de codificación puede incluir varios tamaños, tales como 4x4, 8x4, 4x8, 8x8, 16x4, 16x8 y hasta 256x256. El tamaño de la unidad de codificación puede clasificarse según la longitud de un lado largo de la unidad de codificación, la longitud de un lado corto o el área. El dispositivo 100 de decodificación de imágenes puede aplicar la misma regla de división a unidades de codificación clasificadas como el mismo grupo. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede clasificar las unidades de codificación que tienen las mismas longitudes de los lados largos como que tienen el mismo tamaño. Además, el dispositivo 100 de decodificación de imágenes puede aplicar la misma regla de división a las unidades de codificación que tienen las mismas longitudes de lados largos.
[0290] La relación del ancho y la altura de la unidad de codificación puede incluir 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 32:1, 1:32 o similares. Además, una dirección de la unidad de codificación puede incluir una dirección horizontal y una dirección vertical. La dirección horizontal puede indicar un caso donde la longitud del ancho de la unidad de codificación es más larga que la longitud de la altura de esta. La dirección vertical puede indicar un caso donde la longitud del ancho de la unidad de codificación es más corta que la longitud de la altura de esta. El dispositivo 100 de decodificación de imágenes puede determinar de forma adaptativa la regla de división según el tamaño de la unidad de codificación. El dispositivo 100 de decodificación de imágenes puede determinar de manera diferente un modo de forma dividida permisible en base al tamaño de la unidad de codificación. Por ejemplo, el dispositivo 100 de decodificación de imágenes puede determinar si se permite la división según el tamaño de la unidad de codificación. El dispositivo 100 de decodificación de imágenes puede determinar una dirección de división según el tamaño de la unidad de codificación. El dispositivo 100 de decodificación de imágenes puede determinar un tipo de división permisible según el tamaño de la unidad de codificación.
[0291] La regla de división determinada según el tamaño de la unidad de codificación puede ser una regla de división predeterminada entre el dispositivo 2200 de codificación de imágenes y el dispositivo 100 de decodificación de imágenes. Además, el dispositivo 100 de decodificación de imágenes puede determinar la regla de división según la información obtenida del flujo de bits.
[0292] El dispositivo 100 de decodificación de imágenes puede determinar de forma adaptativa la regla de división basada en una ubicación de la unidad de codificación. El dispositivo 100 de decodificación de imágenes puede determinar de forma adaptativa la regla de división según la ubicación de la unidad de codificación en la imagen. Además, el dispositivo 100 de decodificación de imágenes puede determinar la regla de división de modo que las unidades de codificación generadas a través de diferentes rutas de división no tengan la misma forma de bloque. Sin embargo, una realización no se limita a esto, y las unidades de codificación generadas a través de diferentes trayectorias de división tienen la misma forma de bloque. Las unidades de codificación generadas a través de las diferentes rutas de división pueden tener diferentes órdenes de procesamiento de decodificación. Debido a que las órdenes de procesamiento de decodificación se han descrito anteriormente con referencia a la FIG.12, los detalles de esta no se proporcionan de nuevo.
[0293] En lo sucesivo, según una realización descrita en la presente memoria descriptiva, un procedimiento y dispositivo de codificación/decodificación de vídeo para determinar si un modo de predicción de un bloque actual es un modo afín, dividir, cuando el modo de predicción del bloque actual es un modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basándose en un tamaño de subbloque predefinido, determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia, determinar que el vector de movimiento de luminancia medio es un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia y realizar predicción en el subbloque de crominancia actual usando el vector de movimiento determinado se describirá con referencia a las FIGS.17 a 20.
[0294] La FIG.17 es un diagrama de bloques de un dispositivo de codificación de vídeo según una realización. Un dispositivo 1700 de codificación de vídeo según una realización puede incluir una memoria 1710 y al menos un procesador 1720 conectado a la memoria 1710. Las operaciones del dispositivo 1700 de codificación de vídeo según una realización pueden realizarse a través de procesadores individuales o a través de un control a través de un procesador central. Además, la memoria 1710 del dispositivo 1700 de codificación de vídeo puede almacenar datos recibidos desde el exterior y datos (por ejemplo, un vector de movimiento de un subbloque de luminancia, etc.) generados por el procesador 1720.
[0295] El procesador 1720 del dispositivo 1700 de codificación de vídeo puede determinar si un modo de predicción de un bloque actual es un modo afín, dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basándose en un tamaño de subbloque predefinido, determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia, determinar que el vector de movimiento de luminancia medio es un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia, y realizar predicción en el subbloque de crominancia actual usando el vector de movimiento determinado. En lo sucesivo, las operaciones detalladas de un procedimiento de codificación de vídeo, realizadas por el dispositivo 1700 de codificación de vídeo según una realización, para determinar si un modo de predicción de un bloque actual es un modo afín, dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basada en un tamaño de subbloque predefinido, determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia, determinar el vector de movimiento de luminancia medio para que sea un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia y realizar la predicción en el subbloque de crominancia actual usando el vector de movimiento determinado se describirán con referencia a la FIG.18.
[0296] La FIG.18 es un diagrama de flujo que ilustra un procedimiento de codificación de vídeo según una realización. Con referencia a la FIG. 18, en la operación S1810, el dispositivo 1700 de codificación de vídeo puede determinar si un modo de predicción de un bloque actual es un modo afín.
[0297] En la operación S1830, cuando el modo de predicción del bloque actual es el modo afín, el dispositivo 1700 de codificación de vídeo puede dividir un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada, según un tamaño de subbloque predefinido.
[0298] En la operación S1850, el dispositivo 1700 de codificación de vídeo puede determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia.
[0299] En la operación S1870, el dispositivo 1700 de codificación de vídeo puede determinar que el vector de movimiento de luminancia medio es un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia. Un procedimiento para determinar el vector de movimiento de luminancia medio usando el vector de movimiento del subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y el vector de movimiento del subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia y determinar el vector de movimiento de luminancia medio para que sea el vector de movimiento del subbloque de luminancia correspondiente a los cuatro subbloques de luminancia se describirá con referencia a la FIG.21C, en un momento posterior.
[0300] Según una realización, el vector de movimiento del subbloque de crominancia actual puede ser un valor medio del vector de movimiento del subbloque de luminancia superior izquierdo y el vector de movimiento del subbloque de luminancia inferior derecho.
[0301] Según una realización, un formato de crominancia de una imagen de crominancia actual incluyendo el subbloque de crominancia actual puede ser 4:2:0.
[0302] Según una realización, el tamaño de subbloque predefinido puede ser 4x4.
[0303] Según una realización, cuando el tamaño de subbloque predefinido es 4x4, un tamaño del subbloque de crominancia actual puede ser 4x4.
[0304] Según otra realización, puede determinarse un vector de movimiento de luminancia medio usando todos los vectores de movimiento de cuatro subbloques de luminancia que tienen una forma cuadrada, y puede determinarse que el vector de movimiento de luminancia medio es un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia. Se describirá un procedimiento para determinar el vector de movimiento de luminancia medio usando todos los vectores de movimiento de los cuatro subbloques de luminancia y determinar el vector de movimiento de luminancia medio para que sea el vector de movimiento del subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia con referencia a la FIG.21B, en un momento posterior.
[0305] Según otra realización, puede determinarse un vector de movimiento de luminancia medio usando solo un vector de movimiento de un subbloque de luminancia superior izquierdo de cuatro subbloques de luminancia que tienen una forma cuadrada, y puede determinarse que el vector de movimiento de luminancia medio es un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia. Un procedimiento para determinar el vector de movimiento de luminancia medio usando solo el vector de movimiento del subbloque de luminancia superior izquierdo entre los vectores de movimiento de los cuatro subbloques de luminancia, y determinar el vector de movimiento de luminancia medio para que sea un vector de movimiento de un subbloque de luminancia correspondiente a los cuatro subbloques de luminancia se describirá con referencia a la FIG.21D, en un momento posterior.
[0306] En la operación S1890, el dispositivo 1700 de codificación de vídeo puede realizar la predicción en el subbloque de crominancia actual a través del uso del vector de movimiento determinado.
[0307] Según una realización, si el modo de predicción del bloque actual es el modo afín puede determinarse a través de un cálculo de suma de diferencia de transformada (Sum of Transform Difference, SATD) u optimización de distorsión de velocidad (Rate Distortion Optimization, RDO), y puede codificarse y señalizarse información sobre si el modo de predicción del bloque actual es el modo afín.
[0308] Las FIGS. 19 y 20 ilustran un diagrama de bloques de un dispositivo de decodificación de vídeo según una realización y un diagrama de flujo de un procedimiento de decodificación de vídeo según una realización, que corresponden respectivamente al dispositivo de codificación de vídeo y al procedimiento de codificación de vídeo descritos anteriormente.
[0309] La FIG.19 ilustra un diagrama de bloques de un dispositivo de decodificación de vídeo según una realización. Un dispositivo 1900 de decodificación de vídeo según una realización puede incluir una memoria 1910 y al menos un procesador 1920 conectado a la memoria 1910. Las operaciones del dispositivo 1900 de decodificación de vídeo según una realización pueden realizarse a través de procesadores individuales o a través de un control a través de un procesador central. Además, la memoria 1910 del dispositivo 1900 de decodificación de vídeo puede almacenar datos recibidos desde el exterior y datos (por ejemplo, un vector de
movimiento de un subbloque de luminancia, etc.) generados por el procesador 1920.
[0310] El procesador 1920 del dispositivo 1900 de decodificación de vídeo puede determinar si un modo de predicción de un bloque actual es un modo afín, dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basándose en un tamaño de subbloque predefinido, determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia, determinar el vector de movimiento de luminancia medio para que sea un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia y realizar predicción en el subbloque de crominancia actual usando el vector de movimiento determinado.
[0311] En lo sucesivo, las operaciones detalladas de un procedimiento para determinar si un modo de predicción de un bloque actual es un modo afín, dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada basada en un tamaño de subbloque predefinido, determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia, determinar el vector de movimiento de luminancia medio para que sea un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia y realizar la predicción en el subbloque de crominancia actual usando el vector de movimiento determinado se describirán con referencia a la FIG.20.
[0312] La FIG. 20 es un diagrama de flujo que ilustra un procedimiento de decodificación de vídeo según una realización.
[0313] Con referencia a la FIG. 20, en la operación S2010, el dispositivo 1900 de decodificación de vídeo puede determinar si un modo de predicción de un bloque actual es un modo afín.
[0314] En la operación S2030, el dispositivo 1900 de decodificación de vídeo puede dividir, cuando el modo de predicción del bloque actual es el modo afín, un bloque de luminancia del bloque actual en una pluralidad de subbloques de luminancia que tienen una forma cuadrada según un tamaño de subbloque predefinido.
[0315] En la operación S2050, el dispositivo 1900 de decodificación de vídeo puede determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia vecinos entre la pluralidad de subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector de movimiento de un subbloque de luminancia inferior derecho de los cuatro subbloques de luminancia.
[0316] En la operación S2070, el dispositivo 1900 de decodificación de vídeo puede determinar que el vector de movimiento de luminancia medio es un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia.
[0317] Según una realización, el vector de movimiento del subbloque de crominancia actual puede ser un valor medio del vector de movimiento del subbloque de luminancia superior izquierdo y el vector de movimiento del subbloque de luminancia inferior derecho.
[0318] Según una realización, un formato de crominancia de una imagen de crominancia actual incluyendo el subbloque de crominancia actual puede ser 4:2:0.
[0319] Según una realización, el tamaño de subbloque predefinido puede ser 4x4.
[0320] Según una realización, cuando el tamaño de subbloque predefinido es 4x4, un tamaño del subbloque de crominancia actual puede ser 4x4.
[0321] Según otra realización, el vector de movimiento de luminancia medio puede determinarse usando todos los vectores de movimiento de los cuatro subbloques de luminancia que tienen la forma de un cuadrado, y el vector de movimiento de luminancia medio puede determinarse para que sea el vector de movimiento del subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia.
[0322] Según otra realización, el vector de movimiento de luminancia medio puede determinarse usando solo el vector de movimiento del subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia que tienen la forma de un cuadrado, y el vector de movimiento de luminancia medio puede determinarse para ser el vector de movimiento del subbloque de luminancia actual correspondiente a los cuatro subbloques de
luminancia.
[0323] En la operación S2090, el dispositivo 1900 de decodificación de vídeo puede realizar la predicción en el subbloque de crominancia actual a través del uso del vector de movimiento determinado.
[0324] Según una realización, si el modo de predicción del bloque actual es el modo afín puede determinarse según la información sobre si el modo de predicción del bloque actual es el modo afín, la información se ha determinado y señalizado durante un proceso de codificación.
[0325] La FIG.21A ilustra píxeles de luminancia y píxeles de crominancia cuando un formato de color es 4:2:0. Con referencia a la FIG.21A, cuando un formato de color de una imagen actual es 4:2:0, el número de píxeles de crominancia correspondientes a píxeles de luminancia de 8x8 puede ser 4x4. Más específicamente, cuatro píxeles de luminancia pueden corresponder a un píxel de crominancia, y cada píxel de crominancia puede estar ubicado en una posición media entre un píxel de luminancia superior izquierdo y un píxel de luminancia inferior izquierdo de cuatro píxeles de luminancia que forman una forma cuadrada. Sin embargo, una posición de cada píxel de crominancia no se limita a la posición media, y cada píxel de crominancia puede estar ubicado en una de una posición del píxel de luminancia superior izquierdo, una posición de un píxel de luminancia inferior izquierdo, una posición media entre el píxel de luminancia superior izquierdo y un píxel de luminancia superior derecho, una posición central de los cuatro píxeles de luminancia y una posición media entre el píxel de luminancia inferior izquierdo y el píxel de luminancia inferior derecho.
[0326] La FIG. 21B es una vista para describir un procedimiento para realizar la predicción en un subbloque de crominancia correspondiente a cuatro subbloques de luminancia a través del uso de vectores de movimiento de los cuatro subbloques de luminancia.
[0327] Con referencia a la FIG.21B, un bloque 2100 de luminancia que tiene 8x8 píxeles de luminancia puede dividirse en cuatro subbloques 2110, 2120, 2130 y 2140 de luminancia, cada uno con 4x4 píxeles de luminancia en un modo afín, en donde los respectivos subbloques 2110, 2120, 2130 y 2140 de luminancia pueden tener vectores MV1, MV2, MV3 y MV4 de movimiento, respectivamente, y el bloque 2100 de luminancia puede estar sujeto a compensación de movimiento en unidades de subbloques de luminancia. Un vector de movimiento de un subbloque de crominancia correspondiente a los cuatro subbloques 2110, 2120, 2130 y 2140 de luminancia puede determinarse usando los vectores MV1, MV2, MV3 y MV4 de movimiento de los cuatro subbloques 2110, 2120, 2130 y 2140 de luminancia correspondientes al subbloque de crominancia, y la predicción en el subbloque de crominancia puede realizarse usando el vector de movimiento determinado. El vector de movimiento del subbloque de crominancia puede calcularse como un valor medio de los vectores MV1, MV2, MV3 y MV4 de movimiento de los cuatro subbloques 2110, 2120, 2130 y 2140 de luminancia.
[0328] La FIG.21B ilustra una realización de un caso donde un bloque de luminancia es 8x8. Sin embargo, el tamaño del bloque de luminancia no se limita a 8x8. Por ejemplo, cuando un bloque de luminancia es una unidad de codificación que tiene un tamaño de 128x128, el bloque de luminancia puede dividirse en unidades de subbloques de 4x4 y dividirse en 1024 subbloques de luminancia. Además, debido a que un subbloque de crominancia corresponde a cuatro subbloques de luminancia, un bloque de crominancia puede dividirse en 256 subbloques de crominancia.
[0329] La Ecuación 1 a continuación representa un ejemplo de cálculo de un valor medio de vectores de movimiento.
[0330] [Ecuación 1]
[0331] Mv curMv = Mv1 Mv2 Mv3 Mv4 Mv(2,2);
[0332] curMv.set(curMv.getHor()>>2, curMv.getVer()>>2);
[0333] Sin embargo, cuando se calcula un valor medio usando la Ecuación 1, un resultado de (3>>1) es 1, mientras que un resultado de (-3)>>1 es -2. Por lo tanto, el redondeo es asimétrico con respecto a los números positivos y negativos.
[0334] Para el redondeo simétrico, puede calcularse un valor medio de los vectores de movimiento usando la Ecuación 2 a continuación.
[0335] [Ecuación 2]
[0336] int rndOffset = 2;
[0337] int rndShift = 2;
[0338] curMv.setHor(curMv.getHor() >= 0 ? ((curMv.getHor() rndOffset) >> rndShift) : -((-curMv.getHor() rndOffset) >> rndShift));
[0339] curMv.setVer(curMv.getVer() >= 0 ? ((curMv.getVer() rndOffset) >> rndShift) : -((-curMv.getVer() rndOffset) >> rndShift));
[0340] La Ecuación 2 aplica diferentes procedimientos de redondeo según si un valor a redondear es un número positivo o un número negativo. Por ejemplo, cuando A a redondear es un valor positivo, A puede redondearse a (A offset)>>shift, y, cuando A a redondear es un valor negativo, A puede redondearse a -((-A offset)>>shift). En este caso, una relación entre offset y shift puede offset=(1<<(shift-1)). Además, un valor de shift puede determinarse basándose en el número de valores a redondear. Por ejemplo, cuando se obtiene un valor medio de cuatro valores, una suma de los valores puede redondearse usando un valor de shift de 2 y, cuando se obtiene un valor medio de dos valores, una suma de los valores puede redondearse usando un valor de shift de 1.
[0341] La FIG. 21C es una vista para describir un procedimiento para realizar la predicción en un subbloque de crominancia correspondiente a cuatro subbloques de luminancia a través del uso de vectores de movimiento de subbloques de luminancia superior izquierdo e inferior derecho de los cuatro subbloques de luminancia. Con referencia a la FIG. 21C, a diferencia de la FIG. 21B, un vector de movimiento de un subbloque de crominancia puede determinarse a través del uso de vectores de movimiento de dos subbloques de luminancia de cuatro subbloques de luminancia. Más específicamente, puede determinarse que el vector de movimiento del subbloque de luminancia es un valor medio de un vector MV1 de movimiento de un subbloque 2110 de luminancia superior izquierdo de los cuatro subbloques de luminancia y un vector MV4 de movimiento de un subbloque 2140 de luminancia inferior derecho de los cuatro subbloques de luminancia, y la predicción en el subbloque de luminancia puede realizarse usando el vector de movimiento determinado.
[0342] La FIG. 21D es una vista para describir un procedimiento de realización de predicción en un subbloque de crominancia correspondiente a cuatro subbloques de luminancia usando un vector de movimiento de un subbloque de luminancia superior izquierdo de los cuatro subbloques de luminancia.
[0343] Con referencia a la FIG.21D, puede determinarse que un vector de movimiento de un subbloque de luminancia de cuatro subbloques de luminancia es un vector de movimiento de un subbloque de crominancia, tal como está. Más específicamente, puede determinarse que el vector de movimiento del subbloque de crominancia es un vector MV1 de movimiento de un subbloque 2110 de luminancia superior izquierdo de los cuatro subbloques de luminancia, y la predicción en el subbloque de crominancia puede realizarse usando el vector de movimiento determinado.
[0344] Según otra realización, cuando un tamaño de un subbloque de crominancia es 4x4 en un modo afín, puede usarse un vector de movimiento representativo para un subbloque de crominancia rectangular configurado con subbloques de crominancia regulares. El ancho y la altura de un bloque de crominancia que tiene un vector de movimiento representativo pueden basarse en el ancho y la altura de una unidad de codificación actual. Según otra realización, cuando un tamaño de un subbloque de crominancia es 4x4 en un modo afín, puede usarse un vector de movimiento representativo para un subbloque de crominancia rectangular configurado con subbloques de crominancia regulares. Un ancho y una altura de un bloque de crominancia que tiene un vector de movimiento representativo pueden señalizarse a un nivel de fragmento. Además, el ancho y la altura de un bloque de crominancia que tiene un vector de movimiento representativo pueden derivarse según un vector de movimiento del punto de control (Control Point Motion Vector, CPMV) de un bloque actual.
[0345] Según otra realización, cuando un tamaño de un subbloque de crominancia es 4x4 en un modo afín, puede usarse un vector de movimiento representativo para un bloque de crominancia cuadrado configurado con subbloques de crominancia regulares. Un ancho y una altura de un bloque de crominancia que tiene un vector de movimiento representativo pueden señalizarse a un nivel de fragmento. Además, el ancho y la altura de un bloque de crominancia que tiene un vector de movimiento representativo pueden derivarse según un CPMV de un bloque actual. Además, un ancho y alto de un bloque de crominancia que tiene un vector de movimiento representativo puede determinarse según el tamaño de una unidad de codificación. El tamaño de la unidad de codificación puede ser fijo. Por ejemplo, la unidad de codificación puede tener un tamaño de píxel de 8x8. La FIG. 22 es una vista para describir detalladamente un procedimiento de derivación de un vector de movimiento que se aplicará a una muestra de un bloque actual en un modo afín.
[0346] Para derivar un vector de movimiento de una muestra de un bloque 2200 actual en un modo afín, pueden necesitarse al menos tres o más parámetros afines. Más específicamente, un modo afín puede incluir un modo afín de 6 parámetros, un modo afín de 4 parámetros y un modo afín de 3 parámetros. A continuación, se describirá un procedimiento de derivación del vector de movimiento de la muestra del bloque 2200 actual según
cada uno de los modos afines.
[0347] En el modo afín de 6 parámetros, el procesador 1710 puede obtener tres vectores 2202, 2204 y 2206 de movimiento de muestras vecinas del bloque 2200 actual. El primer vector 2202 de movimiento puede obtenerse de las muestras vecinas adyacentes a las coordenadas 2201 superiores izquierdas del bloque 2200 actual. Además, el segundo vector 2204 de movimiento puede obtenerse de las muestras vecinas adyacentes a las coordenadas 2203 superiores derechas del bloque 2200 actual. Además, el tercer vector 2206 de movimiento puede obtenerse de las muestras vecinas adyacentes a las coordenadas 2205 inferiores izquierdas del bloque 2200 actual. En la FIG. 22, el tercer vector 2206 de movimiento se obtiene según las coordenadas 2205 inferiores izquierdas del bloque 2200 actual, sin embargo, según algunas realizaciones, el tercer vector 2206 de movimiento puede obtenerse según las coordenadas 2207 inferiores derechas del bloque 2200 actual. Además, el procesador 1710 puede determinar los componentes x e y del primer vector 2202 de movimiento, los componentes x e y del segundo vector 2204 de movimiento, y los componentes x e y del tercer vector 2206 de movimiento, como parámetros afines.
[0348] Según una realización, puede determinarse que el primer vector 2202 de movimiento es un valor medio de vectores de movimiento de una pluralidad de bloques vecinos adyacentes a las coordenadas 2201 superiores izquierdas del bloque 2200 actual. Asimismo, puede determinarse que el segundo vector 2204 de movimiento es un valor medio de vectores de movimiento de una pluralidad de bloques vecinos adyacentes a las coordenadas 2203 superiores derechas del bloque 2200 actual. Además, puede determinarse que el tercer vector 2206 de movimiento es un valor medio de vectores de movimiento de una pluralidad de bloques vecinos adyacentes a las coordenadas 2205 inferiores izquierdas del bloque 2200 actual o las coordenadas 2207 inferiores derechas del bloque 2200 actual.
[0349] Un vector 2210 de movimiento de una muestra 2208 del bloque 2200 actual puede determinarse según el primer vector 2202 de movimiento, el segundo vector 2204 de movimiento y el tercer vector 2206 de movimiento, según las Ecuaciones 3 a 5.
[0350] En las Ecuaciones 3 a 5, x representa una distancia horizontal entre las coordenadas 2201 superiores izquierdas del bloque 2200 actual y la muestra 2208 del bloque 2200 actual, e y representa una distancia vertical entre las coordenadas 2201 superiores izquierdas del bloque 2200 actual y la muestra 2208 del bloque 2200 actual. MV0 representa el primer vector 2202 de movimiento, MV1 representa el segundo vector 2204 de movimiento y MV2 representa el tercer vector 2206 de movimiento. MV representa el vector 2210 de movimiento de la muestra 2208 del bloque 2200 actual. w representa un ancho del bloque 2200 actual, y h representa una altura del bloque 2200 actual. dMVx representa una tasa de cambio horizontal del vector 2210 de movimiento, y dMVy representa una tasa de cambio vertical del vector 2210 de movimiento.
[0351] [Ecuación 3]
[0352] dMVx = (MV1 - MV0)/w
[0353] [Ecuación 4]
[0354] dMVy = (MV2 - MV0)/h
[0355] [Ecuación 5]
[0356] MV = MVO x · dMVx y · dMVy
[0357] La Ecuación 3 representa un procedimiento de obtención de una tasa dMVx de cambio horizontal del vector 2210 de movimiento. Según la Ecuación 3, puede determinarse que un valor obtenido dividiendo un valor resultante de restar el primer vector 2202 de movimiento del segundo vector 2204 de movimiento por el ancho del bloque 2200 actual es una tasa de cambio horizontal del vector 2210 de movimiento.
[0358] La Ecuación 4 representa un procedimiento de obtención de una tasa dMVy de cambio vertical del vector 2210 de movimiento. Según la Ecuación 4, puede determinarse que un valor obtenido dividiendo un valor resultante de restar el primer vector 2202 de movimiento del tercer vector 2206 de movimiento por la altura del bloque 2200 actual es una tasa de cambio horizontal del vector 2210 de movimiento.
[0359] La Ecuación 5 representa un procedimiento de obtención del vector 2210 de movimiento. Según la Ecuación 5, puede determinarse que el vector 2210 de movimiento es un valor obtenido al sumar el primer vector de movimiento (Motion Vector, MVO) 2202 con un producto interno de (x, y), que son coordenadas de la muestra 2208 del bloque 2200 actual con respecto a las coordenadas 2201 superiores izquierdas del bloque 2200 actual, y (dMVx, dMVy) que representan una tasa de cambio vertical y una tasa de cambio horizontal.
[0360] Según las Ecuaciones 3 a 5, pueden determinarse los vectores de movimiento de los subbloques o todas las
muestras incluidas en el bloque 2200 actual. Según las Ecuaciones 3 a 5, un vector de movimiento de una muestra puede depender de una posición de la muestra. Las ecuaciones 3 y 4 pueden aplicarse a un caso donde las coordenadas a partir de las cuales se extraen el primer vector 2202 de movimiento y el segundo vector 2204 de movimiento tienen el mismo componente vertical y las coordenadas a partir de las cuales se extraen el primer vector 2202 de movimiento y el tercer vector 2206 de movimiento tienen el mismo componente horizontal. Por consiguiente, se describirá una ecuación generalizada para determinar un vector de movimiento del bloque 2200 actual con referencia a la FIG.29, en un momento posterior.
[0361] En el modo afín de 6 parámetros, el vector 2210 de movimiento puede determinarse a través de tres vectores de movimiento, y un bloque de referencia del bloque 2200 actual puede ampliarse, rotarse o cortarse a partir del bloque 2200 actual.
[0362] En el modo afín de 4 parámetros, el procesador 1710 puede obtener los dos vectores 2202 y 2204 de movimiento a partir de muestras vecinas del bloque 2200 actual. Al igual que en el modo afín de 6 parámetros, el primer vector 2202 de movimiento puede obtenerse a partir de las muestras vecinas adyacentes a las coordenadas superiores izquierdas del bloque 2200 actual. Del mismo modo, el segundo vector 2204 de movimiento puede obtenerse de las muestras vecinas adyacentes a las coordenadas superiores derechas del bloque 2200 actual. Además, el procesador 1710 puede determinar que los componentes x e y del primer vector 2202 de movimiento y los componentes x e y del segundo vector 2204 de movimiento son parámetros afines. En el modo afín de 4 parámetros, el tercer vector 2206 de movimiento puede determinarse combinando el primer vector 2202 de movimiento con el segundo vector 2204 de movimiento, en lugar de determinarse a partir de las coordenadas inferior izquierda o inferior derecha del bloque 2200 actual.
[0363] Las ecuaciones 6 y 7 representan un procedimiento para determinar el tercer vector 2206 de movimiento combinando el primer vector 2202 de movimiento con el segundo vector 2204 de movimiento. En las Ecuaciones 6 y 7, x representa un componente horizontal de un vector de movimiento, e y representa un componente vertical de un vector de movimiento. MV0 representa el primer vector 2202 de movimiento, MV1 representa el segundo vector 2204 de movimiento, y MV2 representa el tercer vector 2206 de movimiento. w representa el ancho del bloque 2200 actual, y h representa el alto del bloque 2200 actual.
[0364] [Ecuación 6]
[0365] MV2[x] = (MV1[y] - MV0[y])*w/h MV0[x]
[0366] [Ecuación 7]
[0367] MV2[y] = (MV0[x] - MV1[x])*w/h MV0[y]
[0368] Según la Ecuación 6, puede determinarse que un valor MV2[x] de coordenadas horizontales del tercer vector 2206 de movimiento es un valor (MV1[y] - MV0[y])*w/h MV0[x] obtenido sumando un valor MV0[x] de coordenadas horizontales del primer vector 2202 de movimiento con un producto de un valor (MV1[y] - MV0[y]) resultante de restar un valor de coordenadas verticales del primer vector 2202 de movimiento de un valor de coordenadas verticales del segundo vector 2204 de movimiento y un valor w/h resultante de dividir el ancho del bloque 2200 actual por la altura del bloque 2200 actual.
[0369] Según la Ecuación 7, puede determinarse que un valor MV2[y] de coordenadas verticales del tercer vector 2206 de movimiento es un valor (MV0[x] - MV1[x])*w/h MV0[y] obtenido sumando un valor MV0[y] de coordenadas verticales del primer vector 2202 de movimiento con un producto de un valor (MV0[x] - MV1[x]) resultante de restar un valor de coordenadas horizontales del segundo vector 2204 de movimiento de un valor de coordenadas horizontales del primer vector 2202 de movimiento y el valor w/h resultante de dividir el ancho del bloque 2200 actual por la altura del bloque 2200 actual.
[0370] En el modo afín de 4 parámetros, los componentes x e y del tercer vector 2206 de movimiento pueden derivarse del primer vector 2202 de movimiento y el segundo vector 2204 de movimiento. Por consiguiente, a diferencia del modo afín de 6 parámetros, en el modo afín de 4 parámetros, un bloque de referencia del bloque 2200 actual puede ampliarse o rotarse desde el bloque 2200 actual según el primer vector 2202 de movimiento y el segundo vector 2204 de movimiento. Es decir, en el modo afín de 4 parámetros, el bloque 2200 actual no puede cizallarse.
[0371] En el modo afín de 3 parámetros, el procesador 1710 puede obtener los dos vectores 2202 y 2204 de movimiento a partir de las muestras vecinas del bloque 2200 actual. El primer vector 2202 de movimiento puede obtenerse de las muestras vecinas adyacentes a las coordenadas superior izquierda del bloque 2200 actual. Del mismo modo, el segundo vector 2204 de movimiento puede obtenerse de las muestras vecinas adyacentes a las coordenadas superiores derechas del bloque 2200 actual. Sin embargo, a diferencia del modo afín de 4 parámetros, en el modo afín de 3 parámetros, solo puede obtenerse un componente x o y del segundo vector
2204 de movimiento. Por lo tanto, el procesador 1710 puede determinar que el componente x o y del segundo vector 2204 de movimiento, junto con los componentes x e y del primer vector 2202 de movimiento, son parámetros afines.
[0372] Cuando puede obtenerse el componente x del segundo vector 2204 de movimiento, el componente y del segundo vector 2204 de movimiento puede obtenerse a partir del componente y del primer vector 2202 de movimiento. Por el contrario, cuando puede obtenerse el componente y del segundo vector 2204 de movimiento, el componente x del segundo vector 2204 de movimiento puede obtenerse a partir de los componentes x e y del primer vector 2202 de movimiento y el componente y del segundo vector 2204 de movimiento. Las ecuaciones 8 y 9 a continuación representan un procedimiento de determinación de los componentes y y x del segundo vector 2204 de movimiento.
[0373] En las Ecuaciones 8 y 9, x representa un componente horizontal de un vector de movimiento, e y representa un componente vertical de un vector de movimiento. MV0 representa el primer vector 2202 de movimiento, MV1 representa el segundo vector 2204 de movimiento, y MV2 representa el tercer vector 2206 de movimiento. w representa el ancho del bloque 2200 actual, y h representa el alto del bloque 2200 actual.
[0374] [Ecuación 8]
[0375] MV1[y] = MV0[y]
[0376] [Ecuación 9]
[0377] MV1[x] = sqrt(w2 - (MV1[y] - MV0[y])2) MV0[x] - w
[0378] Según la Ecuación 8, cuando solo puede obtenerse el componente x del segundo vector 2204 de movimiento, el procesador 1710 puede determinar que el componente y del segundo vector 2204 de movimiento es idéntico al componente y del primer vector 2202 de movimiento.
[0379] Según la Ecuación 9, cuando solo puede obtenerse el componente y del segundo vector 2204 de movimiento, el procesador 1710 puede determinar el componente x del segundo vector 2204 de movimiento según los componentes MV0[x] y MV0[y] x e y del primer vector 2202 de movimiento y el componente MV1[y] y del segundo vector 2204 de movimiento.
[0380] Además, los componentes x e y del tercer vector 2206 de movimiento pueden determinarse según las Ecuaciones 6 y 7, como en el modo afín de 4 parámetros. En el modo afín de 3 parámetros, un componente) que no puede obtenerse entre los componentes x e y del segundo vector 2204 de movimiento, junto con el tercer vector 2206 de movimiento, puede derivarse de un componente o componentes que pueden obtenerse entre los componentes x e y del primer vector 2202 de movimiento y el segundo vector 2204 de movimiento. Por consiguiente, en el modo afín de 3 parámetros, un bloque de referencia del bloque 2200 actual solo puede ampliarse o rotarse desde el bloque 2200 actual, según el primer vector 2202 de movimiento y el segundo vector 2204 de movimiento. Cuando puede obtenerse el componente x del segundo vector 2204 de movimiento, un bloque de referencia del bloque 2200 actual solo puede ampliarse a partir del bloque 2200 actual. Por el contrario, cuando puede obtenerse el componente y del segundo vector 2204 de movimiento, un bloque de referencia del bloque 2200 actual solo puede girarse desde el bloque 2200 actual.
[0381] La FIG.23 es una vista para describir un procedimiento para derivar vectores de movimiento de punto de control de un modo afín en una unidad de codificación que limita con un límite superior de una unidad de codificación más grande. En esta invención, un "vector de movimiento del punto de control" significa un parámetro afín que se usa en el modo afín.
[0382] Con referencia a la FIG. 23, para reducir los requisitos adicionales del búfer de líneas, cuando una unidad de codificación actual está ubicada en una parte superior de una unidad de codificación más grande, puede heredarse un modelo de 4 parámetros de las unidades de codificación superiores de la unidad de codificación actual. Este procedimiento puede causar una pérdida del 0,1 %.
[0383] Más específicamente, como parámetros de modo afín de una unidad de predicción actual incluidos en una unidad de codificación más grande actual y que bordean una línea de límite superior de la unidad de codificación más grande actual, pueden heredarse 6 o 4 parámetros de una unidad D de predicción izquierda, mientras que, en las unidades E, B y C de predicción ubicadas por encima de la línea de límite superior de la unidad de codificación más grande actual, puede usarse un modelo de 4 parámetros y vectores de movimiento de punto de control inferior izquierdo e inferior derecho (por ejemplo, vectores V<LE0>y V<LE1>), cuando se reduce una cantidad de búfer de línea de datos de movimiento regular, para heredar datos de movimiento afín de la unidad de predicción actual. Es decir, cuando una unidad de predicción actual limita con una línea de límite superior de una unidad de codificación más grande, puede heredarse un modelo de 4 parámetros de una unidad de predicción superior de la unidad de predicción actual y vectores de movimiento de punto de control inferior
izquierdo e inferior derecho de la unidad de predicción superior, independientemente de si la unidad de predicción actual es un modelo de 4 parámetros o un modelo de 6 parámetros. En otras palabras, los vectores de movimiento del punto de control superior izquierdo y superior derecho de las unidades E, B y C de predicción ubicados por encima de la línea límite superior de la unidad de codificación más grande actual pueden no usarse porque los vectores de movimiento del punto de control superior izquierdo y superior derecho no se almacenan en el búfer de línea de datos de movimiento regular, y los vectores de movimiento del punto de control inferior izquierdo e inferior derecho de las unidades E, B y C de predicción pueden usarse porque los vectores de movimiento del punto de control inferior izquierdo e inferior derecho se almacenan en el búfer de línea de datos de movimiento regular.
[0384] Según otra realización, cuando una unidad de codificación actual limita con una línea límite superior de una unidad de codificación más grande actual, heredar y derivar un modelo de parámetro afín de una unidad de codificación superior puede limitarse, y puede usarse un modelo afín construido predefinido.
[0385] Según otra realización, cuando una unidad de codificación actual limita con una línea de límite superior de una unidad de codificación más grande actual, heredar y derivar un modelo de parámetro afín de una unidad de codificación superior puede limitarse cuando la unidad de codificación superior usa un modelo de 6 parámetros, y considerar la unidad de codificación superior como una unidad de codificación regular y heredar y derivar un modelo de herencia de 4 parámetros puede permitirse cuando la unidad de codificación superior usa un modelo de 4 parámetros.
[0386] La FIG.24 es una vista para describir un procedimiento para derivar vectores de movimiento de punto de control de un modo afín a partir de bloques vecinos.
[0387] Con referencia a la FIG.24, dos vectores V<0>y V<1>de movimiento de punto de control de un bloque actual pueden heredarse de un bloque candidato vecino superior del bloque actual, y un vector V<2>de movimiento de punto de control del bloque actual puede derivarse de un bloque vecino izquierdo del bloque actual o un bloque ubicado debajo del bloque vecino izquierdo. Por ejemplo, el vector V<2>de movimiento de punto de control puede derivarse usando una lista de candidatos de predicción de vector de movimiento basada en historial donde se almacenan posiciones de subbloques de 4x4 junto con información de movimiento. Es decir, el vector V<2>de movimiento de punto de control puede derivarse usando información de movimiento del bloque vecino izquierdo o el bloque ubicado debajo del bloque vecino izquierdo, almacenado en la lista de candidatos de predicción de vector de movimiento basada en el historial.
[0388] En la presente, la predicción de vector de movimiento basada en historial (History-based Motion Vector Prediction, HMVP) puede ser información de movimiento de bloques codificados previamente o bloques reconstruidos previamente, almacenados como candidatos de HMVP. Más específicamente, puede cargarse una tabla de consulta donde se almacenan los candidatos de HMVP, es decir, puede cargarse una lista de HMVP, y puede codificarse o reconstruirse un bloque según los candidatos de HMVP de la lista de HMVP. Un índice de un candidato de HMVP almacenado más recientemente entre N candidatos de HMVP almacenados en una tabla de búsqueda de HMVP puede ser 0, y un índice de un candidato de HMVP almacenado más previamente puede ser N-1. Los candidatos de HMVP pueden buscarse desde el candidato de HMVP que tiene el índice N-1 hasta el candidato de HMVP que tiene el índice 0, según un orden de circulación de la tabla de búsqueda de HMVP.
[0389] Además, cuando se actualiza una lista de HMVP y se añade un nuevo candidato de HMVP, puede eliminarse la información de movimiento de un candidato de HMVP más almacenado previamente HMVP0 de los candidatos almacenados en la lista de HMVP. Es decir, la lista de HMVP puede actualizarse según una lógica de primero en entrar primero en salir (First In First Out, FIFO).
[0390] La FIG. 25 ilustra un proceso para determinar vectores de movimiento temporales candidatos para unidades de subbloque.
[0391] Con referencia a la FIG. 25, para determinar candidatos de vector de movimiento temporal (o, predictores de vector de movimiento temporal alternativos (Alternative Temporal Motion Vector Predictor, ATMVP)) para unidades de subbloque, puede determinarse primero si un modo de predicción de un bloque 2530 vecino izquierdo de un bloque 2510 actual de una imagen actual es un modo de intrapredicción o un modo de interpredicción. Cuando el modo de predicción del bloque 2530 vecino izquierdo es un modo de interpredicción y una imagen de referencia del bloque 2530 vecino izquierdo es idéntica a una imagen colocada del bloque 2510 actual, puede determinarse que un vector 2540 de movimiento temporal es un vector de movimiento del bloque 2530 vecino izquierdo. Es decir, cuando el bloque 2530 vecino izquierdo es un modo de interpredicción y el bloque 2530 vecino izquierdo tiene el mismo índice de referencia que la imagen colocada del bloque 2510 actual, puede determinarse que el vector 2540 de movimiento temporal es el vector de movimiento del bloque 2530 vecino izquierdo. A continuación, se determina si un vector de movimiento correspondiente a un centro de un bloque 2520 de referencia correspondiente al bloque 2510 actual existe en la imagen de referencia (o
una imagen colocada) del bloque 2530 vecino izquierdo indicado por el vector 2540 de movimiento temporal. Cuando existe el vector de movimiento correspondiente al centro del bloque 2520 de referencia, puede determinarse que un vector de movimiento de subbloques del bloque 2520 de referencia, correspondiente a subbloques (es decir, 16 subbloques) del bloque 2510 actual, es un vector de movimiento temporal para una unidad de subbloque. A partir de entonces, la compensación de movimiento para el bloque 2510 actual puede realizarse según el vector de movimiento temporal determinado para la unidad de subbloque.
[0392] Nuevamente en referencia a la FIG. 25, en el caso de que la imagen de referencia del bloque 2530 vecino izquierdo no sea idéntica a la imagen colocada del bloque 2510 actual, aunque el modo de predicción del bloque 2530 vecino izquierdo sea un modo de intrapredicción o un modo de interpredicción, puede determinarse que el vector 2540 de movimiento temporal es un vector de movimiento cero. Cuando existe un vector de movimiento correspondiente a un centro de un bloque indicado por el vector de movimiento cero, puede determinarse que un vector de movimiento de subbloques del bloque indicado por el vector de movimiento cero es un vector de movimiento temporal para una unidad de subbloque.
[0393] Además, cuando el modo de predicción del bloque 2530 vecino izquierdo es un modo de interpredicción y el bloque 2530 vecino izquierdo tiene el mismo índice de referencia que la imagen colocada del bloque 2510 actual, de modo que se determina que el vector 2540 de movimiento temporal es un vector de movimiento del bloque 2530 vecino izquierdo, un vector de movimiento correspondiente al centro del bloque 2520 de referencia correspondiente al bloque 2510 actual puede no existir en la imagen de referencia (o una imagen colocada) del bloque 2530 vecino izquierdo indicado por el vector 2540 de movimiento temporal. En este caso, puede determinarse que no existe un candidato de vector de movimiento temporal para una unidad de subbloque. Además, cuando se determina que un vector de movimiento temporal es un vector de movimiento cero, no puede existir ningún vector de movimiento correspondiente a un centro de un bloque indicado por el vector de movimiento cero. En este caso, puede determinarse que no existe un candidato de vector de movimiento temporal para una unidad de subbloque.
[0394] Además, cuando el modo de predicción del bloque 2530 vecino izquierdo es un modo de interpredicción, se determina que la imagen de referencia del bloque 2530 vecino izquierdo es idéntica a la imagen colocada del bloque 2510 actual, existe un vector de movimiento correspondiente al centro del bloque 2520 de referencia, y no existe ningún vector de movimiento de los subbloques del bloque 2520 de referencia, el vector de movimiento correspondiente al centro del bloque 2520 de referencia puede usarse como un vector por defecto que puede determinarse que es un vector de movimiento de los subbloques del bloque 2510 actual. Es decir, puede determinarse que el vector por defecto es un vector de movimiento temporal para una unidad de subbloque. A partir de entonces, la compensación de movimiento para el bloque 2510 actual puede realizarse según el vector de movimiento temporal determinado para la unidad de subbloque.
[0395] Según otra realización, pueden usarse dos candidatos de ATMVP. Más específicamente, puede determinarse que dos vectores de movimiento escaneados primero según un orden de escaneo son dos vectores de movimiento temporales, y pueden determinarse dos candidatos de ATMVP por los dos vectores de movimiento temporales.
[0396] Según otra realización, pueden determinarse dos candidatos de ATMVP. Más específicamente, al usar dos vectores de movimiento temporales, los candidatos de ATMVP pueden determinarse por los respectivos vectores de movimiento temporales.
[0397] Según otra realización, para obtener una posición de la imagen colocada correspondiente al bloque 2510 actual, pueden seleccionarse dos o más vectores de movimiento temporal. Más específicamente, puede seleccionarse adicionalmente un vector de movimiento temporal indicado por otro bloque vecino del bloque 2510 actual, además de un vector de movimiento temporal indicado por el bloque 2530 vecino izquierdo del bloque 2510 actual. Además, cuando se seleccionan dos o más vectores de movimiento temporales, los vectores de movimiento temporales pueden podarse entre sí, con el fin de eliminar la probabilidad de superposición Candidatos de ATMVP. Cuando uno de los vectores de movimiento temporales se superpone, puede no usarse un candidato de ATMVP correspondiente al vector de movimiento temporal superpuesto.
[0398] Según otra realización, pueden seleccionarse dos o más vectores de movimiento temporales para obtener una posición de la imagen colocada correspondiente al bloque 2510 actual. Más específicamente, puede seleccionarse adicionalmente un vector de movimiento temporal indicado por otro bloque vecino del bloque 2510 actual, además de un vector de movimiento temporal indicado por el bloque 2530 vecino izquierdo del bloque 2510 actual. Además, pueden seleccionarse dos vectores de movimiento temporal de bloques vecinos del bloque 2510 actual de modo que los dos vectores de movimiento temporal sean tan diferentes entre sí como sea posible, y pueden usarse varias métricas para verificar cómo los vectores de movimiento temporal son diferentes entre sí. Por ejemplo, cuando los vectores de movimiento son escalables de modo que los vectores de movimiento indican el mismo índice de referencia, los vectores de movimiento temporales correspondientes
pueden podarse. Además, puede calcularse una distancia L1 o L2 entre las posiciones indicadas por dos vectores de movimiento temporales, y cuando la distancia L1 o L2 es menor que un valor predefinido, puede podarse uno de los dos vectores de movimiento temporales. En la presente, L1 o L2 significa una Norma para medir una distancia entre los dos vectores de movimiento temporales.
[0400] La FIG.26A es una vista para describir candidatos heredados afines en una lista de candidatos de fusión afines, y la FIG.26B es una vista para describir candidatos construidos afines en la lista de candidatos de fusión afín.
[0401] En una lista de candidatos de fusión afín de un modo afín, puede añadirse primero un candidato de vector de movimiento temporal de una unidad de subbloque, pueden añadirse 5 candidatos heredados, pueden añadirse 6 candidatos construidos y puede añadirse un candidato de vector de movimiento cero.
[0403] Con referencia a la FIG. 26A, cuando un modo de predicción de un bloque 2600 actual es un modo de fusión afín, las posiciones de 5 candidatos heredados de una lista de candidatos de fusión afín del modo de fusión afín pueden ser un bloque 2650 vecino inferior izquierdo, bloques 2610, 2620 y 2640 vecinos superior izquierdo, y un bloque 2630 vecino superior derecho del bloque 2600 actual. Más específicamente, un vector de movimiento del punto de control de un bloque entre los cinco bloques 2650, 2610, 2620, 2640 y 2630 vecinos puede heredarse y usarse como un vector de movimiento del punto de control del bloque 2600 actual.
[0405] Con referencia a la FIG.26B, cuando el modo de predicción del bloque 2600 actual es el modo de fusión afín, pueden determinarse 6 candidatos construidos de una lista de candidatos de fusión afín del modo de fusión afín a partir de los bloques 2650 y 2670 vecinos inferiores izquierdos, los bloques 2610, 2620 y 2640 vecinos superiores izquierdos, los bloques 2630 y 2660 vecinos superiores derechos y un bloque 2680 vecino temporal del bloque 2600 actual. Por ejemplo, un vector de movimiento del punto de control ubicado en una esquina superior izquierda del bloque 2600 actual puede derivarse de los bloques 2610, 2620 y 2640 vecinos ubicados en el lado superior izquierdo del bloque 2600 actual, un vector de movimiento del punto de control ubicado en una esquina inferior izquierda del bloque 2600 actual puede derivarse de los bloques 2650 y 2670 vecinos ubicados en el lado inferior izquierdo del bloque 2600 actual, un vector de movimiento del punto de control ubicado en una esquina superior derecha del bloque 2600 actual puede derivarse de los bloques 2630 y 2660 vecinos ubicados en el lado superior derecho del bloque 2600 actual, y un vector de movimiento del punto de control ubicado en una esquina superior derecha del bloque 2600 actual puede derivarse del bloque 2680 vecino temporal. Los 6 candidatos construidos de la lista de candidatos de fusión afín pueden representar combinaciones de los vectores de movimiento del punto de control. Más específicamente, una combinación de vectores de movimiento de puntos de control de un lado LT superior izquierdo, un lado RT superior derecho y un lado LB inferior izquierdo del bloque 2600 actual, una combinación de vectores de movimiento de puntos de control del lado LT superior izquierdo, el lado RT superior derecho y un lado RB inferior derecho del bloque 2600 actual, una combinación de vectores de movimiento de puntos de control del lado LT superior izquierdo, el lado LB inferior izquierdo y el lado RB inferior derecho del bloque 2600 actual, una combinación de vectores de movimiento de puntos de control del lado RT superior derecho, el lado LB inferior izquierdo y el lado RB inferior derecho del bloque 2600 actual, una combinación de vectores de movimiento de puntos de control del lado LT superior izquierdo y el lado RT superior derecho del bloque 2600 actual, y una combinación de vectores de movimiento de puntos de control del lado LT superior izquierdo y el lado LB inferior izquierdo del bloque 2600 actual pueden ser los 6 candidatos construidos de la lista de candidatos de fusión afines.
[0407] Según una realización, cuando se usa un candidato de vector de movimiento temporal para una unidad de subbloque en una lista de candidatos de fusión afín, un candidato de vector de movimiento temporal de un candidato de fusión regular puede estar limitado, porque un candidato de vector de movimiento temporal regular en una lista de fusión no proporciona una gran ganancia.
[0409] Según una realización, la lista de candidatos de fusión afín puede usar un candidato acolchado que es un candidato de vector de movimiento cero. Además, una lista de candidatos de AMVP afines puede usar candidatos rellenados generados a través del uso de un vector de movimiento del punto de control que es un primer candidato de una lista de candidatos de AMVP afines. Es decir, todos los vectores de movimiento del punto de control de un primer candidato rellenado pueden ser idénticos a un vector de movimiento del punto de control de un lado superior izquierdo del primer candidato rellenado, y todos los vectores de movimiento del punto de control de un segundo candidato rellenado pueden ser idénticos a un vector de movimiento del punto de control de un lado superior derecho del primer candidato rellenado. Puede usarse un procedimiento para generar candidatos de relleno en una lista de candidatos de AMVP afín para generar candidatos rellenados de fusión afín. Por el contrario, un procedimiento para generar candidatos rellenados en una lista de candidatos de fusión afín a través del uso de un vector de movimiento cero puede usarse para generar candidatos rellenados en una lista de candidatos de AMVP afín.
[0411] Con referencia a las FIGS. 26A y 26B, las posiciones de los bloques vecinos usados para generar los candidatos construidos afines y los candidatos heredados afines pueden no ser exactamente las mismas. En el caso de generar candidatos construidos afines y candidatos heredados afines, puede verificarse el mismo grupo de posiciones de bloques vecinos. La razón puede ser para consistir un diseño y simplificar un proceso
de derivación.
[0412] Según una realización, cuando una de las posiciones de esquina no puede usarse en un proceso de derivación de candidatos construidos afines o candidatos de fusión afines existentes en una lista de candidatos de fusión afines o una lista de candidatos de AMVP afines, puede usarse una posición central del borde correspondiente para derivar un vector de movimiento. Por ejemplo, en la FIG.26B, cuando no pueden usarse los bloques 2630 y 2660 ubicados en una esquina superior derecha, puede usarse un subbloque ubicado en el centro de un borde superior. Es posible que sea necesario ajustar en consecuencia el ancho usado para calcular dicho modelo. La FIG. 27 es una vista para describir un procedimiento de determinación de resoluciones para tres vectores de movimiento de punto de control (Control Point Motion Vector, CPMV) de un modo afín.
[0413] En un modo afín, pueden usarse dos o tres vectores de movimiento de punto de control para determinar vectores de movimiento de subbloques, y un vector de movimiento del punto de control puede ser un vector de movimiento correspondiente a una esquina de un bloque. Por ejemplo, los vectores V<0>y V<1>de la FIG.27 pueden corresponder a vectores de movimiento del punto de control.
[0414] Cuando se usan tres vectores de movimiento de punto de control, puede señalizarse la información que representa tres resoluciones para determinar las resoluciones de los vectores de movimiento de punto de control individuales. Por ejemplo, puede señalizarse información, como {1, 1/4, 1/4}, {1/4, 1/4, 1/4} o {1/8, 1/8, 1/8}. Las resoluciones pueden ser resoluciones de vectores de movimiento del punto de control correspondientes a las esquinas superior izquierda, superior derecha e inferior izquierda. Además, las resoluciones pueden ser resoluciones correspondientes a otros vectores de movimiento del punto de control. Según una realización, las resoluciones para tres vectores de movimiento del punto de control pueden derivarse de bloques vecinos. Más específicamente, cuando las resoluciones pueden derivarse sin señalización de información o las resoluciones pueden derivarse de una pluralidad de bloques vecinos, pueden transmitirse índices.
[0415] Según una realización, las resoluciones para tres vectores de movimiento de punto de control pueden derivarse según los tamaños de los bloques. La razón puede ser porque las unidades de codificación más grandes pueden dar como resultado una mayor diferencia de vector de movimiento requerida para tres vectores de movimiento de punto de control.
[0416] Según una realización, puede transmitirse un índice independiente que representa una resolución para cada esquina para determinar una resolución.
[0417] Según una realización, cuando se aplica un modo que determina una resolución para cada vector de movimiento del punto de control, un conjunto que representa una resolución puede transmitirse a un nivel de corte o nivel de trama y, a un nivel de unidad de codificación, puede no ser necesaria una señalización adicional de un índice.
[0418] La FIG.28 es una vista para describir un procedimiento para limitar un área de referencia para una reducción de ancho de banda de memoria en un modo afín.
[0419] Con referencia a la FIG. 28, puede determinarse que un área de referencia para la compensación de movimiento para un primer subbloque de una unidad de codificación actual es un campo de vector de movimiento limitado.
[0420] Más específicamente, una unidad de codificación actual puede dividirse en subáreas. La división en subáreas puede determinarse según el tamaño de un bloque actual. Además, el tamaño de un bloque actual, usado para determinar la división en subáreas, puede ser fijo.
[0421] Es posible que se haya determinado de antemano un peor ancho de banda. Después de que se conoce un peor ancho de banda, puede ser posible calcular un tamaño de un acceso de área de referencia permitido que no exceda el peor ancho de banda. Después de que se conoce un área de referencia que es accesible a una subárea dada, todos los vectores de movimiento para los subbloques de la subárea pueden recortarse de modo que un área de referencia requerida para la compensación de movimiento de los subbloques no exceda el área de referencia accesible.
[0422] Además de limitar un área de referencia para una reducción del ancho de banda de memoria en un modo afín, la limitación de tamaño puede ser necesaria para la predicción en un modelo de herencia afín. Más específicamente, para derivar un modelo de herencia afín, puede requerirse un acceso a los vectores de movimiento del punto de control de los bloques vecinos. Por consiguiente, es posible que sea necesario almacenar los vectores de movimiento del punto de control de los bloques vecinos. Debido a que un vector de movimiento del punto de control debe almacenarse a un nivel de bloque de 8x8, puede ser necesario un coste
de hardware adicional. Para reducir dicho costo de almacenamiento adicional, puede usarse un modelo de herencia afín solo cuando un bloque vecino es mayor que 8x8.
[0423] Además, un modelo de herencia de 4 parámetros puede requerir dos vectores de movimiento de punto de control, y un modelo de herencia de 6 parámetros puede requerir tres vectores de movimiento de punto de control. Por consiguiente, para derivar un modelo de herencia afín, puede aplicarse una limitación de tamaño de bloque vecino independiente. Por ejemplo, solo un modelo de herencia afín de 4 parámetros puede derivarse de un bloque vecino afín que tiene un tamaño que es mayor que 8x8, y solo un modelo de herencia afín de 6 parámetros puede derivarse de un bloque vecino afín que tiene un tamaño que es mayor que 16x16. Por consiguiente, puede reducirse una cantidad de amortiguador de vector de movimiento en un modo afín. La FIG. 29 describe un procedimiento de determinación de un procedimiento de determinación de vector de movimiento para un bloque actual en un modo afín. En lo sucesivo, las Ecuaciones 10 a 12 representan un procedimiento para determinar un vector de movimiento de un bloque actual según la primera, segunda y tercera posiciones 2900, 2902 y 2904 de extracción del vector de movimiento de la FIG.29.
[0424] En las Ecuaciones 10 y 11, w representa una distancia horizontal entre la primera posición 2900 de extracción del vector de movimiento y la segunda posición 2910 de extracción del vector de movimiento. Además, h representa una distancia vertical entre la primera posición 2900 de extracción del vector de movimiento y la tercera posición 2920 de extracción del vector de movimiento. Además, x representa una distancia horizontal entre la primera posición 2900 de extracción del vector de movimiento y la tercera posición 2920 de extracción del vector de movimiento. Además, y representa una distancia vertical entre la primera posición 2900 de extracción del vector de movimiento y la segunda posición 2910 de extracción del vector de movimiento. P<0>representa un primer vector de movimiento, P<1>representa un segundo vector de movimiento y P<2>representa un tercer vector de movimiento. Además, dx y dy representan un cambio horizontal y un cambio vertical, respectivamente.
[0425] [Ecuación 10]
[0427]
[0429] El cambio horizontal puede determinarse según la Ecuación 10, y el cambio vertical puede determinarse según la Ecuación 11. Además, según la Ecuación 12, un vector de movimiento de una muestra 2930 del bloque actual puede determinarse según el cambio horizontal y el cambio vertical. En la Ecuación 12, Pa representa el vector de movimiento de la muestra 2930 del bloque actual. Además, i representa una distancia horizontal entre la primera posición 2900 de extracción de vector de movimiento y la muestra 2930 del bloque actual, y j representa una distancia vertical entre la primera posición 2900 de extracción de vector de movimiento y la muestra 2930 del bloque actual.
[0430] [Ecuación 12]
[0431] Pa = P0 idx jdy
[0432] Según las Ecuaciones 10 a 12, cuando se dan tres vectores de movimiento y posiciones de extracción de los vectores de movimiento, pueden determinarse vectores de movimiento de muestras incluidas en un bloque actual. Hasta ahora, se describieron varias realizaciones. Resultará evidente que los expertos en la materia pueden realizar fácilmente diversas modificaciones sin cambiar las características esenciales de la descripción. Por lo tanto, debe entenderse que las realizaciones descritas anteriormente son meramente con fines ilustrativos y no con fines limitativos en todos los aspectos. El alcance de la descripción se define en las reivindicaciones adjuntas en lugar de la descripción detallada anterior, y debe tenerse en cuenta que todas las diferencias que caen dentro de las reivindicaciones y equivalentes de estas están incluidas en el alcance de la descripción. Mientras tanto, las realizaciones de la descripción pueden escribirse como un programa que es ejecutable en un ordenador, e implementarse en un ordenador digital de propósito general que opera un programa usando un medio de grabación legible por ordenador. El medio de grabación legible por ordenador puede incluir un medio de almacenamiento, como un medio de almacenamiento magnético (por ejemplo, ROM, un disquete, un
disco duro, etc.) y un medio de lectura óptica (por ejemplo, una memoria de solo lectura de disco compacto (Compact Disc-Read Only Memory, CD-ROM), un disco versátil digital (Digital Versatile Disc, DVD), etc.).
Claims (3)
1. REIVINDICACIONES
1. Un procedimiento de decodificación de vídeo comprendiendo:
obtener un parámetro afín de un bloque actual si un modo de predicción del bloque actual es un modo afín; determinar vectores de movimiento de una pluralidad de subbloques de luminancia usando el parámetro afín del bloque actual, en donde la pluralidad de subbloques de luminancia están incluidos en el bloque actual;
determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia entre la pluralidad de subbloques de luminancia a través del uso de un primer subbloque de luminancia y un cuarto subbloque de luminancia, en donde los cuatro subbloques de luminancia incluyen el primer subbloque de luminancia, un segundo subbloque de luminancia, un tercer subbloque de luminancia y el cuarto subbloque de luminancia;
determinar un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia como el vector de movimiento de luminancia medio determinado; y realizar la predicción en el subbloque de crominancia actual usando el vector de movimiento determinado, en donde el primer subbloque de luminancia está ubicado en una parte superior izquierda de cuatro subbloques de luminancia vecinos y el cuarto subbloque de luminancia está ubicado en una parte inferior derecha de los cuatro subbloques de luminancia vecinos.
2. Un procedimiento de codificación de vídeo comprendiendo:
obtener un parámetro afín de un bloque actual si un modo de predicción del bloque actual es un modo afín; determinar vectores de movimiento de una pluralidad de subbloques de luminancia usando el parámetro afín del bloque actual, en donde la pluralidad de subbloques de luminancia están incluidos en el bloque actual;
determinar un vector de movimiento de luminancia medio para cuatro subbloques de luminancia entre la pluralidad de subbloques de luminancia a través del uso de un primer subbloque de luminancia y un cuarto subbloque de luminancia, en donde los cuatro subbloques de luminancia incluyen el primer subbloque de luminancia, un segundo subbloque de luminancia, un tercer subbloque de luminancia y el cuarto subbloque de luminancia;
determinar un vector de movimiento de un subbloque de crominancia actual correspondiente a los cuatro subbloques de luminancia como el vector de movimiento de luminancia medio determinado; y realizar la predicción en el subbloque de crominancia actual usando el vector de movimiento determinado, en donde el primer subbloque de luminancia está ubicado en una parte superior izquierda de cuatro subbloques de luminancia vecinos y el cuarto subbloque de luminancia está ubicado en una parte inferior derecha de los cuatro subbloques de luminancia vecinos.
3. Un dispositivo para transmitir un flujo de bits generado por el procedimiento de codificación de vídeo de la reivindicación 2.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201862776589P | 2018-12-07 | 2018-12-07 | |
| US201862783653P | 2018-12-21 | 2018-12-21 | |
| PCT/KR2019/017231 WO2020117010A1 (ko) | 2018-12-07 | 2019-12-06 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3055413T3 true ES3055413T3 (en) | 2026-02-11 |
Family
ID=70975167
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES19893600T Active ES3055413T3 (en) | 2018-12-07 | 2019-12-06 | Video decoding method and device, and video encoding method and device |
Country Status (10)
| Country | Link |
|---|---|
| US (4) | US11425416B2 (es) |
| EP (5) | EP4651484A3 (es) |
| KR (2) | KR20250058116A (es) |
| CN (5) | CN113170189B (es) |
| BR (1) | BR112021010706A2 (es) |
| CL (1) | CL2021001465A1 (es) |
| CO (1) | CO2021007877A2 (es) |
| ES (1) | ES3055413T3 (es) |
| PL (1) | PL3893509T3 (es) |
| WO (1) | WO2020117010A1 (es) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN111466116B (zh) * | 2018-01-26 | 2023-04-14 | 寰发股份有限公司 | 用于视频编解码系统的仿射帧间预测的方法和装置 |
| CN112788345B (zh) * | 2019-11-11 | 2023-10-24 | 腾讯美国有限责任公司 | 视频数据解码方法、装置、计算机设备和存储介质 |
| WO2023220970A1 (zh) * | 2022-05-18 | 2023-11-23 | Oppo广东移动通信有限公司 | 视频编码方法、装置、设备、系统、及存储介质 |
| WO2024074134A1 (en) * | 2022-10-04 | 2024-04-11 | Mediatek Inc. | Affine motion based prediction in video coding |
Family Cites Families (28)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101452859B1 (ko) | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | 움직임 벡터를 부호화 및 복호화하는 방법 및 장치 |
| US9154799B2 (en) | 2011-04-07 | 2015-10-06 | Google Inc. | Encoding and decoding motion via image segmentation |
| WO2016008157A1 (en) | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Methods for motion compensation using high order motion model |
| US10412387B2 (en) | 2014-08-22 | 2019-09-10 | Qualcomm Incorporated | Unified intra-block copy and inter-prediction |
| WO2017118411A1 (en) | 2016-01-07 | 2017-07-13 | Mediatek Inc. | Method and apparatus for affine inter prediction for video coding system |
| US10567759B2 (en) | 2016-03-21 | 2020-02-18 | Qualcomm Incorporated | Using luma information for chroma prediction with separate luma-chroma framework in video coding |
| KR102715635B1 (ko) | 2016-03-28 | 2024-10-11 | 로즈데일 다이나믹스 엘엘씨 | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
| US20190273943A1 (en) | 2016-10-10 | 2019-09-05 | Sharp Kabushiki Kaisha | Systems and methods for performing motion compensation for coding of video data |
| KR102824981B1 (ko) | 2016-11-01 | 2025-06-26 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| US20190335197A1 (en) | 2016-11-22 | 2019-10-31 | Electronics And Telecommunications Research Institute | Image encoding/decoding method and device, and recording medium having bitstream stored thereon |
| US10681370B2 (en) * | 2016-12-29 | 2020-06-09 | Qualcomm Incorporated | Motion vector generation for affine motion model for video coding |
| US20190335170A1 (en) | 2017-01-03 | 2019-10-31 | Lg Electronics Inc. | Method and apparatus for processing video signal by means of affine prediction |
| US11025903B2 (en) | 2017-01-13 | 2021-06-01 | Qualcomm Incorporated | Coding video data using derived chroma mode |
| KR102243215B1 (ko) | 2017-03-28 | 2021-04-22 | 삼성전자주식회사 | 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치 |
| KR102206084B1 (ko) | 2017-07-07 | 2021-01-21 | 삼성전자주식회사 | 적응적 움직임 벡터 해상도로 결정된 움직임 벡터의 부호화 장치 및 부호화 방법, 및 움직임 벡터의 복호화 장치 및 복호화 방법 |
| KR102591095B1 (ko) | 2017-09-28 | 2023-10-19 | 삼성전자주식회사 | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 |
| CN110636297B (zh) * | 2018-06-21 | 2021-05-14 | 北京字节跳动网络技术有限公司 | 分量相关的子块分割 |
| CN113163211B (zh) | 2018-06-30 | 2023-01-03 | Oppo广东移动通信有限公司 | 基于合并模式的帧间预测方法及装置 |
| US11943430B2 (en) | 2018-07-27 | 2024-03-26 | Samsung Electronics Co., Ltd. | Method and device for encoding image and method and device for decoding image on basis of sub-block |
| KR20200028856A (ko) | 2018-09-07 | 2020-03-17 | 김기백 | 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치 |
| KR102482893B1 (ko) | 2018-09-20 | 2022-12-29 | 삼성전자주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
| US11595639B2 (en) * | 2018-09-21 | 2023-02-28 | Lg Electronics Inc. | Method and apparatus for processing video signals using affine prediction |
| CN120455660A (zh) | 2018-09-21 | 2025-08-08 | Oppo广东移动通信有限公司 | 视频解码/编码方法、视频解码器/编码器和比特流传输方法 |
| TWI839388B (zh) | 2018-09-24 | 2024-04-21 | 大陸商北京字節跳動網絡技術有限公司 | 簡化的基於歷史的運動矢量預測 |
| WO2020076047A1 (ko) | 2018-10-09 | 2020-04-16 | 삼성전자 주식회사 | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 |
| WO2020073969A1 (en) * | 2018-10-10 | 2020-04-16 | Huawei Technologies Co., Ltd. | An image processing device and method for performing deblocking |
| CN121367783A (zh) * | 2018-11-08 | 2026-01-20 | Oppo广东移动通信有限公司 | 视频信号编码/解码方法以及用于所述方法的设备 |
| KR20200081328A (ko) * | 2018-12-27 | 2020-07-07 | 인텔렉추얼디스커버리 주식회사 | 영상 부/복호화 방법 및 장치 |
-
2019
- 2019-12-06 KR KR1020257012722A patent/KR20250058116A/ko active Pending
- 2019-12-06 WO PCT/KR2019/017231 patent/WO2020117010A1/ko not_active Ceased
- 2019-12-06 CN CN201980081018.XA patent/CN113170189B/zh active Active
- 2019-12-06 BR BR112021010706A patent/BR112021010706A2/pt unknown
- 2019-12-06 PL PL19893600.7T patent/PL3893509T3/pl unknown
- 2019-12-06 EP EP25206829.1A patent/EP4651484A3/en active Pending
- 2019-12-06 CN CN202410677609.6A patent/CN118474382A/zh active Pending
- 2019-12-06 KR KR1020217016799A patent/KR102799313B1/ko active Active
- 2019-12-06 EP EP19893600.7A patent/EP3893509B1/en active Active
- 2019-12-06 US US17/311,209 patent/US11425416B2/en active Active
- 2019-12-06 EP EP25206853.1A patent/EP4651485A3/en active Pending
- 2019-12-06 EP EP25206453.0A patent/EP4651483A3/en active Pending
- 2019-12-06 CN CN202410679132.5A patent/CN118474383A/zh active Pending
- 2019-12-06 CN CN202410678048.1A patent/CN118450139A/zh active Pending
- 2019-12-06 ES ES19893600T patent/ES3055413T3/es active Active
- 2019-12-06 CN CN202410677911.1A patent/CN118450138A/zh active Pending
- 2019-12-06 EP EP25206461.3A patent/EP4668744A3/en active Pending
-
2021
- 2021-06-03 CL CL2021001465A patent/CL2021001465A1/es unknown
- 2021-06-16 CO CONC2021/0007877A patent/CO2021007877A2/es unknown
-
2022
- 2022-07-08 US US17/860,515 patent/US11943469B2/en active Active
-
2024
- 2024-02-12 US US18/439,221 patent/US12335513B2/en active Active
-
2025
- 2025-05-16 US US19/210,803 patent/US20250343943A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3055413T3 (en) | Video decoding method and device, and video encoding method and device | |
| KR102330704B1 (ko) | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 | |
| JP7779963B2 (ja) | ビデオ符号化方法及びその装置、ビデオ復号方法及びその装置 | |
| KR102672759B1 (ko) | 부호화 방법 및 그 장치, 복호화 방법 및 그 장치 | |
| ES3028094T3 (en) | Method and device for video decoding, and method and device for video encoding | |
| EP4231646A2 (en) | Video decoding method and apparatus, and video encoding method and apparatus | |
| BR112020004381A2 (pt) | método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo | |
| KR102747328B1 (ko) | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 | |
| KR102482893B1 (ko) | 비디오 복호화 방법 및 장치, 비디오 부호화 방법 및 장치 | |
| CN113228640A (zh) | 用于对视频进行解码的方法和设备以及用于对视频进行编码的方法和设备 | |
| BR122025015204A2 (pt) | Método de decodificação de vídeo, método de codificação de vídeo, e meio não transitório legível por computador que armazena um fluxo de bits | |
| BR122025015200A2 (pt) | Método de decodificação de vídeo, método de codificação de vídeo, e meio não transitório legível por computador que armazena um fluxo de bits | |
| BR122025015202A2 (pt) | Método de decodificação de vídeo, método de codificação de vídeo, e meio não transitório legível por computador que armazena um fluxo de bits | |
| BR122025015207A2 (pt) | Método de decodificação de vídeo, método de codificação de vídeo, e meio não transitório legível por computador que armazena um fluxo de bits | |
| BR122025014875A2 (pt) | Método de decodificação de vídeo, método de codificação de vídeo, e método para armazenar um fluxo de bits em um meio de armazenamento não transitório legível por computador, |