ES2988737T3 - Procedimiento y aparato de codificación/decodificación de datos de imagen - Google Patents

Procedimiento y aparato de codificación/decodificación de datos de imagen Download PDF

Info

Publication number
ES2988737T3
ES2988737T3 ES21208051T ES21208051T ES2988737T3 ES 2988737 T3 ES2988737 T3 ES 2988737T3 ES 21208051 T ES21208051 T ES 21208051T ES 21208051 T ES21208051 T ES 21208051T ES 2988737 T3 ES2988737 T3 ES 2988737T3
Authority
ES
Spain
Prior art keywords
image
resizing
information
partition
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
ES21208051T
Other languages
English (en)
Inventor
Ki Baek Kim
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
B1 Institute Image Technology Inc
B1 Institute of Image Technology Inc
Original Assignee
B1 Institute Image Technology Inc
B1 Institute of Image Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by B1 Institute Image Technology Inc, B1 Institute of Image Technology Inc filed Critical B1 Institute Image Technology Inc
Application granted granted Critical
Publication of ES2988737T3 publication Critical patent/ES2988737T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/12Panospheric to cylindrical image transformations
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/158Switching image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/563Motion estimation with padding, i.e. with filling of non-object values in an arbitrarily shaped picture block or region for estimation purposes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

Se describe un método y un aparato de codificación/decodificación de datos de imagen. Un método para decodificar una imagen de 360 grados comprende los pasos de: recibir un flujo de bits obtenido mediante la codificación de una imagen de 360 grados; generar una imagen de predicción haciendo referencia a la información de sintaxis obtenida del flujo de bits recibido; combinar la imagen de predicción generada con una imagen residual obtenida mediante la descuantificación y la transformación inversa del flujo de bits, de modo de obtener una imagen decodificada; y reconstruir la imagen decodificada en una imagen de 360 grados según un formato de proyección. En este caso, el paso de generar la imagen de predicción comprende los pasos de: obtener, a partir de la información de movimiento incluida en la información de sintaxis, un grupo de candidatos de vector de movimiento que incluye un vector de movimiento de un bloque adyacente a un bloque actual que se va a decodificar; derivar un vector de movimiento de predicción a partir del grupo de candidatos de vector de movimiento, sobre la base de la información de selección extraída de la información de movimiento; y determinar un bloque de predicción para el bloque actual que se va a decodificar, utilizando un vector de movimiento final derivado mediante la adición del vector de movimiento de predicción a un vector de movimiento diferencial extraído de la información de movimiento. (Traducción automática con Google Translate, sin valor legal)

Description

DESCRIPCIÓN
Procedimiento y aparato de codificación/decodificación de datos de imagen
Campo técnico
La presente invención se relaciona con la tecnología de codificación y decodificación de datos de imagen, y más particularmente, a un procedimiento y aparato para codificar y decodificar una imagen de 360 grados para un servicio multimedia realista.
Técnica antecedente
Con la difusión de Internet y de los terminales móviles y el desarrollo de las tecnologías de la información y la comunicación, el uso de datos multimedia aumenta rápidamente. Recientemente, la demanda de imágenes de alta resolución e imágenes de alta calidad, como una imagen de alta definición (AD) y una imagen de ultra alta definición (UAD), está surgiendo en varios campos, y la demanda de servicios de medios realistas tales como la realidad virtual, la realidad aumentada y similares está aumentando rápidamente. En particular, dado que las imágenes multivista capturadas con una pluralidad de cámaras se procesan para obtener imágenes de 360 grados para realidad virtual y realidad aumentada, la cantidad de datos generados para el procesamiento aumenta masivamente, pero el rendimiento de un sistema de procesamiento de imágenes para procesar una gran cantidad de datos es insuficiente.
La solicitud de patente US 2006/034374 A1, publicada el 16 de febrero de 2006, describe la codificación y decodificación de imágenes omnidireccionales de 360 grados (en particular cilíndricas). Las imágenes se proyectan en un plano 2D y se lleva a cabo la predicción del vector de movimiento, que abarca los bordes izquierdo y derecho de la imagen, que, de hecho, representan áreas de imagen adyacentes. Además, un "intervalo predeterminado" (es decir, un número de columnas) se rellena con píxeles del otro lado.
Como se ha descrito anteriormente, en un procedimiento y aparato de codificación y decodificación de imágenes de la técnica relacionada, existe una demanda de mejora del rendimiento en el procesamiento de imágenes, en particular, la codificación/decodificación de imágenes.
Descripción detallada de la invención
Problema técnico
Es un objeto de la presente invención proporcionar un procedimiento para mejorar un proceso de ajuste de imagen en etapas iniciales de codificación y decodificación. Más particularmente, la presente invención está dirigida a proporcionar un procedimiento y aparato de codificación y decodificación para mejorar un proceso de ajuste de imagen en consideración de las características de una imagen de 360 grados.
Solución técnica
De acuerdo con un aspecto de la presente invención, se proporciona un procedimiento de decodificación de una imagen de 360 grados, tal como se define en la reivindicación independiente 1.
Otros aspectos de la invención están dirigidos a un procedimiento para codificar una imagen de 360 grados y a un medio de grabación no transitorio legible por ordenador que almacena el caudal de bits obtenido a partir de dicha codificación, tal como se define respectivamente en las reivindicaciones independientes 3 y 4.
Efectos ventajosos de la invención
Con el procedimiento y aparato de codificación/decodificación de imágenes de acuerdo con una realización de la presente invención, es posible mejorar el rendimiento de la compresión. En particular, para una imagen de 360 grados, es posible mejorar el rendimiento de la compresión.
Descripción de los dibujos
FIG. 1 es un diagrama de bloques de un aparato de codificación de imágenes de acuerdo con una realización de la presente invención.
FIG. 2 es un diagrama de bloques de un aparato decodificador de imágenes de acuerdo con una realización de la presente invención.
FIG. 3 es un diagrama de ejemplo en el que la información de la imagen se divide en capas para comprimirla.
FIG. 4 es un diagrama conceptual que muestra ejemplos de partición de imágenes de acuerdo con una realización de la presente invención.
FIG. 5 es otro diagrama de ejemplo de un procedimiento de partición de imágenes de acuerdo con una realización de la presente invención.
FIG. 6 es un diagrama de ejemplo de un procedimiento general de redimensionamiento de imágenes.
FIG. 7 es un diagrama de ejemplo de redimensionamiento de imágenes de acuerdo con una realización de la presente invención.
FIG. 8 es un diagrama de ejemplo de un procedimiento de construcción de una región generada por medio de expansión en el procedimiento de redimensionamiento de imágenes de acuerdo con una realización de la presente invención.
FIG. 9 es un diagrama de ejemplo de un procedimiento de construcción de una región a eliminar y una región a generar en el procedimiento de redimensionamiento de imágenes de acuerdo con una realización de la presente invención. FIG. 10 es un diagrama de ejemplo de reconstrucción de imagen de acuerdo con una realización de la presente invención.
FIG. 11 es un diagrama de ejemplo que muestra imágenes antes y después de un proceso de ajuste de imagen de acuerdo con una realización de la presente invención.
FIG. 12 es un diagrama de ejemplo de redimensionamiento de cada unidad de partición de una imagen de acuerdo con una realización de la presente invención.
FIG. 13 es un diagrama de ejemplo de un conjunto de redimensionamiento o ajuste de una unidad de partición en una imagen.
FIG. 14 es un diagrama de ejemplo en el que se representan tanto un proceso de redimensionamiento de una imagen como un proceso de redimensionamiento de unidades de partición en una imagen.
FIG. 15 es un diagrama de ejemplo que muestra un espacio plano bidimensional (2D) y un espacio tridimensional (3D) que muestra una imagen 3D.
FIGS. 16A a 16D son diagramas conceptuales que ilustran un formato de proyección de acuerdo con una realización de la presente invención.
FIG. 17 es un diagrama conceptual que muestra que un formato de proyección está incluido en una imagen rectangular de acuerdo con una realización de la presente invención.
FIG. 18 es un diagrama conceptual de un procedimiento de conversión de un formato de proyección en una forma rectangular, es decir, un procedimiento de realización de reordenamiento en una cara para excluir una región sin sentido de acuerdo con una realización de la presente invención.
FIG. 19 es un diagrama conceptual que muestra que se realiza un proceso de empaquetado por regiones para convertir un formato de proyección PMC en una imagen rectangular de acuerdo con una realización de la presente invención. FIG. 20 es un diagrama conceptual de partición de imágenes de 360 grados de acuerdo con una realización de la presente invención.
FIG. 21 es un diagrama de ejemplo de partición de imágenes de 360 grados y reconstrucción de imágenes de acuerdo con una realización de la presente invención.
FIG. 22 es un diagrama de ejemplo en el que una imagen empaquetada o proyectada por PMC se divide en baldosas. FIG. 23 es un diagrama conceptual que ilustra un ejemplo de redimensionamiento de una imagen de 360 grados de acuerdo con una realización de la presente invención.
FIG. 24 es un diagrama conceptual que ilustra la continuidad entre caras en un formato de proyección (por ejemplo, CHP, POH o PIS) de acuerdo con una realización de la presente invención.
FIG. 25 es un diagrama conceptual que ilustra la continuidad de una cara de la Sección 21C que es una imagen adquirida por medio de un proceso de reconstrucción de imagen o un proceso de empaquetado por regiones en el formato de proyección PMC.
FIG. 26 es un diagrama de ejemplo que ilustra el redimensionamiento de la imagen en el formato de proyección PMC de acuerdo con una realización de la presente invención.
FIG. 27 es un diagrama de ejemplo que ilustra el redimensionamiento de una imagen transformada y empaquetada en el formato de proyección PMC de acuerdo con una realización de la presente invención.
FIG. 28 es un diagrama de ejemplo que ilustra un procedimiento de procesamiento de datos para redimensionar una imagen de 360 grados de acuerdo con una realización de la presente invención.
FIG. 29 es un diagrama de ejemplo que muestra una forma de bloque basada en un árbol.
FIG. 30 es un diagrama de ejemplo que muestra una forma de bloque basada en tipos.
FIG. 31 es un diagrama de ejemplo que muestra varios tipos de bloques que pueden ser adquiridos por una parte de partición de bloques de la presente invención.
FIG. 32 es un diagrama de ejemplo que ilustra la partición basada en árboles de acuerdo con una realización de la presente invención.
FIG. 33 es un diagrama de ejemplo que ilustra la partición basada en árboles de acuerdo con una realización de la presente invención.
FIG. 34 es un diagrama de ejemplo que ilustra varios casos en los que un bloque de predicción se obtiene por medio de inter-predicción.
FIG. 35 es un diagrama de ejemplo que ilustra la composición de una lista de imágenes de referencia de acuerdo con una realización de la presente invención.
FIG. 36 es un diagrama conceptual que ilustra un modelo de movimiento sin traslación de acuerdo con una realización de la presente invención.
FIG. 37 es un diagrama de ejemplo que ilustra la estimación de movimiento en unidades de sub-bloque de acuerdo con una realización de la presente invención.
FIG. 38 es un diagrama de ejemplo que ilustra un bloque referenciado en la predicción de información de movimiento de un bloque actual de acuerdo con una realización de la presente invención.
FIG. 39 es un diagrama de ejemplo que ilustra un bloque referenciado para la predicción de información de movimiento de un bloque actual en un modelo de movimiento sin traslación de acuerdo con una realización de la presente invención.
FIG. 40 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza mediante el uso de una imagen expandida de acuerdo con una realización de la presente invención.
FIG. 41 es un diagrama conceptual que ilustra la expansión de una unidad facial de acuerdo con una realización de la presente invención.
FIG. 42 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza mediante el uso de una imagen expandida de acuerdo con una realización de la presente invención.
FIG. 43 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza mediante el uso de una imagen de referencia ampliada de acuerdo con una realización de la presente invención.
FIG. 44 es un diagrama de ejemplo que ilustra la composición de un grupo candidato de predicción de información de movimiento para inter-predicción en una imagen de 360 grados de acuerdo con una realización de la presente invención.
Mejor modo
La divulgación habilitadora se proporciona por medio de las figuras 7 y 8 con los pasajes correspondientes de la descripción. A menos que se revelen detalles relativos a una o más de las características de las reivindicaciones, el resto de la descripción sólo representa información de fondo y otros ejemplos -que no forman parte de la invención-, independientemente del hecho de que algunos de dichos ejemplos se etiqueten como "realizaciones" y/o como "aspectos de la invención".
En consecuencia, si bien la invención es susceptible de varias modificaciones y formas alternativas, las realizaciones específicas de la misma se muestran a modo de ejemplo en los dibujos y se describirán en detalle en la presente memoria descriptiva. Debe entenderse, sin embargo, que no hay intención de limitar la invención a las formas particulares desveladas. El alcance de la invención queda definido por las reivindicaciones adjuntas.
Los números semejantes se relacionan con elementos semejantes a lo largo de la descripción de las figuras.
Se entenderá que, aunque los términos primero, segundo, etc. pueden utilizarse en la presente memoria descriptiva para describir varios elementos, estos elementos no deben limitarse por estos términos. Estos términos sólo se utilizan para distinguir un elemento de otro. Por ejemplo, un primer elemento podría denominarse segundo elemento y, del mismo modo, un segundo elemento podría denominarse primer elemento, sin apartarse del alcance de la presente invención. Tal y como se utiliza en la presente memoria descriptiva, el término "y/o" incluye todas y cada una de las combinaciones de uno o más de los elementos enumerados asociados.
Se entenderá que cuando se hace referencia a un elemento como "conectado" o "acoplado" a otro elemento, puede estar directamente conectado o acoplado al otro elemento o pueden estar presentes elementos intermedios. En cambio, cuando se dice que un elemento está "directamente conectado" o "directamente acoplado" a otro elemento, no hay elementos intermedios. Otras palabras utilizadas para describir la relación entre elementos deben interpretarse de forma similar (es decir, "entre" frente a "directamente entre", "adyacente" frente a "directamente adyacente", etc.).
La terminología utilizada en la presente memoria descriptiva tiene por objeto describir únicamente realizaciones particulares y no pretende ser limitativa de la invención. Tal y como se utilizan en la presente memoria descriptiva, las formas singulares "un", "una" y "el" incluyen también las formas plurales, a menos que el contexto indique claramente lo contrario. Se entenderá además que los términos "comprende", "que comprende", "incluye" y/o "incluyendo", cuando se utilizan en la presente memoria descriptiva, especifican la presencia de características, números enteros, etapas, operaciones, elementos y/o componentes declarados, pero no excluyen la presencia o adición de una o más características, números enteros, etapas, operaciones, elementos, componentes y/o grupos de los mismos.
A menos que se defina lo contrario, todos los términos (incluidos los términos técnicos y científicos) utilizados en la presente memoria descriptiva tienen el mismo significado que comúnmente entiende una persona con conocimientos ordinarios en la técnica a la que pertenece esta invención. Se entenderá además que los términos, tales como los definidos en diccionarios de uso común, deben interpretarse en un sentido que sea coherente con su significado en el contexto de la técnica pertinente y no se interpretarán en un sentido idealizado o excesivamente formal a menos que de este modo se defina expresamente en la presente memoria descriptiva.
Un aparato de codificación de imágenes y un aparato de decodificación de imágenes pueden ser cada uno una terminal de usuario, tal como un ordenador personal (OP), un ordenador portátil, un asistente digital personal (ADP), un reproductor multimedia portátil (RMP), una PlayStation Portable (PSP), una terminal de comunicación inalámbrica, un teléfono inteligente y un televisor, un dispositivo de realidad virtual (RV), un dispositivo de realidad aumentada (RA), un dispositivo de realidad mixta (RM), un dispositivo de pantalla montada en la cabeza (PMC) y gafas inteligentes o una terminal de servidor, tal como un servidor de aplicaciones y un servidor de servicios, y puede incluir varios dispositivos que tengan un dispositivo de comunicación, tal como un módem de comunicación, para comunicarse con varios equipos o redes de comunicación alámbricas/inalámbricas, una memoria para almacenar varios programas y datos utilizados para codificar o decodificar una imagen o realizar una predicción inter o intra para la codificación o decodificación, un procesador para ejecutar programas para realizar operaciones de cálculo y control, etc. Además, una imagen codificada en un caudal de bits por el aparato de codificación de imágenes puede transmitirse, en tiempo real o en tiempo no real, al aparato de decodificación de imágenes a través de una red de comunicación alámbrica/inalámbrica como Internet, una red inalámbrica de corto alcance, una red de área local inalámbrica (ALI), una red WiBro, una red de comunicación móvil o a través de una variedad de interfaces de comunicación tales como un cable, un bus serie universal (BSU), o similares. A continuación, el caudal de bits puede ser decodificado por el aparato decodificador de imágenes para ser restaurado y reproducido como imagen.
Además, la imagen codificada en el caudal de bits por el aparato de codificación de imágenes puede transferirse desde el aparato de codificación de imágenes al aparato de decodificación de imágenes a través de un medio de grabación legible por ordenador.
El aparato de codificación y el aparato de decodificación de imágenes descritos anteriormente pueden ser aparatos separados, pero pueden proporcionarse como un aparato de codificación/decodificación de imágenes de acuerdo con la implementación. En este caso, algunos elementos del aparato de codificación de imágenes pueden ser sustancialmente los mismos que los del aparato de decodificación de imágenes y pueden implementarse para incluir al menos las mismas estructuras o realizar las mismas funciones.
Por lo tanto, en la siguiente descripción detallada de los elementos técnicos y sus principios de funcionamiento, se omitirá la descripción redundante de los elementos técnicos correspondientes.
Asimismo, el aparato de decodificación de imágenes corresponde a un aparato informático que aplica un procedimiento de codificación de imágenes realizado por el aparato de codificación de imágenes a un proceso de decodificación, por lo que la siguiente descripción se centrará en el aparato de codificación de imágenes.
El aparato informático puede incluir una memoria configurada para almacenar un programa o un modo de software para implementar un procedimiento de codificación de imágenes y/o un procedimiento de decodificación de imágenes y un procesador conectado a la memoria para ejecutar el programa. Además, el aparato de codificación de imágenes también puede denominarse codificador, y el aparato de decodificación de imágenes también puede denominarse decodificador.
Generalmente, una imagen puede estar compuesta por una serie de imágenes fijas. Las imágenes fijas pueden clasificarse en unidades de grupos de imágenes (GDI), y cada imagen fija puede denominarse imagen. En este caso, la imagen puede indicar una trama y un campo en una señal progresiva y una señal entrelazada. La imagen puede representarse como "fotograma" cuando la codificación/decodificación se realiza sobre una base de fotogramas y puede representarse como "campo" cuando la codificación/decodificación se realiza sobre una base de campos. La presente invención parte de una señal progresiva, pero también puede aplicarse a una señal entrelazada. Como concepto superior, pueden existir unidades como un GDI y una secuencia, y también cada imagen puede estar dividida en áreas predeterminadas tales como rodajas, baldosas, bloques y similares. Además, un GDI puede incluir unidades tales como I-imagen, P-imagen y B-imagen. La imagen I puede relacionarse con una imagen que se codifica/decodifica de forma autónoma sin utilizar una imagen de referencia, y la imagen P y la imagen B pueden relacionarse con una imagen que se codifica/decodifica realizando un proceso tal como la estimación de movimiento y la compensación de movimiento mediante el uso de una imagen de referencia. Por lo general, la imagen P puede utilizar la imagen I y la imagen B como imágenes de referencia, y la imagen B puede utilizar la imagen I y la imagen P como imágenes de referencia. No obstante, las definiciones anteriores también pueden modificarse por medio de ajustes de codificación/decodificación.
En la presente memoria descriptiva, una imagen a la que se hace referencia en la codificación/decodificación se denomina imagen de referencia, y un bloque o píxel al que se hace referencia en la codificación/decodificación se denomina bloque de referencia o píxel de referencia. Asimismo, los datos de referencia pueden incluir coeficientes en el dominio de la frecuencia y varios tipos de información de codificación/decodificación generada y determinada durante un proceso de codificación/decodificación, así como valores de píxeles en el dominio espacial. Por ejemplo, los datos de referencia pueden corresponder a información de intra-predicción o información de movimiento en una parte de predicción, información de transformación en una parte de transformación/una parte de transformación inversa, información de cuantización en una parte de cuantización/una parte de cuantización inversa, información de codificación/decodificación (información de contexto) en una parte de codificación/una parte de decodificación, información de filtrado en una parte de filtrado en bucle, y similares.
La unidad mínima de la imagen puede ser un píxel, y el número de bits utilizados para representar un píxel se denomina profundidad de bits. En general, la profundidad de bits puede ser de ocho bits, y puede admitirse una profundidad de bits de ocho o más bits en función de los ajustes de codificación. Puede admitirse al menos una profundidad de bits en función de un espacio de color. Además, puede incluirse al menos un espacio de color de acuerdo con un formato de color de imagen. Pueden incluirse una o varias imágenes del mismo tamaño o una o varias imágenes de tamaños diferentes de acuerdo con un formato de color. Por ejemplo, YCbCr 4:2:0 puede estar compuesto por un componente de luminancia (Y en este ejemplo) y dos componentes de crominancia (Cb/Cr en este ejemplo). En este momento, la relación de composición de los componentes de crominancia y el componente de luminancia puede ser de 1:2 en anchura y altura. Como otro ejemplo, YCbCr 4:4:4 puede tener la misma relación de composición en anchura y altura. Como en el ejemplo anterior, cuando se incluyen uno o más espacios de color, una imagen puede dividirse en los espacios de color.
La presente invención se describirá sobre la base de cualquier espacio de color (Y en este ejemplo) de cualquier formato de color (YCbCr en este ejemplo), y esta descripción se aplicará a otro espacio de color (Cb y Cr en este ejemplo) del formato de color de la misma manera o similar (ajustes dependientes de un espacio de color específico). Sin embargo, puede darse una diferencia parcial (ajustes independientes de un espacio de color específico) a cada espacio de color. Es decir, los ajustes dependientes de cada espacio de color pueden relacionarse con ajustes proporcionales o dependientes de la relación de composición de cada componente (por ejemplo, 4:2:0, 4:2:2, o 4:4:4), y el ajuste independiente de cada espacio de color puede relacionarse con ajustes de sólo un espacio de color correspondiente, independientemente de o con independencia de la relación de composición de cada componente. En la presente invención, algunos elementos pueden tener ajustes independientes o dependientes en función del codificador/decodificador.
La información de configuración o los elementos de sintaxis necesarios durante un proceso de codificación de imágenes pueden determinarse a un nivel de unidades tales como un vídeo, una secuencia, una imagen, un corte, una baldosa, un bloque y similares. Las unidades incluyen un conjunto de parámetros de vídeo (CPV), un conjunto de parámetros de secuencia (CPS), un conjunto de parámetros de imagen (CPI), una cabecera de corte, una cabecera de baldosa y una cabecera de bloque. Un codificador puede añadir las unidades a un caudal de bits y enviarlo a un decodificador. El decodificador puede analizar el caudal de bits en el mismo nivel, restaurar la información de configuración enviada por el codificador y utilizar la información de configuración en un proceso de decodificación de imágenes. Además, la información relacionada puede transmitirse a través de un caudal de bits en forma de información de potenciamiento del suplemento (IPS) o metadatos, y a continuación puede analizarse y utilizarse. Cada grupo de parámetros tiene un valor ID único, y un grupo de parámetros inferior puede tener un valor ID de un grupo de parámetros superior al que hacer referencia. Por ejemplo, un conjunto de parámetros inferior puede relacionarse con información de un conjunto de parámetros superior que tenga un valor ID correspondiente entre uno o más conjuntos de parámetros superiores. Entre varios ejemplos de las unidades descritas anteriormente, cuando una unidad cualquiera incluye una o más unidades diferentes, la unidad cualquiera puede denominarse unidad superior, y las unidades incluidas pueden denominarse unidad inferior.
La información de ajuste que se ha producido en dicha unidad puede incluir ajustes independientes de cada unidad o ajustes dependientes de una unidad anterior, siguiente o superior. En la presente memoria descriptiva, se entenderá que los ajustes dependientes indican información de ajuste de una unidad correspondiente mediante el uso de información de indicador correspondiente a los ajustes de la unidad anterior, siguiente o superior (por ejemplo, indicador de 1 bit; 1 indica Seguir y 0 indica No Seguir). En la presente invención, se describirá la información de ajuste, centrándose en un ejemplo de los ajustes independientes. Sin embargo, también puede incluirse un ejemplo en el que una relación dependiente de la información de ajuste de la unidad anterior, siguiente o superior de la unidad actual se añada a los ajustes independientes o los sustituya.
FIG. 1 es un diagrama de bloques de un aparato de codificación de imágenes de acuerdo con una realización de la presente invención. FIG. 2 es un diagrama de bloques de un aparato decodificador de imágenes de acuerdo con una realización de la presente invención.
En referencia a la FIG. 1, el aparato de codificación de imágenes puede estar configurado para incluir una parte de predicción, un sustractor, una parte de transformación, una parte de cuantificación, una parte de cuantificación inversa, una parte de transformación inversa, un sumador, una parte de filtro en bucle, una memoria y/o una parte de codificación, algunas de las cuales pueden no estar necesariamente incluidas. Algunos o todos los elementos pueden incluirse selectivamente dependiendo de la implementación, y algunos elementos adicionales que no se muestran en la presente memoria descriptiva pueden incluirse.
En referencia a la FIG. 2, el aparato de decodificación de imágenes puede estar configurado para incluir una parte de decodificación, una parte de predicción, una parte de cuantificación inversa, una parte de transformación inversa, un sumador, una parte de filtro en bucle y/o una memoria, algunas de las cuales pueden no estar necesariamente incluidas. Algunos o todos los elementos pueden incluirse selectivamente dependiendo de la implementación, y algunos elementos adicionales que no se muestran en la presente memoria descriptiva pueden incluirse.
El aparato de codificación de imagen y el aparato de decodificación pueden ser aparatos separados, pero pueden proporcionarse como un aparato de codificación/decodificación de imagen dependiendo de la implementación. En este caso, algunos elementos del aparato de codificación de imágenes pueden ser sustancialmente los mismos que los del aparato de decodificación de imágenes y pueden implementarse para incluir al menos las mismas estructuras o realizar las mismas funciones. Por lo tanto, en la siguiente descripción detallada de los elementos técnicos y sus principios de funcionamiento, se omitirá la descripción redundante de los elementos técnicos correspondientes. El aparato de decodificación de imágenes corresponde a un aparato informático que aplica un procedimiento de codificación de imágenes realizado por el aparato de codificación de imágenes a un proceso de decodificación, por lo que la siguiente descripción se centrará en el aparato de codificación de imágenes. El aparato de codificación de imágenes también puede denominarse codificador, y el aparato de decodificación de imágenes también puede denominarse decodificador.
La parte de predicción puede implementarse mediante el uso de un módulo de predicción y puede generar un bloque de predicción realizando intra-predicción o inter-predicción sobre un bloque a codificar. La parte de predicción genera el bloque de predicción por medio de la predicción de un bloque actual que se codificará en una imagen. En otras palabras, la parte de predicción puede predecir los valores de píxel de los píxeles de un bloque actual a codificar en una imagen a través de intra-predicción o inter-predicción para generar un bloque de predicción que tenga valores de píxel predichos de los píxeles. Además, la parte de predicción puede entregar la información necesaria para generar el bloque de predicción a la parte de codificación, de forma que se codifique la información del modo de predicción. La parte de codificación añade la información correspondiente a un caudal de bits y lo transmite al decodificador. La parte de decodificación del decodificador puede analizar la información correspondiente, restaurar la información del modo de predicción y, a continuación, utilizar la información del modo de predicción para realizar la intra-predicción o la inter-predicción.
El sustractor resta el bloque de predicción del bloque actual para generar un bloque residual. En otras palabras, el sustractor puede calcular una diferencia entre un valor de píxel de cada píxel del bloque actual a codificar y un valor de píxel predicho de cada píxel del bloque de predicción generado a través de la parte de predicción para generar un bloque residual, que es una señal residual de tipo bloque.
La parte de transformación puede transformar una señal perteneciente a un dominio espacial en una señal perteneciente a un dominio de frecuencia. En este caso, la señal adquirida por medio del proceso de transformación se denomina coeficiente transformado. Por ejemplo, el bloque residual con la señal residual procedente del sustractor puede transformarse en un bloque de transformación con un coeficiente transformado. En este caso, una señal de entrada se determina de acuerdo con los ajustes de codificación y no se limita a la señal residual.
La parte de transformación puede realizar una transformación en el bloque residual mediante el uso de una técnica de transformación tal como la transformada de Hadamard, la transformación basada en la transformada senoidal discreta (TSD) y la transformación basada en la transformada coseno discreta (TCD). Sin embargo, la presente invención no se limita a ello, y pueden utilizarse varias técnicas de transformación mejoradas y modificadas.
Por ejemplo, al menos una de las técnicas de transformación puede ser soportada, y al menos una técnica de transformación detallada puede ser soportada en cada técnica de transformación. En este caso, la al menos una técnica de transformación detallada puede ser una técnica de transformación en la que algunos vectores base se construyen de forma diferente en cada técnica de transformación. Por ejemplo, como técnicas de transformación, pueden admitirse la transformación basada en TSD y la transformación basada en TCD. Las técnicas de transformación detalladas tales como TSD-I, TSD-II, TSD-III, TSD-V, TSD-VI, TSD-VII y TSD-VIII pueden ser compatibles con TSD, y las técnicas de transformación detalladas tales como TCD-I, TCD-II, TCD-III, TCD-V, TCD-VI, TCD-VII y TCD-VIII pueden ser compatibles con TCD.
Una de las técnicas de transformación puede establecerse como técnica de transformación por defecto (por ejemplo, una técnica de transformación && una técnica de transformación detallada), y pueden admitirse técnicas de transformación adicionales (por ejemplo, una pluralidad de técnicas de transformación II una pluralidad de técnicas de transformación detalladas). El apoyo a una técnica de transformación adicional puede determinarse en unidades de secuencias, imágenes, cortes o baldosas, y la información relacionada puede generarse en función de las unidades. Cuando se admite una técnica de transformación adicional, la información de selección de la técnica de transformación puede determinarse en unidades de bloque, y puede generarse información relacionada.
La transformación puede realizarse horizontal y/o verticalmente. Por ejemplo, la transformación bidimensional (2D) se realiza efectuando horizontal y verticalmente una transformación unidimensional (1D) mediante el uso de un vector base, de forma que un valor de píxel en un dominio espacial pueda transformarse en un dominio de frecuencia.
Además, la transformación puede realizarse horizontal y/o verticalmente de forma adaptativa. En detalle, la realización de la transformación de forma adaptativa puede determinarse en función de al menos una configuración de codificación. Para la intra-predicción, por ejemplo, TCD-I puede aplicarse horizontalmente y TSD-I puede aplicarse verticalmente cuando el modo de predicción es un modo horizontal, TSD-VI puede aplicarse horizontalmente y TCD-VI puede aplicarse verticalmente cuando el modelo de predicción es un modo vertical, TCD-II puede aplicarse horizontalmente y TCD-V puede aplicarse verticalmente cuando el modo de predicción es Diagonal abajo a la izquierda, y TSD-I puede aplicarse horizontalmente y TSD-VI puede aplicarse verticalmente cuando el modo de predicción es Diagonal abajo a la derecha.
Los tamaños y las formas de los bloques de transformación pueden determinarse en función de los costes de codificación de los candidatos del tamaño y la forma de los bloques de transformación. Pueden codificarse datos de imagen de los bloques de transformación e información relativa a los tamaños y formas determinados de los bloques de transformación.
Entre las formas de transformación, la transformación cuadrada puede establecerse como una forma de transformación por defecto, y una forma de transformación adicional (por ejemplo, una forma rectangular) puede ser soportada. La posibilidad de admitir una forma de transformación adicional puede determinarse en unidades de secuencias, imágenes, cortes o baldosas, y la información relacionada puede generarse en función de las unidades. La información de selección de la forma de transformación puede determinarse en unidades de bloque, y puede generarse información relacionada.
Asimismo, la posibilidad de admitir una forma de bloque de transformación puede determinarse en función de la información de codificación. En este caso, la información de codificación puede corresponder a un tipo de corte, un modo de codificación, el tamaño y la forma de un bloque, un esquema de partición de bloques, etc. Es decir, puede admitirse una forma de transformación de acuerdo con al menos un elemento de información de codificación, y una pluralidad de formas de transformación de acuerdo con al menos un elemento de información de codificación. El primer caso puede ser una situación implícita, y el segundo, una situación explícita. Para la situación explícita, puede generarse y añadirse a un caudal de bits información de selección adaptativa que indique un grupo candidato óptimo seleccionado entre una pluralidad de grupos candidatos. De acuerdo con la presente invención, además de este ejemplo, se entenderá que cuando la información de codificación se genera explícitamente, la información se añade a un caudal de bits en varias unidades y la información relacionada se analiza en varias unidades y se restaura en información de decodificación por el decodificador. Asimismo, se entenderá que cuando la información de codificación/decodificación se procesa implícitamente, el procesamiento se realiza por medio del mismo proceso, regla y similares por parte del codificador y el decodificador.
A modo de ejemplo, el soporte de la transformación rectangular puede determinarse en función de un tipo de corte. Una forma de transformación admitida para el corte I puede ser una transformación cuadrada, y una forma de transformación admitida para el corte P/B puede ser una transformación cuadrada o rectangular.
A modo de ejemplo, el soporte de la transformación rectangular puede determinarse en función de un modo de codificación. Una forma de transformación soportada para la intra-predicción puede ser la transformación cuadrada, y una forma de transformación soportada para la inter-predicción puede ser la transformación cuadrada y/o la transformación rectangular.
A modo de ejemplo, el soporte de la transformación rectangular puede determinarse en función del tamaño y la forma de un bloque. Una forma de transformación soportada por un bloque de un cierto tamaño o mayor puede ser una transformación cuadrada, y una forma de transformación soportada por un bloque de menos de un cierto tamaño puede ser una transformación cuadrada y/o una transformación rectangular.
A modo de ejemplo, el soporte de la transformación rectangular puede determinarse de acuerdo con un esquema de partición en bloques. Cuando un bloque que se va a transformar es un bloque adquirido por medio de un esquema de partición en árbol cuádruple, la forma de transformación admitida puede ser la transformación cuadrada. Cuando un bloque a transformar es un bloque adquirido por medio de un esquema de partición en árbol binario, la forma de transformación admitida puede ser la transformación cuadrada o la transformación rectangular.
El ejemplo anterior puede ser un ejemplo del soporte de la forma de transformación de acuerdo con una pieza de información de codificación, y una pluralidad de piezas de información pueden estar asociadas con configuraciones adicionales de soporte de la forma de transformación en combinación. El ejemplo anterior no es más que un ejemplo del soporte adicional de formas de transformación de acuerdo con varias configuraciones de codificación. Sin embargo, la presente invención no se limita a ello, y pueden realizarse varias modificaciones.
El proceso de transformación puede omitirse en función de los ajustes de codificación o de las características de la imagen. Por ejemplo, el proceso de transformación (incluido el proceso inverso) puede omitirse de acuerdo con la configuración de codificación (por ejemplo, en este ejemplo, se asume un entorno de compresión sin pérdidas). Como otro ejemplo, el proceso de transformación puede omitirse cuando el rendimiento de compresión a través de la transformación no se muestra de acuerdo con las características de la imagen. En este caso, la transformación puede omitirse para todas las unidades o para una de la unidad horizontal y la unidad vertical. El apoyo a la omisión puede determinarse en función del tamaño y la forma de un bloque.
Por ejemplo, se supone que la transformación horizontal y la transformación vertical se omiten conjuntamente. La transformación puede no realizarse ni horizontal ni verticalmente cuando un indicador de omisión de transformación es 1, y la transformación puede realizarse tanto horizontal como verticalmente cuando el indicador de omisión de transformación es 0. Por otra parte, se supone que la transformación horizontal y la transformación vertical se omiten independientemente. La transformación horizontal no se realiza cuando un indicador de omisión de primera transformación es 1, y la transformación horizontal se realiza cuando el indicador de omisión de primera transformación es 0. Entonces, la transformación vertical no se realiza cuando un indicador de omisión de segunda transformación es 1, y la transformación vertical se realiza cuando el indicador de omisión de segunda transformación es 0.
La omisión de la transformación puede ser soportada cuando el tamaño de un bloque corresponde a un intervalo A, y la omisión de la transformación no puede ser soportada cuando el tamaño de un bloque corresponde a un intervalo B. Por ejemplo, cuando la anchura de un bloque es mayor que M o la altura de un bloque es mayor que N, el indicador de omisión de la transformación no puede ser soportada. Cuando la anchura de un bloque es inferior a m o la altura de un bloque es inferior a n, puede admitirse el indicador de omisión de transformación. M(m) y N(n) pueden ser iguales o diferentes entre sí. Los ajustes asociados a la transformación pueden determinarse en unidades de secuencias, imágenes, cortes o similares.
Cuando se admite una técnica de transformación adicional, puede determinarse un ajuste de la técnica de transformación de acuerdo con al menos un elemento de información de codificación. En este caso, la información de codificación puede corresponder a un tipo de corte, un modo de codificación, el tamaño y la forma de un bloque, un modo de predicción, etc.
A modo de ejemplo, el soporte de la técnica de transformación puede determinarse en función del modo de codificación. La técnica de transformación admitida para la intra-predicción puede incluir TCD-I, TCD-III, TCD-VI, TSD-II y TSD-III, y la técnica de transformación admitida para la inter-predicción puede incluir TCD-II, TCD-III y TSD-III.
A modo de ejemplo, el soporte de la técnica de transformación puede determinarse en función del tipo de corte. La técnica de transformación admitida para el corte I puede incluir TCD-I, TCD-II y TCD-III, la técnica de transformación admitida para el corte P puede incluir TCD-V, TSD-V y TSD-VI, y la técnica de transformación admitida para el corte B puede incluir TCD-I, TCD-II y TSD-III.
A modo de ejemplo, el soporte de la técnica de transformación puede determinarse en función del modo de predicción. La técnica de transformación soportada por un modo de predicción A puede incluir TCD-I y TCD-II, la técnica de transformación soportada por un modo de predicción B puede incluir t CD-I y TSD-I, y la técnica de transformación soportada por un modo de predicción C puede incluir TCD-I. En este caso, el modo de predicción A y el modo de predicción B pueden ser cada uno un modo direccional, y el modo de predicción C puede ser un modo no direccional.
A modo de ejemplo, el soporte de la técnica de transformación puede determinarse en función del tamaño y la forma de un bloque. La técnica de transformación soportada por un bloque de un cierto tamaño o mayor puede incluir TCD-II, la técnica de transformación soportada por un bloque de menos de un cierto tamaño puede incluir TCD-II y TSD-V, y la técnica de transformación soportada por un bloque de un cierto tamaño o mayor y menos de un cierto tamaño puede incluir TCD-I, TCD-II y TSD-I. Además, la técnica de transformación soportada en forma cuadrada puede incluir TCD-I y TCD-II, y la técnica de transformación soportada en forma rectangular puede incluir TCD-I y TSD-I.
El ejemplo anterior puede ser un ejemplo del soporte de la técnica de transformación de acuerdo con una pieza de información de codificación, y una pluralidad de piezas de información pueden estar asociadas con configuraciones adicionales de soporte de la técnica de transformación en combinación. La presente invención no se limita al ejemplo anterior, y pueden introducirse modificaciones en el mismo. Además, la parte de transformación puede entregar la información necesaria para generar un bloque de transformación a la parte de codificación para que se codifique la información. La parte de codificación añade la información correspondiente a un caudal de bits y lo transmite al decodificador. La parte de decodificación del decodificador puede analizar la información y utilizar la información analizada en el proceso de transformación inversa.
La parte de cuantificación puede cuantificar las señales de entrada. En este caso, una señal adquirida por medio del proceso de cuantización se denomina coeficiente cuantizado. Por ejemplo, la parte de cuantificación puede cuantificar un bloque residual con un coeficiente de transformación residual suministrado desde la parte de transformación y adquirir de este modo un bloque de cuantificación con un coeficiente de cuantificación. En este caso, la señal de entrada se determina en función de los ajustes de codificación y no se limita al coeficiente de transformación residual.
La parte de cuantificación puede usar una técnica de cuantificación tal como Cuantificación de Umbral Uniforme de Zona Muerta, Matriz Ponderada de Cuantificación, o similares para cuantificar el bloque residual transformado. Sin embargo, la presente invención no se limita a ello, y pueden utilizarse varias técnicas de cuantificación mejoradas y modificadas. La posibilidad de admitir una técnica de cuantificación adicional puede determinarse en unidades de secuencias, imágenes, cortes o baldosas, y la información relacionada puede generarse en función de las unidades. Cuando se admite una técnica de cuantificación adicional, la información de selección de la técnica de cuantificación puede determinarse en unidades de bloque, y puede generarse información relacionada.
Cuando se admite una técnica de cuantificación adicional, puede determinarse un ajuste de la técnica de cuantificación de acuerdo con al menos un elemento de información de codificación. En este caso, la información de codificación puede corresponder a un tipo de corte, un modo de codificación, el tamaño y la forma de un bloque, un modo de predicción, etc.
Por ejemplo, la parte de cuantificación puede establecer de forma diferente una matriz ponderada de cuantificación correspondiente a un modo de codificación y una matriz ponderada aplicada de acuerdo con la inter-predicción/intrapredicción. Además, la parte de cuantificación puede establecer de forma diferente una matriz ponderada aplicada de acuerdo con un modo de intra-predicción. En este caso, cuando se supone que la matriz de cuantificación ponderada tiene un tamaño de M * N, que es el mismo que el tamaño del bloque de cuantificación, la matriz de cuantificación ponderada puede ser una matriz de cuantificación en la que algunos componentes de cuantificación se construyen de forma diferente.
El proceso de cuantificación puede omitirse de acuerdo con los ajustes de codificación o las características de la imagen. Por ejemplo, el proceso de cuantificación (incluido el proceso inverso) puede omitirse de acuerdo con la configuración de codificación (por ejemplo, en este ejemplo, se asume un entorno de compresión sin pérdidas). Como otro ejemplo, el proceso de cuantificación puede omitirse cuando el rendimiento de compresión a través de la cuantificación no se muestra de acuerdo con las características de la imagen. En este caso, pueden omitirse algunas o todas las regiones, y la omisión puede determinarse en función del tamaño y la forma de un bloque.
La información relativa a los parámetros de cuantificación (PC) puede generarse en unidades de secuencias, imágenes, cortes, baldosas o bloques. Por ejemplo, se puede establecer un PC predeterminado en una unidad superior en la que se genera por primera vez la información PC , y se puede establecer un PC con un valor que sea igual o diferente al del PC establecido en la unidad superior. En el proceso de cuantificación realizado en algunas unidades a través del proceso, el PC puede ser finalmente determinado. En este caso, la unidad como una secuencia y una imagen puede ser un ejemplo correspondiente a <1>, la unidad como un corte, una baldosa y un bloque puede ser un ejemplo correspondiente a <2>, y la unidad como un bloque puede ser un ejemplo correspondiente a <3>.
La información relativa al PC puede generarse sobre la base de un PC en cada unidad. Alternativamente, puede establecerse un PC predeterminado como valor previsto, y puede generarse información relativa a las diferencias con los PC de las unidades. Alternativamente, una PC adquirida basada en al menos una de una PC establecida en una unidad superior, una PC establecida en la misma unidad y anterior, o una PC establecida en una unidad vecina puede establecerse como un valor predicho, y puede generarse información relativa a una diferencia con respecto a una PC en la unidad actual. Alternativamente, una PC establecida en una unidad superior y una PC adquirida basada en al menos una pieza de información de codificación pueden establecerse como valores predichos, y puede generarse información de diferencia de la PC en la unidad actual. En este caso, la unidad igual y anterior puede ser una unidad que puede definirse en un orden de codificación de las unidades, la unidad vecina puede ser una unidad espacialmente adyacente, y la información de codificación puede ser un tipo de corte, un modo de codificación, un modo de predicción, información de ubicación, etc. de una unidad correspondiente.
Como ejemplo, el PC en la unidad actual puede utilizarse para establecer el PC en la unidad superior como un valor predicho y generar información de diferencia. Puede generarse información relativa a una diferencia entre un conjunto PC en un corte y un conjunto PC en una imagen, o puede generarse información relativa a una diferencia entre un conjunto PC en una baldosa y un conjunto PC en una imagen. Además, se puede generar información relativa a una diferencia entre un conjunto de PC en un bloque y el conjunto de PC en el corte o baldosa. También puede generarse información relativa a una diferencia entre un conjunto de PC en un sub-bloque y el conjunto de PC en el bloque.
Como ejemplo, la PC en la unidad actual puede utilizarse para establecer una PC adquirida basada en una PC en al menos una unidad vecina o una PC en al menos una unidad anterior como valor predicho y generar información de diferencia. Puede generarse información relativa a una diferencia con respecto a un PC adquirido sobre la base de un PC de un bloque vecino, tal como un bloque en un lado izquierdo, un lado superior izquierdo, un lado inferior izquierdo, un lado superior, un lado superior derecho y similares del bloque actual. Alternativamente, puede generarse información relativa a una diferencia con respecto a un PC de una imagen codificada anterior a la imagen actual.
Como ejemplo, el PC en la unidad actual puede utilizarse para establecer un PC en una unidad superior y un PC adquirido basado en al menos una pieza de información de codificación como valores predichos y generar información de diferencia. Además, puede generarse información relativa a una diferencia entre el PC en el bock actual y un PC de un corte corregido de acuerdo con un tipo de corte (I/P/B). Alternativamente, puede generarse información relativa a una diferencia entre el PC en el bock actual y un PC de una baldosa corregido de acuerdo con el modo de codificación (intra/inter). Alternativamente, puede generarse información relativa a una diferencia entre el PC en el bock actual y un PC de una imagen corregida de acuerdo con el modo de predicción (direccionalidad/no direccionalidad). Alternativamente, puede generarse información relativa a una diferencia entre el PC en el bock actual y un PC de una imagen corregida de acuerdo con la información de localización (x/y). En este caso, la corrección puede relacionarse con una operación de adición o sustracción de un desplazamiento hacia o desde un PC en una unidad superior utilizada para la predicción. En este caso, al menos una parte de la información de desplazamiento puede admitirse de acuerdo con los ajustes de codificación, y la información que se procesa implícitamente o se asocia explícitamente puede generarse de acuerdo con un proceso predeterminado. La presente invención no se limita al ejemplo anterior, y pueden introducirse modificaciones en el mismo.
El ejemplo anterior puede ser un ejemplo permitido cuando se proporciona o activa una señal que indica la variación de Pc . Por ejemplo, cuando no se proporciona ni se activa la señal que indica la variación del PC, no se genera la información de diferencia, y el PC previsto puede determinarse como un PC en cada unidad. Como otro ejemplo, cuando se proporciona o activa la señal que indica la variación de PC, se genera la información de diferencia, y el PC predicho puede determinarse como un PC en cada unidad cuando la información de diferencia tiene un valor de 0.
La parte de cuantificación puede entregar la información necesaria para generar un bloque de cuantificación a la parte de codificación para que la información sea codificada. La parte de codificación añade la información correspondiente a un caudal de bits y lo transmite al decodificador. La parte de decodificación del decodificador puede analizar la información y utilizar la información analizada en el proceso de cuantización inversa.
El ejemplo anterior se ha descrito bajo el supuesto de que un bloque residual se transforma y cuantiza a través de la parte de transformación y la parte de cuantización. Sin embargo, una señal residual del bloque residual puede transformarse en un bloque residual con una transformación eficiente mientras no se realiza el proceso de cuantificación. Alternativamente, sólo se puede realizar el proceso de cuantificación mientras que la señal residual del bloque residual no se transforma en un coeficiente de transformación. Otra posibilidad es no realizar ni el proceso de transformación ni el de cuantificación. Esto puede determinarse de acuerdo con los ajustes de codificación.
La parte de codificación puede escanear un coeficiente de cuantificación, un coeficiente de transformación o una señal residual del bloque residual generado en al menos un orden de escaneo (por ejemplo, escaneo en zigzag, escaneo vertical, escaneo horizontal, etc.), generar una cadena de coeficiente de cuantificación, una cadena de coeficiente de transformación o una cadena de señal, y codificar la cadena de coeficiente de cuantificación, la cadena de coeficiente de transformación o la cadena de señal mediante el uso de al menos una técnica de codificación de entropía. En este caso, la información relativa al orden de exploración puede determinarse en función de los ajustes de codificación (por ejemplo, un modo de codificación, un modo de predicción, etc.) y puede utilizarse para generar información implícitamente determinada o explícitamente asociada. Por ejemplo, puede seleccionarse una orden de exploración de entre una pluralidad de órdenes de exploración de acuerdo con el modo de intra-predicción.
Además, la parte de codificación puede generar datos de codificación incluyendo información de codificación entregada desde cada elemento y puede emitir los datos de codificación en un caudal de bits. Esto puede implementarse con un multiplexor (MUX). En este caso, la codificación puede realizarse mediante el uso de un procedimiento como el Golomb Exponencial, la Codificación de Longitud Variable Adaptativa al Contexto (CLVAC) y la Codificación Aritmética Binaria Adaptativa al Contexto (CABAC) como técnica de codificación. Sin embargo, la presente invención no se limita a ello, y pueden utilizarse varias técnicas de codificación obtenidas mejorando y modificando las técnicas de codificación anteriores.
Cuando la codificación de entropía (por ejemplo, CABAC en este ejemplo) se realiza en un elemento de sintaxis tal como la información generada a través de un proceso de codificación/decodificación y los datos de bloque residuales, un aparato de codificación de entropía puede incluir un binarizador, un modelador de contexto y un codificador aritmético binario. En este caso, el codificador aritmético binario puede incluir un motor de codificación regular y un motor de codificación de derivación.
Un elemento de sintaxis de entrada al aparato de codificación de entropía puede no ser un valor binario. De este modo, cuando los elementos de sintaxis no son valores binarios, el binarizador puede binarizar los elementos de sintaxis y emitir una cadena bin compuesta de 0s o 1s. En este caso, un bin representa un bit compuesto de 0 o 1 y puede codificarse por medio del codificador aritmético binario. En este caso, uno de los motores de codificación regular y el motor de codificación de derivación puede seleccionarse en función de la probabilidad de ocurrencia de 0 y 1 y esto puede determinarse de acuerdo con los ajustes de codificación/decodificación. Cuando un elemento de sintaxis es un dato cuya frecuencia de 0 es igual a la frecuencia de 1, se puede utilizar el motor de codificación de derivación; en caso contrario, se puede utilizar el motor de codificación normal.
Cuando se binariza el elemento sintáctico, pueden utilizarse varios procedimientos. Por ejemplo, se puede utilizar la binarización de longitud fija, la Binarización Unaria, la Binarización de Arroz Truncado, la binarización de K-ésimo Exp-Golomb y similares. Además, se puede realizar una binarización con signo o sin signo dependiendo del intervalo del valor del elemento de sintaxis. El proceso de binarización de los elementos sintácticos de acuerdo con la presente invención puede incluir un procedimiento de binarización adicional además de la binarización descrita en el ejemplo anterior.
La parte de cuantización inversa y la parte de transformación inversa pueden implementarse realizando inversamente los procesos realizados en la parte de transformación y la parte de cuantización. Por ejemplo, la parte de cuantificación inversa puede cuantificar inversamente un coeficiente de transformación cuantificado por la parte de cuantificación, y la parte de transformación inversa puede transformar inversamente el coeficiente de transformación cuantificado inversamente para generar un bloque residual restaurado.
El sumador suma el bloque de predicción y el bloque residual restaurado para restaurar un bloque actual. El bloque restaurado puede almacenarse en la memoria y utilizarse como datos de referencia (para la parte de predicción, la parte de filtrado, etc.).
La parte de filtro en bucle puede realizar adicionalmente un proceso de filtrado de post-procesamiento de uno o más de un filtro de desbloqueo, un desplazamiento adaptativo de muestra (DAM), un filtro de bucle adaptativo (FBA), y similares. El filtro de desbloqueo puede eliminar la distorsión de bloque generada en un límite entre bloques de una imagen restaurada. El FBA puede realizar el filtrado basándose en un valor obtenido al comparar una imagen de entrada con una imagen restaurada. En detalle, el FBA puede realizar el filtrado basándose en un valor obtenido al comparar una imagen de entrada con una imagen restaurada después de filtrar un bloque a través del filtro de desbloqueo. Alternativamente, el FBA puede realizar el filtrado basándose en un valor obtenido al comparar una imagen de entrada con una imagen restaurada después de filtrar un bloque a través del DAM. El DAM puede restaurar una diferencia de desplazamiento sobre la base de un valor obtenido comparando una imagen de entrada con una imagen restaurada y puede aplicarse en forma de desplazamiento de banda (DBAN), desplazamiento de borde (DBOR) y similares. En detalle, el DAM puede añadir un desplazamiento con respecto a una imagen original a la imagen restaurada, a la que se aplica el filtro de desbloqueo, en unidades de al menos un píxel y puede aplicarse en forma de DBAN, DBOR y similares. En detalle, el DAM puede añadir un desplazamiento con respecto a una imagen original a una imagen restaurada después de filtrar un bloque a través del FBA en unidades de píxel y puede aplicarse en forma de DBAN, DBOR y similares.
Como información de filtrado, la información de configuración relativa a si soportar cada filtro de post-procesamiento puede ser generada en unidades de secuencias, imágenes, cortes, baldosas, o similares. Además, la información de configuración relativa a la ejecución de cada filtro de post-procesamiento puede generarse en unidades de imágenes, cortes, baldosas, bloques o similares. El intervalo en el que se realiza el filtro puede clasificarse en el interior de una imagen y el límite de una imagen. Se puede generar la información de ajuste teniendo en cuenta la clasificación. Asimismo, la información relativa a la operación de filtrado puede generarse en unidades de imágenes, cortes, baldosas, bloques o similares. La información puede procesarse implícita o explícitamente, y puede aplicarse al filtrado un proceso de filtrado independiente o un proceso de filtrado dependiente en función de un componente de color, y esto puede determinarse en función de los ajustes de codificación. La parte de filtrado en bucle puede entregar la información de filtrado a la parte de codificación para que se codifique la información. La parte de codificación añade la información correspondiente a un caudal de bits y lo transmite al decodificador. La parte de decodificación del decodificador puede analizar la información y aplicar la información analizada a la parte del filtro en bucle.
La memoria puede almacenar el bloque o la imagen restaurados. El bloque restaurado o la imagen almacenada en la memoria puede proporcionarse a la parte de predicción, que realiza la intra-predicción o la inter-predicción. En detalle, para el procesamiento, un espacio en el que un caudal de bits comprimido por un codificador se almacena en forma de colas puede establecerse como un amortiguador de imágenes codificadas (AIC), y un espacio en el que la imagen decodificada se almacena en unidades de imagen puede establecerse como un amortiguador de imágenes decodificadas (AID). El AIC puede almacenar las partes de decodificación en el orden de decodificación, emular la operación de decodificación en el codificador y almacenar el caudal de bits comprimido a través del proceso de emulación. La salida de caudal de bits del AIC se restaura por medio del proceso de decodificación, y la imagen restaurada se almacena en el AID, y se puede hacer referencia a las imágenes almacenadas en el AID durante un proceso de codificación/decodificación de imágenes.
La parte de decodificación puede implementarse realizando inversamente el proceso de la parte de codificación. Por ejemplo, la parte de decodificación puede recibir una cadena de coeficientes de cuantificación, una cadena de coeficientes de transformación o una cadena de señales del caudal de bits, decodificar la cadena, analizar los datos de decodificación incluyendo información de decodificación y entregar los datos de decodificación analizados a cada elemento.
A continuación, se describirá un proceso de ajuste de imagen aplicado al aparato de codificación/decodificación de imagen de acuerdo con una realización de la presente invención. Este es un ejemplo (ajustes iniciales de la imagen) aplicado antes de la codificación/decodificación, pero algunos procesos pueden ser ejemplos a aplicar a las otras etapas (por ejemplo, etapas posteriores a la codificación/decodificación o subetapas de la codificación/decodificación). El proceso de ajuste de la imagen puede realizarse teniendo en cuenta los entornos de red y de usuario, tales como las características del contenido multimedia, los anchos de banda, el rendimiento del terminal de usuario y la accesibilidad. Por ejemplo, la partición de la imagen, el redimensionamiento de la imagen, la reconstrucción de la imagen y similares pueden realizarse de acuerdo con los ajustes de codificación/decodificación. La siguiente descripción del proceso de ajuste de la imagen se centra en una imagen rectangular. Sin embargo, la presente invención no se limita a ello, y el proceso de ajuste de imagen puede aplicarse a imágenes poligonales. Pueden aplicarse los mismos ajustes de imagen independientemente de la forma de la imagen o pueden aplicarse diferentes ajustes de imagen, que pueden determinarse en función de los ajustes de codificación/decodificación. Por ejemplo, después de comprobar la información relativa a la forma de la imagen (por ejemplo, una forma rectangular o una forma no rectangular), puede construirse la información relativa a los ajustes de imagen correspondientes.
El siguiente ejemplo se describirá bajo el supuesto de que se proporcionan ajustes dependientes a un espacio de color. Sin embargo, se pueden proporcionar ajustes independientes al espacio de color. Además, en el siguiente ejemplo, los ajustes independientes pueden incluir la provisión independiente de ajustes de codificación/decodificación a cada espacio de color. Aunque se describe un espacio de color, se supone que se incluye un ejemplo en el que la descripción se aplica a otro espacio de color (por ejemplo, un ejemplo en el que N se genera en el componente de crominancia cuando M se genera en el componente de luminancia), y éste puede derivarse. Además, los ajustes dependientes pueden incluir un ejemplo en el que los ajustes se realizan en proporción a una relación de composición de formato de color (por ejemplo, 4:4:4, 4:2:2, 4:2:0, etc.) (por ejemplo, para 4:2:0, M/2 en el componente de crominancia en el caso de M en el componente de luminancia). Se supone que se incluye un ejemplo en el que la descripción se aplica a cada espacio de color, y éste puede derivarse. Esta descripción no se limita al ejemplo anterior y puede aplicarse en común a la presente invención.
Algunas construcciones del ejemplo siguiente pueden aplicarse a varias técnicas de codificación, tales como la codificación en el dominio espacial, la codificación en el dominio de la frecuencia, la codificación basada en bloques, la codificación basada en objetos y similares.
Generalmente, una imagen de entrada puede ser codificada o decodificada tal cual o después de la partición de la imagen. Por ejemplo, la partición puede realizarse por robustez frente a errores o similares para evitar daños causados por la pérdida de paquetes durante la transmisión. Alternativamente, la partición puede realizarse con el fin de clasificar las regiones que tienen diferentes propiedades en la misma imagen de acuerdo con las características, tipo y similares de la imagen.
De acuerdo con la presente invención, el proceso de partición de imágenes puede incluir un proceso de partición y un proceso de partición inverso. La siguiente descripción de ejemplo se centrará en el proceso de partición, pero el proceso de partición inverso puede derivarse inversamente del proceso de partición.
FIG. 3 es un diagrama de ejemplo en el que la información de la imagen se divide en capas para comprimirla.
La sección 3A es un diagrama de ejemplo en el que una secuencia de imágenes se compone de una pluralidad de GDI. Además, un GDI puede estar compuesto de imágenes I, imágenes P e imágenes B, como se muestra en la Sección 3B. Una imagen puede estar compuesta de cortes, baldosas y similares, como se muestra en la Sección 3C. Un corte, baldosa o similar puede estar compuesto por una pluralidad de partes de codificación por defecto, como se muestra en la sección 3D, y una parte de codificación por defecto puede estar compuesta por al menos una subunidad de codificación, como se muestra en la sección 3E. El proceso de ajuste de imagen de acuerdo con la presente invención se describirá basándose en un ejemplo que se aplicará a una unidad como una imagen, un corte y una baldosa, como se muestra en las Secciones 3B y 3C.
FIG. 4 es un diagrama conceptual que muestra ejemplos de partición de imágenes de acuerdo con una realización de la presente invención.
La sección 4A es un diagrama conceptual en el que una imagen (por ejemplo, una fotografía) está dividida lateral y longitudinalmente a intervalos regulares. Una región particionada puede ser referida como un bloque. Cada bloque puede ser una parte de codificación predeterminada (o una parte de codificación máxima) adquirida a través de una parte de partición de imágenes y puede ser una unidad básica que se aplicará a una unidad de partición, que se describirá más adelante.
La sección 4B es un diagrama conceptual en el que una imagen se divide en al menos una dirección seleccionada entre una dirección lateral y una dirección longitudinal. Las regiones divididas de T0a T3 pueden denominarse baldosas, y cada región puede codificarse o decodificarse de forma independiente o dependiente de las demás regiones.
La sección 4C es un diagrama conceptual en el que una imagen se divide en grupos de bloques consecutivos. Las regiones divididas S0 y S1 pueden denominarse cortes, y cada región puede codificarse o decodificarse de forma independiente o dependiente de las demás regiones. Un grupo de bloques consecutivos puede definirse de acuerdo con un orden de exploración. Por lo general, un grupo de bloques consecutivos se ajusta al orden de barrido de trama. Sin embargo, la presente invención no se limita a ello, y un grupo de bloques consecutivos puede determinarse de acuerdo con los ajustes de codificación/decodificación.
La sección 4D es un diagrama conceptual en el que una imagen se divide en grupos de bloques de acuerdo con cualquier configuración definida por el usuario. Las regiones particionadas de A0 a A2 pueden denominarse particiones arbitrarias, y cada región puede codificarse o decodificarse de forma independiente o dependiente de las demás regiones.
La codificación/decodificación independiente puede denotar que cuando algunas unidades (o regiones) son codificadas o decodificadas, los datos en otras unidades no pueden ser referenciados. En detalle, las piezas de información utilizadas o generadas durante la codificación de la textura y la codificación de la entropía para algunas unidades pueden codificarse independientemente sin estar referenciadas entre sí. Incluso en el decodificador, para la decodificación de textura y la decodificación de entropía de algunas unidades, la información de análisis sintáctico y la información de restauración de otras unidades pueden no estar referenciadas entre sí. En este caso, la posibilidad de referenciar datos en otras unidades (o regiones) puede estar limitada en una región espacial (por ejemplo, entre regiones de una imagen), pero también puede estar limitada en una región temporal (por ejemplo, entre imágenes consecutivas o entre fotogramas) de acuerdo con los ajustes de codificación/decodificación. Por ejemplo, cuando algunas unidades de la imagen actual y algunas unidades de otra imagen tienen continuidad o tienen los mismos entornos de codificación, se puede hacer una referencia; de lo contrario, la referencia puede ser limitada.
Además, la codificación/decodificación dependiente puede denotar que cuando algunas unidades son codificadas o decodificadas, los datos en otras unidades pueden ser referenciados. En detalle, las piezas de información utilizadas o generadas durante la codificación de la textura y la codificación de la entropía para algunas unidades pueden codificarse de forma dependiente junto con estar referenciadas entre sí. Incluso en el decodificador, para la decodificación de textura y la decodificación de entropía de algunas unidades, la información de análisis sintáctico y la información de restauración de otras unidades pueden estar referenciadas entre sí. Es decir, los ajustes anteriores pueden ser iguales o similares a los de la codificación/decodificación general. En este caso, para identificar una región (en este caso, un rostro y similares generados de acuerdo con un formato de proyección), la región puede dividirse de acuerdo con las características, el tipo y similares de la imagen (por ejemplo, una imagen de 360 grados).
En el ejemplo anterior, se pueden proporcionar ajustes de codificación/decodificación independientes (por ejemplo, segmentos de corte independientes) a algunas unidades (un corte, una baldosa y similares), y ajustes de codificación/decodificación dependientes (por ejemplo, segmentos de corte dependientes) a otras unidades. De acuerdo con la presente invención, la siguiente descripción se centrará en los ajustes independientes de codificación/decodificación.
Como se muestra en la Sección 4A, una parte de codificación por defecto adquirida a través de la parte de partición de imagen puede dividirse en bloques de codificación por defecto de acuerdo con un espacio de color, y puede tener un tamaño y forma determinados de acuerdo con las características y resolución de la imagen. El tamaño o la forma admitidos del bloque pueden ser un cuadrado N * N (2 "x2"; 256x256, 128x128, 64x64, 32x32, 16x16, 8x8, etc.; n es un número entero comprendido entre 3 y 8) con una anchura y una altura representadas como el exponente de 2 (2n) o un rectángulo M * N (2m*2n). Por ejemplo, una imagen de entrada puede dividirse en 128x128 para una imagen UAD de 8k, 64x64 para una imagen AD de 1080p, o 16x16 para una imagen WVGA dependiendo de la resolución y puede dividirse en 256x256 para una imagen de 360 grados dependiendo del tipo de imagen. La parte de codificación por defecto puede dividirse en subunidades de codificación y, a continuación, codificarse o decodificarse. La información relativa a la parte de codificación por defecto puede añadirse a un caudal de bits en unidades de secuencias, imágenes, cortes, baldosas o similares, y puede ser analizada por el decodificador para restaurar la información relacionada.
El procedimiento de codificación de imagen y el procedimiento de decodificación de imagen de acuerdo con una realización de la presente invención pueden incluir las siguientes etapas de partición de imagen. En este caso, el proceso de partición de la imagen puede incluir una etapa de indicación de partición de la imagen, una etapa de identificación del tipo de partición de la imagen y una etapa de realización de la partición de la imagen. Además, el aparato de codificación de imagen y el aparato de decodificación de imagen pueden estar configurados para incluir una parte de indicación de partición de imagen, una parte de identificación de tipo de partición de imagen, y una parte de realización de partición de imagen, que realizan la etapa de indicación de partición de imagen, la etapa de identificación de tipo de partición de imagen, y la etapa de realización de partición de imagen, respectivamente. Para la codificación, puede generarse un elemento sintáctico relacionado. Para la decodificación, puede analizarse un elemento sintáctico relacionado.
En el proceso de partición de bloques, como se muestra en la Sección 4A, puede omitirse la parte de indicación de partición de imágenes. La parte de identificación del tipo de partición de la imagen puede comprobar la información relativa al tamaño y la forma de un bloque, y la parte de partición de la imagen puede realizar la partición a través de la información del tipo de partición identificada en las partes de codificación por defecto.
Un bloque puede ser una unidad a particionar siempre, pero la partición de las otras unidades de partición (una baldosa, un corte, y similares) puede determinarse de acuerdo con los ajustes de codificación/decodificación. Como configuración predeterminada, la parte de partición de imágenes puede realizar la partición en unidades de bloque y, a continuación, realizar la partición en otras unidades. En este caso, la partición de bloques puede realizarse en función del tamaño de la imagen.
Además, la partición puede realizarse en unidades de bloque después de haberse realizado en otras unidades (baldosas, cortes o similares). Es decir, la partición de bloques puede realizarse en función del tamaño de una unidad de partición. Esto puede determinarse por medio de un procesamiento explícito o implícito de acuerdo con los ajustes de codificación/decodificación. El siguiente ejemplo de descripción asume el primer caso y también se centrará en unidades distintas de los bloques.
En la etapa de indicación de partición de imagen, se puede determinar si se va a realizar la partición de imagen. Por ejemplo, cuando se confirma una señal que indica la partición de la imagen (por ejemplo, baldosas_activado_indicador), se puede realizar la partición. Cuando la señal que indica la partición de la imagen no se confirma, la partición puede no realizarse, o la partición puede realizarse confirmando otra información de codificación/decodificación.
En detalle, se asume que la señal que indica la partición de la imagen (por ejemplo, baldosas_activado_indicador) está confirmada. Cuando la señal está activada (por ejemplo, baldosas_activado_indicador = 1), la partición puede realizarse en una pluralidad de unidades. Cuando la señal está desactivada (por ejemplo, baldosas_activado_indicador = 0), puede que no se realice la partición. Alternativamente, la señal que indica que no se confirma la partición de la imagen puede denotar que la partición no se realiza o se realiza en al menos una unidad. La realización de la partición en una pluralidad de unidades puede confirmarse por medio de otra señal (por ejemplo, primer_corte_segmento_en_ima_indicador).
En resumen, cuando se proporciona la señal que indica la partición de la imagen, la señal correspondiente es una señal para indicar si se realiza la partición en una pluralidad de unidades. La partición de la imagen correspondiente puede determinarse de acuerdo con la señal. Por ejemplo, se supone que baldosas_activado_indicador es una señal que indica si se va a particionar una imagen. En la presente memoria descriptiva, baldosas_activado_indicador igual a 1 puede denotar que una imagen está particionada en una pluralidad de baldosas, y baldosas_activado_indicador igual a 0 puede denotar que una imagen no está particionada.
En resumen, cuando la señal que indica la partición de la imagen no es proporcionada, la partición puede no ser realizada, o si la partición de una imagen correspondiente puede ser determinada por otra señal. Por ejemplo, el indicador primer_corte_segmento_en_ima no es una señal que indique si se va a realizar la partición de la imagen, sino una señal que indica el primer segmento de la imagen. De este modo, se puede confirmar si se va a realizar la partición en dos o más unidades (por ejemplo, que el indicador sea 0 denota que la imagen se particiona en una pluralidad de cortes).
La presente invención no se limita al ejemplo anterior, y pueden hacerse modificaciones al mismo. Por ejemplo, puede que no se proporcione una señal que indique la partición de la imagen para cada baldosa y que se proporcione para cada corte. Alternativamente, la señal que indica la partición de la imagen puede proporcionarse sobre la base del tipo, características y similares de una imagen.
En la etapa de identificación del tipo de partición de imagen, se puede identificar un tipo de partición de imagen. El tipo de partición de la imagen puede definirse por medio de un procedimiento de partición, información de partición y similares.
En la Sección 4B, la baldosa puede definirse como una unidad adquirida por partición lateral y longitudinal. En detalle, la baldosa puede definirse como un grupo de bloques adyacentes en un espacio cuadrilátero particionado por al menos una línea de partición lateral o longitudinal que atraviesa una imagen.
La información de partición de baldosas puede incluir información de ubicación de límites para una columna y una fila, información de número de baldosa para una columna y una fila, información de tamaño de baldosa, y similares. La información sobre el número de baldosas puede incluir el número de columnas de los baldosas (por ejemplo, núm_baldosa_columnas) y el número de filas de los baldosas (por ejemplo, núm_baldosa_filas). De este modo, la imagen puede dividirse en un número (= el número de columnas * el número de filas) de baldosas. La información sobre el tamaño de las baldosas puede obtenerse a partir de la información sobre el número de baldosas. La anchura o altura de la baldosa puede ser uniforme o no uniforme y, por lo tanto, bajo reglas predeterminadas, la información relacionada (por ejemplo, uniforme_espaciado_indicador) puede determinarse implícitamente o generarse explícitamente. Además, la información sobre el tamaño de las baldosas puede incluir información sobre el tamaño de cada columna y cada fila de una baldosa (por ejemplo, columna_anchura_baldosa[i] y fila_altura_baldosa[i]) o incluir información sobre el tamaño de la anchura y la altura de cada baldosa. Asimismo, la información sobre el tamaño puede ser información que puede generarse adicionalmente en función de si el tamaño de una baldosa es uniforme (por ejemplo, cuando la partición no es uniforme porque uniforme_espaciado_indicador es 0).
En la Sección 4C, un corte puede definirse como una unidad de agrupación de bloques consecutivos. En detalle, el corte puede definirse como un grupo de bloques consecutivos en un orden de barrido predeterminado (en la presente memoria descriptiva, en barrido de trama).
La información de partición de corte puede incluir información de número de corte, información de localización de corte (por ejemplo, corte_segmento_dirección), y similares. En este caso, la información de ubicación del corte puede ser información de ubicación de un bloque predeterminado (por ejemplo, el primer intervalo en orden de exploración en el corte). En este caso, la información de ubicación puede ser información de orden de barrido de bloques.
En la Sección 4D, se permiten varios ajustes de partición para la partición arbitraria.
En la Sección 4D, una unidad de partición puede definirse como un grupo de bloques que son espacialmente adyacentes entre sí, y la información relativa a la partición puede incluir información relativa al tamaño, forma y localización de la unidad de partición. Esto es meramente un ejemplo de la partición arbitraria, y varias formas de partición pueden ser permitidas como se muestra en la FIG. 5.
FIG. 5 es otro diagrama de ejemplo de un procedimiento de partición de imágenes de acuerdo con una realización de la presente invención.
En las Secciones 5A y 5B, una imagen puede dividirse lateral o longitudinalmente en una pluralidad de regiones en al menos un intervalo de bloques, y la división puede realizarse sobre la base de información de ubicación de bloques. La sección 5A ilustra los ejemplos Ao y Ai en los que la partición se realiza lateralmente sobre la base de la información de fila de cada bloque, y la sección 5B ilustra los ejemplos Bo a B3 en los que la partición se realiza lateral y longitudinalmente sobre la base de la información de columna y la información de fila de cada bloque. La información relativa a la partición puede incluir el número de unidades de partición, información de intervalo de bloque, una dirección de partición, etc., y cuando la información de partición se incluye implícitamente de acuerdo con una regla predeterminada, es posible que parte de la información de partición no se genere.
En las Secciones 5C y 5D, una imagen puede ser dividida en grupos de bloques consecutivos en orden de escaneo. Se puede aplicar a la partición de la imagen un orden de barrido adicional distinto del orden de barrido de trama de cortes convencional. La Sección 5C ilustra los ejemplos Co y Ci en los que la exploración se realiza en sentido horario o antihorario con respecto a un bloque de inicio (Box-Out), y la Sección 5D ilustra los ejemplos Do y Di en los que la exploración se realiza verticalmente con respecto a un bloque de inicio (Vertical). La información relativa a la partición puede incluir información relativa al número de unidades de partición, información relativa a las ubicaciones de las unidades de partición (por ejemplo, el primer intervalo en orden de exploración en la unidad de partición), información relativa al orden de exploración, y similares, y cuando la información de partición se incluye implícitamente de acuerdo con una regla predeterminada, parte de la información de partición puede no generarse.
En la Sección 5E, una imagen puede ser particionada usando líneas de partición laterales y longitudinales. Una baldosa existente puede dividirse por medio de una línea de división lateral o longitudinal. Por lo tanto, la partición puede realizarse en forma de un espacio cuadrilátero, pero puede que no sea posible particionar la imagen mediante el uso de la línea de partición. Por ejemplo, un ejemplo en el que una imagen está dividida por algunas líneas de partición de la imagen (por ejemplo, una línea de partición entre un límite izquierdo de E5 y un límite derecho de E1, E3 y E4) puede ser posible, y un ejemplo en el que una imagen está dividida por algunas líneas de partición de la imagen (por ejemplo, una línea de partición entre un límite inferior de E2 y E3 y un límite superior de E4) puede ser imposible. Además, la partición puede realizarse por unidades de bloque (por ejemplo, después de realizar primero la partición por bloques) o puede realizarse por la línea de partición lateral o longitudinal (por ejemplo, la partición se realiza por la línea de partición, independientemente de la partición por bloques). De este modo, cada unidad de partición puede no ser un múltiplo del bloque. Por lo tanto, puede generarse información de partición diferente de la de una baldosa existente, y la información de partición puede incluir información relativa al número de unidades de partición, información relativa a las ubicaciones de las unidades de partición, información relativa a los tamaños de las unidades de partición, etc. Por ejemplo, la información relativa a las ubicaciones de las unidades de partición puede generarse como información de ubicación (por ejemplo, que se mide en unidades de píxel o en unidades de bloque) sobre la base de una ubicación predeterminada (por ejemplo, en la esquina superior izquierda de la imagen), y la información relativa a los tamaños de las unidades de partición puede generarse como información relativa a la anchura y la altura de cada unidad de partición (por ejemplo, que se mide en unidades de píxel o en unidades de bloque).
Como en el ejemplo anterior, la partición de acuerdo con cualquier configuración definida por el usuario puede realizarse aplicando un nuevo procedimiento de partición o cambiando algunos elementos de la partición existente. Es decir, el procedimiento de partición puede admitirse sustituyendo o añadiendo a un procedimiento de partición convencional y puede admitirse cambiando algunos ajustes del procedimiento de partición convencional (un corte, una baldosa, etc.) (por ejemplo, de acuerdo con otro orden de exploración, mediante el uso de otro procedimiento de partición en forma de cuadrilátero para generar otra información de partición, o de acuerdo con características de codificación/decodificación dependientes). Además, pueden admitirse ajustes para configurar una unidad de partición adicional (por ejemplo, ajustes distintos de la partición de acuerdo con un orden de exploración o la partición de acuerdo con una determinada diferencia de intervalo), y una forma de unidad de partición adicional (por ejemplo, una forma poligonal tal como un triángulo distinta de la partición en un espacio cuadrilátero). Además, el procedimiento de partición de imágenes puede basarse en el tipo, las características y similares de una imagen. Por ejemplo, se puede admitir un procedimiento de partición parcial (por ejemplo, la cara de una imagen de 360 grados) de acuerdo con el tipo, las características y similares de una imagen. La información relativa a la partición puede generarse a partir del soporte.
En la etapa de realización de partición de imagen, una imagen puede ser particionada en base a la información de tipo de partición identificada. Es decir, la imagen puede particionarse en una pluralidad de unidades de partición sobre la base del tipo de partición identificado y puede codificarse o decodificarse sobre la base de las unidades de partición adquiridas.
En este caso, la configuración de codificación/decodificación en cada unidad de partición puede determinarse en función del tipo de partición. Es decir, la información de configuración necesaria durante un proceso de codificación/decodificación para cada unidad de partición puede ser asignada por una unidad superior (por ejemplo, una imagen) o se pueden proporcionar configuraciones de codificación/decodificación independientes para cada unidad de partición.
Generalmente, un corte puede tener ajustes de codificación/decodificación independientes (por ejemplo, una cabecera de corte) para cada unidad de partición, y una baldosa no puede tener ajustes de codificación/decodificación independientes para cada unidad de partición y puede tener ajustes dependientes de los ajustes de codificación/decodificación de una imagen (por ejemplo, CPI). En este caso, la información generada en asociación con una baldosa puede ser la información de partición, y puede incluirse en los ajustes de codificación/decodificación de la imagen. La presente invención no se limita al ejemplo anterior, y pueden introducirse modificaciones en el mismo.
La información de configuración de codificación/decodificación para una baldosa puede generarse en unidades de vídeos, secuencias, imágenes o similares. Al menos una parte de la información de configuración de codificación/decodificación se genera en una unidad superior, y se puede hacer referencia a una parte de la información de configuración de codificación/decodificación generada. Como alternativa, se puede generar información de configuración de codificación/decodificación independiente (por ejemplo, una cabecera de baldosa) en unidades de baldosa. Esto difiere del caso de seguir un ajuste de codificación/decodificación determinado en una unidad superior en que la codificación/decodificación se realiza mientras se proporciona al menos un ajuste de codificación/decodificación en unidades de baldosas. Es decir, todas las baldosas pueden codificarse o decodificarse de acuerdo con los mismos ajustes de codificación/decodificación, o al menos una baldosa puede codificarse o decodificarse de acuerdo con ajustes de codificación/decodificación diferentes de los de las demás baldosas.
El ejemplo anterior se centra en varios ajustes de codificación/decodificación en la baldosa. Sin embargo, la presente invención no se limita a ello, y los mismos ajustes o similares pueden aplicarse incluso a otros tipos de partición.
A modo de ejemplo, en algunos tipos de partición, la información de partición puede generarse en una unidad superior, y la codificación o decodificación puede realizarse de acuerdo con un único ajuste de codificación/decodificación de la unidad superior.
Como ejemplo, en algunos tipos de partición, la información de partición puede generarse en una unidad superior, y pueden generarse ajustes de codificación/decodificación independientes para cada unidad de partición en la unidad superior, y la codificación o decodificación puede realizarse de acuerdo con los ajustes de codificación/decodificación generados.
A modo de ejemplo, en algunos tipos de partición, la información de partición puede generarse en una unidad superior, y una pluralidad de piezas de información de configuración de codificación/decodificación pueden admitirse en la unidad superior. La codificación o decodificación puede realizarse de acuerdo con los ajustes de codificación/decodificación referenciados por cada unidad de partición.
Como ejemplo, en algunos tipos de partición, la información de partición puede generarse en una unidad superior, y los ajustes de codificación/decodificación independientes pueden generarse en las unidades de partición correspondientes. La codificación o decodificación puede realizarse de acuerdo con los ajustes de codificación/decodificación generados.
A modo de ejemplo, en algunos tipos de partición, pueden generarse configuraciones de codificación/decodificación independientes que incluyan información de partición en unidades de partición correspondientes, y la codificación o decodificación puede realizarse de acuerdo con las configuraciones de codificación/decodificación generadas.
La información de ajuste de codificación/decodificación puede incluir la información necesaria para codificar o decodificar una baldosa, tal como un tipo de baldosa, información relativa a una lista de imágenes referenciada, información de parámetros de cuantificación, información de ajuste de inter-predicción, información de ajuste de filtrado en bucle, información de control de filtrado en bucle, un orden de exploración, si realizar codificación o decodificación, y similares. La información de ajuste de codificación/decodificación puede utilizarse para generar explícitamente información relacionada o puede tener ajustes de codificación/decodificación que se determinan implícitamente de acuerdo con el formato, las características y similares de la imagen que se determinan en una unidad superior. Además, la información relacionada puede generarse explícitamente a partir de la información adquirida a través de los ajustes.
A continuación, se describirá un ejemplo en el que se realiza la partición de la imagen en el aparato de codificación/decodificación de acuerdo con una realización de la presente invención.
Se puede realizar un proceso de partición en una imagen de entrada antes de iniciar la codificación. La imagen puede dividirse mediante el uso de la información de partición (por ejemplo, información de partición de la imagen, información de configuración de la unidad de partición, etc.) y, a continuación, puede codificarse en unidades de partición. Los datos de codificación de la imagen pueden almacenarse en la memoria una vez finalizada la codificación, y pueden añadirse a un caudal de bits y transmitirse a continuación.
Se puede realizar un proceso de partición antes de iniciar la decodificación. La imagen puede dividirse mediante el uso de la información de partición (por ejemplo, información de partición de la imagen, información de configuración de la unidad de partición, etc.) y, a continuación, los datos de decodificación de la imagen pueden analizarse y decodificarse en unidades de partición. Los datos de decodificación de la imagen pueden almacenarse en la memoria una vez finalizada la decodificación, y la pluralidad de unidades de partición se fusionan en una sola unidad, con lo que puede salir una imagen.
A través del ejemplo anterior, se ha descrito el proceso de partición de imágenes. Además, de acuerdo con la presente invención, se pueden realizar una pluralidad de procesos de partición.
Por ejemplo, una imagen puede ser particionada, y las unidades de partición de la imagen pueden ser particionadas. La partición puede ser el mismo proceso de partición (por ejemplo, corte/corte, baldosa/baldosa, etc.) o un proceso de partición diferente (por ejemplo, corte/baldosa, baldosa/corte, baldosa/cara, cara/título, corte/cara, cara/corte, etc.). En este caso, el siguiente proceso de partición puede realizarse sobre la base del resultado de partición precedente, y la información de partición generada durante el siguiente proceso de partición puede generarse sobre la base de un resultado de partición precedente.
También, una pluralidad de procesos de partición A pueden ser realizados, y el proceso de partición puede ser un proceso de partición diferente (por ejemplo, corte/cara, baldosa/cara, y similares). En este caso, el siguiente proceso de partición puede realizarse sobre la base o independientemente del resultado de partición precedente, y la información de partición generada durante el siguiente proceso de partición puede generarse sobre la base o independientemente del resultado de partición precedente.
La pluralidad de procesos de partición de imágenes puede determinarse en función de los ajustes de codificación/decodificación. Sin embargo, la presente invención no se limita al ejemplo anterior, y pueden realizarse varias modificaciones.
El codificador puede añadir la información generada durante el proceso anterior a un caudal de bits en unidades de al menos una de las secuencias, imágenes, cortes, baldosas y similares, y el decodificador puede analizar la información relacionada del caudal de bits. Es decir, la información puede añadirse a una unidad y puede duplicarse y añadirse a una pluralidad de unidades. Por ejemplo, un elemento sintáctico que indica si se debe admitir cierta información o un elemento sintáctico que indica si se debe realizar una activación puede generarse en algunas unidades (por ejemplo, una unidad superior), y la misma información o una similar puede generarse en algunas unidades (por ejemplo, una unidad inferior). Es decir, incluso cuando la información relacionada se admite y establece en la unidad superior, la unidad inferior puede tener ajustes individuales. Esta descripción no se limita al ejemplo anterior y puede aplicarse en común a la presente invención. Además, la información puede incluirse en el caudal de bits en forma de IPS o metadatos.
Generalmente, una imagen de entrada puede ser codificada o decodificada tal cual, pero la codificación o decodificación puede ser realizada después de que la imagen sea redimensionada (expandida o reducida; ajuste de resolución). Por ejemplo, en un esquema de codificación jerárquica (Escalabilidad de Codificación de Video) para soportar la escalabilidad espacial, temporal y de calidad de imagen, se puede realizar el redimensionamiento de la imagen, como la expansión y reducción completas de una imagen. Alternativamente, el redimensionamiento de la imagen puede realizarse como expansión y reducción parcial de una imagen. El redimensionamiento de la imagen puede realizarse de varias maneras, es decir, puede realizarse con el fin de adaptarse a entornos de codificación, con el fin de lograr uniformidad en la codificación, con el fin de lograr eficiencia en la codificación, con el fin de mejorar la calidad de la imagen, o de acuerdo con el tipo, las características y similares de una imagen.
Como primer ejemplo, el proceso de redimensionamiento puede realizarse durante un proceso realizado de acuerdo con las características, tipo y similares de una imagen (por ejemplo, codificación jerárquica, codificación de imágenes de 360 grados, etc.).
Como segundo ejemplo, el proceso de redimensionamiento puede realizarse en una etapa inicial de codificación/decodificación. El proceso de redimensionamiento puede llevarse a cabo antes de realizar la codificación o decodificación. La imagen redimensionada puede codificarse o decodificarse.
Como tercer ejemplo, el proceso de redimensionamiento puede realizarse durante una etapa de predicción (intrapredicción o inter-predicción) o antes de la predicción. Durante el proceso de redimensionamiento, la información de la imagen (por ejemplo, información relativa a un píxel referenciado para la intra-predicción, información relativa a un modo de intra-predicción, información relativa a imágenes de referencia utilizadas para la inter-predicción, información relativa a un modo de predicción inter-predicción, etc.) puede ser utilizada en la etapa de predicción.
Como cuarto ejemplo, el proceso de redimensionamiento puede realizarse durante una etapa de filtrado o antes del filtrado. En el proceso de redimensionamiento, se puede utilizar la información de la imagen en la etapa de filtrado (por ejemplo, la información de píxeles que se aplicará al filtro de desbloqueo, la información de píxeles que se aplicará a DAM, la información relativa al filtrado DAM, la información de píxeles aplicada a FBA, la información relativa al filtrado FBA, y similares).
Además, después de realizar el proceso de redimensionamiento, la imagen puede procesarse a través de un proceso de redimensionamiento inverso y cambiarse a una imagen anterior al redimensionamiento (en términos de tamaño de imagen) o puede permanecer sin cambios. Esto puede determinarse en función de los ajustes de codificación/decodificación (por ejemplo, las características en las que se realiza el redimensionamiento). En este caso, el proceso de redimensionamiento puede ser un proceso de expansión mientras que el proceso de redimensionamiento inverso es un proceso de reducción y puede ser un proceso de reducción mientras que el proceso de redimensionamiento inverso es un proceso de expansión.
Cuando el proceso de redimensionamiento se realiza de acuerdo con los ejemplos primero a cuarto, el proceso de redimensionamiento inverso se realiza en la etapa siguiente de forma que pueda adquirirse una imagen antes del redimensionamiento.
Cuando el proceso de redimensionamiento se realiza por medio de codificación jerárquica o de acuerdo con el tercer ejemplo (o cuando se redimensiona una imagen de referencia en inter-predicción), el proceso de redimensionamiento inverso puede no realizarse en la etapa siguiente.
En una realización de la presente invención, el proceso de redimensionamiento de la imagen puede realizarse únicamente o junto con el proceso inverso. La siguiente descripción de ejemplo se centrará en el proceso de redimensionamiento. En este caso, dado que el proceso de redimensionamiento inverso es un proceso inverso del proceso de redimensionamiento, se omitirá una descripción del proceso de redimensionamiento inverso para evitar descripciones redundantes. Sin embargo, es obvio que los expertos en la materia pueden reconocer lo mismo que se describe literalmente.
FIG. 6 es un diagrama de ejemplo de un procedimiento general de redimensionamiento de imágenes.
En referencia a la FIG. 6A, se puede adquirir una imagen ampliada P0+P1 añadiendo una región específica P1 a una imagen inicial P0 (o una imagen antes de redimensionar; lo que se indica por medio de una línea sólida gruesa).
En referencia a la FIG. 6B, se puede adquirir una imagen reducida So eliminando una región específica Si de una imagen inicial So+Si.
En referencia a la FIG. 6C, se puede adquirir una imagen redimensionada To+Ti añadiendo una región específica Ti a una imagen inicial T0+T2 y eliminando una región específica T2 de la imagen completa.
De acuerdo con la presente invención, la siguiente descripción se centra en un proceso de redimensionamiento para expansión y un proceso de redimensionamiento para reducción. Sin embargo, la presente invención no se limita a ello, y debe entenderse que incluye un caso en el que la expansión y la reducción se aplican en combinación, como se muestra en la FIG. 6C.
FIG. 7 es un diagrama de ejemplo de redimensionamiento de imágenes de acuerdo con una realización de la presente invención.
Durante el proceso de redimensionamiento, se describirá un procedimiento de expansión de imagen con referencia a la Sección 7A, y un procedimiento de reducción de imagen con referencia a la Sección 7B.
En la Sección 7A, una imagen antes de redimensionar es S0, y una imagen después de redimensionar es S i. En la sección 7B, una imagen antes de redimensionarse es T0, y una imagen después de redimensionarse es T i.
Cuando una imagen es expandida como se muestra en la Sección 7A, la imagen puede ser expandida en una dirección "arriba" ET, una dirección "abajo" EL, una dirección "izquierda" EB, o una dirección "derecha" ER. Cuando una imagen se reduce como se muestra en la Sección 7B, la imagen puede reducirse en una dirección "arriba" RT, una dirección "abajo" RL, una dirección "izquierda" RB, o una dirección "derecha" RR.
Comparando la expansión de la imagen y la reducción de la imagen, la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha" de la expansión pueden corresponder a la dirección "abajo", la dirección "arriba", la dirección "derecha" y la dirección "izquierda" de la reducción. De este modo, la siguiente descripción se centra en la expansión de la imagen, pero debe entenderse que se incluye una descripción de la reducción de la imagen.
En la siguiente descripción, la expansión o reducción de la imagen se realiza en la dirección "arriba", en la dirección "abajo", en la dirección "izquierda" y en la dirección "derecha". Sin embargo, también debe entenderse que el redimensionamiento puede realizarse en una dirección "arriba e izquierda", una dirección "arriba y derecha", una dirección "abajo e izquierda" o una dirección "abajo y derecha".
En este caso, cuando la expansión se realiza en la dirección "abajo y derecha", las regiones RC y BC son adquiridas, y una región BR puede o no ser adquirida de acuerdo con los ajustes de codificación/decodificación. Es decir, las regiones TL, TR, Bl y BR pueden ser adquiridas o no, pero para facilitar la descripción, las regiones de las esquinas (es decir, las regiones TL, TR, BL y BR) se describirán como susceptibles de ser adquiridas.
El proceso de redimensionamiento de la imagen de acuerdo con una realización de la presente invención puede realizarse en al menos una dirección. Por ejemplo, el proceso de redimensionamiento de la imagen puede realizarse en todas las direcciones, como arriba, abajo, izquierda y derecha, puede realizarse en dos o más direcciones seleccionadas entre arriba, abajo, izquierda y derecha (izquierda+derecha, arriba+abajo, arriba+izquierda, arriba+derecha, abajo+izquierda, abajo+derecha, arriba+izquierda+derecha, abajo+izquierda+derecha, arriba+abajo+izquierda, arriba+abajo+derecha, etc.), o puede realizarse en una sola dirección seleccionada entre arriba, abajo, izquierda y derecha.
Por ejemplo, el redimensionamiento puede realizarse en una dirección "izquierda+derecha", una dirección "arriba+abajo", una dirección "izquierda y arriba derecha y abajo", y una dirección "izquierda y abajo derecha y arriba", que son simétricamente expandibles hacia ambos extremos con respecto al centro de una imagen, puede realizarse en una dirección "izquierda+derecha", una dirección "izquierda y arriba derecha y arriba", y una dirección "izquierda y abajo derecha y abajo", que son expandibles verticalmente de forma simétrica con respecto a la imagen, y pueden realizarse en una dirección "arriba abajo", una dirección "izquierda y arriba izquierda y abajo", y una dirección "derecha y arriba derecha y abajo", que son expandibles horizontalmente de forma simétrica con respecto a la imagen. Se pueden realizar otros redimensionamientos.
En las Secciones 7A y 7B, el tamaño de la imagen antes de redimensionar S0 o T0 se define como P_Anchura * P_Altura, y el tamaño de la imagen después de redimensionar S i o T i se define como P'_Anchura * P'_Altura. En la presente memoria descriptiva, cuando los valores de redimensionamiento en la dirección "izquierda", la dirección "derecha", la dirección "arriba" y la dirección "abajo" se definen como Var_L, Var_R, Var_T y Var_B (o se definen colectivamente como Var_x), el tamaño de la imagen después del redimensionamiento puede expresarse como (P_Anchura Var_L Var_R) * (P_Altura Var_T Var_B). En este caso, Var_L, Var_R, Var_T y Var_B, que son los valores de redimensionamiento en la dirección "izquierda", la dirección "derecha", la dirección "arriba" y la dirección "abajo", pueden ser Exp_L, Exp_R, Exp_T y Exp_B (en la presente memoria descriptiva, Exp_x es positivo) para la expansión de la imagen (en la Sección 7A) y pueden ser -Red_L, -Red_R, -Red_T y -Red_B para la reducción de la imagen (que se representa como valores negativos para la reducción de la imagen cuando Red_L, Red_R, Red_T y
i9
Red_B se definen como valores positivos). Además, las coordenadas superiores izquierdas, las coordenadas superiores derechas, las coordenadas inferiores izquierdas y las coordenadas inferiores derechas de la imagen antes del redimensionamiento pueden ser (0,0), (P_Anchura-1,0), (0,P_Altura-1) y (P_Anchura-1,P_Altura-1), y las coordenadas superior izquierda, superior derecha, inferior izquierda e inferior derecha de la imagen después del redimensionamiento pueden representarse como (0,0), (P'_Anchura-1,0), (0,P'_Altura-1) y (P'_Anchura-1,P'_Altura-1). El tamaño de la región (en la presente memoria descriptiva, TL a BR; i es un índice para identificar TL a BR) que se cambia (o se adquiere o se elimina) por medio del redimensionamiento puede ser M[i] * N[i] y puede representarse como Var_X * Var_Y (este ejemplo supone que X es L o R e Y es T o B). M y N pueden tener varios valores y pueden tener los mismos ajustes independientemente de i o pueden tener ajustes individuales de acuerdo con i. Los varios ejemplos se describirán a continuación.
Haciendo referencia a la Sección 7A, S1 puede configurarse para incluir algunas o todas las regiones TL a BR (superior izquierda a inferior derecha), que se generarán por medio de expansión sobre S0 en varias direcciones. Haciendo referencia a la Sección 7B, T1 puede configurarse para excluir, de T0, todas o algunas de las regiones TL a BR, que deben eliminarse por medio de reducción en varias direcciones.
En la Sección 7A, cuando una imagen existente S0 se expande en una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha", la imagen puede incluir las regiones TC, BC, LC y RC adquiridas a través de los procesos de redimensionamiento y puede incluir además las regiones TL, TR, BL y BR.
Como ejemplo, cuando la expansión se realiza en la dirección "arriba" ET, la imagen puede construirse añadiendo la región TC a la imagen existente S0 y puede incluir la región TL o TR junto con la expansión en al menos una dirección diferente EL o ER.
Como ejemplo, cuando la expansión se realiza en la dirección "hacia abajo" EB, la imagen puede construirse añadiendo la región BC a la imagen existente S0 y puede incluir la región BL o B<r>junto con la expansión en al menos una dirección diferente EL o ER.
Como ejemplo, cuando la expansión se realiza en la dirección "izquierda" EL, la imagen puede construirse añadiendo la región LC a la imagen existente S0 y puede incluir la región TL o BL junto con la expansión en al menos una dirección diferente ET o EB.
Como ejemplo, cuando la expansión se realiza en la dirección "derecha" ER, la imagen puede construirse añadiendo la región RC a la imagen existente S0 y puede incluir la región TR o BR junto con la expansión en al menos una dirección diferente ET o EB.
De acuerdo con una realización de la presente invención, es posible proporcionar ajustes (por ejemplo, espa_ref activado indicador o tem_ref activado indicador) para limitar espacial o temporalmente la referenciabilidad de la región redimensionada (este ejemplo asume expansión).
Es decir, se puede permitir (por ejemplo, espa_ref activado indicador = 1 o tem_ref_activado_indicador = 1) o limitar (por ejemplo, espa_ref activado indicador = 0 o tem_ref_activado_indicador = 0) la referencia a datos de la región que se redimensionan espacial o temporalmente de acuerdo con los ajustes de codificación/decodificación.
La codificación/decodificación de las imágenes S0 y T1 antes del redimensionamiento y de las regiones TC, BC, LC, RC, TL, TR, BL y BR añadidas o suprimidas durante el redimensionamiento puede realizarse como sigue.
Por ejemplo, cuando la imagen antes del redimensionamiento y la región añadida o eliminada son codificadas o decodificadas, los datos relativos a la imagen antes del redimensionamiento y los datos relativos a la región añadida o eliminada (datos una vez completada la codificación o decodificación; un valor de píxel o información relacionada con la predicción) pueden estar referenciados espacial o temporalmente entre sí.
Alternativamente, la imagen antes de redimensionar y los datos relativos a la región añadida o eliminada pueden ser referenciados espacialmente mientras que los datos relativos a la imagen antes de redimensionar pueden ser referenciados temporalmente y los datos relativos a la región añadida o eliminada no pueden ser referenciados temporalmente.
Es decir, es posible proporcionar ajustes para limitar la referenciabilidad de la región añadida o eliminada. La información de configuración relativa a la referenciabilidad de la región añadida o suprimida puede generarse explícitamente o determinarse implícitamente.
El proceso de redimensionamiento de imagen de acuerdo con una realización de la presente invención puede incluir una etapa de indicación de redimensionamiento de imagen, una etapa de identificación de tipo de redimensionamiento de imagen, y/o una etapa de realización de redimensionamiento de imagen. Además, el aparato de codificación de imagen y el aparato de decodificación de imagen pueden incluir una parte de indicación de redimensionamiento de imagen, una parte de identificación de tipo de redimensionamiento de imagen y una parte de realización de redimensionamiento de imagen, que están configuradas para realizar la etapa de indicación de redimensionamiento de imagen, la etapa de identificación de tipo de redimensionamiento de imagen y la etapa de realización de redimensionamiento de imagen, respectivamente. Para la codificación, puede generarse un elemento sintáctico relacionado. Para la decodificación, puede analizarse un elemento sintáctico relacionado.
En la etapa de indicación de redimensionamiento de la imagen, puede determinarse si se va a realizar el redimensionamiento de la imagen. Por ejemplo, cuando se confirma una señal que indica el redimensionamiento de la imagen (por ejemplo, ima_redimensionamiento_activado_indicador), se puede realizar el redimensionamiento. Cuando la señal que indica el redimensionamiento de la imagen no se confirma, el redimensionamiento puede no realizarse, o el redimensionamiento puede realizarse confirmando otra información de codificación/decodificación. Además, aunque no se proporcione la señal que indica el redimensionamiento de la imagen, la señal que indica el redimensionamiento de la imagen puede activarse o desactivarse implícitamente de acuerdo con los ajustes de codificación/decodificación (por ejemplo, las características, el tipo y similares de una imagen). Cuando se realiza el redimensionamiento, puede generarse o determinarse implícitamente la información correspondiente relacionada con el redimensionamiento.
Cuando se proporciona la señal que indica el redimensionamiento de la imagen, la señal correspondiente es una señal para indicar si se va a realizar el redimensionamiento de la imagen. El redimensionamiento de la imagen correspondiente puede determinarse en función de la señal.
Por ejemplo, se asume que se confirma una señal que indica el redimensionamiento de la imagen (por ejemplo, ima_redimensionamiento_activado_indicador). Cuando se activa la señal correspondiente (por ejemplo, ima_redimensionamiento_activado_indicador = 1), se puede realizar el redimensionamiento de la imagen. Cuando la señal correspondiente está desactivada (por ejemplo, ima_redimensionamiento_activado_indicador = 0), puede que no se realice el redimensionamiento de la imagen.
También, cuando la señal que indica el redimensionamiento de la imagen no es proporcionada, el redimensionamiento puede no ser realizado, o si redimensionar una imagen correspondiente puede ser determinado por otra señal.
Por ejemplo, cuando una imagen de entrada está dividida en unidades de bloque, el redimensionamiento puede realizarse en función de si el tamaño (por ejemplo, la anchura o la altura) de la imagen es un múltiplo del tamaño (por ejemplo, la anchura o la altura) del bloque (para la expansión en este ejemplo, se asume que el proceso de redimensionamiento se realiza cuando el tamaño de la imagen no es un múltiplo del tamaño del bloque). Es decir, cuando la anchura de la imagen no es múltiplo de la anchura del bloque o cuando la altura de la imagen no es múltiplo de la altura del bloque, puede realizarse el redimensionamiento. En este caso, la información de redimensionamiento (por ejemplo, una dirección de redimensionamiento, un valor de redimensionamiento, etc.) puede determinarse en función de la información de codificación/decodificación (por ejemplo, el tamaño de la imagen, el tamaño del bloque, etc.). Alternativamente, el redimensionamiento puede realizarse de acuerdo con las características, el tipo (por ejemplo, una imagen de 360 grados), y similares de la imagen, y la información de redimensionamiento puede generarse explícitamente o puede asignarse como un valor predeterminado. La presente invención no se limita al ejemplo anterior, y pueden introducirse modificaciones en el mismo.
En la etapa de identificación del tipo de redimensionamiento de imagen, se puede identificar un tipo de redimensionamiento de imagen. El tipo de redimensionamiento de la imagen puede definirse por medio de un procedimiento de redimensionamiento, información de redimensionamiento y similares. Por ejemplo, puede realizarse un redimensionamiento basado en el factor de escala, un redimensionamiento basado en el factor de desplazamiento y similares. La presente invención no se limita al ejemplo anterior, y los procedimientos pueden aplicarse en combinación. Para facilitar la descripción, ésta se centrará en el redimensionamiento basado en el factor de escala y en el redimensionamiento basado en el factor de desplazamiento.
Para el factor de escala, el redimensionamiento puede realizarse por multiplicación o división basada en el tamaño de la imagen. La información relativa a las operaciones de redimensionamiento (por ejemplo, expansión o reducción) puede generarse explícitamente, y el proceso de expansión o reducción puede realizarse de acuerdo con la información correspondiente. Además, el proceso de redimensionamiento puede realizarse como una operación predeterminada (por ejemplo, una de las operaciones de expansión y de reducción) de acuerdo con los ajustes de codificación/decodificación. En este caso, se omitirá la información relativa a las operaciones de redimensionamiento. Por ejemplo, cuando el redimensionamiento de la imagen se activa en la etapa de indicación de redimensionamiento de la imagen, el redimensionamiento de la imagen puede realizarse como una operación predeterminada.
La dirección de redimensionamiento puede ser al menos una dirección seleccionada entre arriba, abajo, izquierda y derecha. Puede ser necesario al menos un factor de escala en función de la dirección de redimensionamiento. Es decir, un factor de escala (en la presente memoria descriptiva, unidireccional) puede ser necesario para cada dirección, un factor de escala (en la presente memoria descriptiva, bidireccional) puede ser necesario para una dirección lateral o longitudinal, y un factor de escala (en la presente memoria descriptiva, omnidireccional) puede ser necesario para todas las direcciones de la imagen. Además, la dirección de redimensionamiento no se limita al ejemplo anterior, y pueden realizarse modificaciones al mismo.
El factor de escala puede tener un valor positivo y puede tener información de intervalo diferente dependiendo de los ajustes de codificación/decodificación. Por ejemplo, cuando la información se genera combinando la operación de redimensionamiento y el factor de escala, el factor de escala puede utilizarse como multiplicando. Que el factor de escala sea mayor que 0 o menor que 1 puede significar una operación de reducción, que el factor de escala sea mayor que 1 puede significar una operación de expansión y que el factor de escala sea 1 puede significar que no se realiza el redimensionamiento. Como otro ejemplo, cuando la información del factor de escala se genera independientemente de la operación de redimensionamiento, el factor de escala para la operación de expansión puede utilizarse como un multiplicando, y el factor de escala para la operación de reducción puede utilizarse como un dividendo.
Un proceso de cambio de imágenes antes de redimensionar S0 y T0 a imágenes después de redimensionar (en la presente memoria descriptiva, S1 y T1) se describirá con referencia a las Secciones 7A y 7B de la FIG. 7 otra vez.
Por ejemplo, cuando se utiliza un factor de escala (denominado fe) en todas las direcciones de la imagen y la dirección de redimensionamiento es "abajo+derecha", las direcciones de redimensionamiento son ER y EB (o RR y RB), los valores de redimensionamiento Var_L(Exp_L o Red_L) y Var_T(Exp_T o Red_T) son 0, y Var_R(Exp_R o Red_R) y Var_B(Exp_B o Red_B) pueden expresarse como P_Anchura * (fe - 1) y P_Altura * (fe - 1). En consecuencia, la imagen tras el redimensionamiento puede ser (P_Anchura * fe) * (P_Altura * fe).
Como ejemplo, cuando los factores de escala respectivos (en la presente memoria descriptiva, fe_an y fe_al) se utilizan en una dirección lateral o una dirección longitudinal de la imagen y las direcciones de redimensionamiento son una dirección "izquierda+derecha" y una dirección "arriba+abajo" (arriba+abajo+izquierda+derecha cuando se operan dos), la dirección de redimensionamiento puede ser ET, EB, El y ER, los valores de redimensionamiento Var_T y Var_B pueden ser P_Altura * (fe_al - 1)/2, y Var_L y Var_R pueden ser P_Anchura * (fe_an - 1)/2. En consecuencia, la imagen tras el redimensionamiento puede ser (P_Anchura * fe_an) * (P_Altura * fe_al).
Para el factor de desplazamiento, el redimensionamiento puede realizarse por adición o sustracción basada en el tamaño de la imagen. Alternativamente, el redimensionamiento puede realizarse por adición o sustracción basada en la información de codificación/decodificación de la imagen. Alternativamente, el redimensionamiento puede realizarse por adición o sustracción independiente. Es decir, el proceso de redimensionamiento puede tener ajustes dependientes o independientes.
La información relativa a las operaciones de redimensionamiento (por ejemplo, expansión o reducción) puede generarse explícitamente, y el proceso de expansión o reducción puede realizarse de acuerdo con la información correspondiente. Además, las operaciones de redimensionamiento pueden realizarse como una operación predeterminada (por ejemplo, una de las operaciones de expansión y de reducción) de acuerdo con los ajustes de codificación/decodificación. En este caso, puede omitirse la información relativa a las operaciones de redimensionamiento. Por ejemplo, cuando el redimensionamiento de la imagen se activa en la etapa de indicación de redimensionamiento de la imagen, el redimensionamiento de la imagen puede realizarse como una operación predeterminada.
La dirección de redimensionamiento puede ser al menos una dirección seleccionada entre arriba, abajo, izquierda y derecha. Dependiendo de la dirección de redimensionamiento, puede ser necesario al menos un factor de desplazamiento. Es decir, puede requerirse un factor de desplazamiento (en la presente memoria descriptiva, unidireccional) para cada dirección, puede requerirse un factor de desplazamiento (en la presente memoria descriptiva, simétricamente bidireccional) para una dirección lateral o longitudinal, puede requerirse un factor de desplazamiento (en la presente memoria descriptiva, asimétricamente bidireccional) de acuerdo con una combinación parcial de las direcciones, y puede requerirse un factor de desplazamiento (en la presente memoria descriptiva, omnidireccional) para todas las direcciones de la imagen. Además, la dirección de redimensionamiento no se limita al ejemplo anterior, y pueden realizarse modificaciones al mismo.
El factor de desplazamiento puede tener un valor positivo o tener tanto un valor positivo como un valor negativo, y puede tener información de intervalo diferente dependiendo de los ajustes de codificación/decodificación. Por ejemplo, cuando se genera información en combinación de la operación de redimensionamiento y el factor de desplazamiento (en la presente memoria descriptiva, se asume que el factor de desplazamiento tiene tanto un valor positivo como un valor negativo), el factor de desplazamiento puede utilizarse como un valor a sumar o restar dependiendo de la información de signo del factor de desplazamiento. El factor de desplazamiento mayor que 0 puede significar una operación de expansión, el factor de desplazamiento menor que 0 puede significar una operación de reducción, y el factor de desplazamiento igual a 0 puede significar que no se realiza el redimensionamiento. Como otro ejemplo, cuando la información del factor de desplazamiento se genera separadamente de la operación de redimensionamiento (en la presente memoria descriptiva, se asume que el factor de desplazamiento tiene un valor positivo), el factor de desplazamiento puede utilizarse como un valor a sumar o restar dependiendo de la operación de redimensionamiento. El factor de desplazamiento mayor que 0 puede significar que la operación de expansión o reducción puede realizarse dependiendo de la operación de redimensionamiento, y el factor de desplazamiento que es 0 puede significar que no se realiza el redimensionamiento.
Un procedimiento de cambio de imágenes antes de redimensionar S0 y T0 a imágenes después de redimensionar S1 y T1 usando un factor de desplazamiento se describirá con referencia a las Secciones 7A y 7B de la FIG. 7 otra vez.
Como ejemplo, cuando un factor de desplazamiento (referido como fd) es usado en todas las direcciones de la imagen y la dirección de redimensionamiento es una dirección "arriba+abajo+izquierda+derecha", las direcciones de redimensionamiento pueden ser ET, EB, EL, y ER (o RT, RB, RL, y RR), y los valores de redimensionamiento Var_T, Var_B, Var_L, y Var_R pueden ser fd. El tamaño de la imagen después del redimensionamiento puede ser (P_Anchura+fd) * (P_Altura+fd).
A modo de ejemplo, cuando se utiliza un factor de desplazamiento fd_an u fd_al en una dirección lateral o longitudinal de la imagen y las direcciones de redimensionamiento son una dirección "izquierda+derecha" y una dirección "arriba+abajo" (una dirección "arriba+abajo+izquierda+derecha" cuando se operan dos), las direcciones de redimensionamiento pueden ser ET, EB, EL y ER (o RT, RB, RL y RR), los valores de redimensionamiento Var_T y Var_B pueden ser fd_al, y los valores de redimensionamiento Var_L y Var_R pueden ser fd_an. El tamaño de la imagen después del redimensionamiento puede ser {P_Anchura+(fd_an * 2)} * {P_Altura+(fd_al * 2)}.
Como ejemplo, cuando las direcciones de redimensionamiento son una dirección "abajo" y una dirección "derecha" (una dirección "abajo+derecha" cuando se operan juntas) y se utiliza un factor de desplazamiento fd_b u fd_r dependiendo de la dirección de redimensionamiento, las direcciones de redimensionamiento pueden ser EB y ER (o RB y RR), el valor de redimensionamiento Var_B puede ser fd_b, y el valor de redimensionamiento Var_R puede ser fd_r. El tamaño de la imagen tras el redimensionamiento puede ser (P_Anchura fd_r) * (P_Altura fd_b).
Como ejemplo, cuando se utiliza el factor de desplazamiento fd_t, fd_b, fd_l, o fd_r dependiendo de la dirección de la imagen y las direcciones de redimensionamiento son una dirección "arriba", una dirección "abajo", una dirección "izquierda", y una dirección "derecha" (una dirección "arriba+abajo+izquierda+derecha" cuando se operan todas), las direcciones de redimensionamiento pueden ser ET, EB, EL y ER (o RT, RB, RL y RR), el valor de redimensionamiento Var_T puede ser fd_t, el valor de redimensionamiento Var_B puede ser fd_b, el valor de redimensionamiento Var_L puede ser fd_l y el valor de redimensionamiento Var_R puede ser fd_r. El tamaño de la imagen tras el redimensionamiento puede ser (P_Anchura fd_l fd_r) * (P_Altura fd_t fd_b).
El ejemplo anterior indica un caso en el que el factor de desplazamiento se utiliza como un valor de redimensionamiento Var_T, Var_B, Var_L, o Var_R durante el proceso de redimensionamiento. Es decir, esto significa que el factor de desplazamiento se utiliza como valor de redimensionamiento sin ningún cambio, lo que puede ser un ejemplo del redimensionamiento que se realiza de forma independiente. Alternativamente, el factor de desplazamiento puede utilizarse como variable de entrada del valor de redimensionamiento. En detalle, el factor de desplazamiento puede asignarse como una variable de entrada, y el valor de redimensionamiento puede adquirirse a través de una serie de procesos de acuerdo con los ajustes de codificación/decodificación, que pueden ser un ejemplo del redimensionamiento que se realiza sobre la base de información predeterminada (por ejemplo, un tamaño de imagen, información de codificación/decodificación, etc.) o un ejemplo del redimensionamiento que se realiza de forma dependiente.
Por ejemplo, el factor de desplazamiento puede ser un múltiplo (por ejemplo, 1, 2, 4, 6, 8, y 16) o un exponente (por ejemplo, exponentes de 2, tales como 1, 2, 4, 8, 16, 32, 64, 128, y 256) de un valor predeterminado (en la presente memoria descriptiva, un número entero). Alternativamente, el factor de desplazamiento puede ser un múltiplo o un exponente de un valor adquirido en base a los ajustes de codificación/decodificación (por ejemplo, un valor que se establece en base a un intervalo de búsqueda de movimiento de inter-predicción). Alternativamente, el factor de desplazamiento puede ser un múltiplo o un número entero de una unidad (aquí, suponiendo A * B) que se adquiere de la parte de partición de la imagen. Alternativamente, el factor de desplazamiento puede ser un múltiplo de una unidad (aquí, suponiendo E * F tal como una baldosa) que se adquiere de la parte de partición de la imagen.
Alternativamente, el factor de desplazamiento puede ser un valor menor o igual a la anchura y altura de la unidad adquirida de la parte de partición de la imagen. En el ejemplo anterior, el múltiplo o el exponente pueden tener un valor de 1. Sin embargo, la presente invención no se limita al ejemplo anterior, y pueden realizarse modificaciones al mismo. Por ejemplo, cuando el factor de desplazamiento es n, Var_x puede ser 2 * n o2n.
También pueden admitirse factores de desplazamiento individuales en función de los componentes de color. Pueden admitirse factores de desplazamiento para algunos componentes de color y, por lo tanto, puede obtenerse información sobre el factor de desplazamiento para otros componentes de color. Por ejemplo, cuando se genera explícitamente un factor de desplazamiento A para el componente de luminancia (aquí, suponiendo que una relación de composición del componente de luminancia con respecto al componente de crominancia es 2:1), puede adquirirse implícitamente un factor de desplazamiento A/2 para el componente de crominancia. Alternativamente, cuando el factor de desfase A para el componente de crominancia se genera explícitamente, el factor de desfase 2A para el componente de luminancia puede adquirirse implícitamente.
La información relativa a la dirección de redimensionamiento y al valor de redimensionamiento puede generarse explícitamente, y el proceso de redimensionamiento puede realizarse de acuerdo con la información correspondiente. Además, la información puede determinarse implícitamente de acuerdo con los ajustes de codificación/decodificación, y el proceso de redimensionamiento puede realizarse de acuerdo con la información determinada. Se puede asignar al menos una dirección predeterminada o un valor de redimensionamiento y, en este caso, se puede omitir la información relacionada. En este caso, los ajustes de codificación/decodificación pueden determinarse en función de las características, el tipo, la información de codificación y similares de una imagen. Por ejemplo, al menos una dirección de redimensionamiento puede predeterminarse de acuerdo con al menos una operación de redimensionamiento, al menos un valor de redimensionamiento puede predeterminarse de acuerdo con al menos una operación de redimensionamiento, y al menos un valor de redimensionamiento puede predeterminarse de acuerdo con al menos una dirección de redimensionamiento. Además, la dirección de redimensionamiento, el valor de redimensionamiento y similares durante el proceso de redimensionamiento inverso pueden derivarse de la dirección de redimensionamiento, el valor de redimensionamiento y similares que se aplican durante el proceso de redimensionamiento. En este caso, el valor de redimensionamiento que se determina implícitamente puede ser uno de los ejemplos anteriores (ejemplos en los que el valor de redimensionamiento se adquiere de varias formas).
Además, en el ejemplo anterior se ha descrito la multiplicación o división, pero puede utilizarse una operación de desplazamiento dependiendo de la implementación del codificador/decodificador. La multiplicación puede implementarse por medio de una operación de desplazamiento a la izquierda, y la división puede implementarse por medio de una operación de desplazamiento a la derecha. Esta descripción no se limita al ejemplo anterior y puede aplicarse en común a la presente invención.
En la etapa de realización de redimensionamiento de imagen, el redimensionamiento de imagen puede realizarse sobre la base de la información de redimensionamiento identificada. Es decir, el redimensionamiento de la imagen puede realizarse sobre la base de información relativa a un tipo de redimensionamiento, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento y similares, y la codificación/decodificación puede realizarse sobre la base de una imagen adquirida después del redimensionamiento.
También, en la etapa de realización de redimensionamiento de imagen, el redimensionamiento puede realizarse mediante el uso de al menos un procedimiento de procesamiento de datos. En detalle, el redimensionamiento puede realizarse en una región a redimensionar de acuerdo con el tipo de redimensionamiento y la operación de redimensionamiento mediante el uso de al menos un procedimiento de procesamiento de datos. Por ejemplo, dependiendo del tipo de redimensionamiento, se puede determinar cómo rellenar los datos cuando el redimensionamiento es para expansión, y cómo eliminar los datos cuando el redimensionamiento es para reducción.
En resumen, en la etapa de redimensionamiento de la imagen, el redimensionamiento de la imagen puede realizarse sobre la base de la información de redimensionamiento identificada. Alternativamente, en la etapa de realización del redimensionamiento de la imagen, el redimensionamiento de la imagen puede realizarse sobre la base de la información de redimensionamiento y un procedimiento de procesamiento de datos. Los dos casos anteriores pueden diferir entre sí en que sólo se ajusta el tamaño de una imagen que se va a codificar o decodificar o en que incluso se considera el procesamiento de datos para el tamaño de la imagen y para la región que se va a redimensionar. En la etapa de realización del redimensionamiento de la imagen, puede determinarse si se va a realizar el procedimiento de procesamiento de datos en función de una etapa, una posición y similares en los que se aplica el proceso de redimensionamiento. La siguiente descripción se centra en un ejemplo en el que el redimensionamiento se realiza sobre la base del procedimiento de procesamiento de datos, pero la presente invención no se limita a ello.
Cuando se realiza el redimensionamiento basado en el factor de desplazamiento, el redimensionamiento para la expansión y el redimensionamiento para la reducción pueden realizarse mediante el uso de varios procedimientos. Para la expansión, el redimensionamiento puede realizarse mediante el uso de al menos un procedimiento de relleno de datos. Para la reducción, el redimensionamiento puede realizarse mediante el uso de al menos un procedimiento de eliminación de datos. En este caso, cuando se realiza el redimensionamiento basado en el factor de desplazamiento, la región redimensionada (expansión) puede rellenarse con nuevos datos o datos de imagen originales directamente o después de la modificación, y la región redimensionada (reducción) puede eliminarse simplemente o por medio de una serie de procesos.
Cuando se realiza el redimensionamiento basado en el factor de escala, en algunos casos (por ejemplo, codificación jerárquica), el redimensionamiento para la expansión puede realizarse aplicando un muestreo ascendente, y el redimensionamiento para la reducción puede realizarse aplicando un muestreo descendente. Por ejemplo, se puede utilizar al menos un filtro de muestreo ascendente para la expansión y al menos un filtro de muestreo descendente para la reducción. Un filtro aplicado horizontalmente puede ser igual o diferente de un filtro aplicado verticalmente. En este caso, cuando se realiza el redimensionamiento basado en el factor de escala, no se generan nuevos datos en la región redimensionada ni se eliminan de ella, pero los datos de la imagen original pueden reorganizarse mediante el uso de un procedimiento como la interpolación. Un procedimiento de tratamiento de datos asociado al redimensionamiento puede clasificarse en función de un filtro utilizado para el muestreo. Además, en algunos casos (por ejemplo, un caso similar al del factor de desplazamiento), el redimensionamiento para la expansión puede realizarse mediante el uso de un procedimiento de relleno de al menos un dato, y el redimensionamiento para la reducción puede realizarse mediante el uso de un procedimiento de eliminación de al menos un dato. De acuerdo con la presente invención, la siguiente descripción se centra en el procedimiento de procesamiento de datos correspondiente a cuando se realiza el redimensionamiento basado en el factor de desplazamiento.
Generalmente, un procedimiento predeterminado de procesamiento de datos puede ser utilizado en la región a ser redimensionada, pero al menos un procedimiento de procesamiento de datos puede ser utilizado en la región a ser redimensionada como en el siguiente ejemplo. Se puede generar información de selección para el procedimiento de procesamiento de datos. Lo primero puede significar que el redimensionamiento se realiza por medio de un procedimiento fijo de tratamiento de datos, y lo segundo puede significar que el redimensionamiento se realiza por medio de un procedimiento adaptativo de tratamiento de datos.
Asimismo, puede aplicarse un procedimiento de tratamiento de datos a todos los (TL, TC, TR, ... bR en las Secciones 7A y 7B) o algunas (por ejemplo, cada una o una combinación de TL a BR en las Secciones 7A y 7B) de las regiones que se añadirán o suprimirán durante el redimensionamiento.
FIG. 8 es un diagrama de ejemplo de un procedimiento de construcción de una región generada por medio de expansión en el procedimiento de redimensionamiento de imágenes de acuerdo con una realización de la presente invención.
Refiriéndose a la Sección 8A, por conveniencia de descripción, una imagen puede ser particionada en regiones TL, TC, TR, LC, C, RC, BL, BC, y BR, que corresponden a una posición superior izquierda, una posición superior, una posición superior derecha, una posición izquierda, una posición central, una posición derecha, una posición inferior izquierda, una posición inferior, y una posición inferior derecha de la imagen. En la siguiente descripción, la imagen se expande en dirección "abajo+derecha", pero debe entenderse que la descripción puede aplicarse a las demás direcciones de expansión.
Una región añadida de acuerdo con la expansión de la imagen puede construirse mediante el uso de varios procedimientos. Por ejemplo, la región puede rellenarse con un valor arbitrario o puede rellenarse con referencia a algún dato de la imagen.
Refiriéndose a la Sección 8B, las regiones generadas A<0>y A<2>pueden ser rellenadas con un valor de píxel arbitrario. El valor arbitrario del píxel puede determinarse mediante el uso de varios procedimientos.
A modo de ejemplo, el valor de píxel arbitrario puede ser un píxel en un intervalo de valores de píxel (por ejemplo, de 0 a 1 << (profundidad_de_bit) -1) que puede expresarse mediante el uso de una profundidad de bits. Por ejemplo, el valor de píxel arbitrario puede ser un mínimo, un máximo, una mediana (por ejemplo, 1 << (profundidad_de bits -1), etc.), o similares en el intervalo de valores de píxel (en la presente memoria descriptiva, profundidad_de_bit indica una profundidad de bits).
A modo de ejemplo, el valor de píxel arbitrario puede ser un píxel en el intervalo de valores de píxel (por ejemplo, de min<P>to max<P>; min<P>y max<P>indican un valor mínimo y un valor máximo entre los píxeles pertenecientes a la imagen;min<P>es mayor o igual que 0; max<P>es menor o igual que 1 << (profundidad_de_bit) - 1) de los píxeles pertenecientes a la imagen. Por ejemplo, el valor arbitrario del píxel puede ser un mínimo, un máximo, una mediana, una media (de al menos dos píxeles), una suma ponderada, etc. del intervalo de valores del píxel.
A modo de ejemplo, el valor arbitrario de píxel puede ser un valor que se determina en un intervalo de valores de píxel perteneciente a la región específica incluida en la imagen. Por ejemplo, cuando se construye<A 0>, la región específica puede ser TR+RC+BR. Además, la región específica puede proporcionarse como una región correspondiente a 3 * 9 de TR, RC y BR o una región correspondiente a 1 * 9 . Esto puede depender de los ajustes de codificación/decodificación. En este caso, la región específica puede ser una unidad a dividir por la parte de partición de imágenes. En detalle, el valor arbitrario del píxel puede ser un mínimo, un máximo, una mediana, una media (de al menos dos píxeles), una suma ponderada, etc. del intervalo de valores del píxel.
Refiriéndose nuevamente a la Sección 8B, una región A<1>a ser añadida junto con la expansión de la imagen puede ser llenada con información de patrón (por ejemplo, el patrón es asumido como usando una pluralidad de píxeles; no hay necesidad de seguir ciertas reglas) la cual es generada usando una pluralidad de valores de píxeles. En este caso, la información del patrón puede definirse de acuerdo con los ajustes de codificación/decodificación o puede generarse información relacionada. La región generada puede rellenarse con al menos un fragmento de información de patrón.
Refiriéndose a la Sección 8C, una región añadida junto con la expansión de la imagen puede ser construida con referencia a píxeles de la región específica incluida en la imagen. En detalle, la región añadida puede construirse copiando o rellenando píxeles (en lo sucesivo, píxeles de referencia) en una región adyacente a la región añadida. En este caso, los píxeles de la región adyacente a la región añadida pueden ser un píxel antes de la codificación o un píxel después de la codificación (o decodificación). Por ejemplo, el píxel de referencia puede relacionarse con un píxel de una imagen de entrada cuando el redimensionamiento se realiza en una etapa de precodificación, y el píxel de referencia puede relacionarse con un píxel de una imagen restaurada cuando el redimensionamiento se realiza en una etapa de generación de píxel de referencia intra-predicción, una etapa de generación de imagen de referencia, una etapa de filtrado, y similares. En este ejemplo, se supone que se utiliza el píxel más cercano en la región añadida, pero la presente invención no se limita a ello.
Una región A<o>, que se genera cuando la imagen se expande hacia la izquierda o hacia la derecha en asociación con el redimensionamiento lateral de la imagen, puede construirse rellenando horizontalmente (Z0) los píxeles exteriores adyacentes a la región A<o>generada, y una región A<1>, que se genera cuando la imagen se expande hacia arriba o hacia abajo en asociación con el redimensionamiento longitudinal de la imagen, puede construirse rellenando verticalmente (Z1) los píxeles exteriores adyacentes a la región A-<i>generada. Además, una región A<2>, que se genera cuando la imagen se expande hacia abajo y hacia la derecha, puede construirse rellenando diagonalmente (Z2) los píxeles exteriores adyacentes a la región A2 generada.
Refiriéndose a la Sección 8D, las regiones generadas B'0 a B'2 pueden construirse con referencia a datos de regiones específicas B0 a B2 incluidas en la imagen. En la sección 8D, a diferencia de la sección 8C, se puede hacer referencia a una región que no sea adyacente a la región generada.
Por ejemplo, cuando una región que tiene alta correlación con la región generada está presente en la imagen, la región generada puede ser rellenada con referencia a píxeles de la región que tiene alta correlación. En este caso, se puede generar la información de ubicación, tamaño, etc. de la región que tenga una alta correlación. Alternativamente, cuando la región que tiene alta correlación está presente a través de la codificación/decodificación de la información de las características, el tipo y similares de la imagen, y la información de ubicación, la información de tamaño y similares de la región que tiene alta correlación puede ser comprobada implícitamente (por ejemplo, como para una imagen de 360 grados), la región generada puede ser rellenada con datos de la región correspondiente. En este caso, puede omitirse la información de ubicación, tamaño, etc. de la región correspondiente.
A modo de ejemplo, una región B'2, que se genera cuando la imagen se expande hacia la izquierda o hacia la derecha en asociación con el redimensionamiento lateral de la imagen, puede rellenarse con referencia a píxeles en una región B2 opuesta a la región generada cuando la imagen se expande hacia la izquierda o hacia la derecha en asociación con el redimensionamiento lateral.
A modo de ejemplo, una región B'1, que se genera cuando la imagen se expande hacia arriba o hacia abajo en asociación con el redimensionamiento longitudinal de la imagen, puede rellenarse con referencia a píxeles en una región B1 opuesta a la región generada cuando la imagen se expande hacia arriba o hacia abajo en asociación con el redimensionamiento longitudinal.
Como ejemplo, una región B'0, que se genera cuando la imagen se expande a través de algún redimensionamiento de la imagen (en la presente memoria descriptiva, diagonalmente con respecto al centro de la imagen), puede rellenarse con referencia a píxeles en una región B0 o TL opuesta a la región generada.
Se ha descrito un ejemplo en el que la continuidad está presente en un límite entre ambos extremos de la imagen y en el que se adquieren datos de una región simétrica con respecto a la dirección de redimensionamiento. Sin embargo, la presente invención no se limita a ello, y pueden adquirirse datos de otras regiones TL a BR.
Cuando la región generada se rellena con datos de una región específica de la imagen, los datos de la región correspondiente pueden copiarse y utilizarse para rellenar la región generada tal cual, o los datos de la región correspondiente pueden transformarse en función de las características, el tipo y similares de la imagen y utilizarse para rellenar la región generada. En este caso, copiar los datos tal cual puede significar que el valor de píxel de la región correspondiente se utiliza sin ningún cambio, y realizar el proceso de transformación puede significar que el valor de píxel de la región correspondiente no se utiliza sin ningún cambio. Es decir, al menos un valor de píxel de la región correspondiente puede modificarse por medio del proceso de transformación. La región generada puede rellenarse con el valor de píxel modificado, o al menos una de las ubicaciones en las que se adquieren algunos píxeles puede diferir de las otras ubicaciones. Es decir, para rellenar la región generada de A * B, pueden utilizarse datos C * D distintos de los datos A * B, de la región correspondiente. En otras palabras, al menos uno de los vectores de movimiento aplicados a los píxeles con los que se rellena la región generada puede diferir de los demás píxeles. En el ejemplo anterior, cuando una imagen de 360 grados está compuesta por una pluralidad de caras de acuerdo con un formato de proyección, la región generada puede rellenarse con datos de las otras caras. Un procedimiento de procesamiento de datos para rellenar una región generada cuando la imagen se expande a través del redimensionamiento de la imagen no se limita al ejemplo anterior. El procedimiento de tratamiento de datos puede mejorarse o modificarse, o puede utilizarse un procedimiento de tratamiento de datos adicional.
Una pluralidad de grupos candidatos para el procedimiento de procesamiento de datos puede ser soportada de acuerdo con los ajustes de codificación/decodificación, y la información relativa a la selección de un procedimiento de procesamiento de datos de entre la pluralidad de grupos candidatos puede ser generada y añadida a un caudal de bits. Por ejemplo, se puede seleccionar un procedimiento de procesamiento de datos entre un procedimiento de relleno por medio del uso de un valor de píxel predeterminado, un procedimiento de relleno por medio de la copia de píxeles externos, un procedimiento de relleno por medio de la copia de una región específica de una imagen, un procedimiento de relleno por medio de la transformación de una región específica de una imagen, y similares, y se puede generar la información de selección relacionada. Además, el procedimiento de procesamiento de datos puede determinarse implícitamente.
Por ejemplo, un procedimiento de procesamiento de datos aplicado a todas las regiones (en la presente memoria descriptiva, las regiones TL a BR en la Sección 7A), que se van a generar junto con la expansión por medio del redimensionamiento de la imagen, puede ser uno de los siguientes: un procedimiento de relleno por medio del uso de un valor de píxel predeterminado, el procedimiento de relleno por medio de la copia de píxeles exteriores, el procedimiento de relleno por medio de la copia de una región específica de una imagen, el procedimiento de relleno por medio de la transformación de una región específica de una imagen, y similares, y se puede generar la información de selección relacionada. También se puede determinar un procedimiento predeterminado de procesamiento de datos aplicado a toda la región.
Alternativamente, un procedimiento de procesamiento de datos aplicado a las regiones (en la presente memoria descriptiva, cada una o dos o más de las regiones TL a BR en la Sección 7A de la FIG. 7), que deben generarse junto con la expansión por medio del redimensionamiento de la imagen, puede ser uno de los procedimientos de relleno por medio del uso de un valor de píxel predeterminado, el procedimiento de relleno por medio de la copia de píxeles externos, el procedimiento de relleno por medio de la copia de una región específica de una imagen, el procedimiento de relleno por medio de la transformación de una región específica de una imagen, y similares, y puede generarse la información de selección relacionada. También puede determinarse un procedimiento predeterminado de procesamiento de datos aplicado a al menos una región.
FIG. 9 es un diagrama de ejemplo de un procedimiento de construcción de una región a eliminar por medio de reducción y una región a generar en el procedimiento de redimensionamiento de imágenes de acuerdo con una realización de la presente invención.
La región a ser eliminada en el proceso de reducción de imagen puede ser eliminada no sólo simplemente sino también después de una serie de procesos de aplicación.
Haciendo referencia a la Sección 9A, durante el proceso de reducción de imagen, regiones específicas A0, A1 y A2 pueden ser simplemente eliminadas sin un proceso de aplicación adicional. En este caso, una imagen A puede dividirse en regiones TL a BR, como se muestra en la Sección 8A.
Refiriéndose a la Sección 9B, las regiones A0 a A2 pueden ser eliminadas y pueden ser utilizadas como información de referencia cuando la imagen A es codificada o decodificada. Por ejemplo, las regiones eliminadas A0 a A2 pueden utilizarse durante un proceso de restauración o corrección de regiones específicas de la imagen A que se eliminan por medio de la reducción. Durante el proceso de restauración o corrección, se puede utilizar una suma ponderada, un promedio y similares de dos regiones (una región eliminada y una región generada). Además, el proceso de restauración o corrección puede ser un proceso que puede aplicarse cuando las dos regiones tienen una alta correlación.
A modo de ejemplo, una región B'2, que se elimina cuando la imagen se reduce hacia la izquierda o hacia la derecha en asociación con el redimensionamiento lateral de la imagen, puede utilizarse para restaurar o corregir píxeles en una región B2, LC opuesta a la región eliminada cuando la imagen se reduce hacia la izquierda o hacia la derecha en asociación con el redimensionamiento lateral, y a continuación puede eliminarse de la memoria.
A modo de ejemplo, una región B'1, que se elimina cuando la imagen se reduce hacia arriba o hacia abajo en asociación con el redimensionamiento longitudinal de la imagen, puede utilizarse para un proceso de codificación/decodificación (un proceso de restauración o corrección) de una región B1, TR opuesta a la región eliminada cuando la imagen se reduce hacia arriba o hacia abajo en asociación con el redimensionamiento longitudinal, y a continuación puede eliminarse de la memoria.
A modo de ejemplo, una región B'0, que se elimina cuando la imagen se reduce a través de algún redimensionamiento de la imagen (en la presente memoria descriptiva, en diagonal con respecto al centro de la imagen), puede utilizarse para un proceso de codificación/decodificación (un proceso de restauración o corrección) de una región B0 o TL opuesta a la región eliminada, y a continuación puede eliminarse de la memoria.
Se ha descrito un ejemplo en el que la continuidad está presente en un límite entre ambos extremos de la imagen y en el que los datos de una región simétrica con respecto a la dirección de redimensionamiento se utilizan para la restauración o corrección. Sin embargo, la presente invención no se limita a ello, y los datos de las regiones TL a BR distintas de la región simétrica pueden utilizarse para la restauración o corrección y, a continuación, pueden eliminarse de la memoria.
Un procedimiento de procesamiento de datos para eliminar una región a borrar no se limita al ejemplo anterior. El procedimiento de tratamiento de datos puede mejorarse o modificarse, o puede utilizarse un procedimiento de tratamiento de datos adicional.
Puede admitirse una pluralidad de grupos candidatos para el procedimiento de procesamiento de datos de acuerdo con los ajustes de codificación/decodificación, y puede generarse información de selección relacionada y añadirse a un caudal de bits. Por ejemplo, se puede seleccionar un procedimiento de procesamiento de datos de entre un procedimiento de eliminación simple de una región que se va a eliminar, un procedimiento de eliminación de una región que se va a eliminar después de utilizar la región en una serie de procesos, y similares, y se puede generar la información de selección relacionada. Además, el procedimiento de procesamiento de datos puede determinarse implícitamente.
Por ejemplo, un procedimiento de procesamiento de datos aplicado a todas las regiones (en la presente memoria descriptiva, las regiones TL a BR en la Sección 7B de la FIG. 7), que se van a eliminar junto con la reducción por medio del redimensionamiento de la imagen, puede ser uno de los procedimientos de eliminación simple de una región que se va a eliminar, el procedimiento de eliminación de una región que se va a eliminar después de utilizar la región en una serie de procesos, y similares, y se puede generar la información de selección relacionada. Además, el procedimiento de procesamiento de datos puede determinarse implícitamente.
Alternativamente, un procedimiento de procesamiento de datos aplicado a cada una de las regiones (en la presente memoria descriptiva, cada una de las regiones TL a BR en la Sección 7B de la FIG. 7), que se va a eliminar junto con la reducción por medio del redimensionamiento de la imagen, puede ser uno de los procedimientos de eliminación simple de una región que se va a eliminar, el procedimiento de eliminación de una región que se va a eliminar después de utilizar la región en una serie de procesos, y similares, y se puede generar la información de selección relacionada. Además, el procedimiento de procesamiento de datos puede determinarse implícitamente.
Se ha descrito un ejemplo en el que el redimensionamiento se realiza de acuerdo con una operación de redimensionamiento (expansión o reducción). En algunos casos, la descripción puede aplicarse a un ejemplo en el que se realiza una operación de redimensionamiento (en este caso, expansión) y, a continuación, una operación de redimensionamiento inversa (en este caso, reducción).
Por ejemplo, puede seleccionarse un procedimiento de rellenar una región generada junto con la expansión con algunos datos de la imagen, y a continuación puede seleccionarse un procedimiento de eliminar una región a eliminar junto con la reducción en el proceso inverso después de utilizar la región en un proceso de restauración o corrección de algunos datos de la imagen. Alternativamente, se puede seleccionar un procedimiento de rellenar una región generada junto con la expansión copiando los píxeles exteriores y, a continuación, se puede seleccionar un procedimiento de eliminar simplemente una región que se borrará junto con la reducción en el proceso inverso. Es decir, basándose en el procedimiento de procesamiento de datos seleccionado en el proceso de redimensionamiento de la imagen, se puede determinar el procedimiento de procesamiento de datos en el proceso inverso.
A diferencia del ejemplo anterior, el procedimiento de procesamiento de datos del proceso de redimensionamiento de la imagen y el procedimiento de procesamiento de datos del proceso inverso pueden tener una relación independiente. Es decir, independientemente del procedimiento de procesamiento de datos seleccionado en el proceso de redimensionamiento de la imagen, se puede seleccionar el procedimiento de procesamiento de datos en el proceso inverso. Por ejemplo, se puede seleccionar un procedimiento de relleno de una región generada junto con la expansión por medio del uso de algunos datos de la imagen y, a continuación, se puede seleccionar un procedimiento de eliminación simple de una región que se eliminará junto con la reducción en el proceso inverso.
De acuerdo con la presente invención, el procedimiento de procesamiento de datos durante el proceso de redimensionamiento de la imagen puede determinarse implícitamente de acuerdo con los ajustes de codificación/decodificación, y el procedimiento de procesamiento de datos durante el proceso inverso puede determinarse implícitamente de acuerdo con los ajustes de codificación/decodificación. Alternativamente, el procedimiento de procesamiento de datos durante el proceso de redimensionamiento de la imagen puede generarse explícitamente, y el procedimiento de procesamiento de datos durante el proceso inverso puede generarse explícitamente. Alternativamente, el procedimiento de procesamiento de datos durante el proceso de redimensionamiento de la imagen puede generarse explícitamente, y basándose en el procedimiento de procesamiento de datos, el procedimiento de procesamiento de datos durante el proceso inverso puede determinarse implícitamente.
A continuación, se describirá un ejemplo en el que se redimensiona la imagen en el aparato de codificación/decodificación de acuerdo con una realización de la presente invención. En la siguiente descripción, a modo de ejemplo, el proceso de redimensionamiento indica expansión, y el proceso de redimensionamiento inverso indica reducción. Además, una diferencia entre una imagen antes de redimensionarse y una imagen después de redimensionarse puede relacionarse con un tamaño de imagen, y la información relacionada con el redimensionamiento puede tener algunas piezas generadas explícitamente y otras piezas determinadas implícitamente en función de los ajustes de codificación/decodificación. Además, la información relacionada con el redimensionamiento puede incluir información relativa a un proceso de redimensionamiento y a un proceso de redimensionamiento inverso.
Como primer ejemplo, puede realizarse un proceso de redimensionamiento de una imagen de entrada antes de iniciar la codificación. La imagen de entrada puede redimensionarse mediante el uso de información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un procedimiento de procesamiento de datos, etc.; el procedimiento de procesamiento de datos se utiliza durante el proceso de redimensionamiento) y, a continuación, puede codificarse. Los datos de codificación de la imagen (en este caso, una imagen después de cambiar su tamaño) pueden almacenarse en la memoria una vez finalizada la codificación, y pueden añadirse a un caudal de bits y transmitirse a continuación.
Se puede realizar un proceso de redimensionamiento antes de iniciar la decodificación. Los datos de decodificación de la imagen pueden ser redimensionados mediante el uso de información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, etc.), y a continuación pueden ser analizados para ser decodificados. La imagen de salida puede almacenarse en la memoria una vez finalizada la decodificación, y puede cambiarse a la imagen anterior al redimensionamiento realizando el proceso de redimensionamiento inverso (en la presente memoria descriptiva se utiliza un procedimiento de procesamiento de datos o similar; esto se utiliza en el proceso de redimensionamiento inverso).
Como segundo ejemplo, puede realizarse un proceso de redimensionamiento de una imagen de referencia antes de iniciar la codificación. La imagen de referencia puede redimensionarse mediante el uso de información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un procedimiento de procesamiento de datos, etc.; el procedimiento de procesamiento de datos se utiliza durante el proceso de redimensionamiento) y, a continuación, puede almacenarse en la memoria (en la presente memoria descriptiva, la imagen de referencia redimensionada). Se puede codificar una imagen mediante el uso de la imagen de referencia redimensionada. Una vez finalizada la codificación, los datos de codificación de la imagen (en este caso, los datos adquiridos por medio de la codificación mediante el uso de la imagen de referencia) pueden añadirse a un caudal de bits y, a continuación, transmitirse. Además, cuando la imagen codificada se almacena en la memoria como imagen de referencia, se puede realizar el proceso de redimensionamiento anterior.
Antes de iniciar la decodificación, puede realizarse un proceso de redimensionamiento de la imagen de referencia. La imagen de referencia puede redimensionarse mediante el uso de información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un procedimiento de procesamiento de datos, etc.; el procedimiento de procesamiento de datos se utiliza durante el proceso de redimensionamiento) y, a continuación, puede almacenarse en la memoria (en la presente memoria descriptiva, la imagen de referencia redimensionada). Los datos de decodificación de la imagen (en este caso, codificados por el codificador mediante el uso de la imagen de referencia) pueden analizarse para ser descodificados. Una vez finalizada la decodificación, puede generarse una imagen de salida. Cuando la imagen descodificada se almacena en la memoria como imagen de referencia, se puede realizar el proceso de redimensionamiento anterior.
Como tercer ejemplo, el proceso de redimensionamiento puede realizarse en una imagen antes del filtrado de la imagen (en la presente memoria descriptiva, se asume un filtro de desbloqueo) y después de la codificación (en detalle, después de la codificación, excluyendo un proceso de filtrado, se compite). La imagen se puede redimensionar mediante el uso de información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un procedimiento de procesamiento de datos, etc.; el procedimiento de procesamiento de datos se utiliza durante el redimensionamiento) y, a continuación, se puede generar y filtrar la imagen después del redimensionamiento. Una vez finalizado el filtrado, se lleva a cabo el proceso de redimensionamiento inverso para que la imagen después del redimensionamiento pueda convertirse en la imagen antes del redimensionamiento.
Una vez finalizada la decodificación (en detalle, una vez finalizada la decodificación, excluido un proceso de filtrado), y antes del filtrado, puede realizarse el proceso de redimensionamiento de la imagen. La imagen se puede redimensionar mediante el uso de información de redimensionamiento (por ejemplo, una operación de redimensionamiento, una dirección de redimensionamiento, un valor de redimensionamiento, un procedimiento de procesamiento de datos, etc.; el procedimiento de procesamiento de datos se utiliza durante el redimensionamiento) y, a continuación, se puede generar y filtrar la imagen después del redimensionamiento. Una vez finalizado el filtrado, se lleva a cabo el proceso de redimensionamiento inverso para que la imagen después del redimensionamiento pueda convertirse en la imagen antes del redimensionamiento.
En algunos casos (el primer ejemplo y el tercer ejemplo), pueden realizarse el proceso de redimensionamiento y el proceso de redimensionamiento inverso. En otros casos (el segundo ejemplo), sólo se puede realizar el proceso de redimensionamiento.
Además, en algunos casos (el segundo ejemplo y el tercer ejemplo), puede aplicarse el mismo proceso de redimensionamiento al codificador y al decodificador. En otros casos (el primer ejemplo), pueden aplicarse los mismos o diferentes procesos de redimensionamiento al codificador y al decodificador. En este caso, los procesos de redimensionamiento del codificador y del decodificador pueden diferir en cuanto al paso de realización del redimensionamiento. Por ejemplo, en algunos casos (en la presente memoria descriptiva, el codificador), puede incluirse la etapa de realización de redimensionamiento que considera el redimensionamiento de la imagen y el procesamiento de datos para una región redimensionada. En otros casos (en la presente memoria descriptiva, el decodificador), puede incluirse la etapa de realización de redimensionamiento que considera el redimensionamiento de la imagen. En este caso, el tratamiento de datos anterior puede corresponder al tratamiento de datos posterior durante el proceso de redimensionamiento inverso.
Además, en algunos casos (el tercer ejemplo), el proceso de redimensionamiento puede aplicarse sólo a una etapa correspondiente, y una región redimensionada puede no almacenarse en la memoria. Por ejemplo, para utilizar una región redimensionada en un proceso de filtrado, la región redimensionada puede almacenarse en una memoria temporal, filtrarse y, a continuación, eliminarse por medio del proceso de redimensionamiento inverso. En este caso, no se produce ningún cambio en el tamaño de la imagen debido al redimensionamiento. La presente invención no se limita al ejemplo anterior, y pueden introducirse modificaciones en el mismo.
El tamaño de la imagen puede ser cambiado a través del proceso de redimensionamiento, y por lo tanto las coordenadas de algunos píxeles de la imagen pueden ser cambiadas a través del proceso de redimensionamiento. Esto puede afectar al funcionamiento de la parte de partición de imágenes. De acuerdo con la presente invención, a través del proceso, la partición basada en bloques puede realizarse sobre la base de una imagen antes de redimensionar o de una imagen después de redimensionar. Además, la partición basada en unidades (por ejemplo, baldosa, corte, etc.) puede realizarse sobre la base de una imagen antes de redimensionar o una imagen después de redimensionar, que puede determinarse de acuerdo con los ajustes de codificación/decodificación. De acuerdo con la presente invención, la siguiente descripción se centra en un caso en el que la parte de partición de imágenes opera sobre la base de la imagen después del redimensionamiento (por ejemplo, el proceso de partición de imágenes después del proceso de redimensionamiento), pero pueden realizarse otras modificaciones. El ejemplo anterior se describirá en una pluralidad de configuraciones de imagen que se describirán a continuación.
El codificador puede añadir la información generada durante el proceso anterior a un caudal de bits en unidades de al menos una de las secuencias, imágenes, cortes, baldosas y similares, y el decodificador puede analizar la información relacionada del caudal de bits. Además, la información puede incluirse en el caudal de bits en forma de IPS o metadatos.
Generalmente, una imagen de entrada puede ser codificada o decodificada tal cual o después de la reconstrucción de la imagen. Por ejemplo, la reconstrucción de la imagen puede realizarse para mejorar la eficiencia de la codificación de la imagen, la reconstrucción de la imagen puede realizarse para considerar los entornos de red y de usuario, y la reconstrucción de la imagen puede realizarse de acuerdo con el tipo, las características y similares de una imagen.
De acuerdo con la presente invención, el proceso de reconstrucción de imagen puede incluir un proceso de reconstrucción únicamente o en combinación con un proceso de reconstrucción inversa. La siguiente descripción de ejemplo se centrará en el proceso de reconstrucción, pero el proceso de reconstrucción inversa puede derivarse inversamente del proceso de reconstrucción.
FIG. 10 es un diagrama de ejemplo de reconstrucción de imagen de acuerdo con una realización de la presente invención.
Se asume que la Sección 10A muestra una imagen de entrada inicial. Las secciones 10A a 10D son diagramas de ejemplo en los que una imagen gira un ángulo predeterminado que incluye 0 grados (por ejemplo, un grupo candidato puede generarse por medio del muestreo de 360 grados en k secciones; k puede tener un valor de 2, 4, 8 o similar; en este ejemplo, se asume que k es 4). Las secciones 10E a 10H son diagramas de ejemplo que tienen una relación inversa (o simétrica) con respecto a las secciones 10A o con respecto a las secciones 10B a 10D.
La posición de inicio o el orden de barrido de una imagen pueden cambiarse dependiendo de la reconstrucción de la imagen, pero la posición de inicio y el orden de barrido pueden predeterminarse independientemente de la reconstrucción, que puede determinarse de acuerdo con los ajustes de codificación/decodificación. La siguiente realización asume que la posición de inicio (por ejemplo, una posición superior izquierda de la imagen) y el orden de barrido (por ejemplo, barrido de trama) están predeterminados independientemente de la reconstrucción de la imagen.
El procedimiento de codificación de imagen y el procedimiento de decodificación de imagen de acuerdo con una realización de la presente invención pueden incluir las siguientes etapas de reconstrucción de imagen. En este caso, el proceso de reconstrucción de la imagen puede incluir una etapa de indicación de reconstrucción de la imagen, una etapa de identificación del tipo de reconstrucción de la imagen y una etapa de realización de la reconstrucción de la imagen. Además, el aparato de codificación de imágenes y el aparato de decodificación de imágenes pueden estar configurados para incluir una parte de indicación de reconstrucción de imágenes, una parte de identificación del tipo de reconstrucción de imágenes y una parte de ejecución de la reconstrucción de imágenes, que realizan la etapa de indicación de reconstrucción de imágenes, la etapa de identificación del tipo de reconstrucción de imágenes y la etapa de ejecución de la reconstrucción de imágenes, respectivamente. Para la codificación, puede generarse un elemento sintáctico relacionado. Para la decodificación, puede analizarse un elemento sintáctico relacionado.
En la etapa de indicación de reconstrucción de imagen, se puede determinar si se va a realizar la reconstrucción de imagen. Por ejemplo, cuando se confirma una señal que indica la reconstrucción de la imagen (por ejemplo, convert_activado_indicador), se puede realizar la reconstrucción. Cuando la señal que indica la reconstrucción de la imagen no se confirma, la reconstrucción puede no realizarse, o la reconstrucción puede realizarse confirmando otra información de codificación/decodificación. Además, aunque no se proporcione la señal que indica la reconstrucción de la imagen, la señal que indica la reconstrucción de la imagen puede activarse o desactivarse implícitamente de acuerdo con los ajustes de codificación/decodificación (por ejemplo, las características, el tipo y similares de una imagen). Cuando se realiza la reconstrucción, puede generarse o determinarse implícitamente la información correspondiente relacionada con la reconstrucción.
Cuando se proporciona la señal que indica la reconstrucción de la imagen, la señal correspondiente es una señal para indicar si se realiza la reconstrucción de la imagen. En función de la señal, puede determinarse si se reconstruye o no la imagen correspondiente. Por ejemplo, se supone que se confirma la señal que indica la reconstrucción de la imagen (por ejemplo, convert_activado_indicador). Cuando se activa la señal correspondiente (por ejemplo, convert_activado_indicador = 1), se puede realizar la reconstrucción. Cuando la señal correspondiente está desactivada (por ejemplo, convert_activado_indicador = 0), puede que no se realice la reconstrucción.
También, cuando la señal que indica la reconstrucción de la imagen no es proporcionada, la reconstrucción puede no ser realizada, o si reconstruir la imagen correspondiente puede ser determinado por otra señal. Por ejemplo, la reconstrucción puede realizarse de acuerdo con las características, el tipo y similares de una imagen (por ejemplo, una imagen de 360 grados), y la información de reconstrucción puede generarse explícitamente o puede asignarse como un valor predeterminado. La presente invención no se limita al ejemplo anterior, y pueden introducirse modificaciones en el mismo.
En la etapa de identificación del tipo de reconstrucción de imagen, se puede identificar un tipo de reconstrucción de imagen. El tipo de reconstrucción de la imagen puede definirse por medio de un procedimiento de reconstrucción, información sobre el modo de reconstrucción y similares. El procedimiento de reconstrucción (por ejemplo, convert_tipo_indicador) puede incluir volteo, rotación y similares, y la información del modo de reconstrucción puede incluir un modo del procedimiento de reconstrucción (por ejemplo, convert_modo). En este caso, la información relacionada con la reconstrucción puede estar compuesta por un procedimiento de reconstrucción e información sobre el modo. Es decir, la información relacionada con la reconstrucción puede estar compuesta por al menos un elemento sintáctico. En este caso, el número de grupos candidatos para la información de modo puede ser el mismo o diferente en función del procedimiento de reconstrucción.
Como ejemplo, la rotación puede incluir candidatos que tengan intervalos regulares (en la presente memoria descriptiva, 90 grados) como se muestra en las Secciones 10A a 10D. La sección 10A muestra una rotación de 0 grados, la sección 10B muestra una rotación de 90 grados, la sección 10C muestra una rotación de 180 grados y la sección 10D muestra una rotación de 270 grados (en la presente memoria descriptiva, que se miden en el sentido de las agujas del reloj).
Como ejemplo, el volteo puede incluir candidatos como se muestra en las Secciones 10A, 10E y 10F. Cuando la sección 10A no muestra ningún volteo, las secciones 10E y 10F muestran un volteo horizontal y un volteo vertical, respectivamente.
En el ejemplo anterior, se han descrito ajustes para rotaciones con intervalos regulares y ajustes para volteos. Sin embargo, esto no es más que un ejemplo de la reconstrucción de la imagen, y la presente invención no se limita a ello y puede incluir otra diferencia de intervalo, otra operación de volteo, y similares, que pueden determinarse de acuerdo con la configuración de codificación/decodificación.
Alternativamente, puede incluirse información integrada (por ejemplo, convert_com_indicador) que se genera mezclando el procedimiento de reconstrucción y la información de modo correspondiente. En este caso, la información relacionada con la reconstrucción puede estar compuesta de forma mixta por un procedimiento de reconstrucción e información sobre el modo.
Por ejemplo, la información integrada puede incluir los candidatos como se muestra en las Secciones 10A a 10F, que pueden ser ejemplos de una rotación de 0 grados, una rotación de 90 grados, una rotación de 180 grados, una rotación de 270 grados, un volteo horizontal y un volteo vertical con respecto a la Sección 10A.
Alternativamente, la información integrada puede incluir los candidatos como se muestra en las Secciones 10A a 10H, que pueden ser ejemplos de una rotación de 0 grados, una rotación de 90 grados, una rotación de 180 grados, una rotación de 270 grados, un giro horizontal, un giro vertical, una rotación de 90 grados y a continuación un giro horizontal (o un giro horizontal y a continuación una rotación de 90 grados), y una rotación de 90 grados y a continuación un giro vertical (o un giro vertical y a continuación una rotación de 90 grados) o ejemplos de una rotación de 0 grados, una rotación de 90 grados, una rotación de 180 grados, una rotación de 270 grados, un giro horizontal, una rotación de 180 grados y a continuación un giro horizontal (o un giro horizontal y a continuación una rotación de 180 grados), una rotación de 90 grados y a continuación un giro horizontal (o un giro horizontal y a continuación una rotación de 90 grados), y una rotación de 270 grados y a continuación un giro horizontal (o un giro horizontal y a continuación una rotación de 270 grados).
El grupo candidato puede configurarse para incluir un modo de rotación, un modo de volteo y un modo combinado de rotación y volteo. El modo de combinación puede incluir simplemente información de modo en el procedimiento de reconstrucción y puede incluir un modo generado mezclando información de modo en cada procedimiento. En este caso, el modo combinado puede incluir un modo generado mezclando al menos un modo de algunos procedimientos (por ejemplo, rotación) y al menos un modo de otros procedimientos (por ejemplo, volteo). En el ejemplo anterior, el modo de combinación incluye un caso generado combinando un modo de algunos procedimientos con una pluralidad de modos de algunos procedimientos (en la presente memoria descriptiva, una rotación de 90 grados múltiples volteos/volteos horizontales múltiples rotaciones). La información construida de forma mixta puede incluir un caso en el que no se aplica la reconstrucción (en la presente memoria descriptiva, Sección 10A) como grupo candidato, y el caso en el que no se aplica la reconstrucción puede incluirse como primer grupo candidato (por ejemplo, se asigna #0 como índice).
Alternativamente, la información construida mixta puede incluir información de modo correspondiente a un procedimiento de reconstrucción predeterminado. En este caso, la información relacionada con la reconstrucción puede estar compuesta por información de modo correspondiente a un procedimiento de reconstrucción predeterminado. Es decir, puede omitirse la información relativa al procedimiento de reconstrucción, y la información relacionada con la reconstrucción puede estar compuesta por un elemento sintáctico asociado a la información sobre el modo.
Por ejemplo, la información relacionada con la reconstrucción puede ser configurada para incluir candidatos específicos de rotación como se muestra en las Secciones 10A a 10D. Alternativamente, la información relacionada con la reconstrucción puede configurarse para incluir candidatos específicos de volteo como se muestra en las Secciones 10A, 10E y 10F.
Una imagen antes del proceso de reconstrucción de imagen y una imagen después del proceso de reconstrucción de imagen pueden tener el mismo tamaño o al menos una longitud diferente, que puede determinarse de acuerdo con los ajustes de codificación/decodificación. El proceso de reconstrucción de la imagen puede ser un proceso de reordenamiento de píxeles en una imagen (en este caso, se realiza un proceso de reordenamiento inverso de píxeles durante un proceso de reconstrucción inversa de la imagen; esto puede derivarse inversamente del proceso de reordenamiento de píxeles), por lo que puede cambiarse la ubicación de al menos un píxel. La reordenamiento de píxeles puede realizarse de acuerdo con una regla basada en la información del tipo de reconstrucción de la imagen.
En este caso, el proceso de reordenamiento de píxeles puede verse afectado por el tamaño y la forma (por ejemplo, cuadrado o rectángulo) de una imagen. En detalle, la anchura y la altura de una imagen antes del proceso de reconstrucción y la anchura y la altura de una imagen después del proceso de reconstrucción pueden actuar como variables durante el proceso de reordenamiento de píxeles.
Por ejemplo, la información de racionamiento relativa a al menos una de una relación entre la anchura de la imagen antes del proceso de reconstrucción y la anchura de la imagen después del proceso de reconstrucción, una relación entre la anchura de la imagen antes del proceso de reconstrucción y la altura de la imagen después del proceso de reconstrucción, una relación entre la altura de la imagen antes del proceso de reconstrucción y la anchura de la imagen después del proceso de reconstrucción, y una relación entre la altura de la imagen antes del proceso de reconstrucción y la altura de la imagen después del proceso de reconstrucción (por ejemplo, la primera/la segunda o la segunda/la primera) pueden actuar como variables durante el proceso de reordenamiento de píxeles.
En el ejemplo, cuando la imagen antes del proceso de reconstrucción y la imagen después del proceso de reconstrucción tienen el mismo tamaño, una relación entre la anchura de la imagen y la altura de la imagen puede actuar como variable durante el proceso de reordenamiento de píxeles. Además, cuando la imagen tiene forma de cuadrado, una relación entre la longitud de la imagen antes del proceso de reconstrucción y la longitud de la imagen después del proceso de reconstrucción puede actuar como variable durante el proceso de reordenamiento de píxeles.
En la etapa de reconstrucción de la imagen, la reconstrucción de la imagen puede realizarse sobre la base de la información de reconstrucción identificada. Es decir, la reconstrucción de la imagen puede realizarse sobre la base de información relativa a un tipo de reconstrucción, un modo de reconstrucción y similares, y la codificación/decodificación puede realizarse sobre la base de la imagen reconstruida adquirida.
A continuación, se describirá un ejemplo en el que la reconstrucción de la imagen se realiza en el aparato de codificación/decodificación de acuerdo con una realización de la presente invención.
Se puede realizar un proceso de reconstrucción de una imagen de entrada antes de iniciar la codificación. La reconstrucción puede realizarse mediante el uso de información de reconstrucción (por ejemplo, un tipo de reconstrucción de imagen, un modo de reconstrucción, etc.), y la imagen reconstruida puede codificarse. Los datos de codificación de la imagen pueden almacenarse en la memoria una vez finalizada la codificación, y pueden añadirse a un caudal de bits y transmitirse a continuación.
Se puede realizar un proceso de reconstrucción antes de iniciar la decodificación. La reconstrucción puede realizarse mediante el uso de información de reconstrucción (por ejemplo, un tipo de reconstrucción de imagen, un modo de reconstrucción, etc.), y los datos de decodificación de la imagen pueden analizarse para ser decodificados. La imagen puede almacenarse en la memoria una vez finalizada la decodificación y puede cambiarse a la imagen anterior a la reconstrucción por medio de la realización de un proceso de reconstrucción inversa y, a continuación, emitirse.
El codificador puede añadir la información generada durante el proceso anterior a un caudal de bits en unidades de al menos una de las secuencias, imágenes, cortes, baldosas y similares, y el decodificador puede analizar la información relacionada del caudal de bits. Además, la información puede incluirse en el caudal de bits en forma de IPS o metadatos.
La Tabla 1 representa elementos de sintaxis de ejemplo asociados con la partición entre ajustes de imagen. La siguiente descripción se centrará en un elemento sintáctico adicional. Además, en el siguiente ejemplo, un elemento de sintaxis no se limita a ninguna unidad específica y puede admitir varias unidades, como una secuencia, una imagen, un corte y una baldosa. Alternativamente, el elemento de sintaxis puede incluirse en IPS, metadatos y similares. Asimismo, el tipo, orden, condición y similares del elemento sintáctico admitido en el siguiente ejemplo se limitan únicamente al ejemplo y, por lo tanto, pueden modificarse y determinarse en función de los ajustes de codificación/decodificación.
En la Tabla 1, baldosa_cabezal_activado_indicador denota un elemento sintáctico que indica si admite ajustes de codificación/decodificación para una baldosa. Cuando se activa el elemento de sintaxis (indicador baldosa_cabezalactivado = 1), se pueden proporcionar ajustes de codificación/decodificación en una unidad de baldosa. Cuando el elemento de sintaxis está desactivado (baldosa_cabezal_activado_indicador = 0), no se pueden proporcionar los ajustes de codificación/decodificación en una unidad de baldosa, y se pueden asignar los ajustes de codificación/decodificación en una unidad superior.
Además, baldosa_codificado_indicador denota un elemento de sintaxis que indica si codificar o decodificar una baldosa. Cuando se activa el elemento de sintaxis (baldosa_codificado_indicador = 1), se puede codificar o decodificar una ficha correspondiente. Cuando el elemento de sintaxis está desactivado (baldosa_codificado_indicador = 0), la ficha correspondiente no puede codificarse ni decodificarse. Aquí, que no se realice la codificación puede significar que no se generen datos de codificación para una baldosa correspondiente (aquí, se supone que una región correspondiente se procesa por medio de una regla predeterminada y similares; aplicable a una región sin sentido en algunos formatos de proyección de una imagen de 360 grados). Que no se realice la decodificación significa que ya no se analizan los datos de decodificación de la ficha correspondiente (en este caso, se supone que la región correspondiente se procesa por medio de una regla predeterminada). Asimismo, el hecho de que ya no se analicen los datos de decodificación puede significar que los datos de codificación no están presentes en una unidad correspondiente y, por lo tanto, ya no se realiza el análisis sintáctico, y también puede significar que, aunque los datos de codificación estén presentes, el indicador ya no realiza el análisis sintáctico. La información de cabecera de una unidad de baldosa puede admitirse en función de si se va a codificar o decodificar una baldosa.
El ejemplo anterior se centraba en una baldosa. Sin embargo, la presente invención no se limita a la baldosa, y la descripción anterior puede ser modificada y a continuación aplicada a otras unidades de partición de la presente invención. Además, un ejemplo de la configuración de partición de azulejos no se limita al caso anterior, y se pueden hacer modificaciones al mismo.
[Tabla 2]
La Tabla 2 representa elementos de sintaxis de ejemplo asociados con la reconstrucción entre ajustes de imagen.
Refiriéndose a la Tabla 2, convert_activado_indicador denota un elemento de sintaxis que indica si se debe realizar la reconstrucción. Cuando se activa el elemento de sintaxis (convert_activado_indicador = 1), se codifica o decodifica una imagen reconstruida y se puede comprobar información adicional relacionada con la reconstrucción. Cuando el elemento de sintaxis está desactivado (convert_activado_indicador = 0), se codifica o decodifica una imagen original.
Además, convert_tipo_indicador denota información mixta relativa a un procedimiento de reconstrucción e información de modo. Un procedimiento puede determinarse a partir de una pluralidad de grupos candidatos para un procedimiento de rotación aplicada, un procedimiento de volteo aplicado y un procedimiento de rotación y volteo aplicado.
[Tabla 3]
La Tabla 3 representa elementos de sintaxis de ejemplo asociados con el redimensionamiento entre ajustes de imagen.
Refiriéndose a la Tabla 3, imaanchura_en muestras y ima_altura_en_muestras denotan elementos de sintaxis que indican la anchura y la altura de una imagen. El tamaño de una imagen puede comprobarse por medio de los elementos sintácticos.
Además, ima_redimensionamiento_activado_indicador denota un elemento de sintaxis que indica si se debe realizar el redimensionamiento de la imagen. Cuando el elemento de sintaxis está activado (ima_redimensionamiento_activado_indicador = 1), una imagen se codifica o decodifica después de redimensionarse, y se puede comprobar información adicional relacionada con el redimensionamiento. Cuando el elemento de sintaxis está desactivado (ima_redimensionamiento_activado_indicador = 0), se codifica o decodifica una imagen original. Además, el elemento sintáctico puede indicar el redimensionamiento para la intra-predicción.
Además, redimensionamiento_met_indicador indica un procedimiento de redimensionamiento. Un procedimiento de redimensionamiento puede determinarse a partir de un grupo de candidatos, como un procedimiento de redimensionamiento basado en el factor de escala (redimensionamiento_met_indicador = 0), un procedimiento de redimensionamiento basado en el factor de desplazamiento (redimensionamiento_met_indicador = 1), y similares.
Además, redimensionamiento_mov_indicador denota un elemento de sintaxis para una operación de redimensionamiento. Por ejemplo, se puede determinar una de expansión y reducción.
Además, anchura_escala y altura_escala denotan factores de escala asociados con el redimensionamiento horizontal y el redimensionamiento vertical del redimensionamiento basado en el factor de escala.
Además, superior_altura_desplazamiento y inferior_altura_desplazamiento denotan un factor de desplazamiento para una dirección "arriba" y un factor de desplazamiento para una dirección "abajo", que están asociados con el redimensionamiento horizontal del redimensionamiento basado en el factor de desplazamiento, y izquierda_anchura_desplazamiento y derecha_anchura_desplazamiento denotan un factor de desplazamiento para una dirección "izquierda" y un factor de desplazamiento para una dirección "derecha", que están asociados con el redimensionamiento vertical del redimensionamiento basado en el factor de desplazamiento.
El tamaño de una imagen después del redimensionamiento puede ser actualizado a través de la información relacionada con el redimensionamiento y la información del tamaño de la imagen.
Asimismo, redimensionamiento_tipo_indicador denota un elemento sintáctico que indica un procedimiento de procesamiento de datos para una región redimensionada. El número de grupos candidatos para el procedimiento de procesamiento de datos puede ser el mismo o diferente dependiendo del procedimiento de redimensionamiento y de la operación de redimensionamiento.
Los procesos de ajuste de imagen aplicados al aparato de codificación/decodificación de imagen descrito anteriormente pueden realizarse individualmente o en combinación. La siguiente descripción de ejemplo se centrará en un ejemplo en el que la pluralidad de procesos de ajuste de imagen se realizan en combinación.
FIG. 11 es un diagrama de ejemplo que muestra imágenes antes y después de un proceso de ajuste de imagen de acuerdo con una realización de la presente invención. En detalle, la Sección 11A muestra un ejemplo antes de que se realice la reconstrucción de imagen en una imagen particionada (por ejemplo, una imagen proyectada durante la codificación de imagen de 360 grados, y la Sección 11B muestra una imagen después de que se realice la reconstrucción de imagen en una imagen particionada (por ejemplo, una imagen empaquetada durante la codificación de imagen de 360 grados. Es decir, puede entenderse que la Sección 11A es un diagrama de ejemplo antes de que se realice un proceso de ajuste de imagen y la Sección 11B es un diagrama de ejemplo después de que se realice un proceso de ajuste de imagen.
En este ejemplo, la partición de la imagen (en la presente memoria descriptiva se asume una baldosa) y la reconstrucción de la imagen se describirán como el proceso de ajuste de la imagen.
En el siguiente ejemplo, la reconstrucción de la imagen se realiza después de realizar la partición de la imagen. Sin embargo, de acuerdo con los ajustes de codificación/decodificación, la partición de la imagen puede realizarse después de la reconstrucción de la imagen, y pueden realizarse modificaciones en la misma. Además, el proceso de reconstrucción de imagen descrito anteriormente (incluido el proceso inverso) puede aplicarse de forma idéntica o similar al proceso de reconstrucción en las unidades de partición de la imagen en esta realización.
La reconstrucción de la imagen puede o no realizarse en todas las unidades de partición de la imagen y puede realizarse en algunas unidades de partición. En consecuencia, una unidad de partición antes de la reconstrucción (por ejemplo, algunas de P0 a P5) puede o no ser la misma que una unidad de partición después de la reconstrucción (por ejemplo, algunas de S0 a s 5). A través del siguiente ejemplo, se describirán varios casos de reconstrucción de imágenes. Además, para facilitar la descripción, se supone que la unidad de una imagen es una foto, la unidad de una imagen particionada es una baldosa y una unidad de partición tiene forma de rectángulo.
A modo de ejemplo, se puede determinar si se va a realizar la reconstrucción de la imagen en algunas unidades (por ejemplo, cvp_convert_activado_indicador o IPS o metadatos, etc.). Alternativamente, en algunas unidades se puede determinar si se va a realizar la reconstrucción de la imagen (por ejemplo, cpi_convert_activado_indicador). Esto puede permitirse cuando se produce en una unidad correspondiente (en la presente memoria descriptiva, una imagen) por primera vez o cuando se activa en una unidad superior (por ejemplo, cvp_convert_activado_indicador = 1). Alternativamente, se puede determinar si realizar la reconstrucción de la imagen en algunas unidades (por ejemplo, baldosa_convert_indicador[i]; i es un índice de unidad de partición). Esto puede permitirse cuando se produce en una unidad correspondiente (en la presente memoria descriptiva, una baldosa) por primera vez o cuando se activa en una unidad superior (por ejemplo, cpi_convert_activado_indicador = 1). Además, en parte, la posibilidad de realizar la reconstrucción de la imagen puede determinarse implícitamente en función de los ajustes de codificación/decodificación, por lo que puede omitirse la información relacionada.
Como ejemplo, si reconstruir unidades de partición en una imagen puede determinarse de acuerdo con una señal que indica reconstrucción de imagen (por ejemplo, cpi_convert_activado_indicador). En detalle, la reconstrucción de todas las unidades de partición de la imagen puede determinarse en función de la señal. En este caso, puede generarse en la imagen una única señal que indique la reconstrucción de la imagen.
A modo de ejemplo, puede determinarse si reconstruir unidades de partición en una imagen en función de una señal que indique la reconstrucción de la imagen (por ejemplo, baldosa_convert_indicador[i]). En detalle, la reconstrucción de algunas de las unidades de partición de la imagen puede determinarse en función de la señal. En este caso, puede generarse al menos una señal que indique la reconstrucción de la imagen (por ejemplo, un número de señales igual al número de unidades de partición).
Como ejemplo, si reconstruir una imagen puede determinarse de acuerdo con una señal que indica reconstrucción de imagen (por ejemplo, cpi_convert_activado_indicador[i]), y si reconstruir unidades de partición en una imagen puede determinarse de acuerdo con una señal que indica reconstrucción de imagen (por ejemplo, baldosa_convert_indicador[i]). En detalle, cuando cualquier señal está activada (por ejemplo, cpi_convert_activado_indicador = 1), cualquier otra señal (por ejemplo, baldosa_convert_indicador[i]) puede comprobarse adicionalmente, y si reconstruir algunas de las unidades de partición en la imagen puede determinarse de acuerdo con la señal (en la presente memoria descriptiva, baldosa_convert_indicador[i]). En este caso, puede generarse una pluralidad de señales que indican la reconstrucción de la imagen.
Cuando se activa la señal que indica la reconstrucción de la imagen, puede generarse información relacionada con la reconstrucción de la imagen. En el siguiente ejemplo, se describirá una variedad de información relacionada con la reconstrucción de imágenes.
Como ejemplo, puede generarse información de reconstrucción aplicada a una imagen. En concreto, una parte de la información de reconstrucción puede utilizarse como información de reconstrucción para todas las unidades de partición de la imagen.
Como ejemplo, puede generarse información de reconstrucción aplicada a unidades de partición en una imagen. En detalle, al menos una parte de la información de reconstrucción puede utilizarse como información de reconstrucción para algunas de las unidades de partición de la imagen. Es decir, un fragmento de información de reconstrucción puede utilizarse como información de reconstrucción para una unidad de partición o un fragmento de información de reconstrucción puede utilizarse como información de reconstrucción para una pluralidad de unidades de partición.
El siguiente ejemplo se describirá en combinación con un ejemplo en el que se realiza la reconstrucción de la imagen.
Por ejemplo, cuando la señal que indica reconstrucción de imagen (por ejemplo, cpi_convert_activado_indicador) es activada, información de reconstrucción aplicada en común a unidades de partición en una imagen puede ser generada. Alternativamente, cuando se activa la señal que indica la reconstrucción de la imagen (por ejemplo, cpi_convert_activado_indicador), puede generarse información de reconstrucción aplicada individualmente a las unidades de partición de la imagen. Alternativamente, cuando se activa la señal que indica la reconstrucción de la imagen (por ejemplo, baldosa_convert_indicador[i]), puede generarse información de reconstrucción aplicada individualmente a las unidades de partición de la imagen. Alternativamente, cuando se activa la señal que indica la reconstrucción de la imagen (por ejemplo, baldosa_convert_indicador[i]), puede generarse información de reconstrucción aplicada en común a las unidades de partición de la imagen.
La información de reconstrucción puede ser procesada implícita o explícitamente dependiendo de los ajustes de codificación/decodificación. Para el procesamiento implícito, la información de reconstrucción puede asignarse como un valor predeterminado en función de las características, el tipo y similares de la imagen.
P0 a P5 en la Sección 11A pueden corresponder a S0 a S5 en la Sección 11B, y el proceso de reconstrucción puede realizarse en unidades de partición. Por ejemplo, es posible que P0 no se reconstruya y se asigne a S0. P1 puede girarse 90 grados y asignarse a S1. P2 puede girarse 180 grados y asignarse a S2. P3 puede voltearse horizontalmente y asignarse a S3. P4 puede girarse 90 grados y voltearse horizontalmente y, a continuación, puede asignarse a S4. P5 puede girarse 180 grados y voltearse horizontalmente y, a continuación, puede asignarse a S5.
Sin embargo, la presente invención no se limita al ejemplo anterior y pueden realizarse varias modificaciones. Como en el ejemplo anterior, las unidades de partición de la imagen pueden no reconstruirse, o puede realizarse al menos una de las reconstrucciones por medio de rotación, reconstrucción por medio de volteo, y reconstrucción por medio de rotación y volteo en combinación.
Cuando la reconstrucción de imagen es aplicada a unidades de partición, un proceso de reconstrucción adicional tal como el reordenamiento de unidades de partición puede ser realizado. Es decir, el proceso de reconstrucción de imágenes de acuerdo con la presente invención puede configurarse para incluir el reordenamiento de unidades de partición en una imagen, así como el reordenamiento de píxeles en una imagen, y puede representarse mediante el uso de algunos elementos de sintaxis de la Tabla 4 (por ejemplo, parte_arriba, parte_izquierda, parte_anchura, parte_altura, y similares). Esto significa que el proceso de partición de la imagen y el proceso de reconstrucción de la imagen pueden entenderse de forma combinada. En el ejemplo anterior, se ha descrito que una imagen se divide en una pluralidad de unidades.
P0 a P5 en la Sección 11A pueden corresponder a S0 a S5 en la Sección 11B, y el proceso de reconstrucción puede realizarse en unidades de partición. Por ejemplo, es posible que P0 no se reconstruya y se asigne a S0. Es posible que P1 no se reconstruya y se asigne a S2. P2 puede girarse 90 grados y asignarse a S1. P3 puede voltearse horizontalmente y asignarse a S4. P4 puede girarse 90 grados y voltearse horizontalmente y, a continuación, puede asignarse a S5. P5 puede ser volteado horizontalmente y a continuación girado 180 grados y a continuación puede ser asignado a S3. La presente invención no se limita a ello, y también pueden realizarse varias modificaciones de la misma.
Además, P_Anchura y P_Altura de FIG. 7 pueden corresponder a P_Anchura y P_Altura de FIG. 11, y P'_Anchura y P'_Altura de la FIG. 7 pueden corresponder a P'_Anchura y P'_Altura de FIG. 11. El tamaño de la imagen después de redimensionarla en FIG. 7, que es P'_Anchura * P'_Altura, puede expresarse como (P_Anchura Exp_L Exp_R) * (P_Altura Exp_T Exp_B), y el tamaño de la imagen tras el redimensionamiento en FIG. 11, que es P'_Anchura * P'_Altura, puede expresarse como (P_Anchura Var0_L Var1_L Var2_L Var0_R Var1_R Var2_R) * (P_Altura Var0_T Var1_T Var0_B Var1_B) o (Sub_P0_Anchura Sub_P1 Anchura Sub_P2_Anchura Var0_L Var1_L Var2_L Var0_R Var1_R Var2_R) * (Sub_P0_Altura Sub_P1_Altura Var0_T Var1_T Var0_B Var1_B).
Como en el ejemplo anterior, para la reconstrucción de la imagen, puede realizarse el reordenamiento de píxeles en unidades de partición de una imagen, puede realizarse el reordenamiento de unidades de partición en una imagen, y pueden realizarse tanto el reordenamiento de píxeles en unidades de partición de una imagen como el reordenamiento de unidades de partición en una imagen. En este caso, el reordenamiento de unidades de partición en una imagen puede realizarse después de que se realice el reordenamiento de píxeles en unidades de partición, o el reordenamiento de píxeles en unidades de partición puede realizarse después de que se realice el reordenamiento de unidades de partición en una imagen.
Se puede determinar si se va a realizar el reordenamiento de las unidades de partición en una imagen de acuerdo con una señal que indique la reconstrucción de la imagen. Alternativamente, puede generarse una señal para el reordenamiento de las unidades de partición en la imagen. En detalle, cuando se activa una señal que indica la reconstrucción de la imagen, la señal puede ser generada. Alternativamente, la señal puede ser procesada implícita o explícitamente dependiendo de los ajustes de codificación/decodificación. Para el procesamiento implícito, la señal puede determinarse en función de las características, el tipo y similares de la imagen.
Asimismo, la información relativa al reordenamiento de las unidades de partición en una imagen puede realizarse implícita o explícitamente en función de los ajustes de codificación/decodificación y puede determinarse en función de las características, el tipo y similares de la imagen. Es decir, cada una de las unidades de partición puede disponerse de acuerdo con la información de disposición predeterminada para las unidades de partición.
A continuación, se describirá un ejemplo en el que se reconstruyen unidades de partición en una imagen en el aparato de codificación/decodificación de acuerdo con una realización de la presente invención.
Se puede realizar un proceso de partición en una imagen de entrada mediante el uso de información de partición antes de iniciar la codificación. Se puede realizar un proceso de reconstrucción en las unidades de partición mediante el uso de la información de reconstrucción, y se puede codificar una imagen reconstruida para cada unidad de partición. Los datos de codificación de la imagen pueden almacenarse en la memoria una vez finalizada la codificación, y pueden añadirse a un caudal de bits y transmitirse a continuación.
Se puede realizar un proceso de partición mediante el uso de información de partición antes de iniciar la decodificación. Puede realizarse un proceso de reconstrucción en las unidades de partición mediante el uso de la información de reconstrucción, y los datos de decodificación de la imagen pueden analizarse para decodificarse en las unidades de partición reconstruidas. Los datos de decodificación de la imagen pueden almacenarse en la memoria una vez finalizada la decodificación, y una pluralidad de unidades de partición se fusionan en una sola unidad después de realizar un proceso de reconstrucción inversa en las unidades de partición, con lo que puede salir una imagen.
FIG. 12 es un diagrama de ejemplo de redimensionamiento de cada unidad de partición de una imagen de acuerdo con una realización de la presente invención. P0 a P5 de FIG. 12 corresponden a P0 a P5 de FIG. 11, y S0 a S5 de FIG. 12 corresponden a S0 a S5 de FIG. 11.
En el siguiente ejemplo, la descripción se centrará en un caso en el que el redimensionamiento de la imagen se realiza después de realizar la partición de la imagen. Sin embargo, la partición de la imagen puede realizarse después de cambiar el tamaño de la imagen, dependiendo de los ajustes de codificación/decodificación, y pueden realizarse modificaciones al respecto. Asimismo, el proceso de redimensionamiento de imágenes descrito anteriormente (incluido el proceso inverso) puede aplicarse de forma idéntica o similar al proceso de redimensionamiento de la unidad de partición de imágenes en esta realización.
Por ejemplo, TL a BR de FIG. 7 pueden corresponder a TL a BR de las unidades de partición SX (S0 a S5) de la FIG.
12. S0 y S1 de FIG. 7 pueden corresponder a PX y SX de FIG. 12. P_Anchura y P_Altura de la FIG. 7 pueden corresponder a Sub_PX_Anchura y Sub_PX_Altura de FIG. 12. P'_Anchura y P'_Altura de la FIG. 7 pueden corresponder a Sub_SX_Anchura y Sub_SX_Altura de FIG. 12. Exp_L, Exp_R, Exp_T y Exp_B de FIG. 7 pueden corresponder a VarX_L, VarX_R, VarX_T y VarX_B de FIG. 12, y pueden corresponder otros factores.
El proceso de redimensionamiento de las unidades de partición de la imagen en las secciones 12A a 12F puede diferir de la expansión o reducción de la imagen en las secciones 7A y 7B de la FIG. 7 en que los ajustes para la expansión o reducción de la imagen pueden estar presentes en proporción al número de unidades de partición. Además, el proceso de redimensionamiento de las unidades de partición de la imagen puede diferir de la expansión o reducción de la imagen en términos de tener ajustes aplicados en común o individualmente a las unidades de partición de la imagen. En el siguiente ejemplo, se describirán varios casos de redimensionamiento, y el proceso de redimensionamiento se puede realizar teniendo en cuenta la descripción anterior.
De acuerdo con la presente invención, el redimensionamiento de la imagen puede o no realizarse en todas las unidades de partición de la imagen y puede realizarse en algunas unidades de partición. A través del siguiente ejemplo, se describirán varios casos de redimensionamiento de imágenes. Además, por conveniencia de descripción, se asume que la operación de redimensionamiento es para expansión, la operación de redimensionamiento se basa en un factor de desplazamiento, la dirección de redimensionamiento es una dirección "arriba", una dirección "abajo", una dirección "izquierda", y una dirección "derecha", la dirección de redimensionamiento se establece para operar por la información de redimensionamiento, la unidad de una imagen es una foto, y la unidad de una imagen particionada es una baldosa.
A modo de ejemplo, se puede determinar si se va a realizar el redimensionamiento de la imagen en algunas unidades (por ejemplo, cps_ima_redimensionamiento_activado_indicador o IPS o metadatos, etc.). Alternativamente, se puede determinar si se va a realizar el redimensionamiento de la imagen en algunas unidades (por ejemplo, cpi_ima_redimensionamiento_activado_indicador). Esto puede permitirse cuando se produce en una unidad correspondiente (en la presente memoria descriptiva, una imagen) por primera vez o cuando se activa en una unidad superior (por ejemplo, cps_ima_redimensionamiento_activado_indicador = 1). Alternativamente, se puede determinar si realizar el redimensionamiento de la imagen en algunas unidades (por ejemplo, baldosa_redimensionamiento_indicador[i]; i es un índice de unidad de partición). Esto puede permitirse cuando se produce en una unidad correspondiente (en la presente memoria descriptiva, una ficha) por primera vez o cuando se activa en una unidad superior. Además, en parte, la posibilidad de cambiar el tamaño de la imagen puede determinarse implícitamente en función de los ajustes de codificación/decodificación, por lo que puede omitirse la información relacionada.
Como un ejemplo, si redimensionar unidades de partición en una imagen puede ser determinado de acuerdo a una señal indicando redimensionamiento de imagen (por ejemplo., cpi_ima_redimensionamiento_activado_indicador). En detalle, se puede determinar si cambiar el tamaño de todas las unidades de partición de una imagen en función de la señal. En este caso, puede generarse una única señal que indique el redimensionamiento de la imagen.
Como un ejemplo, si redimensionar unidades de partición en una imagen puede ser determinado de acuerdo a una señal indicando redimensionamiento de imagen (por ejemplo., baldosa_redimensionamiento_indicador[i]). En detalle, se puede determinar si cambiar el tamaño de algunas unidades de partición en una imagen de acuerdo con la señal. En este caso, puede generarse al menos una señal que indique el redimensionamiento de la imagen (por ejemplo, un número de señales igual al número de unidades de partición).
Como un ejemplo, si redimensionar una imagen puede ser determinado de acuerdo a una señal indicando redimensionamiento de imagen (por ejemplo., cpi_ima_redimensionamiento_activado_indicador), y si redimensionar unidades de partición en una imagen puede ser determinado de acuerdo a una señal indicando redimensionamiento de imagen (por ejemplo., baldosa_redimensionamiento indicador[i]). En detalle, cuando cualquier señal está activada (por ejemplo, cpi_ima_redimensionamiento_activado_indicador = 1), cualquier otra señal (por ejemplo, baldosa_redimensionamiento_indicador[i]) puede ser comprobada adicionalmente, y si redimensionar algunas unidades de partición en una imagen puede realizarse de acuerdo con la señal (en la presente memoria descriptiva, baldosa_redimensionamiento_indicador[i]). En este caso, puede generarse una pluralidad de señales que indiquen el redimensionamiento de la imagen.
Cuando se activa la señal que indica el redimensionamiento de la imagen, puede generarse información relacionada con el redimensionamiento de la imagen. En el siguiente ejemplo, se describirá una variedad de información relacionada con el redimensionamiento de imágenes.
Como ejemplo, puede generarse información de redimensionamiento aplicada a una imagen. En detalle, una pieza de información de redimensionamiento o un conjunto de piezas de información de redimensionamiento puede utilizarse como información de redimensionamiento para todas las unidades de partición de una imagen. Por ejemplo, una pieza de información de redimensionamiento aplicada en común a una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha" de unidades de partición en una imagen (o un valor de redimensionamiento aplicado a todas las direcciones de redimensionamiento soportadas o permitidas en unidades de partición; en este ejemplo, una pieza de información) o un conjunto de piezas de información de redimensionamiento aplicadas individualmente a la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha" (o un número de piezas de información de redimensionamiento igual al número de direcciones de redimensionamiento permitidas o soportadas por la unidad de partición; en este ejemplo, hasta cuatro piezas de información).
Como ejemplo, puede generarse información de redimensionamiento aplicada a unidades de partición en una imagen. En detalle, al menos una pieza de información de redimensionamiento o un conjunto de piezas de información de redimensionamiento puede utilizarse como información de redimensionamiento para todas las unidades de partición de una imagen. Es decir, una pieza de información de redimensionamiento o un conjunto de piezas de información de redimensionamiento puede utilizarse como información de redimensionamiento para una unidad de partición o como información de redimensionamiento para una pluralidad de unidades de partición. Por ejemplo, puede generarse una pieza de información de redimensionamiento aplicada en común a una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha" de una unidad de partición en una imagen, o puede generarse un conjunto de piezas de información de redimensionamiento aplicadas individualmente a la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha". Alternativamente, puede generarse una pieza de información de redimensionamiento aplicada en común a una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha" de una pluralidad de unidades de partición en una imagen, o puede generarse un conjunto de piezas de información de redimensionamiento aplicadas individualmente a la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha". La configuración del conjunto de redimensionamiento significa información de valor de redimensionamiento relativa a al menos una dirección de redimensionamiento.
En resumen, puede generarse información de redimensionamiento aplicada en común a unidades de partición en una imagen. Alternativamente, puede generarse información de redimensionamiento aplicada individualmente a las unidades de partición de una imagen. El siguiente ejemplo se describirá en combinación con un ejemplo en el que se redimensiona la imagen.
Por ejemplo, cuando se activa la señal que indica redimensionamiento de imagen (por ejemplo, cpi_ima_redimensionamiento_activado_indicador), puede generarse información de redimensionamiento aplicada en común a unidades de partición en una imagen. Alternativamente, cuando se activa la señal que indica el redimensionamiento de la imagen (por ejemplo, cpi_ima_redimensionamiento_activado_indicador), puede generarse información de redimensionamiento aplicada individualmente a las unidades de partición de una imagen. Alternativamente, cuando se activa la señal que indica el redimensionamiento de la imagen (por ejemplo, baldosa_redimensionamiento_indicador[i]), puede generarse información de redimensionamiento aplicada individualmente a las unidades de partición de una imagen. Alternativamente, cuando se activa la señal que indica el redimensionamiento de la imagen (por ejemplo, baldosa_redimensionamiento_indicador[i]), puede generarse información de redimensionamiento aplicada en común a las unidades de partición de una imagen.
La dirección de redimensionamiento, la información de redimensionamiento y similares de la imagen pueden procesarse implícita o explícitamente dependiendo de los ajustes de codificación/decodificación. Para el procesamiento implícito, la información de redimensionamiento puede asignarse como un valor predeterminado en función de las características, el tipo y similares de la imagen.
Se ha descrito que la dirección de redimensionamiento en el proceso de redimensionamiento de la presente invención puede ser al menos una de las direcciones "arriba", "abajo", "izquierda" y "derecha", y que la dirección de redimensionamiento y la información de redimensionamiento pueden procesarse explícita o implícitamente. Es decir, se puede predeterminar implícitamente un valor de redimensionamiento (incluido 0; esto significa que no hay redimensionamiento) para algunas direcciones, y se puede asignar explícitamente un valor de redimensionamiento (incluido 0; esto significa que no hay redimensionamiento) para otras direcciones.
Incluso en una unidad de partición en una imagen, la dirección de redimensionamiento y la información de redimensionamiento pueden establecerse para ser procesadas implícita o explícitamente, y esto puede aplicarse a la unidad de partición en la imagen. Por ejemplo, puede producirse un ajuste aplicado a una unidad de partición en una imagen (en la presente memoria descriptiva, puede producirse un número de ajustes igual al número de unidades de partición), puede producirse un ajuste aplicado a una pluralidad de unidades de partición en una imagen, o puede producirse un ajuste aplicado a todas las unidades de partición en una imagen (en la presente memoria descriptiva, puede producirse un ajuste), y puede producirse al menos un ajuste en una imagen (por ejemplo, puede producirse de uno a un número de ajustes igual al número de unidades de partición). La información de configuración aplicada a las unidades de partición de una imagen puede recopilarse, y puede definirse un único conjunto de configuraciones.
FIG. 13 es un diagrama de ejemplo de un conjunto de redimensionamiento o ajuste de una unidad de partición en una imagen.
En detalle, FIG. 13 ilustra varios ejemplos de procesamiento implícito o explícito de una dirección de redimensionamiento e información de redimensionamiento para unidades de partición en una imagen. En el siguiente ejemplo, para facilitar la descripción, el procesamiento implícito asume que los valores de redimensionamiento de algunas direcciones de redimensionamiento son 0.
Como se muestra en la Sección 13A, el redimensionamiento puede ser procesado explícitamente cuando el límite de una unidad de partición coincide con el límite de una imagen (en la presente memoria descriptiva, una línea sólida gruesa), y el redimensionamiento puede ser procesado implícitamente cuando el límite de una unidad de partición no coincide con el límite de una imagen (una línea sólida delgada). Por ejemplo, P0 puede redimensionarse en dirección "arriba" y en dirección "izquierda" (a2 y a0), P1 puede redimensionarse en dirección "arriba" (a2), P2 puede redimensionarse en dirección "arriba" y en dirección "derecha" (a2 y a1), P3 puede redimensionarse en la dirección "abajo" y en la dirección "izquierda" (a3 y a0), P4 puede redimensionarse en la dirección "abajo" (a3) y P5 puede redimensionarse en la dirección "abajo" y en la dirección "derecha" (a3 y a1). En este caso, es posible que no se permita el redimensionamiento en las otras direcciones.
Como se muestra en la Sección 13B, algunas direcciones (en la presente memoria descriptiva, arriba y abajo) de una unidad de partición pueden permitir que el redimensionamiento sea procesado explícitamente, y algunas direcciones (en la presente memoria descriptiva, izquierda y derecha) de una unidad de partición pueden permitir que el redimensionamiento sea procesado explícitamente (en la presente memoria descriptiva, una línea sólida gruesa) cuando el límite de la unidad de partición coincide con el límite de la imagen y puede permitir que el redimensionamiento sea procesado implícitamente (en la presente memoria descriptiva, una línea sólida delgada) cuando el límite de la unidad de partición no coincide con el límite de la imagen. Por ejemplo, P0 puede redimensionarse en dirección "arriba", dirección "abajo" y dirección "izquierda" (b2, b3 y b0), P1 puede redimensionarse en dirección "arriba" y dirección "abajo" (b2 y b3), P2 puede redimensionarse en dirección "arriba", dirección "abajo" y dirección "derecha" (b2, b3 y b1), P3 puede redimensionarse hacia arriba, hacia abajo y hacia la izquierda (b3, b4 y b0), P4 puede redimensionarse hacia arriba y hacia abajo (b3 y b4) y P5 puede redimensionarse hacia arriba, hacia abajo y hacia la derecha (b3, b4 y b1). En este caso, es posible que no se permita el redimensionamiento en las otras direcciones.
Como se muestra en la Sección 13C, algunas direcciones (en la presente memoria descriptiva, izquierda y derecha) de una unidad de partición pueden permitir que el redimensionamiento sea procesado explícitamente, y algunas direcciones (en la presente memoria descriptiva, arriba y abajo) de una unidad de partición pueden permitir que el redimensionamiento sea procesado explícitamente (en la presente memoria descriptiva, una línea sólida gruesa) cuando el límite de la unidad de partición coincide con el límite de la imagen y puede permitir que el redimensionamiento sea procesado implícitamente (en la presente memoria descriptiva, una línea sólida delgada) cuando el límite de la unidad de partición no coincide con el límite de la imagen. Por ejemplo, P0 puede redimensionarse en dirección "arriba", "izquierda" y "derecha" (c4, c0 y c1), P1 puede redimensionarse en dirección "arriba", "izquierda" y "derecha" (c4, c1 y c2), P2 puede redimensionarse en dirección "arriba", "izquierda" y "derecha" (c4, c2 y c3), P3 puede redimensionarse en dirección "abajo", "izquierda" y "derecha" (c5, c0 y c1), P4 puede redimensionarse en dirección "abajo", "izquierda" y "derecha" (c5, c1 y c2) y P5 puede redimensionarse en dirección "abajo", "izquierda" y "derecha" (c5, c2 y c3). En este caso, es posible que no se permita el redimensionamiento en las otras direcciones.
Los ajustes relacionados con el redimensionamiento de imágenes como el ejemplo anterior pueden tener varios casos. Se admite una pluralidad de conjuntos de ajustes, de forma que la información de selección del conjunto de ajustes puede generarse explícitamente, o puede determinarse implícitamente un conjunto de ajustes predeterminado de acuerdo con los ajustes de codificación/decodificación (por ejemplo, las características, el tipo y similares de la imagen).
FIG. 14 es un diagrama de ejemplo en el que se representan tanto un proceso de redimensionamiento de una imagen como un proceso de redimensionamiento de unidades de partición en una imagen.
En referencia a la FIG. 14, el proceso de redimensionamiento de una imagen y el proceso inverso pueden proceder en las direcciones e y f, y el proceso de redimensionamiento de unidades de partición en una imagen y el proceso inverso pueden proceder en las direcciones d y g. Es decir, se puede realizar un proceso de redimensionamiento en una imagen, y a continuación se puede realizar un proceso de redimensionamiento en unidades de partición en una imagen. El orden de redimensionamiento puede no ser fijo. Esto significa que puede ser posible una pluralidad de procesos de redimensionamiento.
En resumen, el proceso de redimensionamiento de imágenes puede clasificarse en redimensionamiento de una imagen (o redimensionamiento de una imagen antes de la partición) y redimensionamiento de unidades de partición en una imagen (o redimensionamiento de una imagen después de la partición). No se puede realizar ninguna, ninguna o ninguna de las dos operaciones de redimensionamiento de una imagen y de redimensionamiento de las unidades de partición de una imagen, lo que puede determinarse en función de los ajustes de codificación/decodificación (por ejemplo, las características, el tipo y similares de la imagen).
Cuando en el ejemplo, una pluralidad de procesos de redimensionamiento son realizados, el redimensionamiento de una imagen puede ser realizado en al menos una de las direcciones "arriba", "abajo", "izquierda" y "derecha" de la imagen, y al menos una de las unidades de partición en la imagen puede ser redimensionada. En este caso, el redimensionamiento puede realizarse en al menos una de las direcciones "arriba", "abajo", "izquierda" y "derecha" de la unidad de partición a redimensionar.
En referencia a la FIG. 14, el tamaño de una imagen antes del redimensionamiento (A) puede definirse como P_Anchura * P_Altura, el tamaño de una imagen después del redimensionamiento primario (o una imagen antes del redimensionamiento secundario; B) puede definirse como P'_Anchura * P'_Altura, y el tamaño de una imagen después del redimensionamiento secundario (o una imagen después del redimensionamiento final; C) puede definirse como P"_Anchura * P"_Altura. La imagen antes del redimensionamiento (A) es una imagen en la que no se ha realizado ningún redimensionamiento, la imagen después del redimensionamiento primario (B) es una imagen en la que se ha realizado algún redimensionamiento y la imagen después del redimensionamiento secundario (C) es una imagen en la que se ha realizado todo el redimensionamiento. Por ejemplo, la imagen después del redimensionamiento primario (B) puede denotar una imagen en la que el redimensionamiento se realiza en unidades de partición de la imagen como se muestra en las Secciones 13A a 13C, y la imagen después del redimensionamiento secundario (C) puede denotar una imagen adquirida redimensionando completamente la imagen después del redimensionamiento primario (B) como se muestra en la Sección 7A de la FIG. 7. El caso contrario también es posible. Sin embargo, la presente invención no se limita al ejemplo anterior, y pueden realizarse varias modificaciones.
En el tamaño de la imagen después del redimensionamiento primario (B), P'_Anchura puede ser adquirido a través de P_Anchura y al menos un valor de redimensionamiento horizontal que es redimensionado lateralmente, y P'_Altura puede ser adquirido a través de P_Altura y al menos un valor de redimensionamiento vertical que es redimensionado longitudinalmente. En este caso, el valor de redimensionamiento puede ser un valor de redimensionamiento generado en unidades de partición.
En el tamaño de la imagen después del redimensionamiento secundario (C), P"_Anchura puede adquirirse a través de P'_Anchura y al menos un valor de redimensionamiento horizontal que se redimensiona lateralmente, y P"_Altura puede adquirirse a través de P'_Altura y al menos un valor de redimensionamiento vertical que se redimensiona longitudinalmente. En este caso, el valor de redimensionamiento puede ser un valor de redimensionamiento generado en la imagen.
En resumen, el tamaño de la imagen después del redimensionamiento puede adquirirse a través de al menos un valor de redimensionamiento y el tamaño de la imagen antes del redimensionamiento.
En una región redimensionada de la imagen, puede generarse información relativa a un procedimiento de procesamiento de datos. A través del siguiente ejemplo, se describirán varios procedimientos de procesamiento de datos. Un procedimiento de procesamiento de datos generado durante el proceso de redimensionamiento inverso puede aplicarse de forma idéntica o similar al del proceso de redimensionamiento. Los procedimientos de procesamiento de datos en el proceso de redimensionamiento y el proceso de redimensionamiento inverso se describirán a través de varias combinaciones que se describirán a continuación.
A modo de ejemplo, puede generarse un procedimiento de procesamiento de datos aplicado a una imagen. En detalle, se puede utilizar un procedimiento de procesamiento de datos o un conjunto de procedimientos de procesamiento de datos como procedimiento de procesamiento de datos para todas las unidades de partición de la imagen (en la presente memoria descriptiva, se asume que todas las unidades de partición van a ser redimensionadas). Por ejemplo, un procedimiento de procesamiento de datos aplicado en común a una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha" de una unidad de partición en una imagen (o un procedimiento de procesamiento de datos o similar aplicado a todas las direcciones de redimensionamiento admitidas o permitidas en las unidades de partición; en este ejemplo, una pieza de información) o un conjunto de procedimientos de procesamiento de datos aplicados a la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha" (o un número de procedimientos de procesamiento de datos igual al número de direcciones de redimensionamiento soportadas o permitidas en las unidades de partición; en este ejemplo, hasta cuatro piezas de información).
Como ejemplo, puede generarse un procedimiento de procesamiento de datos aplicado a unidades de partición en una imagen. En detalle, se puede utilizar al menos un procedimiento de procesamiento de datos o un conjunto de procedimientos de procesamiento de datos como procedimiento de procesamiento de datos para algunas unidades de partición en la imagen (en la presente memoria descriptiva, se supone que las unidades de partición se van a redimensionar). Es decir, un procedimiento de procesamiento de datos o un conjunto de procedimientos de procesamiento de datos puede utilizarse como procedimiento de procesamiento de datos para una unidad de partición o como procedimiento de procesamiento de datos para una pluralidad de unidades de partición. Por ejemplo, puede generarse un procedimiento de procesamiento de datos aplicado en común a una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha" de una unidad de partición en una imagen, o puede generarse un conjunto de procedimientos de procesamiento de datos aplicados individualmente a la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha". Alternativamente, puede generarse un procedimiento de procesamiento de datos aplicado en común a una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha" de una pluralidad de unidades de partición en una imagen, o puede generarse un conjunto de procedimientos de procesamiento de datos aplicados individualmente a la dirección "arriba", la dirección "abajo", la dirección "izquierda" y la dirección "derecha". La configuración del conjunto de procedimientos de procesamiento de datos significa un procedimiento de procesamiento de datos para al menos una dirección de redimensionamiento.
En resumen, puede utilizarse un procedimiento de procesamiento de datos aplicado en común a unidades de partición en una imagen. Como alternativa, puede utilizarse un procedimiento de tratamiento de datos aplicado individualmente a las unidades de partición de una imagen. El procedimiento de procesamiento de datos puede utilizar un procedimiento predeterminado. El procedimiento de procesamiento de datos predeterminado puede proporcionarse como al menos un procedimiento. Esto corresponde a un proceso implícito, y la información de selección para el procedimiento de procesamiento de datos puede generarse explícitamente, lo que puede determinarse en función de los ajustes de codificación/decodificación (por ejemplo, las características, el tipo y similares de la imagen).
Es decir, puede utilizarse un procedimiento de procesamiento de datos aplicado en común a unidades de partición en una imagen. Se puede utilizar un procedimiento predeterminado o seleccionar uno de una pluralidad de procedimientos de tratamiento de datos. Como alternativa, puede utilizarse un procedimiento de tratamiento de datos aplicado individualmente a las unidades de partición de una imagen. En función de las unidades de partición, se puede utilizar un procedimiento predeterminado o seleccionar uno de una pluralidad de procedimientos de tratamiento de datos.
En el siguiente ejemplo, se describirán algunos casos en los que se redimensionan unidades de partición en una imagen (en la presente memoria descriptiva, se asume que el redimensionamiento es para expansión) (en la presente memoria descriptiva, una región redimensionada se rellena con algunos datos de la imagen).
Las regiones específicas TL a BR de algunas unidades (por ejemplo, S0 a S5 en las Secciones 12A a 12F) pueden redimensionarse mediante el uso de datos de regiones específicas tl a br de algunas unidades P0 a P5 (en las Secciones 12A a 12F). En este caso, las unidades pueden ser iguales (por ejemplo, S0 y P0) o diferentes (por ejemplo, S0 y P1) entre sí. Es decir, las regiones TL a BR a redimensionar pueden llenarse con algunos datos tl a br de una unidad de partición correspondiente y pueden llenarse con algunos datos de una unidad de partición distinta de la unidad de partición correspondiente.
Como un ejemplo, las regiones TL a BR de las cuales la unidad de partición actual es redimensionada pueden redimensionadas usando datos tl a br de la unidad de partición actual. Por ejemplo, TL de S0 puede llenarse con datos
tl de P0, RC de S1 puede llenarse con datos tr rc br de P1, BL+BC de S2 puede llenarse con datos bl be br de
P2, y TL LC BL de S3 puede llenarse con datos tl Ic bl de P3.
Como un ejemplo, las regiones TL a BR de las cuales la unidad de partición actual es redimensionada pueden ser redimensionadas usando datos tl a br de una unidad de partición que es espacialmente adyacente a la unidad de partición actual. Por ejemplo, TL TC TR de S4 puede llenarse con datos bl be br de P1 en la dirección "arriba",
BL BC de S2 puede llenarse con datos tl tc tr de P5 en la dirección "abajo", LC BL de S2 puede llenarse con datos tl rc bl de P1 en dirección "izquierda", RC de S3 puede llenarse con datos tl Ic bl de P4 en dirección "derecha", y BR de S0 puede llenarse con datos tl de P4 en dirección "abajo izquierda".
Como un ejemplo, las regiones TL a BR de las cuales la unidad de partición actual es redimensionada pueden redimensionadas usando datos tl a br de una unidad de partición que no es espacialmente adyacente a la unidad de partición actual. Por ejemplo, pueden adquirirse datos en una región límite (por ejemplo, horizontal, vertical, etc.) entre ambos extremos de una imagen. LC de S3 puede adquirirse mediante el uso de los datos tr rc br de S5, RC de S2 puede adquirirse mediante el uso de los datos tl Ic de S0, BC de S4 puede adquirirse mediante el uso de los datos tc tr de S1, y TC de S1 puede adquirirse mediante el uso de los datos be de S4.
Alternativamente, pueden adquirirse datos de regiones específicas (una región que no es espacialmente adyacente pero determinada a tener alta correlación con una región redimensionada) de la imagen. BC de S1 puede adquirirse mediante el uso de los datos tl lc bl de S3, RC de S3 puede adquirirse mediante el uso de los datos tl tc de S1, y RC de S5 puede adquirirse mediante el uso de los datos be de S0.
También, algunos casos en los cuales una unidad de partición en una imagen es redimensionada (en la presente memoria descriptiva, se asume que el redimensionamiento es para reducción) son los siguientes (en la presente memoria descriptiva, la eliminación es realizada a través de restauración o corrección usando algunos datos de una imagen).
Regiones específicas TL a BR de algunas unidades (por ejemplo, S0 a S5 en las Secciones 12A a 12F) pueden ser utilizadas en un proceso de restauración o corrección de regiones específicas tl a br de algunas unidades P0 a P5. En este caso, las unidades pueden ser iguales (por ejemplo, S0 y P0) o diferentes (por ejemplo, S0 y P2) entre sí. Es decir, la región a redimensionar puede utilizarse para restaurar algunos datos de una unidad de partición correspondiente y a continuación eliminarse, y la región a redimensionar puede utilizarse para restaurar algunos datos de una unidad de partición distinta de la unidad de partición correspondiente y a continuación eliminarse. El ejemplo detallado puede derivarse inversamente del proceso de expansión, por lo que se omitirá.
El ejemplo puede aplicarse a un caso en el que los datos con alta correlación están presentes en una región a redimensionar, y la información relativa a las ubicaciones referenciadas para el redimensionamiento puede generarse explícitamente o adquirirse implícitamente de acuerdo con una regla predeterminada. Alternativamente, la información relacionada puede comprobarse de forma combinada. Este puede ser un ejemplo que puede aplicarse cuando se adquieren datos de otra región con continuidad en la codificación de una imagen de 360 grados.
A continuación, se describirá un ejemplo en el que las unidades de partición de una imagen se redimensionan en el aparato de codificación/decodificación de acuerdo con una realización de la presente invención.
Se puede realizar un proceso de partición en una imagen de entrada antes de iniciar la codificación. Se puede realizar un proceso de redimensionamiento en una unidad de partición mediante el uso de información de redimensionamiento, y la imagen se puede codificar después de redimensionar la unidad de partición. Los datos de codificación de la imagen pueden almacenarse en la memoria una vez finalizada la codificación, y pueden añadirse a un caudal de bits y transmitirse a continuación.
Se puede realizar un proceso de partición mediante el uso de información de partición antes de iniciar la decodificación.
Puede realizarse un proceso de redimensionamiento en las unidades de partición mediante el uso de la información de redimensionamiento, y los datos de decodificación de la imagen pueden analizarse para decodificarse en las unidades de partición redimensionadas. Los datos de decodificación de la imagen pueden almacenarse en la memoria una vez finalizada la decodificación, y la pluralidad de unidades de partición se fusionan en una sola unidad después de realizar un proceso de redimensionamiento inverso de las unidades de partición, con lo que puede salir una imagen.
Puede aplicarse otro ejemplo del proceso de redimensionamiento de imagen descrito anteriormente. La presente invención no se limita a ello, y pueden introducirse modificaciones.
En el proceso de ajuste de la imagen, se puede permitir que se combinen el redimensionamiento y la reconstrucción de la imagen. La reconstrucción de la imagen puede realizarse después de cambiar el tamaño de la imagen.
Alternativamente, el redimensionamiento de la imagen puede realizarse después de la reconstrucción de la imagen.
Además, se puede permitir que se combinen la partición de la imagen, la reconstrucción de la imagen y el redimensionamiento de la imagen. El redimensionamiento de la imagen y la reconstrucción de la imagen pueden realizarse después de la partición de la imagen. El orden de los ajustes de imagen no es fijo y puede modificarse, lo
que puede determinarse en función de los ajustes de codificación/decodificación. En este ejemplo, el proceso de ajuste de la imagen se describirá como la reconstrucción de la imagen y el redimensionamiento de la imagen que se realiza después de realizar la partición de la imagen. Sin embargo, dependiendo de los ajustes de codificación/decodificación, es posible otro orden, y también se pueden hacer modificaciones al respecto.
Por ejemplo, el proceso de ajuste de imagen puede realizarse en el siguiente orden: partición -> reconstrucción; reconstrucción -> partición; partición -> redimensionamiento; redimensionamiento -> partición; redimensionamiento -> reconstrucción; reconstrucción -> redimensionamiento; partición -> reconstrucción -> redimensionamiento; partición -> redimensionamiento -> reconstrucción; redimensionamiento -> partición -> reconstrucción; redimensionamiento -> reconstrucción -> partición; reconstrucción -> partición -> redimensionamiento; y reconstrucción -> redimensionamiento -> partición, y puede ser posible una combinación con ajustes de imagen adicionales. Como se ha descrito anteriormente, el proceso de ajuste de la imagen puede realizarse secuencialmente, pero parte o la totalidad del proceso de ajuste puede realizarse simultáneamente. Además, como parte del proceso de ajuste de la imagen, se puede realizar una pluralidad de procesos de acuerdo con los ajustes de codificación/decodificación (por ejemplo, las características, el tipo y similares de una imagen). El siguiente ejemplo indica varias combinaciones del proceso de ajuste de la imagen.
Como ejemplo, P0 a P5 en la Sección 11A pueden corresponder a S0 a S5 en la Sección 11B, y el proceso de reconstrucción (en la presente memoria descriptiva, reordenamiento de píxeles) y el proceso de redimensionamiento (en la presente memoria descriptiva, redimensionamiento de unidades de partición para tener el mismo tamaño) pueden realizarse en unidades de partición. Por ejemplo, P0 a P5 pueden redimensionarse en función del desplazamiento y asignarse a S0 a S5. Además, es posible que P0 no se reconstruya y se asigne a S0. P1 puede girarse 90 grados y asignarse a S1. P2 puede girarse 180 grados y asignarse a S2. P3 puede girarse 270 grados y asignarse a S3. P4 puede voltearse horizontalmente y asignarse a S4. P5 puede voltearse verticalmente y asignarse a S5.
Como ejemplo, P0 a P5 en la Sección 11A pueden corresponder a posiciones que son iguales o diferentes de S0 a S5 en la Sección 11B, y el proceso de reconstrucción (en la presente memoria descriptiva, reordenamiento de píxeles y unidades de partición) y el proceso de redimensionamiento (en la presente memoria descriptiva, redimensionamiento de unidades de partición para tener el mismo tamaño) pueden realizarse en unidades de partición. Por ejemplo, P0 a P5 pueden redimensionarse en función de la escala y asignarse a S0 a S5. Además, es posible que P0 no se reconstruya y se asigne a S0. Es posible que P1 no se reconstruya y se asigne a S2. P2 puede girarse 90 grados y asignarse a S1. P3 puede voltearse horizontalmente y asignarse a S4. P4 puede girarse 90 grados y voltearse horizontalmente y, a continuación, puede asignarse a S5. P5 puede ser volteado horizontalmente y a continuación girado 180 grados y a continuación puede ser asignado a S3.
Como ejemplo, P0 a P5 en la Sección 11A pueden corresponder a E0 a E5 en la Sección 5E, y el proceso de reconstrucción (en la presente memoria descriptiva, reordenamiento de píxeles y unidades de partición) y el proceso de redimensionamiento (en la presente memoria descriptiva, redimensionamiento de unidades de partición para tener los diferentes tamaños) pueden realizarse en unidades de partición. Por ejemplo, P0 puede no ser redimensionado y reconstruido y entonces puede ser asignado a E0, P1 puede ser redimensionado basado en la escala pero no es reconstruido y entonces puede ser asignado a E1, P2 puede no ser redimensionado pero reconstruido y entonces puede ser asignado a E2, P3 puede redimensionarse en función del desplazamiento pero no reconstruirse y asignarse a E4, P4 puede no redimensionarse pero reconstruirse y asignarse a<e>5, y P5 puede redimensionarse en función del desplazamiento y reconstruirse y asignarse a E3.
Como en el ejemplo anterior, la posición absoluta o la posición relativa de las unidades de partición antes y después del proceso de ajuste de la imagen en la imagen puede mantenerse o cambiarse, lo que puede determinarse de acuerdo con los ajustes de codificación/decodificación (por ejemplo, las características, el tipo y similares de la imagen). También son posibles varias combinaciones de los procesos de ajuste de la imagen. La presente invención no se limita a ello, por lo que pueden introducirse varias modificaciones.
El codificador puede añadir la información generada durante el proceso anterior a un caudal de bits en unidades de al menos una de las secuencias, imágenes, cortes, baldosas y similares, y el decodificador puede analizar la información relacionada del caudal de bits. Además, la información puede incluirse en el caudal de bits en forma de IPS o metadatos.
[Tabla 4]
La Tabla 4 representa ejemplos de elementos sintácticos asociados con una pluralidad de ajustes de imagen. La siguiente descripción se centrará en un elemento sintáctico adicional. Además, en el siguiente ejemplo, un elemento de sintaxis no se limita a ninguna unidad específica y puede admitir varias unidades, tales como una secuencia, una imagen, un corte y una baldosa. Alternativamente, el elemento de sintaxis puede incluirse en IPS, metadatos y similares.
Refiriéndose a la Tabla 4, partes_activo_indicador denota un elemento de sintaxis que indica si particionar algunas unidades. Cuando el elemento de sintaxis está activado (partes_activo_indicador = 1), una imagen puede dividirse en una pluralidad de unidades, y la pluralidad de unidades puede codificarse o decodificarse. Además, se puede comprobar información adicional sobre la partición. Cuando el elemento de sintaxis está desactivado (partes_activo_indicador = 0), se codifica o decodifica una imagen original. En este ejemplo, la descripción se centrará en una unidad de partición rectangular tal como una baldosa, y se pueden proporcionar diferentes configuraciones para la baldosa existente y la información de partición.
En la presente memoria descriptiva, núm_particiones se relaciona con un elemento de sintaxis que indica el número de unidades de partición, y núm_particiones más 1 es igual al número de unidades de partición.
Además, parte_superior[i] y parte_izquierda[i] se relacionan con elementos de sintaxis que indican información de localización de las unidades de partición y denotan posiciones de inicio horizontales y posiciones de inicio verticales de las unidades de partición (por ejemplo, posiciones superiores izquierdas de las unidades de partición). Además, parte_anchura[i] y parte_altura[i] se relacionan con elementos sintácticos que indican información sobre el tamaño de las unidades de partición y denotan las anchuras y las alturas de las unidades de partición. En este caso, las posiciones de inicio y la información de tamaño pueden establecerse en unidades de píxel o en unidades de bloque. Además, el elemento de sintaxis puede ser un elemento de sintaxis que puede generarse durante el proceso de reconstrucción de la imagen o un elemento de sintaxis que puede generarse cuando el proceso de partición de la imagen y el proceso de reconstrucción de la imagen se construyen en combinación.
Asimismo, parte_cabezal_activado_indicador denota un elemento de sintaxis que indica si admite ajustes de codificación/decodificación para una unidad de partición. Cuando el elemento de sintaxis está activado (parte_cabezal_activado_indicador = 1), pueden proporcionarse ajustes de codificación/decodificación para una unidad de partición. Cuando el elemento de sintaxis está desactivado (parte_cabezal_activado_indicador = 0), no se pueden proporcionar los ajustes de codificación/decodificación, y se pueden asignar ajustes de codificación/decodificación para una unidad superior.
El ejemplo anterior no se limita a un ejemplo de elementos de sintaxis asociados con el redimensionamiento y la reconstrucción en una unidad de partición entre ajustes de imagen, y se pueden hacer modificaciones al mismo como otras unidades de partición y ajustes de la presente invención. Este ejemplo se ha descrito bajo el supuesto de que el redimensionamiento y la reconstrucción se realizan después de realizar la partición, pero la presente invención no se limita a ello, y pueden realizarse modificaciones en otro orden de configuración de imagen o similar. Asimismo, el tipo, orden, condición y similares del elemento sintáctico admitido en el siguiente ejemplo se limitan únicamente al ejemplo y, por lo tanto, pueden modificarse y determinarse en función de los ajustes de codificación/decodificación.
[Tabla 5]
La Tabla 5 representa elementos de sintaxis de ejemplo asociados con la reconstrucción en una unidad de partición entre configuraciones de imagen.
Refiriéndose a la Tabla 5, parte_convert:indicador[i] denota un elemento de sintaxis que indica si reconstruir una unidad de partición. El elemento de sintaxis puede generarse para cada unidad de partición. Cuando se activa el elemento de sintaxis (parte_convert:indicador[i] = 1), la unidad de partición reconstruida puede codificarse o decodificarse, y puede comprobarse información adicional relacionada con la reconstrucción. Cuando se desactiva el elemento de sintaxis (parte_convert:indicador[i] = 0), se codifica o decodifica una unidad de partición original. En la presente memoria descriptiva, convert_tipo_indicador[i] se relaciona con la información de modo relativa a la reconstrucción de una unidad de partición y puede ser información relativa al reordenamiento de píxeles.
También puede generarse un elemento de sintaxis que indique una reconstrucción adicional, como el reordenamiento de la unidad de partición. En este ejemplo, el reordenamiento de la unidad de partición puede realizarse a través de parte_superior y parte_izquierda, que son elementos de sintaxis que indican la partición de la imagen anterior, o puede generarse un elemento de sintaxis (por ejemplo, información de índice) asociado con el reordenamiento de la unidad de partición.
[Tabla 6]
La Tabla 6 representa elementos de sintaxis de ejemplo asociados con el redimensionamiento en una unidad de partición entre configuraciones de imagen.
Refiriéndose a la Tabla 6, parte_redimensionamiento_indicador[i] denota un elemento de sintaxis que indica si redimensionar una unidad de partición en una imagen. El elemento de sintaxis puede generarse para cada unidad de partición. Cuando se activa el elemento de sintaxis (parte_redimensionamiento_indicador[i] = 1), la unidad de partición redimensionada puede codificarse o decodificarse tras el redimensionamiento, y puede comprobarse información adicional relacionada con el redimensionamiento. Cuando se desactiva el elemento de sintaxis (parte_redimensionamiento_indicador[i] = 0), se codifica o decodifica una unidad de partición original.
Además, anchura_escala[i] y altura_escala[i] denotan factores de escala asociados con el redimensionamiento horizontal y el redimensionamiento vertical del redimensionamiento basado en el factor de escala en una unidad de partición.
Además, superior_altura_desplazamiento[i] y inferior_altura_desplazamiento[i] denotan un factor de desplazamiento para una dirección "arriba" y un factor de desplazamiento para una dirección "abajo", que están asociados con el redimensionamiento basado en el factor de desplazamiento en una unidad de partición, y izquierda_anchura_desplazamiento[i] y derecha_anchura_desplazamiento[i] denotan un factor de desplazamiento para una dirección "izquierda" y un factor de desplazamiento para una dirección "derecha", que están asociados con el redimensionamiento basado en el factor de desplazamiento en una unidad de partición.
Además, redimensionamiento_tipo_indicador[i][j] denota un elemento de sintaxis que indica un procedimiento de procesamiento de datos para una región redimensionada en una unidad de partición. El elemento de sintaxis denota un procedimiento individual de procesamiento de datos para una dirección de redimensionamiento. Por ejemplo, se puede generar un elemento de sintaxis que indique un procedimiento de procesamiento de datos individual para una región redimensionada en una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha". El elemento de sintaxis puede generarse sobre la base de la información de redimensionamiento (por ejemplo, que puede generarse sólo cuando el redimensionamiento se realiza en algunas direcciones).
El proceso de ajuste de imagen descrito anteriormente puede ser un proceso que se aplica de acuerdo con las características, tipo y similares de la imagen. En el siguiente ejemplo, el proceso de ajuste de imagen descrito anteriormente puede aplicarse sin o con algún cambio, incluso sin mención especial. En el siguiente ejemplo, la descripción se centrará en un caso de adición o modificación del ejemplo anterior.
Por ejemplo, una imagen de 360 grados o una imagen omnidireccional generada a través de una cámara de 360 grados tiene características diferentes de las de una imagen adquirida a través de una cámara general y tiene un entorno de codificación diferente del de compresión de una imagen normal.
A diferencia de una imagen normal, una imagen de 360 grados puede no tener ninguna parte límite con discontinuidad, y los datos de todas las regiones de la imagen de 360 grados pueden tener continuidad. Además, un aparato como un PMC puede requerir una imagen de alta definición porque la imagen debe reproducirse delante de los ojos a través de una lente. Cuando se adquiere una imagen a través de una cámara estereoscópica, la cantidad de datos de imagen procesados puede aumentar. Se pueden realizar varios procesos de ajuste de imagen considerando una imagen de 360 grados para proporcionar entornos de codificación eficientes, incluyendo el ejemplo anterior.
La cámara de 360 grados puede ser una pluralidad de cámaras o una cámara que tenga una pluralidad de lentes y sensores. La cámara o el objetivo pueden cubrir todas las direcciones alrededor de cualquier punto central capturado por la cámara.
La imagen de 360 grados puede ser codificada usando varios procedimientos. Por ejemplo, la imagen de 360 grados puede codificarse mediante el uso de diversos algoritmos de procesamiento de imágenes en un espacio 3D, y puede convertirse a un espacio 2D y codificarse mediante el uso de varios algoritmos de procesamiento de imágenes. De acuerdo con la presente invención, la siguiente descripción se centrará en un procedimiento de conversión de una imagen de 360 grados en un espacio 2D y de codificación o decodificación de la imagen convertida.
Un aparato de codificación de imágenes de 360 grados de acuerdo con una realización de la presente invención puede incluir algunos o todos los elementos mostrados en la FIG. 1, y puede incluir además una unidad de preprocesamiento configurada para preprocesar una imagen de entrada (Cosido, Proyección, Empaquetado Regional). Mientras tanto, un aparato decodificador de imágenes de 360 grados de acuerdo con una realización de la presente invención puede incluir algunos o todos los elementos mostrados en la FIG. 2, y puede incluir además una unidad de post procesamiento configurada para post-procesar una imagen codificada antes de decodificar la imagen codificada para reproducir una imagen de salida.
En otras palabras, el codificador puede preprocesar una imagen de entrada, codificar la imagen preprocesada y transmitir un caudal de bits que incluya la imagen, y el decodificador puede analizar, decodificar y postprocesar el caudal de bits transmitido para generar una imagen de salida. En este caso, el caudal de bits transmitido puede incluir información generada durante el proceso de preprocesamiento e información generada durante el proceso de codificación, y el caudal de bits puede analizarse y utilizarse durante el proceso de decodificación y el proceso de postprocesamiento.
Posteriormente, se describirá con más detalle un procedimiento de operación para un codificador de imágenes de 360 grados, y un procedimiento de operación para un decodificador de imágenes de 360 grados puede ser fácilmente derivado por los expertos en la materia, ya que el procedimiento de operación para el decodificador de imágenes de 360 grados es opuesto al procedimiento de operación para el codificador de imágenes de 360 grados, y por lo tanto se omitirá una descripción detallada del mismo.
La imagen de entrada puede someterse a un proceso de cosido y proyección en una estructura de proyección 3D basada en esferas, y los datos de imagen en la estructura de proyección 3D pueden proyectarse en una imagen 2D a través del proceso.
La imagen proyectada puede configurarse para incluir parte o todo el contenido de 360 grados de acuerdo con los ajustes de codificación. En este caso, la información de ubicación de una región (o un píxel) que se colocará en el centro de la imagen proyectada puede generarse implícitamente como un valor predeterminado o puede generarse explícitamente. Además, cuando la imagen proyectada incluye regiones específicas del contenido de 360 grados, se puede generar la información de alcance y la información de ubicación de las regiones incluidas. Además, a partir de la imagen proyectada puede generarse información de alcance (por ejemplo, la anchura y la altura) e información de ubicación (por ejemplo, que se mide a partir de un extremo superior izquierdo de una imagen) de una región de interés (RDI). En este caso, una región específica con gran importancia en el contenido de 360 grados puede establecerse como RDI. La imagen de 360 grados puede permitir ver todo el contenido en una dirección "arriba", una dirección "abajo", una dirección "izquierda" y una dirección "derecha", pero la mirada de un usuario puede estar limitada a una parte de la imagen, que puede establecerse como RDI en consideración a la limitación. Para que la codificación sea eficaz, se puede establecer un RDI de buena calidad y alta resolución, y las demás regiones de menor calidad y resolución que el RDI.
Entre una pluralidad de esquemas de transmisión de imágenes de 360 grados, un esquema de transmisión de flujo único puede permitir transmitir una imagen completa o una imagen de ventana en un caudal de bits único individual para un usuario. Un esquema de transmisión multi-flujo puede permitir la transmisión de varias imágenes completas con diferentes calidades de imagen en múltiples caudales de bits, y de este modo se puede seleccionar una calidad de imagen de acuerdo con los entornos de usuario y las condiciones de comunicación. Un esquema de transmisión de flujo en baldosa puede permitir que una imagen parcial basada en una unidad de baldosa que se codifica individualmente se transmita en múltiples flujos de bits, y de este modo se puede seleccionar una baldosa de acuerdo con los entornos de usuario y las condiciones de comunicación. En consecuencia, el codificador de imágenes de 360 grados puede generar y transmitir un caudal de bits con dos o más calidades, y el decodificador de imágenes de 360 grados puede establecer un RDI de acuerdo con la vista de un usuario y puede decodificar selectivamente el caudal de bits de acuerdo con el RDI. Es decir, un lugar al que se dirige la mirada de un usuario puede establecerse como RDI por medio de un sistema de seguimiento de la cabeza o de los ojos, y sólo puede renderizarse la parte necesaria.
La imagen proyectada puede convertirse en una imagen empaquetada obtenida por medio de un proceso de empaquetado por regiones. El proceso de empaquetado por regiones puede incluir una etapa de partición de una imagen proyectada en una pluralidad de regiones, y las regiones particionadas pueden disponerse (o reorganizarse) en la imagen empaquetada de acuerdo con los ajustes de empaquetado por regiones. El empaquetado por regiones puede realizarse para aumentar la continuidad espacial cuando una imagen de 360 grados se convierte en una imagen 2D (o una imagen proyectada). De este modo, es posible reducir el tamaño de la imagen por medio del empaquetado por regiones. Además, el empaquetado por regiones puede realizarse para reducir el deterioro de la calidad de la imagen causado durante el renderizado, permitir una proyección basada en una ventana gráfica y proporcionar otros tipos de formatos de proyección. El empaquetado por regiones puede realizarse o no en función de los ajustes de codificación, que pueden determinarse en función de una señal que indique si se va a realizar el empaquetado por regiones (por ejemplo, regional_empaquetado_indicador; sólo cuando regional_empaquetado_indicador está activada, puede generarse información relativa al empaquetado por regiones).
Cuando se realiza el empaquetado por regiones, puede mostrarse (o generarse) información de configuración (o información de mapeo) en la que se asignan (o disponen) regiones específicas de la imagen proyectada a regiones específicas de la imagen empaquetada. Cuando no se realiza el empaquetado por regiones, la imagen proyectada y la imagen empaquetada pueden ser la misma imagen.
En la descripción anterior, un proceso de cosido, un proceso de proyección y un proceso de empaquetado por regiones se definen como procesos individuales, pero algunos (por ejemplo, cosido proyección, proyección empaquetado por regiones) o todos los procesos (por ejemplo, cosido proyección empaquetado por regiones) pueden definirse como un único proceso.
Se puede generar al menos una imagen empaquetada a partir de la misma imagen de entrada de acuerdo con los ajustes para el proceso de cosido, el proceso de proyección y el proceso de empaquetado por regiones. Además, de acuerdo con la configuración del proceso de empaquetado por regiones, puede generarse al menos un fragmento de datos de codificación para la misma imagen proyectada.
La imagen empaquetada puede ser particionada realizando un proceso de baldosa. En este caso, la baldosa, que es un proceso en el que una imagen se divide en una pluralidad de regiones y a continuación se transmite, puede ser un ejemplo de los esquemas de transmisión de imágenes de 360 grados. Como se ha descrito anteriormente, la baldosa se puede realizar con el fin de decodificar parcialmente teniendo en cuenta los entornos de usuario y también se puede realizar con el fin de procesar eficientemente grandes cantidades de datos de imágenes de 360 grados. Por ejemplo, cuando una imagen está compuesta por una unidad, se puede decodificar toda la imagen para decodificar un RDI. Por otro lado, cuando una imagen se compone de una pluralidad de regiones unitarias, puede ser eficiente decodificar sólo una RDI. En este caso, la partición puede realizarse en unidades de baldosa, que son unidades de partición de acuerdo con un esquema de codificación convencional, o puede realizarse en varias unidades de partición (por ejemplo, un bloque de partición cuadrilátero, etc.) que se han descrito de acuerdo con la presente invención. Además, la unidad de partición puede ser una unidad para realizar codificación/decodificación independiente. El embaldosado puede realizarse de forma independiente o a partir de la imagen proyectada o de la imagen empaquetada. Es decir, la partición puede realizarse sobre la base de un límite de cara de la imagen proyectada, un límite de cara de la imagen empaquetada, ajustes de empaquetado, etc., y puede realizarse independientemente para cada unidad de partición. Esto puede afectar a la generación de información de partición durante el proceso de embaldosado.
A continuación, la imagen proyectada o la imagen empaquetada pueden ser codificadas. Los datos de codificación y la información generada durante el proceso de preprocesamiento pueden añadirse a un caudal de bits, y el caudal de bits puede transmitirse al decodificador de imágenes de 360 grados. La información generada durante el proceso de preprocesamiento puede añadirse al caudal de bits en forma de IPS o metadatos. En este caso, el caudal de bits puede contener al menos un fragmento de datos de codificación con ajustes parcialmente diferentes para el proceso de codificación y al menos un fragmento de información de preprocesamiento con ajustes parcialmente diferentes para el proceso de preprocesamiento. Se trata de construir una imagen descodificada en combinación de una pluralidad de piezas de datos de codificación (datos de codificación información de preprocesamiento) de acuerdo con los entornos de usuario. En detalle, la imagen descodificada puede construirse combinando selectivamente la pluralidad de piezas de datos de codificación. Además, el proceso puede realizarse mientras se separa en dos partes para aplicarlo a un sistema binocular, y el proceso puede realizarse en una imagen de profundidad adicional.
FIG. 15 es un diagrama de ejemplo que muestra un espacio plano 2D y un espacio 3D que muestra una imagen 3D.
Generalmente, para el propósito de un espacio virtual 3D de 360 grados, tres grados de libertad (3GdL) pueden ser necesarios, y tres rotaciones pueden ser soportadas con respecto a un eje X (Elevación), un eje Y (Dirección), y un eje Z (Rotación). El DoF se relaciona con el grado de libertad en el espacio, 3GdL se refiere al grado de libertad que incluye rotaciones alrededor de los ejes X, Y y Z, como se muestra en la Sección 15A, y 6DoF se relaciona con el grado de libertad que adicionalmente permite movimientos a lo largo de los ejes X, Y y Z, así como 3GdL. La siguiente descripción se centrará en el aparato de codificación de imagen y el aparato de decodificación de imagen de la presente invención que tiene 3GdL. Cuando se admite 3GdL o superior (3GdL ), el aparato de codificación de imágenes y el aparato de decodificación de imágenes pueden modificarse o combinarse con un proceso o aparato adicional que no se muestra.
Refiriéndose a la Sección 15A, Dirección puede tener un intervalo de -n (-180 grados) a n (180 grados), Elevación puede tener un intervalo de -n/2 rad (o -90 grados) a n/2 rad (o 90 grados), y Rotación puede tener un intervalo de -n/2 rad (o -90 grados) a n/2 rad (o 90 grados). En este caso, cuando se supone que O y 0 son la longitud y la latitud en la representación cartográfica de la Tierra, las coordenadas espaciales 3D (x, y, z) pueden transformarse a partir de coordenadas espaciales 2D (O, 0). Por ejemplo, las coordenadas del espacio 3D pueden derivarse de las coordenadas del espacio 2D de acuerdo con las fórmulas de transformación x = cos(0) cos(O), y = sin(0), y z = -cos(0) sin(O).
Además, (O, 0) puede transformarse en (x, y, z). Por ejemplo, las coordenadas espaciales 2D pueden derivarse de las coordenadas espaciales 3D de acuerdo con las fórmulas de transformación O = tan-1 (-Z/X) y 0 = sen-1(Y/(X2+Y2+Z2)1/2).
Cuando un pixel en el espacio 3D es exactamente transformado a un pixel en el espacio 2D (por ejemplo, un pixel de unidad entera en el espacio 2D), el pixel en el espacio 3D puede ser mapeado al pixel en el espacio 2d . Cuando un píxel en el espacio 3D no se transforma con precisión en un píxel en el espacio 2D (por ejemplo, un píxel de unidad decimal en el espacio 2D), un píxel adquirido por medio de interpolación puede mapearse al píxel 2D. En este caso, como interpolación, se puede utilizar la interpolación del vecino más cercano, la interpolación bilineal, la interpolación B-ranura, la interpolación bicúbica o similares. En este caso, la información relacionada puede generarse explícitamente seleccionando uno de la pluralidad de candidatos a interpolación, o puede determinarse implícitamente un procedimiento de interpolación de acuerdo con una regla predeterminada. Por ejemplo, se puede utilizar un filtro de interpolación predeterminado en función de un modelo 3D, un formato de proyección, un formato de color y un tipo de corte o baldosa. Además, cuando la información de interpolación se genera explícitamente, puede incluirse información relativa a la información de filtro (por ejemplo, un coeficiente de filtro).
La Sección 15B muestra una imagen en la que un espacio 3D se transforma en un espacio 2D (un sistema de coordenadas planas 2D). (O ,0) se pueden muestrear (ij) en función del tamaño (la anchura y la altura) de una imagen. Aquí, i puede tener un intervalo de 0 a P_Anchura -1 , y j puede tener un intervalo de 0 a P_Altura -1.
(O ,0) puede ser un punto central (o un punto de referencia; un punto representado como C de la FIG. 15; coordenadas (O ,0)=(O,O)) para disponer una imagen de 360 grados con respecto a la imagen proyectada. El ajuste para el punto central puede designarse en el espacio 3D, y la información de ubicación para el punto central puede generarse explícitamente o determinarse implícitamente como un valor predeterminado. Por ejemplo, puede generarse información de posición central en Dirección, información de posición central en Elevación, información de posición central en Rotación, y similares. Cuando no se especifica un valor para la información por separado, se puede suponer que cada valor es cero.
Un ejemplo en el cual la imagen entera de 360 grados es transformada del espacio 3D al espacio 2D ha sido descrito anteriormente, pero regiones específicas de la imagen de 360 grados pueden ser transformadas, y la información de ubicación (por ejemplo, algunas ubicaciones pertenecientes a la región; en este ejemplo, información de ubicación con respecto al punto central), información de intervalo, y similares para las regiones específicas pueden ser generadas explícitamente o pueden seguir implícitamente información predeterminada de ubicación e intervalo. Por ejemplo, información de posición central en Dirección, información de posición central en Elevación, información de posición central en Rotación, información de intervalo en Dirección, información de intervalo en Elevación, información de intervalo en Rotación, y similares pueden ser generados, y regiones específicas pueden ser al menos una región. De este modo, se puede procesar la información de localización, la información de alcance y similares de una pluralidad de regiones. Cuando no se especifica un valor para la información por separado, se puede suponer la imagen completa de 360 grados.
H0 a H6 y WO a W5 en la Sección 15A indican algunas latitudes y longitudes en la Sección 15B, que pueden expresarse como coordenadas (C, j) y (i, C) (C es un componente de longitud o latitud) en la Sección 15B. A diferencia de una imagen general, cuando una imagen de 360 grados se convierte al espacio 2D, pueden producirse distorsiones o alabeos del contenido de una imagen. Esto puede depender de la región de la imagen, y se pueden aplicar diferentes ajustes de codificación/decodificación a la ubicación de la imagen o regiones particionadas de acuerdo con la ubicación. Cuando los ajustes de codificación/decodificación se aplican de forma adaptativa sobre la base de la información de codificación/decodificación en la presente invención, la información de ubicación (por ejemplo, un componente x, un componente y, o un intervalo definido por x e y) puede incluirse como ejemplo de la información de codificación/decodificación.
La descripción del espacio 3D y del espacio 2D se define para ayudar a la descripción de las realizaciones de la presente invención. Sin embargo, la presente invención no se limita a ello, y la descripción anterior puede modificarse en cuanto a los detalles o puede aplicarse a otros casos.
Como se describió anteriormente, una imagen adquirida a través de una cámara de 360 grados puede ser transformada a un espacio 2D. En este caso, se puede mapear una imagen de 360 grados mediante el uso de un modelo 3D, y se pueden utilizar varios modelos 3D como una esfera, un cubo, un cilindro, una pirámide y un poliedro. Cuando la imagen de 360 grados mapeada basada en el modelo se transforma en el espacio 2D, se puede realizar un proceso de proyección de acuerdo con un formato de proyección basado en el modelo.
FIGS. 16A a 16D son diagramas conceptuales que ilustran un formato de proyección de acuerdo con una realización de la presente invención.
FIG. 16A ilustra un formato de proyección Equirrectangular (PER) en el que una imagen de 360 grados se proyecta en un plano 2D. FIG. 16B ilustra un formato de proyección MapaCúbica (PMC) en el que una imagen de 360 grados se proyecta en un cubo. FIG. 16C ilustra un formato de proyección OctaHedron (POH) en el que una imagen de 360 grados se proyecta en un octaedro. FIG. 16D ilustra un formato de Proyección IcoSaédrica (PIS) en el que una imagen de 360 grados se proyecta en un poliedro. Sin embargo, la presente invención no se limita a ello, y pueden utilizarse varios formatos de proyección. En las FIGS. 16A a 16D, los lados izquierdos muestran modos 3D, y los lados derechos muestran ejemplos de transformación en el espacio 2D a través del proceso de proyección. Se pueden proporcionar varios tamaños y formas de acuerdo con el formato de proyección. Cada forma puede estar compuesta de superficies o caras, y cada cara puede expresarse como un círculo, un triángulo, un cuadrángulo, etc.
En la presente invención, el formato de proyección puede definirse por un modo 3D, ajustes de caras (por ejemplo, el número de caras, la forma de las caras, la configuración de la forma de las caras, etc.), ajustes del proceso de proyección, etc. Cuando al menos un elemento es diferente en la definición, el formato de proyección puede considerarse como un formato de proyección diferente. Por ejemplo, el PER está compuesto por un modelo de esfera (el modelo 3D), una cara (el número de caras) y una cara cuadrangular (la forma de las caras). Sin embargo, cuando algunos (por ejemplo, una fórmula utilizada durante la transformación del espacio 3D al espacio 2D; es decir, un elemento que tiene los mismos ajustes de proyección restantes y marca una diferencia en al menos un píxel de una imagen proyectada en el proceso de proyección) de los ajustes para el proceso de proyección son diferentes, el formato puede clasificarse como un formato diferente, tal como PER1 y PER2. Otro ejemplo: el PMC se compone de un modelo cúbico, seis caras y una cara cuadrangular. Cuando algunos (por ejemplo, un procedimiento de muestreo aplicado durante la transformación del espacio 3D al espacio 2D) de los ajustes durante el proceso de proyección son diferentes, el formato puede clasificarse como un formato diferente, tal como PMC1 y PMC2.
Cuando una pluralidad de formatos de proyección son usados en lugar de un formato de proyección predeterminado, la información de identificación de formato de proyección (o información de formato de proyección) puede ser explícitamente generada. La información de identificación del formato de proyección puede configurarse por medio de varios procedimientos.
Como ejemplo, un formato de proyección puede ser identificado asignando información de índice (por ejemplo., proy_formato_indicador) a una pluralidad de formatos de proyección. Por ejemplo, #0 puede asignarse a PER, #1 puede asignarse a PMC, #2 puede asignarse a POH, #3 puede asignarse a PIS, #4 puede asignarse a PER1, #5 puede asignarse a PMC1, #6 puede asignarse a POH1, #7 puede asignarse a PIS1, #8 puede asignarse a PMC compacto, #9 puede asignarse a POH compacto, #10 puede asignarse a PIS compacto, y #11 o superior puede asignarse a otros formatos.
Como ejemplo, el formato de proyección puede ser identificado usando al menos un elemento de información que constituya el formato de proyección. En este caso, como información del elemento que constituye el formato de proyección, se asigna información del modelo 3D (por ejemplo, 3d_modelo_indicador; #0 indica una esfera, #1 indica un cubo, #2 indica un cilindro, #3 indica una pirámide, #4 indica el poliedro 1 y #5 indica el poliedro 2), información del número de caras (por ejemplo, núm_cara_indicador; un procedimiento de incremento de 1 en 1, empezando por 1; el número de caras generado en el formato de proyección se asigna como información de índice, es decir, #0 indica uno, #1 indica tres, #2 indica seis, #3 indica ocho y #4 indica veinte), información de forma de cara (por ejemplo forma_cara_indicador; #0 indica un cuadrángulo, #1 indica un círculo, #2 indica un triángulo, #3 indica un cuadrángulo un círculo, y #4 indica un cuadrángulo un triángulo), información de configuración del proceso de proyección (por ejemplo, 3d_2d_convert_idx), y similares.
Como ejemplo, el formato de proyección puede ser identificado usando información de índice de formato de proyección e información de elemento constituyendo el formato de proyección. Por ejemplo, como información de índice de formato de proyección, #0 puede asignarse a PER, #1 puede asignarse a PMC, #2 puede asignarse a POH, #3 puede asignarse a PIS, y #4 o mayor puede asignarse a otros formatos. El formato de proyección (por ejemplo, PER, PER1, PMC, PMC1, POH, POH1, PIS e PIS1) puede identificarse junto con la información del elemento que constituye el formato de proyección (en este caso, la información de configuración del proceso de proyección). Alternativamente, el formato de proyección (por ejemplo, PER, PMC, PMC compacto, POH, POH compacto, PIS e PIS compacto) puede identificarse junto con la información del elemento que constituye el formato de proyección (en la presente memoria descriptiva, empaquetado por regiones).
En resumen, el formato de proyección puede ser identificado usando la información de índice de formato de proyección, puede ser identificado usando al menos una parte de la información de elemento de formato de proyección, y puede ser identificado usando la información de índice de formato de proyección y al menos una de las informaciones de elemento de formato de proyección. Puede definirse en función de los ajustes de codificación/decodificación. En la presente invención, la siguiente descripción asume que el formato de proyección se identifica mediante el uso del índice de formato de proyección. En este ejemplo, la descripción se centrará en un formato de proyección que se expresa mediante el uso de caras con el mismo tamaño y forma, pero puede ser posible una configuración que tenga diferentes caras en tamaño y forma. Además, la configuración de cada cara puede ser la misma o diferente de las mostradas en las FIGS. 16A a 16D, el número de cada cara se utiliza como símbolo para identificar una cara correspondiente, y no hay ninguna limitación en cuanto a un orden específico. Para facilitar la descripción, a continuación se asume que, con respecto a la imagen proyectada, PER es un formato de proyección que incluye una cara un cuadrángulo, PMC es un formato de proyección que incluye seis caras un cuadrángulo, POH es un formato de proyección que incluye ocho caras un triángulo, PIS es un formato de proyección que incluye veinte caras un triángulo, y las caras tienen el mismo tamaño y forma. No obstante, la descripción puede aplicarse de forma idéntica o similar incluso a entornos diferentes.
Como se muestra en las FIGS. 16A a 16D, el formato de proyección puede clasificarse como una cara (por ejemplo, PER) o una pluralidad de caras (por ejemplo, PMC, POH e PIS). Además, la forma de cada cara puede clasificarse como un cuadrilátero, un triángulo o similar. La clasificación puede ser un ejemplo del tipo, características y similares de la imagen de acuerdo con la presente invención, que puede aplicarse cuando se proporcionan diferentes ajustes de codificación/decodificación en función del formato de proyección. Por ejemplo, el tipo de una imagen puede ser una imagen de 360 grados, y las características de una imagen pueden ser una de las clasificaciones (por ejemplo, cada formato de proyección, un formato de proyección que tenga una cara o una pluralidad de caras, un formato de proyección que tenga una cara cuadrangular o una cara no cuadrangular).
Un sistema de coordenadas planar 2D (por ejemplo, (l, j)) puede ser definido en cada cara de una imagen proyectada 2D, y las características del sistema de coordenadas pueden diferir dependiendo del formato de proyección, la ubicación de cada cara, y similares. PER puede tener un sistema de coordenadas planas 2D, y otros formatos de proyección pueden tener una pluralidad de sistemas de coordenadas planas 2D en función del número de caras. En este caso, el sistema de coordenadas puede expresarse como (k,i,j), y k puede indicar información de índice para cada cara.
FIG. 17 es un diagrama conceptual que muestra que un formato de proyección está incluido en una imagen rectangular de acuerdo con una realización de la presente invención.
Es decir, puede entenderse que las Secciones 17A a 17C muestran que los formatos de proyección de las FIGS. 16B a 16D se implementan como una imagen rectangular.
Refiriéndose a las Secciones 17A a 17C, cada formato de imagen puede ser configurado en forma rectangular para codificar o decodificar una imagen de 360 grados. Para PER, se puede utilizar un único sistema de coordenadas tal cual. Sin embargo, para otros formatos de proyección, los sistemas de coordenadas de las caras pueden integrarse en un único sistema de coordenadas, y se omitirá una descripción detallada del mismo.
Refiriéndose a las Secciones 17A a 17C, mientras se construye una imagen rectangular, puede confirmarse que se genera una región llena de datos sin sentido, como un vacío o un fondo. Es decir, la imagen rectangular puede estar compuesta por una región que incluya datos reales (en la presente memoria descriptiva, una cara; un área activa) y una región sin sentido añadida para construir la imagen rectangular (aquí, suponiendo que la región se rellena con cualquier valor de píxel; un área inactiva). Esto puede reducir el rendimiento debido a un aumento de los datos de codificación, es decir, un aumento del tamaño de la imagen causado por la región sin sentido, así como la codificación/decodificación de los datos reales de la imagen.
En consecuencia, un proceso para construir una imagen excluyendo la región sin sentido y usando la región que incluye datos reales puede ser realizado adicionalmente.
FIG. 18 es un diagrama conceptual de un procedimiento de conversión de un formato de proyección en una forma rectangular, es decir, un procedimiento de realización de reordenamiento en una cara para excluir una región sin sentido de acuerdo con una realización de la presente invención.
Refiriéndose a las Secciones 18A a 18C, un ejemplo para reordenar las Secciones 17A a 17C puede ser confirmado, y este proceso puede ser definido como un proceso de empaquetado por regiones (PMC compacto, POH compacto, PIS compacto, y similares). En este caso, la cara puede ser no sólo reordenada sino también particionada y a continuación reordenada (compacta POH, compacta PIS, y similares). Esto puede realizarse para eliminar la región sin sentido, así como para mejorar el rendimiento de la codificación por medio de una disposición eficiente de las caras. Por ejemplo, cuando una imagen está dispuesta de forma continua entre caras (por ejemplo, B2-B3-B1, B5-B0-B4, etc. en la Sección 18A), se mejora la precisión de la predicción en la codificación y, por lo tanto, se puede mejorar el rendimiento de la codificación. En la presente memoria descriptiva, el empaquetado por regiones de acuerdo con el formato de proyección es meramente un ejemplo, y la presente invención no se limita a ello.
FIG. 19 es un diagrama conceptual que muestra que se realiza un proceso de empaquetado regional para convertir un formato de proyección PMC en una imagen rectangular de acuerdo con una realización de la presente invención.
Haciendo referencia a las Secciones 19A a 19C, un formato de proyección PMC puede disponerse como 6 * 1, 3 * 2, 2 * 3, y 1 * 6. Además, cuando se redimensionan algunas caras, la disposición puede hacerse como se muestra en las Secciones 19D y 19E. En las Secciones 19A a 19E, se aplica el PMC a modo de ejemplo. Sin embargo, la presente invención no se limita a ello, y pueden aplicarse otros formatos de proyección. La disposición de las caras de una imagen adquirida por medio del empaquetado por regiones puede seguir una regla predeterminada correspondiente al formato de proyección o puede generar explícitamente información relativa a la disposición.
Los aparatos de codificación y decodificación de imágenes de 360 grados de acuerdo con una realización de la presente invención pueden configurarse para incluir algunos o todos los elementos de los aparatos de codificación y decodificación de imágenes mostrados en las FIGS. 1 y 2. En particular, una parte de transformación de formato configurada para transformar un formato de proyección y una parte de transformación de formato inversa configurada para transformar inversamente un formato de proyección pueden incluirse además en el aparato de codificación de imagen y en el aparato de decodificación de imagen, respectivamente. Es decir, una imagen de entrada puede ser procesada a través de la parte de transformación de formato y a continuación codificada por el aparato de codificación de imágenes de la FIG. 1, y un caudal de bits puede ser decodificado y a continuación procesado a través de la parte de transformación inversa de formato por el aparato decodificador de imágenes de la FIG. 2 para generar una imagen de salida. La siguiente descripción se centrará en el proceso realizado por el codificador (aquí, imagen de entrada, codificación, etc.), y el proceso realizado por el decodificador puede ser inversamente derivado del codificador. También se omitirá la descripción redundante de lo anterior.
La siguiente descripción asume que la imagen de entrada es la misma que una imagen empaquetada o una imagen proyectada 2D que es adquirida por el aparato de codificación de 360 grados que realiza el proceso de preprocesamiento. Es decir, la imagen de entrada puede ser una imagen adquirida realizando el proceso de proyección de acuerdo con algunos formatos de proyección o el proceso de empaquetado por regiones. Una formación de proyección preaplicada a la imagen de entrada puede ser uno de los varios formatos de proyección, que puede considerarse un formato común y denominarse primer formato.
La parte de transformación de formato puede realizar la transformación en un formato de proyección distinto del primer formato. En este caso, el formato de proyección en el que debe realizarse la transformación puede denominarse segundo formato. Por ejemplo, PER puede establecerse como el primer formato y puede transformarse en el segundo formato (por ejemplo, PER2, PMC, POH e PIS). En este caso, PER2 tiene una especie de formato PER con las mismas condiciones, tal como un modelo 3D y una configuración facial, pero algunos ajustes diferentes. Alternativamente, los formatos de proyección pueden ser el mismo formato teniendo los mismos ajustes de formato de proyección (por ejemplo, PER = PER2) y pueden tener diferentes tamaños o resoluciones de imagen. Como alternativa, pueden aplicarse algunos de los siguientes procesos de ajuste de la imagen. Para facilitar la descripción, se ha mencionado un ejemplo de este tipo, pero cada uno de los formatos primero y segundo puede ser uno de los varios formatos de proyección. Sin embargo, la presente invención no se limita a ello, y pueden introducirse modificaciones.
Durante el proceso de transformación de formato, un píxel de una imagen después de la transformación (un píxel entero) puede ser adquirido de un píxel de unidad decimal, de este modo como de un píxel de unidad entera, en una imagen antes de la transformación debido a diferentes características del sistema de coordenadas, y por lo tanto se puede realizar interpolación. El filtro de interpolación utilizado en este caso puede ser igual o similar al descrito anteriormente. En este caso, la información relacionada puede generarse explícitamente seleccionando uno de una pluralidad de filtros de interpolación candidatos, o el filtro de interpolación puede determinarse implícitamente de acuerdo con una regla predeterminada. Por ejemplo, se puede utilizar un filtro de interpolación predeterminado en función de un formato de proyección, un formato de color y un tipo de corte/escala. Además, cuando el filtro de interpolación se proporciona explícitamente, puede incluirse información relativa al filtro (por ejemplo, un coeficiente de filtro).
En la parte de transformación de formato, el formato de proyección puede ser definido como incluyendo empaquetado por región, etc. Es decir, la proyección y el empaquetado por regiones pueden realizarse durante el proceso de transformación de formato. Alternativamente, después del proceso de transformación de formato, se puede realizar un proceso tal como el empaquetado por regiones antes de realizar la codificación.
El codificador puede añadir la información generada durante el proceso anterior a un caudal de bits en unidades de al menos una de las secuencias, imágenes, cortes, baldosas y similares, y el decodificador puede analizar la información relacionada del caudal de bits. Además, la información puede incluirse en el caudal de bits en forma de IPS o metadatos.
A continuación, se describirá un proceso de ajuste de imagen aplicado al aparato de codificación/decodificación de imagen de 360 grados de acuerdo con una realización de la presente invención. El proceso de ajuste de imagen de acuerdo con la presente invención puede aplicarse a un proceso de preprocesamiento, un proceso de postprocesamiento, un proceso de transformación de formato, un proceso de transformación de formato inverso, y similares del aparato de codificación/decodificación de imagen 360-grados, así como a procesos generales de codificación/decodificación. La siguiente descripción del proceso de ajuste de imagen se centrará en el aparato de codificación de imágenes de 360 grados y puede contener los ajustes de imagen descritos anteriormente. Se omitirá la descripción redundante del mencionado proceso de ajuste de la imagen. Además, el siguiente ejemplo se centrará en el proceso de ajuste de imagen, y el proceso inverso de ajuste de imagen puede derivarse inversamente del proceso de ajuste de imagen. Algunos casos pueden confirmarse por medio de las varias realizaciones de la presente invención antes mencionadas.
El proceso de ajuste de imagen de acuerdo con la presente invención puede realizarse en la etapa de proyección de imagen de 360 grados, la etapa de empaquetado por regiones, la etapa de transformación de formato u otras etapas.
FIG. 20 es un diagrama conceptual de partición de imágenes de 360 grados de acuerdo con una realización de la presente invención. En FIG. 20, se supone que se proyecta una imagen por medio de PER.
La Sección 20A ilustra una imagen proyectada por PER, y la imagen puede ser particionada usando varios procedimientos. En el ejemplo, la descripción se centra en un corte o baldosa, y se asume que WO a W2 y H0 y H1 son líneas límite de partición para un corte o baldosa y siguen un orden de barrido de trama. El siguiente ejemplo se centra en un corte y una baldosa. Sin embargo, la presente invención no se limita a ello, y puede aplicarse otro procedimiento de partición.
Por ejemplo, la partición puede realizarse en unidades de corte, y H0 y H1 pueden proporcionarse como límites de partición. Alternativamente, la partición puede realizarse en unidades de baldosa, y W o a W2, H0 y H1 pueden proporcionarse como límites de partición.
La Sección 20B ilustra un ejemplo en el cual una imagen proyectada por PER es particionada en baldosas (se asume que tiene los mismos límites de partición de baldosa (WO a W2, H0, y H1 están todos activados) como se muestra en la Sección 20A). Cuando se supone que una región P es toda la imagen y una región V es una región en la que permanece la mirada de un usuario o una ventana gráfica, puede haber varios procedimientos para proporcionar una imagen correspondiente a la ventana gráfica. Por ejemplo, la región correspondiente a la ventana gráfica puede adquirirse descodificando toda la imagen (por ejemplo, los baldosas a a i). En este caso, puede decodificarse toda la imagen, y la baldosa de a a i (en la presente memoria descriptiva, una región A una región B) puede decodificarse cuando la imagen está particionada. Alternativamente, la región correspondiente a la ventana gráfica puede adquirirse descodificando una región perteneciente a la ventana gráfica. En este caso, cuando la imagen está particionada, la región correspondiente a la ventana gráfica puede adquirirse a partir de una imagen restaurada por medio de la decodificación de las baldosas f, g, j y k (en este caso, la región B). El primer caso puede denominarse decodificación completa (o codificación independiente de la ventana gráfica), y el segundo, decodificación parcial (o codificación dependiente de la ventana gráfica). Este último caso puede ser un ejemplo que puede darse en una imagen de 360 grados con una gran cantidad de datos. El procedimiento de partición basado en unidades de baldosa puede utilizarse con más frecuencia que el procedimiento de partición basado en unidades de corte, ya que una región particionada puede adquirirse de forma flexible. Para la decodificación parcial, la referenciabilidad de una unidad de partición puede estar limitada espacial o temporalmente (aquí, procesada implícitamente) porque no es posible encontrar dónde se producirá el punto de vista, y la codificación/decodificación puede realizarse teniendo en cuenta la limitación. El siguiente ejemplo se describirá centrándose en la decodificación completa, pero se describirá la partición de imágenes de 360 grados centrándose en una baldosa (o un procedimiento de partición rectangular de la presente invención) con el fin de preparar la decodificación parcial. No obstante, la siguiente descripción puede aplicarse a otras unidades de partición de la misma manera o de forma modificada.
FIG. 21 es un diagrama de ejemplo de partición de imágenes de 360 grados y reconstrucción de imágenes de acuerdo con una realización de la presente invención. En FIG. 21, se supone que se proyecta una imagen por medio de PER.
La Sección 21A ilustra una imagen proyectada por PER, y la imagen puede ser particionada usando varios procedimientos. Se supone que WO a W2, H0 y H1 son líneas de separación de una cara, un corte y una baldosa y siguen un orden de barrido de trama.
Por ejemplo, la partición puede realizarse en unidades de corte, y H0 y H1 pueden proporcionarse como límites de partición. Alternativamente, la partición puede realizarse en unidades de baldosa, y WO a W2, H0 y H1 pueden proporcionarse como límites de partición. Alternativamente, la partición puede realizarse en unidades de caras, y WO a W2, H0 y H1 pueden proporcionarse como límites de partición. En este ejemplo, se supone que la cara forma parte de la unidad de partición.
En este caso, la cara puede ser una unidad de partición (en la presente memoria descriptiva, codificación/decodificación dependiente) que se realiza para clasificar o distinguir regiones que tienen diferentes propiedades (en la presente memoria descriptiva, un sistema de coordenadas plano de cada cara) en la misma imagen de acuerdo con las características, tipo (en el ejemplo, una imagen de 360 grados y un formato de proyección), y similares de la imagen mientras que el corte o baldosa puede ser una unidad de partición (en la presente memoria descriptiva, codificación/decodificación independiente) que se realiza para particionar una imagen de acuerdo con las definiciones del usuario. Además, la cara puede ser una unidad particionada por una definición predeterminada (o inducida a partir de la información del formato de proyección) durante un proceso de proyección de acuerdo con el formato de proyección, mientras que el corte o baldosa puede ser una unidad particionada por medio de la generación explícita de información de partición de acuerdo con las definiciones del usuario. Además, la cara puede tener una forma de partición poligonal que incluya un cuadrángulo de acuerdo con el formato de proyección, el corte puede tener cualquier forma de partición que no pueda definirse como un cuadrángulo o un polígono, y la baldosa puede tener una forma de partición cuadrangular. La configuración de la unidad de partición puede definirse sólo para la descripción de este ejemplo.
En el ejemplo, se ha descrito que la cara es una unidad de partición clasificada para una distinción de región. Sin embargo, la cara puede ser una unidad para realizar codificación/decodificación independiente de acuerdo con los ajustes de codificación/decodificación como al menos una unidad de cara, y puede tener ajustes para realizar codificación/decodificación independiente en combinación con una baldosa, una diapositiva y similares. En este caso, la información explícita de la baldosa y el corte puede generarse cuando la cara se combina con una baldosa, un corte y similares, o la baldosa y el corte pueden combinarse implícitamente sobre la base de la información de la cara. Alternativamente, la información explícita de la baldosa y el corte puede generarse a partir de la información de la cara.
Como un primer ejemplo, un proceso de partición de imagen (en la presente memoria descriptiva, una cara) es realizado, y la partición de imagen puede implícitamente omitir información de partición (la cual es adquirida de información de formato de proyección). Este ejemplo es para configuraciones de codificación/decodificación dependientes y puede ser un ejemplo correspondiente a un caso en el que la referenciabilidad entre unidades de caras no está limitada.
Como segundo ejemplo, se realiza un proceso de partición de imagen (en la presente memoria descriptiva, una cara), y la partición de imagen puede generar explícitamente información de partición. Este ejemplo es para configuraciones de codificación/decodificación dependientes y puede ser un ejemplo correspondiente a un caso en el que la referenciabilidad entre unidades de caras no está limitada.
Como tercer ejemplo, una pluralidad de procesos de partición de imagen (en la presente memoria descriptiva, una cara y una baldosa) son realizados, alguna partición de imagen (en la presente memoria descriptiva, una cara) puede implícitamente omitir o explícitamente generar información de partición, y otra partición de imagen (en la presente memoria descriptiva, una baldosa) puede explícitamente generar información de partición. En este ejemplo, un proceso de partición de imágenes (en la presente memoria descriptiva, una cara) precede al otro proceso de partición de imágenes (en la presente memoria descriptiva, una baldosa).
Como cuarto ejemplo, se realiza una pluralidad de procesos de partición de imagen, alguna partición de imagen (en la presente memoria descriptiva, una cara) puede omitir implícitamente o generar explícitamente información de partición, y otra partición de imagen (en la presente memoria descriptiva, una baldosa) puede generar explícitamente información de partición sobre la base de la partición de alguna imagen (en la presente memoria descriptiva, una cara). En este ejemplo, un proceso de partición de imágenes (en la presente memoria descriptiva, una cara) precede al otro proceso de partición de imágenes (en la presente memoria descriptiva, una baldosa). En algunos casos (se supone el segundo ejemplo) de este ejemplo, puede ser lo mismo que la información de partición se genere explícitamente, pero puede haber una diferencia en la configuración de la información de partición.
Como quinto ejemplo, se realiza una pluralidad de procesos de partición de imagen, alguna partición de imagen (en la presente memoria descriptiva, una cara) puede omitir implícitamente información de partición, y otra partición de imagen (en la presente memoria descriptiva, una baldosa) puede omitir implícitamente información de partición sobre la base de la alguna partición de imagen (en la presente memoria descriptiva, una cara). Por ejemplo, una unidad de cara puede establecerse individualmente como una unidad de baldosa, o una pluralidad de unidades de cara (en la presente memoria descriptiva, cuando las caras adyacentes tienen continuidad, las unidades de cara se agrupan; de lo contrario, las unidades de cara no se agrupan; B2-B3-B1 y B4-B0-B5 en la Sección 18A) pueden establecerse como una unidad de baldosa. De acuerdo con una regla predeterminada, una unidad de cara puede establecerse como una unidad de baldosa. Este ejemplo es para configuraciones de codificación/decodificación independientes y puede ser un ejemplo correspondiente a un caso en el que la referenciabilidad entre unidades de caras es limitada. Es decir, en algunos casos (se supone el primer ejemplo), puede ser lo mismo que la información de partición se procese implícitamente, pero puede haber una diferencia en los ajustes de codificación/decodificación.
El ejemplo puede ser una descripción de un caso en el cual el proceso de partición puede ser realizado en la etapa de proyección, la etapa de empaquetado por regiones, la etapa inicial de codificación/decodificación, y similares, y puede ser cualquier otro proceso de partición de imagen realizado en el codificador/decodificador.
En la Sección 21A, una imagen rectangular puede ser construida añadiendo una región B, que no incluye datos, a una región A, que incluye datos. En este caso, la ubicación, el tamaño, la forma, el número y similares de la región A y la región B pueden ser información que puede comprobarse a través de un formato de proyección o similar o información que puede comprobarse cuando se genera explícitamente información relativa a una imagen proyectada, y la información relacionada puede representarse con la información de partición de imagen descrita anteriormente, la información de reconstrucción de imagen y similares. Por ejemplo, la información (por ejemplo, parte_superior, parte_izquierda, parte_anchura, parte_altura, y parte_convert:indicador) relativa a regiones específicas de la imagen proyectada puede representarse como se muestra en la Tabla 4 y la Tabla 5. Sin embargo, la presente invención no se limita a ello y puede aplicarse a otros casos (por ejemplo, otro formato de proyección, otros ajustes de proyección, etc.).
La región B y la región A pueden ser construidas como una sola imagen y a continuación codificadas o decodificadas. Alternativamente, la partición puede realizarse teniendo en cuenta las características de cada región, y pueden aplicarse diferentes ajustes de codificación/decodificación. Por ejemplo, la codificación o decodificación puede no realizarse en la región B mediante el uso de la información relativa a si realizar la codificación o decodificación (por ejemplo, baldosa_codificado_indicador cuando se asume que la unidad de partición es una baldosa). En este caso, una región correspondiente puede ser restaurada a ciertos datos (aquí, cualquier valor de píxel) de acuerdo con una regla predeterminada. Alternativamente, en el proceso de partición de imágenes descrito anteriormente, la región B puede tener diferentes ajustes de codificación/decodificación que la región A. Alternativamente, una región correspondiente puede eliminarse realizando el proceso de empaquetado por regiones.
La Sección 21B muestra un ejemplo en el cual una imagen empaquetada por PMC es particionada en baldosas, cortes o caras. En este caso, la imagen empaquetada es una imagen en la que se realiza un proceso de reordenamiento de caras o un proceso de empaquetado por regiones y puede ser una imagen adquirida por medio de la partición de imágenes y la reconstrucción de imágenes de acuerdo con la presente invención.
En la Sección 21B, una forma rectangular puede ser construida para incluir una región que incluya datos. En este caso, la ubicación, el tamaño, la forma, el número y similares de la región pueden ser información que puede comprobarse a través de una configuración predeterminada o información que puede comprobarse cuando se genera explícitamente la información relativa a la imagen empaquetada, y la información relacionada puede representarse con la información de partición de imagen descrita anteriormente, la información de reconstrucción de imagen y similares. Por ejemplo, la información (por ejemplo, parte_superior, parte izquierda, parte_anchura, parte_altura y parte_convert:indicador) relativa a una región específica de la imagen empaquetada puede representarse como se muestra en la Tabla 4 y la Tabla 5.
La imagen empaquetada puede ser particionada usando varios procedimientos de partición. Por ejemplo, la partición puede realizarse en unidades de corte, y H0 puede proporcionarse como un límite de partición. Alternativamente, la partición puede realizarse en unidades de baldosa, y WO, W1 y H0 pueden proporcionarse como límites de partición. Alternativamente, la partición puede realizarse en unidades de caras, y WO, W1 y H0 pueden proporcionarse como límites de partición.
El proceso de partición de la imagen y el proceso de reconstrucción de la imagen de acuerdo con la presente invención pueden realizarse en una imagen proyectada. En este caso, el proceso de reconstrucción puede utilizarse para reorganizar las caras de la imagen, así como los píxeles de la misma. Este puede ser un ejemplo posible cuando la imagen está dividida o construida con una pluralidad de caras. A continuación se describirá un ejemplo centrado en el caso en que la imagen se divide en baldosas en función de una unidad de cara.
SX,Y (S0,0 a S3,2) en la Sección 21A puede corresponder a S'U,V (S'0,0 a S'2,1) en la Sección 21B (aquí, X e Y pueden ser iguales o diferentes de U y V), y el proceso de reconstrucción puede realizarse en unidades de caras. Por ejemplo, S2,1, S3,1, S0,1, S1,2, S1,1 y S1,0 pueden asignarse a S'0,0, S'1,0, S'2,0, S'0,1, S'1,1 y S'2,1 (reordenamiento de caras). Además, es posible que S2,1, S3,1 y S0,1 no se reconstruyan (reordenamiento de píxeles), y que S1,2, S1,1 y S1,0 se giren 90 grados y a continuación se reconstruyan. Esto puede representarse como se muestra en la Sección 21C. En la Sección 21C, los símbolos colocados horizontalmente S1,0, s 1,1 y S1,2 pueden ser imágenes colocadas horizontalmente para mantener la continuidad de una imagen.
La reconstrucción de las caras puede ser procesada implícita o explícitamente dependiendo de los ajustes de codificación/decodificación. El procesamiento implícito puede realizarse de acuerdo con una regla predeterminada en consideración del tipo (en la presente memoria descriptiva, una imagen de 360 grados) y las características (aquí, un formato de proyección, etc.) de la imagen.
Por ejemplo, para S'0,0 y S'1,0; S'1,0 y S'2,0; S'0,1 y S'1,1; y S'1,1 y S'2,1 en la Sección 21C, hay continuidad de imagen (o correlación) entre ambas caras con respecto al límite de la cara, y la Sección 21C puede ser un ejemplo en el que hay continuidad entre tres caras superiores y tres caras inferiores. Mientras que la imagen se divide en una pluralidad de caras a través de un proceso de proyección desde el espacio 3D al espacio 2D y a continuación se empaqueta para cada región, la reconstrucción se puede realizar con el fin de aumentar la continuidad de la imagen entre las caras para reconstruir eficientemente las caras. Dicha reconstrucción de las caras puede estar predeterminada y procesada.
Alternativamente, el proceso de reconstrucción puede ser realizado a través de procesamiento explícito, y la información de reconstrucción puede ser generada.
Por ejemplo, cuando la información (por ejemplo, una de la información adquirida implícitamente y la información generada explícitamente) con respecto a una construcción M * N (por ejemplo, 6 * 1, 3 * 2, 2 * 3, 1 * 6, y similares para PMC compacto; en este ejemplo, se asume una configuración de 3 * 2) se comprueba a través del proceso de empaquetado por regiones, la reconstrucción de la cara se puede realizar de acuerdo con la construcción M * N, y entonces se puede generar información con respecto a la reconstrucción de la cara. Por ejemplo, cuando las caras se reorganizan en una imagen, se puede asignar información de índice (o información relativa a ubicaciones en la imagen) a cada cara. Cuando los píxeles se reorganizan en una cara, se puede asignar información de modo para la reconstrucción.
La información de índice puede ser predefinida como se muestra en las Secciones 18A a 18C de la FIG. 18. En las Secciones 21A a 21C, SX,Y o S'U,V representa cada cara mediante el uso de información de localización (por ejemplo, S[i][j]) que indica una anchura y una altura o mediante el uso de un fragmento de información de localización (por ejemplo, S[i]; se supone que la información de localización se asigna en un orden de barrido de trama, empezando por una cara superior izquierda de la imagen), y puede asignarse un índice de cada cara.
Por ejemplo, cuando un índice es asignado usando la información de localización indicando el ancho y la altura, el índice de cara #2 puede ser asignado a S'0,0, el índice de cara #3 puede ser asignado a S'1,0, el índice de cara #1 puede ser asignado a S'2,0, el índice de cara #5 puede ser asignado a S'0,1, el índice de cara #0 puede ser asignado a S'1,1, y el índice de cara #4 puede ser asignado a S'2,1, como se muestra en la Sección 21C. Alternativamente, cuando se asigna un índice mediante el uso de una pieza de información de localización, el índice facial #2 puede asignarse a S[0], el índice facial #3 puede asignarse a S[1], el índice facial #1 puede asignarse a S[2], el índice facial #5 puede asignarse a S[3], el índice facial #0 puede asignarse a S[4], y el índice facial #4 puede asignarse a S[5]. Para facilitar la descripción, en el ejemplo siguiente, S'0,0 a S'2,1 pueden denominarse de a a f. Alternativamente, cada cara puede representarse mediante el uso de información de localización que indique la anchura y la altura de un píxel o unidad de bloque sobre la base de una esquina superior izquierda de la imagen.
Para la imagen empaquetada adquirida a través del proceso de reconstrucción de imagen (o el proceso de empaquetado por región), el orden de escaneo de la cara es el mismo o diferente del orden de escaneo de la imagen dependiendo de los ajustes de reconstrucción. Por ejemplo, cuando se aplica un orden de barrido (por ejemplo, barrido de trama) a una imagen mostrada en la Sección 21A, a, b y c pueden tener el mismo orden de barrido, y d, e y f pueden tener diferentes órdenes de barrido. Por ejemplo, cuando el orden de exploración para la sección 21A o el orden de exploración para a, b y c sigue un orden de (0,0) □ (1,0) □ (0,1) □ (1,1), el orden de exploración para d, e y f puede seguir un orden de (1,0) □ (1,1) □ (0,0) □ (0,1). Esto puede determinarse en función de la configuración de reconstrucción de la imagen, y dicha configuración puede aplicarse incluso a otros formatos de proyección.
En el proceso de particionado de imagen mostrado en la Sección 21B, una baldosa puede ser individualmente establecido como una unidad de cara. Por ejemplo, cada una de las caras a a f puede establecerse como una unidad de baldosa. Alternativamente, una pluralidad de unidades de cara se puede establecer como una baldosa. Por ejemplo, las caras a a c pueden establecerse como una baldosa, y las caras d a f pueden establecerse como una baldosa. La construcción puede determinarse en función de las características de las caras (por ejemplo, continuidad entre caras, etc.) y, a diferencia del ejemplo anterior, puede haber diferentes configuraciones de las baldosas para las caras.
A continuación se muestra un ejemplo de partición de información de acuerdo con una pluralidad de procesos de partición de imágenes. En este ejemplo, se supone que se omite la información de partición de una cara, que una unidad distinta de una cara es una baldosa y que la información de partición se procesa de varias formas.
Como primer ejemplo, la información de partición de la imagen puede ser adquirida en base a la información de la cara y puede ser omitida implícitamente. Por ejemplo, una cara puede establecerse individualmente como una baldosa, 0 una pluralidad de caras pueden establecerse como una baldosa. En este caso, cuando al menos una cara se establece como una baldosa, esto puede determinarse de acuerdo con una regla predeterminada sobre la base de la información de la cara (por ejemplo, continuidad o correlación).
Como segundo ejemplo, la información de partición de la imagen puede ser generada explícitamente independientemente de la información de la cara. Por ejemplo, cuando la información de partición se genera mediante el uso del número de columnas (en la presente memoria descriptiva, núm_baldosa_columnas) y el número de filas (en la presente memoria descriptiva, núm_baldosa_filas) de la baldosa, la información de partición puede generarse en un procedimiento del proceso de partición de imágenes descrito anteriormente. Por ejemplo, el número de columnas de la baldosa puede oscilar entre 0 y la anchura de la imagen o la anchura del bloque (en la presente memoria descriptiva, una unidad adquirida de la parte de partición de la imagen), y el número de filas de la baldosa puede oscilar entre 0 y la altura de la imagen o la altura del bloque. Además, puede generarse información de partición adicional (por ejemplo, uniforme_espaciado_indicador). En este caso, el límite de la cara y el límite de la unidad de partición pueden coincidir o no en función de los ajustes de partición.
Como tercer ejemplo, la información de partición de la imagen puede ser generada explícitamente en base a la información de la cara. Por ejemplo, cuando la información de partición se genera mediante el uso de los números de columnas y filas de la baldosa, la información de partición puede generarse basándose en la información de las caras (en la presente memoria descriptiva, el número de columnas va de 0 a 2, y el número de filas va de 0 a 1; ya que la configuración de las caras en la imagen es 3x2). Por ejemplo, el número de columnas de la baldosa puede oscilar entre 0 y 2, y el número de filas de la baldosa puede oscilar entre 0 y 1. Además, es posible que no se genere información de particionamiento adicional (por ejemplo, uniforme_espaciado_indicador). En este caso, el límite de la cara y el límite de la unidad de partición pueden coincidir.
En algunos casos (el segundo ejemplo y el tercer ejemplo son supuestos), un elemento de sintaxis de la información de partición puede ser definido diferentemente, o los ajustes del elemento de sintaxis (por ejemplo, ajustes de binarización; cuando el intervalo de un grupo candidato de un elemento de sintaxis es limitado y pequeño, otra binarización puede ser usada) puede ser aplicada diferentemente aunque el mismo elemento de sintaxis sea usado. El ejemplo anterior se ha descrito para algunos de los varios elementos de la información de partición. Sin embargo, la presente invención no se limita a ello, y puede entenderse que son posibles otras configuraciones en función de si la información de partición se genera sobre la base de la información de la cara.
FIG. 22 es un diagrama de ejemplo en el que una imagen empaquetada o proyectada por PMC se divide en baldosas.
En este caso, se asume que tiene los mismos límites de partición de baldosas (WO a W2, H0, y H1 están todos activados) que los mostrados en la Sección 21A de la FIG. 21 y tienen los mismos límites de partición de baldosas (WO, W1 y H0 están todos activados) que los mostrados en la sección 21B de la FIG. 21. Cuando se supone que una región P indica toda la imagen y una región V indica una ventana gráfica, se puede realizar una decodificación total o parcial. Se describirá este ejemplo, centrándose en la decodificación parcial. En la Sección 22A, las baldosas e, f y g pueden decodificarse para PMC (a lado izquierdo) y las baldosas de a, c y e pueden decodificarse para PMC compacto (a lado derecho) para adquirir una región correspondiente a la ventana gráfica. En la Sección 22B, las baldosas b, f e 1 pueden decodificarse para PMC y las baldosas de d, e y f pueden decodificarse para PMC compacto para adquirir una región correspondiente a la ventana gráfica.
El ejemplo anterior se ha descrito para un caso en el que la partición de un corte, una baldosa o similar se realiza sobre la base de una unidad de cara (o un límite de cara). Sin embargo, como se muestra en la Sección 20A de la FIG. 20, la partición puede realizarse en el interior de una cara (por ejemplo, una imagen se compone de una cara en PER y se compone de una pluralidad de caras en otro formato de proyección), o la partición puede realizarse en el límite de la cara de este modo como en el interior.
FIG. 23 es un diagrama conceptual que ilustra un ejemplo de redimensionamiento de una imagen de 360 grados de acuerdo con una realización de la presente invención. En este caso, se supone que se proyecta una imagen por medio de PER. También se describirá el siguiente ejemplo, centrado en el caso de la expansión.
La imagen proyectada puede ser redimensionada a través de un factor de escala o a través de un factor de desplazamiento dependiendo de un tipo de redimensionamiento de imagen. Aquí, una imagen antes de redimensionarse puede ser P_Anchura * P_Altura, y una imagen después de redimensionarse puede ser P'_Anchura x P'_Altura.
Para el factor de escala, después de que la anchura y la altura de la imagen se redimensionan por medio de factores de escala (en la presente memoria descriptiva, a en anchura y b en altura), puede adquirirse la anchura (P_Anchura * a) y la altura (P_Altura * b) de la imagen. Para el factor de desplazamiento, después de redimensionar la anchura y la altura de la imagen por medio de factores de desplazamiento (en la presente memoria descriptiva, L y R en anchura y T y B en altura), se puede adquirir la anchura (P_Anchura L R) y la altura (P_Altura T B) de la imagen. El redimensionamiento puede realizarse mediante el uso de un procedimiento predeterminado, o puede realizarse mediante el uso de un procedimiento seleccionado entre una pluralidad de procedimientos.
Se describirá el procedimiento de tratamiento de datos en el siguiente ejemplo, centrándose en el caso de un factor de desplazamiento. Para el factor de desplazamiento, como procedimiento de procesamiento de datos, puede haber un procedimiento de relleno por medio del uso de un valor de píxel predeterminado, un procedimiento de relleno por medio de la copia de píxeles exteriores, un procedimiento de relleno por medio de la copia de una región específica de una imagen, un procedimiento de relleno por medio de la transformación de una región específica de una imagen, y similares.
Una imagen de 360 grados puede ser redimensionada en consideración de características en las cuales la continuidad está presente en un límite de la imagen. Para PER, un límite exterior no está presente en el espacio 3D, pero puede estar presente cuando el espacio 3D se transforma en el espacio 2D a través del proceso de proyección. Los datos de una región fronteriza incluyen datos con continuidad hacia el exterior, pero pueden tener un límite en términos de características espaciales. El redimensionamiento puede realizarse teniendo en cuenta dichas características. En este caso, la continuidad puede comprobarse de acuerdo con el formato de proyección o similar. Por ejemplo, una imagen PER puede ser una imagen con características en las que los límites de ambos extremos son continuos. Este ejemplo se describirá suponiendo que los límites izquierdo y derecho de la imagen son continuos entre sí y que los límites superior e inferior de la imagen son continuos entre sí. Se describirá el procedimiento de procesamiento de datos, centrándose en un procedimiento de relleno por medio de la copia de una región específica de la imagen y un procedimiento de relleno por medio de la transformación de una región específica de la imagen.
Cuando la imagen es redimensionada hacia la izquierda, una región redimensionada (en la presente memoria descriptiva, LC o TL LC BL) puede ser rellenada con datos de una región derecha (en la presente memoria descriptiva, tr rc br) de la imagen que tiene continuidad con la izquierda de la imagen. Cuando la imagen se redimensiona hacia la derecha, una región redimensionada (en la presente memoria descriptiva, RC o TR RC BR) puede rellenarse con datos de una región izquierda (en la presente memoria descriptiva, tl Ic bl) de la imagen que tenga continuidad con la derecha de la imagen. Cuando la imagen se redimensiona hacia arriba, una región redimensionada (en la presente memoria descriptiva, TC o TL TC TR) puede rellenarse con datos de una región inferior (en la presente memoria descriptiva, bl be br) de la imagen que tenga continuidad con el lado superior. Cuando la imagen se redimensiona hacia abajo, una región redimensionada (en la presente memoria descriptiva, BC o BL BC BR) puede archivarse con datos.
Cuando el tamaño o longitud de la región redimensionada es m, la región redimensionada puede tener un intervalo de (-m,y) a (-1 ,y) (redimensionamiento a la izquierda) o un intervalo de (P_Anchura, y) a (P_Anchura m - 1,y) (redimensionamiento a la derecha) con respecto a las coordenadas de la imagen antes del redimensionamiento (en la presente memoria descriptiva, x oscila entre 0 y P_Anchura -1). La ubicación x' de la región para adquirir los datos de la región redimensionada puede derivarse de una fórmula x' = (x P_Anchura) % P_Anchura. En este caso, x denota una coordenada de una región redimensionada con respecto a las coordenadas de una imagen antes de redimensionar, y x' denota una coordenada de una región referenciada a una región redimensionada con respecto a las coordenadas de una imagen antes de redimensionar. Por ejemplo, cuando la imagen se redimensiona a la izquierda, m es 4, y la anchura de la imagen es 16, los datos correspondientes de (-4,y) pueden adquirirse de (12,y), los datos correspondientes de (-3,y) pueden adquirirse de (13,y), los datos correspondientes de (-2,y) pueden adquirirse de (14,y), y los datos correspondientes de (-1,y) pueden adquirirse de (15,y). Alternativamente, cuando la imagen se redimensiona a la derecha, m es 4, y la anchura de la imagen es 16, los datos correspondientes de (16,y) pueden adquirirse desde (0,y), los datos correspondientes de (17,y) pueden adquirirse desde (1,y), los datos correspondientes de (18,y) pueden adquirirse desde (2,y), y los datos correspondientes de (19,y) pueden adquirirse desde (3,y).
Cuando el tamaño o longitud de la región redimensionada es n, la región redimensionada puede tener un intervalo de (x,-n) a (x,-1) (redimensionamiento hacia arriba) o un intervalo de (x,P_Altura) a (x,P_Altura n - 1) (redimensionamiento hacia abajo) con respecto a las coordenadas de la imagen antes del redimensionamiento (en la presente memoria descriptiva, y tiene un intervalo de 0 a P_Altura - 1). La ubicación (y') de la región para adquirir datos de la región redimensionada puede derivarse de una fórmula y' = (y P_Altura)%P_Altura. En este caso, y denota una coordenada de una región redimensionada con respecto a las coordenadas de una imagen antes de redimensionar, e y' denota una coordenada de una región referenciada a una región redimensionada con respecto a las coordenadas de una imagen antes de redimensionar. Por ejemplo, cuando la imagen se redimensiona hacia arriba, n es 4, y la altura de la imagen es 16, los datos correspondientes de (x,-4) pueden adquirirse de (x,12), los datos correspondientes de (x,-3) pueden adquirirse de (x,13), los datos correspondientes de (x,-2) pueden adquirirse de (x,14), y los datos correspondientes de (x,-1) pueden adquirirse de (x,15). Alternativamente, cuando la imagen se redimensiona hacia abajo, n es 4, y la altura de la imagen es 16, los datos correspondientes de (x,16) pueden adquirirse desde (x,0), los datos correspondientes de (x,17) pueden adquirirse desde (x,1), los datos correspondientes de (x, 18) pueden adquirirse desde (x,2), y los datos correspondientes de (x,19) pueden adquirirse desde (x,3).
Después de que la región redimensionada es llenada con datos, el redimensionamiento puede ser realizado con respecto a las coordenadas de la imagen después del redimensionamiento (en la presente memoria descriptiva, x varía de 0 a P'_Anchura -1 , e y varía de 0 a P'_Altura -1). El ejemplo puede aplicarse a un sistema de coordenadas de latitud y longitud.
Se pueden proporcionar varias combinaciones de redimensionamiento como se indica a continuación.
Por ejemplo, la imagen puede redimensionarse hacia la izquierda en m. Alternativamente, la imagen puede redimensionarse hacia la derecha en n. Alternativamente, la imagen puede redimensionarse hacia arriba en o. Alternativamente, la imagen puede redimensionarse hacia abajo en p. Alternativamente, la imagen puede ser redimensionada hacia arriba por o. Alternativamente, la imagen puede ser redimensionada hacia abajo por p.
Como ejemplo, la imagen puede ser redimensionada a la izquierda por m y a la derecha por n. Alternativamente, la imagen puede ser redimensionada hacia arriba por o y hacia abajo por p. Alternativamente, la imagen puede ser redimensionada hacia arriba por o y hacia abajo por p.
Como ejemplo, la imagen puede ser redimensionada a la izquierda por m, a la derecha por n, y hacia arriba por o. Alternativamente, la imagen puede ser redimensionada a la izquierda por m, a la derecha por n, y hacia abajo por p. Alternativamente, la imagen puede ser redimensionada a la izquierda por m, hacia arriba por o, y hacia abajo por p. Alternativamente, la imagen puede ser redimensionada a la derecha por n, hacia arriba por o, y hacia abajo por p.
Como ejemplo, la imagen puede ser redimensionada a la izquierda por m, a la derecha por n, hacia arriba por o, y hacia abajo por p.
Como en el ejemplo anterior, puede realizarse al menos una operación de redimensionamiento. El redimensionamiento de la imagen puede realizarse implícitamente de acuerdo con los ajustes de codificación/decodificación, o puede generarse implícitamente información de redimensionamiento y, a continuación, puede realizarse el redimensionamiento de la imagen sobre la base de la información de redimensionamiento generada. Es decir, m, n, o y p del ejemplo anterior pueden determinarse como valores predeterminados o pueden generarse explícitamente mediante el uso de la información de redimensionamiento. Alternativamente, algunos pueden determinarse como valores predeterminados, y los otros pueden generarse explícitamente.
El ejemplo anterior se ha descrito centrándose en el caso de datos adquiridos de regiones específicas de la imagen, pero también pueden aplicarse otros procedimientos. Los datos pueden ser un píxel antes de la codificación o un píxel después de la codificación y pueden determinarse en función de las características de una etapa de redimensionamiento o de una imagen a redimensionar. Por ejemplo, los datos pueden relacionarse con un píxel de entrada de una imagen proyectada, una imagen empaquetada, o similares cuando el redimensionamiento se realiza en un proceso de preprocesamiento y una etapa de precodificación, y los datos pueden relacionarse con un píxel restaurado cuando el redimensionamiento se realiza en un proceso de postprocesamiento, una etapa de generación de píxeles de referencia intra-predicción, una etapa de generación de imágenes de referencia, una etapa de filtrado, y similares. Además, el redimensionamiento puede realizarse mediante el uso de individualmente un procedimiento de procesamiento de datos en cada región redimensionada.
FIG. 24 es un diagrama conceptual que ilustra la continuidad entre caras en un formato de proyección (por ejemplo, CHP, POH o PIS) de acuerdo con una realización de la presente invención.
En detalle, FIG. 24 puede mostrar un ejemplo de una imagen compuesta por una pluralidad de caras. La continuidad puede ser una característica generada en regiones adyacentes en un espacio 3D. Las secciones 24A a 24C muestran claramente el caso A, en el que hay adyacencia espacial y continuidad cuando la transformación se realiza en un espacio 2D por medio de un proceso de proyección, el caso B, en el que hay adyacencia espacial pero no continuidad, el caso C, en el que no hay adyacencia espacial pero sí continuidad, y el caso D, en el que no hay adyacencia espacial ni continuidad. A diferencia de esto, las imágenes generales se clasifican en un caso A de tener tanto adyacencia espacial como continuidad y un caso D de no tener ni adyacencia espacial ni continuidad. En este caso, el supuesto de tener continuidad corresponde a alguno de los ejemplos (A o C).
Es decir, refiriéndose a las Secciones 24A a 24C, el caso de tener tanto adyacencia espacial como continuidad (en la presente memoria descriptiva, que se describe con referencia a la Sección 24A) puede mostrarse como b0 a b4, y el caso de no tener adyacencia espacial pero sí continuidad puede mostrarse como DBAN a B6. Es decir, los casos indican regiones que son adyacentes en el espacio 3D, y es posible mejorar el rendimiento de la codificación mediante el uso de características en las que b0 a b4 y B0 a B6 tienen continuidad en un proceso de codificación.
FIG. 25 es un diagrama conceptual que ilustra la continuidad de la cara en la Sección 21C, que es una imagen adquirida por medio de un proceso de reconstrucción de imagen o un proceso de empaquetado por regiones en el formato de proyección PMC.
En la presente memoria descriptiva, la Sección 21C de la FIG. 21 muestra un reordenamiento de una imagen de 360 grados extendida en forma de cubo en la Sección 21A, y por lo tanto la continuidad de la cara aplicada a la Sección 21A de la FIG. 21 se mantiene. Es decir, como se muestra en la Sección 25A, una cara S2,1 puede ser horizontalmente continua con las caras S1,1 y S3,1 y puede ser verticalmente continua con una cara S1,P girada 90 grados y una cara S1, 2 girada -90 grados.
De la misma manera, la continuidad de las caras S3,1, S0,1, S1,2, S1, 1, y S1,0 puede comprobarse en las Secciones 25B a 25F.
La continuidad entre las caras puede definirse de acuerdo con los ajustes del formato de proyección o similares. Sin embargo, la presente invención no se limita a ello, y pueden introducirse modificaciones. El siguiente ejemplo se describirá suponiendo que la continuidad está presente como se muestra en las FIGS. 24 y 25.
FIG. 26 es un diagrama de ejemplo que ilustra el redimensionamiento de la imagen en el formato de proyección PMC de acuerdo con una realización de la presente invención.
La Sección 26A muestra un ejemplo de redimensionamiento de una imagen, la Sección 26B muestra un ejemplo de redimensionamiento de una unidad de caras (o una unidad de partición), y la Sección 26C muestra un ejemplo de redimensionamiento de una imagen y una unidad de caras (o un ejemplo de realización de redimensionamiento múltiple).
La imagen proyectada puede ser redimensionada a través de un factor de escala o a través de un factor de desplazamiento dependiendo de un tipo de redimensionamiento de imagen. Aquí, una imagen antes de redimensionarse puede ser P_Anchura * P_Altura, una imagen después de redimensionarse puede ser P'_Anchura * P'_Altura, y el tamaño de una cara puede ser F_Anchura * F_Altura. El tamaño puede ser el mismo o diferente de acuerdo con la cara, y la anchura y la altura pueden ser iguales o diferentes de acuerdo con la cara. Sin embargo, para facilitar la descripción, este ejemplo se describirá suponiendo que todas las caras de la imagen tienen el mismo tamaño y la forma de un cuadrado. Además, la descripción asume que los valores de redimensionamiento (en la presente memoria descriptiva, WX y HY) son los mismos. En el siguiente ejemplo, se describirá un procedimiento de procesamiento de datos, centrándose en el caso de un factor de desplazamiento y también centrándose en un procedimiento de relleno por medio de la copia de una región específica de la imagen y un procedimiento de relleno por medio de la transformación de una región específica de la imagen. Los ajustes anteriores pueden aplicarse incluso al caso mostrado en la FIG. 27.
Para las Secciones 26A a 26C, un límite de una cara puede tener continuidad con un límite de otra cara (en la presente memoria descriptiva, se asume que tiene continuidad correspondiente a la Sección 24A de la FIG. 24). Aquí, la continuidad puede clasificarse en un caso de adyacencia espacial y continuidad de la imagen en el plano 2D (un primer ejemplo) y un caso de no adyacencia espacial pero continuidad de la imagen en el plano 2D (un segundo ejemplo).
Por ejemplo, cuando la continuidad en la Sección 24A de la FIG. 24, las regiones superior, izquierda, derecha e inferior de S1,1 pueden ser espacialmente adyacentes y tener continuidad de imagen con las regiones inferior, derecha, izquierda y superior de Sl,0, S0,1, S2,1 y S1,2 (primer ejemplo).
Alternativamente, las regiones izquierda y derecha de S1,0 no son espacialmente adyacentes a, pero pueden tener continuidad de imagen con, las regiones superiores de SO,1 y S2,1 (el segundo ejemplo). Además, la región izquierda de S0,1 puede no ser espacialmente adyacente, pero tener continuidad de imagen entre sí (segundo ejemplo). Además, la región izquierda y la región derecha de S1,2 pueden ser continuas con las regiones inferiores de SO,1 y S2,1 (segundo ejemplo). Esto puede ser sólo un ejemplo limitado, y pueden aplicarse otras configuraciones en función de la definición y los ajustes del formato de proyección. Para facilitar la descripción, S0,0 a S3,2 en la sección 26A se denominan de a a I.
La Sección 26A puede ser un ejemplo de un procedimiento de relleno que utiliza datos de una región que tiene continuidad hacia un límite exterior de una imagen. Un intervalo desde una región A, que no incluye datos, hasta una región redimensionada (en la presente memoria descriptiva, a0 a a2, c0, d0 a d2, i0 a i2, kO, y l0 a l2) puede rellenarse con cualquier valor predeterminado o por medio de relleno de píxel exterior, y un intervalo desde una región B, que incluye datos reales, hasta una región redimensionada (en la presente memoria descriptiva, b0, e0, h0, y j0) puede rellenarse con datos de una región (o una cara) que tenga continuidad de imagen. Por ejemplo, b0 puede llenarse con datos de un lado superior de la cara h, e0 puede llenarse con datos de un lado derecho de la cara h, h0 puede llenarse con datos de un lado izquierdo de la cara e, y j0 puede llenarse con datos de un lado inferior de la cara h.
En detalle, como ejemplo, b0 puede llenarse con datos de un lado inferior de una cara adquiridos rotando la cara h 180 grados, y j0 puede llenarse con datos de un lado superior de una cara adquiridos rotando la cara h 180 grados. Sin embargo, este ejemplo (incluyendo el siguiente) puede representar sólo la ubicación de una cara de referencia, y los datos adquiridos de la región redimensionada pueden ser adquiridos después de un proceso de redimensionamiento (por ejemplo, rotación, etc.) que considera la continuidad entre las caras como se muestra en las FIGS. 24 y 25.
La sección 26B puede ser un ejemplo de un procedimiento de relleno que utiliza datos de una región que tiene continuidad hacia un límite interior de una imagen. En este ejemplo, se puede realizar una operación de redimensionamiento diferente para cada cara. Se puede realizar un proceso de reducción en la región A, y un proceso de expansión en la región B. Por ejemplo, la cara a se puede redimensionar (en la presente memoria descriptiva, reducir) hacia la derecha en w0, y la cara b se puede redimensionar (en la presente memoria descriptiva, expandir) hacia la izquierda en w0. Alternativamente, la cara a puede ser redimensionada (en la presente memoria descriptiva, reducida) hacia abajo por h0, y la cara y puede ser redimensionada (en la presente memoria descriptiva, expandida) hacia arriba por h0. En este ejemplo, cuando se observa un cambio en la anchura de la imagen a través de las caras a, b, c y d, la cara a se reduce en w0, la cara b se expande en w0 y w1, y la cara c puede reducirse en w1. De este modo, la anchura de la imagen antes de redimensionarla es la misma que la anchura de la imagen después de redimensionarla. Cuando se observa un cambio en la altura de la imagen a través de las caras a, e e i, la cara a se reduce en h0, la cara y se expande en h0 y h1, y la cara i puede reducirse en h1. De este modo, la altura de la imagen antes de redimensionarla es la misma que la altura de la imagen después de redimensionarla.
Las regiones redimensionadas (en la presente memoria descriptiva, b0, e0, be, b1, bg, g0, h0, e1, ej, j0, gi, g1, j1, y h1) pueden ser simplemente eliminadas considerando que las regiones son reducidas desde la región A que no incluye datos, y pueden ser rellenadas con datos de una región que tiene continuidad considerando que las regiones son expandidas desde la región B que incluye datos reales.
Por ejemplo, b0 puede llenarse con datos de un lado superior de la cara e; e0 puede llenarse con datos de un lado izquierdo de la cara b; be puede llenarse con datos de un lado izquierdo de la cara b, un lado superior de la cara e, o una suma ponderada de un lado izquierdo de la cara b y un lado superior de la cara e; b1 puede rellenarse con datos de un lado superior de la cara g; bg puede rellenarse con datos de un lado izquierdo de la cara b, un lado superior de la cara g, o una suma ponderada de un lado derecho de la cara b y un lado superior de la cara g; g0 puede rellenarse con datos de un lado derecho de la cara b; h0 puede rellenarse con datos de un lado superior de la cara b; e1 puede rellenarse con datos de un lado izquierdo de la cara j; ej puede rellenarse con datos de un lado inferior de la cara e, un lado izquierdo de la cara j, o una suma ponderada de un lado inferior de la cara e y un lado izquierdo de la cara j; j0 puede rellenarse con datos de un lado inferior de la cara e; gj puede rellenarse con datos de un lado inferior de la cara g, un lado izquierdo de la cara j, o una suma ponderada de un lado inferior de la cara g y un lado derecho de la cara j; g1 puede rellenarse con datos de un lado derecho de la cara j; j1 puede rellenarse con datos de un lado inferior de la cara g; y h1 puede rellenarse con datos de un lado inferior de la cara j.
En el ejemplo anterior, cuando la región redimensionada se rellena con datos de regiones específicas de la imagen, los datos de una región correspondiente pueden copiarse y a continuación utilizarse para rellenar la región redimensionada o pueden transformarse en función de las características, el tipo y similares de la imagen y a continuación utilizarse para rellenar la región redimensionada. Por ejemplo, cuando una imagen de 360 grados puede transformarse en el espacio 2D de acuerdo con un formato de proyección, puede definirse un sistema de coordenadas (por ejemplo, un sistema de coordenadas planas 2D) para cada cara. Para facilitar la descripción, se supone que (x, y, z) en el espacio 3D se transforma en (x,y,C), (x,C,z) o (C,y,z) para cada cara. El ejemplo anterior indica un caso en el que, a partir de una región redimensionada de un rostro, se adquieren datos de un rostro distinto del rostro correspondiente. Es decir, cuando el redimensionamiento se realiza en la cara actual, los datos de otra cara con diferentes características del sistema de coordenadas pueden copiarse tal cual y utilizarse a continuación. En este caso, existe la posibilidad de que la continuidad se distorsione en función del límite de redimensionamiento. Para ello, los datos de otra cara adquiridos de acuerdo con las características del sistema de coordenadas de la cara actual pueden transformarse y utilizarse para rellenar una región redimensionada. La transformación también es meramente un ejemplo del procedimiento de procesamiento de datos, y la presente invención no se limita a ello.
Cuando se copian datos de regiones específicas de la imagen y se utilizan para rellenar una región redimensionada, puede incluirse continuidad distorsionada (o continuidad radicalmente cambiante) en una región límite entre una región redimensionada e y una región redimensionada e0. Por ejemplo, la continuidad puede cambiar con respecto a un límite, y un borde recto puede curvarse con respecto al límite.
Cuando los datos de regiones específicas de la imagen son transformados y utilizados para rellenar una región redimensionada, la continuidad gradualmente cambiante puede ser incluida en una región límite entre regiones redimensionadas.
El ejemplo anterior puede ser un ejemplo del procedimiento de procesamiento de datos de la presente invención para transformar datos de regiones específicas de la imagen en base a las características, tipo y similares de la imagen y rellenar una región redimensionada con los datos transformados.
La Sección 26C puede ser un ejemplo de llenado de una región redimensionada con datos de una región que tiene continuidad hacia los límites (un límite interior y un límite exterior) de la imagen en combinación de los procesos de redimensionamiento de imagen correspondientes a las Secciones 26A y 26B. El proceso de redimensionamiento de este ejemplo puede derivarse de los de las Secciones 26A y 26B, y se omitirá una descripción detallada del mismo.
La Sección 26A puede ser un ejemplo del proceso de redimensionamiento de una imagen, y la Sección 26B puede ser un ejemplo de redimensionamiento de una unidad de partición en una imagen. La sección 26C puede ser un ejemplo de una pluralidad de procesos de redimensionamiento que incluyen el proceso de redimensionamiento de una imagen y el proceso de redimensionamiento de una unidad de partición en una imagen.
Por ejemplo, una imagen (en la presente memoria descriptiva, un primer formato) adquirida a través de un proceso de proyección puede ser redimensionada (en la presente memoria descriptiva, una región C), y una imagen (en la presente memoria descriptiva, un segundo formato) adquirida a través de un proceso de transformación de formato puede ser redimensionada (en la presente memoria descriptiva, una región D). En este ejemplo, una imagen proyectada por PER puede ser redimensionada (en la presente memoria descriptiva, una imagen completa) y transformada en una imagen proyectada por PMC a través de una parte de transformación de formato, y la imagen proyectada por PMC puede ser redimensionada (en la presente memoria descriptiva, una unidad de cara). El ejemplo anterior es un ejemplo en el que se realiza una pluralidad de operaciones de redimensionamiento. Sin embargo, la presente invención no se limita a ello, y pueden introducirse modificaciones.
FIG. 27 es un diagrama de ejemplo que ilustra el redimensionamiento de una imagen transformada y empaquetada en el formato de proyección PMC de acuerdo con una realización de la presente invención. FIG. 27 también asume la continuidad entre las caras como se muestra en la FIG. 25, por lo que el límite de una cara puede tener continuidad con el límite de otra cara.
En este ejemplo, los factores de desplazamiento de WO a W5 y de H0 a H3 pueden tener varios valores (en la presente memoria descriptiva, se asume que los factores de desplazamiento se utilizan como valores de redimensionamiento). Por ejemplo, los factores de desplazamiento pueden derivarse de un valor predeterminado, un intervalo de búsqueda de movimiento de inter-predicción, una unidad adquirida de una parte de partición de imagen, y similares, y también son posibles otros casos. En este caso, la unidad adquirida de la unidad de partición de píxeles puede incluir una cara. Es decir, los valores de redimensionamiento pueden determinarse en función de F_Anchura y F_Altura
La sección 27A es un ejemplo de redimensionamiento individual de una sola cara (en la presente memoria descriptiva, hacia arriba, hacia abajo, a la izquierda y a la derecha con respecto a la cara) y de relleno de regiones expandidas con datos de una región que tiene continuidad. Por ejemplo, las regiones exteriores a0 a a6 de la cara a pueden rellenarse con datos continuos, y las regiones exteriores b0 a b6 de la cara b pueden rellenarse con datos continuos.
La sección 27B es un ejemplo de redimensionamiento de una pluralidad de caras (en la presente memoria descriptiva, hacia arriba, hacia abajo, hacia la izquierda y hacia la derecha con respecto a la pluralidad de caras) y rellenado de regiones expandidas con datos de una región que tiene continuidad. Por ejemplo, las caras a, b y c pueden expandirse a las regiones exteriores a0 a a4, b0 y b1, y c0 a c4.
La sección 27C puede ser un ejemplo de redimensionamiento de una imagen completa (aquí, hacia arriba, hacia abajo, a la izquierda y a la derecha con respecto a la imagen completa) y rellenado de regiones expandidas con datos de una región que tiene continuidad. Por ejemplo, una imagen completa compuesta por las caras a a f puede expandirse a las regiones exteriores a0 a a2, b0, c0 a c2, d0 a d2, y f0 a f2.
Es decir, el redimensionamiento puede realizarse en una sola unidad de cara, en una pluralidad de unidades de cara que tengan continuidad entre sí, y en una unidad de imagen completa.
En el ejemplo anterior, las regiones redimensionadas (en la presente memoria descriptiva, a0 a f7) pueden rellenarse con datos de una región (o una cara) que tenga continuidad, como se muestra en la Sección 24A. Es decir, las regiones redimensionadas pueden rellenarse con datos de los lados superior, inferior, izquierdo y derecho de las caras a a f.
FIG. 28 es un diagrama de ejemplo que ilustra un procedimiento de procesamiento de datos para redimensionar una imagen de 360 grados de acuerdo con una realización de la presente invención.
En referencia a la FIG. 28, una región B (a0 a a2, ad0, b0, c0 a c2, cf1, d0 a d2, e0, f0 a f2), que es una región redimensionada, puede rellenarse con datos de una región que tiene continuidad entre los datos de píxeles pertenecientes a a f. Asimismo, una región C (ad1, be, cf0), que es otra región redimensionada), puede rellenarse con datos de una región que va a redimensionarse y datos de una región que tiene adyacencia espacial pero no continuidad en combinación. Alternativamente, dado que el redimensionamiento se realiza entre dos regiones (por ejemplo, a y d, b y e, y c y f) seleccionadas entre a y f, la región C puede rellenarse con fragmentos de datos de las dos regiones en combinación. Por ejemplo, la cara b y la cara y pueden ser espacialmente adyacentes, pero no tener continuidad entre sí. Una región redimensionada be situada entre la cara b y la cara y puede redimensionarse mediante el uso de datos de la cara b y datos de la cara e. Por ejemplo, la región be puede rellenarse con un valor adquirido promediando los datos de la cara b y los datos de la cara e o con un valor adquirido por medio de una suma ponderada basada en la distancia. En este caso, un píxel que se utiliza para los datos que se utilizarán para rellenar una región redimensionada en la cara b y la cara y puede ser un píxel límite de cada cara o un píxel interno de cada cara.
En resumen, una región redimensionada entre unidades de partición de la imagen puede ser rellenada con datos generados usando trozos de datos de las dos unidades en combinación.
El procedimiento de procesamiento de datos puede ser soportado en algunas condiciones (en la presente memoria descriptiva, cuando una pluralidad de regiones son redimensionadas.
En las Secciones 27A y 27B, una región a redimensionar entre unidades de partición se construye individualmente para cada unidad de partición (en la Sección 27A, a6 y d1 se construyen para a y d, respectivamente). En FIG. 28, se puede construir una única región a redimensionar entre unidades de partición para unidades de partición adyacentes (ad1 se construye para a y d). Se apreciará que el procedimiento puede incluirse en el grupo candidato para el procedimiento de procesamiento de datos de las Secciones 27A y 27B y el redimensionamiento puede realizarse mediante el uso de un procedimiento de procesamiento de datos diferente del ejemplo anterior, incluso en la FIG. 28.
En el proceso de redimensionamiento de una imagen de acuerdo con la presente invención, puede utilizarse implícitamente un procedimiento de procesamiento de datos predeterminado en una región redimensionada, o puede utilizarse uno de una pluralidad de procedimientos de procesamiento de datos para relacionar explícitamente la información. El procedimiento de procesamiento de datos predeterminado puede ser uno de los siguientes: un procedimiento de relleno por medio del uso de cualquier valor de píxel, un procedimiento de relleno por medio de la copia de píxeles externos, un procedimiento de relleno por medio de la copia de una región específica de una imagen, un procedimiento de relleno por medio de la transformación de una región específica de una imagen, un procedimiento de relleno por medio del uso de datos derivados de una pluralidad de regiones de una imagen, etc. Por ejemplo, cuando una región redimensionada se encuentra dentro de una imagen (por ejemplo, una imagen empaquetada) y las regiones a ambos lados (por ejemplo, una cara) tienen adyacencia espacial pero no continuidad, se puede aplicar un procedimiento de procesamiento de datos para rellenar la región redimensionada con datos derivados de una pluralidad de regiones. Además, el redimensionamiento puede ser realizado por un procedimiento de procesamiento de datos seleccionado de entre la pluralidad de procedimientos de procesamiento de datos, y la información de selección relacionada puede ser generada explícitamente. Este puede ser un ejemplo aplicable tanto a una imagen general como a una imagen de 360 grados.
El codificador puede añadir la información generada durante el proceso anterior a un caudal de bits en unidades de al menos una de las secuencias, imágenes, cortes, baldosas y similares, y el decodificador puede analizar la información relacionada del caudal de bits. Además, la información puede incluirse en el caudal de bits en forma de IPS o metadatos. Se han descrito el proceso de partición, el proceso de reconstrucción y el proceso de redimensionamiento de una imagen de 360 grados, centrándose en algunos formatos de proyección como PER y PMC. Sin embargo, la presente invención no se limita a ello, y la descripción anterior puede aplicarse incluso a otros formatos de proyección tal cual o tras su modificación.
Se ha descrito que el proceso de ajuste de imagen para el aparato de codificación/decodificación de imágenes de 360 grados anterior puede aplicarse a un proceso de preprocesamiento, un proceso de postprocesamiento, un proceso de transformación de formato, un proceso de transformación de formato inverso y similares, así como a procesos de codificación/decodificación.
En resumen, el proceso de proyección puede construirse para incluir procesos de ajuste de imagen. En detalle, el proceso de proyección puede realizarse además de al menos uno de los procesos de ajuste de la imagen. La partición puede realizarse en unidades de regiones (o caras) sobre la base de la imagen proyectada. Dependiendo del formato de proyección, la partición puede realizarse en una única región o en una pluralidad de regiones. Para la partición, se puede generar información de partición. Además, la imagen proyectada puede redimensionarse, o una región proyectada puede redimensionarse. En este caso, el redimensionamiento puede realizarse en al menos una región. Para el redimensionamiento, se puede generar información de redimensionamiento. Además, se puede reconstruir la imagen proyectada (u ordenar las caras), o reconstruir una región proyectada. En este caso, la reconstrucción puede realizarse en al menos una región. Para la reconstrucción, se puede generar información de reconstrucción.
En resumen, un proceso de empaquetado por regiones puede ser construido para incluir procesos de ajuste de imagen. En detalle, el proceso de proyección de empaquetado por regiones puede realizarse además de al menos uno de los procesos de ajuste de la imagen. El proceso de partición puede realizarse en unidades de regiones (o caras) a partir de la imagen empaquetada. Dependiendo de la configuración del empaquetado por regiones, la partición puede realizarse en una única región o en una pluralidad de regiones. Para la partición, se puede generar información de partición. Además, la imagen empaquetada puede redimensionarse, o una región empaquetada puede redimensionarse. En este caso, el redimensionamiento puede realizarse en al menos una región. Para el redimensionamiento, se puede generar información de redimensionamiento. También puede reconstruirse la imagen empaquetada o una región empaquetada. En este caso, la reconstrucción puede realizarse en al menos una región. Para la reconstrucción, se puede generar información de reconstrucción.
Durante el proceso de proyección, todos o algunos de los procesos de ajuste de imagen pueden ser realizados, y la información de ajuste de imagen puede ser incluida. Esta información puede ser información de ajuste para la imagen proyectada. En concreto, esta información puede ser información de ajuste para regiones de la imagen proyectada.
Durante el proceso de empaquetado por regiones, pueden realizarse todos o algunos de los procesos de ajuste de imagen, y puede incluirse información de ajuste de imagen. Esta información puede ser información de ajuste para la imagen empaquetada. En concreto, esta información puede ser información de ajuste para regiones de la imagen empaquetada. Alternativamente, esta información puede ser información cartográfica (por ejemplo, véase la descripción con referencia a la FIG. 11; esto puede entenderse suponiendo que P0 y P1 indican imágenes proyectadas y SO a S5 indican imágenes empaquetadas) entre la imagen proyectada y la imagen empaquetada. En detalle, esta información puede ser información de mapeo entre una región específica de la imagen proyectada y una región específica de la imagen empaquetada. Es decir, esta información puede ser información de ajuste asignada desde la región específica en la imagen proyectada a la región específica en la imagen empaquetada.
La información de imagen puede representarse como información adquirida a través de las varias realizaciones descritas anteriormente durante el proceso de ajuste de imagen de la presente invención. Por ejemplo, cuando la información relacionada se representa mediante el uso de al menos un elemento de sintaxis de la Tabla 1 a la Tabla 6, la información de ajuste para la imagen proyectada puede incluir pic_ancho_en_muestras, pic_alto_en_muestras, parte_arriba[i], parte_izquierda[i], parte_ancho[i], parte_alto[i], y similares, y la información de configuración de la imagen empaquetada puede incluir ima_anchura_en_muestras, ima_altura_en_muestras, parte_superior[i], parte_izquierda[i], parte_anchura[i], parte_altura[i], convert_tipo_indicador[i], parte_redimensionamiento_indicador[i], superior_altura_desplazamiento[i], inferior_altura_desplazamiento[i], izquierda_anchura_desplazamiento[i], derecha_anchura_desplazamiento[i], redimensionamiento_tipo_indicador[i], y similares. El ejemplo anterior puede ser un ejemplo de generación explícita de información relativa a las caras (por ejemplo, parte_superior[i], parte_izquierda[i], parte_anchura[i] y parte_altura[i] entre la información de ajuste de la imagen proyectada).
Parte del proceso de ajuste de la imagen puede incluirse en un proceso de proyección o en un proceso de empaquetado por regiones correspondiente al formato de proyección por medio de una operación predeterminada.
Por ejemplo, PER utiliza un procedimiento de relleno de regiones expandidas a la izquierda por mí y a la derecha por n con datos de regiones en direcciones opuestas a las direcciones de redimensionamiento de la imagen, y por lo tanto el proceso de redimensionamiento puede estar implícitamente incluido. Alternativamente, PMC utiliza un procedimiento para rellenar regiones expandidas hacia arriba por m, hacia abajo por n, hacia la izquierda por o, y hacia la derecha por p con datos de una región que tiene continuidad con una región redimensionada, y de este modo el proceso de redimensionamiento puede estar implícitamente incluido.
En el ejemplo anterior, el formato de proyección puede ser un ejemplo de formatos sustitutos capaces de sustituir a los formatos de proyección convencionales o un ejemplo de formatos adicionales (por ejemplo, PER1 y PMC1) para los formatos de proyección convencionales. Sin embargo, la presente invención no se limita a ello, los ejemplos de varios procesos de ajuste de imagen de la presente invención pueden combinarse alternativamente, y aplicaciones similares pueden ser posibles para otros formatos.
Aunque no se muestra en el aparato de codificación de imagen y el aparato de decodificación de imagen de las FIGS.
1 y 2, puede incluirse además una parte de partición de bloques. La información relativa a una parte de codificación por defecto puede adquirirse de la parte de partición de la imagen, y la parte de codificación por defecto puede relacionarse con una unidad por defecto (o inicial) para la predicción, transformación, cuantificación, etc. durante el proceso de codificación/decodificación de la imagen. En este caso, la parte de codificación puede estar compuesta por un bloque de codificación de luminancia y dos bloques de codificación de crominancia de acuerdo con un formato de color (en la presente memoria descriptiva, YCbCr), y el tamaño de los bloques puede determinarse de acuerdo con el formato de color. El siguiente ejemplo se describirá con respecto a los bloques (en la presente memoria descriptiva, un componente de luminancia). En este caso, se supone que un bloque es una unidad que puede adquirirse después de determinar cada unidad, y también se supone que ajustes similares son aplicables a otros tipos de bloques.
La parte de partición de bloques puede establecerse en asociación con cada elemento del aparato de codificación de imágenes y del aparato de decodificación de imágenes. Este proceso permite determinar el tamaño y la forma de los bloques. En este caso, puede definirse un bloque diferente para cada elemento. El bloque puede ser un bloque de predicción para la parte de predicción, un bloque de transformación para la parte de transformación, un bloque de cuantificación para la parte de cuantificación, o similares. Sin embargo, la presente invención no se limita a ello, y puede definirse una unidad de bloque adicional para otro elemento. El tamaño y la forma del bloque pueden definirse por medio de la anchura y la altura del bloque.
Un bloque puede ser expresado como M * N por la parte de partición de bloques y puede ser adquirido en el intervalo de un valor mínimo a un valor máximo. Por ejemplo, cuando un bloque admite una forma cuadrada y tiene un valor máximo de 256 * 256 y un valor mínimo de 8 * 8, un bloque que tenga un tamaño de 2m * 2m (en la presente memoria descriptiva, m es un número entero de 3 a 8; por ejemplo, 8 * 8, 16 * 16, 32 * 32, 64 * 64, 128 * 128 y 256 * 256), un bloque con un tamaño de 2m * 2m (en la presente memoria descriptiva, m es un número entero de 4 a 128) o un bloque con un tamaño de m * m (en la presente memoria descriptiva m es un número entero de 8 a 128).
Alternativamente, cuando un bloque admite formas cuadradas y rectangulares y tiene el mismo intervalo que el descrito anteriormente, un bloque que tenga un tamaño de 2m * 2n (en la presente memoria descriptiva, m y n son números enteros de 3 a 8; cuando se supone que la relación de aspecto máxima es 2: 1, 8 * 8, 8 * 16, 16 * 8, 16 * 16, 16 * 32, 32 * 16, 32 * 32, 32 * 64, 64 * 32, 64 * 64, 64 * 128, 128 * 64, 128 * 128, 128 * 256, 256 * 128, 256 * 256; puede no haber limitación en la relación de aspecto, o puede estar presente la relación de aspecto máxima en función de los ajustes de codificación/decodificación). Alternativamente, puede adquirirse un bloque de un tamaño de 2m * 2n (en la presente memoria descriptiva, m y n son números enteros de 4 a 128). Alternativamente, puede adquirirse un bloque de tamaño m * n (en la presente memoria descriptiva, m y n son números enteros de 8 a 256).
Los bloques adquiribles pueden determinarse de acuerdo con los ajustes de codificación/decodificación (por ejemplo, un tipo de bloque, un esquema de partición, un ajuste de partición, etc.). Por ejemplo, un bloque con un tamaño de 2m * 2n puede adquirirse como bloque de codificación, un bloque con un tamaño de 2m * 2n o m * n puede adquirirse como bloque de predicción, y un bloque con un tamaño de 2m * 2n puede adquirirse como bloque de transformación. La información relativa al tamaño y el intervalo de los bloques (por ejemplo, la información relacionada con un exponente y un múltiplo) puede generarse a partir de los ajustes.
El intervalo (en la presente memoria descriptiva, que se determina mediante el uso del valor máximo y el valor mínimo) puede determinarse en función del tipo de bloque. Además, algunos bloques pueden tener información de intervalo de bloque generada explícitamente, y otros bloques pueden tener información de intervalo de bloque determinada implícitamente. Por ejemplo, el bloque de codificación y el bloque de transformación pueden tener información relacionada generada explícitamente, y el bloque de predicción puede tener información relacionada procesada implícitamente.
En el caso explícito, puede generarse al menos una información de alcance. Por ejemplo, la información de intervalo del bloque de codificación puede generarse como información relativa al valor máximo y al valor mínimo. Alternativamente, la información de intervalo puede generarse en base a una diferencia (por ejemplo, que se genera en base a los ajustes; información de diferencia de índice entre el valor mínimo y el valor máximo, etc.) entre el valor mínimo predeterminado (por ejemplo, ocho) y el valor máximo. Además, se puede generar una pluralidad de piezas de información de intervalo para la anchura y la altura de un bloque rectangular.
En el caso implícito, la información de intervalo puede adquirirse sobre la base de ajustes de codificación/decodificación (por ejemplo, un tipo de bloque, un esquema de partición, un ajuste de partición, etc.). Por ejemplo, para el bloque de predicción, el bloque de codificación (en la presente memoria descriptiva, con un tamaño máximo de M * N y un tamaño mínimo de m * n), que es una unidad superior, puede adquirir información sobre el valor máximo y el valor mínimo de acuerdo con un grupo candidato (en la presente memoria descriptiva, M * N y m/2 * n/2) adquirible a partir de los ajustes de partición (en la presente memoria descriptiva, partición de árbol cuádruple profundidad de partición de 0) del bloque de predicción.
El tamaño y la forma de un bloque inicial (o de inicio) de la parte de partición de bloques puede determinarse a partir de su unidad superior. El bloque inicial del bloque de codificación puede ser el bloque de codificación por defecto adquirido de la parte de partición de la imagen, el bloque inicial del bloque de predicción puede ser el bloque de codificación, y el bloque inicial del bloque de transformación puede ser el bloque de codificación o el bloque de predicción, que pueden determinarse de acuerdo con los ajustes de codificación/decodificación. Por ejemplo, el bloque de predicción es una unidad superior del bloque de transformación cuando el modo de codificación es un modo intra, y el bloque de predicción es una unidad independiente del bloque de transformación cuando el nodo de codificación es un modo inter. El bloque inicial, que es un bloque de inicio para la partición, puede particionarse en bloques pequeños. Cuando se determinan un tamaño y una forma óptimos correspondientes a la partición del bloque, éste puede determinarse como bloque inicial de una unidad inferior. Por ejemplo, el primer caso puede corresponder al bloque de codificación, y el segundo caso (unidad inferior) puede corresponder al bloque de predicción o al bloque de transformación. Como se ha descrito anteriormente, cuando se determina el bloque inicial de la unidad inferior, se puede realizar un proceso de partición para encontrar un bloque de tamaño y forma óptimos.
En resumen, la parte de partición de bloques puede particionar la unidad de codificación por defecto (o la unidad de codificación máxima) en al menos una unidad de codificación (o unidad de codificación inferior). Además, la unidad de codificación puede estar dividida en al menos una unidad de predicción y también puede estar dividida en al menos una unidad de transformación. La unidad de codificación puede estar dividida en al menos un bloque de codificación, y el bloque de codificación puede estar dividido en al menos un bloque de predicción y también puede estar dividido en al menos un bloque de transformación. Además, la unidad de predicción puede estar dividida en al menos un bloque de predicción, y la unidad de transformación puede estar dividida en al menos un bloque de transformación.
Cuando se encuentra el bloque de tamaño y forma óptimos por medio del proceso de determinación de modo descrito anteriormente, puede generarse información de modo relacionada con el bloque (por ejemplo, información de partición, etc.). La información de modo puede añadirse a un caudal de bits además de la información generada en una unidad de construcción a la que pertenece el bloque (por ejemplo, información relacionada con la predicción e información relacionada con la transformación) y, a continuación, transmitirse a un decodificador. La información de modo puede ser analizada por el decodificador en unidades del mismo nivel y, a continuación, utilizada durante un proceso de decodificación de imágenes.
El siguiente ejemplo describirá un esquema de partición y asumirá que el bloque inicial tiene la forma de un cuadrado. Sin embargo, las mismas o similares aplicaciones pueden ser posibles para formas rectangulares.
La parte de partición de bloques puede soportar varios esquemas de partición. Por ejemplo, la parte de partición de bloques puede admitir la partición basada en árboles o la partición basada en tipos, y pueden aplicarse otros procedimientos. La partición basada en árbol puede generar información de partición con indicadores de partición, y la partición basada en tipo puede generar información de partición con información de índice para formas de bloque incluidas en un grupo candidato predeterminado.
FIG. 29 es un diagrama de ejemplo que muestra una forma de bloque basada en un árbol.
La Sección 29A muestra un único bloque 2N * 2N que no está particionado, la Sección 29B muestra un ejemplo en el que dos bloques 2N * N se adquieren a través de algunas indicadores de particionamiento (en la presente memoria descriptiva, particionamiento horizontal basado en árbol binario), la Sección 29C muestra un ejemplo en el que dos bloques N * 2N se adquieren a través de algunas indicadores de particionamiento (en la presente memoria descriptiva, particionamiento vertical basado en árbol binario), y la Sección 29D muestra un ejemplo en el que cuatro bloques N * N se adquieren a través de algunos indicadores de particionamiento (en la presente memoria descriptiva, particionamiento de árbol cuádruple o particionamiento de árbol binario horizontal y vertical). La forma de bloque adquirida puede determinarse en función del tipo de árbol utilizado para la partición. Por ejemplo, cuando se realiza la partición en árbol cuádruple, los bloques candidatos adquiribles pueden corresponder a las Secciones 29A y 29D. Cuando se realiza la partición en árbol binario, los bloques candidatos adquiribles pueden corresponder a las Secciones 29A, 29B, 29<c>y 29D. El árbol cuádruple admite un único indicador de partición. El indicador que sea "0" puede adquirir la Sección 29A, y el indicador que sea "1" puede adquirir la Sección 29D. El árbol binario admite una pluralidad de indicadores de partición. Entre los indicadores de partición, un indicador de partición puede ser un indicador que indica si se realiza la partición, otro indicador de partición puede ser un indicador que indica si la partición es horizontal o vertical, y aún otro indicador de partición puede ser uno indicador que indica si se permite la superposición de la partición horizontal/vertical. Cuando se permite el solapamiento, los bloques candidatos adquiribles pueden corresponder a las Secciones 29A, 29B, 29C y 29D. Cuando no se permite el solapamiento, los bloques candidatos adquiribles pueden corresponder a las Secciones 29A, 29B y 29C. El árbol cuádruple puede ser un esquema de partición basado en árbol por defecto, y un esquema de partición de árbol adicional (en la presente memoria descriptiva, un árbol binario) puede incluirse en el esquema de partición basado en árbol. Cuando se activa implícita o explícitamente un indicador que permite la partición adicional del árbol, se puede realizar una pluralidad de operaciones de partición del árbol. La partición basada en árboles puede permitir la partición recursiva. Es decir, el bloque particionado puede establecerse de nuevo como bloque inicial, y puede realizarse el particionamiento basado en árbol, que puede determinarse de acuerdo con ajustes de particionamiento tales como un intervalo de particionamiento, una profundidad permitida de particionamiento, etc. Este puede ser un ejemplo de esquema de particionamiento jerárquico.
FIG. 30 es un diagrama de ejemplo que muestra una forma de bloque basada en tipos.
En referencia a la FIG. 30, un bloque después de la partición basada en tipos puede tener una forma de 1 partición (en la presente memoria descriptiva, Sección 30A), una forma de 2 particiones (en la presente memoria descriptiva, Secciones 30B, 30C, 30D, 30E, 30F y 30G) y una forma de 4 particiones (en la presente memoria descriptiva, Sección 30H). Los candidatos pueden ser construidos a través de varias construcciones. Por ejemplo, los candidatos pueden construirse como a, b, c, y n; a, b a g, y n; o a, n, y q de la FIG. 31. Sin embargo, la presente invención no se limita a ello, y pueden ser posibles varias modificaciones, incluyendo el siguiente ejemplo. Los bloques soportados cuando se activa un indicador que permite la partición simétrica pueden corresponder a las Secciones 30A, 30B, 30C y 30H, y los bloques soportados cuando se activa un indicador que permite la partición asimétrica pueden corresponder a todas las Secciones 30A a 30H. Para el primer caso, la información relacionada (en la presente memoria descriptiva, el indicador que permite la partición simétrica) puede activarse implícitamente. Para este último caso, la información relacionada (en este caso, el indicador que permite la partición asimétrica) puede generarse explícitamente. La partición basada en árboles puede admitir la partición única. En comparación con la partición basada en árboles, un bloque adquirido por medio de la partición basada en tipos ya no puede seguir particionándose. Este puede ser un ejemplo en el que la profundidad de partición permitida es 0.
FIG. 31 es un diagrama de ejemplo que muestra varios tipos de bloques que pueden ser adquiridos por una parte de partición de bloques de la presente invención.
En referencia a la FIG. 31, los bloques de las secciones 31A a 31S pueden adquirirse de acuerdo con configuraciones de partición y esquemas de partición, también pueden ser posibles formas de bloque adicionales que no se muestran.
Como ejemplo, puede permitirse la partición asimétrica para la partición basada en árboles. Por ejemplo, el árbol binario puede permitir los bloques mostrados en las Secciones 31B y 31C (en la presente memoria descriptiva, partición en una pluralidad de bloques) o puede permitir los bloques mostrados en las Secciones 30B a 31G (en la presente memoria descriptiva, partición en una pluralidad de bloques). Cuando el indicador que permite la partición asimétrica está explícita o implícitamente desactivada de acuerdo con los ajustes de codificación/decodificación, los bloques candidatos adquiribles pueden ser bloques de la Sección 31B o 31C (aquí, suponiendo que no se permite el solapamiento de la partición horizontal y la partición vertical). Cuando se activa el indicador que permite la partición asimétrica, los bloques candidatos adquiribles pueden ser bloques de las secciones 31B, 31D y 31E (en la presente memoria descriptiva, partición horizontal) o bloques de las secciones 31C, 31F y 31G (en la presente memoria descriptiva, partición vertical). Este ejemplo puede corresponder a un caso en el que una dirección de partición se determina por medio de un indicador de partición horizontal o vertical y una forma de bloque se determina de acuerdo con un indicador que permite la asimetría. Sin embargo, la presente invención no se limita a ello, y pueden introducirse modificaciones.
A modo de ejemplo, puede permitirse una partición de árbol adicional para la partición basada en árbol. Por ejemplo, se puede permitir la partición triple basada en árboles, la partición cuádruple basada en árboles, la partición octa basada en árboles y similares, y de este modo se pueden adquirir n bloques de partición (en la presente memoria descriptiva, 3, 4 y 8; n es un número entero). Los bloques admitidos para la partición basada en el triple árbol pueden ser bloques de las Secciones 31H a 31M, los bloques admitidos para la partición basada en el cuádruple árbol pueden ser bloques de las Secciones 31N a 31Q, y los bloques admitidos para la partición basada en el octa árbol pueden ser bloques de la Sección 31Q. En función de los ajustes de codificación/decodificación, se puede determinar implícitamente si se admite o no la partición basada en árboles, y se puede generar explícitamente la información relacionada. Además, la partición en árbol binario y la partición en árbol cuádruple pueden utilizarse solas o combinadas en función de los ajustes de codificación/decodificación. Por ejemplo, bloques como los mostrados en las Secciones 31B y 31C pueden ser posibles para el árbol binario, y bloques como los mostrados en las Secciones 31B, 31C, 311 y 31L pueden ser posibles cuando el árbol binario y el árbol triple se utilizan en combinación. Cuando, además de los indicadores existentes, se desactiva explícita o implícitamente un indicador que permite la partición adicional de acuerdo con los ajustes de codificación/decodificación, los bloques candidatos adquiribles pueden ser bloques de la Sección 31B o 31C. Cuando se activa el indicador para permitir la partición adicional, los bloques candidatos adquiribles pueden ser bloques en las Secciones 31B y 31I o en las Secciones 31B, 31H, 31I y 31J (en la presente memoria descriptiva, partición horizontal) o bloques en la Sección 31C o 31L o en la 31C, 31K, 31L y 31M (en la presente memoria descriptiva, partición vertical). Este ejemplo puede corresponder a un caso en el que una dirección de partición se determina por medio del indicador de partición horizontal o vertical y una forma de bloque se determina de acuerdo con el indicador que permite una partición adicional. Sin embargo, la presente invención no se limita a ello, y pueden introducirse modificaciones.
Como ejemplo, puede permitirse una partición no rectangular para el bloque basado en tipo. Por ejemplo, la partición como se muestra en las Secciones 31R y 31S puede ser posible. Cuando el bloque se combina con los candidatos a bloque basados en el tipo, pueden admitirse los bloques de las Secciones 31A, 31B, 31C, 31H, 31R y 31S o de las Secciones 31A a 31H, 31R y 31S. Además, se puede incluir en el grupo candidato un bloque que admita la partición n (por ejemplo, n es un número entero; en este caso, 3 distintos de 1, 2 y 4) como se muestra en las Secciones 31H a 31M.
El esquema de partición puede determinarse en función de los ajustes de codificación/decodificación.
A modo de ejemplo, el esquema de partición puede determinarse en función de un tipo de bloque. Por ejemplo, un bloque de codificación y un bloque de transformación pueden utilizar la partición basada en árboles, y un bloque de predicción puede utilizar la partición basada en tipos. Alternativamente, el esquema de partición puede utilizarse en combinación con otros. Por ejemplo, el bloque de predicción puede utilizar un esquema de partición obtenido por medio del uso combinado de la partición basada en árboles y la partición basada en tipos, y el esquema de partición aplicado puede diferir en función de al menos un intervalo del bloque.
A modo de ejemplo, el esquema de partición puede determinarse en función de un tamaño de bloque. Por ejemplo, la partición basada en árboles puede aplicarse a un intervalo específico (por ejemplo, de a * b a c * d; cuando este último es mayor) entre el valor mínimo y el valor máximo del bloque, y la partición basada en tipos puede aplicarse a otro intervalo específico (por ejemplo, de e * f a g * h). En este caso, la información de alcance de acuerdo con el esquema de partición puede generarse explícitamente o determinarse implícitamente.
A modo de ejemplo, el esquema de partición puede determinarse en función de la forma de un bloque (o de un bloque antes de la partición). Por ejemplo, cuando el bloque tiene forma cuadrada, la partición basada en árboles y la partición basada en tipos pueden ser posibles. Alternativamente, cuando el bloque tiene forma rectangular, la partición basada en árboles puede ser posible.
Los ajustes de partición pueden determinarse en función de los ajustes de codificación/decodificación.
A modo de ejemplo, los ajustes de partición pueden determinarse en función de un tipo de bloque. Por ejemplo, para la partición basada en árboles, un bloque de codificación y un bloque de predicción pueden utilizar la partición de árbol cuádruple, y un bloque de transformación puede utilizar la partición de árbol binario. Alternativamente, la profundidad de partición permitida del bloque de codificación puede establecerse en m, la profundidad de partición permitida del bloque de predicción puede establecerse en n y la profundidad de partición permitida del bloque de transformación puede establecerse en o. Aquí, m, n y o pueden o no ser iguales.
A modo de ejemplo, los ajustes de partición pueden determinarse en función de un tamaño de bloque. Por ejemplo, la partición en árbol cuádruple puede aplicarse a un intervalo específico de un bloque (por ejemplo, de a * b a c * d), y la partición en árbol binario puede aplicarse a otro intervalo específico (por ejemplo, de e * f a g * h; en la presente memoria descriptiva, se asume que c * d es mayor que g * h). En este caso, el intervalo puede incluir todos los intervalos entre el valor máximo y el valor mínimo del bloque, y los intervalos pueden establecerse para que se solapen entre sí o para que no se solapen. Por ejemplo, el valor mínimo de un intervalo específico puede ser igual al valor máximo de otro intervalo específico, o el valor mínimo de un intervalo específico puede ser menor que el valor máximo de otro intervalo específico. Cuando hay un intervalo solapado, un esquema de partición con un valor máximo mayor puede tener mayor prioridad. Es decir, la realización de un esquema de partición con una prioridad más baja puede determinarse en función de un resultado de partición en el esquema de partición con la prioridad más alta. En este caso, la información de intervalo de acuerdo con el tipo de árbol puede generarse explícitamente o determinarse implícitamente.
Como otro ejemplo, la partición basada en tipos con un grupo candidato específico puede aplicarse al intervalo específico del bloque (que es igual que el ejemplo anterior), y la partición basada en tipos con un grupo candidato específico (que tiene al menos una configuración diferente del grupo candidato anterior) puede aplicarse al intervalo específico (que es igual que el ejemplo anterior). En este caso, el intervalo puede incluir todos los intervalos entre el valor máximo y el valor mínimo del bloque, y los intervalos pueden establecerse para que no se solapen entre sí.
Como ejemplo, los ajustes de partición pueden determinarse de acuerdo con una forma de bloque. Por ejemplo, si el bloque tiene forma cuadrada, es posible realizar la partición en árbol cuádruple. Alternativamente, cuando el bloque tiene una forma rectangular, la partición de árbol binario puede ser posible.
A modo de ejemplo, los ajustes de partición pueden determinarse en función de la información de codificación/decodificación (por ejemplo, un tipo de corte, un componente de color, un modo de codificación, etc.). Por ejemplo, la partición en árbol cuádruple (o la partición en árbol binario) puede ser posible para un intervalo específico (por ejemplo, de a * b a c * d) cuando el tipo de corte es "I", puede ser posible para un intervalo específico (por ejemplo, de e * f a g * h) cuando el tipo de corte es "P", y puede ser posible para un intervalo específico (por ejemplo, de i * j a k * 1) cuando el tipo de corte es "B" Además, la profundidad permitida de la partición del árbol cuádruple (o del árbol binario) puede establecerse en m cuando el tipo de corte es "I", puede establecerse en n cuando el tipo de corte es "P", y puede establecerse en o cuando el tipo de corte es "B" Aquí, m, n y o pueden o no ser iguales entre sí. Algunos tipos de corte pueden tener los mismos ajustes que los otros cortes (por ejemplo, el corte "P' y el corte "B").
Como otro ejemplo, la profundidad de partición permitida del árbol cuádruple (o el árbol binario) puede establecerse en m cuando el componente de color es un componente de luminancia y puede establecerse en n cuando el componente de color es un componente de crominancia. En la presente memoria descriptiva, m y n pueden ser iguales o no. Además, el intervalo (por ejemplo, de a * b a c * d) de la partición en árbol cuádruple (o en árbol binario) cuando el componente de color es un componente de luminancia y el intervalo (por ejemplo, de e * f a g * h) de la partición en árbol cuádruple (o en árbol binario) cuando el componente de color es un componente de crominancia pueden ser iguales o no.
Como otro ejemplo, la profundidad de partición permitida del árbol cuádruple (o árbol binario) puede ser m cuando el modo de codificación es un modo intra, y puede ser n cuando el modo de codificación es un modo inter (en la presente memoria descriptiva, se asume que n es mayor que m). En la presente memoria descriptiva, m y n pueden ser iguales o no. Además, el intervalo de la partición del árbol cuádruple (o árbol binario) cuando el modo de codificación es el modo intra y el intervalo de la partición del árbol cuádruple (o árbol binario) cuando el modo de codificación es el modo inter puede o no ser el mismo.
Para el ejemplo anterior, la información relativa a si soportar adaptativamente la partición de elementos de grupo candidatos puede generarse explícitamente o determinarse implícitamente de acuerdo con la información de codificación/decodificación.
A través del ejemplo anterior se ha descrito un caso en el que el esquema de partición y los ajustes de partición se determinan en función de los ajustes de codificación/decodificación. El ejemplo anterior puede mostrar algunos casos para cada elemento, y se pueden hacer modificaciones para otros casos. Asimismo, el esquema de partición y los ajustes de partición pueden determinarse en función de una combinación de una pluralidad de elementos. Por ejemplo, el esquema de partición y los ajustes de partición pueden estar determinados por un tipo de bloque, un tamaño de bloque, una forma de bloque, información de codificación/decodificación, etc.
Además, en el ejemplo anterior, los elementos implicados en el esquema de partición, ajustes, etc. pueden determinarse implícitamente y la información puede generarse explícitamente para determinar si se permite un caso adaptativo como el del ejemplo anterior.
Entre los ajustes de partición, una profundidad de partición se relaciona con el número de veces que un bloque inicial se particiona espacialmente (en la presente memoria descriptiva, la profundidad de partición del bloque inicial es 0). A medida que aumenta la profundidad de partición, puede disminuir el tamaño de los bloques en los que se particiona el bloque inicial. Por lo tanto, los ajustes relacionados con la profundidad pueden variar en función del esquema de partición. Por ejemplo, se puede utilizar una profundidad común para la profundidad de partición del árbol cuádruple y la profundidad de partición del árbol binario entre los esquemas de partición basados en árboles, se puede utilizar una profundidad individualmente dependiendo de un tipo de árbol.
Cuando en el ejemplo anterior, una profundidad de partición se utiliza individualmente de acuerdo con un tipo de árbol, la profundidad de partición en una posición de inicio de partición del árbol (en la presente memoria descriptiva, un bloque antes de la partición) puede establecerse en 0. La profundidad de partición puede calcularse no sobre la base del intervalo de partición (en la presente memoria descriptiva, el valor máximo) de cada intervalo, sino centrándose en la posición de inicio de partición.
FIG. 32 es un diagrama de ejemplo que ilustra la partición basada en árboles de acuerdo con una realización de la presente invención.
La Sección 32A muestra ejemplos de particionamiento de árbol cuádruple y de árbol binario. En detalle, en la Sección 32A, un bloque superior izquierdo muestra un ejemplo de partición de árbol cuádruple, bloques superior derecho e inferior izquierdo muestran ejemplos de partición de árbol cuádruple y partición de árbol binario, y un bloque inferior derecho muestra un ejemplo de partición de árbol binario. En los dibujos, una línea sólida (en la presente memoria descriptiva, Cuad1) representa una línea límite para la partición de árbol cuádruple, una línea punteada (en la presente memoria descriptiva, Binarial) representa una línea límite para la partición de árbol binario, y una línea sólida gruesa representa una línea límite para la partición de árbol binario. Una diferencia entre la línea de puntos y la línea continua puede indicar una diferencia en el esquema de partición.
Como ejemplo, (asumiendo las siguientes condiciones: el bloque superior izquierdo tiene una profundidad permitida de partición de árbol cuádruple de 3; cuando un bloque actual es N * N, la partición se realiza hasta que una de la anchura y la altura alcanza N el valor máximo y el valor mínimo del árbol cuádruple es N * N, (N>>3) * (N>>3)), el bloque superior izquierdo puede particionarse en cuatro bloques con media anchura y media altura cuando se realiza la partición del árbol cuádruple. El indicador de partición puede tener un valor de 1 cuando la partición está activada y puede tener un valor de 0 cuando la partición está desactivada. De acuerdo con la configuración anterior, el indicador de partición del bloque superior izquierdo puede generarse como un bloque superior izquierdo en la Sección 32B.
Como ejemplo, (asumiendo las siguientes condiciones: el bloque superior derecho tiene una profundidad permitida de partición de árbol cuádruple de 0 y una profundidad permitida de partición de árbol binario de 4; el valor máximo y el valor mínimo de la partición de árbol cuádruple son N * N, (N>>2) * (N>>2); y el valor máximo y el valor mínimo de la partición en árbol binario son (N>>1) * (N>>1), (N>>3) * (N>>3)), el bloque superior derecho puede particionarse en cuatro bloques con media anchura y media altura cuando la partición en árbol cuádruple se realiza en el bloque inicial. El tamaño del bloque particionado es (N>>1) * (N>>1), y la partición en árbol binario (en este caso, la partición en árbol binario puede ser mayor que el valor mínimo de la partición en árbol cuádruple, pero la profundidad permitida de la partición es limitada) puede ser posible de acuerdo con la configuración de este ejemplo. Es decir, este ejemplo puede ser un ejemplo en el que no es posible utilizar la partición de árbol cuádruple y la partición de árbol binario en combinación. En este ejemplo, la información de partición del árbol binario puede estar compuesta por una pluralidad de indicadores de partición. Algunos indicadores pueden ser indicadores de partición horizontal (en la presente memoria descriptiva, correspondientes a x de x/y), y otros indicadores pueden ser indicadores de partición vertical (en la presente memoria descriptiva, correspondientes a y de xly). La configuración del indicador de partición puede tener ajustes similares a los de la partición de árbol cuádruple. En este ejemplo, los dos indicadores pueden estar activados. En los dibujos, cuando la información del indicador se genera con "-","-" puede corresponder al procesamiento implícito del indicador que puede generarse cuando no es posible realizar una partición adicional de acuerdo con condiciones tales como un valor máximo, un valor mínimo y una profundidad de partición permitida de acuerdo con la partición basada en árboles. De acuerdo con la configuración anterior, el indicador de partición del bloque superior derecho puede generarse como un bloque superior derecho en la Sección 32B.
Como ejemplo, (asumiendo las siguientes condiciones: el bloque inferior izquierdo tiene una profundidad permitida de partición de árbol cuádruple de 3 y una profundidad permitida de partición de árbol binario de 2; el valor máximo y el valor mínimo de la partición de árbol cuádruple son N * N, (N>>3) * (N>>3); y el valor máximo y el valor mínimo de la partición en árbol binario son (N>>2) * (N>>2), (N>>4) * (N>>4)), el bloque inferior izquierdo puede particionarse en cuatro bloques con media anchura y media altura cuando la partición en árbol cuádruple se realiza en el bloque inicial. El tamaño del bloque particionado es (N>>1) * (N>>1), y la partición en árbol cuádruple y la partición en árbol binario pueden ser posibles de acuerdo con la configuración de este ejemplo. Es decir, este ejemplo puede ser un ejemplo en el que es posible utilizar la partición de árbol cuádruple y la partición de árbol binario en combinación. En este caso, la realización de la partición del árbol binario puede determinarse en función de un resultado de la partición del árbol cuádruple al que se asigna una mayor prioridad. La partición de árbol binario puede no realizarse cuando se realiza la partición de árbol cuádruple, y la partición de árbol binario puede realizarse cuando no se realiza la partición de árbol cuádruple. Cuando no se realiza la partición en árbol cuádruple, es posible que ya no se pueda realizar la partición en árbol cuádruple aunque la partición sea posible de acuerdo con los ajustes. En este ejemplo, la información de partición del árbol binario puede estar compuesta por una pluralidad de indicadores de partición. Algunos indicadores pueden ser indicadores de partición (en la presente memoria descriptiva, correspondientes a x de x/y), y otros indicadores pueden ser indicadores de dirección de partición (en la presente memoria descriptiva, correspondientes a y de x/y; la generación de información y puede determinarse en función de x), y los indicadores de partición pueden tener configuraciones similares a las de la partición de árbol cuádruple. En este caso, no se pueden activar todas las particiones horizontales y verticales. En el dibujo, cuando la información del indicador se genera con "-", "-" puede tener una configuración similar a la del ejemplo anterior. De acuerdo con la configuración anterior, el indicador de partición del bloque inferior izquierdo puede generarse como un bloque inferior izquierdo en la Sección 32B.
Como ejemplo, (asumiendo las siguientes condiciones: el bloque inferior derecho tiene una profundidad permitida de particionado de árbol binario de 5; y el valor máximo y el valor mínimo del particionado de árbol binario son N * N, (N>>2) * (N>>3)), el bloque inferior derecho puede ser particionado en dos bloques con media anchura o media altura cuando el particionado de árbol binario es realizado en el bloque inicial. En este ejemplo, el bloque inferior derecho puede tener la misma configuración de indicadores de partición que el bloque inferior izquierdo. En el dibujo, cuando la información del indicador se genera con "-", "-" puede tener una configuración similar a la del ejemplo anterior. En este ejemplo, los valores mínimos de la anchura y la altura del árbol binario pueden fijarse en valores diferentes. De acuerdo con la configuración anterior, el indicador de partición del bloque inferior derecho puede generarse como un bloque inferior derecho en la Sección 32B.
Como en el ejemplo anterior, se puede comprobar la información de bloque (por ejemplo, un tipo de bloque, un tamaño de bloque, una forma de bloque, una ubicación de bloque, un tipo de bloque, un componente de color, etc.) y, a continuación, se puede determinar el esquema de partición y los ajustes de partición de acuerdo con la información de bloque. Por lo tanto, se puede realizar un proceso de partición correspondiente.
FIG. 33 es un diagrama de ejemplo que ilustra la partición basada en árboles de acuerdo con una realización de la presente invención.
Refiriéndose a los bloques de las Secciones 33A y 33B, una línea sólida gruesa L0 puede representar el bloque de codificación máximo, y un bloque particionado con una línea sólida gruesa y otras líneas L1 a L5 puede representar un bloque de codificación particionado. El número dentro del bloque puede representar la ubicación de un sub-bloque obtenido a través de la partición (en la presente memoria descriptiva en un orden de barrido de trama), y el número de '-C puede representar una profundidad de partición de un bloque correspondiente, y el número de una línea límite entre bloques puede representar el número de veces que se realiza la partición. Por ejemplo, el orden puede ser UL(0)-UR(1)-DL(2)-DR(3) cuando el bloque tiene 4 particiones (en la presente memoria descriptiva, un árbol cuádruple) y puede ser L o U(O) - R o D(1) cuando el bloque tiene 2 particiones (en la presente memoria descriptiva, un árbol binario), que pueden definirse para cada profundidad de partición. El siguiente ejemplo muestra un caso en el que se limita un bloque de codificación adquirible.
A modo de ejemplo, se supone que en la Sección 33A, el bloque de codificación máximo es de 64 * 64, el bloque de codificación mínimo es de 16 * 16, y se utiliza la partición en árbol cuádruple. En este caso, como los bloques 2-0, 2 1 y 2-2 (en la presente memoria descriptiva, 16 * 16) tienen el mismo tamaño que el bloque de codificación mínimo, los bloques no pueden dividirse en bloques más pequeños, como los bloques 2-3-0, 2-3-1, 2-3-2 y 2-3-3 (en la presente memoria descriptiva, 8 * 8). En este caso, un bloque adquirible a partir de los bloques 2-0, 2-1, 2-2 y 2-3 puede ser un bloque de 16 * 16. En otras palabras, como sólo hay un bloque candidato, no se genera información de partición de bloques.
A modo de ejemplo, se supone que en la Sección 33B, el bloque de codificación máximo es de 64 * 64 y el bloque de codificación mínimo tiene una anchura de 8 o una altura de 8 y una profundidad de partición permitida de 3. En este caso, un bloque 1-0-1-1 (con un tamaño de 16 * 16 y una profundidad de partición de 3) puede dividirse en bloques más pequeños porque se cumple la condición de bloque de codificación mínimo. Sin embargo, el bloque 1-0-1-1 no puede particionarse en bloques con una profundidad de partición mayor (en la presente memoria descriptiva, un bloque 1 -0-1 -0-0 y un bloque 1-0-1-0-1) porque el bloque 1-0-1-1 tiene la misma profundidad de partición permitida. En este caso, un bloque adquirible a partir de los bloques 1-0-1-0 y 1-0-1-1 puede ser un bloque 16 * 8. En otras palabras, como sólo hay un bloque candidato, no se genera información de partición de bloques.
Como en el ejemplo anterior, la partición de árbol cuádruple o la partición de árbol binario pueden ser soportadas dependiendo de los ajustes de codificación/decodificación. Alternativamente, la partición de árbol cuádruple y la partición de árbol binario pueden ser soportadas en combinación. Por ejemplo, puede admitirse uno o una combinación de los esquemas en función de un tamaño de bloque, una profundidad de bloque, etc. La partición de árbol cuádruple puede admitirse cuando un bloque pertenece a un primer intervalo de bloques, y la partición de árbol binario puede admitirse cuando un bloque pertenece a un segundo intervalo de bloques. Cuando se admite una pluralidad de esquemas de partición, se puede proporcionar al menos un ajuste, como el tamaño máximo del bloque de codificación, el tamaño mínimo del bloque de codificación, una profundidad de partición permitida y similares, de acuerdo con cada esquema. Los intervalos pueden solaparse o no. Alternativamente, cualquier intervalo puede ser ajustado para incluir el otro intervalo. El ajuste puede determinarse en función de elementos individuales o combinados, tales como un tipo de corte, un modo de codificación, un componente de color y similares.
A modo de ejemplo, los ajustes de partición pueden determinarse en función de un tipo de corte. La configuración de partición admitida para I-corte puede admitir particiones en el intervalo de 128 * 128 a 32 * 32 para el árbol cuádruple y puede admitir particiones en el intervalo de 32 * 32 a 8 * 8 para el árbol binario. Los ajustes de partición de bloques admitidos para P/B-corte pueden admitir particiones en el intervalo de 128 * 128 a 32 * 32 para el árbol cuádruple y pueden admitir particiones en el intervalo de 64 * 64 a 8 * 8 para el árbol binario.
A modo de ejemplo, los ajustes de partición pueden determinarse en función de un modo de codificación. La configuración de partición admitida cuando el modo de codificación es un modo intra puede admitir particiones en el intervalo de 64 * 64 a 8 * 8 y tener una profundidad de partición permitida de 2 para el árbol binario. La configuración de partición admitida cuando el modo de codificación es un modo inter puede admitir particiones en el intervalo de 32 * 32 a 8 * 8 y tener una profundidad de partición permitida de 3 para el árbol binario.
A modo de ejemplo, los ajustes de partición pueden determinarse en función de un componente de color. Los ajustes de partición cuando el componente de color es un componente de luminancia pueden admitir particiones en el intervalo de 256 * 256 a 64 * 64 para el árbol cuádruple y pueden admitir particiones en el intervalo de 64 * 64 a 16 * 16 para el árbol binario. Los ajustes de partición cuando el componente de color es un componente de crominancia pueden admitir los mismos ajustes (en la presente memoria descriptiva, un ajuste en el que la longitud de cada bloque es proporcional al formato de crominancia) que los del componente de luminancia para el árbol cuádruple y pueden admitir la partición en el intervalo (en la presente memoria descriptiva, el mismo intervalo para el componente de luminancia es de 128 * 128 a 8 * 8; se asume 4:2:0) de 64 * 64 a 4 * 4 para el árbol binario.
De acuerdo con el ejemplo anterior, se aplican diferentes configuraciones de partición en función de un tipo de bloque. Además, algunos bloques pueden combinarse con otros, por lo que puede realizarse un único proceso de partición. Por ejemplo, cuando un bloque de codificación y un bloque de transformación se combinan en una unidad, puede realizarse un proceso de partición para adquirir un tamaño y una forma de bloque óptimos. De este modo, el tamaño y la forma óptimos del bloque pueden ser tanto el tamaño y la forma óptimos del bloque de transformación como el tamaño y la forma óptimos del bloque de codificación. Alternativamente, el bloque de codificación y el bloque de transformación pueden combinarse en una unidad, el bloque de predicción y el bloque de transformación pueden combinarse en una unidad, o el bloque de codificación, el bloque de predicción y el bloque de transformación pueden combinarse en una unidad. También son posibles otras combinaciones de los bloques.
De acuerdo con la presente invención, se ha descrito el caso en el que los ajustes de partición se aplican individualmente a cada bloque, pero una pluralidad de unidades pueden combinarse en una única unidad para tener un único ajuste de partición.
El codificador puede añadir la información generada durante el proceso anterior a un caudal de bits en unidades de al menos una de las secuencias, imágenes, cortes, baldosas y similares, y el decodificador puede analizar la información relacionada del caudal de bits.
En la presente invención, la parte de predicción puede clasificarse en intra-predicción e inter-predicción, y la intrapredicción y la inter-predicción pueden definirse como sigue.
La intra-predicción puede ser una tecnología para generar un valor predicho a partir de una región en la que se ha completado la codificación/decodificación de la imagen actual (por ejemplo, una imagen, un corte, una baldosa, etc.), y la inter-predicción puede ser una tecnología para generar un valor predicho a partir de al menos una imagen (por ejemplo, una imagen, un corte, una baldosa, etc.) en la que la codificación/decodificación se ha completado antes que la imagen actual.
Alternativamente, la intra-predicción puede ser una tecnología para generar un valor predicho a partir de una región en la que se ha completado la codificación/decodificación de la imagen actual, pero algunos procedimientos de predicción {por ejemplo, un procedimiento de generación de un valor predicho a partir de una imagen de referencia, correspondencia de bloques, correspondencia de plantillas, y similares} pueden ser excluidos. La inter-predicción puede ser una tecnología para generar un valor predicho a partir de al menos una imagen en la que se ha completado la codificación/decodificación, y la imagen en la que se ha completado la codificación/decodificación puede estar configurada para incluir la imagen actual.
De acuerdo con la configuración de codificación/decodificación, se sigue una de las definiciones anteriores. En el siguiente ejemplo, la descripción se hará suponiendo que se sigue la segunda definición. Además, un valor predicho se describe en el supuesto de que es un valor obtenido por medio de predicción en un dominio espacial, pero no se limita a ello.
A continuación se describirá la inter-predicción de la parte de predicción en la presente invención.
La inter-predicción en el procedimiento de codificación de imágenes de acuerdo con la realización de la presente invención puede configurarse como sigue. La inter-predicción de la parte de predicción puede incluir una etapa de construcción de la imagen de referencia, una etapa de estimación de movimiento, una etapa de compensación de movimiento, una etapa de determinación de la información de movimiento y una etapa de codificación de la información de movimiento. Además, el aparato de codificación de imágenes puede estar configurado para incluir una parte de construcción de imagen de referencia, una parte de estimación de movimiento, una parte de compensación de movimiento, una parte de determinación de información de movimiento y una parte de codificación de información de movimiento, que realizan la etapa de construcción de imagen de referencia, la etapa de estimación de movimiento, la etapa de compensación de movimiento, la etapa de determinación de información de movimiento y la etapa de codificación de información de movimiento, respectivamente. Algunos de los procesos descritos anteriormente pueden omitirse, pueden añadirse otros procesos o puede cambiarse el orden.
FIG. 34 es un diagrama de ejemplo que ilustra varios casos en los que un bloque de predicción se obtiene por medio de inter-predicción.
En referencia a la FIG. 34, en la predicción unidireccional, un bloque de predicción (A) puede obtenerse a partir de una imagen de referencia codificada previamente (T-1 y T-2), o un bloque de predicción (B) puede obtenerse a partir de una imagen de referencia codificada posteriormente (T+1 y T+2). En la predicción bidireccional, los bloques de predicción (C y D) pueden obtenerse a partir de una pluralidad de imágenes de referencia previamente codificadas (T-2 a T+2). En general, un tipo de imagen P puede soportar predicción unidireccional, y un tipo de imagen B puede soportar predicción bidireccional.
Como en el ejemplo anterior, una imagen referenciada en la codificación/decodificación de la imagen actual puede obtenerse de una memoria. Con respecto a la imagen actual (T), se puede construir una lista de imágenes de referencia de forma que se incluyan una imagen de referencia anterior a la imagen actual y una imagen de referencia posterior a la imagen actual en orden temporal o de visualización.
La inter-predicción (E) puede realizarse en la imagen actual así como en imágenes anteriores o posteriores con respecto a la imagen actual. Realizar la inter-predicción en la imagen actual puede denominarse predicción no direccional. Esto puede ser soportado en el tipo de imagen I o en el tipo de imagen P/B, y el tipo de imagen soportado puede determinarse de acuerdo con los ajustes de codificación/decodificación. Realizar la inter-predicción en la imagen actual tiene por objeto generar un bloque de predicción mediante el uso de la correlación espacial y es diferente de realizar la inter-predicción en otra imagen con el fin de utilizar la correlación temporal, pero el procedimiento de predicción (por ejemplo, una imagen de referencia, un vector de movimiento, y similares) puede ser el mismo.
La parte de construcción de la imagen de referencia puede construir y gestionar, a través de la lista de imágenes de referencia, una imagen de referencia utilizada en la codificación de la imagen actual. Se puede construir al menos una lista de imágenes de referencia de acuerdo con los ajustes de codificación/decodificación (por ejemplo, el tipo de imagen, la dirección de predicción y similares), y se puede generar un bloque de predicción a partir de una imagen de referencia incluida en la lista de imágenes de referencia. Por ejemplo, en el caso de la predicción unidireccional, la inter-predicción puede realizarse en al menos una imagen de referencia incluida en una lista de imágenes de referencia 0 (LO) o en una lista de imágenes de referencia 1 (L1). Además, en el caso de la predicción bidireccional, la inter predicción puede realizarse en al menos una imagen de referencia incluida en una lista combinada (LC) que se genera combinando la L0 y la L1.
En general, la imagen de referencia óptima para una imagen a codificar puede ser determinada por el codificador, y puede utilizarse un procedimiento de transmisión explícita de información sobre la imagen de referencia al decodificador. Para ello, la parte de construcción de la imagen de referencia puede realizar la gestión de una lista de imágenes referenciadas en la inter-predicción de la imagen actual, y puede establecer una regla para la gestión de la imagen de referencia teniendo en cuenta un tamaño de memoria limitado.
La información transmitida puede definirse como un conjunto de imágenes de referencia (CIR). Una imagen seleccionada como CIR puede clasificarse como imagen de referencia y almacenarse en una memoria (o en una AID). Las imágenes no seleccionadas como CIR pueden clasificarse como imágenes de no referencia y pueden eliminarse de la memoria después de un tiempo predeterminado. La memoria puede almacenar un número predeterminado de imágenes (por ejemplo, 16 imágenes para HEVC), y el tamaño de la memoria puede establecerse en función del nivel y la resolución de la imagen.
FIG. 35 es un diagrama de ejemplo que ilustra la composición de una lista de imágenes de referencia de acuerdo con una realización de la presente invención.
En referencia a la FIG. 35, en general, las imágenes de referencia (T-1 y T-2) que están presentes antes de la imagen actual pueden asignarse a la L0, y las imágenes de referencia (T+1 y T+2) que están presentes después de la imagen actual pueden asignarse a la L1 para su gestión. Al construir la L0, cuando no se alcanza el número permitido de imágenes de referencia de la L0, se asigna la imagen de referencia de la L1. Del mismo modo, al construir la L1, cuando no se alcanza el número permitido de imágenes de referencia de la L1, se asigna la imagen de referencia de la L0.
Además, la imagen actual puede incluirse en al menos una lista de imágenes de referencia. Por ejemplo, la imagen actual puede incluirse en la L0 o en la L1; la L0 puede construirse añadiendo una imagen de referencia (o imagen actual) cuyo orden temporal sea T a una imagen de referencia anterior a la imagen actual; o la L1 puede construirse añadiendo una imagen de referencia cuyo orden temporal sea T a una imagen de referencia posterior a la imagen actual.
La composición de la lista de imágenes de referencia puede determinarse en función de los ajustes de codificación/decodificación. Por ejemplo, la imagen actual puede no incluirse en la lista de imágenes de referencia o puede incluirse en al menos una lista de imágenes de referencia, lo que puede determinarse por medio de una señal (o una señal para permitir un procedimiento, como la coincidencia de bloques en la imagen actual, y similares) que indique si se incluye la imagen actual en la lista de imágenes de referencia. La señal puede presentarse en unidades de secuencias, imágenes, cortes, baldosas y similares.
Además, la imagen actual puede posicionarse al principio o al final de la lista de imágenes de referencia como se muestra en la FIG. 35, y el orden de disposición dentro de la lista puede determinarse en función de los ajustes de codificación/decodificación (por ejemplo, información de tipo de una imagen, y similares). Por ejemplo, en el caso del tipo I, la imagen actual puede situarse al principio, y en el caso del tipo P/B, la imagen actual puede situarse al final. La presente invención no se limita a ello, y pueden aportarse modificaciones a la misma.
La parte de construcción de la imagen de referencia puede incluir una parte de interpolación de la imagen de referencia. De acuerdo con la precisión de interpolación de la inter-predicción, se puede determinar si realizar un proceso de interpolación para un píxel de una unidad decimal. Por ejemplo, cuando se tiene una precisión de interpolación de una unidad entera, se omite el proceso de interpolación de la imagen de referencia, y cuando se tiene una precisión de interpolación de una unidad decimal, se realiza el proceso de interpolación de la imagen de referencia.
Puede determinarse un archivador de interpolación utilizado en el proceso de interpolación de la imagen de referencia de acuerdo con los ajustes de codificación/decodificación. Puede utilizarse un filtro de interpolación preestablecido {por ejemplo, un filtro de interpolación basado en la transformada discreta del coseno (TCD-FI), y similares}, o uno de una pluralidad de filtros de interpolación. En el primer caso, la información de selección sobre el filtro de interpolación puede omitirse implícitamente, y en el segundo, la información de selección sobre el filtro de interpolación puede incluirse en unidades de secuencias, imágenes, cortes, baldosas y similares.
La precisión de interpolación puede determinarse de acuerdo con los ajustes de codificación/decodificación, y puede ser la precisión de una entre unidades enteras y unidades decimales (por ejemplo, 1/2, 1/4, 1/8, 1/16, 1/32, y similares). El proceso de interpolación puede realizarse de acuerdo con una precisión de interpolación preestablecida, o el proceso de interpolación puede realizarse de acuerdo con una precisión de una pluralidad de precisiones de interpolación.
Además, de acuerdo con los procedimientos de interpolación (por ejemplo, un procedimiento de predicción de movimiento, un modelo de movimiento, y similares), puede admitirse una precisión de interpolación fija o una precisión de interpolación adaptativa. Por ejemplo, la precisión de interpolación para un modelo de movimiento de traslación y la precisión de interpolación para un modelo de movimiento de no traslación pueden ser iguales o diferentes entre sí, lo que puede determinarse de acuerdo con los ajustes de codificación/decodificación. La información relacionada con la precisión de interpolación puede determinarse implícitamente o generarse explícitamente, y puede incluirse en unidades de secuencias, imágenes, cortes, baldosas, bloques y similares.
La parte de estimación de movimiento realiza un proceso de estimación (o búsqueda) del bloque de la imagen de referencia con el que el bloque actual tiene una alta correlación. El tamaño y la forma (M * N) del bloque actual sobre el que se realiza la predicción pueden obtenerse a partir de la parte de partición de bloques, y la descripción se proporcionará bajo el supuesto de que el soporte es posible en un intervalo de 4*4 a 128*128 para la inter-predicción. En general, la inter-predicción se realiza en unidades de bloques de predicción, pero también se realiza en unidades de bloques de codificación, bloques de transformación y similares de acuerdo con la configuración de la parte de partición de bloques. La estimación se realiza en un intervalo de estimación de movimiento, y puede utilizarse al menos un procedimiento de estimación de movimiento. En el procedimiento de estimación de movimiento, se puede definir el orden de estimación, la condición de una unidad de píxel y similares.
La estimación de movimiento puede realizarse adaptativamente de acuerdo con el procedimiento de predicción de movimiento. Una región en la que se realiza la estimación del movimiento puede ser el bloque actual en el caso de la coincidencia de bloques, y puede ser una plantilla compuesta por una región parcial de un bloque, que es adyacente al bloque actual, (por ejemplo, bloques izquierdo, superior, superior izquierdo, superior derecho, inferior izquierdo, y similares) en la que se completa la codificación en el caso de la coincidencia de plantillas. La correspondencia de bloques puede ser un procedimiento para generar explícitamente información de movimiento, y la correspondencia de plantillas puede ser un procedimiento para obtener implícitamente información de movimiento.
Aquí, la coincidencia de plantilla puede ser proporcionada por una señal que indica el soporte de un procedimiento de predicción de movimiento adicional, y la señal puede ser incluida en unidades de secuencias, imágenes, cortes, baldosas, y similares. Además, un intervalo de coincidencia de plantillas de apoyo puede ser o no ser el mismo que un intervalo (por ejemplo, 4*4 a 128x128) de coincidencia de bloques de apoyo, o puede ser un intervalo limitado (por ejemplo, 4*4 a 32*32). El intervalo de coincidencia de la plantilla de soporte puede determinarse en función de los ajustes de codificación/decodificación (por ejemplo, un tipo de imagen, un componente de color y similares). Cuando se admite una pluralidad de procedimientos de predicción de movimiento, se genera información de selección del procedimiento de predicción de movimiento y se incluye en unidades de bloque.
Además, la estimación de movimiento puede realizarse adaptativamente de acuerdo con un modelo de movimiento. Además del modelo de movimiento de traslación que sólo considera la traslación paralela, puede utilizarse un modelo de movimiento adicional para realizar la estimación y compensación del movimiento. Por ejemplo, la estimación y la compensación del movimiento pueden realizarse mediante el uso de un modelo de movimiento que tenga en cuenta movimientos tales como la rotación, la perspectiva, el acercamiento/alejamiento y similares, además de la traslación paralela. Esto puede servir para mejorar el rendimiento de la codificación por medio de la generación de un bloque de predicción al que se aplican los distintos tipos de movimientos descritos anteriormente, generados en función de una característica regional de una imagen.
En la presente invención, la descripción se proporciona asumiendo que un modelo de movimiento afín es un modelo de movimiento sin traslación. Sin embargo, la presente invención no se limita a ello, y pueden aportarse modificaciones a la misma. Aquí, el modelo de movimiento de no-traducción puede ser proporcionado por una señal que indica el apoyo del modelo de movimiento adicional, y la señal puede ser incluida en unidades de secuencias, imágenes, cortes, baldosas, y similares. Además, un intervalo de soporte del modelo de movimiento sin traslación puede ser o no el mismo que un intervalo (por ejemplo, de 4*4 a 128*128) de soporte del modelo de movimiento con traslación, o puede ser un intervalo limitado (por ejemplo, de 4*4 a 32*32), y puede determinarse en función de los ajustes de codificación/decodificación (por ejemplo, un tipo de imagen, un componente de color y similares). Cuando se admite una pluralidad de modelos de movimiento, se genera información de selección del modelo de movimiento y se incluye en unidades de bloque.
FIG. 36 es un diagrama conceptual que ilustra un modelo de movimiento sin traslación de acuerdo con una realización de la presente invención.
En referencia a la FIG. 36, en el caso del modelo de movimiento de traslación, la información de movimiento se representa mediante el uso de un vector de movimiento V0, mientras que en el caso del modelo de movimiento sin traslación, puede ser necesaria información de movimiento adicional para un vector de movimiento V0. En este ejemplo, se describe un caso en el que se utiliza un vector de movimiento adicional V1 para representar la información de movimiento del modelo de movimiento sin traslación, pero también pueden ser posibles otras configuraciones (por ejemplo, una pluralidad de vectores de movimiento, información de ángulo de rotación, información de escala y similares).
En el caso del modelo de movimiento de traslación, los vectores de movimiento de los píxeles incluidos en el bloque actual pueden ser los mismos, y se pueden proporcionar los mismos vectores de movimiento en unidades de bloque. Se utiliza un vector de movimiento representativo (V0) para realizar la estimación y compensación del movimiento.
En el caso del modelo de movimiento sin traslación, los vectores de movimiento de los píxeles incluidos en el bloque actual pueden ser diferentes entre sí, y pueden proporcionarse vectores de movimiento individuales en unidades de píxel. En este caso, se requieren muchos vectores de movimiento, por lo que se utiliza una pluralidad de vectores de movimiento (V0 y V1) que representan los vectores de movimiento de los píxeles incluidos en el bloque actual para realizar la estimación y compensación del movimiento. Es decir, a través de la pluralidad de vectores de movimiento, se pueden derivar (u obtener) vectores de movimiento en unidades de sub-bloques o píxeles dentro del bloque actual.
Por ejemplo, los vectores de movimiento {en este ejemplo, (Vx, Vy)} en unidades de sub-bloques y píxeles dentro del bloque actual pueden derivarse por la Ecuación Vx = (V1x - V0x) * x / M - (V1y - VOy) * y / N VOx, Vy = (V1y - VOy) * x / M (V1x - VOx) * y / N VOy. En la ecuación anterior, V0 {en este ejemplo, (VOx, V0y)} se relaciona con el vector de movimiento superior izquierdo del bloque actual, y V1 {en este ejemplo, (V1x, V1y)} se relaciona con el vector de movimiento superior derecho del bloque actual. Teniendo en cuenta la complejidad, la estimación del movimiento y la compensación del modelo de movimiento sin traslación pueden realizarse en unidades de sub-bloques.
FIG. 37 es un diagrama de ejemplo que ilustra la estimación de movimiento en unidades de sub-bloque de acuerdo con una realización de la presente invención.
En referencia a la FIG. 37, el vector de movimiento del sub-bloque dentro del bloque actual puede derivarse de una pluralidad de vectores de movimiento (V0 y V1) que representan información de movimiento del bloque actual, y la estimación y compensación de movimiento pueden realizarse en unidades de sub-bloque. Aquí, el tamaño del sub bloque (m*n) puede determinarse en función de los ajustes de codificación/decodificación. Por ejemplo, se puede establecer un tamaño fijo o un tamaño adaptativo en función del tamaño del bloque actual. El tamaño del sub-bloque puede oscilar entre 4*4 y 16*16.
En general, la parte de estimación de movimiento puede ser un elemento existente en el aparato de codificación, pero también puede ser un elemento existente en el aparato de decodificación de acuerdo con un procedimiento de predicción (por ejemplo, coincidencia de plantilla, y similares). Por ejemplo, en el caso de la coincidencia de plantillas, el decodificador puede obtener información de movimiento del bloque actual realizando una estimación de movimiento con una plantilla adyacente al bloque actual. Aquí, la información relacionada con la estimación de movimiento (por ejemplo, un intervalo de estimación de movimiento, un procedimiento de estimación de movimiento, información de configuración de plantilla y similares) puede generarse implícita o explícitamente y puede incluirse en unidades de secuencias, imágenes, cortes, baldosas y similares.
La parte de compensación de movimiento realiza un proceso para obtener datos de algunos bloques de algunas imágenes de referencia determinadas por el proceso de estimación de movimiento, como el bloque de predicción del bloque actual. En detalle, sobre la base de la información de movimiento (por ejemplo, información de imagen de referencia, información de vector de movimiento y similares) obtenida a través del proceso de estimación de movimiento, el bloque de predicción del bloque actual puede generarse a partir de al menos una región (o bloque) de al menos una imagen de referencia incluida en una lista de imágenes de referencia.
La parte de determinación de la información de movimiento puede realizar un proceso para seleccionar la información de movimiento óptima del bloque actual. En general, mediante el uso de una técnica de distorsión de velocidad en la que se considera la distorsión de un bloque {por ejemplo, distorsión del bloque actual y del bloque restaurado, suma de la diferencia absoluta (SDA), suma de la diferencia cuadrada (SDC), y similares} y el número de bits causados por la información de movimiento, se puede determinar la información de movimiento óptima en términos de coste de codificación. El bloque de predicción generado sobre la base de la información de movimiento que se determina por medio del proceso puede transmitirse al sustractor y al sumador. Además, el elemento puede incluirse en el aparato de decodificación de acuerdo con algunos procedimientos de predicción (por ejemplo, coincidencia de plantillas y similares), que pueden determinarse en función de la distorsión del bloque.
La parte de codificación de la información de movimiento puede codificar la información de movimiento del bloque actual obtenida a través del proceso de determinación de la información de movimiento. Aquí, la información de movimiento puede estar compuesta por información sobre una imagen y una región referenciada para el bloque de predicción del bloque actual. En detalle, puede estar compuesto por información sobre la imagen (por ejemplo, información de la imagen de referencia, y similares) e información sobre la región (por ejemplo, información del vector de movimiento, y similares).
Además, la información de ajuste relacionada con la inter-predicción (por ejemplo, un procedimiento de predicción de movimiento, información de selección de modelo de movimiento, y similares) puede incluirse en la información de movimiento del bloque actual. La configuración de la información (por ejemplo, el número de vectores de movimiento y similares) en la imagen de referencia y la región puede determinarse en función de la configuración relacionada con la inter-predicción.
La información de la imagen de referencia puede representarse por medio de una lista de imágenes de referencia, un índice de imágenes de referencia y similares. Puede codificarse información sobre la lista de imágenes de referencia en uso e información sobre el índice de imágenes de referencia. La información de la región de referencia puede representarse por medio de un vector de movimiento y similares. Se puede codificar un valor absoluto vectorial de cada componente (por ejemplo, x e y) e información de signo.
Además, la información sobre la imagen de referencia y la información sobre la región de referencia se configuran como una combinación, y puede codificarse información de movimiento. La combinación de la información sobre la imagen de referencia y la información sobre la región de referencia puede configurarse como un modo de codificación de información de movimiento. Aquí, la información de imagen de referencia y la información de región de referencia pueden obtenerse de un bloque vecino o de un valor preestablecido (por ejemplo, un vector 0), y el bloque vecino puede ser al menos un bloque adyacente espacial o temporalmente. Por ejemplo, la información de movimiento del bloque vecino o la información de la imagen de referencia pueden utilizarse para codificar la información de movimiento del bloque actual. La información de movimiento del bloque vecino o la información (o una mediana, información sometida a un proceso de transformación y similares) derivada de la información de la imagen de referencia puede utilizarse para codificar la información de movimiento del bloque actual. Es decir, la información de movimiento del bloque actual puede predecirse a partir del bloque vecino, y la información correspondiente puede codificarse.
En la presente invención, pueden admitirse una pluralidad de modos de codificación de información de movimiento para la información de movimiento del bloque actual. En cuanto a los modos de codificación de la información de movimiento, se puede utilizar un procedimiento entre un modo de salto, un modo de fusión y un modo de competición para codificar la información de movimiento.
El modo de codificación de la información de movimiento puede clasificarse por medio de ajustes para una combinación de información sobre una imagen de referencia e información sobre una región de referencia.
En el modo de salto y en el modo de fusión, la información de movimiento del bloque actual puede obtenerse de al menos un bloque candidato (o un grupo de candidatos del modo de salto, un grupo de candidatos del modo de fusión). Es decir, la información de predicción sobre la imagen de referencia o la región de referencia puede obtenerse a partir del bloque candidato, y no se genera información de diferencia al respecto. El modo de salto se aplica cuando la señal residual es cero, y el modo de fusión se aplica cuando la señal residual no es cero.
En el modo competición, la información de movimiento del bloque actual puede ser obtenida de al menos un bloque candidato (o un grupo de candidatos del modo competición). Es decir, la información de predicción sobre la imagen de referencia o la región de referencia puede obtenerse a partir del bloque candidato, y puede generarse información de diferencia al respecto.
Un grupo candidato del modo anterior puede construirse de forma adaptativa. Por ejemplo, el modo de salto y el modo de fusión pueden tener la misma configuración, y el modo de competición puede tener una configuración diferente. El número de grupos de modos candidatos también puede determinarse de forma adaptativa. Por ejemplo, el modo de salto y el modo de fusión pueden tener un grupo de candidatos, y el modo de competición puede tener dos grupos de candidatos. Además, cuando el número de grupos candidatos para cada modo es uno, se puede seleccionar la información de selección de candidatos. Cuando se admite una pluralidad de grupos de candidatos, se genera información de selección de candidatos.
De acuerdo con un procedimiento determinado a partir de los procedimientos descritos anteriormente, puede codificarse la información de movimiento. Cuando el modo de codificación de la información de movimiento es el modo de salto o el modo de fusión, se realiza un proceso de codificación de movimiento de fusión. Cuando el modo de codificación de la información de movimiento es el modo competición, se realiza un proceso de codificación en modo competición.
En resumen, en el proceso de codificación de movimiento de fusión, puede obtenerse información de predicción sobre la imagen de referencia o sobre la región de referencia, y la información de predicción obtenida puede codificarse en información de movimiento del bloque actual. Además, en el proceso de codificación del movimiento de competición, puede obtenerse información de predicción sobre la imagen de referencia o la región de referencia. La información de diferencia (por ejemplo, mv - mvp = mvd, mv es la información de movimiento actual, mvp es la información de movimiento de predicción y mvd es la información de movimiento de diferencia) entre la información de predicción obtenida y la información de movimiento del bloque actual puede codificarse como información de movimiento del bloque actual. En el primer caso, una señal residual puede codificarse o no de acuerdo con el modo de codificación de la información de movimiento.
Los intervalos de bloques en los que cada modo de codificación de información de movimiento es soportado de acuerdo con los ajustes de codificación/decodificación (por ejemplo, un tipo de imagen, un componente de color, y similares) pueden ser iguales o diferentes entre sí.
FIG. 38 es un diagrama de ejemplo que ilustra un bloque referenciado en la predicción de información de movimiento de un bloque actual de acuerdo con una realización de la presente invención.
En referencia a la FIG. 38, la información de movimiento de bloques espacialmente adyacentes puede incluirse en un grupo candidato de predicción de información de movimiento del bloque actual. En detalle, la información de movimiento de los bloques izquierdo, superior, superior izquierdo, superior derecho e inferior izquierdo (TL, T, TR, L, BL y similares del bloque actual en la FIG. 38) con el bloque actual en el centro pueden incluirse en el grupo de candidatos.
Además, la información de movimiento de bloques temporalmente adyacentes puede incluirse en el grupo candidato. En detalle, en una imagen utilizada en la construcción del grupo temporal candidato, la información de movimiento de los bloques izquierdo, superior izquierdo, superior, superior derecho, derecho, inferior derecho, inferior e inferior izquierdo (TL, T, TR, L, R, BL, B y Br en FIG. 38) con un bloque que es el mismo que el bloque actual en el centro y la información de movimiento (Col) del bloque puede incluirse en el grupo candidato.
Además, el grupo candidato puede incluir: información de movimiento obtenida de una pluralidad de piezas de información de movimiento de bloques espacialmente adyacentes; información de movimiento obtenida de una pluralidad de piezas de información de movimiento de bloques temporalmente adyacentes; e información de movimiento obtenida de al menos una pieza de información de movimiento de bloques espacialmente adyacentes y de al menos una pieza de información de movimiento de bloques temporalmente adyacentes. La información de movimiento incluida en el grupo candidato puede obtenerse mediante el uso de un procedimiento, tal como una media, una mediana y similares de una pluralidad de piezas de información de movimiento.
La información de movimiento puede incluirse en el grupo de candidatos de predicción de información de movimiento del bloque actual de acuerdo con una prioridad preestablecida (por ejemplo, el orden de un candidato espacial, un candidato temporal y otros candidatos), y los ajustes del grupo de candidatos de predicción de información de movimiento pueden determinarse de acuerdo con el modo de codificación de la información de movimiento.
Aquí, en el proceso de construcción del grupo candidato de predicción de información de movimiento de acuerdo con la prioridad, se comprueba la disponibilidad de predicción de información de movimiento de cada bloque para su clasificación en información de movimiento disponible e información de movimiento no disponible. La información de movimiento disponible puede incluirse en el grupo de candidatos, y la información de movimiento no disponible puede no incluirse en el grupo de candidatos.
Además, de acuerdo con la configuración relacionada con la inter-predicción, pueden determinarse los ajustes del modo de codificación de la información de movimiento. Por ejemplo, en el caso de la coincidencia de plantillas, puede admitirse el modo de codificación de información de movimiento. En el caso del modelo de movimiento sin traslación, un grupo de candidatos de modo de acuerdo con el vector de movimiento puede admitirse de forma diferente en cada modo de codificación de la información de movimiento.
FIG. 39 es un diagrama de ejemplo que ilustra un bloque referenciado para la predicción de información de movimiento de un bloque actual en un modelo de movimiento sin traslación de acuerdo con una realización de la presente invención.
En el caso del modelo de movimiento de no-traducción, la información de movimiento puede representarse usando una pluralidad de vectores de movimiento, y pueden proporcionarse ajustes diferentes de la composición del grupo candidato de predicción de información de movimiento del modelo de movimiento de traducción. Por ejemplo, como se muestra en la FIG. 36, pueden admitirse grupos individuales de candidatos a predicción de información de movimiento (por ejemplo, un primer grupo de candidatos a predicción de información de movimiento y un segundo grupo de candidatos a predicción de información de movimiento) para el vector de movimiento superior izquierdo (V0) y el vector de movimiento superior derecho (V1).
En referencia a la FIG. 39, en el caso de V0 y V1, la información de movimiento de bloques espacialmente adyacentes puede incluirse en los grupos candidatos de predicción de información de movimiento primero y segundo del bloque actual.
Por ejemplo, el primer grupo candidato de predicción de información de movimiento puede incluir información de movimiento de los bloques izquierdo, superior y superior izquierdo (Ln, Tw, TL y similares en la FIG. 39), y el segundo grupo de candidatos a predicción de información de movimiento puede incluir información de movimiento de los bloques superior y superior derecho (Te, TR y similares en la FIG. 39). Alternativamente, la información de movimiento de bloques temporalmente adyacentes puede incluirse en el grupo candidato.
En el caso del modelo de movimiento de no-traducción, el grupo candidato de predicción de información de movimiento puede estar compuesto de forma diferente dependiendo del modo de codificación de información de movimiento.
En el ejemplo descrito anteriormente, en el modo de competición, se realiza un proceso de predicción de información de movimiento de acuerdo con el número de vectores de movimiento que se generan explícitamente a través del modelo de movimiento sin traslación. Por el contrario, en el modo de fusión o en el modo de salto, la información del vector de movimiento se determina implícitamente por medio de la información del indicador del modo de codificación de la información de movimiento, de forma que se puede realizar un número diferente de procesos de predicción de la información de movimiento.
Por ejemplo, la composición del grupo candidato de predicción de información de movimiento para el vector de movimiento inferior izquierdo puede proporcionarse además del vector de movimiento superior izquierdo y el vector de movimiento superior derecho. En este caso, el grupo candidato de predicción de información de movimiento para el vector de movimiento inferior izquierdo puede incluir información de movimiento de los bloques izquierdo e inferior izquierdo.
Mediante el uso de la composición de la pluralidad de grupos candidatos de predicción de información de movimiento, puede realizarse el proceso de codificación de movimiento de fusión.
El ejemplo anterior es sólo un ejemplo de composición del grupo candidato de información de movimiento del modelo de movimiento sin traducción. La presente invención no se limita a ello, y pueden proporcionarse otras composiciones y modificaciones de la misma.
La información relacionada con el movimiento generada por la parte de codificación de la información de movimiento puede transmitirse a la parte de codificación y añadirse a un caudal de bits.
La inter-predicción en el procedimiento de decodificación de imágenes de acuerdo con la realización de la presente invención puede configurarse como sigue. La inter-predicción de la parte de predicción puede incluir una etapa de decodificación de la información de movimiento, una etapa de construcción de la imagen de referencia y una etapa de compensación de movimiento. Además, el aparato de decodificación de imágenes puede estar configurado para incluir una parte de decodificación de información de movimiento, una parte de construcción de imagen de referencia y una parte de compensación de movimiento, que realizan la etapa de decodificación de información de movimiento, la etapa de construcción de imagen de referencia y la etapa de compensación de movimiento. Algunos de los procesos descritos anteriormente pueden omitirse, pueden añadirse otros procesos o puede cambiarse el orden. Además, se omitirá una descripción redundante del codificador.
La parte de decodificación de la información de movimiento puede recibir la información de movimiento de la parte de decodificación para restaurar la información de movimiento del bloque actual. La información de movimiento puede restaurarse a partir de información tal como un vector de movimiento, una lista de imágenes de referencia, un índice de imágenes de referencia y similares para una imagen y una región a las que se hace referencia para generar el bloque de predicción. Además, la información sobre la imagen de referencia y la región de referencia puede restaurarse desde el modo de codificación de la información de movimiento. Además, se puede restaurar la información de ajuste relacionada con la inter-predicción.
La parte de construcción de la imagen de referencia puede construir la imagen de referencia de la misma manera que la parte de construcción de la imagen de referencia del codificador, y se omitirá una descripción detallada de la misma.
La parte de compensación de movimiento puede realizar la compensación de movimiento de la misma manera que la parte de compensación de movimiento del codificador, y se omitirá una descripción detallada de la misma. El bloque de predicción generado por medio del proceso puede transmitirse al sumador.
A continuación, se describirá en detalle la inter-predicción de acuerdo con una realización de la presente invención. En el siguiente ejemplo se describirá principalmente el codificador.
En un proceso de redimensionamiento de una imagen, el redimensionamiento puede realizarse durante la etapa de predicción o antes de realizar la predicción. En el caso de la inter-predicción, se puede cambiar el tamaño de la imagen de referencia. Alternativamente, en el proceso de redimensionamiento de la imagen, el redimensionamiento puede realizarse en la etapa inicial de codificación/decodificación. En el caso de la inter-predicción, se puede cambiar el tamaño de una imagen de codificación.
Por ejemplo, cuando se expande una imagen de referencia (un tamaño por defecto), es posible la expansión en una imagen de referencia (un tamaño expandido) de la imagen de codificación actual. Alternativamente, cuando se amplía una imagen de codificación (un tamaño predeterminado), es posible almacenarla (un tamaño ampliado) en una memoria una vez finalizada la codificación, y utilizarla como imagen de referencia (un tamaño ampliado) de otra imagen de codificación. Alternativamente, cuando se expande una imagen de codificación (un tamaño por defecto), la reducción y el almacenamiento (un tamaño por defecto) en una memoria es posible una vez finalizada la codificación, y el uso como imagen de referencia (un tamaño expandido) de otra imagen de codificación es posible a través de un proceso de expansión de la imagen de referencia.
Se describirá la inter-predicción de una imagen de 360 grados en la que se utiliza una imagen redimensionada a través de varios casos como los descritos anteriormente.
FIG. 40 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza mediante el uso de una imagen expandida de acuerdo con una realización de la presente invención. Muestra la inter-predicción en un formato de proyección PMC de una imagen de 360 grados.
En referencia a la FIG. 40, una imagen significa una imagen de referencia, y un ejemplo de un bloque de predicción (V a Z en FIG. 40, un tamaño de 2M*2N) obtenido a partir del bloque actual (no mostrado en los dibujos) de una imagen de codificación por medio de inter-predicción. En FIG. 40, las regiones existentes pueden ser de S'0,0 a S'2,1, y las regiones expandidas pueden ser de E l a E14. Este ejemplo puede ser un ejemplo de redimensionamiento como se muestra en la Sección 27C. Los valores de redimensionamiento se expanden por b, d, a y c en las direcciones arriba, abajo, izquierda y derecha. La descripción se proporciona asumiendo la expansión en un tamaño (2M*2N) de un bloque de predicción obtenido de la parte de partición de bloques.
Se proporciona una descripción suponiendo que algunos procedimientos de procesamiento de datos (por ejemplo, un procedimiento de relleno por medio de la transformación de una región específica de una imagen) se utilizan para cambiar el tamaño de una imagen. Además, un grupo de S'0,0 S'1,0 S'2,0, y un grupo de S'0,1 S'1,1 S'2,2 pueden estar en sucesión. E8 puede obtenerse a partir de S'2,1, o E9 puede obtenerse a partir de S'0,1. Una descripción detallada de la continuidad entre las caras hace referencia a las FIGS. 21, 24 y 25.
En el caso de V, V puede obtenerse como un bloque de predicción en la región existente (S'0,0).
En el caso de W, W se posiciona sobre una pluralidad de regiones existentes (S'1,0, S'2,0), y la pluralidad de regiones existentes son caras que tienen continuidad, de forma que W puede obtenerse como un bloque de predicción. Alternativamente, es posible la división en M*2N pertenecientes a una región específica existente (S'1,0) y M*2N pertenecientes a una región específica existente (S'2,0). La pluralidad de regiones existentes tiene las características de continuidad distorsionada con respecto a un límite de cara, de forma que es posible la adquisición como un sub bloque de predicción.
En el caso de X, X se posiciona en una región expandida (E8), y la región expandida es una región obtenida usando datos de la región (S'2,1) que tiene una alta correlación con la región existente (S'0,1), de forma que es posible la adquisición como un bloque de predicción. Cuando no se realiza el redimensionamiento de una imagen, es posible la adquisición como bloque de predicción de la región existente (S'2,1).
En el caso de Y, Y se posiciona sobre una pluralidad de regiones existentes (S'1,0, S'1,1), y la pluralidad de regiones existentes son caras que no tienen continuidad, de forma que la adquisición como sub-bloque de predicción es posible al ser particionado en 2M*N pertenecientes a una región existente específica (S'1,0) y 2M*N pertenecientes a una región existente específica (S'1,1).
En el caso de Z, Z se posiciona sobre una región específica existente (S'2,1) y una región específica expandida (E9), y la región expandida es una región obtenida usando datos de la región (S'0,1) que tiene una alta correlación con la región existente (S'2,1), de forma que la adquisición como bloque de predicción es posible. Cuando no se realiza el redimensionamiento de una imagen, es posible la adquisición como sub-bloque de predicción particionándose en M*2N pertenecientes a una región específica existente (S'2,1) y M*2N pertenecientes a una región específica existente (S'0,1).
Como en el ejemplo descrito anteriormente, los bloques de predicción tales como X y Z se obtienen expandiendo el límite exterior de una imagen (asumiendo que la continuidad distorsionada entre la región existente y la región expandida se elimina mediante el uso del procedimiento de procesamiento de datos en este ejemplo), mejorando de este modo el rendimiento de la codificación. Sin embargo, debido a que el límite de la cara dentro de una imagen no tiene continuidad, se produce la partición en sub-bloques tales como Y, lo que puede degradar el rendimiento de la codificación. Además, hay un caso en el que aunque la continuidad dentro de una imagen esté presente, es difícil obtener un bloque de predicción preciso como W debido a que el límite de la cara tiene una continuidad distorsionada. Para ello, se puede considerar el redimensionamiento en el límite interior (por ejemplo, el límite entre caras) de la imagen.
FIG. 41 es un diagrama conceptual que ilustra la expansión de una unidad facial de acuerdo con una realización de la presente invención.
Como se muestra en las FIG. 41, la eficacia entre predicciones puede mejorarse realizando una expansión de la unidad de caras. Este ejemplo puede ser un ejemplo de redimensionamiento como se muestra en la Sección 27A. En la Sección 27A, las caras redimensionadas componen una imagen. Por el contrario, en este ejemplo, las caras redimensionadas se configuran como subimágenes individuales. En este ejemplo, una unidad de cara expandida se denomina imagen parcial.
La imagen parcial puede utilizarse temporalmente para la imagen de referencia existente, o puede utilizarse en lugar de la imagen de referencia existente, o puede utilizarse continuamente con la imagen de referencia existente. En el siguiente ejemplo, se describirá principalmente el caso de que se utilice en lugar de la imagen de referencia existente.
Durante la inter-predicción en una imagen (cuadro), un bloque de predicción puede ser obtenido a partir de un bloque designado por el vector de movimiento del bloque actual.
Durante la inter-predicción en la imagen parcial (cara), es posible comprobar a qué imagen parcial pertenece el bloque designado por el vector de movimiento del bloque actual, obteniendo de este modo el bloque de predicción en la imagen parcial. Aquí es posible determinar, a partir de la imagen, a qué imagen parcial pertenece el bloque.
A continuación, se describirán varios casos en los que se obtiene un bloque de predicción a partir de una imagen parcial. A continuación, se describirán varios ejemplos con referencia a V a Z en la FIG. 40. En FIG. 40, se supone un caso de imagen no expandida (S_Anchura x S_Altura).
Por ejemplo, en el caso (V) de pertenecer a una cara, se puede obtener un bloque de predicción a partir de una imagen parcial (f0) relacionada con la cara.
Por ejemplo, en los casos (W e Y) de pertenencia a una pluralidad de caras, puede obtenerse un bloque de predicción a partir de una imagen parcial (f1 o f2 para w, y f1 o f4 para Y) relacionada con una cara que incluya más píxeles. Aquí, cuando se incluye el mismo número de píxeles, se puede determinar a qué cara pertenece el bloque de acuerdo con una regla preestablecida.
Por ejemplo, en el caso (Z) de pertenecer parcialmente a una cara, se puede obtener un bloque de predicción a partir de una imagen parcial (f5) relacionada con la cara.
Por ejemplo, en el caso (X) de no pertenecer a ninguna cara, se puede obtener un bloque de predicción a partir de una imagen parcial (f3) relacionada con la cara adyacente.
El ejemplo anterior es un ejemplo específico en el que la imagen parcial se utiliza para realizar la inter-predicción. La presente invención no se limita a ello, y pueden aportarse otras definiciones y otras modificaciones.
FIG. 42 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza mediante el uso de una imagen expandida de acuerdo con una realización de la presente invención.
En referencia a la FIG. 42, se muestra un ejemplo de obtención de bloques de predicción (A' a D', C", y D" en FIG. 42) de las imágenes de referencia (Ref 0[1], Ref 0[0], Ref 1[0] y Ref 1[1] en la FIG. 42) realizando la inter-predicción de los bloques actuales (A a D en FIG. 42). Alternativamente, un ejemplo de obtención de un bloque de predicción a partir de una imagen parcial (f0 a f3 en FIG. 42) de la imagen de referencia. En el siguiente ejemplo, la inter-predicción en una imagen expandida como se muestra en la FIG. 40 y la inter-predicción en una imagen parcial se describirán y se denominarán primer procedimiento y segundo procedimiento, respectivamente. Además, se proporciona una descripción asumiendo que algunos procedimientos de procesamiento de datos (por ejemplo, un procedimiento de relleno por medio de la transformación de una región específica de una imagen) se utilizan para cambiar el tamaño.
En el caso del bloque A, en el primer procedimiento, un bloque de predicción (A') puede obtenerse a partir de una región predeterminada de una imagen de referencia específica (Ref 0[1]), y en el segundo procedimiento, un bloque de predicción (A') puede obtenerse a partir de una imagen parcial específica (f0) de una imagen de referencia específica (Ref 0[1]).
En el caso del bloque B, en el primer procedimiento, un bloque de predicción (B') puede obtenerse a partir de una región predeterminada de una imagen de referencia específica (Ref 1[1]), y en el segundo procedimiento, un bloque de predicción (B') puede obtenerse a partir de una imagen parcial específica (f0) de una imagen de referencia específica (Ref 1[1]).
En el caso del bloque C, en el primer procedimiento, un sub-bloque de predicción (C' se asume como un caso de partición vertical) puede obtenerse a partir de una pluralidad de regiones predeterminadas de una imagen de referencia específica (Ref 0[0]), y en el segundo procedimiento, un bloque de predicción (C") puede obtenerse a partir de una imagen parcial específica (f2) de una imagen de referencia específica (Ref 0[0]).
En el caso del bloque D, en el primer procedimiento, un bloque de predicción (D') puede obtenerse a partir de una región predeterminada y una región expandida de una imagen de referencia específica (Ref 1[0]), y en el segundo procedimiento, un bloque de predicción (D") puede obtenerse a partir de una imagen parcial específica (f3) de una imagen de referencia específica (Ref 1[0]).
En el ejemplo anterior, en el caso de los bloques A y B, los resultados de inter-predicción de la imagen existente, la imagen expandida y la imagen parcial son los mismos. En el caso del bloque D, los resultados de inter-predicción de la imagen ampliada y de la imagen parcial son los mismos, pero difieren del resultado de inter-predicción de la imagen existente. En el caso del bloque C, los resultados de inter-predicción de la imagen existente y de la imagen ampliada son los mismos, pero son diferentes del resultado de inter-predicción de la imagen parcial.
En resumen, en la inter-predicción de la imagen expandida, considerando las características de la imagen de 360 grados, el exterior del límite de la imagen se expande, y la región se rellena con datos que tienen una alta correlación para su uso en la inter-predicción, pero debido a la característica del límite interior de la imagen, la eficiencia de la predicción puede disminuir. En la inter-predicción de la imagen parcial, la inter-predicción puede realizarse teniendo en cuenta el problema descrito anteriormente, de forma que pueda aumentarse la eficacia de la predicción.
Una imagen de 360 grados puede estar compuesta por una pluralidad de caras de acuerdo con el formato de proyección. Se ha descrito que cada sistema de coordenadas del plano 2D se define para cada cara. Esta característica puede provocar una reducción de la eficacia de la inter-predicción en una imagen de 360 grados.
En referencia a la FIG. 42, con respecto al bloque A, se puede obtener un bloque de predicción a partir del bloque A', y el bloque A' puede ser un bloque que pertenezca a la misma cara (la cara superior izquierda de la imagen) que el bloque A. Esto puede significar que los bloques A y A' tienen sistemas de coordenadas de la misma cara.
En contraste, con respecto al bloque B, un bloque de predicción puede ser obtenido a partir del bloque B', y el bloque B' puede ser un bloque que pertenece a una cara diferente del bloque B (la cara superior derecha para el bloque B, y la cara superior izquierda para el bloque B'). A pesar del mismo objeto, cuando se produce el movimiento a otra cara debido a las características del sistema de coordenadas de cada cara, se genera la rotación para la disposición por comparación con la cara existente dentro de la cara. En el ejemplo anterior, la predicción precisa (o la compensación de movimiento de bloques de gran tamaño) a través de un modelo de movimiento específico (el modelo de movimiento de traslación) puede ser difícil, y para ello, al utilizar el modelo de movimiento de no traslación, se puede mejorar la precisión de la predicción.
A continuación, se describirán varios casos en los que la inter-predicción se realiza mediante el uso de un modelo de movimiento de traslación y un modelo de movimiento de no traslación. La descripción se dirige a los bloques A a D de la FIG. 42 y suponiendo el caso de utilizar la inter-predicción de una imagen parcial.
Por ejemplo, con respecto a los bloques A, C y D, el modelo de movimiento de traslación puede utilizarse para obtener bloques de predicción (A', C' y D') que pertenezcan a la misma cara (o imagen parcial). Alternativamente, con respecto al bloque B, se puede utilizar uno de entre el modelo de movimiento de traslación y el modelo de movimiento de no traslación para obtener un bloque de predicción (B') que pertenezca a una cara diferente.
Por ejemplo, con respecto a los bloques A, C y D, se puede utilizar uno entre el modelo de movimiento de traslación y el modelo de movimiento de no traslación para obtener bloques de predicción (A', C' y D') que pertenezcan a la misma cara. Alternativamente, con respecto al bloque B, el modelo de movimiento sin traslación puede utilizarse para obtener un bloque de predicción (B') que pertenezca a una cara diferente.
El ejemplo anterior puede ser un ejemplo de uso de un modelo de movimiento preestablecido o de uno de una pluralidad de modelos de movimiento de acuerdo con a qué caras pertenezcan el bloque actual y el bloque de predicción, respectivamente. Es decir, en el primer caso, la información de selección del modelo de movimiento se determina implícitamente, y en el segundo caso, la información de selección del modelo de movimiento se determina explícitamente.
Como otro ejemplo, con respecto a los bloques A a D, uno entre el modelo de movimiento de traslación y el modelo de movimiento de no traslación puede ser utilizado para obtener un bloque de predicción. Los bloques A, C y D pueden seguir una configuración de probabilidad 1 para la información de selección del modelo de movimiento, y el bloque B puede seguir una configuración de probabilidad 2 para la información de selección del modelo de movimiento. Aquí, el ajuste de probabilidad 1 puede ser un ajuste en el que hay una alta probabilidad de que se seleccione el modelo de movimiento de traslación. La configuración de probabilidad 2 puede ser una configuración en la que existe una alta probabilidad de que se seleccione el modelo de movimiento sin traslación.
El ejemplo anterior es un ejemplo específico en el que se utiliza una pluralidad de modelos de movimiento para realizar la inter-predicción. La presente invención no se limita a ello, y pueden aportarse modificaciones a la misma.
FIG. 43 es un diagrama de ejemplo que ilustra que la inter-predicción se realiza mediante el uso de una imagen de referencia ampliada de acuerdo con una realización de la presente invención. Muestra la inter-predicción en un formato de proyección PER de una imagen de 360 grados.
En referencia a la FIG. 43, se muestra un ejemplo de obtención de bloques de predicción (bloques P1 a P5, y F1 a F4 en FIG. 43) de las imágenes de referencia (T-1 y T+1 en la FIG. 43) realizando la inter-predicción de los bloques actuales (bloques C1 a C6 en FIG. 43).
En el caso del bloque C1, puede obtenerse un bloque de predicción (P1) a partir de una región expandida (S2). En este caso, cuando la imagen de referencia no se expande, se puede obtener un bloque de predicción por medio de la partición en una pluralidad de sub-bloques.
En el caso del bloque C2, un bloque de predicción temporal (P2) puede obtenerse a partir de una región expandida específica (S3), un bloque de predicción temporal (F1) puede obtenerse a partir de una región existente específica (U1), y un bloque de predicción puede obtenerse a partir de una suma ponderada de los bloques de predicción temporal.
En el caso de los bloques C3 y C4, los bloques de predicción (P3, y P4 F2) pueden obtenerse a partir de regiones existentes (S1 y U2).
En el caso del bloque C5, puede obtenerse un bloque de predicción (F3) a partir de una región expandida (U3). Aquí, cuando la imagen de referencia no se expande, se obtiene un bloque de predicción (F3") sin partición de bloques, pero aumenta la cantidad de información de movimiento (C5 se sitúa a la derecha de la imagen, F3 se sitúa a la derecha de la imagen y F3" se sitúa a la izquierda de la imagen) para representar el bloque de predicción.
En el caso del bloque C6, un bloque de predicción temporal (P5) puede obtenerse a partir de una región expandida específica (S2), un bloque de predicción temporal (F4) puede obtenerse a partir de una región expandida específica (U3), y un bloque de predicción puede obtenerse a partir de un promedio de los bloques de predicción temporal.
FIG. 44 es un diagrama de ejemplo que ilustra la composición de un grupo candidato de predicción de información de movimiento para inter-predicción en una imagen de 360 grados de acuerdo con una realización de la presente invención.
En referencia a la FIG. 44, se muestra un ejemplo de obtención de una imagen expandida (B) realizando un redimensionamiento sobre una imagen de codificación (A). En el siguiente ejemplo, se describirán varios casos de composiciones de grupos candidatos de predicción de información de movimiento de bloques a a c.
En el caso de un bloque, el grupo candidato de predicción de información de movimiento puede incluir información de movimiento de a0 a a4 bloques. Alternativamente, cuando la referencia de una región redimensionada es limitada, el grupo candidato incluye información de movimiento de los bloques a3 y a4.
En el caso del bloque b, el grupo candidato de predicción de información de movimiento puede incluir información de movimiento de los bloques b0 a b4. Alternativamente, el grupo candidato puede incluir información de movimiento de bloques b3 y b4 excluyendo un bloque posicionado en una cara en la que no hay continuidad con una cara a la que pertenece el bloque actual. Además, la información de movimiento de los bloques superior izquierdo, superior y superior derecho que están posicionados en la misma cara en la que no hay continuidad con un bloque en el centro que es el mismo que el bloque actual temporalmente adyacente al mismo, puede excluirse del grupo candidato.
En el caso del bloque c, el grupo candidato de predicción de información de movimiento puede incluir información de movimiento de los bloques c0 a c4. Alternativamente, el grupo candidato puede incluir información de movimiento de los bloques c1 y c2 excluyendo un bloque que tiene continuidad con una cara a la que pertenece el bloque actual pero que está posicionado en otra cara. Alternativamente, puede incluirse información de movimiento de los bloques c0, c3 y c4 obtenida por medio del proceso de transformación de acuerdo con las características del sistema de coordenadas de la cara actual, y puede incluirse información de movimiento de los bloques c0 a c4.
Los ejemplos muestran composiciones de grupos candidatos de predicción de información de movimiento para inter predicción. Como en el ejemplo anterior, el grupo candidato de predicción de información de movimiento puede determinarse de acuerdo con los ajustes de codificación/decodificación. La presente invención no se limita a ello, y pueden proporcionarse otras composiciones y modificaciones de la misma.
Un procedimiento de decodificación de una imagen de 360 grados de acuerdo con una realización de la presente invención puede incluir la recepción de un caudal de bits en el que la imagen de 360 grados está codificada, la generación de una imagen predicha con referencia a la información de sintaxis adquirida del caudal de bits recibido, la adquisición de una imagen descodificada por medio de la combinación de la imagen predicha generada con una imagen residual adquirida por cuantificación inversa y transformación inversa del caudal de bits, y la reconstrucción de la imagen descodificada en la imagen de 360 grados de acuerdo con un formato de proyección.
Aquí, la información de sintaxis puede incluir información de formato de proyección para la imagen de 360 grados.
Aquí, la información de formato de proyección puede ser información que indique al menos uno de un formato PER en el que la imagen de 360 grados se proyecta en un plano 2D, un formato PMC en el que la imagen de 360 grados se proyecta en un cubo, un formato POH en el que la imagen de 360 grados se proyecta en un octaedro, y un formato PIS en el que la imagen de 360 grados se proyecta en un poliedro.
Aquí, la reconstrucción puede incluir la adquisición de información de disposición de acuerdo con el empaquetado por regiones con referencia a la información de sintaxis y el reordenamiento de bloques de la imagen descodificada de acuerdo con la información de disposición.
Aquí, la generación de la imagen predicha puede incluir la realización de una expansión de imagen sobre una imagen de referencia adquirida por medio de la restauración del caudal de bits, y la generación de una imagen predicha con referencia a la imagen de referencia sobre la que se realiza la expansión de imagen.
Aquí, la realización de la expansión de la imagen puede incluir la realización de la expansión de la imagen sobre la base de una unidad de partición de la imagen de referencia.
Aquí, la realización de la expansión de la imagen sobre la base de las unidades de partición puede incluir la generación de una región expandida individualmente para cada unidad de partición, mediante el uso de un píxel límite de la unidad de partición.
Aquí, la región expandida puede ser generada usando un píxel límite de una unidad de partición espacialmente adyacente a una unidad de partición a ser expandida o usando un píxel límite de una unidad de partición que tenga continuidad de imagen con una unidad de partición a ser expandida.
Aquí, la realización de la expansión de la imagen sobre la base de la unidad de partición puede incluir la generación de una imagen expandida para una región en la que se combinan dos o más unidades de partición que son espacialmente adyacentes entre sí entre las unidades de partición, mediante el uso de un píxel límite de la región combinada.
Aquí, la realización de la expansión de la imagen sobre la base de la unidad de partición puede incluir la generación de una región expandida entre las unidades de partición adyacentes que son espacialmente adyacentes entre sí entre las unidades de partición, mediante el uso de toda la información de píxeles adyacentes de las unidades de partición adyacentes.
Aquí, la realización de la expansión de la imagen sobre la base de la unidad de partición puede incluir la generación de la región expandida mediante el uso de un valor medio de píxeles adyacentes de cada una de las unidades de partición espacialmente adyacentes.
Aquí, la generación de la imagen predicha puede incluir la adquisición, a partir de la información de movimiento incluida en la información de sintaxis, de un grupo de candidatos a vector de movimiento que incluya un vector de movimiento de un bloque adyacente a un bloque actual a decodificar, derivando, en base a la información de selección extraída de la información de movimiento, un vector de movimiento de predicción a partir del grupo de candidatos a vector de movimiento, y determinando un bloque de predicción del bloque actual a decodificar mediante el uso de un vector de movimiento final derivado de la suma del vector de movimiento de predicción y un vector de movimiento de diferencia extraído de la información de movimiento.
Aquí, el grupo candidato a vector de movimiento puede ser, cuando los bloques adyacentes al bloque actual son diferentes de una cara a la que pertenece el bloque actual, compuesto sólo por un vector de movimiento para un bloque, entre los bloques adyacentes, que pertenece a una cara que tiene continuidad de imagen con la cara a la que pertenece el bloque actual.
Aquí, el bloque adyacente al bloque actual puede significar un bloque adyacente al bloque actual en al menos una dirección seleccionada entre superior izquierda, arriba, superior derecha, abajo e inferior izquierda.
Aquí, el vector de movimiento final puede indicar, sobre la base del bloque actual, una región de referencia que se incluye dentro de al menos una imagen de referencia y se establece en una región que tiene continuidad de imagen entre caras de acuerdo con el formato de proyección.
Aquí, la imagen de referencia puede expandirse en las direcciones arriba, abajo, izquierda y derecha sobre la base de la continuidad de la imagen de acuerdo con el formato de proyección y, a continuación, puede establecerse la región de referencia.
Aquí, la imagen de referencia puede expandirse en la unidad de la cara, y la región de referencia puede establecerse sobre el límite de la cara.
Aquí, la información de movimiento puede incluir al menos uno entre una lista de imágenes de referencia a la que pertenece la imagen de referencia, un índice de la imagen de referencia, y un vector de movimiento que indica la región de referencia.
Aquí, la generación del bloque de predicción del bloque actual puede incluir la partición del bloque actual en una pluralidad de sub-bloques y la generación de un bloque de predicción para cada uno de la pluralidad de sub-bloques que resultan de la partición.
Los procedimientos de acuerdo con la presente invención pueden realizarse en un formato de comando de programa que puede ejecutarse mediante el uso de varios medios informáticos, para ser grabados en un medio legible por ordenador. El medio legible por ordenador puede incluir independientemente un comando de programa, un archivo de datos, una estructura de datos, etc., o puede incluir una combinación de los mismos. El comando de programa que se graba en el medio legible por ordenador puede corresponder a un comando de programa que está específicamente diseñado y configurado para las realizaciones de la presente invención, o el comando de programa puede corresponder a un comando de programa que se desvela y está disponible para cualquier experto en lo relacionado con el software informático.
Ejemplos del medio de grabación legible por ordenador pueden incluir dispositivos de hardware, tales como ROMs, RAMs, memorias flash, etc., especialmente configurados para almacenar y ejecutar comandos de programa. Los ejemplos de un comando de programa no sólo pueden incluir códigos de lenguaje de máquina, que son creados por un compilador, sino que también pueden incluir códigos de lenguaje de alto nivel, que pueden ser ejecutados por un ordenador por medio del uso de un intérprete, etc. El equipo de hardware antes mencionado puede configurarse para ser operado como uno o más módulos de software para ejecutar las operaciones de la realización ejemplar de la presente invención, y viceversa.
Además, una parte o la totalidad de las configuraciones o funciones del procedimiento o aparato descrito anteriormente pueden implementarse de forma combinada o por separado.

Claims (4)

REIVINDICACIONES
1. Un procedimiento para decodificar una imagen de 360 grados, el procedimiento comprende:
recibir un caudal de bits en el que se codifica la imagen de 360 grados, el caudal de bits incluye datos de una imagen bidimensional expandida, la imagen bidimensional expandida incluye una imagen bidimensional y una región de expansión predeterminada, la imagen bidimensional se proyecta a partir de una imagen con una estructura de proyección tridimensional, y la imagen bidimensional incluye al menos una cara; y reconstruir la imagen bidimensional expandida descodificando los datos de una imagen bidimensional expandida,
caracterizado en que
el tamaño de la región de expansión se determina basándose en la primera información sobre la anchura de la región de expansión en el lado izquierdo de la cara y la segunda información sobre la anchura de la región de expansión en el lado derecho de la cara, obteniéndose tanto la primera información sobre la anchura como la segunda información sobre la anchura a partir del caudal de bits,
los valores de muestra de la región de expansión se determinan de acuerdo con un procedimiento de relleno que utiliza valores de muestra de la cara, seleccionándose el procedimiento de relleno entre una pluralidad de procedimientos de relleno, y
el procedimiento de relleno para un lado de la cara se determina de forma diferente al procedimiento de relleno para el otro lado de la cara.
2. El procedimiento de la reivindicación 1, en el que el procedimiento de relleno se selecciona de entre la pluralidad de procedimientos de relleno basándose en la información de selección obtenida del caudal de bits.
3. Un procedimiento para codificar una imagen de 360 grados, el procedimiento comprende:
obtención de una imagen bidimensional proyectada a partir de una imagen con una estructura de proyección tridimensional, y la imagen bidimensional incluye al menos una cara;
obtener una imagen bidimensional expandida que incluya la imagen bidimensional y una región de expansión predeterminada; y
codificación de datos de la imagen bidimensional expandida en un caudal de bits en el que se codifica la imagen de 360 grados,
caracterizado en que
el tamaño de la región de expansión se codifica basándose en la primera información sobre la anchura de la región de expansión en el lado izquierdo de la cara y en la segunda información sobre la anchura de la región de expansión en el lado derecho de la cara; tanto la primera información sobre la anchura como la segunda información sobre la anchura se codifican en el caudal de bits,
los valores de muestra de la región de expansión se determinan de acuerdo con un procedimiento de relleno que utiliza valores de muestra de la cara, seleccionándose el procedimiento de relleno entre una pluralidad de procedimientos de relleno, y
el procedimiento de relleno para un lado de la cara se determina de forma diferente al procedimiento de relleno para el otro lado de la cara.
4. Un medio de grabación no transitorio legible por ordenador que almacena un caudal de bits generado por un procedimiento para codificar una imagen de 360 grados:
obtención de una imagen bidimensional proyectada a partir de una imagen con una estructura de proyección tridimensional, y la imagen bidimensional incluye al menos una cara;
obtener una imagen bidimensional expandida que incluya la imagen bidimensional y una región de expansión predeterminada; y
codificación de datos de la imagen bidimensional expandida en un caudal de bits en el que se codifica la imagen de 360 grados,
caracterizado en que
el tamaño de la región de expansión se codifica basándose en la primera información sobre la anchura de la región de expansión en el lado izquierdo de la cara y en la segunda información sobre la anchura de la región de expansión en el lado derecho de la cara; tanto la primera información sobre la anchura como la segunda información sobre la anchura se codifican en el caudal de bits,
los valores de muestra de la región de expansión se determinan de acuerdo con un procedimiento de relleno que utiliza valores de muestra de la cara, seleccionándose el procedimiento de relleno entre una pluralidad de procedimientos de relleno, y
el procedimiento de relleno para un lado de la cara se determina de forma diferente al procedimiento de relleno para el otro lado de la cara.
ES21208051T 2016-10-04 2017-10-10 Procedimiento y aparato de codificación/decodificación de datos de imagen Active ES2988737T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20160127893 2016-10-04
KR20160129391 2016-10-06
KR20170090621 2017-07-17

Publications (1)

Publication Number Publication Date
ES2988737T3 true ES2988737T3 (es) 2024-11-21

Family

ID=61831472

Family Applications (4)

Application Number Title Priority Date Filing Date
ES21208051T Active ES2988737T3 (es) 2016-10-04 2017-10-10 Procedimiento y aparato de codificación/decodificación de datos de imagen
ES24174061T Active ES3063312T3 (en) 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus
ES24197483T Active ES3063576T3 (en) 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus
ES24197441T Active ES3063575T3 (en) 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus

Family Applications After (3)

Application Number Title Priority Date Filing Date
ES24174061T Active ES3063312T3 (en) 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus
ES24197483T Active ES3063576T3 (en) 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus
ES24197441T Active ES3063575T3 (en) 2016-10-04 2017-10-10 Image data encoding/decoding method and apparatus

Country Status (18)

Country Link
US (76) US20190230285A1 (es)
EP (41) EP4432670A3 (es)
JP (1) JP7826391B2 (es)
KR (13) KR20260019016A (es)
CN (51) CN120980224A (es)
AU (62) AU2017340007B2 (es)
DK (4) DK4507308T3 (es)
ES (4) ES2988737T3 (es)
FI (4) FI4510587T3 (es)
HR (2) HRP20241313T1 (es)
HU (1) HUE068266T2 (es)
LT (2) LT3975559T (es)
PL (3) PL4387232T3 (es)
PT (4) PT4387232T (es)
RS (2) RS67765B1 (es)
SI (2) SI3975559T1 (es)
SM (2) SMT202400379T1 (es)
WO (1) WO2018066988A1 (es)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2988737T3 (es) 2016-10-04 2024-11-21 B1 Institute Image Technology Inc Procedimiento y aparato de codificación/decodificación de datos de imagen
CN118945345A (zh) 2016-10-04 2024-11-12 有限公司B1影像技术研究所 图像编码/解码方法、介质和传输比特流的方法
KR20260027320A (ko) 2016-10-04 2026-02-27 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US10861359B2 (en) * 2017-05-16 2020-12-08 Texas Instruments Incorporated Surround-view with seamless transition to 3D view system and method
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US20230308626A1 (en) * 2017-07-17 2023-09-28 B1 Institute Of Image Technology, Inc. Image data encoding/decoding method and apparatus
WO2019156141A1 (ja) 2018-02-08 2019-08-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 三次元データ符号化方法、三次元データ復号方法、三次元データ符号化装置、及び三次元データ復号装置
JP7109558B2 (ja) * 2018-02-14 2022-07-29 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 適応型補間フィルタ
PL3782361T3 (pl) 2018-05-31 2023-12-27 Huawei Technologies Co., Ltd. Przestrzennie zmienna transformacja z transformacją typu adaptacyjnego
CN119420945A (zh) 2018-06-11 2025-02-11 Sk电信有限公司 用于帧间预测的装置和用于发送比特流的装置
KR20190140387A (ko) * 2018-06-11 2019-12-19 에스케이텔레콤 주식회사 360도 영상의 인터 예측 방법 및 이를 이용한 영상 복호화 장치
WO2020007554A1 (en) * 2018-07-05 2020-01-09 Telefonaktiebolaget Lm Ericsson (Publ) Compact description of region-wise packing information
EP3606032B1 (en) * 2018-07-30 2020-10-21 Axis AB Method and camera system combining views from plurality of cameras
JP7290713B2 (ja) * 2018-08-28 2023-06-13 鴻穎創新有限公司 ビデオデータをコーディングする装置及び方法
KR20240145069A (ko) * 2018-09-11 2024-10-04 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 3차원 데이터 부호화 방법, 3차원 데이터 복호 방법, 3차원 데이터 부호화 장치, 및 3차원 데이터 복호 장치
EP3855740A4 (en) 2018-09-19 2022-09-28 Electronics and Telecommunications Research Institute METHOD AND DEVICE FOR ENCODING/DECODING IMAGES AND AND RECORDING MEDIUM WITH RECORDED BITSTREAM
KR20200056951A (ko) 2018-11-15 2020-05-25 한국전자통신연구원 지역 기반 화면간/화면내 예측 기술을 이용한 부호화/복호화 방법 및 장치
US10778977B2 (en) 2018-12-05 2020-09-15 Qualcomm Incorporated Triangle motion information for video coding
EP3868103A4 (en) * 2018-12-28 2022-03-23 Huawei Technologies Co., Ltd. APPARATUS AND METHODS FOR ENCODING AN IMAGE BY DIVIDING THE SAME INTO SLICES WITH TILES
PL4221213T3 (pl) * 2019-01-09 2024-11-18 Huawei Technologies Co., Ltd. Koder wideo, dekoder wideo i stosowne sposoby
CN113545087A (zh) 2019-03-11 2021-10-22 Oppo广东移动通信有限公司 预测值的确定方法、编码器以及计算机存储介质
US11240534B2 (en) * 2019-04-05 2022-02-01 Qualcomm Incorporated Extended multiple transform selection for video coding
CN110312130B (zh) * 2019-06-25 2021-10-15 浙江大华技术股份有限公司 基于三角模式的帧间预测、视频编码方法及设备
WO2021000277A1 (en) * 2019-07-03 2021-01-07 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for coding, decoding and storage medium
GB2585645B (en) * 2019-07-08 2024-04-17 Toshiba Kk Computer vision method and system
PH12022550201A1 (en) 2019-07-26 2023-01-04 Beijing Bytedance Network Tech Co Ltd Determination of picture partition mode based on block size
WO2021026322A1 (en) 2019-08-06 2021-02-11 Op Solutions Block-based adaptive resolution management
CN114616826B (zh) 2019-08-06 2026-04-28 Op方案有限责任公司 基于帧类型的自适应分辨率管理的隐式标识
MX2022001592A (es) 2019-08-06 2022-03-11 Op Solutions Llc Método de gestión de resolución adaptativa para reajuste de predicción.
CN112434702A (zh) * 2019-08-26 2021-03-02 阿里巴巴集团控股有限公司 图像处理方法、装置、计算机设备、存储介质
WO2021060938A1 (ko) 2019-09-26 2021-04-01 현대자동차주식회사 360도 비디오 가상 경계의 인루프 필터를 제한하는 방법
CN114375580B (zh) * 2019-09-27 2025-07-25 松下电器(美国)知识产权公司 编码装置、解码装置、编码方法、解码方法和存储介质
KR20220092962A (ko) 2019-11-08 2022-07-04 오피 솔루션즈, 엘엘씨 적응적 크롭핑을 위한 방법들 및 시스템들
US12143601B2 (en) * 2019-12-05 2024-11-12 Hfi Innovation Inc. Specifying layout in video pictures
CN110784713B (zh) * 2019-12-14 2022-02-22 杭州当虹科技股份有限公司 一种可变有效图像尺寸的编码及解码方法
WO2021127118A1 (en) * 2019-12-17 2021-06-24 Alibaba Group Holding Limited Methods for performing wrap-around motion compensation
US11277626B2 (en) 2020-02-21 2022-03-15 Alibaba Group Holding Limited Region of interest quality controllable video coding techniques
US11388423B2 (en) 2020-03-23 2022-07-12 Alibaba Group Holding Limited Region-of-interest based video encoding
JP7767302B2 (ja) * 2020-04-14 2025-11-11 オーピー ソリューションズ, エルエルシー 参照領域を使用する映像符号化の方法及びシステム
CN113033511B (zh) * 2021-05-21 2021-08-10 中国科学院自动化研究所 一种基于操控解耦身份表示的人脸匿名方法
WO2023241690A1 (en) * 2022-06-16 2023-12-21 Douyin Vision (Beijing) Co., Ltd. Variable-rate neural network based compression
US12501076B2 (en) * 2022-08-26 2025-12-16 Tencent America LLC Systems and methods for warp sample selection and grouping
CN115546086B (zh) * 2022-10-20 2026-01-30 伟光有限公司 图像处理方法、装置、计算机可读存储介质及设备
CN115888110A (zh) * 2022-12-22 2023-04-04 网易(杭州)网络有限公司 一种运动时间预测方法、装置、计算机设备及存储介质
WO2026060701A1 (zh) * 2024-09-23 2026-03-26 Oppo广东移动通信有限公司 环路滤波方法、装置、存储介质及程序产品

Family Cites Families (181)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19648963C1 (de) * 1996-11-26 1998-04-30 Siemens Ag Verfahren zur Bildcodierung eines digitalisierten Bildes, Verfahren zur Bilddecodierung eines digitalisierten Bildes und Anordnung zur Durchführung der Verfahren
SE511514C2 (sv) * 1997-05-13 1999-10-11 Ericsson Telefon Ab L M Förfarande och anordning för bildkompression
KR100285599B1 (ko) * 1998-03-14 2001-04-02 전주범 격행 부호화에서의 움직임 추정을 위한 텍스쳐 패딩 장치 및그 패딩 방법
US6310919B1 (en) * 1998-05-07 2001-10-30 Sarnoff Corporation Method and apparatus for adaptively scaling motion vector information in an information stream decoder
US6590704B1 (en) * 1998-06-29 2003-07-08 Canon Kabushiki Kaisha Multi-eye image sensing apparatus
FR2811112B1 (fr) * 2000-06-28 2003-01-03 France Telecom Procede de codage d'une image source a visualisation adaptative, procede de decodage et decodeur correspondant
FR2818053B1 (fr) * 2000-12-07 2003-01-10 Thomson Multimedia Sa Procede et dispositif de codage pour l'affichage d'un zoom d'une image codee mpeg2
US20020075961A1 (en) 2000-12-19 2002-06-20 Philips Electronics North America Corporaton Frame-type dependent reduced complexity video decoding
US6754400B2 (en) 2001-02-06 2004-06-22 Richard Wilson, Jr. System and method for creation, processing and visualization of omni-directional images
AU2003279015A1 (en) * 2002-09-27 2004-04-19 Videosoft, Inc. Real-time video coding/decoding
US20040081238A1 (en) * 2002-10-25 2004-04-29 Manindra Parhy Asymmetric block shape modes for motion estimation
US7580578B1 (en) * 2003-02-03 2009-08-25 Canon Kabushiki Kaisha Method and device for forming a compressed transcoded digital image signal
JP2005065239A (ja) 2003-07-28 2005-03-10 Matsushita Electric Ind Co Ltd 動画像の復号化装置
EP1667457A4 (en) * 2003-09-16 2011-11-16 Fujitsu Semiconductor Ltd PICTURE PROCESSING DISPLAY DEVICE AND PICTURE PROCESSING DISPLAY METHOD
WO2005057935A2 (en) * 2003-12-09 2005-06-23 Koninklijke Philips Electronics, N.V. Spatial and snr scalable video coding
JP4542447B2 (ja) * 2005-02-18 2010-09-15 株式会社日立製作所 画像の符号化/復号化装置、符号化/復号化プログラム及び符号化/復号化方法
US7852916B2 (en) * 2004-06-27 2010-12-14 Apple Inc. Efficient use of storage in encoding and decoding video data streams
KR100688383B1 (ko) * 2004-08-13 2007-03-02 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
US7623682B2 (en) * 2004-08-13 2009-11-24 Samsung Electronics Co., Ltd. Method and device for motion estimation and compensation for panorama image
KR100700218B1 (ko) * 2004-08-13 2007-03-27 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상을 위해 가상 영상영역을 생성하는 방법 및 장치
US8130827B2 (en) * 2004-08-13 2012-03-06 Samsung Electronics Co., Ltd. Method and apparatus for interpolating a reference pixel in an annular image and encoding/decoding an annular image
KR100677142B1 (ko) * 2004-08-13 2007-02-02 경희대학교 산학협력단 파노라마 영상의 움직임 추정 및 보상
KR100739686B1 (ko) 2004-08-13 2007-07-13 경희대학교 산학협력단 영상 코딩 방법, 코딩 장치, 영상 디코딩 방법 및 디코딩장치
US7876833B2 (en) * 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
CN1870748A (zh) * 2005-04-27 2006-11-29 王云川 因特网协议电视
JP4114885B2 (ja) * 2005-10-31 2008-07-09 松下電器産業株式会社 画像符号化装置、方法、及びプログラム
KR101330630B1 (ko) * 2006-03-13 2013-11-22 삼성전자주식회사 최적인 예측 모드를 적응적으로 적용하여 동영상을부호화하는 방법 및 장치, 동영상을 복호화하는 방법 및장치
JP4377887B2 (ja) * 2006-03-30 2009-12-02 株式会社東芝 映像分割装置
JP5389205B2 (ja) 2006-04-27 2014-01-15 キヤノン株式会社 画像符号化装置、画像符号化方法、プログラム及び記憶媒体
CN101227601B (zh) * 2007-01-15 2011-09-14 飞思卡尔半导体公司 在视频再现中进行几何变换的方法和设备
NZ579036A (en) * 2007-02-14 2012-10-26 Photint Venture Group Inc Video scrambling through relocation of pixel blocks
US8274530B2 (en) * 2007-03-12 2012-09-25 Conversion Works, Inc. Systems and methods for filling occluded information for 2-D to 3-D conversion
TW200837663A (en) * 2007-03-13 2008-09-16 Univ Nat Taiwan Constant picture quality bit rate control system for a multiple-video encoder in single video signal source and the method
KR101488548B1 (ko) * 2007-06-29 2015-02-02 톰슨 라이센싱 비디오 인덱싱 방법, 및 비디오 인덱싱 디바이스
KR20070103347A (ko) * 2007-10-03 2007-10-23 이제성 360도 파노라마 카메라의 영상컨텐츠를 이용한 고해상도광시야각 대형 디스플레이 방법
JP2009100041A (ja) * 2007-10-12 2009-05-07 Toshiba Corp 画像復号装置
US8699562B2 (en) 2008-10-06 2014-04-15 Lg Electronics Inc. Method and an apparatus for processing a video signal with blocks in direct or skip mode
EP2207356A1 (en) * 2008-10-06 2010-07-14 Lg Electronics Inc. Method and apparatus for video coding using large macroblocks
WO2010067668A1 (ja) * 2008-12-08 2010-06-17 シャープ株式会社 画像符号化装置及び画像復号装置
WO2010070897A1 (ja) * 2008-12-16 2010-06-24 パナソニック株式会社 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、プログラム、及び集積回路
CN105007492B (zh) 2009-10-01 2018-02-06 Sk电信有限公司 由视频解码装置执行的视频解码方法
US20120263811A1 (en) 2009-10-12 2012-10-18 Prashant Neminath Patil Herbal compositions improving lactation of farmed livestock
JP5562346B2 (ja) 2009-10-20 2014-07-30 シャープ株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法および動画像復号方法
KR20110061468A (ko) 2009-12-01 2011-06-09 (주)휴맥스 고해상도 영상의 부호화/복호화 방법 및 이를 수행하는 장치
KR101484280B1 (ko) * 2009-12-08 2015-01-20 삼성전자주식회사 임의적인 파티션을 이용한 움직임 예측에 따른 비디오 부호화 방법 및 장치, 임의적인 파티션을 이용한 움직임 보상에 따른 비디오 복호화 방법 및 장치
CN106101717B (zh) * 2010-01-12 2019-07-26 Lg电子株式会社 视频信号的处理方法和设备
RS63059B1 (sr) * 2010-04-13 2022-04-29 Ge Video Compression Llc Kodiranje videa primenom podele sa više stabala na slikama
KR101791078B1 (ko) * 2010-04-16 2017-10-30 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법
LT2945382T (lt) * 2010-04-23 2017-09-11 M&K Holdings Inc. Aparatas, skirtas vaizdo kodavimui
MY191461A (en) * 2010-06-10 2022-06-28 Thomson Licensing Methods and apparatus for determining quantization parameter predictors from a plurality of neighboring quantization parameters
KR101292093B1 (ko) 2010-07-02 2013-08-08 (주)휴맥스 화면내 예측 부호화를 위한 영상 부호화/복호화 장치 및 방법
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
WO2012023817A2 (ko) * 2010-08-18 2012-02-23 에스케이텔레콤 주식회사 영상 부호화/복호화 장치 및 방법, 및 참조픽처 인덱싱 장치 및 방법
US9378185B2 (en) 2010-09-30 2016-06-28 Texas Instruments Incorporated Transform and quantization architecture for video coding and decoding
JP5485851B2 (ja) * 2010-09-30 2014-05-07 日本電信電話株式会社 映像符号化方法,映像復号方法,映像符号化装置,映像復号装置およびそれらのプログラム
EP2606646A1 (en) * 2010-10-01 2013-06-26 General Instrument Corporation Coding and decoding utilizing picture boundary padding in flexible partitioning
US8787459B2 (en) * 2010-11-09 2014-07-22 Sony Computer Entertainment Inc. Video coding methods and apparatus
CN101990104A (zh) * 2010-11-17 2011-03-23 中兴通讯股份有限公司 视频图像编码方法及装置
CN107071460B (zh) * 2010-12-14 2020-03-06 M&K控股株式会社 用于编码运动画面的设备
US20120170648A1 (en) * 2011-01-05 2012-07-05 Qualcomm Incorporated Frame splitting in video coding
CN104811711B (zh) 2011-01-06 2019-02-15 三星电子株式会社 视频的编码方法和装置及视频的解码方法和装置
US9049452B2 (en) * 2011-01-25 2015-06-02 Mediatek Singapore Pte. Ltd. Method and apparatus for compressing coding unit in high efficiency video coding
MY169660A (en) * 2011-02-10 2019-04-26 Velos Media Int Ltd Image processing device and image processing method
KR101164365B1 (ko) 2011-03-31 2012-07-09 박원일 차량용 영상 모니터링 장치의 4채널 화면 분할 방법
CN107623857B (zh) * 2011-04-12 2021-01-05 韩国电子通信研究院 视频编码/解码方法、设备以及生成和存储比特流的方法
US8750634B2 (en) * 2011-05-05 2014-06-10 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
US9532058B2 (en) 2011-06-03 2016-12-27 Qualcomm Incorporated Intra prediction mode coding with directional partitions
EP2533537A1 (en) * 2011-06-10 2012-12-12 Panasonic Corporation Transmission of picture size for image or video coding
JP2014168107A (ja) * 2011-06-24 2014-09-11 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
EP2728878B1 (en) * 2011-06-30 2020-02-19 Sun Patent Trust Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
US9807426B2 (en) 2011-07-01 2017-10-31 Qualcomm Incorporated Applying non-square transforms to video data
US20140126645A1 (en) * 2011-07-01 2014-05-08 Electronics And Telecommunications Research Institute Video encoding and decoding methods and device using same
CN103733628A (zh) * 2011-08-08 2014-04-16 摩托罗拉移动有限责任公司 变换单元分割的残差树结构
US9787982B2 (en) * 2011-09-12 2017-10-10 Qualcomm Incorporated Non-square transform units and prediction units in video coding
US10075733B2 (en) * 2011-09-29 2018-09-11 Sharp Kabushiki Kaisha Image decoding device, image decoding method, and image encoding device
JP5972888B2 (ja) * 2011-09-29 2016-08-17 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
JP2013098711A (ja) 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
US9807401B2 (en) 2011-11-01 2017-10-31 Qualcomm Incorporated Transform unit partitioning for chroma components in video coding
JP2013118424A (ja) * 2011-11-04 2013-06-13 Sharp Corp 画像復号装置、画像符号化装置、および符号化データのデータ構造
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
BR112014011123B1 (pt) * 2011-11-08 2022-07-12 Kt Corporation Método de decodificação de vídeo realizado por um aparelho de decodificação
KR20140092910A (ko) * 2011-11-14 2014-07-24 도쿠리츠 교세이 호진 죠호 츠신 켄큐 키코 입체 영상 부호화 장치, 입체 영상 복호화 장치, 입체 영상 부호화 방법, 입체 영상 복호화 방법, 입체 영상 부호화 프로그램 및 입체 영상 복호화 프로그램
US9628789B2 (en) * 2011-11-18 2017-04-18 Qualcomm Incorporated Reference mode selection in intra mode coding
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
US20130128971A1 (en) * 2011-11-23 2013-05-23 Qualcomm Incorporated Transforms in video coding
US20130163664A1 (en) * 2011-12-22 2013-06-27 Qualcomm Incorporated Unified partition mode table for intra-mode coding
CN107682704B (zh) * 2011-12-23 2020-04-17 韩国电子通信研究院 图像解码方法、图像编码方法和记录介质
US10805617B2 (en) 2012-01-19 2020-10-13 Texas Instruments Incorporated Scalable prediction type coding
SI2811745T1 (sl) * 2012-01-30 2018-12-31 Samsung Electronics Co., Ltd Postopek in naprava za kodiranje in dekodiranje videa na podlagi hierarhičnih podatkov, ki vsebuje napovedovanje kvantizacijskega parametra
EP2839434A4 (en) * 2012-04-19 2015-12-16 Thomson Licensing METHOD AND DEVICE FOR 3D MODEL COMPRESSION BASED ON REPETITIVE STRUCTURE DISCOVERY
JP2013229674A (ja) 2012-04-24 2013-11-07 Sharp Corp 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム、及び画像復号プログラム
JP6376719B2 (ja) * 2012-06-29 2018-08-22 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
CN104350745B (zh) * 2012-07-04 2018-12-11 英特尔公司 基于全景的3d视频译码
US9264713B2 (en) * 2012-07-11 2016-02-16 Qualcomm Incorporated Rotation of prediction residual blocks in video coding with transform skipping
US9549182B2 (en) * 2012-07-11 2017-01-17 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
KR20140019221A (ko) * 2012-07-17 2014-02-14 한국전자통신연구원 인루프 필터링 방법 및 이를 이용하는 장치
WO2014030920A1 (ko) * 2012-08-21 2014-02-27 삼성전자 주식회사 트리 구조의 부호화 단위에 기초한 예측 정보의 인터-레이어 비디오 부호화 방법 및 그 장치, 트리 구조의 부호화 단위에 기초한 예측 정보의 인터-레이어 비디오 복호화 방법 및 그 장치
US9319684B2 (en) * 2012-08-21 2016-04-19 Qualcomm Incorporated Alternative transform in scalable video coding
JP6787667B2 (ja) * 2012-09-21 2020-11-18 ノキア テクノロジーズ オサケユイチア ビデオコーディングのための方法と装置
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
CN103780919B (zh) * 2012-10-23 2018-05-08 中兴通讯股份有限公司 一种实现多媒体播放的方法、移动终端及系统
EP2920969A4 (en) * 2012-11-13 2016-07-13 Intel Corp VIDEO CODEC ARCHITECTURE FOR VIDEOS OF THE NEXT GENERATION
KR20140087971A (ko) * 2012-12-26 2014-07-09 한국전자통신연구원 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치
CN103079067B (zh) * 2013-01-09 2016-03-09 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
WO2014120368A1 (en) * 2013-01-30 2014-08-07 Intel Corporation Content adaptive entropy coding for next generation video
US10284842B2 (en) 2013-03-05 2019-05-07 Qualcomm Incorporated Inter-layer reference picture construction for spatial scalability with different aspect ratios
JP5719401B2 (ja) * 2013-04-02 2015-05-20 日本電信電話株式会社 ブロックサイズ決定方法、映像符号化装置、及びプログラム
KR101835316B1 (ko) 2013-04-02 2018-03-08 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
JP6269813B2 (ja) * 2013-04-08 2018-01-31 ソニー株式会社 Shvcでの注目領域スケーラビリティ
US9565437B2 (en) 2013-04-08 2017-02-07 Qualcomm Incorporated Parameter set designs for video coding extensions
WO2014176362A1 (en) * 2013-04-23 2014-10-30 Qualcomm Incorporated Repositioning of prediction residual blocks in video coding
US10009621B2 (en) * 2013-05-31 2018-06-26 Qualcomm Incorporated Advanced depth inter coding based on disparity of depth blocks
US11323747B2 (en) * 2013-06-05 2022-05-03 Qualcomm Incorporated Residual differential pulse code modulation (DPCM) extensions and harmonization with transform skip, rotation, and scans
JP6224930B2 (ja) 2013-07-10 2017-11-01 シャープ株式会社 画像復号装置、画像復号方法および画像符号化装置
GB2516224A (en) 2013-07-11 2015-01-21 Nokia Corp An apparatus, a method and a computer program for video coding and decoding
JP6614472B2 (ja) * 2013-09-30 2019-12-04 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2015053330A1 (ja) * 2013-10-10 2015-04-16 シャープ株式会社 画像復号装置
FR3014278A1 (fr) * 2013-11-29 2015-06-05 Orange Procede de codage et de decodage d'images, dispositif de codage et de decodage d'images et programmes d'ordinateur correspondants
KR20150068299A (ko) * 2013-12-09 2015-06-19 씨제이씨지브이 주식회사 다면 영상 생성 방법 및 시스템
KR101609427B1 (ko) * 2013-12-17 2016-04-20 세종대학교산학협력단 영상의 복호화/부호화 방법 및 장치
KR101789954B1 (ko) * 2013-12-27 2017-10-25 인텔 코포레이션 차세대 비디오 코딩을 위한 콘텐츠 적응적 이득 보상된 예측
WO2015100732A1 (en) * 2014-01-03 2015-07-09 Mediatek Singapore Pte. Ltd. A padding method for intra block copying
WO2015104963A1 (ja) 2014-01-09 2015-07-16 株式会社日立国際電気 画像処理装置及び動画像伝送方法
CN106105208B (zh) * 2014-01-09 2020-04-07 三星电子株式会社 可伸缩视频编码/解码方法和设备
US9906804B2 (en) * 2014-01-16 2018-02-27 Qualcomm Incorporated Reference layer sample position derivation for scalable video coding
US20150237351A1 (en) * 2014-02-18 2015-08-20 Penne Lee Techniques for inclusion of region of interest indications in compressed video data
CN104935945B (zh) * 2014-03-18 2019-11-08 上海天荷电子信息有限公司 扩展参考像素样值集的图像编码或解码方法
US10477232B2 (en) 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
CN106170980A (zh) * 2014-04-25 2016-11-30 夏普株式会社 图像解码装置、图像编码装置以及编码数据变换装置
US9443281B2 (en) * 2014-06-27 2016-09-13 Intel Corporation Pixel-based warping and scaling accelerator
KR101663668B1 (ko) * 2014-06-27 2016-10-07 삼성전자주식회사 영상 패딩영역의 비디오 복호화 및 부호화 장치 및 방법
US10204658B2 (en) 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
CN105392008B (zh) * 2014-08-22 2018-09-25 中兴通讯股份有限公司 一种预测编、解码方法和相应的编、解码器和电子设备
KR20160032909A (ko) * 2014-09-17 2016-03-25 한화테크윈 주식회사 멀티 영상 전처리 장치 및 방법
US10091530B2 (en) 2014-10-01 2018-10-02 Qualcomm Incorporated Pipelined intra-prediction hardware architecture for video coding
WO2016056822A1 (ko) * 2014-10-08 2016-04-14 엘지전자 주식회사 3d 비디오 코딩 방법 및 장치
CN108307192A (zh) 2014-10-11 2018-07-20 华为技术有限公司 预测块的划分方法、编码设备和解码设备
US10104361B2 (en) * 2014-11-14 2018-10-16 Samsung Electronics Co., Ltd. Coding of 360 degree videos using region adaptive smoothing
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US10070130B2 (en) * 2015-01-30 2018-09-04 Qualcomm Incorporated Flexible partitioning of prediction units
EP3266212A4 (en) * 2015-03-20 2018-08-01 MediaTek Singapore Pte Ltd. Methods of palette coding with inter-prediction in video coding
CN108293136B (zh) * 2015-09-23 2022-12-30 诺基亚技术有限公司 编码360度全景视频的方法、装置和计算机可读存储介质
US10218975B2 (en) 2015-09-29 2019-02-26 Qualcomm Incorporated Transform precision manipulation in video coding
US20170150176A1 (en) * 2015-11-25 2017-05-25 Qualcomm Incorporated Linear-model prediction with non-square prediction units in video coding
US10212444B2 (en) * 2016-01-15 2019-02-19 Qualcomm Incorporated Multi-type-tree framework for video coding
CN105554506B (zh) * 2016-01-19 2018-05-29 北京大学深圳研究生院 基于多方式边界填充的全景视频编码、解码方法和装置
US20170214937A1 (en) 2016-01-22 2017-07-27 Mediatek Inc. Apparatus of Inter Prediction for Spherical Images and Cubic Images
US20170244964A1 (en) * 2016-02-23 2017-08-24 Mediatek Inc. Method and Apparatus of Flexible Block Partition for Video Coding
US11223852B2 (en) * 2016-03-21 2022-01-11 Qualcomm Incorporated Coding video data using a two-level multi-type-tree framework
US10623774B2 (en) * 2016-03-22 2020-04-14 Qualcomm Incorporated Constrained block-level optimization and signaling for video coding tools
FI20165256A7 (fi) * 2016-03-24 2017-09-25 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodaukseen ja -dekoodaukseen
EP3453181B1 (en) * 2016-05-04 2025-10-29 Sharp Kabushiki Kaisha Methods and apparatuses for coding transform data
US11184624B2 (en) * 2016-05-19 2021-11-23 Qualcomm Incorporated Regional random access in pictures
US11019257B2 (en) * 2016-05-19 2021-05-25 Avago Technologies International Sales Pte. Limited 360 degree video capture and playback
EP3466079B1 (en) 2016-05-24 2023-07-12 Nokia Technologies Oy Method and an apparatus and a computer program for encoding media content
US10565463B2 (en) * 2016-05-24 2020-02-18 Qualcomm Incorporated Advanced signaling of a most-interested region in an image
US20170353737A1 (en) 2016-06-07 2017-12-07 Mediatek Inc. Method and Apparatus of Boundary Padding for VR Video Processing
KR20180000279A (ko) * 2016-06-21 2018-01-02 주식회사 픽스트리 부호화 장치 및 방법, 복호화 장치 및 방법
FI20165547A1 (fi) 2016-06-30 2018-12-31 Nokia Technologies Oy Laitteisto, menetelmä ja tietokoneohjelma videokoodausta ja videokoodauksen purkua varten
KR102882879B1 (ko) * 2016-07-08 2025-11-06 인터디지털 브이씨 홀딩스 인코포레이티드 지오메트리 투영을 이용한 360도 비디오 코딩
US10375371B2 (en) * 2016-07-15 2019-08-06 Mediatek Inc. Method and apparatus for filtering 360-degree video boundaries
US10771791B2 (en) * 2016-08-08 2020-09-08 Mediatek Inc. View-independent decoding for omnidirectional video
US20180054613A1 (en) * 2016-08-22 2018-02-22 Mediatek Inc. Video encoding method and apparatus with in-loop filtering process not applied to reconstructed blocks located at image content discontinuity edge and associated video decoding method and apparatus
US10609423B2 (en) * 2016-09-07 2020-03-31 Qualcomm Incorporated Tree-type coding for video coding
CN118945345A (zh) * 2016-10-04 2024-11-12 有限公司B1影像技术研究所 图像编码/解码方法、介质和传输比特流的方法
JP7224280B6 (ja) 2016-10-04 2026-02-17 ビー1、インスティテュート、オブ、イメージ、テクノロジー、インコーポレイテッド 画像データ符号化/復号化方法及び装置
ES2988737T3 (es) 2016-10-04 2024-11-21 B1 Institute Image Technology Inc Procedimiento y aparato de codificación/decodificación de datos de imagen
KR20250004171A (ko) * 2016-10-04 2025-01-07 주식회사 비원영상기술연구소 영상 데이터 부호화/복호화 방법 및 장치
KR102840589B1 (ko) * 2016-10-17 2025-07-30 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
KR102498598B1 (ko) * 2016-10-18 2023-02-14 삼성전자주식회사 영상 처리 장치 및 그 영상 처리 방법
KR101808327B1 (ko) * 2017-03-08 2017-12-13 광운대학교 산학협력단 영상 코덱에서 패딩을 이용한 영상 부/복호화 방법 및 장치
EP3383043A1 (en) * 2017-03-27 2018-10-03 Thomson Licensing Methods and apparatus for picture encoding and decoding
CN110999291B (zh) * 2017-08-03 2023-09-26 夏普株式会社 用于划分视频数据的帧间预测片段中的视频块的系统和方法
WO2019059679A1 (ko) * 2017-09-20 2019-03-28 주식회사 케이티 비디오 신호 처리 방법 및 장치
WO2020138391A1 (ja) 2018-12-28 2020-07-02 ナブテスコオートモーティブ株式会社 空気供給システム
JP7761260B2 (ja) 2021-10-29 2025-10-28 不動技研株式会社 組立ラック
JP7593658B2 (ja) 2022-06-13 2024-12-03 灰孝小野田レミコン株式会社 再生骨材
JP2023181961A (ja) 2022-06-13 2023-12-25 株式会社あかつき 情報処理システム、情報処理装置、情報処理プログラム及び情報処理方法
JP7345032B1 (ja) 2022-09-16 2023-09-14 ラクテン アジア プライベート リミテッド 与信審査装置、方法及びプログラム
JP7677295B2 (ja) 2022-09-16 2025-05-15 トヨタ自動車株式会社 造粒粒子

Also Published As

Publication number Publication date
EP4432662A2 (en) 2024-09-18
EP4436181A3 (en) 2024-11-27
US20260122356A1 (en) 2026-04-30
US20240163561A1 (en) 2024-05-16
AU2022228372A1 (en) 2022-10-06
CN114531592A (zh) 2022-05-24
AU2024204670B2 (en) 2025-12-04
US20220060621A1 (en) 2022-02-24
AU2024203652A1 (en) 2024-06-20
FI3975559T3 (fi) 2024-09-13
HUE068266T2 (hu) 2024-12-28
CN120980213A (zh) 2025-11-18
EP4432664A2 (en) 2024-09-18
CN110024408B (zh) 2022-06-24
AU2025205604A1 (en) 2025-08-07
EP4589955A3 (en) 2025-10-22
CN114531593A (zh) 2022-05-24
AU2025203560A1 (en) 2025-06-05
RS66025B1 (sr) 2024-11-29
US11539881B2 (en) 2022-12-27
CN114245119A (zh) 2022-03-25
CN121037557A (zh) 2025-11-28
AU2026200871A1 (en) 2026-02-26
CN114245119B (zh) 2022-11-22
CN120980216A (zh) 2025-11-18
EP3800891A1 (en) 2021-04-07
US20250168513A1 (en) 2025-05-22
US20220385812A1 (en) 2022-12-01
AU2025203573A9 (en) 2026-03-12
AU2026202421A1 (en) 2026-04-16
CN114531590A (zh) 2022-05-24
AU2024203652B2 (en) 2025-10-30
AU2025203561A1 (en) 2025-06-05
EP4432669A3 (en) 2024-11-20
US20250193529A1 (en) 2025-06-12
AU2024202565B2 (en) 2025-08-28
AU2025203567A1 (en) 2025-06-05
US20230254587A1 (en) 2023-08-10
EP4432667A3 (en) 2024-11-20
US20240073534A1 (en) 2024-02-29
CN121037556A (zh) 2025-11-28
AU2022229691A1 (en) 2022-10-06
AU2025205606A1 (en) 2025-08-07
US20230082621A1 (en) 2023-03-16
EP4510586B1 (en) 2026-04-01
EP4589955A2 (en) 2025-07-23
CN120915939A (zh) 2025-11-07
US12262122B2 (en) 2025-03-25
US20260095666A1 (en) 2026-04-02
AU2024202566A1 (en) 2024-05-09
EP4447452A3 (en) 2024-11-27
EP4492794A3 (en) 2025-04-02
CN114531591B (zh) 2023-01-03
US20260095661A1 (en) 2026-04-02
AU2025205603A1 (en) 2025-08-07
US20240406565A1 (en) 2024-12-05
US20240406567A1 (en) 2024-12-05
JP2024157019A (ja) 2024-11-06
EP4436182A3 (en) 2024-11-20
AU2017340007A1 (en) 2019-05-30
CN120980214A (zh) 2025-11-18
AU2024202565A1 (en) 2024-05-09
AU2024278175A1 (en) 2025-01-02
EP4432668A3 (en) 2024-11-20
US20260095668A1 (en) 2026-04-02
US20260095664A1 (en) 2026-04-02
CN114245120B (zh) 2023-03-21
US20250330715A1 (en) 2025-10-23
EP3975559A1 (en) 2022-03-30
US20260095658A1 (en) 2026-04-02
KR20190053256A (ko) 2019-05-17
US11533429B2 (en) 2022-12-20
US20260006335A1 (en) 2026-01-01
US20250097583A1 (en) 2025-03-20
SI4387232T1 (sl) 2026-03-31
AU2024266791A1 (en) 2024-12-12
AU2023258329B2 (en) 2025-04-10
CN114143550A (zh) 2022-03-04
AU2022228227A1 (en) 2022-10-06
CN120980221A (zh) 2025-11-18
EP4432668A2 (en) 2024-09-18
CN120980233A (zh) 2025-11-18
CN120980220A (zh) 2025-11-18
CN115022624A (zh) 2022-09-06
US12096127B2 (en) 2024-09-17
EP4447454A2 (en) 2024-10-16
AU2025203567A9 (en) 2026-03-12
US20240348929A1 (en) 2024-10-17
AU2022228228B2 (en) 2023-10-19
EP4485936A3 (en) 2025-04-02
CN114143550B (zh) 2022-11-29
AU2024204676A1 (en) 2024-07-25
EP4436181A2 (en) 2024-09-25
AU2025203570A9 (en) 2026-03-12
AU2025203565A1 (en) 2025-06-05
US20250097584A1 (en) 2025-03-20
LT3975559T (lt) 2024-11-11
SI3975559T1 (sl) 2024-11-29
EP4387232A3 (en) 2024-08-21
KR20240051312A (ko) 2024-04-19
CN110024408A (zh) 2019-07-16
AU2026200873A1 (en) 2026-02-26
AU2023214315A1 (en) 2023-08-31
AU2023214311B2 (en) 2024-02-22
AU2022229691B2 (en) 2023-10-19
US20240155243A1 (en) 2024-05-09
AU2024203648A1 (en) 2024-06-20
AU2025203562A9 (en) 2026-03-12
CN120980215A (zh) 2025-11-18
PL4507308T3 (pl) 2026-04-20
US20190230285A1 (en) 2019-07-25
US20260095659A1 (en) 2026-04-02
US20250330714A1 (en) 2025-10-23
WO2018066988A1 (ko) 2018-04-12
AU2024202570A1 (en) 2024-05-09
AU2023258327A1 (en) 2023-11-16
CN120980227A (zh) 2025-11-18
US20230328385A1 (en) 2023-10-12
SMT202600095T1 (it) 2026-03-09
SMT202400379T1 (it) 2024-11-15
EP4432663A2 (en) 2024-09-18
AU2026202422A1 (en) 2026-04-16
EP4637157A2 (en) 2025-10-22
AU2024203643A1 (en) 2024-06-20
PL4387232T3 (pl) 2026-04-20
DK4507308T3 (da) 2026-02-23
EP4447453A2 (en) 2024-10-16
AU2024203650B2 (en) 2025-10-30
US20240334064A1 (en) 2024-10-03
US12513405B2 (en) 2025-12-30
US11706531B2 (en) 2023-07-18
EP4432667A2 (en) 2024-09-18
EP4507308B1 (en) 2026-01-21
US12615440B2 (en) 2026-04-28
AU2025205601A1 (en) 2025-08-07
CN120835139A (zh) 2025-10-24
US20240107171A1 (en) 2024-03-28
EP4637156A2 (en) 2025-10-22
US20220394179A1 (en) 2022-12-08
US12483794B2 (en) 2025-11-25
EP4290864A2 (en) 2023-12-13
EP4637158A3 (en) 2026-01-07
AU2025203566A1 (en) 2025-06-05
EP4601292A3 (en) 2025-10-22
US12506969B2 (en) 2025-12-23
AU2026201698A1 (en) 2026-03-26
EP4432669A2 (en) 2024-09-18
FI4387232T3 (fi) 2026-02-24
KR20260019017A (ko) 2026-02-09
EP4507308A1 (en) 2025-02-12
US20240357238A1 (en) 2024-10-24
EP4701194A3 (en) 2026-04-01
EP4637156A3 (en) 2025-12-31
EP4601293A2 (en) 2025-08-13
ES3063576T3 (en) 2026-04-17
CN120812247A (zh) 2025-10-17
CN121037558A (zh) 2025-11-28
EP4701194A2 (en) 2026-02-25
US20240334063A1 (en) 2024-10-03
EP4637159A2 (en) 2025-10-22
AU2024202567A1 (en) 2024-05-09
US11910094B2 (en) 2024-02-20
US20260095667A1 (en) 2026-04-02
US20230328384A1 (en) 2023-10-12
AU2023214311A1 (en) 2023-08-31
AU2024204675A1 (en) 2024-07-25
AU2024201785A1 (en) 2024-04-04
US20250193527A1 (en) 2025-06-12
DK4387232T3 (da) 2026-02-09
AU2023258329A1 (en) 2023-11-23
EP3525468A1 (en) 2019-08-14
US20240340539A1 (en) 2024-10-10
KR20240051313A (ko) 2024-04-19
CN120881272A (zh) 2025-10-31
CN114245118B (zh) 2023-03-28
EP4589954A3 (en) 2025-10-22
LT4387232T (lt) 2026-02-10
CN115022622A (zh) 2022-09-06
CN120980217A (zh) 2025-11-18
CN120980226A (zh) 2025-11-18
KR20240051314A (ko) 2024-04-19
US20260095671A1 (en) 2026-04-02
AU2024201779A1 (en) 2024-04-04
JP7826391B2 (ja) 2026-03-09
US20260095662A1 (en) 2026-04-02
PL3975559T3 (pl) 2024-12-23
EP4432665A2 (en) 2024-09-18
AU2024201786A1 (en) 2024-04-04
AU2025203562A1 (en) 2025-06-05
AU2023258327B2 (en) 2025-02-13
US12015854B2 (en) 2024-06-18
AU2024201786B2 (en) 2025-08-28
CN114257809B (zh) 2023-03-24
EP3975559B1 (en) 2024-08-14
FI4507308T3 (fi) 2026-03-11
AU2023214314B2 (en) 2024-02-29
US20250330713A1 (en) 2025-10-23
CN120825573A (zh) 2025-10-21
US20240334062A1 (en) 2024-10-03
CN120980218A (zh) 2025-11-18
ES3063312T3 (en) 2026-04-16
EP4432664A3 (en) 2024-11-20
AU2025205385A1 (en) 2025-07-31
CN120812245A (zh) 2025-10-17
US12389123B2 (en) 2025-08-12
US12556825B2 (en) 2026-02-17
US20250338022A1 (en) 2025-10-30
CN120980216B (zh) 2026-04-21
AU2024202568B2 (en) 2025-08-28
AU2025203573A1 (en) 2025-06-05
CN114245120A (zh) 2022-03-25
KR102413345B1 (ko) 2022-06-27
US12489979B2 (en) 2025-12-02
AU2025203558A1 (en) 2025-06-05
AU2023214314A1 (en) 2023-08-31
AU2024204670A1 (en) 2024-07-25
CN115022625A (zh) 2022-09-06
AU2024213157A1 (en) 2024-09-12
AU2021266245A1 (en) 2021-12-02
AU2024204676B2 (en) 2025-12-04
US20250338023A1 (en) 2025-10-30
US20250392823A1 (en) 2025-12-25
CN120825573B (zh) 2026-03-03
EP4387232B1 (en) 2025-12-10
EP4492794A2 (en) 2025-01-15
AU2024202566B2 (en) 2025-08-28
PT3975559T (pt) 2024-09-25
EP4589953A2 (en) 2025-07-23
KR20240051311A (ko) 2024-04-19
US20210084222A1 (en) 2021-03-18
EP4510587A1 (en) 2025-02-19
US20240406568A1 (en) 2024-12-05
KR20260021084A (ko) 2026-02-12
US20240406570A1 (en) 2024-12-05
KR20200060546A (ko) 2020-05-29
US20230412927A1 (en) 2023-12-21
US20250330716A1 (en) 2025-10-23
AU2024202570B2 (en) 2025-08-28
EP4485936A2 (en) 2025-01-01
FI4510587T3 (fi) 2026-03-05
EP4436180A2 (en) 2024-09-25
EP4432662A3 (en) 2024-11-20
AU2026202437A1 (en) 2026-04-16
US20240430576A1 (en) 2024-12-26
AU2024203636A1 (en) 2024-06-20
US20260095670A1 (en) 2026-04-02
KR20260019016A (ko) 2026-02-09
EP4432666A2 (en) 2024-09-18
HRP20241313T1 (hr) 2024-12-20
US20210218889A1 (en) 2021-07-15
EP4601292A2 (en) 2025-08-13
AU2024204674A1 (en) 2024-07-25
ES3063575T3 (en) 2026-04-17
HRP20260082T1 (hr) 2026-03-13
US20230388647A1 (en) 2023-11-30
US12256149B2 (en) 2025-03-18
US20240073535A1 (en) 2024-02-29
US12506968B2 (en) 2025-12-23
CN120980229A (zh) 2025-11-18
US20260006337A1 (en) 2026-01-01
AU2024202568A1 (en) 2024-05-09
CN120980231A (zh) 2025-11-18
AU2023214313A1 (en) 2023-08-31
US20250330717A1 (en) 2025-10-23
PT4510587T (pt) 2026-03-09
EP4489395A1 (en) 2025-01-08
EP4589954A2 (en) 2025-07-23
EP4447453A3 (en) 2024-11-27
AU2023214310B2 (en) 2024-02-22
EP4456536A3 (en) 2024-11-27
EP4447452A2 (en) 2024-10-16
CN114531589B (zh) 2023-03-24
CN120980225A (zh) 2025-11-18
CN120980223A (zh) 2025-11-18
US20260095660A1 (en) 2026-04-02
CN120812248A (zh) 2025-10-17
CN120980222A (zh) 2025-11-18
AU2026200870A1 (en) 2026-02-26
AU2023214310A1 (en) 2023-08-31
KR102801971B1 (ko) 2025-04-30
AU2024201779B2 (en) 2025-08-07
KR102656936B1 (ko) 2024-04-12
EP4432670A2 (en) 2024-09-18
EP4589956A2 (en) 2025-07-23
AU2021266245B2 (en) 2022-08-11
AU2024204675B2 (en) 2025-12-04
CN120980224A (zh) 2025-11-18
US20240406566A1 (en) 2024-12-05
US20250097586A1 (en) 2025-03-20
EP4436180A3 (en) 2024-11-20
AU2025205381A1 (en) 2025-07-31
US20220385813A1 (en) 2022-12-01
US20250193526A1 (en) 2025-06-12
AU2024203636B2 (en) 2025-10-23
US20260032349A1 (en) 2026-01-29
EP4601293A3 (en) 2025-10-22
CN120980219A (zh) 2025-11-18
AU2024203643B2 (en) 2025-10-23
EP4601295A2 (en) 2025-08-13
US20250338021A1 (en) 2025-10-30
US11202005B2 (en) 2021-12-14
US12108158B2 (en) 2024-10-01
AU2025203565A9 (en) 2026-03-12
CN114531593B (zh) 2023-03-21
CN120980230A (zh) 2025-11-18
US20240365007A1 (en) 2024-10-31
EP4432670A3 (en) 2024-11-20
CN120980228A (zh) 2025-11-18
US11606499B2 (en) 2023-03-14
US12212854B2 (en) 2025-01-28
EP4224854A1 (en) 2023-08-09
US12464244B2 (en) 2025-11-04
EP4432665A3 (en) 2024-11-20
PT4507308T (pt) 2026-03-10
AU2025203560A9 (en) 2026-03-12
AU2024201782A1 (en) 2024-04-04
AU2025203570A1 (en) 2025-06-05
CN114531591A (zh) 2022-05-24
AU2023214313B2 (en) 2024-02-29
US20260025587A1 (en) 2026-01-22
US12520046B2 (en) 2026-01-06
DK4510587T3 (da) 2026-02-16
CN120980234A (zh) 2025-11-18
EP4637158A2 (en) 2025-10-22
AU2025205382A1 (en) 2025-07-31
US11792525B2 (en) 2023-10-17
US11843866B2 (en) 2023-12-12
EP4589953A3 (en) 2025-10-22
PT4387232T (pt) 2026-02-13
CN120812249A (zh) 2025-10-17
EP4290864A3 (en) 2024-03-13
EP4387232A2 (en) 2024-06-19
US11546513B2 (en) 2023-01-03
EP4601295A3 (en) 2025-10-22
EP4432666A3 (en) 2024-11-20
EP4601294A3 (en) 2025-10-22
US20220210325A1 (en) 2022-06-30
EP4601294A2 (en) 2025-08-13
AU2022228372B2 (en) 2023-10-19
US11792526B1 (en) 2023-10-17
US12501167B2 (en) 2025-12-16
US11539883B2 (en) 2022-12-27
US20220053128A1 (en) 2022-02-17
CN114245118A (zh) 2022-03-25
US20240357239A1 (en) 2024-10-24
AU2024203648B2 (en) 2025-10-30
AU2022228228A1 (en) 2022-10-06
US20250097585A1 (en) 2025-03-20
EP3525468A4 (en) 2020-05-27
AU2017340007B2 (en) 2022-09-08
AU2026200869A1 (en) 2026-02-26
KR20230062686A (ko) 2023-05-09
AU2024202567B2 (en) 2025-08-28
US12556824B2 (en) 2026-02-17
KR20240049654A (ko) 2024-04-16
US20240334065A1 (en) 2024-10-03
AU2025205377A1 (en) 2025-07-31
EP4637159A3 (en) 2026-01-07
US20260006336A1 (en) 2026-01-01
EP4510586A1 (en) 2025-02-19
EP4510587B1 (en) 2026-01-21
CN114257809A (zh) 2022-03-29
CN115022626B (zh) 2026-02-24
KR20220093264A (ko) 2022-07-05
AU2023214315B2 (en) 2024-03-07
KR102529712B1 (ko) 2023-05-08
AU2025203561A9 (en) 2026-03-12
AU2024204674B2 (en) 2025-12-04
US20250338024A1 (en) 2025-10-30
AU2026202420A1 (en) 2026-04-16
CN115022623A (zh) 2022-09-06
US11412137B2 (en) 2022-08-09
EP4456536A2 (en) 2024-10-30
RS67765B1 (sr) 2026-03-31
AU2025205376A1 (en) 2025-07-31
AU2025203558A9 (en) 2026-03-12
AU2024201782B2 (en) 2025-08-07
EP4436182A2 (en) 2024-09-25
US20240073536A1 (en) 2024-02-29
AU2024203650A1 (en) 2024-06-20
CN115022626A (zh) 2022-09-06
CN120812250A (zh) 2025-10-17
DK3975559T3 (da) 2024-09-30
CN120812246A (zh) 2025-10-17
US20240406569A1 (en) 2024-12-05
US20230254586A1 (en) 2023-08-10
CN120980232A (zh) 2025-11-18
EP4432663A3 (en) 2024-11-20
EP4589956A3 (en) 2025-10-22
AU2024201785B2 (en) 2025-07-31
EP4447454A3 (en) 2025-01-08
AU2026200872A1 (en) 2026-02-26
CN114531589A (zh) 2022-05-24
US20250097587A1 (en) 2025-03-20
US20240334066A1 (en) 2024-10-03
AU2022228227B2 (en) 2023-10-19
EP4637157A3 (en) 2026-01-07
KR20260019659A (ko) 2026-02-10
US20250373951A1 (en) 2025-12-04

Similar Documents

Publication Publication Date Title
ES2988737T3 (es) Procedimiento y aparato de codificación/decodificación de datos de imagen
US12549699B2 (en) Image data encoding/decoding method and apparatus
US12225232B2 (en) Method and apparatus of encoding/decoding image data based on tree structure-based block division
US20260129168A1 (en) Image data encoding/decoding method and apparatus
US20260129162A1 (en) Image data encoding/decoding method and apparatus
US20260129155A1 (en) Image data encoding/decoding method and apparatus
HK40081233A (en) Image data encoding/decoding method and computer-readable recording medium